@fabric-msft/fabric-web 5.0.1 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dts/components/accordion/accordion.d.ts.map +1 -0
- package/dts/components/accordion/accordion.definition.d.ts.map +1 -0
- package/dts/components/accordion/accordion.options.d.ts.map +1 -0
- package/dts/components/accordion/define.d.ts.map +1 -0
- package/dts/components/accordion/index.d.ts.map +1 -0
- package/dts/components/accordion-item/accordion-item.d.ts.map +1 -0
- package/dts/components/accordion-item/accordion-item.definition.d.ts.map +1 -0
- package/dts/components/accordion-item/accordion-item.options.d.ts.map +1 -0
- package/dts/components/accordion-item/define.d.ts.map +1 -0
- package/dts/components/accordion-item/index.d.ts.map +1 -0
- package/dts/components/accordion-menu/accordion-menu.d.ts.map +1 -0
- package/dts/components/accordion-menu/accordion-menu.definition.d.ts.map +1 -0
- package/dts/components/accordion-menu/accordion-menu.options.d.ts.map +1 -0
- package/dts/components/accordion-menu/accordion-menu.styles.d.ts.map +1 -0
- package/dts/components/accordion-menu/accordion-menu.template.d.ts.map +1 -0
- package/dts/components/accordion-menu/define.d.ts.map +1 -0
- package/dts/components/accordion-menu/index.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/accordion-menu-panel.options.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/define.d.ts.map +1 -0
- package/dts/components/accordion-menu-panel/index.d.ts.map +1 -0
- package/dts/components/anchor-button/anchor-button.d.ts.map +1 -0
- package/dts/components/anchor-button/anchor-button.definition.d.ts.map +1 -0
- package/dts/components/anchor-button/anchor-button.options.d.ts.map +1 -0
- package/dts/components/anchor-button/define.d.ts.map +1 -0
- package/dts/components/anchor-button/index.d.ts.map +1 -0
- package/dts/components/avatar/avatar.d.ts.map +1 -0
- package/dts/components/avatar/avatar.definition.d.ts.map +1 -0
- package/dts/components/avatar/avatar.options.d.ts.map +1 -0
- package/dts/components/avatar/define.d.ts.map +1 -0
- package/dts/components/avatar/index.d.ts.map +1 -0
- package/dts/components/badge/badge.d.ts.map +1 -0
- package/dts/components/badge/badge.definition.d.ts.map +1 -0
- package/dts/components/badge/badge.options.d.ts.map +1 -0
- package/dts/components/badge/define.d.ts.map +1 -0
- package/dts/components/badge/index.d.ts.map +1 -0
- package/dts/components/button/button.d.ts.map +1 -0
- package/dts/components/button/button.definition.d.ts.map +1 -0
- package/dts/components/button/button.options.d.ts.map +1 -0
- package/dts/components/button/button.styles.d.ts.map +1 -0
- package/dts/components/button/define.d.ts.map +1 -0
- package/dts/components/button/index.d.ts.map +1 -0
- package/dts/components/card/card.d.ts.map +1 -0
- package/dts/components/card/card.definition.d.ts.map +1 -0
- package/dts/components/card/card.options.d.ts.map +1 -0
- package/dts/components/card/card.styles.d.ts.map +1 -0
- package/dts/components/card/card.template.d.ts.map +1 -0
- package/dts/components/card/define.d.ts.map +1 -0
- package/dts/components/card/index.d.ts.map +1 -0
- package/dts/components/card-carousel/card-carousel.d.ts +264 -0
- package/dts/components/card-carousel/card-carousel.d.ts.map +1 -0
- package/dts/components/card-carousel/card-carousel.definition.d.ts +9 -0
- package/dts/components/card-carousel/card-carousel.definition.d.ts.map +1 -0
- package/dts/components/card-carousel/card-carousel.styles.d.ts +2 -0
- package/dts/components/card-carousel/card-carousel.styles.d.ts.map +1 -0
- package/dts/components/card-carousel/card-carousel.template.d.ts +9 -0
- package/dts/components/card-carousel/card-carousel.template.d.ts.map +1 -0
- package/dts/components/card-carousel/define.d.ts.map +1 -0
- package/dts/components/card-carousel/index.d.ts +5 -0
- package/dts/components/card-carousel/index.d.ts.map +1 -0
- package/dts/components/card-footer/card-footer.d.ts.map +1 -0
- package/dts/components/card-footer/card-footer.definition.d.ts.map +1 -0
- package/dts/components/card-footer/card-footer.styles.d.ts.map +1 -0
- package/dts/components/card-footer/card-footer.template.d.ts.map +1 -0
- package/dts/components/card-footer/define.d.ts.map +1 -0
- package/dts/components/card-footer/index.d.ts.map +1 -0
- package/dts/components/card-header/card-header.d.ts.map +1 -0
- package/dts/components/card-header/card-header.definition.d.ts.map +1 -0
- package/dts/components/card-header/card-header.styles.d.ts.map +1 -0
- package/dts/components/card-header/card-header.template.d.ts.map +1 -0
- package/dts/components/card-header/define.d.ts.map +1 -0
- package/dts/components/card-header/index.d.ts.map +1 -0
- package/dts/components/card-preview/card-preview.d.ts.map +1 -0
- package/dts/components/card-preview/card-preview.definition.d.ts.map +1 -0
- package/dts/components/card-preview/card-preview.styles.d.ts.map +1 -0
- package/dts/components/card-preview/card-preview.template.d.ts.map +1 -0
- package/dts/components/card-preview/define.d.ts.map +1 -0
- package/dts/components/card-preview/index.d.ts.map +1 -0
- package/dts/components/carousel/carousel.d.ts +150 -0
- package/dts/components/carousel/carousel.d.ts.map +1 -0
- package/dts/components/carousel/carousel.definition.d.ts +9 -0
- package/dts/components/carousel/carousel.definition.d.ts.map +1 -0
- package/dts/components/carousel/carousel.events.d.ts +14 -0
- package/dts/components/carousel/carousel.events.d.ts.map +1 -0
- package/dts/components/carousel/carousel.options.d.ts +16 -0
- package/dts/components/carousel/carousel.options.d.ts.map +1 -0
- package/dts/components/carousel/carousel.styles.d.ts +7 -0
- package/dts/components/carousel/carousel.styles.d.ts.map +1 -0
- package/dts/components/carousel/carousel.template.d.ts.map +1 -0
- package/dts/components/carousel/define.d.ts +16 -0
- package/dts/components/carousel/define.d.ts.map +1 -0
- package/dts/components/carousel/index.d.ts +10 -0
- package/dts/components/carousel/index.d.ts.map +1 -0
- package/dts/components/carousel-item/carousel-item.d.ts +50 -0
- package/dts/components/carousel-item/carousel-item.d.ts.map +1 -0
- package/dts/components/carousel-item/carousel-item.definition.d.ts +9 -0
- package/dts/components/carousel-item/carousel-item.definition.d.ts.map +1 -0
- package/dts/components/carousel-item/carousel-item.styles.d.ts +7 -0
- package/dts/components/carousel-item/carousel-item.styles.d.ts.map +1 -0
- package/dts/components/carousel-item/carousel-item.template.d.ts +10 -0
- package/dts/components/carousel-item/carousel-item.template.d.ts.map +1 -0
- package/dts/components/carousel-item/define.d.ts.map +1 -0
- package/dts/components/carousel-item/index.d.ts +5 -0
- package/dts/components/carousel-item/index.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.d.ts +102 -0
- package/dts/components/carousel-nav/carousel-nav.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.definition.d.ts +9 -0
- package/dts/components/carousel-nav/carousel-nav.definition.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.events.d.ts +16 -0
- package/dts/components/carousel-nav/carousel-nav.events.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.options.d.ts +16 -0
- package/dts/components/carousel-nav/carousel-nav.options.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.styles.d.ts +7 -0
- package/dts/components/carousel-nav/carousel-nav.styles.d.ts.map +1 -0
- package/dts/components/carousel-nav/carousel-nav.template.d.ts +9 -0
- package/dts/components/carousel-nav/carousel-nav.template.d.ts.map +1 -0
- package/dts/components/carousel-nav/define.d.ts +2 -0
- package/dts/components/carousel-nav/define.d.ts.map +1 -0
- package/dts/components/carousel-nav/index.d.ts +9 -0
- package/dts/components/carousel-nav/index.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.d.ts +48 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.definition.d.ts +9 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.definition.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.styles.d.ts +7 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.styles.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.template.d.ts +10 -0
- package/dts/components/carousel-nav-item/carousel-nav-item.template.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/define.d.ts.map +1 -0
- package/dts/components/carousel-nav-item/index.d.ts +5 -0
- package/dts/components/carousel-nav-item/index.d.ts.map +1 -0
- package/dts/components/checkbox/checkbox.d.ts.map +1 -0
- package/dts/components/checkbox/checkbox.definition.d.ts.map +1 -0
- package/dts/components/checkbox/checkbox.options.d.ts.map +1 -0
- package/dts/components/checkbox/define.d.ts.map +1 -0
- package/dts/components/checkbox/index.d.ts.map +1 -0
- package/dts/components/compound-button/compound-button.d.ts.map +1 -0
- package/dts/components/compound-button/compound-button.definition.d.ts.map +1 -0
- package/dts/components/compound-button/compound-button.options.d.ts.map +1 -0
- package/dts/components/compound-button/compound-button.styles.d.ts.map +1 -0
- package/dts/components/compound-button/define.d.ts.map +1 -0
- package/dts/components/compound-button/index.d.ts.map +1 -0
- package/dts/components/counter-badge/counter-badge.d.ts.map +1 -0
- package/dts/components/counter-badge/counter-badge.definition.d.ts.map +1 -0
- package/dts/components/counter-badge/counter-badge.options.d.ts.map +1 -0
- package/dts/components/counter-badge/define.d.ts.map +1 -0
- package/dts/components/counter-badge/index.d.ts.map +1 -0
- package/dts/components/design-system.d.ts.map +1 -0
- package/dts/components/dialog/define.d.ts.map +1 -0
- package/dts/components/dialog/dialog.d.ts.map +1 -0
- package/dts/components/dialog/dialog.definition.d.ts.map +1 -0
- package/dts/components/dialog/dialog.options.d.ts.map +1 -0
- package/dts/components/dialog/dialog.styles.d.ts.map +1 -0
- package/dts/components/dialog/index.d.ts.map +1 -0
- package/dts/components/dialog-body/define.d.ts.map +1 -0
- package/dts/components/dialog-body/dialog-body.d.ts.map +1 -0
- package/dts/components/dialog-body/dialog-body.definition.d.ts.map +1 -0
- package/dts/components/dialog-body/index.d.ts.map +1 -0
- package/dts/components/divider/define.d.ts.map +1 -0
- package/dts/components/divider/divider.d.ts.map +1 -0
- package/dts/components/divider/divider.definition.d.ts.map +1 -0
- package/dts/components/divider/divider.options.d.ts.map +1 -0
- package/dts/components/divider/divider.styles.d.ts.map +1 -0
- package/dts/components/divider/divider.template.d.ts.map +1 -0
- package/dts/components/divider/index.d.ts.map +1 -0
- package/dts/components/drawer/define.d.ts.map +1 -0
- package/dts/components/drawer/drawer.d.ts.map +1 -0
- package/dts/components/drawer/drawer.definition.d.ts.map +1 -0
- package/dts/components/drawer/drawer.options.d.ts.map +1 -0
- package/dts/components/drawer/index.d.ts.map +1 -0
- package/dts/components/drawer-body/define.d.ts.map +1 -0
- package/dts/components/drawer-body/drawer-body.d.ts.map +1 -0
- package/dts/components/drawer-body/drawer-body.definition.d.ts.map +1 -0
- package/dts/components/drawer-body/index.d.ts.map +1 -0
- package/dts/components/dropdown/define.d.ts.map +1 -0
- package/dts/components/dropdown/dropdown.d.ts +104 -0
- package/dts/components/dropdown/dropdown.d.ts.map +1 -0
- package/dts/components/dropdown/dropdown.definition.d.ts.map +1 -0
- package/dts/components/dropdown/dropdown.options.d.ts.map +1 -0
- package/dts/components/dropdown/dropdown.styles.d.ts.map +1 -0
- package/dts/components/dropdown/index.d.ts.map +1 -0
- package/dts/components/field/define.d.ts.map +1 -0
- package/dts/components/field/field.d.ts.map +1 -0
- package/dts/components/field/field.definition.d.ts.map +1 -0
- package/dts/components/field/field.options.d.ts.map +1 -0
- package/dts/components/field/field.styles.d.ts.map +1 -0
- package/dts/components/field/index.d.ts.map +1 -0
- package/dts/components/filter-pill/define.d.ts.map +1 -0
- package/dts/components/filter-pill/filter-pill.d.ts.map +1 -0
- package/dts/components/filter-pill/filter-pill.definition.d.ts.map +1 -0
- package/dts/components/filter-pill/filter-pill.options.d.ts.map +1 -0
- package/dts/components/filter-pill/filter-pill.styles.d.ts.map +1 -0
- package/dts/components/filter-pill/filter-pill.template.d.ts.map +1 -0
- package/dts/components/filter-pill/index.d.ts.map +1 -0
- package/dts/components/image/define.d.ts.map +1 -0
- package/dts/components/image/image.d.ts.map +1 -0
- package/dts/components/image/image.definition.d.ts.map +1 -0
- package/dts/components/image/image.options.d.ts.map +1 -0
- package/dts/components/image/index.d.ts.map +1 -0
- package/dts/components/label/define.d.ts.map +1 -0
- package/dts/components/label/index.d.ts.map +1 -0
- package/dts/components/label/label.d.ts.map +1 -0
- package/dts/components/label/label.definition.d.ts.map +1 -0
- package/dts/components/label/label.options.d.ts.map +1 -0
- package/dts/components/link/define.d.ts.map +1 -0
- package/dts/components/link/index.d.ts +6 -0
- package/dts/components/link/index.d.ts.map +1 -0
- package/dts/components/link/link.d.ts +64 -0
- package/dts/components/link/link.d.ts.map +1 -0
- package/dts/components/link/link.definition.d.ts.map +1 -0
- package/dts/components/link/link.options.d.ts.map +1 -0
- package/dts/components/link/link.template.d.ts +14 -0
- package/dts/components/link/link.template.d.ts.map +1 -0
- package/dts/components/listbox/define.d.ts.map +1 -0
- package/dts/components/listbox/index.d.ts.map +1 -0
- package/dts/components/listbox/listbox.d.ts +119 -0
- package/dts/components/listbox/listbox.d.ts.map +1 -0
- package/dts/components/listbox/listbox.definition.d.ts.map +1 -0
- package/dts/components/listbox/listbox.styles.d.ts.map +1 -0
- package/dts/components/loading-button/define.d.ts.map +1 -0
- package/dts/components/loading-button/index.d.ts.map +1 -0
- package/dts/components/loading-button/loading-button.d.ts +47 -0
- package/dts/components/loading-button/loading-button.d.ts.map +1 -0
- package/dts/components/loading-button/loading-button.definition.d.ts +10 -0
- package/dts/components/loading-button/loading-button.definition.d.ts.map +1 -0
- package/dts/components/loading-button/loading-button.styles.d.ts.map +1 -0
- package/dts/components/loading-button/loading-button.template.d.ts +8 -0
- package/dts/components/loading-button/loading-button.template.d.ts.map +1 -0
- package/dts/components/menu/define.d.ts.map +1 -0
- package/dts/components/menu/index.d.ts.map +1 -0
- package/dts/components/menu/menu.d.ts +371 -0
- package/dts/components/menu/menu.d.ts.map +1 -0
- package/dts/components/menu/menu.definition.d.ts.map +1 -0
- package/dts/components/menu/menu.options.d.ts.map +1 -0
- package/dts/components/menu/menu.positioning.d.ts.map +1 -0
- package/dts/components/menu/menu.styles.d.ts.map +1 -0
- package/dts/components/menu/menu.template.d.ts.map +1 -0
- package/dts/components/menu-button/define.d.ts.map +1 -0
- package/dts/components/menu-button/index.d.ts.map +1 -0
- package/dts/components/menu-button/menu-button.d.ts.map +1 -0
- package/dts/components/menu-button/menu-button.definition.d.ts.map +1 -0
- package/dts/components/menu-button/menu-button.options.d.ts.map +1 -0
- package/dts/components/menu-item/define.d.ts.map +1 -0
- package/dts/components/menu-item/index.d.ts +8 -0
- package/dts/components/menu-item/index.d.ts.map +1 -0
- package/dts/components/menu-item/menu-item.d.ts +238 -0
- package/dts/components/menu-item/menu-item.d.ts.map +1 -0
- package/dts/components/menu-item/menu-item.definition.d.ts.map +1 -0
- package/dts/components/menu-item/menu-item.options.d.ts +69 -0
- package/dts/components/menu-item/menu-item.options.d.ts.map +1 -0
- package/dts/components/menu-item/menu-item.styles.d.ts.map +1 -0
- package/dts/components/menu-item/menu-item.template.d.ts.map +1 -0
- package/dts/components/menu-list/define.d.ts.map +1 -0
- package/dts/components/menu-list/index.d.ts.map +1 -0
- package/dts/components/menu-list/menu-list.d.ts.map +1 -0
- package/dts/components/menu-list/menu-list.definition.d.ts.map +1 -0
- package/dts/components/menu-list/menu-list.styles.d.ts.map +1 -0
- package/dts/components/menu-list/menu-list.template.d.ts.map +1 -0
- package/dts/components/message-bar/define.d.ts.map +1 -0
- package/dts/components/message-bar/index.d.ts.map +1 -0
- package/dts/components/message-bar/message-bar.d.ts.map +1 -0
- package/dts/components/message-bar/message-bar.definition.d.ts.map +1 -0
- package/dts/components/multi-view/define.d.ts.map +1 -0
- package/dts/components/multi-view/index.d.ts.map +1 -0
- package/dts/components/multi-view/multi-view.d.ts.map +1 -0
- package/dts/components/multi-view/multi-view.definition.d.ts.map +1 -0
- package/dts/components/multi-view/multi-view.options.d.ts.map +1 -0
- package/dts/components/multi-view/multi-view.styles.d.ts.map +1 -0
- package/dts/components/multi-view/multi-view.template.d.ts.map +1 -0
- package/dts/components/multi-view-controller/define.d.ts.map +1 -0
- package/dts/components/multi-view-controller/index.d.ts.map +1 -0
- package/dts/components/multi-view-controller/multi-view-controller.d.ts.map +1 -0
- package/dts/components/multi-view-controller/multi-view-controller.definition.d.ts.map +1 -0
- package/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +1 -0
- package/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +1 -0
- package/dts/components/multi-view-group/define.d.ts.map +1 -0
- package/dts/components/multi-view-group/index.d.ts.map +1 -0
- package/dts/components/multi-view-group/multi-view-group.d.ts.map +1 -0
- package/dts/components/multi-view-group/multi-view-group.definition.d.ts.map +1 -0
- package/dts/components/multi-view-group/multi-view-group.options.d.ts.map +1 -0
- package/dts/components/multi-view-group/multi-view-group.styles.d.ts.map +1 -0
- package/dts/components/multi-view-group/multi-view-group.template.d.ts.map +1 -0
- package/dts/components/option/define.d.ts.map +1 -0
- package/dts/components/option/index.d.ts.map +1 -0
- package/dts/components/option/option.d.ts.map +1 -0
- package/dts/components/option/option.definition.d.ts.map +1 -0
- package/dts/components/option-group/define.d.ts.map +1 -0
- package/dts/components/option-group/index.d.ts.map +1 -0
- package/dts/components/option-group/option-group.d.ts.map +1 -0
- package/dts/components/option-group/option-group.definition.d.ts.map +1 -0
- package/dts/components/option-group/option-group.options.d.ts.map +1 -0
- package/dts/components/option-group/option-group.styles.d.ts.map +1 -0
- package/dts/components/option-group/option-group.template.d.ts.map +1 -0
- package/dts/components/overflow/define.d.ts.map +1 -0
- package/dts/components/overflow/index.d.ts +8 -0
- package/dts/components/overflow/index.d.ts.map +1 -0
- package/dts/components/overflow/overflow.d.ts +138 -0
- package/dts/components/overflow/overflow.d.ts.map +1 -0
- package/dts/components/overflow/overflow.definition.d.ts +9 -0
- package/dts/components/overflow/overflow.definition.d.ts.map +1 -0
- package/dts/components/overflow/overflow.events.d.ts +15 -0
- package/dts/components/overflow/overflow.events.d.ts.map +1 -0
- package/dts/components/overflow/overflow.options.d.ts +16 -0
- package/dts/components/overflow/overflow.options.d.ts.map +1 -0
- package/dts/components/overflow/overflow.styles.d.ts +6 -0
- package/dts/components/overflow/overflow.styles.d.ts.map +1 -0
- package/dts/components/overflow/overflow.template.d.ts +8 -0
- package/dts/components/overflow/overflow.template.d.ts.map +1 -0
- package/dts/components/overflow-divider/define.d.ts.map +1 -0
- package/dts/components/overflow-divider/index.d.ts +4 -0
- package/dts/components/overflow-divider/index.d.ts.map +1 -0
- package/dts/components/overflow-divider/overflow-divider.d.ts +31 -0
- package/dts/components/overflow-divider/overflow-divider.d.ts.map +1 -0
- package/dts/components/overflow-divider/overflow-divider.definition.d.ts +9 -0
- package/dts/components/overflow-divider/overflow-divider.definition.d.ts.map +1 -0
- package/dts/components/overflow-divider/overflow-divider.styles.d.ts +6 -0
- package/dts/components/overflow-divider/overflow-divider.styles.d.ts.map +1 -0
- package/dts/components/overflow-divider/overflow-divider.template.d.ts +8 -0
- package/dts/components/overflow-divider/overflow-divider.template.d.ts.map +1 -0
- package/dts/components/overflow-item/define.d.ts.map +1 -0
- package/dts/components/overflow-item/index.d.ts +4 -0
- package/dts/components/overflow-item/index.d.ts.map +1 -0
- package/dts/components/overflow-item/overflow-item.d.ts +54 -0
- package/dts/components/overflow-item/overflow-item.d.ts.map +1 -0
- package/dts/components/overflow-item/overflow-item.definition.d.ts +9 -0
- package/dts/components/overflow-item/overflow-item.definition.d.ts.map +1 -0
- package/dts/components/overflow-item/overflow-item.styles.d.ts +6 -0
- package/dts/components/overflow-item/overflow-item.styles.d.ts.map +1 -0
- package/dts/components/overflow-item/overflow-item.template.d.ts +8 -0
- package/dts/components/overflow-item/overflow-item.template.d.ts.map +1 -0
- package/dts/components/pagination/define.d.ts +16 -0
- package/dts/components/pagination/define.d.ts.map +1 -0
- package/dts/components/pagination/index.d.ts +11 -0
- package/dts/components/pagination/index.d.ts.map +1 -0
- package/dts/components/pagination/pagination.d.ts +237 -0
- package/dts/components/pagination/pagination.d.ts.map +1 -0
- package/dts/components/pagination/pagination.definition.d.ts +6 -0
- package/dts/components/pagination/pagination.definition.d.ts.map +1 -0
- package/dts/components/pagination/pagination.events.d.ts +23 -0
- package/dts/components/pagination/pagination.events.d.ts.map +1 -0
- package/dts/components/pagination/pagination.options.d.ts +30 -0
- package/dts/components/pagination/pagination.options.d.ts.map +1 -0
- package/dts/components/pagination/pagination.styles.d.ts +5 -0
- package/dts/components/pagination/pagination.styles.d.ts.map +1 -0
- package/dts/components/pagination/pagination.template.d.ts +7 -0
- package/dts/components/pagination/pagination.template.d.ts.map +1 -0
- package/dts/components/patterns/aria-globals.d.ts.map +1 -0
- package/dts/components/popover/define.d.ts.map +1 -0
- package/dts/components/popover/index.d.ts.map +1 -0
- package/dts/components/popover/popover.d.ts.map +1 -0
- package/dts/components/popover/popover.definition.d.ts.map +1 -0
- package/dts/components/popover/popover.options.d.ts.map +1 -0
- package/dts/components/popover/popover.positioning.d.ts.map +1 -0
- package/dts/components/popover/popover.styles.d.ts.map +1 -0
- package/dts/components/popover/popover.template.d.ts.map +1 -0
- package/dts/components/progress-bar/define.d.ts.map +1 -0
- package/dts/components/progress-bar/index.d.ts.map +1 -0
- package/dts/components/progress-bar/progress-bar.d.ts.map +1 -0
- package/dts/components/progress-bar/progress-bar.definition.d.ts.map +1 -0
- package/dts/components/progress-bar/progress-bar.options.d.ts.map +1 -0
- package/dts/components/radio/define.d.ts.map +1 -0
- package/dts/components/radio/index.d.ts.map +1 -0
- package/dts/components/radio/radio.d.ts.map +1 -0
- package/dts/components/radio/radio.definition.d.ts.map +1 -0
- package/dts/components/radio-group/define.d.ts.map +1 -0
- package/dts/components/radio-group/index.d.ts.map +1 -0
- package/dts/components/radio-group/radio-group.d.ts.map +1 -0
- package/dts/components/radio-group/radio-group.definition.d.ts.map +1 -0
- package/dts/components/radio-group/radio-group.options.d.ts.map +1 -0
- package/dts/components/rating-display/define.d.ts.map +1 -0
- package/dts/components/rating-display/index.d.ts.map +1 -0
- package/dts/components/rating-display/rating-display.d.ts.map +1 -0
- package/dts/components/rating-display/rating-display.definition.d.ts.map +1 -0
- package/dts/components/rating-display/rating-display.options.d.ts.map +1 -0
- package/dts/components/search-box/define.d.ts.map +1 -0
- package/dts/components/search-box/index.d.ts.map +1 -0
- package/dts/components/search-box/search-box.d.ts.map +1 -0
- package/dts/components/search-box/search-box.definition.d.ts +10 -0
- package/dts/components/search-box/search-box.definition.d.ts.map +1 -0
- package/dts/components/search-box/search-box.options.d.ts.map +1 -0
- package/dts/components/search-box/search-box.styles.d.ts.map +1 -0
- package/dts/components/search-box/search-box.template.d.ts.map +1 -0
- package/dts/components/simple-table/define.d.ts.map +1 -0
- package/dts/components/simple-table/index.d.ts.map +1 -0
- package/dts/components/simple-table/simple-table.d.ts.map +1 -0
- package/dts/components/simple-table/simple-table.definition.d.ts.map +1 -0
- package/dts/components/simple-table/simple-table.styles.d.ts.map +1 -0
- package/dts/components/slider/define.d.ts.map +1 -0
- package/dts/components/slider/index.d.ts.map +1 -0
- package/dts/components/slider/slider.d.ts.map +1 -0
- package/dts/components/slider/slider.definition.d.ts.map +1 -0
- package/dts/components/slider/slider.options.d.ts.map +1 -0
- package/dts/components/spin-button/define.d.ts.map +1 -0
- package/dts/components/spin-button/index.d.ts +9 -0
- package/dts/components/spin-button/index.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.d.ts +380 -0
- package/dts/components/spin-button/spin-button.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.definition.d.ts +10 -0
- package/dts/components/spin-button/spin-button.definition.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.events.d.ts +10 -0
- package/dts/components/spin-button/spin-button.events.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.options.d.ts +53 -0
- package/dts/components/spin-button/spin-button.options.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.styles.d.ts +8 -0
- package/dts/components/spin-button/spin-button.styles.d.ts.map +1 -0
- package/dts/components/spin-button/spin-button.template.d.ts +13 -0
- package/dts/components/spin-button/spin-button.template.d.ts.map +1 -0
- package/dts/components/spinner/define.d.ts.map +1 -0
- package/dts/components/spinner/index.d.ts.map +1 -0
- package/dts/components/spinner/spinner.d.ts.map +1 -0
- package/dts/components/spinner/spinner.definition.d.ts.map +1 -0
- package/dts/components/spinner/spinner.options.d.ts.map +1 -0
- package/dts/components/styles/index.d.ts.map +1 -0
- package/dts/components/styles/states/states.d.ts.map +1 -0
- package/dts/components/svg-icon/define.d.ts.map +1 -0
- package/dts/components/svg-icon/index.d.ts.map +1 -0
- package/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +1 -0
- package/dts/components/svg-icon/scripts/svg-list.d.ts.map +1 -0
- package/dts/components/svg-icon/scripts/svg-sanitizer.d.ts.map +1 -0
- package/dts/components/svg-icon/services/svg-service.d.ts.map +1 -0
- package/dts/components/svg-icon/svg-icon.d.ts.map +1 -0
- package/dts/components/svg-icon/svg-icon.definition.d.ts.map +1 -0
- package/dts/components/svg-icon/svg-icon.styles.d.ts.map +1 -0
- package/dts/components/svg-icon/svg-icon.template.d.ts.map +1 -0
- package/dts/components/switch/define.d.ts.map +1 -0
- package/dts/components/switch/index.d.ts.map +1 -0
- package/dts/components/switch/switch.d.ts.map +1 -0
- package/dts/components/switch/switch.definition.d.ts.map +1 -0
- package/dts/components/switch/switch.options.d.ts.map +1 -0
- package/dts/components/tab/define.d.ts.map +1 -0
- package/dts/components/tab/index.d.ts.map +1 -0
- package/dts/components/tab/tab.d.ts.map +1 -0
- package/dts/components/tab/tab.definition.d.ts.map +1 -0
- package/dts/components/table/define.d.ts.map +1 -0
- package/dts/components/table/index.d.ts.map +1 -0
- package/dts/components/table/table.d.ts +249 -0
- package/dts/components/table/table.d.ts.map +1 -0
- package/dts/components/table/table.definition.d.ts +10 -0
- package/dts/components/table/table.definition.d.ts.map +1 -0
- package/dts/components/table/table.options.d.ts.map +1 -0
- package/dts/components/table/table.styles.d.ts.map +1 -0
- package/dts/components/table/table.template.d.ts.map +1 -0
- package/dts/components/table-cell/define.d.ts.map +1 -0
- package/dts/components/table-cell/index.d.ts.map +1 -0
- package/dts/components/table-cell/table-cell.d.ts.map +1 -0
- package/dts/components/table-cell/table-cell.definition.d.ts.map +1 -0
- package/dts/components/table-cell/table-cell.options.d.ts.map +1 -0
- package/dts/components/table-cell/table-cell.styles.d.ts.map +1 -0
- package/dts/components/table-cell/table-cell.template.d.ts.map +1 -0
- package/dts/components/tablist/define.d.ts.map +1 -0
- package/dts/components/tablist/index.d.ts.map +1 -0
- package/dts/components/tablist/tablist.d.ts.map +1 -0
- package/dts/components/tablist/tablist.definition.d.ts.map +1 -0
- package/dts/components/tablist/tablist.options.d.ts.map +1 -0
- package/dts/components/tag/define.d.ts.map +1 -0
- package/dts/components/tag/index.d.ts.map +1 -0
- package/dts/components/tag/tag.d.ts.map +1 -0
- package/dts/components/tag/tag.definition.d.ts +10 -0
- package/dts/components/tag/tag.definition.d.ts.map +1 -0
- package/dts/components/tag/tag.options.d.ts.map +1 -0
- package/dts/components/tag/tag.styles.d.ts.map +1 -0
- package/dts/components/tag/tag.template.d.ts.map +1 -0
- package/dts/components/teaching-bubble/define.d.ts.map +1 -0
- package/dts/components/teaching-bubble/index.d.ts.map +1 -0
- package/dts/components/teaching-bubble/teaching-bubble.d.ts.map +1 -0
- package/dts/components/teaching-bubble/teaching-bubble.definition.d.ts.map +1 -0
- package/dts/components/teaching-bubble/teaching-bubble.options.d.ts.map +1 -0
- package/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +1 -0
- package/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +1 -0
- package/dts/components/text/define.d.ts.map +1 -0
- package/dts/components/text/index.d.ts.map +1 -0
- package/dts/components/text/text.d.ts.map +1 -0
- package/dts/components/text/text.definition.d.ts.map +1 -0
- package/dts/components/text/text.options.d.ts.map +1 -0
- package/dts/components/text-input/define.d.ts.map +1 -0
- package/dts/components/text-input/index.d.ts.map +1 -0
- package/dts/components/text-input/text-input.base.d.ts.map +1 -0
- package/dts/components/text-input/text-input.d.ts.map +1 -0
- package/dts/components/text-input/text-input.definition.d.ts.map +1 -0
- package/dts/components/text-input/text-input.options.d.ts.map +1 -0
- package/dts/components/text-input/text-input.styles.d.ts.map +1 -0
- package/dts/components/text-input/text-input.template.d.ts.map +1 -0
- package/dts/components/textarea/define.d.ts.map +1 -0
- package/dts/components/textarea/index.d.ts.map +1 -0
- package/dts/components/textarea/textarea.d.ts.map +1 -0
- package/dts/components/textarea/textarea.definition.d.ts.map +1 -0
- package/dts/components/textarea/textarea.options.d.ts.map +1 -0
- package/dts/components/toggle-button/define.d.ts.map +1 -0
- package/dts/components/toggle-button/index.d.ts.map +1 -0
- package/dts/components/toggle-button/toggle-button.d.ts.map +1 -0
- package/dts/components/toggle-button/toggle-button.definition.d.ts.map +1 -0
- package/dts/components/toggle-button/toggle-button.options.d.ts.map +1 -0
- package/dts/components/tooltip/define.d.ts +2 -0
- package/dts/components/tooltip/define.d.ts.map +1 -0
- package/dts/components/tooltip/index.d.ts.map +1 -0
- package/dts/components/tooltip/tooltip.d.ts +97 -0
- package/dts/components/tooltip/tooltip.d.ts.map +1 -0
- package/dts/components/tooltip/tooltip.definition.d.ts.map +1 -0
- package/dts/components/tooltip/tooltip.options.d.ts.map +1 -0
- package/dts/components/tooltip/tooltip.template.d.ts.map +1 -0
- package/dts/components/tree/define.d.ts +2 -0
- package/dts/components/tree/define.d.ts.map +1 -0
- package/dts/components/tree/index.d.ts.map +1 -0
- package/dts/components/tree/tree.d.ts.map +1 -0
- package/dts/components/tree/tree.definition.d.ts.map +1 -0
- package/dts/components/tree-item/define.d.ts +2 -0
- package/dts/components/tree-item/define.d.ts.map +1 -0
- package/dts/components/tree-item/index.d.ts.map +1 -0
- package/dts/components/tree-item/tree-item.d.ts +81 -0
- package/dts/components/tree-item/tree-item.d.ts.map +1 -0
- package/dts/components/tree-item/tree-item.definition.d.ts.map +1 -0
- package/dts/components/tree-item/tree-item.styles.d.ts.map +1 -0
- package/dts/components/tree-item/tree-item.template.d.ts.map +1 -0
- package/dts/components/wizard/define.d.ts +2 -0
- package/dts/components/wizard/define.d.ts.map +1 -0
- package/dts/components/wizard/index.d.ts.map +1 -0
- package/dts/components/wizard/wizard.d.ts.map +1 -0
- package/dts/components/wizard/wizard.definition.d.ts.map +1 -0
- package/dts/components/wizard/wizard.options.d.ts.map +1 -0
- package/dts/components/wizard/wizard.styles.d.ts.map +1 -0
- package/dts/components/wizard/wizard.template.d.ts.map +1 -0
- package/dts/components/wizard-panel/define.d.ts +2 -0
- package/dts/components/wizard-panel/define.d.ts.map +1 -0
- package/dts/components/wizard-panel/index.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.cem.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.definition.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.options.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.styles.d.ts.map +1 -0
- package/dts/components/wizard-panel/wizard-panel.template.d.ts.map +1 -0
- package/dts/components/wizard-step/define.d.ts +2 -0
- package/dts/components/wizard-step/define.d.ts.map +1 -0
- package/dts/components/wizard-step/index.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.definition.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.options.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.styles.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.template.d.ts.map +1 -0
- package/dts/components/wizard-step/wizard-step.unit.component.d.ts.map +1 -0
- package/dts/index.d.ts +131 -0
- package/dts/index.d.ts.map +1 -0
- package/dts/static/component-svgs.d.ts +7 -0
- package/dts/static/component-svgs.d.ts.map +1 -0
- package/dts/util/accessibility-utilities.d.ts.map +1 -0
- package/dts/util/apply-mixins.d.ts.map +1 -0
- package/dts/util/attribute-utilities.d.ts.map +1 -0
- package/dts/util/collection-event-manager.d.ts +49 -0
- package/dts/util/collection-event-manager.d.ts.map +1 -0
- package/dts/util/debounce.d.ts.map +1 -0
- package/dts/util/debug.d.ts.map +1 -0
- package/dts/util/descendants.d.ts.map +1 -0
- package/dts/util/direction.d.ts.map +1 -0
- package/dts/util/dom.d.ts.map +1 -0
- package/dts/util/element-definition.d.ts +53 -0
- package/dts/util/element-definition.d.ts.map +1 -0
- package/dts/util/element-internal-mocks.d.ts.map +1 -0
- package/dts/util/element-internals.d.ts.map +1 -0
- package/dts/util/focus-management.d.ts.map +1 -0
- package/dts/util/hash-utilities.d.ts.map +1 -0
- package/dts/util/icons.d.ts +21 -0
- package/dts/util/icons.d.ts.map +1 -0
- package/dts/util/index.d.ts +23 -0
- package/dts/util/index.d.ts.map +1 -0
- package/dts/util/match-media-stylesheet-behaviors.d.ts +121 -0
- package/dts/util/match-media-stylesheet-behaviors.d.ts.map +1 -0
- package/dts/util/math.d.ts +20 -0
- package/dts/util/math.d.ts.map +1 -0
- package/dts/util/platform.d.ts +14 -0
- package/dts/util/platform.d.ts.map +1 -0
- package/dts/util/positioning/flexible-position-strategy.d.ts +87 -0
- package/dts/util/positioning/flexible-position-strategy.d.ts.map +1 -0
- package/dts/util/positioning/index.d.ts.map +1 -0
- package/dts/util/positioning/position-calculator.d.ts.map +1 -0
- package/dts/util/positioning/types.d.ts.map +1 -0
- package/dts/util/support.d.ts.map +1 -0
- package/dts/util/template-helpers.d.ts.map +1 -0
- package/dts/util/typings.d.ts.map +1 -0
- package/dts/util/whitespace-filter.d.ts.map +1 -0
- package/esm/components/accordion/accordion.definition.js.map +1 -0
- package/esm/components/accordion/accordion.js.map +1 -0
- package/esm/components/accordion/accordion.options.js.map +1 -0
- package/esm/components/accordion/define.js.map +1 -0
- package/esm/components/accordion/index.js.map +1 -0
- package/esm/components/accordion-item/accordion-item.definition.js.map +1 -0
- package/esm/components/accordion-item/accordion-item.js.map +1 -0
- package/esm/components/accordion-item/accordion-item.options.js.map +1 -0
- package/esm/components/accordion-item/define.js.map +1 -0
- package/esm/components/accordion-item/index.js.map +1 -0
- package/esm/components/accordion-menu/accordion-menu.definition.js.map +1 -0
- package/esm/components/accordion-menu/accordion-menu.js.map +1 -0
- package/esm/components/accordion-menu/accordion-menu.options.js.map +1 -0
- package/esm/components/accordion-menu/accordion-menu.styles.js.map +1 -0
- package/esm/components/accordion-menu/accordion-menu.template.js.map +1 -0
- package/esm/components/accordion-menu/define.js.map +1 -0
- package/esm/components/accordion-menu/index.js.map +1 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.definition.js.map +1 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +1 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.options.js.map +1 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +14 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +1 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.template.js +13 -0
- package/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +1 -0
- package/esm/components/accordion-menu-panel/define.js.map +1 -0
- package/esm/components/accordion-menu-panel/index.js.map +1 -0
- package/esm/components/anchor-button/anchor-button.definition.js.map +1 -0
- package/esm/components/anchor-button/anchor-button.js.map +1 -0
- package/esm/components/anchor-button/anchor-button.options.js.map +1 -0
- package/esm/components/anchor-button/define.js.map +1 -0
- package/esm/components/anchor-button/index.js.map +1 -0
- package/esm/components/avatar/avatar.definition.js.map +1 -0
- package/esm/components/avatar/avatar.js.map +1 -0
- package/esm/components/avatar/avatar.options.js.map +1 -0
- package/esm/components/avatar/define.js.map +1 -0
- package/esm/components/avatar/index.js.map +1 -0
- package/esm/components/badge/badge.definition.js.map +1 -0
- package/esm/components/badge/badge.js.map +1 -0
- package/esm/components/badge/badge.options.js.map +1 -0
- package/esm/components/badge/define.js.map +1 -0
- package/esm/components/badge/index.js.map +1 -0
- package/esm/components/button/button.definition.js.map +1 -0
- package/esm/components/button/button.js.map +1 -0
- package/esm/components/button/button.options.js.map +1 -0
- package/esm/components/button/button.styles.js +11 -0
- package/esm/components/button/button.styles.js.map +1 -0
- package/esm/components/button/define.js.map +1 -0
- package/esm/components/button/index.js.map +1 -0
- package/esm/components/card/card.definition.js.map +1 -0
- package/esm/components/card/card.js.map +1 -0
- package/esm/components/card/card.options.js.map +1 -0
- package/esm/components/card/card.styles.js.map +1 -0
- package/esm/components/card/card.template.js.map +1 -0
- package/esm/components/card/define.js.map +1 -0
- package/esm/components/card/index.js.map +1 -0
- package/esm/components/card-carousel/card-carousel.definition.js +21 -0
- package/esm/components/card-carousel/card-carousel.definition.js.map +1 -0
- package/esm/components/card-carousel/card-carousel.js +450 -0
- package/esm/components/card-carousel/card-carousel.js.map +1 -0
- package/esm/components/card-carousel/card-carousel.styles.js.map +1 -0
- package/esm/components/card-carousel/card-carousel.template.js +15 -0
- package/esm/components/card-carousel/card-carousel.template.js.map +1 -0
- package/esm/components/card-carousel/define.js +4 -0
- package/esm/components/card-carousel/define.js.map +1 -0
- package/esm/components/card-carousel/index.js +5 -0
- package/esm/components/card-carousel/index.js.map +1 -0
- package/esm/components/card-footer/card-footer.definition.js.map +1 -0
- package/esm/components/card-footer/card-footer.js.map +1 -0
- package/esm/components/card-footer/card-footer.styles.js.map +1 -0
- package/esm/components/card-footer/card-footer.template.js.map +1 -0
- package/esm/components/card-footer/define.js.map +1 -0
- package/esm/components/card-footer/index.js.map +1 -0
- package/esm/components/card-header/card-header.definition.js.map +1 -0
- package/esm/components/card-header/card-header.js.map +1 -0
- package/esm/components/card-header/card-header.styles.js.map +1 -0
- package/esm/components/card-header/card-header.template.js.map +1 -0
- package/esm/components/card-header/define.js.map +1 -0
- package/esm/components/card-header/index.js.map +1 -0
- package/esm/components/card-preview/card-preview.definition.js.map +1 -0
- package/esm/components/card-preview/card-preview.js.map +1 -0
- package/esm/components/card-preview/card-preview.styles.js.map +1 -0
- package/esm/components/card-preview/card-preview.template.js.map +1 -0
- package/esm/components/card-preview/define.js.map +1 -0
- package/esm/components/card-preview/index.js.map +1 -0
- package/esm/components/carousel/carousel.definition.js +21 -0
- package/esm/components/carousel/carousel.definition.js.map +1 -0
- package/esm/components/carousel/carousel.events.js +9 -0
- package/esm/components/carousel/carousel.events.js.map +1 -0
- package/esm/components/carousel/carousel.js +246 -0
- package/esm/components/carousel/carousel.js.map +1 -0
- package/esm/components/carousel/carousel.options.js +10 -0
- package/esm/components/carousel/carousel.options.js.map +1 -0
- package/esm/components/carousel/carousel.styles.js +11 -0
- package/esm/components/carousel/carousel.styles.js.map +1 -0
- package/esm/components/carousel/carousel.template.js +17 -0
- package/esm/components/carousel/carousel.template.js.map +1 -0
- package/esm/components/carousel/define.js +27 -0
- package/esm/components/carousel/define.js.map +1 -0
- package/esm/components/carousel/index.js +8 -0
- package/esm/components/carousel/index.js.map +1 -0
- package/esm/components/carousel-item/carousel-item.definition.js +21 -0
- package/esm/components/carousel-item/carousel-item.definition.js.map +1 -0
- package/esm/components/carousel-item/carousel-item.js +51 -0
- package/esm/components/carousel-item/carousel-item.js.map +1 -0
- package/esm/components/carousel-item/carousel-item.styles.js +10 -0
- package/esm/components/carousel-item/carousel-item.styles.js.map +1 -0
- package/esm/components/carousel-item/carousel-item.template.js +13 -0
- package/esm/components/carousel-item/carousel-item.template.js.map +1 -0
- package/esm/components/carousel-item/define.js +4 -0
- package/esm/components/carousel-item/define.js.map +1 -0
- package/esm/components/carousel-item/index.js +5 -0
- package/esm/components/carousel-item/index.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.definition.js +21 -0
- package/esm/components/carousel-nav/carousel-nav.definition.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.events.js +11 -0
- package/esm/components/carousel-nav/carousel-nav.events.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.js +197 -0
- package/esm/components/carousel-nav/carousel-nav.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.options.js +11 -0
- package/esm/components/carousel-nav/carousel-nav.options.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.styles.js +18 -0
- package/esm/components/carousel-nav/carousel-nav.styles.js.map +1 -0
- package/esm/components/carousel-nav/carousel-nav.template.js +16 -0
- package/esm/components/carousel-nav/carousel-nav.template.js.map +1 -0
- package/esm/components/carousel-nav/define.js +5 -0
- package/esm/components/carousel-nav/define.js.map +1 -0
- package/esm/components/carousel-nav/index.js +7 -0
- package/esm/components/carousel-nav/index.js.map +1 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.definition.js +21 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.definition.js.map +1 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.js +48 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.js.map +1 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.styles.js +18 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.styles.js.map +1 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.template.js +13 -0
- package/esm/components/carousel-nav-item/carousel-nav-item.template.js.map +1 -0
- package/esm/components/carousel-nav-item/define.js +4 -0
- package/esm/components/carousel-nav-item/define.js.map +1 -0
- package/esm/components/carousel-nav-item/index.js +5 -0
- package/esm/components/carousel-nav-item/index.js.map +1 -0
- package/esm/components/checkbox/checkbox.definition.js.map +1 -0
- package/esm/components/checkbox/checkbox.js.map +1 -0
- package/esm/components/checkbox/checkbox.options.js.map +1 -0
- package/esm/components/checkbox/define.js.map +1 -0
- package/esm/components/checkbox/index.js.map +1 -0
- package/esm/components/compound-button/compound-button.definition.js.map +1 -0
- package/esm/components/compound-button/compound-button.js.map +1 -0
- package/esm/components/compound-button/compound-button.options.js.map +1 -0
- package/esm/components/compound-button/compound-button.styles.js.map +1 -0
- package/esm/components/compound-button/define.js.map +1 -0
- package/esm/components/compound-button/index.js.map +1 -0
- package/esm/components/counter-badge/counter-badge.definition.js.map +1 -0
- package/esm/components/counter-badge/counter-badge.js.map +1 -0
- package/esm/components/counter-badge/counter-badge.options.js.map +1 -0
- package/esm/components/counter-badge/define.js.map +1 -0
- package/esm/components/counter-badge/index.js.map +1 -0
- package/esm/components/design-system.js.map +1 -0
- package/esm/components/dialog/define.js.map +1 -0
- package/esm/components/dialog/dialog.definition.js.map +1 -0
- package/esm/components/dialog/dialog.js.map +1 -0
- package/esm/components/dialog/dialog.options.js.map +1 -0
- package/esm/components/dialog/dialog.styles.js.map +1 -0
- package/esm/components/dialog/index.js.map +1 -0
- package/esm/components/dialog-body/define.js.map +1 -0
- package/esm/components/dialog-body/dialog-body.definition.js.map +1 -0
- package/esm/components/dialog-body/dialog-body.js.map +1 -0
- package/esm/components/dialog-body/index.js.map +1 -0
- package/esm/components/divider/define.js.map +1 -0
- package/esm/components/divider/divider.definition.js.map +1 -0
- package/esm/components/divider/divider.js.map +1 -0
- package/esm/components/divider/divider.options.js.map +1 -0
- package/esm/components/divider/divider.styles.js.map +1 -0
- package/esm/components/divider/divider.template.js.map +1 -0
- package/esm/components/divider/index.js.map +1 -0
- package/esm/components/drawer/define.js.map +1 -0
- package/esm/components/drawer/drawer.definition.js.map +1 -0
- package/esm/components/drawer/drawer.js.map +1 -0
- package/esm/components/drawer/drawer.options.js.map +1 -0
- package/esm/components/drawer/index.js.map +1 -0
- package/esm/components/drawer-body/define.js.map +1 -0
- package/esm/components/drawer-body/drawer-body.definition.js.map +1 -0
- package/esm/components/drawer-body/drawer-body.js.map +1 -0
- package/esm/components/drawer-body/index.js.map +1 -0
- package/esm/components/dropdown/define.js.map +1 -0
- package/esm/components/dropdown/dropdown.definition.js.map +1 -0
- package/esm/components/dropdown/dropdown.js +164 -0
- package/esm/components/dropdown/dropdown.js.map +1 -0
- package/esm/components/dropdown/dropdown.options.js.map +1 -0
- package/esm/components/dropdown/dropdown.styles.js +10 -0
- package/esm/components/dropdown/dropdown.styles.js.map +1 -0
- package/esm/components/dropdown/index.js.map +1 -0
- package/esm/components/field/define.js.map +1 -0
- package/esm/components/field/field.definition.js.map +1 -0
- package/esm/components/field/field.js.map +1 -0
- package/esm/components/field/field.options.js.map +1 -0
- package/esm/components/field/field.styles.js.map +1 -0
- package/esm/components/field/index.js.map +1 -0
- package/esm/components/filter-pill/define.js.map +1 -0
- package/esm/components/filter-pill/filter-pill.definition.js.map +1 -0
- package/esm/components/filter-pill/filter-pill.js.map +1 -0
- package/esm/components/filter-pill/filter-pill.options.js.map +1 -0
- package/esm/components/filter-pill/filter-pill.styles.js +54 -0
- package/esm/components/filter-pill/filter-pill.styles.js.map +1 -0
- package/esm/components/filter-pill/filter-pill.template.js.map +1 -0
- package/esm/components/filter-pill/index.js.map +1 -0
- package/esm/components/image/define.js.map +1 -0
- package/esm/components/image/image.definition.js.map +1 -0
- package/esm/components/image/image.js.map +1 -0
- package/esm/components/image/image.options.js.map +1 -0
- package/esm/components/image/index.js.map +1 -0
- package/esm/components/label/define.js.map +1 -0
- package/esm/components/label/index.js.map +1 -0
- package/esm/components/label/label.definition.js.map +1 -0
- package/esm/components/label/label.js.map +1 -0
- package/esm/components/label/label.options.js.map +1 -0
- package/esm/components/link/define.js.map +1 -0
- package/esm/components/link/index.js +5 -0
- package/esm/components/link/index.js.map +1 -0
- package/esm/components/link/link.definition.js +20 -0
- package/esm/components/link/link.definition.js.map +1 -0
- package/esm/components/link/link.js +80 -0
- package/esm/components/link/link.js.map +1 -0
- package/esm/components/link/link.options.js.map +1 -0
- package/esm/components/link/link.template.js +18 -0
- package/esm/components/link/link.template.js.map +1 -0
- package/esm/components/listbox/define.js.map +1 -0
- package/esm/components/listbox/index.js.map +1 -0
- package/esm/components/listbox/listbox.definition.js.map +1 -0
- package/esm/components/listbox/listbox.js +213 -0
- package/esm/components/listbox/listbox.js.map +1 -0
- package/esm/components/listbox/listbox.styles.js.map +1 -0
- package/esm/components/loading-button/define.js +4 -0
- package/esm/components/loading-button/define.js.map +1 -0
- package/esm/components/loading-button/index.js.map +1 -0
- package/esm/components/loading-button/loading-button.definition.js +27 -0
- package/esm/components/loading-button/loading-button.definition.js.map +1 -0
- package/esm/components/loading-button/loading-button.js +68 -0
- package/esm/components/loading-button/loading-button.js.map +1 -0
- package/esm/components/loading-button/loading-button.styles.js.map +1 -0
- package/esm/components/loading-button/loading-button.template.js.map +1 -0
- package/esm/components/menu/define.js.map +1 -0
- package/esm/components/menu/index.js.map +1 -0
- package/esm/components/menu/menu.definition.js.map +1 -0
- package/esm/components/menu/menu.js +698 -0
- package/esm/components/menu/menu.js.map +1 -0
- package/esm/components/menu/menu.options.js.map +1 -0
- package/esm/components/menu/menu.positioning.js +118 -0
- package/esm/components/menu/menu.positioning.js.map +1 -0
- package/esm/components/menu/menu.styles.js +14 -0
- package/esm/components/menu/menu.styles.js.map +1 -0
- package/esm/components/menu/menu.template.js.map +1 -0
- package/esm/components/menu-button/define.js.map +1 -0
- package/esm/components/menu-button/index.js.map +1 -0
- package/esm/components/menu-button/menu-button.definition.js.map +1 -0
- package/esm/components/menu-button/menu-button.js.map +1 -0
- package/esm/components/menu-button/menu-button.options.js.map +1 -0
- package/esm/components/menu-item/define.js.map +1 -0
- package/esm/components/menu-item/index.js +6 -0
- package/esm/components/menu-item/index.js.map +1 -0
- package/esm/components/menu-item/menu-item.definition.js.map +1 -0
- package/esm/components/menu-item/menu-item.js +406 -0
- package/esm/components/menu-item/menu-item.js.map +1 -0
- package/esm/components/menu-item/menu-item.options.js +58 -0
- package/esm/components/menu-item/menu-item.options.js.map +1 -0
- package/esm/components/menu-item/menu-item.styles.js +17 -0
- package/esm/components/menu-item/menu-item.styles.js.map +1 -0
- package/esm/components/menu-item/menu-item.template.js.map +1 -0
- package/esm/components/menu-list/define.js.map +1 -0
- package/esm/components/menu-list/index.js.map +1 -0
- package/esm/components/menu-list/menu-list.definition.js.map +1 -0
- package/esm/components/menu-list/menu-list.js.map +1 -0
- package/esm/components/menu-list/menu-list.styles.js.map +1 -0
- package/esm/components/menu-list/menu-list.template.js.map +1 -0
- package/esm/components/message-bar/define.js.map +1 -0
- package/esm/components/message-bar/index.js.map +1 -0
- package/esm/components/message-bar/message-bar.definition.js.map +1 -0
- package/esm/components/message-bar/message-bar.js.map +1 -0
- package/esm/components/multi-view/define.js.map +1 -0
- package/esm/components/multi-view/index.js.map +1 -0
- package/esm/components/multi-view/multi-view.definition.js.map +1 -0
- package/esm/components/multi-view/multi-view.js.map +1 -0
- package/esm/components/multi-view/multi-view.options.js.map +1 -0
- package/esm/components/multi-view/multi-view.styles.js +13 -0
- package/esm/components/multi-view/multi-view.styles.js.map +1 -0
- package/esm/components/multi-view/multi-view.template.js.map +1 -0
- package/esm/components/multi-view-controller/define.js.map +1 -0
- package/esm/components/multi-view-controller/index.js.map +1 -0
- package/esm/components/multi-view-controller/multi-view-controller.definition.js.map +1 -0
- package/esm/components/multi-view-controller/multi-view-controller.js.map +1 -0
- package/esm/components/multi-view-controller/multi-view-controller.styles.js +10 -0
- package/esm/components/multi-view-controller/multi-view-controller.styles.js.map +1 -0
- package/esm/components/multi-view-controller/multi-view-controller.template.js.map +1 -0
- package/esm/components/multi-view-group/define.js.map +1 -0
- package/esm/components/multi-view-group/index.js.map +1 -0
- package/esm/components/multi-view-group/multi-view-group.definition.js.map +1 -0
- package/esm/components/multi-view-group/multi-view-group.js +690 -0
- package/esm/components/multi-view-group/multi-view-group.js.map +1 -0
- package/esm/components/multi-view-group/multi-view-group.options.js.map +1 -0
- package/esm/components/multi-view-group/multi-view-group.styles.js +12 -0
- package/esm/components/multi-view-group/multi-view-group.styles.js.map +1 -0
- package/esm/components/multi-view-group/multi-view-group.template.js.map +1 -0
- package/esm/components/option/define.js.map +1 -0
- package/esm/components/option/index.js.map +1 -0
- package/esm/components/option/option.definition.js.map +1 -0
- package/esm/components/option/option.js.map +1 -0
- package/esm/components/option-group/define.js.map +1 -0
- package/esm/components/option-group/index.js.map +1 -0
- package/esm/components/option-group/option-group.definition.js.map +1 -0
- package/esm/components/option-group/option-group.js.map +1 -0
- package/esm/components/option-group/option-group.options.js.map +1 -0
- package/esm/components/option-group/option-group.styles.js.map +1 -0
- package/esm/components/option-group/option-group.template.js.map +1 -0
- package/esm/components/overflow/define.js +4 -0
- package/esm/components/overflow/define.js.map +1 -0
- package/esm/components/overflow/index.js +6 -0
- package/esm/components/overflow/index.js.map +1 -0
- package/esm/components/overflow/overflow.definition.js +21 -0
- package/esm/components/overflow/overflow.definition.js.map +1 -0
- package/esm/components/overflow/overflow.events.js +6 -0
- package/esm/components/overflow/overflow.events.js.map +1 -0
- package/esm/components/overflow/overflow.js +393 -0
- package/esm/components/overflow/overflow.js.map +1 -0
- package/esm/components/overflow/overflow.options.js +12 -0
- package/esm/components/overflow/overflow.options.js.map +1 -0
- package/esm/components/overflow/overflow.styles.js +13 -0
- package/esm/components/overflow/overflow.styles.js.map +1 -0
- package/esm/components/overflow/overflow.template.js +9 -0
- package/esm/components/overflow/overflow.template.js.map +1 -0
- package/esm/components/overflow-divider/define.js +4 -0
- package/esm/components/overflow-divider/define.js.map +1 -0
- package/esm/components/overflow-divider/index.js +4 -0
- package/esm/components/overflow-divider/index.js.map +1 -0
- package/esm/components/overflow-divider/overflow-divider.definition.js +21 -0
- package/esm/components/overflow-divider/overflow-divider.definition.js.map +1 -0
- package/esm/components/overflow-divider/overflow-divider.js +38 -0
- package/esm/components/overflow-divider/overflow-divider.js.map +1 -0
- package/esm/components/overflow-divider/overflow-divider.styles.js +14 -0
- package/esm/components/overflow-divider/overflow-divider.styles.js.map +1 -0
- package/esm/components/overflow-divider/overflow-divider.template.js +9 -0
- package/esm/components/overflow-divider/overflow-divider.template.js.map +1 -0
- package/esm/components/overflow-item/define.js +4 -0
- package/esm/components/overflow-item/define.js.map +1 -0
- package/esm/components/overflow-item/index.js +4 -0
- package/esm/components/overflow-item/index.js.map +1 -0
- package/esm/components/overflow-item/overflow-item.definition.js +21 -0
- package/esm/components/overflow-item/overflow-item.definition.js.map +1 -0
- package/esm/components/overflow-item/overflow-item.js +77 -0
- package/esm/components/overflow-item/overflow-item.js.map +1 -0
- package/esm/components/overflow-item/overflow-item.styles.js +13 -0
- package/esm/components/overflow-item/overflow-item.styles.js.map +1 -0
- package/esm/components/overflow-item/overflow-item.template.js +9 -0
- package/esm/components/overflow-item/overflow-item.template.js.map +1 -0
- package/esm/components/pagination/define.js +29 -0
- package/esm/components/pagination/define.js.map +1 -0
- package/esm/components/pagination/index.js +9 -0
- package/esm/components/pagination/index.js.map +1 -0
- package/esm/components/pagination/pagination.definition.js +18 -0
- package/esm/components/pagination/pagination.definition.js.map +1 -0
- package/esm/components/pagination/pagination.events.js +11 -0
- package/esm/components/pagination/pagination.events.js.map +1 -0
- package/esm/components/pagination/pagination.js +416 -0
- package/esm/components/pagination/pagination.js.map +1 -0
- package/esm/components/pagination/pagination.options.js +26 -0
- package/esm/components/pagination/pagination.options.js.map +1 -0
- package/esm/components/pagination/pagination.styles.js +12 -0
- package/esm/components/pagination/pagination.styles.js.map +1 -0
- package/esm/components/pagination/pagination.template.js +22 -0
- package/esm/components/pagination/pagination.template.js.map +1 -0
- package/esm/components/patterns/aria-globals.js.map +1 -0
- package/esm/components/popover/define.js.map +1 -0
- package/esm/components/popover/index.js.map +1 -0
- package/esm/components/popover/popover.definition.js.map +1 -0
- package/esm/components/popover/popover.js.map +1 -0
- package/esm/components/popover/popover.options.js.map +1 -0
- package/esm/components/popover/popover.positioning.js.map +1 -0
- package/esm/components/popover/popover.styles.js.map +1 -0
- package/esm/components/popover/popover.template.js.map +1 -0
- package/esm/components/progress-bar/define.js.map +1 -0
- package/esm/components/progress-bar/index.js.map +1 -0
- package/esm/components/progress-bar/progress-bar.definition.js.map +1 -0
- package/esm/components/progress-bar/progress-bar.js.map +1 -0
- package/esm/components/progress-bar/progress-bar.options.js.map +1 -0
- package/esm/components/radio/define.js.map +1 -0
- package/esm/components/radio/index.js.map +1 -0
- package/esm/components/radio/radio.definition.js.map +1 -0
- package/esm/components/radio/radio.js.map +1 -0
- package/esm/components/radio-group/define.js.map +1 -0
- package/esm/components/radio-group/index.js.map +1 -0
- package/esm/components/radio-group/radio-group.definition.js.map +1 -0
- package/esm/components/radio-group/radio-group.js.map +1 -0
- package/esm/components/radio-group/radio-group.options.js.map +1 -0
- package/esm/components/rating-display/define.js.map +1 -0
- package/esm/components/rating-display/index.js.map +1 -0
- package/esm/components/rating-display/rating-display.definition.js.map +1 -0
- package/esm/components/rating-display/rating-display.js.map +1 -0
- package/esm/components/rating-display/rating-display.options.js.map +1 -0
- package/esm/components/search-box/define.js.map +1 -0
- package/esm/components/search-box/index.js.map +1 -0
- package/esm/components/search-box/search-box.definition.js +27 -0
- package/esm/components/search-box/search-box.definition.js.map +1 -0
- package/esm/components/search-box/search-box.js +176 -0
- package/esm/components/search-box/search-box.js.map +1 -0
- package/esm/components/search-box/search-box.options.js.map +1 -0
- package/esm/components/search-box/search-box.styles.js +11 -0
- package/esm/components/search-box/search-box.styles.js.map +1 -0
- package/esm/components/search-box/search-box.template.js +18 -0
- package/esm/components/search-box/search-box.template.js.map +1 -0
- package/esm/components/simple-table/define.js.map +1 -0
- package/esm/components/simple-table/index.js.map +1 -0
- package/esm/components/simple-table/simple-table.definition.js.map +1 -0
- package/esm/components/simple-table/simple-table.js.map +1 -0
- package/esm/components/simple-table/simple-table.styles.js +14 -0
- package/esm/components/simple-table/simple-table.styles.js.map +1 -0
- package/esm/components/slider/define.js.map +1 -0
- package/esm/components/slider/index.js.map +1 -0
- package/esm/components/slider/slider.definition.js.map +1 -0
- package/esm/components/slider/slider.js.map +1 -0
- package/esm/components/slider/slider.options.js.map +1 -0
- package/esm/components/spin-button/define.js +4 -0
- package/esm/components/spin-button/define.js.map +1 -0
- package/esm/components/spin-button/index.js +8 -0
- package/esm/components/spin-button/index.js.map +1 -0
- package/esm/components/spin-button/spin-button.definition.js +22 -0
- package/esm/components/spin-button/spin-button.definition.js.map +1 -0
- package/esm/components/spin-button/spin-button.events.js +11 -0
- package/esm/components/spin-button/spin-button.events.js.map +1 -0
- package/esm/components/spin-button/spin-button.js +608 -0
- package/esm/components/spin-button/spin-button.js.map +1 -0
- package/esm/components/spin-button/spin-button.options.js +45 -0
- package/esm/components/spin-button/spin-button.options.js.map +1 -0
- package/esm/components/spin-button/spin-button.styles.js +15 -0
- package/esm/components/spin-button/spin-button.styles.js.map +1 -0
- package/esm/components/spin-button/spin-button.template.js +30 -0
- package/esm/components/spin-button/spin-button.template.js.map +1 -0
- package/esm/components/spinner/define.js.map +1 -0
- package/esm/components/spinner/index.js.map +1 -0
- package/esm/components/spinner/spinner.definition.js.map +1 -0
- package/esm/components/spinner/spinner.js.map +1 -0
- package/esm/components/spinner/spinner.options.js.map +1 -0
- package/esm/components/styles/index.js.map +1 -0
- package/esm/components/styles/states/states.js +638 -0
- package/esm/components/styles/states/states.js.map +1 -0
- package/esm/components/svg-icon/define.js.map +1 -0
- package/esm/components/svg-icon/index.js.map +1 -0
- package/esm/components/svg-icon/scripts/sprite-builder.js.map +1 -0
- package/esm/components/svg-icon/scripts/svg-list.js.map +1 -0
- package/esm/components/svg-icon/scripts/svg-sanitizer.js.map +1 -0
- package/esm/components/svg-icon/services/svg-service.js.map +1 -0
- package/esm/components/svg-icon/svg-icon.definition.js.map +1 -0
- package/esm/components/svg-icon/svg-icon.js.map +1 -0
- package/esm/components/svg-icon/svg-icon.styles.js.map +1 -0
- package/esm/components/svg-icon/svg-icon.template.js.map +1 -0
- package/esm/components/switch/define.js.map +1 -0
- package/esm/components/switch/index.js.map +1 -0
- package/esm/components/switch/switch.definition.js.map +1 -0
- package/esm/components/switch/switch.js.map +1 -0
- package/esm/components/switch/switch.options.js.map +1 -0
- package/esm/components/tab/define.js.map +1 -0
- package/esm/components/tab/index.js.map +1 -0
- package/esm/components/tab/tab.definition.js.map +1 -0
- package/esm/components/tab/tab.js.map +1 -0
- package/esm/components/table/define.js.map +1 -0
- package/esm/components/table/index.js.map +1 -0
- package/esm/components/table/table.definition.js +27 -0
- package/esm/components/table/table.definition.js.map +1 -0
- package/esm/components/table/table.js +487 -0
- package/esm/components/table/table.js.map +1 -0
- package/esm/components/table/table.options.js.map +1 -0
- package/esm/components/table/table.styles.js.map +1 -0
- package/esm/components/table/table.template.js.map +1 -0
- package/esm/components/table-cell/define.js.map +1 -0
- package/esm/components/table-cell/index.js.map +1 -0
- package/esm/components/table-cell/table-cell.definition.js.map +1 -0
- package/esm/components/table-cell/table-cell.js.map +1 -0
- package/esm/components/table-cell/table-cell.options.js.map +1 -0
- package/esm/components/table-cell/table-cell.styles.js.map +1 -0
- package/esm/components/table-cell/table-cell.template.js.map +1 -0
- package/esm/components/tablist/define.js.map +1 -0
- package/esm/components/tablist/index.js.map +1 -0
- package/esm/components/tablist/tablist.definition.js.map +1 -0
- package/esm/components/tablist/tablist.js.map +1 -0
- package/esm/components/tablist/tablist.options.js.map +1 -0
- package/esm/components/tag/define.js.map +1 -0
- package/esm/components/tag/index.js.map +1 -0
- package/esm/components/tag/tag.definition.js +27 -0
- package/esm/components/tag/tag.definition.js.map +1 -0
- package/esm/components/tag/tag.js +318 -0
- package/esm/components/tag/tag.js.map +1 -0
- package/esm/components/tag/tag.options.js.map +1 -0
- package/esm/components/tag/tag.styles.js.map +1 -0
- package/esm/components/tag/tag.template.js.map +1 -0
- package/esm/components/teaching-bubble/define.js.map +1 -0
- package/esm/components/teaching-bubble/index.js.map +1 -0
- package/esm/components/teaching-bubble/teaching-bubble.definition.js.map +1 -0
- package/esm/components/teaching-bubble/teaching-bubble.js.map +1 -0
- package/esm/components/teaching-bubble/teaching-bubble.options.js.map +1 -0
- package/esm/components/teaching-bubble/teaching-bubble.styles.js.map +1 -0
- package/esm/components/teaching-bubble/teaching-bubble.template.js.map +1 -0
- package/esm/components/text/define.js.map +1 -0
- package/esm/components/text/index.js.map +1 -0
- package/esm/components/text/text.definition.js.map +1 -0
- package/esm/components/text/text.js.map +1 -0
- package/esm/components/text/text.options.js.map +1 -0
- package/esm/components/text-input/define.js.map +1 -0
- package/esm/components/text-input/index.js.map +1 -0
- package/esm/components/text-input/text-input.base.js.map +1 -0
- package/esm/components/text-input/text-input.definition.js.map +1 -0
- package/esm/components/text-input/text-input.js.map +1 -0
- package/esm/components/text-input/text-input.options.js.map +1 -0
- package/esm/components/text-input/text-input.styles.js +15 -0
- package/esm/components/text-input/text-input.styles.js.map +1 -0
- package/esm/components/text-input/text-input.template.js.map +1 -0
- package/esm/components/textarea/define.js.map +1 -0
- package/esm/components/textarea/index.js.map +1 -0
- package/esm/components/textarea/textarea.definition.js.map +1 -0
- package/esm/components/textarea/textarea.js.map +1 -0
- package/esm/components/textarea/textarea.options.js.map +1 -0
- package/esm/components/toggle-button/define.js.map +1 -0
- package/esm/components/toggle-button/index.js.map +1 -0
- package/esm/components/toggle-button/toggle-button.definition.js.map +1 -0
- package/esm/components/toggle-button/toggle-button.js.map +1 -0
- package/esm/components/toggle-button/toggle-button.options.js.map +1 -0
- package/esm/components/tooltip/define.js.map +1 -0
- package/esm/components/tooltip/index.js.map +1 -0
- package/esm/components/tooltip/tooltip.definition.js.map +1 -0
- package/esm/components/tooltip/tooltip.js +232 -0
- package/esm/components/tooltip/tooltip.js.map +1 -0
- package/esm/components/tooltip/tooltip.options.js.map +1 -0
- package/esm/components/tooltip/tooltip.template.js.map +1 -0
- package/esm/components/tree/define.js.map +1 -0
- package/esm/components/tree/index.js.map +1 -0
- package/esm/components/tree/tree.definition.js.map +1 -0
- package/esm/components/tree/tree.js +87 -0
- package/esm/components/tree/tree.js.map +1 -0
- package/esm/components/tree-item/define.js.map +1 -0
- package/esm/components/tree-item/index.js.map +1 -0
- package/esm/components/tree-item/tree-item.definition.js.map +1 -0
- package/esm/components/tree-item/tree-item.js +151 -0
- package/esm/components/tree-item/tree-item.js.map +1 -0
- package/esm/components/tree-item/tree-item.styles.js.map +1 -0
- package/esm/components/tree-item/tree-item.template.js +6 -0
- package/esm/components/tree-item/tree-item.template.js.map +1 -0
- package/esm/components/wizard/define.js.map +1 -0
- package/esm/components/wizard/index.js.map +1 -0
- package/esm/components/wizard/wizard.definition.js.map +1 -0
- package/esm/components/wizard/wizard.js.map +1 -0
- package/esm/components/wizard/wizard.options.js.map +1 -0
- package/esm/components/wizard/wizard.styles.js.map +1 -0
- package/esm/components/wizard/wizard.template.js.map +1 -0
- package/esm/components/wizard-panel/define.js.map +1 -0
- package/esm/components/wizard-panel/index.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.cem.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.definition.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.options.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.styles.js.map +1 -0
- package/esm/components/wizard-panel/wizard-panel.template.js.map +1 -0
- package/esm/components/wizard-step/define.js.map +1 -0
- package/esm/components/wizard-step/index.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.definition.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.options.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.styles.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.template.js.map +1 -0
- package/esm/components/wizard-step/wizard-step.unit.component.js.map +1 -0
- package/esm/index.js +282 -0
- package/esm/index.js.map +1 -0
- package/esm/static/component-svgs.js +10 -0
- package/esm/static/component-svgs.js.map +1 -0
- package/esm/util/accessibility-utilities.js.map +1 -0
- package/esm/util/apply-mixins.js.map +1 -0
- package/esm/util/attribute-utilities.js.map +1 -0
- package/esm/util/collection-event-manager.js +79 -0
- package/esm/util/collection-event-manager.js.map +1 -0
- package/esm/util/debounce.js.map +1 -0
- package/esm/util/debug.js.map +1 -0
- package/esm/util/descendants.js.map +1 -0
- package/esm/util/direction.js.map +1 -0
- package/esm/util/dom.js.map +1 -0
- package/esm/util/element-definition.js +63 -0
- package/esm/util/element-definition.js.map +1 -0
- package/esm/util/element-internal-mocks.js.map +1 -0
- package/esm/util/element-internals.js.map +1 -0
- package/esm/util/focus-management.js.map +1 -0
- package/esm/util/hash-utilities.js.map +1 -0
- package/esm/util/icons.js +50 -0
- package/esm/util/icons.js.map +1 -0
- package/esm/util/index.js +23 -0
- package/esm/util/index.js.map +1 -0
- package/esm/util/match-media-stylesheet-behaviors.js.map +1 -0
- package/esm/util/math.js +34 -0
- package/esm/util/math.js.map +1 -0
- package/esm/util/platform.js +22 -0
- package/esm/util/platform.js.map +1 -0
- package/esm/util/positioning/flexible-position-strategy.js +232 -0
- package/esm/util/positioning/flexible-position-strategy.js.map +1 -0
- package/esm/util/positioning/index.js.map +1 -0
- package/esm/util/positioning/position-calculator.js.map +1 -0
- package/esm/util/positioning/types.js.map +1 -0
- package/esm/util/support.js.map +1 -0
- package/esm/util/template-helpers.js.map +1 -0
- package/esm/util/typings.js.map +1 -0
- package/esm/util/whitespace-filter.js.map +1 -0
- package/index.d.ts +11570 -0
- package/index.d.ts.map +1 -0
- package/index.js +18858 -0
- package/index.js.map +1 -0
- package/index.min.js +195 -0
- package/index.min.js.map +1 -0
- package/package.json +16 -88
- package/CHANGELOG.json +0 -1063
- package/CHANGELOG.md +0 -581
- package/LICENSE +0 -21
- package/README.md +0 -160
- package/dist/dts/components/accordion/accordion.d.ts.map +0 -1
- package/dist/dts/components/accordion/accordion.definition.d.ts.map +0 -1
- package/dist/dts/components/accordion/accordion.options.d.ts.map +0 -1
- package/dist/dts/components/accordion/define.d.ts.map +0 -1
- package/dist/dts/components/accordion/index.d.ts.map +0 -1
- package/dist/dts/components/accordion-item/accordion-item.d.ts.map +0 -1
- package/dist/dts/components/accordion-item/accordion-item.definition.d.ts.map +0 -1
- package/dist/dts/components/accordion-item/accordion-item.options.d.ts.map +0 -1
- package/dist/dts/components/accordion-item/define.d.ts.map +0 -1
- package/dist/dts/components/accordion-item/index.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/accordion-menu.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/accordion-menu.definition.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/accordion-menu.options.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/accordion-menu.styles.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/define.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu/index.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.options.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/define.d.ts.map +0 -1
- package/dist/dts/components/accordion-menu-panel/index.d.ts.map +0 -1
- package/dist/dts/components/anchor-button/anchor-button.d.ts.map +0 -1
- package/dist/dts/components/anchor-button/anchor-button.definition.d.ts.map +0 -1
- package/dist/dts/components/anchor-button/anchor-button.options.d.ts.map +0 -1
- package/dist/dts/components/anchor-button/define.d.ts.map +0 -1
- package/dist/dts/components/anchor-button/index.d.ts.map +0 -1
- package/dist/dts/components/avatar/avatar.d.ts.map +0 -1
- package/dist/dts/components/avatar/avatar.definition.d.ts.map +0 -1
- package/dist/dts/components/avatar/avatar.options.d.ts.map +0 -1
- package/dist/dts/components/avatar/define.d.ts.map +0 -1
- package/dist/dts/components/avatar/index.d.ts.map +0 -1
- package/dist/dts/components/badge/badge.d.ts.map +0 -1
- package/dist/dts/components/badge/badge.definition.d.ts.map +0 -1
- package/dist/dts/components/badge/badge.options.d.ts.map +0 -1
- package/dist/dts/components/badge/define.d.ts.map +0 -1
- package/dist/dts/components/badge/index.d.ts.map +0 -1
- package/dist/dts/components/button/button.d.ts.map +0 -1
- package/dist/dts/components/button/button.definition.d.ts.map +0 -1
- package/dist/dts/components/button/button.options.d.ts.map +0 -1
- package/dist/dts/components/button/button.styles.d.ts.map +0 -1
- package/dist/dts/components/button/define.d.ts.map +0 -1
- package/dist/dts/components/button/index.d.ts.map +0 -1
- package/dist/dts/components/card/card.d.ts.map +0 -1
- package/dist/dts/components/card/card.definition.d.ts.map +0 -1
- package/dist/dts/components/card/card.options.d.ts.map +0 -1
- package/dist/dts/components/card/card.styles.d.ts.map +0 -1
- package/dist/dts/components/card/card.template.d.ts.map +0 -1
- package/dist/dts/components/card/define.d.ts.map +0 -1
- package/dist/dts/components/card/index.d.ts.map +0 -1
- package/dist/dts/components/card-footer/card-footer.d.ts.map +0 -1
- package/dist/dts/components/card-footer/card-footer.definition.d.ts.map +0 -1
- package/dist/dts/components/card-footer/card-footer.styles.d.ts.map +0 -1
- package/dist/dts/components/card-footer/card-footer.template.d.ts.map +0 -1
- package/dist/dts/components/card-footer/define.d.ts.map +0 -1
- package/dist/dts/components/card-footer/index.d.ts.map +0 -1
- package/dist/dts/components/card-header/card-header.d.ts.map +0 -1
- package/dist/dts/components/card-header/card-header.definition.d.ts.map +0 -1
- package/dist/dts/components/card-header/card-header.styles.d.ts.map +0 -1
- package/dist/dts/components/card-header/card-header.template.d.ts.map +0 -1
- package/dist/dts/components/card-header/define.d.ts.map +0 -1
- package/dist/dts/components/card-header/index.d.ts.map +0 -1
- package/dist/dts/components/card-preview/card-preview.d.ts.map +0 -1
- package/dist/dts/components/card-preview/card-preview.definition.d.ts.map +0 -1
- package/dist/dts/components/card-preview/card-preview.styles.d.ts.map +0 -1
- package/dist/dts/components/card-preview/card-preview.template.d.ts.map +0 -1
- package/dist/dts/components/card-preview/define.d.ts.map +0 -1
- package/dist/dts/components/card-preview/index.d.ts.map +0 -1
- package/dist/dts/components/carousel/carousel.d.ts +0 -264
- package/dist/dts/components/carousel/carousel.d.ts.map +0 -1
- package/dist/dts/components/carousel/carousel.definition.d.ts +0 -9
- package/dist/dts/components/carousel/carousel.definition.d.ts.map +0 -1
- package/dist/dts/components/carousel/carousel.styles.d.ts +0 -2
- package/dist/dts/components/carousel/carousel.styles.d.ts.map +0 -1
- package/dist/dts/components/carousel/carousel.template.d.ts.map +0 -1
- package/dist/dts/components/carousel/define.d.ts.map +0 -1
- package/dist/dts/components/carousel/index.d.ts +0 -5
- package/dist/dts/components/carousel/index.d.ts.map +0 -1
- package/dist/dts/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/dts/components/checkbox/checkbox.definition.d.ts.map +0 -1
- package/dist/dts/components/checkbox/checkbox.options.d.ts.map +0 -1
- package/dist/dts/components/checkbox/define.d.ts.map +0 -1
- package/dist/dts/components/checkbox/index.d.ts.map +0 -1
- package/dist/dts/components/component-register.d.ts +0 -67
- package/dist/dts/components/component-register.d.ts.map +0 -1
- package/dist/dts/components/compound-button/compound-button.d.ts.map +0 -1
- package/dist/dts/components/compound-button/compound-button.definition.d.ts.map +0 -1
- package/dist/dts/components/compound-button/compound-button.options.d.ts.map +0 -1
- package/dist/dts/components/compound-button/compound-button.styles.d.ts.map +0 -1
- package/dist/dts/components/compound-button/define.d.ts.map +0 -1
- package/dist/dts/components/compound-button/index.d.ts.map +0 -1
- package/dist/dts/components/counter-badge/counter-badge.d.ts.map +0 -1
- package/dist/dts/components/counter-badge/counter-badge.definition.d.ts.map +0 -1
- package/dist/dts/components/counter-badge/counter-badge.options.d.ts.map +0 -1
- package/dist/dts/components/counter-badge/define.d.ts.map +0 -1
- package/dist/dts/components/counter-badge/index.d.ts.map +0 -1
- package/dist/dts/components/design-system.d.ts.map +0 -1
- package/dist/dts/components/dialog/define.d.ts.map +0 -1
- package/dist/dts/components/dialog/dialog.d.ts.map +0 -1
- package/dist/dts/components/dialog/dialog.definition.d.ts.map +0 -1
- package/dist/dts/components/dialog/dialog.options.d.ts.map +0 -1
- package/dist/dts/components/dialog/dialog.styles.d.ts.map +0 -1
- package/dist/dts/components/dialog/index.d.ts.map +0 -1
- package/dist/dts/components/dialog-body/define.d.ts.map +0 -1
- package/dist/dts/components/dialog-body/dialog-body.d.ts.map +0 -1
- package/dist/dts/components/dialog-body/dialog-body.definition.d.ts.map +0 -1
- package/dist/dts/components/dialog-body/index.d.ts.map +0 -1
- package/dist/dts/components/divider/define.d.ts.map +0 -1
- package/dist/dts/components/divider/divider.d.ts.map +0 -1
- package/dist/dts/components/divider/divider.definition.d.ts.map +0 -1
- package/dist/dts/components/divider/divider.options.d.ts.map +0 -1
- package/dist/dts/components/divider/divider.styles.d.ts.map +0 -1
- package/dist/dts/components/divider/divider.template.d.ts.map +0 -1
- package/dist/dts/components/divider/index.d.ts.map +0 -1
- package/dist/dts/components/drawer/define.d.ts.map +0 -1
- package/dist/dts/components/drawer/drawer.d.ts.map +0 -1
- package/dist/dts/components/drawer/drawer.definition.d.ts.map +0 -1
- package/dist/dts/components/drawer/drawer.options.d.ts.map +0 -1
- package/dist/dts/components/drawer/index.d.ts.map +0 -1
- package/dist/dts/components/drawer-body/define.d.ts.map +0 -1
- package/dist/dts/components/drawer-body/drawer-body.d.ts.map +0 -1
- package/dist/dts/components/drawer-body/drawer-body.definition.d.ts.map +0 -1
- package/dist/dts/components/drawer-body/index.d.ts.map +0 -1
- package/dist/dts/components/dropdown/define.d.ts.map +0 -1
- package/dist/dts/components/dropdown/dropdown.d.ts +0 -62
- package/dist/dts/components/dropdown/dropdown.d.ts.map +0 -1
- package/dist/dts/components/dropdown/dropdown.definition.d.ts.map +0 -1
- package/dist/dts/components/dropdown/dropdown.options.d.ts.map +0 -1
- package/dist/dts/components/dropdown/dropdown.styles.d.ts.map +0 -1
- package/dist/dts/components/dropdown/index.d.ts.map +0 -1
- package/dist/dts/components/field/define.d.ts.map +0 -1
- package/dist/dts/components/field/field.d.ts.map +0 -1
- package/dist/dts/components/field/field.definition.d.ts.map +0 -1
- package/dist/dts/components/field/field.options.d.ts.map +0 -1
- package/dist/dts/components/field/field.styles.d.ts.map +0 -1
- package/dist/dts/components/field/index.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/define.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/filter-pill.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/filter-pill.definition.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/filter-pill.options.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/filter-pill.styles.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/filter-pill.template.d.ts.map +0 -1
- package/dist/dts/components/filter-pill/index.d.ts.map +0 -1
- package/dist/dts/components/image/define.d.ts.map +0 -1
- package/dist/dts/components/image/image.d.ts.map +0 -1
- package/dist/dts/components/image/image.definition.d.ts.map +0 -1
- package/dist/dts/components/image/image.options.d.ts.map +0 -1
- package/dist/dts/components/image/index.d.ts.map +0 -1
- package/dist/dts/components/label/define.d.ts.map +0 -1
- package/dist/dts/components/label/index.d.ts.map +0 -1
- package/dist/dts/components/label/label.d.ts.map +0 -1
- package/dist/dts/components/label/label.definition.d.ts.map +0 -1
- package/dist/dts/components/label/label.options.d.ts.map +0 -1
- package/dist/dts/components/link/define.d.ts.map +0 -1
- package/dist/dts/components/link/index.d.ts +0 -5
- package/dist/dts/components/link/index.d.ts.map +0 -1
- package/dist/dts/components/link/link.d.ts +0 -50
- package/dist/dts/components/link/link.d.ts.map +0 -1
- package/dist/dts/components/link/link.definition.d.ts.map +0 -1
- package/dist/dts/components/link/link.options.d.ts.map +0 -1
- package/dist/dts/components/listbox/define.d.ts.map +0 -1
- package/dist/dts/components/listbox/index.d.ts.map +0 -1
- package/dist/dts/components/listbox/listbox.d.ts +0 -119
- package/dist/dts/components/listbox/listbox.d.ts.map +0 -1
- package/dist/dts/components/listbox/listbox.definition.d.ts.map +0 -1
- package/dist/dts/components/listbox/listbox.styles.d.ts.map +0 -1
- package/dist/dts/components/loading-button/define.d.ts.map +0 -1
- package/dist/dts/components/loading-button/index.d.ts.map +0 -1
- package/dist/dts/components/loading-button/loading-button.d.ts +0 -46
- package/dist/dts/components/loading-button/loading-button.d.ts.map +0 -1
- package/dist/dts/components/loading-button/loading-button.definition.d.ts +0 -10
- package/dist/dts/components/loading-button/loading-button.definition.d.ts.map +0 -1
- package/dist/dts/components/loading-button/loading-button.styles.d.ts.map +0 -1
- package/dist/dts/components/loading-button/loading-button.template.d.ts +0 -8
- package/dist/dts/components/loading-button/loading-button.template.d.ts.map +0 -1
- package/dist/dts/components/menu/define.d.ts.map +0 -1
- package/dist/dts/components/menu/index.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.d.ts +0 -353
- package/dist/dts/components/menu/menu.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.definition.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.options.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.positioning.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.styles.d.ts.map +0 -1
- package/dist/dts/components/menu/menu.template.d.ts.map +0 -1
- package/dist/dts/components/menu-button/define.d.ts.map +0 -1
- package/dist/dts/components/menu-button/index.d.ts.map +0 -1
- package/dist/dts/components/menu-button/menu-button.d.ts.map +0 -1
- package/dist/dts/components/menu-button/menu-button.definition.d.ts.map +0 -1
- package/dist/dts/components/menu-button/menu-button.options.d.ts.map +0 -1
- package/dist/dts/components/menu-item/define.d.ts.map +0 -1
- package/dist/dts/components/menu-item/index.d.ts +0 -8
- package/dist/dts/components/menu-item/index.d.ts.map +0 -1
- package/dist/dts/components/menu-item/menu-item.d.ts +0 -209
- package/dist/dts/components/menu-item/menu-item.d.ts.map +0 -1
- package/dist/dts/components/menu-item/menu-item.definition.d.ts.map +0 -1
- package/dist/dts/components/menu-item/menu-item.options.d.ts +0 -50
- package/dist/dts/components/menu-item/menu-item.options.d.ts.map +0 -1
- package/dist/dts/components/menu-item/menu-item.styles.d.ts.map +0 -1
- package/dist/dts/components/menu-item/menu-item.template.d.ts.map +0 -1
- package/dist/dts/components/menu-list/define.d.ts.map +0 -1
- package/dist/dts/components/menu-list/index.d.ts.map +0 -1
- package/dist/dts/components/menu-list/menu-list.d.ts.map +0 -1
- package/dist/dts/components/menu-list/menu-list.definition.d.ts.map +0 -1
- package/dist/dts/components/menu-list/menu-list.styles.d.ts.map +0 -1
- package/dist/dts/components/menu-list/menu-list.template.d.ts.map +0 -1
- package/dist/dts/components/message-bar/define.d.ts.map +0 -1
- package/dist/dts/components/message-bar/index.d.ts.map +0 -1
- package/dist/dts/components/message-bar/message-bar.d.ts.map +0 -1
- package/dist/dts/components/message-bar/message-bar.definition.d.ts.map +0 -1
- package/dist/dts/components/multi-view/define.d.ts.map +0 -1
- package/dist/dts/components/multi-view/index.d.ts.map +0 -1
- package/dist/dts/components/multi-view/multi-view.d.ts.map +0 -1
- package/dist/dts/components/multi-view/multi-view.definition.d.ts.map +0 -1
- package/dist/dts/components/multi-view/multi-view.options.d.ts.map +0 -1
- package/dist/dts/components/multi-view/multi-view.styles.d.ts.map +0 -1
- package/dist/dts/components/multi-view/multi-view.template.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/define.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/index.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.definition.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +0 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/define.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/index.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/multi-view-group.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/multi-view-group.definition.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/multi-view-group.options.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/multi-view-group.styles.d.ts.map +0 -1
- package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts.map +0 -1
- package/dist/dts/components/option/define.d.ts.map +0 -1
- package/dist/dts/components/option/index.d.ts.map +0 -1
- package/dist/dts/components/option/option.d.ts.map +0 -1
- package/dist/dts/components/option/option.definition.d.ts.map +0 -1
- package/dist/dts/components/option-group/define.d.ts.map +0 -1
- package/dist/dts/components/option-group/index.d.ts.map +0 -1
- package/dist/dts/components/option-group/option-group.d.ts.map +0 -1
- package/dist/dts/components/option-group/option-group.definition.d.ts.map +0 -1
- package/dist/dts/components/option-group/option-group.options.d.ts.map +0 -1
- package/dist/dts/components/option-group/option-group.styles.d.ts.map +0 -1
- package/dist/dts/components/option-group/option-group.template.d.ts.map +0 -1
- package/dist/dts/components/patterns/aria-globals.d.ts.map +0 -1
- package/dist/dts/components/popover/define.d.ts.map +0 -1
- package/dist/dts/components/popover/index.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.definition.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.options.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.positioning.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.styles.d.ts.map +0 -1
- package/dist/dts/components/popover/popover.template.d.ts.map +0 -1
- package/dist/dts/components/progress-bar/define.d.ts.map +0 -1
- package/dist/dts/components/progress-bar/index.d.ts.map +0 -1
- package/dist/dts/components/progress-bar/progress-bar.d.ts.map +0 -1
- package/dist/dts/components/progress-bar/progress-bar.definition.d.ts.map +0 -1
- package/dist/dts/components/progress-bar/progress-bar.options.d.ts.map +0 -1
- package/dist/dts/components/radio/define.d.ts.map +0 -1
- package/dist/dts/components/radio/index.d.ts.map +0 -1
- package/dist/dts/components/radio/radio.d.ts.map +0 -1
- package/dist/dts/components/radio/radio.definition.d.ts.map +0 -1
- package/dist/dts/components/radio-group/define.d.ts.map +0 -1
- package/dist/dts/components/radio-group/index.d.ts.map +0 -1
- package/dist/dts/components/radio-group/radio-group.d.ts.map +0 -1
- package/dist/dts/components/radio-group/radio-group.definition.d.ts.map +0 -1
- package/dist/dts/components/radio-group/radio-group.options.d.ts.map +0 -1
- package/dist/dts/components/rating-display/define.d.ts.map +0 -1
- package/dist/dts/components/rating-display/index.d.ts.map +0 -1
- package/dist/dts/components/rating-display/rating-display.d.ts.map +0 -1
- package/dist/dts/components/rating-display/rating-display.definition.d.ts.map +0 -1
- package/dist/dts/components/rating-display/rating-display.options.d.ts.map +0 -1
- package/dist/dts/components/search-box/define.d.ts.map +0 -1
- package/dist/dts/components/search-box/index.d.ts.map +0 -1
- package/dist/dts/components/search-box/search-box.d.ts.map +0 -1
- package/dist/dts/components/search-box/search-box.definition.d.ts +0 -9
- package/dist/dts/components/search-box/search-box.definition.d.ts.map +0 -1
- package/dist/dts/components/search-box/search-box.options.d.ts.map +0 -1
- package/dist/dts/components/search-box/search-box.styles.d.ts.map +0 -1
- package/dist/dts/components/search-box/search-box.template.d.ts.map +0 -1
- package/dist/dts/components/simple-table/define.d.ts.map +0 -1
- package/dist/dts/components/simple-table/index.d.ts.map +0 -1
- package/dist/dts/components/simple-table/simple-table.d.ts.map +0 -1
- package/dist/dts/components/simple-table/simple-table.definition.d.ts.map +0 -1
- package/dist/dts/components/simple-table/simple-table.styles.d.ts.map +0 -1
- package/dist/dts/components/slider/define.d.ts.map +0 -1
- package/dist/dts/components/slider/index.d.ts.map +0 -1
- package/dist/dts/components/slider/slider.d.ts.map +0 -1
- package/dist/dts/components/slider/slider.definition.d.ts.map +0 -1
- package/dist/dts/components/slider/slider.options.d.ts.map +0 -1
- package/dist/dts/components/spinner/define.d.ts.map +0 -1
- package/dist/dts/components/spinner/index.d.ts.map +0 -1
- package/dist/dts/components/spinner/spinner.d.ts.map +0 -1
- package/dist/dts/components/spinner/spinner.definition.d.ts.map +0 -1
- package/dist/dts/components/spinner/spinner.options.d.ts.map +0 -1
- package/dist/dts/components/styles/index.d.ts.map +0 -1
- package/dist/dts/components/styles/states/states.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/define.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/index.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/scripts/svg-list.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/scripts/svg-sanitizer.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/services/svg-service.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/svg-icon.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/svg-icon.definition.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/svg-icon.styles.d.ts.map +0 -1
- package/dist/dts/components/svg-icon/svg-icon.template.d.ts.map +0 -1
- package/dist/dts/components/switch/define.d.ts.map +0 -1
- package/dist/dts/components/switch/index.d.ts.map +0 -1
- package/dist/dts/components/switch/switch.d.ts.map +0 -1
- package/dist/dts/components/switch/switch.definition.d.ts.map +0 -1
- package/dist/dts/components/switch/switch.options.d.ts.map +0 -1
- package/dist/dts/components/tab/define.d.ts.map +0 -1
- package/dist/dts/components/tab/index.d.ts.map +0 -1
- package/dist/dts/components/tab/tab.d.ts.map +0 -1
- package/dist/dts/components/tab/tab.definition.d.ts.map +0 -1
- package/dist/dts/components/table/define.d.ts.map +0 -1
- package/dist/dts/components/table/index.d.ts.map +0 -1
- package/dist/dts/components/table/table.d.ts +0 -249
- package/dist/dts/components/table/table.d.ts.map +0 -1
- package/dist/dts/components/table/table.definition.d.ts +0 -3
- package/dist/dts/components/table/table.definition.d.ts.map +0 -1
- package/dist/dts/components/table/table.options.d.ts.map +0 -1
- package/dist/dts/components/table/table.styles.d.ts.map +0 -1
- package/dist/dts/components/table/table.template.d.ts.map +0 -1
- package/dist/dts/components/table-cell/define.d.ts.map +0 -1
- package/dist/dts/components/table-cell/index.d.ts.map +0 -1
- package/dist/dts/components/table-cell/table-cell.d.ts.map +0 -1
- package/dist/dts/components/table-cell/table-cell.definition.d.ts.map +0 -1
- package/dist/dts/components/table-cell/table-cell.options.d.ts.map +0 -1
- package/dist/dts/components/table-cell/table-cell.styles.d.ts.map +0 -1
- package/dist/dts/components/table-cell/table-cell.template.d.ts.map +0 -1
- package/dist/dts/components/tablist/define.d.ts.map +0 -1
- package/dist/dts/components/tablist/index.d.ts.map +0 -1
- package/dist/dts/components/tablist/tablist.d.ts.map +0 -1
- package/dist/dts/components/tablist/tablist.definition.d.ts.map +0 -1
- package/dist/dts/components/tablist/tablist.options.d.ts.map +0 -1
- package/dist/dts/components/tag/define.d.ts.map +0 -1
- package/dist/dts/components/tag/index.d.ts.map +0 -1
- package/dist/dts/components/tag/tag.d.ts.map +0 -1
- package/dist/dts/components/tag/tag.definition.d.ts +0 -9
- package/dist/dts/components/tag/tag.definition.d.ts.map +0 -1
- package/dist/dts/components/tag/tag.options.d.ts.map +0 -1
- package/dist/dts/components/tag/tag.styles.d.ts.map +0 -1
- package/dist/dts/components/tag/tag.template.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/define.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/index.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.definition.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.options.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +0 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +0 -1
- package/dist/dts/components/text/define.d.ts.map +0 -1
- package/dist/dts/components/text/index.d.ts.map +0 -1
- package/dist/dts/components/text/text.d.ts.map +0 -1
- package/dist/dts/components/text/text.definition.d.ts.map +0 -1
- package/dist/dts/components/text/text.options.d.ts.map +0 -1
- package/dist/dts/components/text-input/define.d.ts.map +0 -1
- package/dist/dts/components/text-input/index.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.base.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.definition.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.options.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.styles.d.ts.map +0 -1
- package/dist/dts/components/text-input/text-input.template.d.ts.map +0 -1
- package/dist/dts/components/textarea/define.d.ts.map +0 -1
- package/dist/dts/components/textarea/index.d.ts.map +0 -1
- package/dist/dts/components/textarea/textarea.d.ts.map +0 -1
- package/dist/dts/components/textarea/textarea.definition.d.ts.map +0 -1
- package/dist/dts/components/textarea/textarea.options.d.ts.map +0 -1
- package/dist/dts/components/toggle-button/define.d.ts.map +0 -1
- package/dist/dts/components/toggle-button/index.d.ts.map +0 -1
- package/dist/dts/components/toggle-button/toggle-button.d.ts.map +0 -1
- package/dist/dts/components/toggle-button/toggle-button.definition.d.ts.map +0 -1
- package/dist/dts/components/toggle-button/toggle-button.options.d.ts.map +0 -1
- package/dist/dts/components/tooltip/define.d.ts.map +0 -1
- package/dist/dts/components/tooltip/index.d.ts.map +0 -1
- package/dist/dts/components/tooltip/tooltip.d.ts +0 -63
- package/dist/dts/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/dts/components/tooltip/tooltip.definition.d.ts.map +0 -1
- package/dist/dts/components/tooltip/tooltip.options.d.ts.map +0 -1
- package/dist/dts/components/tooltip/tooltip.template.d.ts.map +0 -1
- package/dist/dts/components/tree/define.d.ts.map +0 -1
- package/dist/dts/components/tree/index.d.ts.map +0 -1
- package/dist/dts/components/tree/tree.d.ts.map +0 -1
- package/dist/dts/components/tree/tree.definition.d.ts.map +0 -1
- package/dist/dts/components/tree-item/define.d.ts.map +0 -1
- package/dist/dts/components/tree-item/index.d.ts.map +0 -1
- package/dist/dts/components/tree-item/tree-item.d.ts +0 -58
- package/dist/dts/components/tree-item/tree-item.d.ts.map +0 -1
- package/dist/dts/components/tree-item/tree-item.definition.d.ts.map +0 -1
- package/dist/dts/components/tree-item/tree-item.styles.d.ts.map +0 -1
- package/dist/dts/components/tree-item/tree-item.template.d.ts.map +0 -1
- package/dist/dts/components/wizard/define.d.ts.map +0 -1
- package/dist/dts/components/wizard/index.d.ts.map +0 -1
- package/dist/dts/components/wizard/wizard.d.ts.map +0 -1
- package/dist/dts/components/wizard/wizard.definition.d.ts.map +0 -1
- package/dist/dts/components/wizard/wizard.options.d.ts.map +0 -1
- package/dist/dts/components/wizard/wizard.styles.d.ts.map +0 -1
- package/dist/dts/components/wizard/wizard.template.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/define.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/index.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.cem.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.definition.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.options.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.styles.d.ts.map +0 -1
- package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/define.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/index.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.definition.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.options.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.styles.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.template.d.ts.map +0 -1
- package/dist/dts/components/wizard-step/wizard-step.unit.component.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -117
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/static/component-svgs.d.ts +0 -3
- package/dist/dts/static/component-svgs.d.ts.map +0 -1
- package/dist/dts/util/accessibility-utilities.d.ts.map +0 -1
- package/dist/dts/util/apply-mixins.d.ts.map +0 -1
- package/dist/dts/util/attribute-utilities.d.ts.map +0 -1
- package/dist/dts/util/debounce.d.ts.map +0 -1
- package/dist/dts/util/debug.d.ts.map +0 -1
- package/dist/dts/util/descendants.d.ts.map +0 -1
- package/dist/dts/util/direction.d.ts.map +0 -1
- package/dist/dts/util/dom.d.ts.map +0 -1
- package/dist/dts/util/element-internal-mocks.d.ts.map +0 -1
- package/dist/dts/util/element-internals.d.ts.map +0 -1
- package/dist/dts/util/focus-management.d.ts.map +0 -1
- package/dist/dts/util/hash-utilities.d.ts.map +0 -1
- package/dist/dts/util/index.d.ts +0 -18
- package/dist/dts/util/index.d.ts.map +0 -1
- package/dist/dts/util/match-media-stylesheet-behaviors.d.ts +0 -125
- package/dist/dts/util/match-media-stylesheet-behaviors.d.ts.map +0 -1
- package/dist/dts/util/positioning/flexible-position-strategy.d.ts +0 -87
- package/dist/dts/util/positioning/flexible-position-strategy.d.ts.map +0 -1
- package/dist/dts/util/positioning/index.d.ts.map +0 -1
- package/dist/dts/util/positioning/position-calculator.d.ts.map +0 -1
- package/dist/dts/util/positioning/types.d.ts.map +0 -1
- package/dist/dts/util/support.d.ts.map +0 -1
- package/dist/dts/util/template-helpers.d.ts.map +0 -1
- package/dist/dts/util/typings.d.ts.map +0 -1
- package/dist/dts/util/whitespace-filter.d.ts.map +0 -1
- package/dist/esm/components/accordion/accordion.definition.js.map +0 -1
- package/dist/esm/components/accordion/accordion.js.map +0 -1
- package/dist/esm/components/accordion/accordion.options.js.map +0 -1
- package/dist/esm/components/accordion/define.js.map +0 -1
- package/dist/esm/components/accordion/index.js.map +0 -1
- package/dist/esm/components/accordion-item/accordion-item.definition.js.map +0 -1
- package/dist/esm/components/accordion-item/accordion-item.js.map +0 -1
- package/dist/esm/components/accordion-item/accordion-item.options.js.map +0 -1
- package/dist/esm/components/accordion-item/define.js.map +0 -1
- package/dist/esm/components/accordion-item/index.js.map +0 -1
- package/dist/esm/components/accordion-menu/accordion-menu.definition.js.map +0 -1
- package/dist/esm/components/accordion-menu/accordion-menu.js.map +0 -1
- package/dist/esm/components/accordion-menu/accordion-menu.options.js.map +0 -1
- package/dist/esm/components/accordion-menu/accordion-menu.styles.js.map +0 -1
- package/dist/esm/components/accordion-menu/accordion-menu.template.js.map +0 -1
- package/dist/esm/components/accordion-menu/define.js.map +0 -1
- package/dist/esm/components/accordion-menu/index.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.definition.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.options.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +0 -13
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js +0 -27
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/define.js.map +0 -1
- package/dist/esm/components/accordion-menu-panel/index.js.map +0 -1
- package/dist/esm/components/anchor-button/anchor-button.definition.js.map +0 -1
- package/dist/esm/components/anchor-button/anchor-button.js.map +0 -1
- package/dist/esm/components/anchor-button/anchor-button.options.js.map +0 -1
- package/dist/esm/components/anchor-button/define.js.map +0 -1
- package/dist/esm/components/anchor-button/index.js.map +0 -1
- package/dist/esm/components/avatar/avatar.definition.js.map +0 -1
- package/dist/esm/components/avatar/avatar.js.map +0 -1
- package/dist/esm/components/avatar/avatar.options.js.map +0 -1
- package/dist/esm/components/avatar/define.js.map +0 -1
- package/dist/esm/components/avatar/index.js.map +0 -1
- package/dist/esm/components/badge/badge.definition.js.map +0 -1
- package/dist/esm/components/badge/badge.js.map +0 -1
- package/dist/esm/components/badge/badge.options.js.map +0 -1
- package/dist/esm/components/badge/define.js.map +0 -1
- package/dist/esm/components/badge/index.js.map +0 -1
- package/dist/esm/components/button/button.definition.js.map +0 -1
- package/dist/esm/components/button/button.js.map +0 -1
- package/dist/esm/components/button/button.options.js.map +0 -1
- package/dist/esm/components/button/button.styles.js +0 -11
- package/dist/esm/components/button/button.styles.js.map +0 -1
- package/dist/esm/components/button/define.js.map +0 -1
- package/dist/esm/components/button/index.js.map +0 -1
- package/dist/esm/components/card/card.definition.js.map +0 -1
- package/dist/esm/components/card/card.js.map +0 -1
- package/dist/esm/components/card/card.options.js.map +0 -1
- package/dist/esm/components/card/card.styles.js.map +0 -1
- package/dist/esm/components/card/card.template.js.map +0 -1
- package/dist/esm/components/card/define.js.map +0 -1
- package/dist/esm/components/card/index.js.map +0 -1
- package/dist/esm/components/card-footer/card-footer.definition.js.map +0 -1
- package/dist/esm/components/card-footer/card-footer.js.map +0 -1
- package/dist/esm/components/card-footer/card-footer.styles.js.map +0 -1
- package/dist/esm/components/card-footer/card-footer.template.js.map +0 -1
- package/dist/esm/components/card-footer/define.js.map +0 -1
- package/dist/esm/components/card-footer/index.js.map +0 -1
- package/dist/esm/components/card-header/card-header.definition.js.map +0 -1
- package/dist/esm/components/card-header/card-header.js.map +0 -1
- package/dist/esm/components/card-header/card-header.styles.js.map +0 -1
- package/dist/esm/components/card-header/card-header.template.js.map +0 -1
- package/dist/esm/components/card-header/define.js.map +0 -1
- package/dist/esm/components/card-header/index.js.map +0 -1
- package/dist/esm/components/card-preview/card-preview.definition.js.map +0 -1
- package/dist/esm/components/card-preview/card-preview.js.map +0 -1
- package/dist/esm/components/card-preview/card-preview.styles.js.map +0 -1
- package/dist/esm/components/card-preview/card-preview.template.js.map +0 -1
- package/dist/esm/components/card-preview/define.js.map +0 -1
- package/dist/esm/components/card-preview/index.js.map +0 -1
- package/dist/esm/components/carousel/carousel.definition.js +0 -21
- package/dist/esm/components/carousel/carousel.definition.js.map +0 -1
- package/dist/esm/components/carousel/carousel.js +0 -450
- package/dist/esm/components/carousel/carousel.js.map +0 -1
- package/dist/esm/components/carousel/carousel.styles.js.map +0 -1
- package/dist/esm/components/carousel/carousel.template.js +0 -15
- package/dist/esm/components/carousel/carousel.template.js.map +0 -1
- package/dist/esm/components/carousel/define.js +0 -4
- package/dist/esm/components/carousel/define.js.map +0 -1
- package/dist/esm/components/carousel/index.js +0 -5
- package/dist/esm/components/carousel/index.js.map +0 -1
- package/dist/esm/components/checkbox/checkbox.definition.js.map +0 -1
- package/dist/esm/components/checkbox/checkbox.js.map +0 -1
- package/dist/esm/components/checkbox/checkbox.options.js.map +0 -1
- package/dist/esm/components/checkbox/define.js.map +0 -1
- package/dist/esm/components/checkbox/index.js.map +0 -1
- package/dist/esm/components/component-register.js +0 -67
- package/dist/esm/components/component-register.js.map +0 -1
- package/dist/esm/components/compound-button/compound-button.definition.js.map +0 -1
- package/dist/esm/components/compound-button/compound-button.js.map +0 -1
- package/dist/esm/components/compound-button/compound-button.options.js.map +0 -1
- package/dist/esm/components/compound-button/compound-button.styles.js.map +0 -1
- package/dist/esm/components/compound-button/define.js.map +0 -1
- package/dist/esm/components/compound-button/index.js.map +0 -1
- package/dist/esm/components/counter-badge/counter-badge.definition.js.map +0 -1
- package/dist/esm/components/counter-badge/counter-badge.js.map +0 -1
- package/dist/esm/components/counter-badge/counter-badge.options.js.map +0 -1
- package/dist/esm/components/counter-badge/define.js.map +0 -1
- package/dist/esm/components/counter-badge/index.js.map +0 -1
- package/dist/esm/components/design-system.js.map +0 -1
- package/dist/esm/components/dialog/define.js.map +0 -1
- package/dist/esm/components/dialog/dialog.definition.js.map +0 -1
- package/dist/esm/components/dialog/dialog.js.map +0 -1
- package/dist/esm/components/dialog/dialog.options.js.map +0 -1
- package/dist/esm/components/dialog/dialog.styles.js.map +0 -1
- package/dist/esm/components/dialog/index.js.map +0 -1
- package/dist/esm/components/dialog-body/define.js.map +0 -1
- package/dist/esm/components/dialog-body/dialog-body.definition.js.map +0 -1
- package/dist/esm/components/dialog-body/dialog-body.js.map +0 -1
- package/dist/esm/components/dialog-body/index.js.map +0 -1
- package/dist/esm/components/divider/define.js.map +0 -1
- package/dist/esm/components/divider/divider.definition.js.map +0 -1
- package/dist/esm/components/divider/divider.js.map +0 -1
- package/dist/esm/components/divider/divider.options.js.map +0 -1
- package/dist/esm/components/divider/divider.styles.js.map +0 -1
- package/dist/esm/components/divider/divider.template.js.map +0 -1
- package/dist/esm/components/divider/index.js.map +0 -1
- package/dist/esm/components/drawer/define.js.map +0 -1
- package/dist/esm/components/drawer/drawer.definition.js.map +0 -1
- package/dist/esm/components/drawer/drawer.js.map +0 -1
- package/dist/esm/components/drawer/drawer.options.js.map +0 -1
- package/dist/esm/components/drawer/index.js.map +0 -1
- package/dist/esm/components/drawer-body/define.js.map +0 -1
- package/dist/esm/components/drawer-body/drawer-body.definition.js.map +0 -1
- package/dist/esm/components/drawer-body/drawer-body.js.map +0 -1
- package/dist/esm/components/drawer-body/index.js.map +0 -1
- package/dist/esm/components/dropdown/define.js.map +0 -1
- package/dist/esm/components/dropdown/dropdown.definition.js.map +0 -1
- package/dist/esm/components/dropdown/dropdown.js +0 -63
- package/dist/esm/components/dropdown/dropdown.js.map +0 -1
- package/dist/esm/components/dropdown/dropdown.options.js.map +0 -1
- package/dist/esm/components/dropdown/dropdown.styles.js +0 -8
- package/dist/esm/components/dropdown/dropdown.styles.js.map +0 -1
- package/dist/esm/components/dropdown/index.js.map +0 -1
- package/dist/esm/components/field/define.js.map +0 -1
- package/dist/esm/components/field/field.definition.js.map +0 -1
- package/dist/esm/components/field/field.js.map +0 -1
- package/dist/esm/components/field/field.options.js.map +0 -1
- package/dist/esm/components/field/field.styles.js.map +0 -1
- package/dist/esm/components/field/index.js.map +0 -1
- package/dist/esm/components/filter-pill/define.js.map +0 -1
- package/dist/esm/components/filter-pill/filter-pill.definition.js.map +0 -1
- package/dist/esm/components/filter-pill/filter-pill.js.map +0 -1
- package/dist/esm/components/filter-pill/filter-pill.options.js.map +0 -1
- package/dist/esm/components/filter-pill/filter-pill.styles.js +0 -52
- package/dist/esm/components/filter-pill/filter-pill.styles.js.map +0 -1
- package/dist/esm/components/filter-pill/filter-pill.template.js.map +0 -1
- package/dist/esm/components/filter-pill/index.js.map +0 -1
- package/dist/esm/components/image/define.js.map +0 -1
- package/dist/esm/components/image/image.definition.js.map +0 -1
- package/dist/esm/components/image/image.js.map +0 -1
- package/dist/esm/components/image/image.options.js.map +0 -1
- package/dist/esm/components/image/index.js.map +0 -1
- package/dist/esm/components/label/define.js.map +0 -1
- package/dist/esm/components/label/index.js.map +0 -1
- package/dist/esm/components/label/label.definition.js.map +0 -1
- package/dist/esm/components/label/label.js.map +0 -1
- package/dist/esm/components/label/label.options.js.map +0 -1
- package/dist/esm/components/link/define.js.map +0 -1
- package/dist/esm/components/link/index.js +0 -4
- package/dist/esm/components/link/index.js.map +0 -1
- package/dist/esm/components/link/link.definition.js +0 -19
- package/dist/esm/components/link/link.definition.js.map +0 -1
- package/dist/esm/components/link/link.js +0 -51
- package/dist/esm/components/link/link.js.map +0 -1
- package/dist/esm/components/link/link.options.js.map +0 -1
- package/dist/esm/components/listbox/define.js.map +0 -1
- package/dist/esm/components/listbox/index.js.map +0 -1
- package/dist/esm/components/listbox/listbox.definition.js.map +0 -1
- package/dist/esm/components/listbox/listbox.js +0 -209
- package/dist/esm/components/listbox/listbox.js.map +0 -1
- package/dist/esm/components/listbox/listbox.styles.js.map +0 -1
- package/dist/esm/components/loading-button/define.js +0 -4
- package/dist/esm/components/loading-button/define.js.map +0 -1
- package/dist/esm/components/loading-button/index.js.map +0 -1
- package/dist/esm/components/loading-button/loading-button.definition.js +0 -22
- package/dist/esm/components/loading-button/loading-button.definition.js.map +0 -1
- package/dist/esm/components/loading-button/loading-button.js +0 -62
- package/dist/esm/components/loading-button/loading-button.js.map +0 -1
- package/dist/esm/components/loading-button/loading-button.styles.js.map +0 -1
- package/dist/esm/components/loading-button/loading-button.template.js.map +0 -1
- package/dist/esm/components/menu/define.js.map +0 -1
- package/dist/esm/components/menu/index.js.map +0 -1
- package/dist/esm/components/menu/menu.definition.js.map +0 -1
- package/dist/esm/components/menu/menu.js +0 -626
- package/dist/esm/components/menu/menu.js.map +0 -1
- package/dist/esm/components/menu/menu.options.js.map +0 -1
- package/dist/esm/components/menu/menu.positioning.js +0 -118
- package/dist/esm/components/menu/menu.positioning.js.map +0 -1
- package/dist/esm/components/menu/menu.styles.js +0 -13
- package/dist/esm/components/menu/menu.styles.js.map +0 -1
- package/dist/esm/components/menu/menu.template.js.map +0 -1
- package/dist/esm/components/menu-button/define.js.map +0 -1
- package/dist/esm/components/menu-button/index.js.map +0 -1
- package/dist/esm/components/menu-button/menu-button.definition.js.map +0 -1
- package/dist/esm/components/menu-button/menu-button.js.map +0 -1
- package/dist/esm/components/menu-button/menu-button.options.js.map +0 -1
- package/dist/esm/components/menu-item/define.js.map +0 -1
- package/dist/esm/components/menu-item/index.js +0 -6
- package/dist/esm/components/menu-item/index.js.map +0 -1
- package/dist/esm/components/menu-item/menu-item.definition.js.map +0 -1
- package/dist/esm/components/menu-item/menu-item.js +0 -371
- package/dist/esm/components/menu-item/menu-item.js.map +0 -1
- package/dist/esm/components/menu-item/menu-item.options.js +0 -44
- package/dist/esm/components/menu-item/menu-item.options.js.map +0 -1
- package/dist/esm/components/menu-item/menu-item.styles.js +0 -17
- package/dist/esm/components/menu-item/menu-item.styles.js.map +0 -1
- package/dist/esm/components/menu-item/menu-item.template.js.map +0 -1
- package/dist/esm/components/menu-list/define.js.map +0 -1
- package/dist/esm/components/menu-list/index.js.map +0 -1
- package/dist/esm/components/menu-list/menu-list.definition.js.map +0 -1
- package/dist/esm/components/menu-list/menu-list.js.map +0 -1
- package/dist/esm/components/menu-list/menu-list.styles.js.map +0 -1
- package/dist/esm/components/menu-list/menu-list.template.js.map +0 -1
- package/dist/esm/components/message-bar/define.js.map +0 -1
- package/dist/esm/components/message-bar/index.js.map +0 -1
- package/dist/esm/components/message-bar/message-bar.definition.js.map +0 -1
- package/dist/esm/components/message-bar/message-bar.js.map +0 -1
- package/dist/esm/components/multi-view/define.js.map +0 -1
- package/dist/esm/components/multi-view/index.js.map +0 -1
- package/dist/esm/components/multi-view/multi-view.definition.js.map +0 -1
- package/dist/esm/components/multi-view/multi-view.js.map +0 -1
- package/dist/esm/components/multi-view/multi-view.options.js.map +0 -1
- package/dist/esm/components/multi-view/multi-view.styles.js +0 -12
- package/dist/esm/components/multi-view/multi-view.styles.js.map +0 -1
- package/dist/esm/components/multi-view/multi-view.template.js.map +0 -1
- package/dist/esm/components/multi-view-controller/define.js.map +0 -1
- package/dist/esm/components/multi-view-controller/index.js.map +0 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.definition.js.map +0 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.js.map +0 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js +0 -11
- package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js.map +0 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.template.js.map +0 -1
- package/dist/esm/components/multi-view-group/define.js.map +0 -1
- package/dist/esm/components/multi-view-group/index.js.map +0 -1
- package/dist/esm/components/multi-view-group/multi-view-group.definition.js.map +0 -1
- package/dist/esm/components/multi-view-group/multi-view-group.js +0 -689
- package/dist/esm/components/multi-view-group/multi-view-group.js.map +0 -1
- package/dist/esm/components/multi-view-group/multi-view-group.options.js.map +0 -1
- package/dist/esm/components/multi-view-group/multi-view-group.styles.js +0 -11
- package/dist/esm/components/multi-view-group/multi-view-group.styles.js.map +0 -1
- package/dist/esm/components/multi-view-group/multi-view-group.template.js.map +0 -1
- package/dist/esm/components/option/define.js.map +0 -1
- package/dist/esm/components/option/index.js.map +0 -1
- package/dist/esm/components/option/option.definition.js.map +0 -1
- package/dist/esm/components/option/option.js.map +0 -1
- package/dist/esm/components/option-group/define.js.map +0 -1
- package/dist/esm/components/option-group/index.js.map +0 -1
- package/dist/esm/components/option-group/option-group.definition.js.map +0 -1
- package/dist/esm/components/option-group/option-group.js.map +0 -1
- package/dist/esm/components/option-group/option-group.options.js.map +0 -1
- package/dist/esm/components/option-group/option-group.styles.js.map +0 -1
- package/dist/esm/components/option-group/option-group.template.js.map +0 -1
- package/dist/esm/components/patterns/aria-globals.js.map +0 -1
- package/dist/esm/components/popover/define.js.map +0 -1
- package/dist/esm/components/popover/index.js.map +0 -1
- package/dist/esm/components/popover/popover.definition.js.map +0 -1
- package/dist/esm/components/popover/popover.js.map +0 -1
- package/dist/esm/components/popover/popover.options.js.map +0 -1
- package/dist/esm/components/popover/popover.positioning.js.map +0 -1
- package/dist/esm/components/popover/popover.styles.js.map +0 -1
- package/dist/esm/components/popover/popover.template.js.map +0 -1
- package/dist/esm/components/progress-bar/define.js.map +0 -1
- package/dist/esm/components/progress-bar/index.js.map +0 -1
- package/dist/esm/components/progress-bar/progress-bar.definition.js.map +0 -1
- package/dist/esm/components/progress-bar/progress-bar.js.map +0 -1
- package/dist/esm/components/progress-bar/progress-bar.options.js.map +0 -1
- package/dist/esm/components/radio/define.js.map +0 -1
- package/dist/esm/components/radio/index.js.map +0 -1
- package/dist/esm/components/radio/radio.definition.js.map +0 -1
- package/dist/esm/components/radio/radio.js.map +0 -1
- package/dist/esm/components/radio-group/define.js.map +0 -1
- package/dist/esm/components/radio-group/index.js.map +0 -1
- package/dist/esm/components/radio-group/radio-group.definition.js.map +0 -1
- package/dist/esm/components/radio-group/radio-group.js.map +0 -1
- package/dist/esm/components/radio-group/radio-group.options.js.map +0 -1
- package/dist/esm/components/rating-display/define.js.map +0 -1
- package/dist/esm/components/rating-display/index.js.map +0 -1
- package/dist/esm/components/rating-display/rating-display.definition.js.map +0 -1
- package/dist/esm/components/rating-display/rating-display.js.map +0 -1
- package/dist/esm/components/rating-display/rating-display.options.js.map +0 -1
- package/dist/esm/components/search-box/define.js.map +0 -1
- package/dist/esm/components/search-box/index.js.map +0 -1
- package/dist/esm/components/search-box/search-box.definition.js +0 -21
- package/dist/esm/components/search-box/search-box.definition.js.map +0 -1
- package/dist/esm/components/search-box/search-box.js +0 -181
- package/dist/esm/components/search-box/search-box.js.map +0 -1
- package/dist/esm/components/search-box/search-box.options.js.map +0 -1
- package/dist/esm/components/search-box/search-box.styles.js +0 -11
- package/dist/esm/components/search-box/search-box.styles.js.map +0 -1
- package/dist/esm/components/search-box/search-box.template.js +0 -17
- package/dist/esm/components/search-box/search-box.template.js.map +0 -1
- package/dist/esm/components/simple-table/define.js.map +0 -1
- package/dist/esm/components/simple-table/index.js.map +0 -1
- package/dist/esm/components/simple-table/simple-table.definition.js.map +0 -1
- package/dist/esm/components/simple-table/simple-table.js.map +0 -1
- package/dist/esm/components/simple-table/simple-table.styles.js +0 -12
- package/dist/esm/components/simple-table/simple-table.styles.js.map +0 -1
- package/dist/esm/components/slider/define.js.map +0 -1
- package/dist/esm/components/slider/index.js.map +0 -1
- package/dist/esm/components/slider/slider.definition.js.map +0 -1
- package/dist/esm/components/slider/slider.js.map +0 -1
- package/dist/esm/components/slider/slider.options.js.map +0 -1
- package/dist/esm/components/spinner/define.js.map +0 -1
- package/dist/esm/components/spinner/index.js.map +0 -1
- package/dist/esm/components/spinner/spinner.definition.js.map +0 -1
- package/dist/esm/components/spinner/spinner.js.map +0 -1
- package/dist/esm/components/spinner/spinner.options.js.map +0 -1
- package/dist/esm/components/styles/index.js.map +0 -1
- package/dist/esm/components/styles/states/states.js +0 -638
- package/dist/esm/components/styles/states/states.js.map +0 -1
- package/dist/esm/components/svg-icon/define.js.map +0 -1
- package/dist/esm/components/svg-icon/index.js.map +0 -1
- package/dist/esm/components/svg-icon/scripts/sprite-builder.js.map +0 -1
- package/dist/esm/components/svg-icon/scripts/svg-list.js.map +0 -1
- package/dist/esm/components/svg-icon/scripts/svg-sanitizer.js.map +0 -1
- package/dist/esm/components/svg-icon/services/svg-service.js.map +0 -1
- package/dist/esm/components/svg-icon/svg-icon.definition.js.map +0 -1
- package/dist/esm/components/svg-icon/svg-icon.js.map +0 -1
- package/dist/esm/components/svg-icon/svg-icon.styles.js.map +0 -1
- package/dist/esm/components/svg-icon/svg-icon.template.js.map +0 -1
- package/dist/esm/components/switch/define.js.map +0 -1
- package/dist/esm/components/switch/index.js.map +0 -1
- package/dist/esm/components/switch/switch.definition.js.map +0 -1
- package/dist/esm/components/switch/switch.js.map +0 -1
- package/dist/esm/components/switch/switch.options.js.map +0 -1
- package/dist/esm/components/tab/define.js.map +0 -1
- package/dist/esm/components/tab/index.js.map +0 -1
- package/dist/esm/components/tab/tab.definition.js.map +0 -1
- package/dist/esm/components/tab/tab.js.map +0 -1
- package/dist/esm/components/table/define.js.map +0 -1
- package/dist/esm/components/table/index.js.map +0 -1
- package/dist/esm/components/table/table.definition.js +0 -15
- package/dist/esm/components/table/table.definition.js.map +0 -1
- package/dist/esm/components/table/table.js +0 -491
- package/dist/esm/components/table/table.js.map +0 -1
- package/dist/esm/components/table/table.options.js.map +0 -1
- package/dist/esm/components/table/table.styles.js.map +0 -1
- package/dist/esm/components/table/table.template.js.map +0 -1
- package/dist/esm/components/table-cell/define.js.map +0 -1
- package/dist/esm/components/table-cell/index.js.map +0 -1
- package/dist/esm/components/table-cell/table-cell.definition.js.map +0 -1
- package/dist/esm/components/table-cell/table-cell.js.map +0 -1
- package/dist/esm/components/table-cell/table-cell.options.js.map +0 -1
- package/dist/esm/components/table-cell/table-cell.styles.js.map +0 -1
- package/dist/esm/components/table-cell/table-cell.template.js.map +0 -1
- package/dist/esm/components/tablist/define.js.map +0 -1
- package/dist/esm/components/tablist/index.js.map +0 -1
- package/dist/esm/components/tablist/tablist.definition.js.map +0 -1
- package/dist/esm/components/tablist/tablist.js.map +0 -1
- package/dist/esm/components/tablist/tablist.options.js.map +0 -1
- package/dist/esm/components/tag/define.js.map +0 -1
- package/dist/esm/components/tag/index.js.map +0 -1
- package/dist/esm/components/tag/tag.definition.js +0 -21
- package/dist/esm/components/tag/tag.definition.js.map +0 -1
- package/dist/esm/components/tag/tag.js +0 -322
- package/dist/esm/components/tag/tag.js.map +0 -1
- package/dist/esm/components/tag/tag.options.js.map +0 -1
- package/dist/esm/components/tag/tag.styles.js.map +0 -1
- package/dist/esm/components/tag/tag.template.js.map +0 -1
- package/dist/esm/components/teaching-bubble/define.js.map +0 -1
- package/dist/esm/components/teaching-bubble/index.js.map +0 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.definition.js.map +0 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.js.map +0 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.options.js.map +0 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js.map +0 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.template.js.map +0 -1
- package/dist/esm/components/text/define.js.map +0 -1
- package/dist/esm/components/text/index.js.map +0 -1
- package/dist/esm/components/text/text.definition.js.map +0 -1
- package/dist/esm/components/text/text.js.map +0 -1
- package/dist/esm/components/text/text.options.js.map +0 -1
- package/dist/esm/components/text-input/define.js.map +0 -1
- package/dist/esm/components/text-input/index.js.map +0 -1
- package/dist/esm/components/text-input/text-input.base.js.map +0 -1
- package/dist/esm/components/text-input/text-input.definition.js.map +0 -1
- package/dist/esm/components/text-input/text-input.js.map +0 -1
- package/dist/esm/components/text-input/text-input.options.js.map +0 -1
- package/dist/esm/components/text-input/text-input.styles.js +0 -15
- package/dist/esm/components/text-input/text-input.styles.js.map +0 -1
- package/dist/esm/components/text-input/text-input.template.js.map +0 -1
- package/dist/esm/components/textarea/define.js.map +0 -1
- package/dist/esm/components/textarea/index.js.map +0 -1
- package/dist/esm/components/textarea/textarea.definition.js.map +0 -1
- package/dist/esm/components/textarea/textarea.js.map +0 -1
- package/dist/esm/components/textarea/textarea.options.js.map +0 -1
- package/dist/esm/components/toggle-button/define.js.map +0 -1
- package/dist/esm/components/toggle-button/index.js.map +0 -1
- package/dist/esm/components/toggle-button/toggle-button.definition.js.map +0 -1
- package/dist/esm/components/toggle-button/toggle-button.js.map +0 -1
- package/dist/esm/components/toggle-button/toggle-button.options.js.map +0 -1
- package/dist/esm/components/tooltip/define.js.map +0 -1
- package/dist/esm/components/tooltip/index.js.map +0 -1
- package/dist/esm/components/tooltip/tooltip.definition.js.map +0 -1
- package/dist/esm/components/tooltip/tooltip.js +0 -118
- package/dist/esm/components/tooltip/tooltip.js.map +0 -1
- package/dist/esm/components/tooltip/tooltip.options.js.map +0 -1
- package/dist/esm/components/tooltip/tooltip.template.js.map +0 -1
- package/dist/esm/components/tree/define.js.map +0 -1
- package/dist/esm/components/tree/index.js.map +0 -1
- package/dist/esm/components/tree/tree.definition.js.map +0 -1
- package/dist/esm/components/tree/tree.js +0 -82
- package/dist/esm/components/tree/tree.js.map +0 -1
- package/dist/esm/components/tree-item/define.js.map +0 -1
- package/dist/esm/components/tree-item/index.js.map +0 -1
- package/dist/esm/components/tree-item/tree-item.definition.js.map +0 -1
- package/dist/esm/components/tree-item/tree-item.js +0 -59
- package/dist/esm/components/tree-item/tree-item.js.map +0 -1
- package/dist/esm/components/tree-item/tree-item.styles.js.map +0 -1
- package/dist/esm/components/tree-item/tree-item.template.js +0 -6
- package/dist/esm/components/tree-item/tree-item.template.js.map +0 -1
- package/dist/esm/components/wizard/define.js.map +0 -1
- package/dist/esm/components/wizard/index.js.map +0 -1
- package/dist/esm/components/wizard/wizard.definition.js.map +0 -1
- package/dist/esm/components/wizard/wizard.js.map +0 -1
- package/dist/esm/components/wizard/wizard.options.js.map +0 -1
- package/dist/esm/components/wizard/wizard.styles.js.map +0 -1
- package/dist/esm/components/wizard/wizard.template.js.map +0 -1
- package/dist/esm/components/wizard-panel/define.js.map +0 -1
- package/dist/esm/components/wizard-panel/index.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.cem.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.definition.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.options.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.styles.js.map +0 -1
- package/dist/esm/components/wizard-panel/wizard-panel.template.js.map +0 -1
- package/dist/esm/components/wizard-step/define.js.map +0 -1
- package/dist/esm/components/wizard-step/index.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.definition.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.options.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.styles.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.template.js.map +0 -1
- package/dist/esm/components/wizard-step/wizard-step.unit.component.js.map +0 -1
- package/dist/esm/index.js +0 -234
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/static/component-svgs.js +0 -6
- package/dist/esm/static/component-svgs.js.map +0 -1
- package/dist/esm/util/accessibility-utilities.js.map +0 -1
- package/dist/esm/util/apply-mixins.js.map +0 -1
- package/dist/esm/util/attribute-utilities.js.map +0 -1
- package/dist/esm/util/debounce.js.map +0 -1
- package/dist/esm/util/debug.js.map +0 -1
- package/dist/esm/util/descendants.js.map +0 -1
- package/dist/esm/util/direction.js.map +0 -1
- package/dist/esm/util/dom.js.map +0 -1
- package/dist/esm/util/element-internal-mocks.js.map +0 -1
- package/dist/esm/util/element-internals.js.map +0 -1
- package/dist/esm/util/focus-management.js.map +0 -1
- package/dist/esm/util/hash-utilities.js.map +0 -1
- package/dist/esm/util/index.js +0 -18
- package/dist/esm/util/index.js.map +0 -1
- package/dist/esm/util/match-media-stylesheet-behaviors.js.map +0 -1
- package/dist/esm/util/positioning/flexible-position-strategy.js +0 -232
- package/dist/esm/util/positioning/flexible-position-strategy.js.map +0 -1
- package/dist/esm/util/positioning/index.js.map +0 -1
- package/dist/esm/util/positioning/position-calculator.js.map +0 -1
- package/dist/esm/util/positioning/types.js.map +0 -1
- package/dist/esm/util/support.js.map +0 -1
- package/dist/esm/util/template-helpers.js.map +0 -1
- package/dist/esm/util/typings.js.map +0 -1
- package/dist/esm/util/whitespace-filter.js.map +0 -1
- package/dist/index.d.ts +0 -9778
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -18969
- package/dist/index.js.map +0 -1
- package/dist/index.min.js +0 -174
- package/dist/index.min.js.map +0 -1
- /package/{dist/dts → dts}/components/accordion/accordion.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion/accordion.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion/accordion.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-item/accordion-item.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-item/accordion-item.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-item/accordion-item.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-item/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-item/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/accordion-menu-panel/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/anchor-button/anchor-button.d.ts +0 -0
- /package/{dist/dts → dts}/components/anchor-button/anchor-button.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/anchor-button/anchor-button.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/anchor-button/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/anchor-button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/avatar/avatar.d.ts +0 -0
- /package/{dist/dts → dts}/components/avatar/avatar.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/avatar/avatar.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/avatar/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/avatar/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/badge/badge.d.ts +0 -0
- /package/{dist/dts → dts}/components/badge/badge.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/badge/badge.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/badge/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/badge/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/button.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/button.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/button.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/button.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/card.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/card.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/card.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/card.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/card.template.d.ts +0 -0
- /package/{dist/dts/components/carousel → dts/components/card}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/card/index.d.ts +0 -0
- /package/{dist/dts/components/card-footer → dts/components/card-carousel}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-footer/card-footer.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-footer/card-footer.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-footer/card-footer.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-footer/card-footer.template.d.ts +0 -0
- /package/{dist/dts/components/card-header → dts/components/card-footer}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-footer/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-header/card-header.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-header/card-header.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-header/card-header.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-header/card-header.template.d.ts +0 -0
- /package/{dist/dts/components/card-preview → dts/components/card-header}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-header/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-preview/card-preview.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-preview/card-preview.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-preview/card-preview.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-preview/card-preview.template.d.ts +0 -0
- /package/{dist/dts/components/card → dts/components/card-preview}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/card-preview/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/carousel/carousel.template.d.ts +0 -0
- /package/{dist/dts/components/checkbox → dts/components/carousel-item}/define.d.ts +0 -0
- /package/{dist/dts/components/compound-button → dts/components/carousel-nav-item}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/checkbox/checkbox.d.ts +0 -0
- /package/{dist/dts → dts}/components/checkbox/checkbox.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/checkbox/checkbox.options.d.ts +0 -0
- /package/{dist/dts/components/counter-badge → dts/components/checkbox}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/checkbox/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/compound-button/compound-button.d.ts +0 -0
- /package/{dist/dts → dts}/components/compound-button/compound-button.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/compound-button/compound-button.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/compound-button/compound-button.styles.d.ts +0 -0
- /package/{dist/dts/components/dialog-body → dts/components/compound-button}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/compound-button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/counter-badge/counter-badge.d.ts +0 -0
- /package/{dist/dts → dts}/components/counter-badge/counter-badge.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/counter-badge/counter-badge.options.d.ts +0 -0
- /package/{dist/dts/components/dialog → dts/components/counter-badge}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/counter-badge/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/design-system.d.ts +0 -0
- /package/{dist/dts/components/drawer-body → dts/components/dialog}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog/dialog.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog/dialog.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog/dialog.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog/dialog.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog/index.d.ts +0 -0
- /package/{dist/dts/components/divider → dts/components/dialog-body}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog-body/dialog-body.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog-body/dialog-body.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/dialog-body/index.d.ts +0 -0
- /package/{dist/dts/components/drawer → dts/components/divider}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/divider.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/divider.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/divider.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/divider.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/divider.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/divider/index.d.ts +0 -0
- /package/{dist/dts/components/field → dts/components/drawer}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer/drawer.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer/drawer.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer/drawer.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer/index.d.ts +0 -0
- /package/{dist/dts/components/dropdown → dts/components/drawer-body}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer-body/drawer-body.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer-body/drawer-body.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/drawer-body/index.d.ts +0 -0
- /package/{dist/dts/components/filter-pill → dts/components/dropdown}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/dropdown/dropdown.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/dropdown/dropdown.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/dropdown/dropdown.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/dropdown/index.d.ts +0 -0
- /package/{dist/dts/components/image → dts/components/field}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/field/field.d.ts +0 -0
- /package/{dist/dts → dts}/components/field/field.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/field/field.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/field/field.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/field/index.d.ts +0 -0
- /package/{dist/dts/components/label → dts/components/filter-pill}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/filter-pill.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/filter-pill.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/filter-pill.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/filter-pill.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/filter-pill.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/filter-pill/index.d.ts +0 -0
- /package/{dist/dts/components/link → dts/components/image}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/image/image.d.ts +0 -0
- /package/{dist/dts → dts}/components/image/image.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/image/image.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/image/index.d.ts +0 -0
- /package/{dist/dts/components/listbox → dts/components/label}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/label/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/label/label.d.ts +0 -0
- /package/{dist/dts → dts}/components/label/label.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/label/label.options.d.ts +0 -0
- /package/{dist/dts/components/loading-button → dts/components/link}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/link/link.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/link/link.options.d.ts +0 -0
- /package/{dist/dts/components/menu-button → dts/components/listbox}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/listbox/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/listbox/listbox.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/listbox/listbox.styles.d.ts +0 -0
- /package/{dist/dts/components/menu-item → dts/components/loading-button}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/loading-button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/loading-button/loading-button.styles.d.ts +0 -0
- /package/{dist/dts/components/multi-view-controller → dts/components/menu}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/menu.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/menu.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/menu.positioning.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/menu.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu/menu.template.d.ts +0 -0
- /package/{dist/dts/components/menu-list → dts/components/menu-button}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-button/menu-button.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-button/menu-button.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-button/menu-button.options.d.ts +0 -0
- /package/{dist/dts/components/menu → dts/components/menu-item}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-item/menu-item.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-item/menu-item.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-item/menu-item.template.d.ts +0 -0
- /package/{dist/dts/components/message-bar → dts/components/menu-list}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-list/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-list/menu-list.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-list/menu-list.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-list/menu-list.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/menu-list/menu-list.template.d.ts +0 -0
- /package/{dist/dts/components/multi-view-group → dts/components/message-bar}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/message-bar/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/message-bar/message-bar.d.ts +0 -0
- /package/{dist/dts → dts}/components/message-bar/message-bar.definition.d.ts +0 -0
- /package/{dist/dts/components/option → dts/components/multi-view}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/multi-view.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/multi-view.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/multi-view.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/multi-view.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view/multi-view.template.d.ts +0 -0
- /package/{dist/dts/components/multi-view → dts/components/multi-view-controller}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-controller/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.template.d.ts +0 -0
- /package/{dist/dts/components/option-group → dts/components/multi-view-group}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.template.d.ts +0 -0
- /package/{dist/dts/components/progress-bar → dts/components/option}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/option/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/option/option.d.ts +0 -0
- /package/{dist/dts → dts}/components/option/option.definition.d.ts +0 -0
- /package/{dist/dts/components/popover → dts/components/option-group}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/option-group.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/option-group.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/option-group.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/option-group.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/option-group/option-group.template.d.ts +0 -0
- /package/{dist/dts/components/rating-display → dts/components/overflow}/define.d.ts +0 -0
- /package/{dist/dts/components/radio-group → dts/components/overflow-divider}/define.d.ts +0 -0
- /package/{dist/dts/components/radio → dts/components/overflow-item}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/patterns/aria-globals.d.ts +0 -0
- /package/{dist/dts/components/search-box → dts/components/popover}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.positioning.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/popover/popover.template.d.ts +0 -0
- /package/{dist/dts/components/simple-table → dts/components/progress-bar}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/progress-bar/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/progress-bar/progress-bar.d.ts +0 -0
- /package/{dist/dts → dts}/components/progress-bar/progress-bar.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/progress-bar/progress-bar.options.d.ts +0 -0
- /package/{dist/dts/components/spinner → dts/components/radio}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio/radio.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio/radio.definition.d.ts +0 -0
- /package/{dist/dts/components/slider → dts/components/radio-group}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio-group/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio-group/radio-group.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio-group/radio-group.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/radio-group/radio-group.options.d.ts +0 -0
- /package/{dist/dts/components/svg-icon → dts/components/rating-display}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/rating-display/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/rating-display/rating-display.d.ts +0 -0
- /package/{dist/dts → dts}/components/rating-display/rating-display.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/rating-display/rating-display.options.d.ts +0 -0
- /package/{dist/dts/components/switch → dts/components/search-box}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/search-box/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/search-box/search-box.d.ts +0 -0
- /package/{dist/dts → dts}/components/search-box/search-box.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/search-box/search-box.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/search-box/search-box.template.d.ts +0 -0
- /package/{dist/dts/components/tab → dts/components/simple-table}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/simple-table/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/simple-table/simple-table.d.ts +0 -0
- /package/{dist/dts → dts}/components/simple-table/simple-table.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/simple-table/simple-table.styles.d.ts +0 -0
- /package/{dist/dts/components/table-cell → dts/components/slider}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/slider/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/slider/slider.d.ts +0 -0
- /package/{dist/dts → dts}/components/slider/slider.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/slider/slider.options.d.ts +0 -0
- /package/{dist/dts/components/table → dts/components/spin-button}/define.d.ts +0 -0
- /package/{dist/dts/components/tablist → dts/components/spinner}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/spinner/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/spinner/spinner.d.ts +0 -0
- /package/{dist/dts → dts}/components/spinner/spinner.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/spinner/spinner.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/styles/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/styles/states/states.d.ts +0 -0
- /package/{dist/dts/components/tag → dts/components/svg-icon}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/scripts/sprite-builder.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/scripts/svg-list.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/scripts/svg-sanitizer.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/services/svg-service.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/svg-icon.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/svg-icon.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/svg-icon.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/svg-icon/svg-icon.template.d.ts +0 -0
- /package/{dist/dts/components/teaching-bubble → dts/components/switch}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/switch/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/switch/switch.d.ts +0 -0
- /package/{dist/dts → dts}/components/switch/switch.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/switch/switch.options.d.ts +0 -0
- /package/{dist/dts/components/text-input → dts/components/tab}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/tab/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tab/tab.d.ts +0 -0
- /package/{dist/dts → dts}/components/tab/tab.definition.d.ts +0 -0
- /package/{dist/dts/components/textarea → dts/components/table}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/table/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/table/table.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/table/table.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/table/table.template.d.ts +0 -0
- /package/{dist/dts/components/text → dts/components/table-cell}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/table-cell.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/table-cell.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/table-cell.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/table-cell.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/table-cell/table-cell.template.d.ts +0 -0
- /package/{dist/dts/components/toggle-button → dts/components/tablist}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/tablist/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tablist/tablist.d.ts +0 -0
- /package/{dist/dts → dts}/components/tablist/tablist.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/tablist/tablist.options.d.ts +0 -0
- /package/{dist/dts/components/tooltip → dts/components/tag}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/tag/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tag/tag.d.ts +0 -0
- /package/{dist/dts → dts}/components/tag/tag.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/tag/tag.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/tag/tag.template.d.ts +0 -0
- /package/{dist/dts/components/tree-item → dts/components/teaching-bubble}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.template.d.ts +0 -0
- /package/{dist/dts/components/wizard-panel → dts/components/text}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/text/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/text/text.d.ts +0 -0
- /package/{dist/dts → dts}/components/text/text.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/text/text.options.d.ts +0 -0
- /package/{dist/dts/components/tree → dts/components/text-input}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.base.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/text-input/text-input.template.d.ts +0 -0
- /package/{dist/dts/components/wizard-step → dts/components/textarea}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/textarea/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/textarea/textarea.d.ts +0 -0
- /package/{dist/dts → dts}/components/textarea/textarea.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/textarea/textarea.options.d.ts +0 -0
- /package/{dist/dts/components/wizard → dts/components/toggle-button}/define.d.ts +0 -0
- /package/{dist/dts → dts}/components/toggle-button/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/toggle-button/toggle-button.d.ts +0 -0
- /package/{dist/dts → dts}/components/toggle-button/toggle-button.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/toggle-button/toggle-button.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/tooltip/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tooltip/tooltip.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/tooltip/tooltip.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/tooltip/tooltip.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree/tree.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree/tree.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree-item/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree-item/tree-item.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree-item/tree-item.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/tree-item/tree-item.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/wizard.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/wizard.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/wizard.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/wizard.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard/wizard.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.cem.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/index.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.definition.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.options.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.styles.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.template.d.ts +0 -0
- /package/{dist/dts → dts}/components/wizard-step/wizard-step.unit.component.d.ts +0 -0
- /package/{dist/dts → dts}/util/accessibility-utilities.d.ts +0 -0
- /package/{dist/dts → dts}/util/apply-mixins.d.ts +0 -0
- /package/{dist/dts → dts}/util/attribute-utilities.d.ts +0 -0
- /package/{dist/dts → dts}/util/debounce.d.ts +0 -0
- /package/{dist/dts → dts}/util/debug.d.ts +0 -0
- /package/{dist/dts → dts}/util/descendants.d.ts +0 -0
- /package/{dist/dts → dts}/util/direction.d.ts +0 -0
- /package/{dist/dts → dts}/util/dom.d.ts +0 -0
- /package/{dist/dts → dts}/util/element-internal-mocks.d.ts +0 -0
- /package/{dist/dts → dts}/util/element-internals.d.ts +0 -0
- /package/{dist/dts → dts}/util/focus-management.d.ts +0 -0
- /package/{dist/dts → dts}/util/hash-utilities.d.ts +0 -0
- /package/{dist/dts → dts}/util/positioning/index.d.ts +0 -0
- /package/{dist/dts → dts}/util/positioning/position-calculator.d.ts +0 -0
- /package/{dist/dts → dts}/util/positioning/types.d.ts +0 -0
- /package/{dist/dts → dts}/util/support.d.ts +0 -0
- /package/{dist/dts → dts}/util/template-helpers.d.ts +0 -0
- /package/{dist/dts → dts}/util/typings.d.ts +0 -0
- /package/{dist/dts → dts}/util/whitespace-filter.d.ts +0 -0
- /package/{dist/esm → esm}/components/accordion/accordion.definition.js +0 -0
- /package/{dist/esm → esm}/components/accordion/accordion.js +0 -0
- /package/{dist/esm → esm}/components/accordion/accordion.options.js +0 -0
- /package/{dist/esm → esm}/components/accordion/define.js +0 -0
- /package/{dist/esm → esm}/components/accordion/index.js +0 -0
- /package/{dist/esm → esm}/components/accordion-item/accordion-item.definition.js +0 -0
- /package/{dist/esm → esm}/components/accordion-item/accordion-item.js +0 -0
- /package/{dist/esm → esm}/components/accordion-item/accordion-item.options.js +0 -0
- /package/{dist/esm → esm}/components/accordion-item/define.js +0 -0
- /package/{dist/esm → esm}/components/accordion-item/index.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.definition.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.options.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.styles.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.template.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/define.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu/index.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.definition.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.options.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu-panel/define.js +0 -0
- /package/{dist/esm → esm}/components/accordion-menu-panel/index.js +0 -0
- /package/{dist/esm → esm}/components/anchor-button/anchor-button.definition.js +0 -0
- /package/{dist/esm → esm}/components/anchor-button/anchor-button.js +0 -0
- /package/{dist/esm → esm}/components/anchor-button/anchor-button.options.js +0 -0
- /package/{dist/esm → esm}/components/anchor-button/define.js +0 -0
- /package/{dist/esm → esm}/components/anchor-button/index.js +0 -0
- /package/{dist/esm → esm}/components/avatar/avatar.definition.js +0 -0
- /package/{dist/esm → esm}/components/avatar/avatar.js +0 -0
- /package/{dist/esm → esm}/components/avatar/avatar.options.js +0 -0
- /package/{dist/esm → esm}/components/avatar/define.js +0 -0
- /package/{dist/esm → esm}/components/avatar/index.js +0 -0
- /package/{dist/esm → esm}/components/badge/badge.definition.js +0 -0
- /package/{dist/esm → esm}/components/badge/badge.js +0 -0
- /package/{dist/esm → esm}/components/badge/badge.options.js +0 -0
- /package/{dist/esm → esm}/components/badge/define.js +0 -0
- /package/{dist/esm → esm}/components/badge/index.js +0 -0
- /package/{dist/esm → esm}/components/button/button.definition.js +0 -0
- /package/{dist/esm → esm}/components/button/button.js +0 -0
- /package/{dist/esm → esm}/components/button/button.options.js +0 -0
- /package/{dist/esm → esm}/components/button/define.js +0 -0
- /package/{dist/esm → esm}/components/button/index.js +0 -0
- /package/{dist/esm → esm}/components/card/card.definition.js +0 -0
- /package/{dist/esm → esm}/components/card/card.js +0 -0
- /package/{dist/esm → esm}/components/card/card.options.js +0 -0
- /package/{dist/esm → esm}/components/card/card.styles.js +0 -0
- /package/{dist/esm → esm}/components/card/card.template.js +0 -0
- /package/{dist/esm → esm}/components/card/define.js +0 -0
- /package/{dist/esm → esm}/components/card/index.js +0 -0
- /package/{dist/esm/components/carousel/carousel.styles.js → esm/components/card-carousel/card-carousel.styles.js} +0 -0
- /package/{dist/esm → esm}/components/card-footer/card-footer.definition.js +0 -0
- /package/{dist/esm → esm}/components/card-footer/card-footer.js +0 -0
- /package/{dist/esm → esm}/components/card-footer/card-footer.styles.js +0 -0
- /package/{dist/esm → esm}/components/card-footer/card-footer.template.js +0 -0
- /package/{dist/esm → esm}/components/card-footer/define.js +0 -0
- /package/{dist/esm → esm}/components/card-footer/index.js +0 -0
- /package/{dist/esm → esm}/components/card-header/card-header.definition.js +0 -0
- /package/{dist/esm → esm}/components/card-header/card-header.js +0 -0
- /package/{dist/esm → esm}/components/card-header/card-header.styles.js +0 -0
- /package/{dist/esm → esm}/components/card-header/card-header.template.js +0 -0
- /package/{dist/esm → esm}/components/card-header/define.js +0 -0
- /package/{dist/esm → esm}/components/card-header/index.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/card-preview.definition.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/card-preview.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/card-preview.styles.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/card-preview.template.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/define.js +0 -0
- /package/{dist/esm → esm}/components/card-preview/index.js +0 -0
- /package/{dist/esm → esm}/components/checkbox/checkbox.definition.js +0 -0
- /package/{dist/esm → esm}/components/checkbox/checkbox.js +0 -0
- /package/{dist/esm → esm}/components/checkbox/checkbox.options.js +0 -0
- /package/{dist/esm → esm}/components/checkbox/define.js +0 -0
- /package/{dist/esm → esm}/components/checkbox/index.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/compound-button.definition.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/compound-button.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/compound-button.options.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/compound-button.styles.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/define.js +0 -0
- /package/{dist/esm → esm}/components/compound-button/index.js +0 -0
- /package/{dist/esm → esm}/components/counter-badge/counter-badge.definition.js +0 -0
- /package/{dist/esm → esm}/components/counter-badge/counter-badge.js +0 -0
- /package/{dist/esm → esm}/components/counter-badge/counter-badge.options.js +0 -0
- /package/{dist/esm → esm}/components/counter-badge/define.js +0 -0
- /package/{dist/esm → esm}/components/counter-badge/index.js +0 -0
- /package/{dist/esm → esm}/components/design-system.js +0 -0
- /package/{dist/esm → esm}/components/dialog/define.js +0 -0
- /package/{dist/esm → esm}/components/dialog/dialog.definition.js +0 -0
- /package/{dist/esm → esm}/components/dialog/dialog.js +0 -0
- /package/{dist/esm → esm}/components/dialog/dialog.options.js +0 -0
- /package/{dist/esm → esm}/components/dialog/dialog.styles.js +0 -0
- /package/{dist/esm → esm}/components/dialog/index.js +0 -0
- /package/{dist/esm → esm}/components/dialog-body/define.js +0 -0
- /package/{dist/esm → esm}/components/dialog-body/dialog-body.definition.js +0 -0
- /package/{dist/esm → esm}/components/dialog-body/dialog-body.js +0 -0
- /package/{dist/esm → esm}/components/dialog-body/index.js +0 -0
- /package/{dist/esm → esm}/components/divider/define.js +0 -0
- /package/{dist/esm → esm}/components/divider/divider.definition.js +0 -0
- /package/{dist/esm → esm}/components/divider/divider.js +0 -0
- /package/{dist/esm → esm}/components/divider/divider.options.js +0 -0
- /package/{dist/esm → esm}/components/divider/divider.styles.js +0 -0
- /package/{dist/esm → esm}/components/divider/divider.template.js +0 -0
- /package/{dist/esm → esm}/components/divider/index.js +0 -0
- /package/{dist/esm → esm}/components/drawer/define.js +0 -0
- /package/{dist/esm → esm}/components/drawer/drawer.definition.js +0 -0
- /package/{dist/esm → esm}/components/drawer/drawer.js +0 -0
- /package/{dist/esm → esm}/components/drawer/drawer.options.js +0 -0
- /package/{dist/esm → esm}/components/drawer/index.js +0 -0
- /package/{dist/esm → esm}/components/drawer-body/define.js +0 -0
- /package/{dist/esm → esm}/components/drawer-body/drawer-body.definition.js +0 -0
- /package/{dist/esm → esm}/components/drawer-body/drawer-body.js +0 -0
- /package/{dist/esm → esm}/components/drawer-body/index.js +0 -0
- /package/{dist/esm → esm}/components/dropdown/define.js +0 -0
- /package/{dist/esm → esm}/components/dropdown/dropdown.definition.js +0 -0
- /package/{dist/esm → esm}/components/dropdown/dropdown.options.js +0 -0
- /package/{dist/esm → esm}/components/dropdown/index.js +0 -0
- /package/{dist/esm → esm}/components/field/define.js +0 -0
- /package/{dist/esm → esm}/components/field/field.definition.js +0 -0
- /package/{dist/esm → esm}/components/field/field.js +0 -0
- /package/{dist/esm → esm}/components/field/field.options.js +0 -0
- /package/{dist/esm → esm}/components/field/field.styles.js +0 -0
- /package/{dist/esm → esm}/components/field/index.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/define.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/filter-pill.definition.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/filter-pill.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/filter-pill.options.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/filter-pill.template.js +0 -0
- /package/{dist/esm → esm}/components/filter-pill/index.js +0 -0
- /package/{dist/esm → esm}/components/image/define.js +0 -0
- /package/{dist/esm → esm}/components/image/image.definition.js +0 -0
- /package/{dist/esm → esm}/components/image/image.js +0 -0
- /package/{dist/esm → esm}/components/image/image.options.js +0 -0
- /package/{dist/esm → esm}/components/image/index.js +0 -0
- /package/{dist/esm → esm}/components/label/define.js +0 -0
- /package/{dist/esm → esm}/components/label/index.js +0 -0
- /package/{dist/esm → esm}/components/label/label.definition.js +0 -0
- /package/{dist/esm → esm}/components/label/label.js +0 -0
- /package/{dist/esm → esm}/components/label/label.options.js +0 -0
- /package/{dist/esm → esm}/components/link/define.js +0 -0
- /package/{dist/esm → esm}/components/link/link.options.js +0 -0
- /package/{dist/esm → esm}/components/listbox/define.js +0 -0
- /package/{dist/esm → esm}/components/listbox/index.js +0 -0
- /package/{dist/esm → esm}/components/listbox/listbox.definition.js +0 -0
- /package/{dist/esm → esm}/components/listbox/listbox.styles.js +0 -0
- /package/{dist/esm → esm}/components/loading-button/index.js +0 -0
- /package/{dist/esm → esm}/components/loading-button/loading-button.styles.js +0 -0
- /package/{dist/esm → esm}/components/loading-button/loading-button.template.js +0 -0
- /package/{dist/esm → esm}/components/menu/define.js +0 -0
- /package/{dist/esm → esm}/components/menu/index.js +0 -0
- /package/{dist/esm → esm}/components/menu/menu.definition.js +0 -0
- /package/{dist/esm → esm}/components/menu/menu.options.js +0 -0
- /package/{dist/esm → esm}/components/menu/menu.template.js +0 -0
- /package/{dist/esm → esm}/components/menu-button/define.js +0 -0
- /package/{dist/esm → esm}/components/menu-button/index.js +0 -0
- /package/{dist/esm → esm}/components/menu-button/menu-button.definition.js +0 -0
- /package/{dist/esm → esm}/components/menu-button/menu-button.js +0 -0
- /package/{dist/esm → esm}/components/menu-button/menu-button.options.js +0 -0
- /package/{dist/esm → esm}/components/menu-item/define.js +0 -0
- /package/{dist/esm → esm}/components/menu-item/menu-item.definition.js +0 -0
- /package/{dist/esm → esm}/components/menu-item/menu-item.template.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/define.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/index.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/menu-list.definition.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/menu-list.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/menu-list.styles.js +0 -0
- /package/{dist/esm → esm}/components/menu-list/menu-list.template.js +0 -0
- /package/{dist/esm → esm}/components/message-bar/define.js +0 -0
- /package/{dist/esm → esm}/components/message-bar/index.js +0 -0
- /package/{dist/esm → esm}/components/message-bar/message-bar.definition.js +0 -0
- /package/{dist/esm → esm}/components/message-bar/message-bar.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/define.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/index.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/multi-view.definition.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/multi-view.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/multi-view.options.js +0 -0
- /package/{dist/esm → esm}/components/multi-view/multi-view.template.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-controller/define.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-controller/index.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.definition.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.template.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-group/define.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-group/index.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.definition.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.options.js +0 -0
- /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.template.js +0 -0
- /package/{dist/esm → esm}/components/option/define.js +0 -0
- /package/{dist/esm → esm}/components/option/index.js +0 -0
- /package/{dist/esm → esm}/components/option/option.definition.js +0 -0
- /package/{dist/esm → esm}/components/option/option.js +0 -0
- /package/{dist/esm → esm}/components/option-group/define.js +0 -0
- /package/{dist/esm → esm}/components/option-group/index.js +0 -0
- /package/{dist/esm → esm}/components/option-group/option-group.definition.js +0 -0
- /package/{dist/esm → esm}/components/option-group/option-group.js +0 -0
- /package/{dist/esm → esm}/components/option-group/option-group.options.js +0 -0
- /package/{dist/esm → esm}/components/option-group/option-group.styles.js +0 -0
- /package/{dist/esm → esm}/components/option-group/option-group.template.js +0 -0
- /package/{dist/esm → esm}/components/patterns/aria-globals.js +0 -0
- /package/{dist/esm → esm}/components/popover/define.js +0 -0
- /package/{dist/esm → esm}/components/popover/index.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.definition.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.options.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.positioning.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.styles.js +0 -0
- /package/{dist/esm → esm}/components/popover/popover.template.js +0 -0
- /package/{dist/esm → esm}/components/progress-bar/define.js +0 -0
- /package/{dist/esm → esm}/components/progress-bar/index.js +0 -0
- /package/{dist/esm → esm}/components/progress-bar/progress-bar.definition.js +0 -0
- /package/{dist/esm → esm}/components/progress-bar/progress-bar.js +0 -0
- /package/{dist/esm → esm}/components/progress-bar/progress-bar.options.js +0 -0
- /package/{dist/esm → esm}/components/radio/define.js +0 -0
- /package/{dist/esm → esm}/components/radio/index.js +0 -0
- /package/{dist/esm → esm}/components/radio/radio.definition.js +0 -0
- /package/{dist/esm → esm}/components/radio/radio.js +0 -0
- /package/{dist/esm → esm}/components/radio-group/define.js +0 -0
- /package/{dist/esm → esm}/components/radio-group/index.js +0 -0
- /package/{dist/esm → esm}/components/radio-group/radio-group.definition.js +0 -0
- /package/{dist/esm → esm}/components/radio-group/radio-group.js +0 -0
- /package/{dist/esm → esm}/components/radio-group/radio-group.options.js +0 -0
- /package/{dist/esm → esm}/components/rating-display/define.js +0 -0
- /package/{dist/esm → esm}/components/rating-display/index.js +0 -0
- /package/{dist/esm → esm}/components/rating-display/rating-display.definition.js +0 -0
- /package/{dist/esm → esm}/components/rating-display/rating-display.js +0 -0
- /package/{dist/esm → esm}/components/rating-display/rating-display.options.js +0 -0
- /package/{dist/esm → esm}/components/search-box/define.js +0 -0
- /package/{dist/esm → esm}/components/search-box/index.js +0 -0
- /package/{dist/esm → esm}/components/search-box/search-box.options.js +0 -0
- /package/{dist/esm → esm}/components/simple-table/define.js +0 -0
- /package/{dist/esm → esm}/components/simple-table/index.js +0 -0
- /package/{dist/esm → esm}/components/simple-table/simple-table.definition.js +0 -0
- /package/{dist/esm → esm}/components/simple-table/simple-table.js +0 -0
- /package/{dist/esm → esm}/components/slider/define.js +0 -0
- /package/{dist/esm → esm}/components/slider/index.js +0 -0
- /package/{dist/esm → esm}/components/slider/slider.definition.js +0 -0
- /package/{dist/esm → esm}/components/slider/slider.js +0 -0
- /package/{dist/esm → esm}/components/slider/slider.options.js +0 -0
- /package/{dist/esm → esm}/components/spinner/define.js +0 -0
- /package/{dist/esm → esm}/components/spinner/index.js +0 -0
- /package/{dist/esm → esm}/components/spinner/spinner.definition.js +0 -0
- /package/{dist/esm → esm}/components/spinner/spinner.js +0 -0
- /package/{dist/esm → esm}/components/spinner/spinner.options.js +0 -0
- /package/{dist/esm → esm}/components/styles/index.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/define.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/index.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/scripts/sprite-builder.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/scripts/svg-list.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/scripts/svg-sanitizer.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/services/svg-service.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/svg-icon.definition.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/svg-icon.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/svg-icon.styles.js +0 -0
- /package/{dist/esm → esm}/components/svg-icon/svg-icon.template.js +0 -0
- /package/{dist/esm → esm}/components/switch/define.js +0 -0
- /package/{dist/esm → esm}/components/switch/index.js +0 -0
- /package/{dist/esm → esm}/components/switch/switch.definition.js +0 -0
- /package/{dist/esm → esm}/components/switch/switch.js +0 -0
- /package/{dist/esm → esm}/components/switch/switch.options.js +0 -0
- /package/{dist/esm → esm}/components/tab/define.js +0 -0
- /package/{dist/esm → esm}/components/tab/index.js +0 -0
- /package/{dist/esm → esm}/components/tab/tab.definition.js +0 -0
- /package/{dist/esm → esm}/components/tab/tab.js +0 -0
- /package/{dist/esm → esm}/components/table/define.js +0 -0
- /package/{dist/esm → esm}/components/table/index.js +0 -0
- /package/{dist/esm → esm}/components/table/table.options.js +0 -0
- /package/{dist/esm → esm}/components/table/table.styles.js +0 -0
- /package/{dist/esm → esm}/components/table/table.template.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/define.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/index.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/table-cell.definition.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/table-cell.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/table-cell.options.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/table-cell.styles.js +0 -0
- /package/{dist/esm → esm}/components/table-cell/table-cell.template.js +0 -0
- /package/{dist/esm → esm}/components/tablist/define.js +0 -0
- /package/{dist/esm → esm}/components/tablist/index.js +0 -0
- /package/{dist/esm → esm}/components/tablist/tablist.definition.js +0 -0
- /package/{dist/esm → esm}/components/tablist/tablist.js +0 -0
- /package/{dist/esm → esm}/components/tablist/tablist.options.js +0 -0
- /package/{dist/esm → esm}/components/tag/define.js +0 -0
- /package/{dist/esm → esm}/components/tag/index.js +0 -0
- /package/{dist/esm → esm}/components/tag/tag.options.js +0 -0
- /package/{dist/esm → esm}/components/tag/tag.styles.js +0 -0
- /package/{dist/esm → esm}/components/tag/tag.template.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/define.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/index.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.definition.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.options.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.styles.js +0 -0
- /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.template.js +0 -0
- /package/{dist/esm → esm}/components/text/define.js +0 -0
- /package/{dist/esm → esm}/components/text/index.js +0 -0
- /package/{dist/esm → esm}/components/text/text.definition.js +0 -0
- /package/{dist/esm → esm}/components/text/text.js +0 -0
- /package/{dist/esm → esm}/components/text/text.options.js +0 -0
- /package/{dist/esm → esm}/components/text-input/define.js +0 -0
- /package/{dist/esm → esm}/components/text-input/index.js +0 -0
- /package/{dist/esm → esm}/components/text-input/text-input.base.js +0 -0
- /package/{dist/esm → esm}/components/text-input/text-input.definition.js +0 -0
- /package/{dist/esm → esm}/components/text-input/text-input.js +0 -0
- /package/{dist/esm → esm}/components/text-input/text-input.options.js +0 -0
- /package/{dist/esm → esm}/components/text-input/text-input.template.js +0 -0
- /package/{dist/esm → esm}/components/textarea/define.js +0 -0
- /package/{dist/esm → esm}/components/textarea/index.js +0 -0
- /package/{dist/esm → esm}/components/textarea/textarea.definition.js +0 -0
- /package/{dist/esm → esm}/components/textarea/textarea.js +0 -0
- /package/{dist/esm → esm}/components/textarea/textarea.options.js +0 -0
- /package/{dist/esm → esm}/components/toggle-button/define.js +0 -0
- /package/{dist/esm → esm}/components/toggle-button/index.js +0 -0
- /package/{dist/esm → esm}/components/toggle-button/toggle-button.definition.js +0 -0
- /package/{dist/esm → esm}/components/toggle-button/toggle-button.js +0 -0
- /package/{dist/esm → esm}/components/toggle-button/toggle-button.options.js +0 -0
- /package/{dist/esm → esm}/components/tooltip/define.js +0 -0
- /package/{dist/esm → esm}/components/tooltip/index.js +0 -0
- /package/{dist/esm → esm}/components/tooltip/tooltip.definition.js +0 -0
- /package/{dist/esm → esm}/components/tooltip/tooltip.options.js +0 -0
- /package/{dist/esm → esm}/components/tooltip/tooltip.template.js +0 -0
- /package/{dist/esm → esm}/components/tree/define.js +0 -0
- /package/{dist/esm → esm}/components/tree/index.js +0 -0
- /package/{dist/esm → esm}/components/tree/tree.definition.js +0 -0
- /package/{dist/esm → esm}/components/tree-item/define.js +0 -0
- /package/{dist/esm → esm}/components/tree-item/index.js +0 -0
- /package/{dist/esm → esm}/components/tree-item/tree-item.definition.js +0 -0
- /package/{dist/esm → esm}/components/tree-item/tree-item.styles.js +0 -0
- /package/{dist/esm → esm}/components/wizard/define.js +0 -0
- /package/{dist/esm → esm}/components/wizard/index.js +0 -0
- /package/{dist/esm → esm}/components/wizard/wizard.definition.js +0 -0
- /package/{dist/esm → esm}/components/wizard/wizard.js +0 -0
- /package/{dist/esm → esm}/components/wizard/wizard.options.js +0 -0
- /package/{dist/esm → esm}/components/wizard/wizard.styles.js +0 -0
- /package/{dist/esm → esm}/components/wizard/wizard.template.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/define.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/index.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.cem.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.definition.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.options.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.styles.js +0 -0
- /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.template.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/define.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/index.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.definition.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.options.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.styles.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.template.js +0 -0
- /package/{dist/esm → esm}/components/wizard-step/wizard-step.unit.component.js +0 -0
- /package/{dist/esm → esm}/util/accessibility-utilities.js +0 -0
- /package/{dist/esm → esm}/util/apply-mixins.js +0 -0
- /package/{dist/esm → esm}/util/attribute-utilities.js +0 -0
- /package/{dist/esm → esm}/util/debounce.js +0 -0
- /package/{dist/esm → esm}/util/debug.js +0 -0
- /package/{dist/esm → esm}/util/descendants.js +0 -0
- /package/{dist/esm → esm}/util/direction.js +0 -0
- /package/{dist/esm → esm}/util/dom.js +0 -0
- /package/{dist/esm → esm}/util/element-internal-mocks.js +0 -0
- /package/{dist/esm → esm}/util/element-internals.js +0 -0
- /package/{dist/esm → esm}/util/focus-management.js +0 -0
- /package/{dist/esm → esm}/util/hash-utilities.js +0 -0
- /package/{dist/esm → esm}/util/match-media-stylesheet-behaviors.js +0 -0
- /package/{dist/esm → esm}/util/positioning/index.js +0 -0
- /package/{dist/esm → esm}/util/positioning/position-calculator.js +0 -0
- /package/{dist/esm → esm}/util/positioning/types.js +0 -0
- /package/{dist/esm → esm}/util/support.js +0 -0
- /package/{dist/esm → esm}/util/template-helpers.js +0 -0
- /package/{dist/esm → esm}/util/typings.js +0 -0
- /package/{dist/esm → esm}/util/whitespace-filter.js +0 -0
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../node_modules/@microsoft/fast-web-utilities/dist/dom.js","../../../node_modules/@microsoft/fast-web-utilities/dist/key-codes.js","../../../node_modules/@microsoft/fast-web-utilities/dist/localization.js","../../../node_modules/@microsoft/fast-web-utilities/dist/numbers.js","../../../node_modules/@microsoft/fast-web-utilities/dist/strings.js","../build/esm/libs/fabric-web-components/src/util/support.js","../build/esm/libs/fabric-web-components/src/util/element-internals.js","../build/esm/libs/fabric-web-components/src/components/menu-item/menu-item.options.js","../build/esm/libs/fabric-web-components/src/components/menu-item/menu-item.js","../build/esm/libs/fabric-web-components/src/components/menu-list/menu-list.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu-panel/accordion-menu-panel.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu/accordion-menu.options.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu/accordion-menu.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu/accordion-menu.template.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu/accordion-menu.styles.js","../build/esm/libs/fabric-web-components/src/components/design-system.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu/accordion-menu.definition.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu-panel/accordion-menu-panel.options.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu-panel/accordion-menu-panel.template.js","../build/esm/libs/fabric-web-components/src/components/styles/states/states.js","../../../node_modules/@fluentui/tokens/lib/global/colors.js","../../../node_modules/@fluentui/tokens/lib/global/colorPalette.js","../../../node_modules/@fluentui/tokens/lib/sharedColorNames.js","../../../node_modules/@fluentui/tokens/lib/statusColorMapping.js","../../../node_modules/@fluentui/tokens/lib/alias/lightColorPalette.js","../../../node_modules/@fluentui/tokens/lib/alias/lightColor.js","../../../node_modules/@fluentui/tokens/lib/global/borderRadius.js","../../../node_modules/@fluentui/tokens/lib/global/curves.js","../../../node_modules/@fluentui/tokens/lib/global/durations.js","../../../node_modules/@fluentui/tokens/lib/global/fonts.js","../../../node_modules/@fluentui/tokens/lib/global/spacings.js","../../../node_modules/@fluentui/tokens/lib/global/strokeWidths.js","../../../node_modules/@fluentui/tokens/lib/utils/shadows.js","../../../node_modules/@fluentui/tokens/lib/utils/createLightTheme.js","../../../node_modules/@fluentui/tokens/lib/global/brandColors.js","../../../node_modules/@fluentui/tokens/lib/alias/darkColorPalette.js","../../../node_modules/@fluentui/tokens/lib/themes/web/lightTheme.js","../../../node_modules/@fluentui/tokens/lib/alias/darkColor.js","../../../node_modules/@fluentui/tokens/lib/utils/createDarkTheme.js","../../../node_modules/@fluentui/tokens/lib/themes/web/darkTheme.js","../../theme/dist/fabricSemanticTokens.js","../../theme/dist/sizeTokens.js","../../theme/dist/theme.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu-panel/accordion-menu-panel.styles.js","../build/esm/libs/fabric-web-components/src/components/accordion-menu-panel/accordion-menu-panel.definition.js","../build/esm/libs/fabric-web-components/src/components/card/card.options.js","../../../node_modules/tabbable/dist/index.esm.js","../build/esm/libs/fabric-web-components/src/components/card/card.js","../build/esm/libs/fabric-web-components/src/components/card/card.styles.js","../build/esm/libs/fabric-web-components/src/components/card/card.template.js","../build/esm/libs/fabric-web-components/src/components/card/card.definition.js","../build/esm/libs/fabric-web-components/src/components/card-footer/card-footer.js","../build/esm/libs/fabric-web-components/src/components/card-footer/card-footer.styles.js","../build/esm/libs/fabric-web-components/src/components/card-footer/card-footer.template.js","../build/esm/libs/fabric-web-components/src/components/card-footer/card-footer.definition.js","../build/esm/libs/fabric-web-components/src/components/card-header/card-header.js","../build/esm/libs/fabric-web-components/src/components/card-header/card-header.styles.js","../build/esm/libs/fabric-web-components/src/components/card-header/card-header.template.js","../build/esm/libs/fabric-web-components/src/components/card-header/card-header.definition.js","../build/esm/libs/fabric-web-components/src/components/card-preview/card-preview.js","../build/esm/libs/fabric-web-components/src/components/card-preview/card-preview.styles.js","../build/esm/libs/fabric-web-components/src/components/card-preview/card-preview.template.js","../build/esm/libs/fabric-web-components/src/components/card-preview/card-preview.definition.js","../build/esm/libs/fabric-web-components/src/util/accessibility-utilities.js","../build/esm/libs/fabric-web-components/src/components/carousel/carousel.js","../build/esm/libs/fabric-web-components/src/components/carousel/carousel.styles.js","../build/esm/libs/fabric-web-components/src/components/carousel/carousel.template.js","../build/esm/libs/fabric-web-components/src/components/carousel/carousel.definition.js","../build/esm/libs/fabric-web-components/src/components/button/button.js","../build/esm/libs/fabric-web-components/src/components/button/button.options.js","../build/esm/libs/fabric-web-components/src/components/button/button.styles.js","../build/esm/libs/fabric-web-components/src/components/button/button.definition.js","../build/esm/libs/fabric-web-components/src/components/filter-pill/filter-pill.options.js","../build/esm/libs/fabric-web-components/src/components/filter-pill/filter-pill.js","../build/esm/libs/fabric-web-components/src/util/apply-mixins.js","../build/esm/libs/fabric-web-components/src/util/attribute-utilities.js","../build/esm/libs/fabric-web-components/src/util/debounce.js","../build/esm/libs/fabric-web-components/src/util/debug.js","../build/esm/libs/fabric-web-components/src/util/descendants.js","../build/esm/libs/fabric-web-components/src/util/direction.js","../build/esm/libs/fabric-web-components/src/util/dom.js","../build/esm/libs/fabric-web-components/src/util/element-internal-mocks.js","../build/esm/libs/fabric-web-components/src/util/focus-management.js","../build/esm/libs/fabric-web-components/src/util/hash-utilities.js","../build/esm/libs/fabric-web-components/src/util/match-media-stylesheet-behaviors.js","../build/esm/libs/fabric-web-components/src/util/template-helpers.js","../build/esm/libs/fabric-web-components/src/util/whitespace-filter.js","../build/esm/libs/fabric-web-components/src/components/filter-pill/filter-pill.styles.js","../build/esm/libs/fabric-web-components/src/components/filter-pill/filter-pill.template.js","../build/esm/libs/fabric-web-components/src/components/filter-pill/filter-pill.definition.js","../build/esm/libs/fabric-web-components/src/components/compound-button/compound-button.options.js","../build/esm/libs/fabric-web-components/src/components/compound-button/compound-button.js","../build/esm/libs/fabric-web-components/src/components/compound-button/compound-button.styles.js","../build/esm/libs/fabric-web-components/src/components/compound-button/compound-button.definition.js","../build/esm/libs/fabric-web-components/src/components/loading-button/loading-button.js","../build/esm/libs/fabric-web-components/src/components/loading-button/loading-button.styles.js","../build/esm/libs/fabric-web-components/src/components/loading-button/loading-button.template.js","../build/esm/libs/fabric-web-components/src/components/loading-button/loading-button.definition.js","../build/esm/libs/fabric-web-components/src/components/multi-view/multi-view.options.js","../build/esm/libs/fabric-web-components/src/components/multi-view/multi-view.js","../build/esm/libs/fabric-web-components/src/components/multi-view/multi-view.styles.js","../build/esm/libs/fabric-web-components/src/components/multi-view/multi-view.template.js","../build/esm/libs/fabric-web-components/src/components/multi-view/multi-view.definition.js","../build/esm/libs/fabric-web-components/src/components/multi-view-controller/multi-view-controller.js","../build/esm/libs/fabric-web-components/src/components/multi-view-controller/multi-view-controller.styles.js","../build/esm/libs/fabric-web-components/src/components/multi-view-controller/multi-view-controller.template.js","../build/esm/libs/fabric-web-components/src/components/multi-view-controller/multi-view-controller.definition.js","../build/esm/libs/fabric-web-components/src/components/multi-view-group/multi-view-group.js","../build/esm/libs/fabric-web-components/src/components/multi-view-group/multi-view-group.styles.js","../build/esm/libs/fabric-web-components/src/components/multi-view-group/multi-view-group.template.js","../build/esm/libs/fabric-web-components/src/components/multi-view-group/multi-view-group.definition.js","../build/esm/libs/fabric-web-components/src/components/multi-view-group/multi-view-group.options.js","../build/esm/libs/fabric-web-components/src/util/positioning/types.js","../build/esm/libs/fabric-web-components/src/util/positioning/position-calculator.js","../build/esm/libs/fabric-web-components/src/util/positioning/flexible-position-strategy.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.options.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.positioning.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.styles.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.template.js","../build/esm/libs/fabric-web-components/src/components/popover/popover.definition.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/scripts/svg-sanitizer.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/services/svg-service.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/svg-icon.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/svg-icon.styles.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/svg-icon.template.js","../build/esm/libs/fabric-web-components/src/components/svg-icon/svg-icon.definition.js","../build/esm/libs/fabric-web-components/src/components/table-cell/table-cell.js","../build/esm/libs/fabric-web-components/src/components/table-cell/table-cell.options.js","../build/esm/libs/fabric-web-components/src/components/table-cell/table-cell.styles.js","../build/esm/libs/fabric-web-components/src/components/table-cell/table-cell.template.js","../build/esm/libs/fabric-web-components/src/components/table-cell/table-cell.definition.js","../build/esm/libs/fabric-web-components/src/components/table/table.js","../build/esm/libs/fabric-web-components/src/components/table/table.options.js","../build/esm/libs/fabric-web-components/src/components/table/table.styles.js","../build/esm/libs/fabric-web-components/src/components/table/table.template.js","../build/esm/libs/fabric-web-components/src/components/table/table.definition.js","../build/esm/libs/fabric-web-components/src/components/simple-table/simple-table.js","../build/esm/libs/fabric-web-components/src/components/simple-table/simple-table.styles.js","../build/esm/libs/fabric-web-components/src/components/simple-table/simple-table.definition.js","../build/esm/libs/fabric-web-components/src/components/tag/tag.options.js","../build/esm/libs/fabric-web-components/src/components/tag/tag.js","../build/esm/libs/fabric-web-components/src/components/tag/tag.styles.js","../build/esm/libs/fabric-web-components/src/components/tag/tag.template.js","../build/esm/libs/fabric-web-components/src/components/tag/tag.definition.js","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../build/esm/libs/fabric-web-components/src/components/teaching-bubble/teaching-bubble.options.js","../build/esm/libs/fabric-web-components/src/components/teaching-bubble/teaching-bubble.js","../build/esm/libs/fabric-web-components/src/components/teaching-bubble/teaching-bubble.styles.js","../build/esm/libs/fabric-web-components/src/components/teaching-bubble/teaching-bubble.template.js","../build/esm/libs/fabric-web-components/src/components/teaching-bubble/teaching-bubble.definition.js","../build/esm/libs/fabric-web-components/src/components/wizard-step/wizard-step.options.js","../build/esm/libs/fabric-web-components/src/components/wizard-panel/wizard-panel.options.js","../build/esm/libs/fabric-web-components/src/components/wizard-panel/wizard-panel.js","../build/esm/libs/fabric-web-components/src/components/wizard-step/wizard-step.js","../build/esm/libs/fabric-web-components/src/components/wizard/wizard.options.js","../build/esm/libs/fabric-web-components/src/components/wizard/wizard.js","../build/esm/libs/fabric-web-components/src/components/wizard/wizard.styles.js","../build/esm/libs/fabric-web-components/src/components/wizard/wizard.template.js","../build/esm/libs/fabric-web-components/src/components/wizard/wizard.definition.js","../build/esm/libs/fabric-web-components/src/components/wizard-panel/wizard-panel.styles.js","../build/esm/libs/fabric-web-components/src/components/wizard-panel/wizard-panel.template.js","../build/esm/libs/fabric-web-components/src/components/wizard-panel/wizard-panel.definition.js","../build/esm/libs/fabric-web-components/src/components/wizard-step/wizard-step.styles.js","../build/esm/libs/fabric-web-components/src/components/wizard-step/wizard-step.template.js","../build/esm/libs/fabric-web-components/src/components/wizard-step/wizard-step.definition.js","../build/esm/libs/fabric-web-components/src/components/accordion-item/accordion-item.js","../build/esm/libs/fabric-web-components/src/components/accordion-item/accordion-item.options.js","../build/esm/libs/fabric-web-components/src/components/accordion-item/accordion-item.definition.js","../build/esm/libs/fabric-web-components/src/components/accordion/accordion.js","../build/esm/libs/fabric-web-components/src/components/accordion/accordion.definition.js","../build/esm/libs/fabric-web-components/src/components/accordion/accordion.options.js","../build/esm/libs/fabric-web-components/src/components/link/link.js","../build/esm/libs/fabric-web-components/src/components/link/link.options.js","../build/esm/libs/fabric-web-components/src/components/link/link.definition.js","../build/esm/libs/fabric-web-components/src/components/avatar/avatar.js","../build/esm/libs/fabric-web-components/src/components/avatar/avatar.options.js","../build/esm/libs/fabric-web-components/src/components/avatar/avatar.definition.js","../build/esm/libs/fabric-web-components/src/components/badge/badge.js","../build/esm/libs/fabric-web-components/src/components/badge/badge.options.js","../build/esm/libs/fabric-web-components/src/components/badge/badge.definition.js","../build/esm/libs/fabric-web-components/src/components/checkbox/checkbox.js","../build/esm/libs/fabric-web-components/src/components/checkbox/checkbox.options.js","../build/esm/libs/fabric-web-components/src/components/checkbox/checkbox.definition.js","../build/esm/libs/fabric-web-components/src/components/counter-badge/counter-badge.js","../build/esm/libs/fabric-web-components/src/components/counter-badge/counter-badge.options.js","../build/esm/libs/fabric-web-components/src/components/counter-badge/counter-badge.definition.js","../build/esm/libs/fabric-web-components/src/components/dialog/dialog.js","../build/esm/libs/fabric-web-components/src/components/dialog/dialog.styles.js","../build/esm/libs/fabric-web-components/src/components/dialog/dialog.definition.js","../build/esm/libs/fabric-web-components/src/components/dialog/dialog.options.js","../build/esm/libs/fabric-web-components/src/components/dialog-body/dialog-body.js","../build/esm/libs/fabric-web-components/src/components/dialog-body/dialog-body.definition.js","../build/esm/libs/fabric-web-components/src/components/divider/divider.js","../build/esm/libs/fabric-web-components/src/components/divider/divider.options.js","../build/esm/libs/fabric-web-components/src/components/divider/divider.styles.js","../build/esm/libs/fabric-web-components/src/components/divider/divider.template.js","../build/esm/libs/fabric-web-components/src/components/divider/divider.definition.js","../build/esm/libs/fabric-web-components/src/components/drawer/drawer.js","../build/esm/libs/fabric-web-components/src/components/drawer/drawer.options.js","../build/esm/libs/fabric-web-components/src/components/drawer/drawer.definition.js","../build/esm/libs/fabric-web-components/src/components/drawer-body/drawer-body.js","../build/esm/libs/fabric-web-components/src/components/drawer-body/drawer-body.definition.js","../build/esm/libs/fabric-web-components/src/components/dropdown/dropdown.js","../build/esm/libs/fabric-web-components/src/components/dropdown/dropdown.options.js","../build/esm/libs/fabric-web-components/src/components/dropdown/dropdown.styles.js","../build/esm/libs/fabric-web-components/src/components/dropdown/dropdown.definition.js","../build/esm/libs/fabric-web-components/src/components/option/option.js","../build/esm/libs/fabric-web-components/src/components/option/option.definition.js","../build/esm/libs/fabric-web-components/src/components/option-group/option-group.options.js","../build/esm/libs/fabric-web-components/src/components/listbox/listbox.js","../build/esm/libs/fabric-web-components/src/components/listbox/listbox.definition.js","../build/esm/libs/fabric-web-components/src/components/field/field.js","../build/esm/libs/fabric-web-components/src/components/field/field.styles.js","../build/esm/libs/fabric-web-components/src/components/field/field.options.js","../build/esm/libs/fabric-web-components/src/components/field/field.definition.js","../build/esm/libs/fabric-web-components/src/components/image/image.js","../build/esm/libs/fabric-web-components/src/components/image/image.options.js","../build/esm/libs/fabric-web-components/src/components/image/image.definition.js","../build/esm/libs/fabric-web-components/src/components/label/label.js","../build/esm/libs/fabric-web-components/src/components/label/label.definition.js","../build/esm/libs/fabric-web-components/src/components/label/label.options.js","../build/esm/libs/fabric-web-components/src/components/anchor-button/anchor-button.js","../build/esm/libs/fabric-web-components/src/components/anchor-button/anchor-button.options.js","../build/esm/libs/fabric-web-components/src/components/anchor-button/anchor-button.definition.js","../build/esm/libs/fabric-web-components/src/components/message-bar/message-bar.js","../build/esm/libs/fabric-web-components/src/components/message-bar/message-bar.definition.js","../build/esm/libs/fabric-web-components/src/components/menu-button/menu-button.js","../build/esm/libs/fabric-web-components/src/components/menu-button/menu-button.options.js","../build/esm/libs/fabric-web-components/src/components/menu-button/menu-button.definition.js","../build/esm/libs/fabric-web-components/src/components/menu-item/menu-item.styles.js","../build/esm/libs/fabric-web-components/src/components/menu-item/menu-item.template.js","../build/esm/libs/fabric-web-components/src/components/menu-item/menu-item.definition.js","../build/esm/libs/fabric-web-components/src/components/menu-list/menu-list.styles.js","../build/esm/libs/fabric-web-components/src/components/menu-list/menu-list.template.js","../build/esm/libs/fabric-web-components/src/components/menu-list/menu-list.definition.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.options.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.positioning.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.styles.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.template.js","../build/esm/libs/fabric-web-components/src/components/menu/menu.definition.js","../build/esm/libs/fabric-web-components/src/components/option-group/option-group.js","../build/esm/libs/fabric-web-components/src/components/option-group/option-group.styles.js","../build/esm/libs/fabric-web-components/src/components/option-group/option-group.template.js","../build/esm/libs/fabric-web-components/src/components/option-group/option-group.definition.js","../build/esm/libs/fabric-web-components/src/components/progress-bar/progress-bar.js","../build/esm/libs/fabric-web-components/src/components/progress-bar/progress-bar.definition.js","../build/esm/libs/fabric-web-components/src/components/progress-bar/progress-bar.options.js","../build/esm/libs/fabric-web-components/src/components/radio-group/radio-group.js","../build/esm/libs/fabric-web-components/src/components/radio-group/radio-group.options.js","../build/esm/libs/fabric-web-components/src/components/radio-group/radio-group.definition.js","../build/esm/libs/fabric-web-components/src/components/radio/radio.js","../build/esm/libs/fabric-web-components/src/components/radio/radio.definition.js","../build/esm/libs/fabric-web-components/src/components/rating-display/rating-display.js","../build/esm/libs/fabric-web-components/src/components/rating-display/rating-display.definition.js","../build/esm/libs/fabric-web-components/src/components/rating-display/rating-display.options.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.options.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.base.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.js","../build/esm/libs/fabric-web-components/src/components/search-box/search-box.options.js","../build/esm/libs/fabric-web-components/src/components/search-box/search-box.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.styles.js","../build/esm/libs/fabric-web-components/src/components/search-box/search-box.styles.js","../build/esm/libs/fabric-web-components/src/static/component-svgs.js","../build/esm/libs/fabric-web-components/src/components/search-box/search-box.template.js","../build/esm/libs/fabric-web-components/src/components/search-box/search-box.definition.js","../build/esm/libs/fabric-web-components/src/components/slider/slider.js","../build/esm/libs/fabric-web-components/src/components/slider/slider.options.js","../build/esm/libs/fabric-web-components/src/components/slider/slider.definition.js","../build/esm/libs/fabric-web-components/src/components/spinner/spinner.js","../build/esm/libs/fabric-web-components/src/components/spinner/spinner.options.js","../build/esm/libs/fabric-web-components/src/components/spinner/spinner.definition.js","../build/esm/libs/fabric-web-components/src/components/switch/switch.js","../build/esm/libs/fabric-web-components/src/components/switch/switch.definition.js","../build/esm/libs/fabric-web-components/src/components/tab/tab.js","../build/esm/libs/fabric-web-components/src/components/tab/tab.definition.js","../build/esm/libs/fabric-web-components/src/components/tablist/tablist.options.js","../build/esm/libs/fabric-web-components/src/components/tablist/tablist.js","../build/esm/libs/fabric-web-components/src/components/tablist/tablist.definition.js","../build/esm/libs/fabric-web-components/src/components/textarea/textarea.js","../build/esm/libs/fabric-web-components/src/components/textarea/textarea.definition.js","../build/esm/libs/fabric-web-components/src/components/textarea/textarea.options.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.template.js","../build/esm/libs/fabric-web-components/src/components/text-input/text-input.definition.js","../build/esm/libs/fabric-web-components/src/components/text/text.js","../build/esm/libs/fabric-web-components/src/components/text/text.definition.js","../build/esm/libs/fabric-web-components/src/components/text/text.options.js","../build/esm/libs/fabric-web-components/src/components/tree/tree.js","../build/esm/libs/fabric-web-components/src/components/tree/tree.definition.js","../build/esm/libs/fabric-web-components/src/components/tree-item/tree-item.js","../build/esm/libs/fabric-web-components/src/components/tree-item/tree-item.template.js","../build/esm/libs/fabric-web-components/src/components/tree-item/tree-item.styles.js","../build/esm/libs/fabric-web-components/src/components/tree-item/tree-item.definition.js","../build/esm/libs/fabric-web-components/src/components/toggle-button/toggle-button.js","../build/esm/libs/fabric-web-components/src/components/toggle-button/toggle-button.options.js","../build/esm/libs/fabric-web-components/src/components/toggle-button/toggle-button.definition.js","../build/esm/libs/fabric-web-components/src/components/tooltip/tooltip.js","../build/esm/libs/fabric-web-components/src/components/tooltip/tooltip.definition.js","../build/esm/libs/fabric-web-components/src/components/tooltip/tooltip.options.js"],"sourcesContent":["import { canUseDOM } from \"exenv-es6\";\n/**\n * A test that ensures that all arguments are HTML Elements\n */\nexport function isHTMLElement(...args) {\n return args.every((arg) => arg instanceof HTMLElement);\n}\n/**\n * Returns all displayed elements inside of a root node that match a provided selector\n */\nexport function getDisplayedNodes(rootNode, selector) {\n if (!rootNode || !selector || !isHTMLElement(rootNode)) {\n return;\n }\n const nodes = Array.from(rootNode.querySelectorAll(selector));\n // offsetParent will be null if the element isn't currently displayed,\n // so this will allow us to operate only on visible nodes\n return nodes.filter((node) => node.offsetParent !== null);\n}\n/**\n * Returns the nonce used in the page, if any.\n *\n * Based on https://github.com/cssinjs/jss/blob/master/packages/jss/src/DomRenderer.js\n */\nfunction getNonce() {\n const node = document.querySelector('meta[property=\"csp-nonce\"]');\n if (node) {\n return node.getAttribute(\"content\");\n }\n else {\n return null;\n }\n}\n/**\n * Test if the document supports :focus-visible\n */\nlet _canUseFocusVisible;\nexport function canUseFocusVisible() {\n if (typeof _canUseFocusVisible === \"boolean\") {\n return _canUseFocusVisible;\n }\n if (!canUseDOM()) {\n _canUseFocusVisible = false;\n return _canUseFocusVisible;\n }\n // Check to see if the document supports the focus-visible element\n const styleElement = document.createElement(\"style\");\n // If nonces are present on the page, use it when creating the style element\n // to test focus-visible support.\n const styleNonce = getNonce();\n if (styleNonce !== null) {\n styleElement.setAttribute(\"nonce\", styleNonce);\n }\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"foo:focus-visible {color:inherit}\", 0);\n _canUseFocusVisible = true;\n }\n catch (e) {\n _canUseFocusVisible = false;\n }\n finally {\n document.head.removeChild(styleElement);\n }\n return _canUseFocusVisible;\n}\nlet _canUseCssGrid;\nexport function canUseCssGrid() {\n if (typeof _canUseCssGrid === \"boolean\") {\n return _canUseCssGrid;\n }\n try {\n _canUseCssGrid = CSS.supports(\"display\", \"grid\");\n }\n catch (_a) {\n _canUseCssGrid = false;\n }\n return _canUseCssGrid;\n}\nexport function canUseForcedColors() {\n return (canUseDOM() &&\n (window.matchMedia(\"(forced-colors: none)\").matches ||\n window.matchMedia(\"(forced-colors: active)\").matches));\n}\nexport function resetDocumentCache() {\n _canUseCssGrid = undefined;\n _canUseFocusVisible = undefined;\n}\n/**\n * @deprecated Use 'canUseForcedColors' instead\n */\nexport const canUsedForcedColors = canUseForcedColors;\n","/**\n * String values for use with KeyboardEvent.key\n */\nexport const keyAlt = \"Alt\";\nexport const keyAltGraph = \"AltGraph\";\nexport const keyCapsLock = \"CapsLock\";\nexport const keyControl = \"Control\";\nexport const keyArrowDown = \"ArrowDown\";\nexport const keyArrowLeft = \"ArrowLeft\";\nexport const keyArrowRight = \"ArrowRight\";\nexport const keyArrowUp = \"ArrowUp\";\nexport const keyBackspace = \"Backspace\";\nexport const keyDelete = \"Delete\";\nexport const keyEnd = \"End\";\nexport const keyEnter = \"Enter\";\nexport const keyEscape = \"Escape\";\nexport const keyHome = \"Home\";\nexport const keyFunction = \"Fn\";\nexport const keyFunctionLock = \"FnLock\";\nexport const keyFunction2 = \"F2\";\nexport const keyFunction3 = \"F3\";\nexport const keyFunction4 = \"F4\";\nexport const keyFunction5 = \"F5\";\nexport const keyFunction6 = \"F6\";\nexport const keyFunction7 = \"F7\";\nexport const keyFunction8 = \"F8\";\nexport const keyFunction9 = \"F9\";\nexport const keyFunction10 = \"F10\";\nexport const keyFunction11 = \"F11\";\nexport const keyFunction12 = \"F12\";\nexport const keyFunction13 = \"F13\";\nexport const keyFunction14 = \"F14\";\nexport const keyFunction15 = \"F15\";\nexport const keyNumLock = \"NumLock\";\nexport const keyPageDown = \"PageDown\";\nexport const keyPageUp = \"PageUp\";\nexport const keyScrollLock = \"ScrollLock\";\nexport const keyShift = \"Shift\";\nexport const keySpace = \" \";\nexport const keyTab = \"Tab\";\nexport const ArrowKeys = {\n ArrowDown: keyArrowDown,\n ArrowLeft: keyArrowLeft,\n ArrowRight: keyArrowRight,\n ArrowUp: keyArrowUp,\n};\n","/**\n * Expose ltr and rtl strings\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"ltr\"] = \"ltr\";\n Direction[\"rtl\"] = \"rtl\";\n})(Direction || (Direction = {}));\n","/**\n * This method keeps a given value within the bounds of a min and max value. If the value\n * is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,\n * the maximum will be returned. Otherwise, the value is returned un-changed.\n */\nexport function wrapInBounds(min, max, value) {\n if (value < min) {\n return max;\n }\n else if (value > max) {\n return min;\n }\n return value;\n}\n/**\n * Ensures that a value is between a min and max value. If value is lower than min, min will be returned.\n * If value is greater than max, max will be returned.\n */\nexport function limit(min, max, value) {\n return Math.min(Math.max(value, min), max);\n}\n/**\n * Determines if a number value is within a specified range.\n *\n * @param value - the value to check\n * @param min - the range start\n * @param max - the range end\n */\nexport function inRange(value, min, max = 0) {\n [min, max] = [min, max].sort((a, b) => a - b);\n return min <= value && value < max;\n}\n","let uniqueIdCounter = 0;\n/**\n * Generates a unique ID based on incrementing a counter.\n */\nexport function uniqueId(prefix = \"\") {\n return `${prefix}${uniqueIdCounter++}`;\n}\n/**\n * Builds a string from a format specifier and replacement parameters.\n */\nexport function format(formatSpecifier, ...parameters) {\n return formatSpecifier.replace(/{(\\d+)}/g, function (match, index) {\n if (index >= parameters.length) {\n return match;\n }\n const value = parameters[index];\n if (typeof value !== \"number\" && !value) {\n return \"\";\n }\n return value;\n });\n}\n/**\n * Check to see if one string starts with another\n */\nexport function startsWith(stringToSearch, searchFor, position = 0) {\n if (!stringToSearch || !searchFor) {\n return false;\n }\n return stringToSearch.substr(position, searchFor.length) === searchFor;\n}\n/**\n * Determines if the specified string is undefined, null, empty, or whitespace.\n * True if the value is undefined, null, empty, or whitespace, otherwise false.\n */\nexport function isNullOrWhiteSpace(value) {\n return !value || !value.trim();\n}\n/**\n * Converts a string to Pascal Case\n * where the first letter of each compound word is capitalized.\n */\nexport function pascalCase(value) {\n let newValue = `${value}`\n .replace(new RegExp(/[-_]+/, \"g\"), \" \")\n .replace(new RegExp(/[^\\w\\s]/, \"g\"), \"\")\n .replace(/^\\s+|\\s+$|\\s+(?=\\s)/g, \"\")\n .replace(new RegExp(/\\s+(.)(\\w*)/, \"g\"), ($1, $2, $3) => `${$2.toUpperCase() + $3.toLowerCase()}`)\n .replace(new RegExp(/\\w/), s => s.toUpperCase());\n let firstLowerIdx = 0;\n for (let i = 0; i < newValue.length; i++) {\n const currChar = newValue.charAt(i);\n if (currChar == currChar.toLowerCase()) {\n firstLowerIdx = i;\n break;\n }\n }\n if (firstLowerIdx > 1) {\n newValue =\n `${newValue.charAt(0).toUpperCase()}${newValue\n .slice(1, firstLowerIdx - 1)\n .toLowerCase()}` + newValue.slice(firstLowerIdx - 1);\n }\n return newValue;\n}\n/**\n * converts a string from camelCase or pascalCase to spinal-case\n * which is an lowercase dash separated naming style.\n *\n * An example of spinal case: foo-bar-bat\n */\nexport function spinalCase(value) {\n const valueWithLowerCaseFirstLetter = `${value\n .charAt(0)\n .toLowerCase()}${value.slice(1)}`;\n return valueWithLowerCaseFirstLetter.replace(/([A-Z]|[0-9])/g, function (match, group1) {\n return `-${group1.toLowerCase()}`;\n });\n}\n","/**\n * Check if the browser supports CSS Anchor Positioning.\n * @public\n */\nexport const AnchorPositioningCSSSupported = CSS.supports(\"anchor-name: --a\");\n/**\n * Check if the browser supports HTML Anchor Positioning.\n * @public\n */\nexport const AnchorPositioningHTMLSupported = \"anchor\" in HTMLElement.prototype;\n/**\n * Check if the browser supports Custom States.\n * @public\n */\nexport const CustomStatesSetSupported = CSS.supports(\"selector(:state(g))\");\n//# sourceMappingURL=support.js.map","import { CustomStatesSetSupported } from \"./support\";\nexport { CustomStatesSetSupported };\n/**\n * Map to store the state values.\n * @internal\n */\nconst statesMap = new Map();\n/**\n * Returns a string that represents a CSS custom state selector.\n *\n * @param state - the state value.\n * @returns a string that represents a CSS state selector, or a custom attribute selector if the browser does not\n * support Custom States.\n *\n * @public\n */\nexport function stateSelector(state) {\n var _a;\n return ((_a = statesMap.get(state)) !== null && _a !== void 0 ? _a : statesMap\n .set(state, CustomStatesSetSupported ? `:state(${state})` : `[state--${state}]`)\n .get(state));\n}\n/**\n * This function is used to toggle a state on the control. If the browser supports Custom States, the state is toggled\n * on the `ElementInternals.states` set. If the browser does not support Custom States, the state is toggled on the host\n * element as an attribute with the format `state--{state}`.\n *\n * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet | CustomStateSet} interface\n * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | ElementInternals} interface\n * @see The CSS {@link https://developer.mozilla.org/en-US/docs/Web/CSS/:state | `:state()`} pseudo-class\n *\n * @param elementInternals - the `ElementInternals` instance for the component\n * @param state - the state to toggle\n * @param force - force the state to be toggled on or off\n * @internal\n */\nexport function toggleState(elementInternals, state, force) {\n if (!state || !elementInternals) {\n return;\n }\n if (!CustomStatesSetSupported) {\n elementInternals.shadowRoot.host.toggleAttribute(`state--${state}`, force);\n return;\n }\n if (force !== null && force !== void 0 ? force : !elementInternals.states.has(state)) {\n elementInternals.states.add(state);\n return;\n }\n elementInternals.states.delete(state);\n}\n/**\n * A weak map to store the valid states for attributes.\n * @internal\n */\nconst matchingStateMap = new WeakMap();\n/**\n * Check if a given attribute value is a valid state. Attribute values are often kebab-cased, so this function converts\n * the kebab-cased `state` to camelCase and checks if it exists in as a key in the `States` object.\n *\n * @param States - the object containing valid states for the attribute\n * @param state - the state to check\n * @returns true if the state is in the States object\n * @internal\n */\nexport function hasMatchingState(States, state) {\n if (!States || !state) {\n return false;\n }\n if (matchingStateMap.has(States)) {\n return matchingStateMap.get(States).has(state);\n }\n const stateSet = new Set(Object.values(States));\n matchingStateMap.set(States, stateSet);\n return stateSet.has(state);\n}\n/**\n * Swap an old state for a new state.\n *\n * @param elementInternals - the `ElementInternals` instance for the component\n * @param prev - the previous state to remove\n * @param next - the new state to add\n * @param States - the object containing valid states for the attribute\n * @param prefix - an optional prefix to add to the state\n *\n * @internal\n */\nexport function swapStates(elementInternals, prev = \"\", next = \"\", States, prefix = \"\") {\n toggleState(elementInternals, `${prefix}${prev}`, false);\n if (!States || hasMatchingState(States, next)) {\n toggleState(elementInternals, `${prefix}${next}`, true);\n }\n}\n/**\n * A generic helper function to handle attribute changes.\n * @param elementInternals - The internals of the element.\n * @param prev - The previous value of the attribute.\n * @param next - The new value of the attribute.\n * @param toggleFn - A function that performs the toggle action for a given attribute value.\n */\nexport function handleAttributeChange(elementInternals, prev, next, toggleFn) {\n if (prev) {\n toggleFn(elementInternals, prev, false);\n }\n if (next) {\n toggleFn(elementInternals, next, true);\n }\n}\n//# sourceMappingURL=element-internals.js.map","/**\n * Menu items roles.\n * @public\n */\nexport const MenuItemRoles = {\n /**\n * The menu item has a \"menuitem\" role\n */\n menuitem: \"menuitem\",\n /**\n * The menu item has a \"menuitemcheckbox\" role\n */\n menuitemcheckbox: \"menuitemcheckbox\",\n /**\n * The menu item has a \"menuitemradio\" role\n */\n menuitemradio: \"menuitemradio\"\n};\n/**\n * @internal\n */\nexport const roleForMenuItem = {\n [MenuItemRoles.menuitem]: \"menuitem\",\n [MenuItemRoles.menuitemcheckbox]: \"menuitemcheckbox\",\n [MenuItemRoles.menuitemradio]: \"menuitemradio\"\n};\n/**\n * Menu items roles.\n * @public\n */\nexport const MenuGroupRoles = {\n /**\n * The \"group\" role\n */\n group: \"group\"\n};\n/**\n * @internal\n */\nexport const roleForMenuGroup = {\n group: MenuGroupRoles.group\n};\n//# sourceMappingURL=menu-item.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _MenuItem_instances, _MenuItem_attachListeners, _MenuItem_detachListeners;\nimport { attr, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { keyArrowLeft, keyArrowRight, keyEnter, keySpace } from \"@microsoft/fast-web-utilities\";\nimport { toggleState } from \"../../util/element-internals.js\";\nimport { MenuItemRoles } from \"./menu-item.options.js\";\n/**\n * MenuItem\n * @summary A MenuItem component that represents an item in a menu with various states and interactions.\n *\n * @example\n * ```html\n * <fabric-menu-item role=\"menuitem\" disabled checked hidden>\n * <span slot=\"start\">Start content</span>\n * Menu item content\n * <span slot=\"end\">End content</span>\n * <span slot=\"submenu-glyph\"></span>\n * <div slot=\"submenu\">Submenu content</div>\n * </fabric-menu-item>\n * ```\n *\n * @attr {boolean} disabled - The disabled state of the element.\n * @attr {MenuItemRole} role - The role of the element. Possible values: 'menuitem', 'menuitemcheckbox', 'menuitemradio'.\n * @attr {boolean} checked - The checked value of the element.\n * @attr {boolean} hidden - The hidden attribute.\n *\n * @prop {boolean} disabled - The disabled state of the element.\n * @prop {MenuItemRole} role - The role of the element.\n * @prop {boolean} checked - The checked value of the element.\n * @prop {boolean} hidden - The hidden attribute.\n * @prop {HTMLElement[]} slottedSubmenu - The submenu slotted content.\n * @prop {HTMLElement | undefined} submenu - The submenu element associated with this menu item.\n *\n * @slot - Default slot for menu item content.\n * @slot start - Slot for the start content.\n * @slot end - Slot for the end content.\n * @slot indicator - The checkbox or radio indicator.\n * @slot submenu-glyph - The submenu expand/collapse indicator.\n * @slot submenu - Slot for the submenu content.\n *\n * @csspart content - The main content of the menu item.\n *\n * @cssprop --indent - Custom property for indentation level (default: 0).\n * @cssprop --menu-max-height - Maximum height for submenu (default: auto).\n *\n * @internal connectedCallback - Called when the element is added to the document.\n * @internal disconnectedCallback - Called when the element is removed from the document.\n * @method disabledChanged - Handles changes to the disabled attribute.\n * @method roleChanged - Handles changes to the role attribute.\n * @method checkedChanged - Handles changes to the checked attribute.\n * @method slottedSubmenuChanged - Handles changes to the slotted submenu content.\n * @method handleMenuItemKeyDown - Handles keydown events for the menu item.\n * @method handleMenuItemClick - Handles click events for the menu item.\n * @method handleMouseOver - Handles mouse over events for the menu item.\n * @method handleMouseOut - Handles mouse out events for the menu item.\n * @method toggleHandler - Handles toggle events from submenu popover.\n *\n * @fires change - Fired when the checked state changes.\n *\n * @extends FASTElement\n * @tagname fabric-menu-item\n * @public\n */\nexport class MenuItem extends FASTElement {\n constructor() {\n super(...arguments);\n _MenuItem_instances.add(this);\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The role of the element.\n *\n * @public\n * @remarks\n * HTML Attribute: role\n */\n this.role = MenuItemRoles.menuitem;\n /**\n * The checked value of the element.\n *\n * @public\n * @remarks\n * HTML Attribute: checked\n */\n this.checked = false;\n /**\n * Handles keydown events for the menu item.\n *\n * @param e - The keyboard event\n * @returns `false` if the event was handled and should not propagate, `true` otherwise\n * @protected\n */\n this.handleMenuItemKeyDown = (e) => {\n var _a;\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n case keySpace: {\n this.invoke();\n return false;\n }\n case keyArrowRight: {\n if (!this.disabled && hasTogglePopover(this.submenu)) {\n this.submenu.togglePopover(true);\n this.submenu.focus();\n }\n return false;\n }\n case keyArrowLeft: {\n const parent = this.parentElement;\n if (hasTogglePopover(parent)) {\n parent.togglePopover(false);\n (_a = parent.parentElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n return false;\n }\n }\n return true;\n };\n /**\n * Handles click events for the menu item.\n *\n * @param e - The mouse event\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMenuItemClick = (e) => {\n if (e.defaultPrevented || this.disabled) {\n return false;\n }\n this.invoke();\n return false;\n };\n /**\n * Handles mouse over events for the menu item.\n * Opens any associated submenu when hovering over the item.\n *\n * @param e - The mouse event (unused but required for event handler signature)\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMouseOver = () => {\n var _a;\n if (this.disabled) {\n return false;\n }\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.togglePopover(true);\n return false;\n };\n /**\n * Handles mouse out events for the menu item.\n * Closes any associated submenu when the mouse leaves the item,\n * unless the focus remains within the menu item.\n *\n * @param e - The mouse event (unused but required for event handler signature)\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMouseOut = () => {\n var _a;\n if (this.contains(document.activeElement)) {\n return false;\n }\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.togglePopover(false);\n return false;\n };\n /**\n * Handles toggle events from associated submenu popover.\n * Sets up required ARIA attributes and tab navigation when submenu opens/closes.\n *\n * @param e - The toggle event from the submenu popover\n * @protected\n */\n this.toggleHandler = (e) => {\n if (\"newState\" in e && e.newState === \"open\") {\n this.setAttribute(\"tabindex\", \"-1\");\n this.elementInternals.ariaExpanded = \"true\";\n this.setSubmenuPosition();\n }\n if (\"newState\" in e && e.newState === \"closed\") {\n this.elementInternals.ariaExpanded = \"false\";\n this.setAttribute(\"tabindex\", \"0\");\n }\n };\n /**\n * Invokes the appropriate action based on the menu item's role.\n * For checkbox items, toggles the checked state.\n * For radio items, sets the checked state to true if not already checked.\n * For regular menu items, opens submenus or emits a change event.\n *\n * @internal\n */\n this.invoke = () => {\n if (this.disabled) {\n return;\n }\n switch (this.role) {\n case MenuItemRoles.menuitemcheckbox:\n this.checked = !this.checked;\n break;\n case MenuItemRoles.menuitem:\n if (this.submenu) {\n this.submenu.togglePopover(true);\n this.submenu.focus();\n break;\n }\n this.$emit(\"change\");\n break;\n case MenuItemRoles.menuitemradio:\n if (!this.checked) {\n this.checked = true;\n }\n break;\n }\n };\n /**\n * Sets the fallback position of the submenu when CSS anchor positioning is not supported.\n * Calculates optimal positioning to keep the submenu within the viewport bounds.\n * Positions the submenu to the inline-end by default, but adjusts based on available space.\n *\n * @internal\n */\n this.setSubmenuPosition = () => {\n if (!CSS.supports(\"anchor-name\", \"--anchor\") && !!this.submenu) {\n const thisRect = this.getBoundingClientRect();\n const thisSubmenuRect = this.submenu.getBoundingClientRect();\n const inlineEnd = getComputedStyle(this).direction === \"ltr\" ? \"right\" : \"left\";\n // If an open submenu is too wide for the viewport, move it above.\n if (thisRect.width + thisSubmenuRect.width > window.innerWidth * 0.75) {\n this.submenu.style.translate = \"0 -100%\";\n return;\n }\n // If the open submenu is overflows the inline-end of the window (e.g. justify-content: end),\n // move to inline-start of menu item\n if (thisRect[inlineEnd] + thisSubmenuRect.width > window.innerWidth) {\n this.submenu.style.translate = \"-100% 0\";\n return;\n }\n // Default to inline-end of menu item\n this.submenu.style.translate = `${thisRect.width - 8}px 0`;\n }\n };\n }\n /**\n * Handles changes to disabled attribute custom states and element internals\n * @param prev - the previous state\n * @param next - the next state\n */\n disabledChanged(_prev, next) {\n this.elementInternals.ariaDisabled = next ? `${next}` : null;\n toggleState(this.elementInternals, \"disabled\", next);\n }\n /**\n * Handles changes to role attribute element internals properties\n * @param prev - the previous state\n * @param next - the next state\n */\n roleChanged(_prev, next) {\n this.elementInternals.role = next !== null && next !== void 0 ? next : MenuItemRoles.menuitem;\n const checkableMenuItem = (next !== null && next !== void 0 ? next : MenuItemRoles.menuitem) !== MenuItemRoles.menuitem;\n // Initialize ariaChecked for checkable menu items\n this.elementInternals.ariaChecked = checkableMenuItem\n ? `${!!this.checked}`\n : null;\n toggleState(this.elementInternals, \"checked\", checkableMenuItem ? this.checked : false);\n }\n /**\n * Handles changes to checked attribute custom states and element internals.\n * @param prev - the previous state\n * @param next - the next state\n */\n checkedChanged(_prev, next) {\n const checkableMenuItem = this.role !== MenuItemRoles.menuitem;\n this.elementInternals.ariaChecked = checkableMenuItem ? `${!!next}` : null;\n toggleState(this.elementInternals, \"checked\", checkableMenuItem ? next : false);\n if (this.$fastController.isConnected) {\n this.$emit(\"change\", next, { bubbles: true });\n }\n }\n /**\n * Sets the submenu and updates its position.\n *\n * @internal\n */\n slottedSubmenuChanged(_prev, next) {\n var _a;\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"toggle\", this.toggleHandler);\n if (next.length) {\n this.submenu = next[0];\n this.submenu.toggleAttribute(\"popover\", true);\n this.submenu.addEventListener(\"toggle\", this.toggleHandler);\n this.elementInternals.ariaHasPopup = \"menu\";\n toggleState(this.elementInternals, \"submenu\", true);\n }\n else {\n this.elementInternals.ariaHasPopup = null;\n toggleState(this.elementInternals, \"submenu\", false);\n }\n }\n /**\n * @public\n * Sets the role and registers event listeners.\n */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.elementInternals.role = (_a = this.role) !== null && _a !== void 0 ? _a : MenuItemRoles.menuitem;\n __classPrivateFieldGet(this, _MenuItem_instances, \"m\", _MenuItem_attachListeners).call(this);\n }\n /**\n * Removes event listeners when component is disconnected.\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n __classPrivateFieldGet(this, _MenuItem_instances, \"m\", _MenuItem_detachListeners).call(this);\n }\n}\n_MenuItem_instances = new WeakSet(), _MenuItem_attachListeners = function _MenuItem_attachListeners() {\n this.addEventListener(\"keydown\", this.handleMenuItemKeyDown);\n this.addEventListener(\"click\", this.handleMenuItemClick);\n this.addEventListener(\"mouseover\", this.handleMouseOver);\n this.addEventListener(\"mouseout\", this.handleMouseOut);\n this.addEventListener(\"toggle\", this.toggleHandler);\n}, _MenuItem_detachListeners = function _MenuItem_detachListeners() {\n this.removeEventListener(\"keydown\", this.handleMenuItemKeyDown);\n this.removeEventListener(\"click\", this.handleMenuItemClick);\n this.removeEventListener(\"mouseover\", this.handleMouseOver);\n this.removeEventListener(\"mouseout\", this.handleMouseOut);\n this.removeEventListener(\"toggle\", this.toggleHandler);\n};\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], MenuItem.prototype, \"role\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"checked\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"hidden\", void 0);\n__decorate([\n observable\n], MenuItem.prototype, \"slottedSubmenu\", void 0);\n__decorate([\n observable\n], MenuItem.prototype, \"submenu\", void 0);\n/*\n * Runtime type-guard that returns true only if the given value is an HTMLElement\n * with a callable `togglePopover` method—preventing crashes in browsers that lack the Popover API.\n */\nfunction hasTogglePopover(el) {\n return (typeof el === \"object\" &&\n el !== null &&\n \"togglePopover\" in el &&\n typeof el.togglePopover === \"function\");\n}\n//# sourceMappingURL=menu-item.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Observable, observable, Updates } from \"@microsoft/fast-element\";\nimport { isHTMLElement, keyArrowDown, keyArrowUp, keyEnd, keyHome } from \"@microsoft/fast-web-utilities\";\nimport { MenuItem } from \"../menu-item/menu-item.js\";\nimport { MenuItemRoles } from \"../menu-item/menu-item.options.js\";\n/**\n * MenuList\n * @summary A Menu Custom HTML Element that implements the ARIA menu pattern.\n *\n * @example\n * ```html\n * <fabric-menu-list>\n * <fabric-menu-item>Item 1</fabric-menu-item>\n * <fabric-menu-item>Item 2</fabric-menu-item>\n * <fabric-menu-item>Item 3</fabric-menu-item>\n * </fabric-menu-list>\n * ```\n *\n * @attr {Element[] | undefined} menuItems - The menu items that are part of the menu list.\n * @attr {number} focusIndex - The index of the focusable element in the items array defaults to -1.\n * @attr {MenuItemRole} focusableElementRoles - Static roles that determine if an element is focusable.\n * @attr {string} role - The ARIA role for the menu list, defaults to 'menu'.\n *\n * @prop {Element[] | undefined} items - The menu items that are part of the menu list.\n *\n * @slot - The default slot for the menu items.\n *\n * @method itemsChanged - Reacts to changes in the items property. Parameters: oldValue: HTMLElement[], newValue: HTMLElement[].\n * @method focus - Focuses the first item in the menu.\n * @method handleMenuKeyDown - Handles keydown events for menu navigation.\n * @method handleFocusOut - Handles focus out events to reset menu state.\n * @method handleChange - Observes changes to the hidden attribute of child elements. Parameters: source: any, propertyName: string.\n * @method setFocus - Sets focus on a menu item based on the provided index and adjustment. Parameters: focusIndex: number, adjustment: number.\n *\n * @extends FASTElement\n * @tagname fabric-menu-list\n * @public\n */\nexport class MenuList extends FASTElement {\n itemsChanged(oldValue, newValue) {\n // only update children after the component is connected and\n // the setItems has run on connectedCallback\n // (menuItems is undefined until then)\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.setItems();\n }\n }\n constructor() {\n super();\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The index of the focusable element in the items array\n * defaults to -1\n */\n this.focusIndex = -1;\n /**\n * @internal\n */\n this.isNestedMenu = () => {\n return (this.parentElement !== null &&\n isHTMLElement(this.parentElement) &&\n this.parentElement.getAttribute(\"role\") === \"menuitem\");\n };\n /**\n * if focus is moving out of the menu, reset to a stable initial state\n * @internal\n */\n this.handleFocusOut = (e) => {\n if (!this.contains(e.relatedTarget) &&\n this.menuItems !== undefined) {\n // find our first focusable element\n const focusIndex = this.menuItems.findIndex(this.isFocusableElement);\n // set the current focus index's tabindex to -1\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n // set the first focusable element tabindex to 0\n this.menuItems[focusIndex].setAttribute(\"tabindex\", \"0\");\n // set the focus index\n this.focusIndex = focusIndex;\n }\n };\n this.handleItemFocus = (e) => {\n const targetItem = e.target;\n if (this.menuItems !== undefined &&\n targetItem !== this.menuItems[this.focusIndex]) {\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n this.focusIndex = this.menuItems.indexOf(targetItem);\n targetItem.setAttribute(\"tabindex\", \"0\");\n }\n };\n /**\n * Handle change from child MenuItem element and set radio group behavior\n */\n this.changedMenuItemHandler = (e) => {\n if (this.menuItems === undefined) {\n return;\n }\n const changedMenuItem = e.target;\n const changeItemIndex = this.menuItems.indexOf(changedMenuItem);\n if (changeItemIndex === -1) {\n return;\n }\n if (changedMenuItem.role === \"menuitemradio\" &&\n changedMenuItem.checked === true) {\n for (let i = changeItemIndex - 1; i >= 0; --i) {\n const item = this.menuItems[i];\n const role = item.getAttribute(\"role\");\n if (role === MenuItemRoles.menuitemradio) {\n item.checked = false;\n }\n if (role === \"separator\") {\n break;\n }\n }\n const maxIndex = this.menuItems.length - 1;\n for (let i = changeItemIndex + 1; i <= maxIndex; ++i) {\n const item = this.menuItems[i];\n const role = item.getAttribute(\"role\");\n if (role === MenuItemRoles.menuitemradio) {\n item.checked = false;\n }\n if (role === \"separator\") {\n break;\n }\n }\n }\n };\n /**\n * check if the item is a menu item\n */\n this.isMenuItemElement = (el) => {\n return (el instanceof MenuItem ||\n (isHTMLElement(el) &&\n el.getAttribute(\"role\") in MenuList.focusableElementRoles));\n };\n /**\n * check if the item is focusable\n */\n this.isFocusableElement = (el) => {\n return this.isMenuItemElement(el);\n };\n this.elementInternals.role = \"menu\";\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n // wait until children have had a chance to\n // connect before setting/checking their props/attributes\n this.setItems();\n });\n this.addEventListener(\"change\", this.changedMenuItemHandler);\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeItemListeners();\n this.menuItems = undefined;\n this.removeEventListener(\"change\", this.changedMenuItemHandler);\n }\n /**\n * Focuses the first item in the menu.\n *\n * @public\n */\n focus() {\n super.focus();\n }\n /**\n * @internal\n */\n handleMenuKeyDown(e) {\n if (e.defaultPrevented || this.menuItems === undefined) {\n return;\n }\n switch (e.key) {\n case keyArrowDown:\n // go forward one index\n this.setFocus(this.focusIndex + 1, 1);\n return;\n case keyArrowUp:\n // go back one index\n this.setFocus(this.focusIndex - 1, -1);\n return;\n case keyEnd:\n // set focus on last item\n this.setFocus(this.menuItems.length - 1, -1);\n return;\n case keyHome:\n // set focus on first item\n this.setFocus(0, 1);\n return;\n default:\n // if we are not handling the event, do not prevent default\n return true;\n }\n }\n removeItemListeners(items = this.items) {\n items.forEach((item) => {\n item.removeEventListener(\"focus\", this.handleItemFocus);\n Observable.getNotifier(item).unsubscribe(this, \"hidden\");\n });\n }\n static elementIndent(el) {\n const role = el.getAttribute(\"role\");\n const startSlot = el.querySelector(\"[slot=start]\");\n if (role && role !== MenuItemRoles.menuitem) {\n return startSlot ? 2 : 1;\n }\n return startSlot ? 1 : 0;\n }\n setItems() {\n var _a;\n const children = Array.from(this.children);\n this.removeItemListeners(children);\n children.forEach((child) => Observable.getNotifier(child).subscribe(this, \"hidden\"));\n const newItems = children.filter((child) => !child.hasAttribute(\"hidden\"));\n this.menuItems = newItems;\n const menuItems = this.menuItems.filter(this.isMenuItemElement);\n // if our focus index is not -1 we have items\n if (menuItems.length) {\n this.focusIndex = 0;\n }\n menuItems.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n item.addEventListener(\"focus\", this.handleItemFocus);\n });\n /**\n * Set the indent attribute on MenuItem elements based on their\n * position in the MenuList. Each MenuItem element has a data-indent attribute that is\n * used to set the indent of the element's start slot content.\n */\n const filteredMenuListItems = (_a = this.menuItems) === null || _a === void 0 ? void 0 : _a.filter(this.isMenuItemElement);\n const indent = filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.reduce((accum, current) => {\n const elementValue = MenuList.elementIndent(current);\n return Math.max(accum, elementValue);\n }, 0);\n filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.forEach((item) => {\n if (item instanceof MenuItem) {\n item.setAttribute(\"data-indent\", `${indent}`);\n }\n });\n }\n /**\n * Method for Observable changes to the hidden attribute of child elements\n */\n handleChange(_source, propertyName) {\n if (propertyName === \"hidden\") {\n this.setItems();\n }\n }\n setFocus(focusIndex, adjustment) {\n if (this.menuItems === undefined) {\n return;\n }\n while (focusIndex >= 0 && focusIndex < this.menuItems.length) {\n const child = this.menuItems[focusIndex];\n if (this.isFocusableElement(child)) {\n // change the previous index to -1\n if (this.focusIndex > -1 &&\n this.menuItems.length >= this.focusIndex - 1) {\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n }\n // update the focus index\n this.focusIndex = focusIndex;\n // update the tabindex of next focusable element\n child.setAttribute(\"tabindex\", \"0\");\n // focus the element\n child.focus();\n break;\n }\n focusIndex += adjustment;\n }\n }\n}\nMenuList.focusableElementRoles = MenuItemRoles;\n__decorate([\n observable\n], MenuList.prototype, \"items\", void 0);\n//# sourceMappingURL=menu-list.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyEnter, keySpace, keyEscape, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { toggleState } from \"../../util/element-internals.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\n/**\n * AccordionMenuPanel\n * @summary An AccordionMenuPanel component that provides expandable and collapsible sections within an accordion menu.\n *\n * @example\n * ```html\n * <fabric-accordion-menu>\n * <fabric-accordion-menu-panel id=\"examplePanel\" expanded>\n * <div slot=\"heading\">Section 1</div>\n * <span slot=\"marker-expanded\">-</span>\n * <span slot=\"marker-collapsed\">+</span>\n * <fabric-menu-list>\n * <fabric-menu-item>Content for section 1</fabric-menu-item>\n * <fabric-menu-item>Content for section 2</fabric-menu-item>\n * </fabric-menu-list>\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-menu>\n * ```\n *\n * @attr {boolean} expanded - Expands or collapses the item.\n * @attr {boolean} disabled - Disables the accordion item.\n * @attr {string} id - The item ID.\n * @attr {AccordionMenuPanelSize} size - Defines the accordion header font size.\n * @attr {boolean} block - Sets the width of the focus state.\n * @attr {AccordionMenuPanelMarkerPosition} marker-position - Sets expand and collapsed icon position.\n *\n * @prop {ElementInternals} elementInternals - Internal element state used to manage the component.\n * @prop {MenuList[] | undefined} menuList - The menu list element if present.\n * @prop {HTMLElement | undefined} headingElement - Reference to the heading element.\n * @prop {boolean} expanded - Expands or collapses the item.\n * @prop {boolean} disabled - Disables an accordion item\n * @prop {string} id - The item ID.\n * @prop {AccordionMenuPanelSize | undefined} size - Defines accordion header font size.\n * @prop {boolean} block - Sets the width of the focus state.\n * @prop {AccordionMenuPanelMarkerPosition | undefined} markerPosition - Sets expand and collapsed icon position.\n *\n * @slot heading - Slot for the heading content.\n * @slot marker-expanded - Slot for the expanded icon.\n * @slot marker-collapsed - Slot for the collapsed icon.\n * @slot - Default slot for the accordion item content.\n *\n * @csspart heading - Represents the heading of the accordion item.\n * @csspart heading-content - Represents the content container of the heading.\n * @csspart markers - Represents the container for expand/collapse icons.\n * @csspart content - Represents the content of the accordion item.\n *\n * @method focusFirstMenuItem - Focus the first menu item in the menu list.\n * @method expandedChanged - Handles expanded changes.\n * @method disabledChanged - Handles disabled changes.\n * @method sizeChanged - Handles changes to size attribute.\n * @method blockChanged - Handles changes to block attribute.\n * @method markerPositionChanged - Handles changes to marker-position attribute.\n *\n * @fires expanded-change - Event fired when the expanded state changes.\n *\n * @extends FASTElement\n * @tagname fabric-accordion-menu-panel\n * @public\n */\nexport class AccordionMenuPanel extends FASTElement {\n /** Constructor for the AccordionMenuPanel component. */\n constructor() {\n super();\n /** Internal element state used to manage the component. */\n this.elementInternals = this.attachInternals();\n /** The menu list element if present */\n this.menuList = [];\n /**\n * Handles click events.\n * @param e - The click event.\n */\n this.handleClick = (e) => {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.expanded = !this.expanded;\n };\n /**\n * Handles keydown events.\n * @param e - The keyboard event.\n */\n this.handleKeyDown = (e) => {\n var _a;\n if (e.defaultPrevented) {\n return;\n }\n if (e.key === \"Tab\") {\n return true;\n }\n switch (e.key) {\n case keyEnter:\n case keySpace:\n e.preventDefault();\n this.expanded = !this.expanded;\n break;\n case keyEscape:\n if (this.expanded) {\n e.preventDefault();\n this.expanded = false;\n (_a = this.headingElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n break;\n default:\n return;\n }\n };\n /**\n * Expands or collapses the item.\n *\n * @public\n * @remarks\n * HTML attribute: expanded\n */\n this.expanded = false;\n /**\n * Disables an accordion item\n *\n * @public\n * @remarks\n * HTML attribute: disabled\n */\n this.disabled = false;\n /**\n * The item ID\n *\n * @public\n * @remarks\n * HTML Attribute: id\n */\n this.id = uniqueId(\"accordion-\");\n /**\n * Sets the width of the focus state.\n *\n * @public\n * @remarks\n * HTML Attribute: block\n */\n this.block = false;\n this.elementInternals.role = \"button\";\n }\n /** Lifecycle method called when the component is connected to the DOM. */\n connectedCallback() {\n super.connectedCallback();\n }\n /** Lifecycle method called when the component is disconnected from the DOM. */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n /**\n * Focus the first menu item in the menu list\n */\n focusFirstMenuItem() {\n if (!this.menuList) {\n return;\n }\n Updates.enqueue(() => {\n var _a;\n if (this.menuList) {\n const menuList = this.menuList;\n if ((_a = menuList[0]) === null || _a === void 0 ? void 0 : _a.menuItems) {\n const menuItem = menuList[0].menuItems[0];\n menuItem.focus();\n }\n }\n });\n }\n /**\n * Handles expanded changes\n * @param prev - previous value\n * @param next - next value\n */\n expandedChanged(prev, next) {\n if (next !== prev) {\n toggleState(this.elementInternals, \"expanded\", next);\n this.$emit(\"expanded-change\", { expanded: next });\n if (next) {\n this.focusFirstMenuItem();\n }\n }\n }\n /**\n * Handles disabled changes\n * @param prev - previous value\n * @param next - next value\n */\n disabledChanged(_prev, next) {\n toggleState(this.elementInternals, \"disabled\", next);\n }\n /**\n * Handles changes to size attribute\n * @param prev - previous value\n * @param next - next value\n */\n sizeChanged(prev, next) {\n if (prev) {\n toggleState(this.elementInternals, prev, false);\n }\n if (next) {\n toggleState(this.elementInternals, next, true);\n }\n }\n /**\n * Handles changes to block attribute\n * @param prev - previous value\n * @param next - next value\n */\n blockChanged(_prev, next) {\n toggleState(this.elementInternals, \"block\", next);\n }\n /**\n * Handles changes to marker-position attribute\n * @param prev - previous value\n * @param next - next value\n */\n markerPositionChanged(prev, next) {\n if (prev) {\n toggleState(this.elementInternals, `align-${prev}`, false);\n }\n if (next) {\n toggleState(this.elementInternals, `align-${next}`, true);\n }\n }\n}\n__decorate([\n observable\n], AccordionMenuPanel.prototype, \"menuList\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"expanded\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], AccordionMenuPanel.prototype, \"id\", void 0);\n__decorate([\n attr\n], AccordionMenuPanel.prototype, \"size\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"block\", void 0);\n__decorate([\n attr({ attribute: \"marker-position\" })\n], AccordionMenuPanel.prototype, \"markerPosition\", void 0);\n//# sourceMappingURL=accordion-menu-panel.js.map","/**\n * Expand mode for {@link AccordionMenu}\n * @public\n */\nexport const AccordionMenuExpandModes = {\n single: \"single\",\n multi: \"multi\"\n};\n//# sourceMappingURL=accordion-menu.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Observable } from \"@microsoft/fast-element\";\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { isHTMLElement } from \"@microsoft/fast-web-utilities\";\nimport { AccordionMenuPanel } from \"../accordion-menu-panel/accordion-menu-panel.js\";\nimport { AccordionMenuExpandModes } from \"./accordion-menu.options.js\";\nimport { MenuItem } from \"../menu-item/menu-item.js\";\nimport { MenuItemRoles } from \"../menu-item/menu-item.options.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\n/**\n * AccordionMenu\n * @summary An AccordionMenu component that provides an interactive accordion interface, allowing for expandable and collapsible sections. Implements ARIA Accordion.\n *\n * @example\n * ```html\n * <fabric-accordion-menu expand-mode=\"single\">\n * <fabric-accordion-item>\n * <fabric-accordion-menu-panel>\n * <!-- content for first panel -->\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-item>\n * <fabric-accordion-item>\n * <fabric-accordion-menu-panel>\n * <!-- content for second panel -->\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-item>\n * <!-- additional accordion items here -->\n * </fabric-accordion-menu>\n * ```\n *\n * @attr {AccordionMenuExpandMode} expand-mode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @prop {ElementInternals} elementInternals - Internal element state used to manage the component.\n * @prop {HTMLElement[]} slottedElements - The slotted accordion menu items.\n * @prop {AccordionMenuExpandMode} expandmode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @slot - The default slot for the accordion items.\n *\n * @csspart accordion-menu - Represents the accordion menu container.\n *\n * @method expandmodeChanged - Handles changes to the `expandmode` attribute.\n * @method handleChange - Handles changes to observed properties.\n * @method clearSelections - Clears the selections of menu items.\n * @method findExpandedItem - Finds the first expanded item in the accordion.\n * @method setItems - Sets up the accordion items.\n * @method isSingleExpandMode - Checks if the accordion is in single expand mode.\n * @method setSingleExpandMode - Controls the behavior of the accordion in single expand mode.\n *\n * @fires change - Fires a custom 'change' event when the active item changes.\n *\n * @extends FASTElement\n * @tagname fabric-accordion-menu\n * @public\n */\nexport class AccordionMenu extends FASTElement {\n /** Constructor for the AccordionMenu component. */\n constructor() {\n super();\n /** Internal element state used to manage the component. */\n this.elementInternals = this.attachInternals();\n /**\n * Controls the expand mode of the Accordion, either allowing\n * single or multiple item expansion.\n * HTML attribute: expand-mode\n * @public\n */\n this.expandmode = AccordionMenuExpandModes.multi;\n /**\n * The slotted accordion menu items.\n * @public\n */\n this.slottedElements = [];\n /**\n * check if the item is a menu item\n */\n this.isMenuItemElement = (el) => {\n return (el instanceof MenuItem ||\n (isHTMLElement(el) &&\n el.getAttribute(\"role\") in MenuList.focusableElementRoles));\n };\n /**\n * Removes event listeners from items.\n */\n this.removeItemListeners = (items) => {\n items.forEach((item) => {\n Observable.getNotifier(item).unsubscribe(this, \"disabled\");\n Observable.getNotifier(item).unsubscribe(this, \"expanded\");\n });\n };\n this.elementInternals.role = \"menu\";\n }\n /** Lifecycle method called when the component is connected to the DOM. */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.setItems();\n });\n }\n /** Lifecycle method called when the component is disconnected from the DOM. */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeItemListeners(this.slottedElements);\n this.slottedElements = [];\n }\n /**\n * Handles changes to the `expandmode` attribute.\n * @param prev - The previous value.\n * @param next - The next value.\n */\n expandmodeChanged(_prev, next) {\n if (!this.$fastController.isConnected) {\n return;\n }\n const expandedItem = this.findExpandedItem();\n if (!expandedItem) {\n return;\n }\n if (next === AccordionMenuExpandModes.single) {\n this.setSingleExpandMode(expandedItem);\n }\n else {\n expandedItem === null || expandedItem === void 0 ? void 0 : expandedItem.removeAttribute(\"aria-disabled\");\n }\n }\n /**\n * Handles changes to observed properties.\n * @param source - The source element.\n * @param propertyName - The name of the property that changed.\n */\n handleChange(source, propertyName) {\n if (propertyName === \"disabled\") {\n this.setItems();\n }\n else if (propertyName === \"expanded\") {\n const sourcePanel = source;\n if (sourcePanel.expanded && this.isSingleExpandMode()) {\n this.setSingleExpandMode(sourcePanel);\n }\n }\n }\n /**\n * Clears the selections of menu items.\n */\n clearSelections() {\n if (this.slottedElements === undefined) {\n return;\n }\n this.slottedElements.forEach((item) => {\n if (item instanceof AccordionMenuPanel && item.menuList) {\n item.menuList.forEach((menuItem) => {\n var _a;\n const menuList = menuItem;\n (_a = menuList.menuItems) === null || _a === void 0 ? void 0 : _a.forEach((menuItem) => {\n if (menuItem instanceof MenuItem) {\n menuItem.checked = false;\n }\n });\n });\n }\n });\n }\n /**\n * Finds the first expanded item in the accordion.\n */\n findExpandedItem() {\n var _a;\n if (this.slottedElements.length === 0) {\n return null;\n }\n return ((_a = this.slottedElements.find((item) => item instanceof AccordionMenuPanel && item.expanded)) !== null && _a !== void 0 ? _a : this.slottedElements[0]);\n }\n /**\n * Sets up the accordion items.\n */\n setItems() {\n var _a;\n if (this.slottedElements.length === 0) {\n return;\n }\n const children = Array.from(this.children);\n this.removeItemListeners(children);\n children.forEach((child) => Observable.getNotifier(child).subscribe(this, \"disabled\"));\n this.slottedElements = children.filter((child) => !child.hasAttribute(\"disabled\"));\n // Set initial tabindex for each accordion item\n this.slottedElements.forEach((item) => {\n if (item instanceof AccordionMenuPanel) {\n Observable.getNotifier(item).subscribe(this, \"expanded\");\n }\n });\n if (this.isSingleExpandMode()) {\n const expandedItem = this.findExpandedItem();\n this.setSingleExpandMode(expandedItem);\n }\n /**\n * Set the indent attribute on MenuItem elements based on their\n * position in the MenuList. Each MenuItem element has a data-indent attribute that is\n * used to set the indent of the element's start slot content.\n */\n const filteredMenuListItems = (_a = this.slottedElements) === null || _a === void 0 ? void 0 : _a.filter(this.isMenuItemElement);\n const indent = filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.reduce((accum, current) => {\n const elementValue = AccordionMenu.elementIndent(current);\n return Math.max(accum, elementValue);\n }, 0);\n filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.forEach((item) => {\n if (item instanceof MenuItem) {\n item.setAttribute(\"data-indent\", `${indent}`);\n }\n });\n }\n static elementIndent(el) {\n const role = el.getAttribute(\"role\");\n const startSlot = el.querySelector(\"[slot=start]\");\n if (role && role !== MenuItemRoles.menuitem) {\n return startSlot ? 2 : 1;\n }\n return startSlot ? 1 : 0;\n }\n /**\n * Checks if the accordion is in single expand mode.\n */\n isSingleExpandMode() {\n return this.expandmode === AccordionMenuExpandModes.single;\n }\n /**\n * Controls the behavior of the accordion in single expand mode.\n */\n setSingleExpandMode(expandedItem) {\n if (this.slottedElements.length === 0) {\n return;\n }\n const currentItems = Array.from(this.slottedElements);\n currentItems.forEach((item) => {\n if (item instanceof AccordionMenuPanel) {\n if (item === expandedItem) {\n item.expanded = true;\n this.setAttribute(\"aria-disabled\", \"true\");\n }\n else {\n item.expanded = false;\n if (!item.hasAttribute(\"disabled\")) {\n this.removeAttribute(\"aria-disabled\");\n }\n }\n }\n });\n }\n}\n__decorate([\n attr({ attribute: \"expand-mode\" })\n], AccordionMenu.prototype, \"expandmode\", void 0);\n__decorate([\n observable\n], AccordionMenu.prototype, \"slottedElements\", void 0);\n//# sourceMappingURL=accordion-menu.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * @public\n */\nexport function accordionMenuTemplate() {\n return html `\n <template class=\"accordion-menu\">\n <slot\n ${slotted({\n property: \"slottedElements\"\n })}\n ></slot>\n </template>\n `;\n}\nexport const template = accordionMenuTemplate();\n//# sourceMappingURL=accordion-menu.template.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingVerticalXXS, spacingHorizontalL, spacingHorizontalXL } from \"@fluentui/web-components\";\nexport const styles = css `\n ${display(\"flex\")}\n\n :host {\n contain: content;\n flex-direction: column;\n height: fit-content;\n max-width: calc(${spacingHorizontalXL} * 15);\n min-width: calc(${spacingHorizontalL} * 10);\n width: auto;\n background-color: var(--colorNeutralBackground1);\n border: 1px solid var(--colorTransparentStroke);\n border-radius: var(--borderRadiusMedium);\n box-shadow: var(--shadow16);\n row-gap: ${spacingVerticalXXS};\n }\n`;\n//# sourceMappingURL=accordion-menu.styles.js.map","export const DesignSystem = Object.freeze({\n prefix: \"fabric\",\n shadowRootMode: \"open\",\n registry: customElements\n});\n//# sourceMappingURL=design-system.js.map","import { AccordionMenu } from \"./accordion-menu.js\";\nimport { styles } from \"./accordion-menu.styles.js\";\nimport { template } from \"./accordion-menu.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-accordion-menu>\n */\nexport const definition = AccordionMenu.compose({\n name: `${DesignSystem.prefix}-accordion-menu`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-menu.definition.js.map","/**\n * An Accordion Menu Panel header font size can be small, medium, large, and extra-large\n * @public\n */\nexport const AccordionMenuPanelSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n extraLarge: \"extra-large\"\n};\n/**\n * An Accordion Menu Panel expand/collapse icon can appear at the start or end of the accordion\n * @public\n */\nexport const AccordionMenuPanelMarkerPositions = {\n start: \"start\",\n end: \"end\"\n};\n//# sourceMappingURL=accordion-menu-panel.options.js.map","import { html, slotted, ref } from \"@microsoft/fast-element\";\nconst chevronRight16Filled = html.partial(`<svg class=\"default-marker-collapsed\" fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.74 3.2a.75.75 0 00-.04 1.06L9.23 8 5.7 11.74a.75.75 0 101.1 1.02l4-4.25a.75.75 0 000-1.02l-4-4.25a.75.75 0 00-1.06-.04z\" fill=\"currentColor\"></path></svg>`);\nconst chevronDown20Filled = html.partial(`<svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"default-marker-expanded\"\n aria-hidden=\"true\"\n>\n <path\n d=\"M15.794 7.73271C16.0797 8.03263 16.0681 8.50737 15.7682 8.79306L10.5178 13.7944C10.2281 14.0703 9.77285 14.0703 9.48318 13.7944L4.23271 8.79306C3.93279 8.50737 3.92125 8.03263 4.20694 7.73271C4.49264 7.43279 4.96737 7.42125 5.26729 7.70694L10.0005 12.2155L14.7336 7.70694C15.0336 7.42125 15.5083 7.43279 15.794 7.73271Z\"\n fill=\"currentColor\"\n />\n</svg>`);\nexport function accordionMenuPanelTemplate() {\n return html `\n <template @keydown=\"${(x, c) => x.handleKeyDown(c.event)}\">\n <div\n ${ref(\"headingElement\")}\n class=\"heading\"\n part=\"heading\"\n role=\"button\"\n tabindex=\"0\"\n aria-expanded=\"${(x) => x.expanded}\"\n aria-controls=\"${(x) => x.id}-panel\"\n aria-disabled=\"${(x) => x.disabled}\"\n id=\"${(x) => x.id}\"\n @click=\"${(x, c) => x.handleClick(c.event)}\"\n @keydown=\"${(x, c) => x.handleKeyDown(c.event)}\"\n >\n <slot name=\"start\"></slot>\n <div class=\"heading-content\" part=\"heading-content\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"markers\" part=\"markers\">\n <slot name=\"marker-expanded\">${chevronDown20Filled}</slot>\n <slot name=\"marker-collapsed\">${chevronRight16Filled}</slot>\n </div>\n </div>\n <div\n class=\"content\"\n part=\"content\"\n id=\"${(x) => x.id}-panel\"\n ?hidden=\"${(x) => !x.expanded}\"\n >\n <slot ${slotted(\"menuList\")}></slot>\n </div>\n </template>\n `;\n}\n/**\n * The template for the accordion menu panel component.\n * @public\n */\nexport const template = accordionMenuPanelTemplate();\n//# sourceMappingURL=accordion-menu-panel.template.js.map","import { stateSelector } from \"../../../util/element-internals\";\n/**\n * Selector for the `active` state.\n * @public\n */\nexport const activeState = stateSelector(\"active\");\n/**\n * Selector for the `align-end` state.\n * @public\n */\nexport const alignEndState = stateSelector(\"align-end\");\n/**\n * Selector for the `align-start` state.\n * @public\n */\nexport const alignStartState = stateSelector(\"align-start\");\n/**\n * Selector for the `anchor` state.\n * @public\n */\nexport const anchorState = stateSelector(\"anchor\");\n/**\n * Selector for the `auto-resize` state.\n * @public\n */\nexport const autoResizeState = stateSelector(\"auto-resize\");\n/**\n * Selector for the `bad-input` state.\n * @public\n */\nexport const badInputState = stateSelector(\"bad-input\");\n/**\n * Selector for the `beige` state.\n * @public\n */\nexport const beigeState = stateSelector(\"beige\");\n/**\n * Selector for the `block` state.\n * @public\n */\nexport const blockState = stateSelector(\"block\");\n/**\n * Selector for the `blue` state.\n * @public\n */\nexport const blueState = stateSelector(\"blue\");\n/**\n * Selector for the `bold` state.\n * @public\n */\nexport const boldState = stateSelector(\"bold\");\n/**\n * Selector for the `bordered` state.\n * @public\n */\nexport const borderedState = stateSelector(\"bordered\");\n/**\n * Selector for the `brand` state.\n * @public\n */\nexport const brandState = stateSelector(\"brand\");\n/**\n * Selector for the `brass` state.\n * @public\n */\nexport const brassState = stateSelector(\"brass\");\n/**\n * Selector for the `brown` state.\n * @public\n */\nexport const brownState = stateSelector(\"brown\");\n/**\n * Selector for the `center` state.\n * @public\n */\nexport const centerState = stateSelector(\"center\");\n/**\n * Selector for the `checked` state.\n * @public\n */\nexport const checkedState = stateSelector(\"checked\");\n/**\n * Selector for the `circular` state.\n * @public\n */\nexport const circularState = stateSelector(\"circular\");\n/**\n * Selector for the `cornflower` state.\n * @public\n */\nexport const cornflowerState = stateSelector(\"cornflower\");\n/**\n * Selector for the `cranberry` state.\n * @public\n */\nexport const cranberryState = stateSelector(\"cranberry\");\n/**\n * Selector for the `custom-error` state.\n * @public\n */\nexport const customErrorState = stateSelector(\"custom-error\");\n/**\n * Selector for the `danger` state.\n * @public\n */\nexport const dangerState = stateSelector(\"danger\");\n/**\n * Selector for the `dark-green` state.\n * @public\n */\nexport const darkGreenState = stateSelector(\"dark-green\");\n/**\n * Selector for the `dark-red` state.\n * @public\n */\nexport const darkRedState = stateSelector(\"dark-red\");\n/**\n * Selector for the `description` state.\n */\nexport const descriptionState = stateSelector(\"description\");\n/**\n * Selector for the `disabled` state.\n * @public\n */\nexport const disabledState = stateSelector(\"disabled\");\n/**\n * Selector for the `display-shadow` state.\n * @public\n */\nexport const displayShadowState = stateSelector(\"display-shadow\");\n/**\n * Selector for the `dot` state.\n * @public\n */\nexport const dotState = stateSelector(\"dot\");\n/**\n * Selector for the `end` state.\n * @public\n */\nexport const endState = stateSelector(\"end\");\n/**\n * Selector for the `error` state.\n * @public\n */\nexport const errorState = stateSelector(\"error\");\n/**\n * Selector for the `expanded` state.\n * @public\n */\nexport const expandedState = stateSelector(\"expanded\");\n/**\n * Selector for the `extra-large` state.\n * @public\n */\nexport const extraLargeState = stateSelector(\"extra-large\");\n/**\n * Selector for the `extra-small` state.\n * @public\n */\nexport const extraSmallState = stateSelector(\"extra-small\");\n/**\n * Selector for the `filled-darker` state.\n * @public\n */\nexport const filledDarkerState = stateSelector(\"filled-darker\");\n/**\n * Selector for the `filled-lighter` state.\n * @public\n */\nexport const filledLighterState = stateSelector(\"filled-lighter\");\n/**\n * Selector for the `fit-center` state.\n * @public\n */\nexport const fitCenterState = stateSelector(\"fit-center\");\n/**\n * Selector for the `fit-contain` state.\n * @public\n */\nexport const fitContainState = stateSelector(\"fit-contain\");\n/**\n * Selector for the `fit-cover` state.\n * @public\n */\nexport const fitCoverState = stateSelector(\"fit-cover\");\n/**\n * Selector for the `fit-none` state.\n * @public\n */\nexport const fitNoneState = stateSelector(\"fit-none\");\n/**\n * Selector for the `flip-block` state.\n * @public\n */\nexport const flipBlockState = stateSelector(\"flip-block\");\n/**\n * Selector for the `focus-visible` state.\n * @public\n */\nexport const focusVisibleState = stateSelector(\"focus-visible\");\n/**\n * Selector for the `forest` state.\n * @public\n */\nexport const forestState = stateSelector(\"forest\");\n/**\n * Selector for the `ghost` state.\n * @public\n */\nexport const ghostState = stateSelector(\"ghost\");\n/**\n * Selector for the `gold` state.\n * @public\n */\nexport const goldState = stateSelector(\"gold\");\n/**\n * Selector for the `grape` state.\n * @public\n */\nexport const grapeState = stateSelector(\"grape\");\n/**\n * Selector for the `has-message` state.\n * @public\n */\nexport const hasMessageState = stateSelector(\"has-message\");\n/**\n * Selector for the `huge` state.\n * @public\n */\nexport const hugeState = stateSelector(\"huge\");\n/**\n * Selector for the `icon` state.\n * @public\n */\nexport const iconOnlyState = stateSelector(\"icon\");\n/**\n * Selector for the `important` state.\n * @public\n */\nexport const importantState = stateSelector(\"important\");\n/**\n * Selector for the `indeterminate` state.\n * @public\n */\nexport const indeterminateState = stateSelector(\"indeterminate\");\n/**\n * Selector for the `informative` state.\n * @public\n */\nexport const informativeState = stateSelector(\"informative\");\n/**\n * Selector for the `inline` state.\n * @public\n */\nexport const inlineState = stateSelector(\"inline\");\n/**\n * Selector for the `inset` state.\n * @public\n */\nexport const insetState = stateSelector(\"inset\");\n/**\n * Selector for the `inverted` state.\n * @public\n */\nexport const invertedState = stateSelector(\"inverted\");\n/**\n * Selector for the `italic` state.\n * @public\n */\nexport const italicState = stateSelector(\"italic\");\n/**\n * Selector for the `justify` state.\n * @public\n */\nexport const justifyState = stateSelector(\"justify\");\n/**\n * Selector for the `large` state.\n * @public\n */\nexport const largeState = stateSelector(\"large\");\n/**\n * Selector for the `lavender` state.\n * @public\n */\nexport const lavenderState = stateSelector(\"lavender\");\n/**\n * Selector for the `light-teal` state.\n * @public\n */\nexport const lightTealState = stateSelector(\"light-teal\");\n/**\n * Selector for the `lilac` state.\n * @public\n */\nexport const lilacState = stateSelector(\"lilac\");\n/**\n * Selector for the `magenta` state.\n * @public\n */\nexport const magentaState = stateSelector(\"magenta\");\n/**\n * Selector for the `marigold` state.\n * @public\n */\nexport const marigoldState = stateSelector(\"marigold\");\n/**\n * Selector for the `medium` state.\n * @public\n */\nexport const mediumState = stateSelector(\"medium\");\n/**\n * Selector for the `mink` state.\n * @public\n */\nexport const minkState = stateSelector(\"mink\");\n/**\n * Selector for the `monospace` state.\n * @public\n */\nexport const monospaceState = stateSelector(\"monospace\");\n/**\n * Selector for the `multiline` state.\n * @public\n */\nexport const multiLineState = stateSelector(\"multiline\");\n/**\n * Selector for the `multiselect` state.\n * @public\n */\nexport const multipleState = stateSelector(\"multiple\");\n/**\n * Selector for the `navy` state.\n * @public\n */\nexport const navyState = stateSelector(\"navy\");\n/**\n * Selector for the `neutral` state.\n * @public\n */\nexport const neutralState = stateSelector(\"neutral\");\n/**\n * Selector for the `nowrap` state.\n * @public\n */\nexport const nowrapState = stateSelector(\"nowrap\");\n/**\n * Selector for the `numeric` state.\n * @public\n */\nexport const numericState = stateSelector(\"numeric\");\n/**\n * Selector for the `open` state.\n * @public\n */\nexport const openState = stateSelector(\"open\");\n/**\n * Selector for the `outline` state.\n * @public\n */\nexport const outlineState = stateSelector(\"outline\");\n/**\n * Selector for the `pattern-mismatch` state.\n * @public\n */\nexport const patternMismatchState = stateSelector(\"pattern-mismatch\");\n/**\n * Selector for the `peach` state.\n * @public\n */\nexport const peachState = stateSelector(\"peach\");\n/**\n * Selector for the `pink` state.\n * @public\n */\nexport const pinkState = stateSelector(\"pink\");\n/**\n * Selector for the `placeholder-shown` state.\n * @public\n */\nexport const placeholderShownState = stateSelector(\"placeholder-shown\");\n/**\n * Selector for the `platinum` state.\n * @public\n */\nexport const platinumState = stateSelector(\"platinum\");\n/**\n * Selector for the `plum` state.\n * @public\n */\nexport const plumState = stateSelector(\"plum\");\n/**\n * Selector for the `pressed` state.\n * @public\n */\nexport const pressedState = stateSelector(\"pressed\");\n/**\n * Selector for the `primary` state.\n * @public\n */\nexport const primaryState = stateSelector(\"primary\");\n/**\n * Selector for the `pumpkin` state.\n * @public\n */\nexport const pumpkinState = stateSelector(\"pumpkin\");\n/**\n * Selector for the `purple` state.\n * @public\n */\nexport const purpleState = stateSelector(\"purple\");\n/**\n * Selector for the `range-overflow` state.\n * @public\n */\nexport const rangeOverflowState = stateSelector(\"range-overflow\");\n/**\n * Selector for the `range-underflow` state.\n * @public\n */\nexport const rangeUnderflowState = stateSelector(\"range-underflow\");\n/**\n * Selector for the `red` state.\n * @public\n */\nexport const redState = stateSelector(\"red\");\n/**\n * Selector for the `resize-both` state.\n * @public\n */\nexport const resizeBothState = stateSelector(\"resize-both\");\n/**\n * Selector for the `resize-horizontal` state.\n * @public\n */\nexport const resizeHorizontalState = stateSelector(\"resize-horizontal\");\n/**\n * Selector for the `resize-vertical` state.\n * @public\n */\nexport const resizeVerticalState = stateSelector(\"resize-vertical\");\n/**\n * Selector for the `rounded` state.\n * @public\n */\nexport const roundedState = stateSelector(\"rounded\");\n/**\n * Selector for the `royal-blue` state.\n * @public\n */\nexport const royalBlueState = stateSelector(\"royal-blue\");\n/**\n * Selector for the `seafoam` state.\n * @public\n */\nexport const seafoamState = stateSelector(\"seafoam\");\n/**\n * Selector for the `selected` state.\n * @public\n */\nexport const selectedState = stateSelector(\"selected\");\n/**\n * Selector for the `semibold` state.\n * @public\n */\nexport const semiboldState = stateSelector(\"semibold\");\n/**\n * Selector for the `severe` state.\n * @public\n */\nexport const severeState = stateSelector(\"severe\");\n/**\n * Selector for the `shadow` state.\n * @public\n */\nexport const shadowState = stateSelector(\"shadow\");\n/**\n * Selector for the `size1000` state.\n * @public\n */\nexport const size1000State = stateSelector(\"size-1000\");\n/**\n * Selector for the `size100` state.\n * @public\n */\nexport const size100State = stateSelector(\"size-100\");\n/**\n * Selector for the `size200` state.\n * @public\n */\nexport const size200State = stateSelector(\"size-200\");\n/**\n * Selector for the `size400` state.\n * @public\n */\nexport const size400State = stateSelector(\"size-400\");\n/**\n * Selector for the `size500` state.\n * @public\n */\nexport const size500State = stateSelector(\"size-500\");\n/**\n * Selector for the `size600` state.\n * @public\n */\nexport const size600State = stateSelector(\"size-600\");\n/**\n * Selector for the `size700` state.\n * @public\n */\nexport const size700State = stateSelector(\"size-700\");\n/**\n * Selector for the `size800` state.\n * @public\n */\nexport const size800State = stateSelector(\"size-800\");\n/**\n * Selector for the `size900` state.\n * @public\n */\nexport const size900State = stateSelector(\"size-900\");\n/**\n * Selector for the `small` state.\n * @public\n */\nexport const smallState = stateSelector(\"small\");\n/**\n * Selector for the `square` state.\n * @public\n */\nexport const squareState = stateSelector(\"square\");\n/**\n * Selector for the `steel` state.\n * @public\n */\nexport const steelState = stateSelector(\"steel\");\n/**\n * Selector for the `step-mismatch` state.\n * @public\n */\nexport const stepMismatchState = stateSelector(\"step-mismatch\");\n/**\n * Selector for the `strikethrough` state.\n * @public\n */\nexport const strikethroughState = stateSelector(\"strikethrough\");\n/**\n * Selector for the `strong` state.\n * @public\n */\nexport const strongState = stateSelector(\"strong\");\n/**\n * Selector for the `submenu` state.\n * @public\n */\nexport const submenuState = stateSelector(\"submenu\");\n/**\n * Selector for the `subtle` state.\n * @public\n */\nexport const subtleState = stateSelector(\"subtle\");\n/**\n * Selector for the `success` state.\n * @public\n */\nexport const successState = stateSelector(\"success\");\n/**\n * Selector for the `teal` state.\n * @public\n */\nexport const tealState = stateSelector(\"teal\");\n/**\n * Selector for the `tint` state.\n * @public\n */\nexport const tintState = stateSelector(\"tint\");\n/**\n * Selector for the `tiny` state.\n * @public\n */\nexport const tinyState = stateSelector(\"tiny\");\n/**\n * Selector for the `too-long` state.\n * @public\n */\nexport const tooLongState = stateSelector(\"too-long\");\n/**\n * Selector for the `too-short` state.\n * @public\n */\nexport const tooShortState = stateSelector(\"too-short\");\n/**\n * Selector for the `transparent` state.\n * @public\n */\nexport const transparentState = stateSelector(\"transparent\");\n/**\n * Selector for the `truncate` state.\n * @public\n */\nexport const truncateState = stateSelector(\"truncate\");\n/**\n * Selector for the `type-mismatch` state.\n * @public\n */\nexport const typeMismatchState = stateSelector(\"type-mismatch\");\n/**\n * Selector for the `underline` state.\n * @public\n */\nexport const underlineState = stateSelector(\"underline\");\n/**\n * Selector for the `user-invalid` state.\n * @public\n */\nexport const userInvalidState = stateSelector(\"user-invalid\");\n/**\n * Selector for the `valid` state.\n * @public\n */\nexport const validState = stateSelector(\"valid\");\n/**\n * Selector for the `value-missing` state.\n * @public\n */\nexport const valueMissingState = stateSelector(\"value-missing\");\n/**\n * Selector for the `vertical` state.\n * @public\n */\nexport const verticalState = stateSelector(\"vertical\");\n/**\n * Selector for the `warning` state.\n * @public\n */\nexport const warningState = stateSelector(\"warning\");\n//# sourceMappingURL=states.js.map","/* !!! DO NOT EDIT !!! */ /* This file has been generated by the token pipeline */ export const grey = {\n '2': '#050505',\n '4': '#0a0a0a',\n '6': '#0f0f0f',\n '8': '#141414',\n '10': '#1a1a1a',\n '12': '#1f1f1f',\n '14': '#242424',\n '16': '#292929',\n '18': '#2e2e2e',\n '20': '#333333',\n '22': '#383838',\n '24': '#3d3d3d',\n '26': '#424242',\n '28': '#474747',\n '30': '#4d4d4d',\n '32': '#525252',\n '34': '#575757',\n '36': '#5c5c5c',\n '38': '#616161',\n '40': '#666666',\n '42': '#6b6b6b',\n '44': '#707070',\n '46': '#757575',\n '48': '#7a7a7a',\n '50': '#808080',\n '52': '#858585',\n '54': '#8a8a8a',\n '56': '#8f8f8f',\n '58': '#949494',\n '60': '#999999',\n '62': '#9e9e9e',\n '64': '#a3a3a3',\n '66': '#a8a8a8',\n '68': '#adadad',\n '70': '#b3b3b3',\n '72': '#b8b8b8',\n '74': '#bdbdbd',\n '76': '#c2c2c2',\n '78': '#c7c7c7',\n '80': '#cccccc',\n '82': '#d1d1d1',\n '84': '#d6d6d6',\n '86': '#dbdbdb',\n '88': '#e0e0e0',\n '90': '#e6e6e6',\n '92': '#ebebeb',\n '94': '#f0f0f0',\n '96': '#f5f5f5',\n '98': '#fafafa',\n '99': '#fcfcfc'\n};\nexport const whiteAlpha = {\n '5': 'rgba(255, 255, 255, 0.05)',\n '10': 'rgba(255, 255, 255, 0.1)',\n '20': 'rgba(255, 255, 255, 0.2)',\n '30': 'rgba(255, 255, 255, 0.3)',\n '40': 'rgba(255, 255, 255, 0.4)',\n '50': 'rgba(255, 255, 255, 0.5)',\n '60': 'rgba(255, 255, 255, 0.6)',\n '70': 'rgba(255, 255, 255, 0.7)',\n '80': 'rgba(255, 255, 255, 0.8)',\n '90': 'rgba(255, 255, 255, 0.9)'\n};\nexport const blackAlpha = {\n '5': 'rgba(0, 0, 0, 0.05)',\n '10': 'rgba(0, 0, 0, 0.1)',\n '20': 'rgba(0, 0, 0, 0.2)',\n '30': 'rgba(0, 0, 0, 0.3)',\n '40': 'rgba(0, 0, 0, 0.4)',\n '50': 'rgba(0, 0, 0, 0.5)',\n '60': 'rgba(0, 0, 0, 0.6)',\n '70': 'rgba(0, 0, 0, 0.7)',\n '80': 'rgba(0, 0, 0, 0.8)',\n '90': 'rgba(0, 0, 0, 0.9)'\n};\nexport const grey10Alpha = {\n '5': 'rgba(26, 26, 26, 0.05)',\n '10': 'rgba(26, 26, 26, 0.1)',\n '20': 'rgba(26, 26, 26, 0.2)',\n '30': 'rgba(26, 26, 26, 0.3)',\n '40': 'rgba(26, 26, 26, 0.4)',\n '50': 'rgba(26, 26, 26, 0.5)',\n '60': 'rgba(26, 26, 26, 0.6)',\n '70': 'rgba(26, 26, 26, 0.7)',\n '80': 'rgba(26, 26, 26, 0.8)',\n '90': 'rgba(26, 26, 26, 0.9)'\n};\nexport const grey12Alpha = {\n '5': 'rgba(31, 31, 31, 0.05)',\n '10': 'rgba(31, 31, 31, 0.1)',\n '20': 'rgba(31, 31, 31, 0.2)',\n '30': 'rgba(31, 31, 31, 0.3)',\n '40': 'rgba(31, 31, 31, 0.4)',\n '50': 'rgba(31, 31, 31, 0.5)',\n '60': 'rgba(31, 31, 31, 0.6)',\n '70': 'rgba(31, 31, 31, 0.7)',\n '80': 'rgba(31, 31, 31, 0.8)',\n '90': 'rgba(31, 31, 31, 0.9)'\n};\nexport const grey14Alpha = {\n '5': 'rgba(36, 36, 36, 0.05)',\n '10': 'rgba(36, 36, 36, 0.1)',\n '20': 'rgba(36, 36, 36, 0.2)',\n '30': 'rgba(36, 36, 36, 0.3)',\n '40': 'rgba(36, 36, 36, 0.4)',\n '50': 'rgba(36, 36, 36, 0.5)',\n '60': 'rgba(36, 36, 36, 0.6)',\n '70': 'rgba(36, 36, 36, 0.7)',\n '80': 'rgba(36, 36, 36, 0.8)',\n '90': 'rgba(36, 36, 36, 0.9)'\n};\nexport const white = '#ffffff';\nexport const black = '#000000';\nexport const hcHyperlink = '#ffff00';\nexport const hcHighlight = '#1aebff';\nexport const hcDisabled = '#3ff23f';\nexport const hcCanvas = '#000000';\nexport const hcCanvasText = '#ffffff';\nexport const hcHighlightText = '#000000';\nexport const hcButtonText = '#000000';\nexport const hcButtonFace = '#ffffff';\nexport const darkRed = {\n shade50: '#130204',\n shade40: '#230308',\n shade30: '#420610',\n shade20: '#590815',\n shade10: '#690a19',\n primary: '#750b1c',\n tint10: '#861b2c',\n tint20: '#962f3f',\n tint30: '#ac4f5e',\n tint40: '#d69ca5',\n tint50: '#e9c7cd',\n tint60: '#f9f0f2'\n};\nexport const burgundy = {\n shade50: '#1a0607',\n shade40: '#310b0d',\n shade30: '#5c1519',\n shade20: '#7d1d21',\n shade10: '#942228',\n primary: '#a4262c',\n tint10: '#af393e',\n tint20: '#ba4d52',\n tint30: '#c86c70',\n tint40: '#e4afb2',\n tint50: '#f0d3d4',\n tint60: '#fbf4f4'\n};\nexport const cranberry = {\n shade50: '#200205',\n shade40: '#3b0509',\n shade30: '#6e0811',\n shade20: '#960b18',\n shade10: '#b10e1c',\n primary: '#c50f1f',\n tint10: '#cc2635',\n tint20: '#d33f4c',\n tint30: '#dc626d',\n tint40: '#eeacb2',\n tint50: '#f6d1d5',\n tint60: '#fdf3f4'\n};\nexport const red = {\n shade50: '#210809',\n shade40: '#3f1011',\n shade30: '#751d1f',\n shade20: '#9f282b',\n shade10: '#bc2f32',\n primary: '#d13438',\n tint10: '#d7494c',\n tint20: '#dc5e62',\n tint30: '#e37d80',\n tint40: '#f1bbbc',\n tint50: '#f8dadb',\n tint60: '#fdf6f6'\n};\nexport const darkOrange = {\n shade50: '#230900',\n shade40: '#411200',\n shade30: '#7a2101',\n shade20: '#a62d01',\n shade10: '#c43501',\n primary: '#da3b01',\n tint10: '#de501c',\n tint20: '#e36537',\n tint30: '#e9835e',\n tint40: '#f4bfab',\n tint50: '#f9dcd1',\n tint60: '#fdf6f3'\n};\nexport const bronze = {\n shade50: '#1b0a01',\n shade40: '#321303',\n shade30: '#5e2405',\n shade20: '#7f3107',\n shade10: '#963a08',\n primary: '#a74109',\n tint10: '#b2521e',\n tint20: '#bc6535',\n tint30: '#ca8057',\n tint40: '#e5bba4',\n tint50: '#f1d9cc',\n tint60: '#fbf5f2'\n};\nexport const pumpkin = {\n shade50: '#200d03',\n shade40: '#3d1805',\n shade30: '#712d09',\n shade20: '#9a3d0c',\n shade10: '#b6480e',\n primary: '#ca5010',\n tint10: '#d06228',\n tint20: '#d77440',\n tint30: '#df8e64',\n tint40: '#efc4ad',\n tint50: '#f7dfd2',\n tint60: '#fdf7f4'\n};\nexport const orange = {\n shade50: '#271002',\n shade40: '#4a1e04',\n shade30: '#8a3707',\n shade20: '#bc4b09',\n shade10: '#de590b',\n primary: '#f7630c',\n tint10: '#f87528',\n tint20: '#f98845',\n tint30: '#faa06b',\n tint40: '#fdcfb4',\n tint50: '#fee5d7',\n tint60: '#fff9f5'\n};\nexport const peach = {\n shade50: '#291600',\n shade40: '#4d2a00',\n shade30: '#8f4e00',\n shade20: '#c26a00',\n shade10: '#e67e00',\n primary: '#ff8c00',\n tint10: '#ff9a1f',\n tint20: '#ffa83d',\n tint30: '#ffba66',\n tint40: '#ffddb3',\n tint50: '#ffedd6',\n tint60: '#fffaf5'\n};\nexport const marigold = {\n shade50: '#251a00',\n shade40: '#463100',\n shade30: '#835b00',\n shade20: '#b27c00',\n shade10: '#d39300',\n primary: '#eaa300',\n tint10: '#edad1c',\n tint20: '#efb839',\n tint30: '#f2c661',\n tint40: '#f9e2ae',\n tint50: '#fcefd3',\n tint60: '#fefbf4'\n};\nexport const yellow = {\n shade50: '#282400',\n shade40: '#4c4400',\n shade30: '#817400',\n shade20: '#c0ad00',\n shade10: '#e4cc00',\n primary: '#fde300',\n tint10: '#fde61e',\n tint20: '#fdea3d',\n tint30: '#feee66',\n tint40: '#fef7b2',\n tint50: '#fffad6',\n tint60: '#fffef5'\n};\nexport const gold = {\n shade50: '#1f1900',\n shade40: '#3a2f00',\n shade30: '#6c5700',\n shade20: '#937700',\n shade10: '#ae8c00',\n primary: '#c19c00',\n tint10: '#c8a718',\n tint20: '#d0b232',\n tint30: '#dac157',\n tint40: '#ecdfa5',\n tint50: '#f5eece',\n tint60: '#fdfbf2'\n};\nexport const brass = {\n shade50: '#181202',\n shade40: '#2e2103',\n shade30: '#553e06',\n shade20: '#745408',\n shade10: '#89640a',\n primary: '#986f0b',\n tint10: '#a47d1e',\n tint20: '#b18c34',\n tint30: '#c1a256',\n tint40: '#e0cea2',\n tint50: '#efe4cb',\n tint60: '#fbf8f2'\n};\nexport const brown = {\n shade50: '#170e07',\n shade40: '#2b1a0e',\n shade30: '#50301a',\n shade20: '#6c4123',\n shade10: '#804d29',\n primary: '#8e562e',\n tint10: '#9c663f',\n tint20: '#a97652',\n tint30: '#bb8f6f',\n tint40: '#ddc3b0',\n tint50: '#edded3',\n tint60: '#faf7f4'\n};\nexport const darkBrown = {\n shade50: '#0c0704',\n shade40: '#170c08',\n shade30: '#2b1710',\n shade20: '#3a1f15',\n shade10: '#452519',\n primary: '#4d291c',\n tint10: '#623a2b',\n tint20: '#784d3e',\n tint30: '#946b5c',\n tint40: '#caada3',\n tint50: '#e3d2cb',\n tint60: '#f8f3f2'\n};\nexport const lime = {\n shade50: '#121b06',\n shade40: '#23330b',\n shade30: '#405f14',\n shade20: '#57811b',\n shade10: '#689920',\n primary: '#73aa24',\n tint10: '#81b437',\n tint20: '#90be4c',\n tint30: '#a4cc6c',\n tint40: '#cfe5af',\n tint50: '#e5f1d3',\n tint60: '#f8fcf4'\n};\nexport const forest = {\n shade50: '#0c1501',\n shade40: '#162702',\n shade30: '#294903',\n shade20: '#376304',\n shade10: '#427505',\n primary: '#498205',\n tint10: '#599116',\n tint20: '#6ba02b',\n tint30: '#85b44c',\n tint40: '#bdd99b',\n tint50: '#dbebc7',\n tint60: '#f6faf0'\n};\nexport const seafoam = {\n shade50: '#002111',\n shade40: '#003d20',\n shade30: '#00723b',\n shade20: '#009b51',\n shade10: '#00b85f',\n primary: '#00cc6a',\n tint10: '#19d279',\n tint20: '#34d889',\n tint30: '#5ae0a0',\n tint40: '#a8f0cd',\n tint50: '#cff7e4',\n tint60: '#f3fdf8'\n};\nexport const lightGreen = {\n shade50: '#031a02',\n shade40: '#063004',\n shade30: '#0b5a08',\n shade20: '#0e7a0b',\n shade10: '#11910d',\n primary: '#13a10e',\n tint10: '#27ac22',\n tint20: '#3db838',\n tint30: '#5ec75a',\n tint40: '#a7e3a5',\n tint50: '#cef0cd',\n tint60: '#f2fbf2'\n};\nexport const green = {\n shade50: '#031403',\n shade40: '#052505',\n shade30: '#094509',\n shade20: '#0c5e0c',\n shade10: '#0e700e',\n primary: '#107c10',\n tint10: '#218c21',\n tint20: '#359b35',\n tint30: '#54b054',\n tint40: '#9fd89f',\n tint50: '#c9eac9',\n tint60: '#f1faf1'\n};\nexport const darkGreen = {\n shade50: '#021102',\n shade40: '#032003',\n shade30: '#063b06',\n shade20: '#085108',\n shade10: '#0a5f0a',\n primary: '#0b6a0b',\n tint10: '#1a7c1a',\n tint20: '#2d8e2d',\n tint30: '#4da64d',\n tint40: '#9ad29a',\n tint50: '#c6e7c6',\n tint60: '#f0f9f0'\n};\nexport const lightTeal = {\n shade50: '#001d1f',\n shade40: '#00373a',\n shade30: '#00666d',\n shade20: '#008b94',\n shade10: '#00a5af',\n primary: '#00b7c3',\n tint10: '#18bfca',\n tint20: '#32c8d1',\n tint30: '#58d3db',\n tint40: '#a6e9ed',\n tint50: '#cef3f5',\n tint60: '#f2fcfd'\n};\nexport const teal = {\n shade50: '#001516',\n shade40: '#012728',\n shade30: '#02494c',\n shade20: '#026467',\n shade10: '#037679',\n primary: '#038387',\n tint10: '#159195',\n tint20: '#2aa0a4',\n tint30: '#4cb4b7',\n tint40: '#9bd9db',\n tint50: '#c7ebec',\n tint60: '#f0fafa'\n};\nexport const darkTeal = {\n shade50: '#001010',\n shade40: '#001f1f',\n shade30: '#003939',\n shade20: '#004e4e',\n shade10: '#005c5c',\n primary: '#006666',\n tint10: '#0e7878',\n tint20: '#218b8b',\n tint30: '#41a3a3',\n tint40: '#92d1d1',\n tint50: '#c2e7e7',\n tint60: '#eff9f9'\n};\nexport const cyan = {\n shade50: '#00181e',\n shade40: '#002e38',\n shade30: '#005669',\n shade20: '#00748f',\n shade10: '#008aa9',\n primary: '#0099bc',\n tint10: '#18a4c4',\n tint20: '#31afcc',\n tint30: '#56bfd7',\n tint40: '#a4deeb',\n tint50: '#cdedf4',\n tint60: '#f2fafc'\n};\nexport const steel = {\n shade50: '#000f12',\n shade40: '#001b22',\n shade30: '#00333f',\n shade20: '#004555',\n shade10: '#005265',\n primary: '#005b70',\n tint10: '#0f6c81',\n tint20: '#237d92',\n tint30: '#4496a9',\n tint40: '#94c8d4',\n tint50: '#c3e1e8',\n tint60: '#eff7f9'\n};\nexport const lightBlue = {\n shade50: '#091823',\n shade40: '#112d42',\n shade30: '#20547c',\n shade20: '#2c72a8',\n shade10: '#3487c7',\n primary: '#3a96dd',\n tint10: '#4fa1e1',\n tint20: '#65ade5',\n tint30: '#83bdeb',\n tint40: '#bfddf5',\n tint50: '#dcedfa',\n tint60: '#f6fafe'\n};\nexport const blue = {\n shade50: '#001322',\n shade40: '#002440',\n shade30: '#004377',\n shade20: '#005ba1',\n shade10: '#006cbf',\n primary: '#0078d4',\n tint10: '#1a86d9',\n tint20: '#3595de',\n tint30: '#5caae5',\n tint40: '#a9d3f2',\n tint50: '#d0e7f8',\n tint60: '#f3f9fd'\n};\nexport const royalBlue = {\n shade50: '#000c16',\n shade40: '#00172a',\n shade30: '#002c4e',\n shade20: '#003b6a',\n shade10: '#00467e',\n primary: '#004e8c',\n tint10: '#125e9a',\n tint20: '#286fa8',\n tint30: '#4a89ba',\n tint40: '#9abfdc',\n tint50: '#c7dced',\n tint60: '#f0f6fa'\n};\nexport const darkBlue = {\n shade50: '#000910',\n shade40: '#00111f',\n shade30: '#002039',\n shade20: '#002b4e',\n shade10: '#00335c',\n primary: '#003966',\n tint10: '#0e4a78',\n tint20: '#215c8b',\n tint30: '#4178a3',\n tint40: '#92b5d1',\n tint50: '#c2d6e7',\n tint60: '#eff4f9'\n};\nexport const cornflower = {\n shade50: '#0d1126',\n shade40: '#182047',\n shade30: '#2c3c85',\n shade20: '#3c51b4',\n shade10: '#4760d5',\n primary: '#4f6bed',\n tint10: '#637cef',\n tint20: '#778df1',\n tint30: '#93a4f4',\n tint40: '#c8d1fa',\n tint50: '#e1e6fc',\n tint60: '#f7f9fe'\n};\nexport const navy = {\n shade50: '#00061d',\n shade40: '#000c36',\n shade30: '#001665',\n shade20: '#001e89',\n shade10: '#0023a2',\n primary: '#0027b4',\n tint10: '#173bbd',\n tint20: '#3050c6',\n tint30: '#546fd2',\n tint40: '#a3b2e8',\n tint50: '#ccd5f3',\n tint60: '#f2f4fc'\n};\nexport const lavender = {\n shade50: '#120f25',\n shade40: '#221d46',\n shade30: '#3f3682',\n shade20: '#5649b0',\n shade10: '#6656d1',\n primary: '#7160e8',\n tint10: '#8172eb',\n tint20: '#9184ee',\n tint30: '#a79cf1',\n tint40: '#d2ccf8',\n tint50: '#e7e4fb',\n tint60: '#f9f8fe'\n};\nexport const purple = {\n shade50: '#0f0717',\n shade40: '#1c0e2b',\n shade30: '#341a51',\n shade20: '#46236e',\n shade10: '#532982',\n primary: '#5c2e91',\n tint10: '#6b3f9e',\n tint20: '#7c52ab',\n tint30: '#9470bd',\n tint40: '#c6b1de',\n tint50: '#e0d3ed',\n tint60: '#f7f4fb'\n};\nexport const darkPurple = {\n shade50: '#0a0411',\n shade40: '#130820',\n shade30: '#240f3c',\n shade20: '#311552',\n shade10: '#3a1861',\n primary: '#401b6c',\n tint10: '#512b7e',\n tint20: '#633e8f',\n tint30: '#7e5ca7',\n tint40: '#b9a3d3',\n tint50: '#d8cce7',\n tint60: '#f5f2f9'\n};\nexport const orchid = {\n shade50: '#16101d',\n shade40: '#281e37',\n shade30: '#4c3867',\n shade20: '#674c8c',\n shade10: '#795aa6',\n primary: '#8764b8',\n tint10: '#9373c0',\n tint20: '#a083c9',\n tint30: '#b29ad4',\n tint40: '#d7caea',\n tint50: '#e9e2f4',\n tint60: '#f9f8fc'\n};\nexport const grape = {\n shade50: '#160418',\n shade40: '#29072e',\n shade30: '#4c0d55',\n shade20: '#671174',\n shade10: '#7a1589',\n primary: '#881798',\n tint10: '#952aa4',\n tint20: '#a33fb1',\n tint30: '#b55fc1',\n tint40: '#d9a7e0',\n tint50: '#eaceef',\n tint60: '#faf2fb'\n};\nexport const berry = {\n shade50: '#1f091d',\n shade40: '#3a1136',\n shade30: '#6d2064',\n shade20: '#932b88',\n shade10: '#af33a1',\n primary: '#c239b3',\n tint10: '#c94cbc',\n tint20: '#d161c4',\n tint30: '#da7ed0',\n tint40: '#edbbe7',\n tint50: '#f5daf2',\n tint60: '#fdf5fc'\n};\nexport const lilac = {\n shade50: '#1c0b1f',\n shade40: '#35153a',\n shade30: '#63276d',\n shade20: '#863593',\n shade10: '#9f3faf',\n primary: '#b146c2',\n tint10: '#ba58c9',\n tint20: '#c36bd1',\n tint30: '#cf87da',\n tint40: '#e6bfed',\n tint50: '#f2dcf5',\n tint60: '#fcf6fd'\n};\nexport const pink = {\n shade50: '#24091b',\n shade40: '#441232',\n shade30: '#80215d',\n shade20: '#ad2d7e',\n shade10: '#cd3595',\n primary: '#e43ba6',\n tint10: '#e750b0',\n tint20: '#ea66ba',\n tint30: '#ef85c8',\n tint40: '#f7c0e3',\n tint50: '#fbddf0',\n tint60: '#fef6fb'\n};\nexport const hotPink = {\n shade50: '#240016',\n shade40: '#44002a',\n shade30: '#7f004e',\n shade20: '#ad006a',\n shade10: '#cc007e',\n primary: '#e3008c',\n tint10: '#e61c99',\n tint20: '#ea38a6',\n tint30: '#ee5fb7',\n tint40: '#f7adda',\n tint50: '#fbd2eb',\n tint60: '#fef4fa'\n};\nexport const magenta = {\n shade50: '#1f0013',\n shade40: '#390024',\n shade30: '#6b0043',\n shade20: '#91005a',\n shade10: '#ac006b',\n primary: '#bf0077',\n tint10: '#c71885',\n tint20: '#ce3293',\n tint30: '#d957a8',\n tint40: '#eca5d1',\n tint50: '#f5cee6',\n tint60: '#fcf2f9'\n};\nexport const plum = {\n shade50: '#13000c',\n shade40: '#240017',\n shade30: '#43002b',\n shade20: '#5a003b',\n shade10: '#6b0045',\n primary: '#77004d',\n tint10: '#87105d',\n tint20: '#98246f',\n tint30: '#ad4589',\n tint40: '#d696c0',\n tint50: '#e9c4dc',\n tint60: '#faf0f6'\n};\nexport const beige = {\n shade50: '#141313',\n shade40: '#252323',\n shade30: '#444241',\n shade20: '#5d5958',\n shade10: '#6e6968',\n primary: '#7a7574',\n tint10: '#8a8584',\n tint20: '#9a9594',\n tint30: '#afabaa',\n tint40: '#d7d4d4',\n tint50: '#eae8e8',\n tint60: '#faf9f9'\n};\nexport const mink = {\n shade50: '#0f0e0e',\n shade40: '#1c1b1a',\n shade30: '#343231',\n shade20: '#474443',\n shade10: '#54514f',\n primary: '#5d5a58',\n tint10: '#706d6b',\n tint20: '#84817e',\n tint30: '#9e9b99',\n tint40: '#cecccb',\n tint50: '#e5e4e3',\n tint60: '#f8f8f8'\n};\nexport const silver = {\n shade50: '#151818',\n shade40: '#282d2e',\n shade30: '#4a5356',\n shade20: '#657174',\n shade10: '#78868a',\n primary: '#859599',\n tint10: '#92a1a5',\n tint20: '#a0aeb1',\n tint30: '#b3bfc2',\n tint40: '#d8dfe0',\n tint50: '#eaeeef',\n tint60: '#fafbfb'\n};\nexport const platinum = {\n shade50: '#111314',\n shade40: '#1f2426',\n shade30: '#3b4447',\n shade20: '#505c60',\n shade10: '#5f6d71',\n primary: '#69797e',\n tint10: '#79898d',\n tint20: '#89989d',\n tint30: '#a0adb2',\n tint40: '#cdd6d8',\n tint50: '#e4e9ea',\n tint60: '#f8f9fa'\n};\nexport const anchor = {\n shade50: '#090a0b',\n shade40: '#111315',\n shade30: '#202427',\n shade20: '#2b3135',\n shade10: '#333a3f',\n primary: '#394146',\n tint10: '#4d565c',\n tint20: '#626c72',\n tint30: '#808a90',\n tint40: '#bcc3c7',\n tint50: '#dbdfe1',\n tint60: '#f6f7f8'\n};\nexport const charcoal = {\n shade50: '#090909',\n shade40: '#111111',\n shade30: '#202020',\n shade20: '#2b2b2b',\n shade10: '#333333',\n primary: '#393939',\n tint10: '#515151',\n tint20: '#686868',\n tint30: '#888888',\n tint40: '#c4c4c4',\n tint50: '#dfdfdf',\n tint60: '#f7f7f7'\n};\n","import { red, green, darkOrange, yellow, berry, lightGreen, marigold, darkRed, cranberry, pumpkin, peach, gold, brass, brown, forest, seafoam, darkGreen, lightTeal, teal, steel, blue, royalBlue, cornflower, navy, lavender, purple, grape, lilac, pink, magenta, plum, beige, mink, platinum, anchor, orange } from \"./colors.js\";\nexport const statusSharedColors = {\n red,\n green,\n darkOrange,\n yellow,\n berry,\n lightGreen,\n marigold\n};\nexport const personaSharedColors = {\n darkRed,\n cranberry,\n pumpkin,\n peach,\n gold,\n brass,\n brown,\n forest,\n seafoam,\n darkGreen,\n lightTeal,\n teal,\n steel,\n blue,\n royalBlue,\n cornflower,\n navy,\n lavender,\n purple,\n grape,\n lilac,\n pink,\n magenta,\n plum,\n beige,\n mink,\n platinum,\n anchor\n};\nexport const mappedStatusColors = {\n cranberry,\n green,\n orange\n};\n","/* Names of colors used in shared color palette alias tokens for status. */ export const statusSharedColorNames = [\n 'red',\n 'green',\n 'darkOrange',\n 'yellow',\n 'berry',\n 'lightGreen',\n 'marigold'\n];\n/* Names of colors used in shared color palette alias tokens for persona. */ export const personaSharedColorNames = [\n 'darkRed',\n 'cranberry',\n 'pumpkin',\n 'peach',\n 'gold',\n 'brass',\n 'brown',\n 'forest',\n 'seafoam',\n 'darkGreen',\n 'lightTeal',\n 'teal',\n 'steel',\n 'blue',\n 'royalBlue',\n 'cornflower',\n 'navy',\n 'lavender',\n 'purple',\n 'grape',\n 'lilac',\n 'pink',\n 'magenta',\n 'plum',\n 'beige',\n 'mink',\n 'platinum',\n 'anchor'\n];\n/* List of global colors which semantic alias status tokens map to */ export const mappedStatusColorNames = [\n 'cranberry',\n 'green',\n 'orange'\n];\n/* Names of colors not used in alias tokens but produced by token pipeline as global color tokens. */ export const unusedSharedColorNames = [\n 'burgundy',\n 'bronze',\n 'orange',\n 'darkBrown',\n 'lime',\n 'darkTeal',\n 'cyan',\n 'lightBlue',\n 'darkBlue',\n 'darkPurple',\n 'orchid',\n 'hotPink',\n 'silver',\n 'charcoal'\n];\n","export const statusColorMapping = {\n success: 'green',\n warning: 'orange',\n danger: 'cranberry'\n};\n","import { statusSharedColors, personaSharedColors, mappedStatusColors } from \"../global/colorPalette.js\";\nimport { statusSharedColorNames, personaSharedColorNames } from \"../sharedColorNames.js\";\nimport { statusColorMapping } from \"../statusColorMapping.js\";\nconst statusColorPaletteTokens = statusSharedColorNames.reduce((acc, sharedColor)=>{\n const color = sharedColor.slice(0, 1).toUpperCase() + sharedColor.slice(1);\n const sharedColorTokens = {\n [`colorPalette${color}Background1`]: statusSharedColors[sharedColor].tint60,\n [`colorPalette${color}Background2`]: statusSharedColors[sharedColor].tint40,\n [`colorPalette${color}Background3`]: statusSharedColors[sharedColor].primary,\n [`colorPalette${color}Foreground1`]: statusSharedColors[sharedColor].shade10,\n [`colorPalette${color}Foreground2`]: statusSharedColors[sharedColor].shade30,\n [`colorPalette${color}Foreground3`]: statusSharedColors[sharedColor].primary,\n [`colorPalette${color}BorderActive`]: statusSharedColors[sharedColor].primary,\n [`colorPalette${color}Border1`]: statusSharedColors[sharedColor].tint40,\n [`colorPalette${color}Border2`]: statusSharedColors[sharedColor].primary\n };\n return Object.assign(acc, sharedColorTokens);\n}, {});\n// one-off patch for yellow\nstatusColorPaletteTokens.colorPaletteYellowForeground1 = statusSharedColors.yellow.shade30;\nstatusColorPaletteTokens.colorPaletteRedForegroundInverted = statusSharedColors.red.tint20;\nstatusColorPaletteTokens.colorPaletteGreenForegroundInverted = statusSharedColors.green.tint20;\nstatusColorPaletteTokens.colorPaletteYellowForegroundInverted = statusSharedColors.yellow.tint40;\nconst personaColorPaletteTokens = personaSharedColorNames.reduce((acc, sharedColor)=>{\n const color = sharedColor.slice(0, 1).toUpperCase() + sharedColor.slice(1);\n const sharedColorTokens = {\n [`colorPalette${color}Background2`]: personaSharedColors[sharedColor].tint40,\n [`colorPalette${color}Foreground2`]: personaSharedColors[sharedColor].shade30,\n [`colorPalette${color}BorderActive`]: personaSharedColors[sharedColor].primary\n };\n return Object.assign(acc, sharedColorTokens);\n}, {});\nexport const colorPaletteTokens = {\n ...statusColorPaletteTokens,\n ...personaColorPaletteTokens\n};\nexport const colorStatusTokens = Object.entries(statusColorMapping).reduce((acc, [statusColor, sharedColor])=>{\n const color = statusColor.slice(0, 1).toUpperCase() + statusColor.slice(1);\n // TODO: double check the mapping with design\n const statusColorTokens = {\n [`colorStatus${color}Background1`]: mappedStatusColors[sharedColor].tint60,\n [`colorStatus${color}Background2`]: mappedStatusColors[sharedColor].tint40,\n [`colorStatus${color}Background3`]: mappedStatusColors[sharedColor].primary,\n [`colorStatus${color}Foreground1`]: mappedStatusColors[sharedColor].shade10,\n [`colorStatus${color}Foreground2`]: mappedStatusColors[sharedColor].shade30,\n [`colorStatus${color}Foreground3`]: mappedStatusColors[sharedColor].primary,\n [`colorStatus${color}ForegroundInverted`]: mappedStatusColors[sharedColor].tint30,\n [`colorStatus${color}BorderActive`]: mappedStatusColors[sharedColor].primary,\n [`colorStatus${color}Border1`]: mappedStatusColors[sharedColor].tint40,\n [`colorStatus${color}Border2`]: mappedStatusColors[sharedColor].primary\n };\n return Object.assign(acc, statusColorTokens);\n}, {});\n// one-off overrides for colorStatus tokens\ncolorStatusTokens.colorStatusDangerBackground3Hover = mappedStatusColors[statusColorMapping.danger].shade10;\ncolorStatusTokens.colorStatusDangerBackground3Pressed = mappedStatusColors[statusColorMapping.danger].shade20;\ncolorStatusTokens.colorStatusWarningForeground1 = mappedStatusColors[statusColorMapping.warning].shade20;\ncolorStatusTokens.colorStatusWarningForeground3 = mappedStatusColors[statusColorMapping.warning].shade20;\ncolorStatusTokens.colorStatusWarningBorder2 = mappedStatusColors[statusColorMapping.warning].shade20;\n","/* !!! DO NOT EDIT !!! */ /* This file has been generated by the token pipeline */ import { black, blackAlpha, grey, white, whiteAlpha } from \"../global/colors.js\";\nexport const generateColorTokens = (brand)=>({\n colorNeutralForeground1: grey[14],\n colorNeutralForeground1Hover: grey[14],\n colorNeutralForeground1Pressed: grey[14],\n colorNeutralForeground1Selected: grey[14],\n colorNeutralForeground2: grey[26],\n colorNeutralForeground2Hover: grey[14],\n colorNeutralForeground2Pressed: grey[14],\n colorNeutralForeground2Selected: grey[14],\n colorNeutralForeground2BrandHover: brand[80],\n colorNeutralForeground2BrandPressed: brand[70],\n colorNeutralForeground2BrandSelected: brand[80],\n colorNeutralForeground3: grey[38],\n colorNeutralForeground3Hover: grey[26],\n colorNeutralForeground3Pressed: grey[26],\n colorNeutralForeground3Selected: grey[26],\n colorNeutralForeground3BrandHover: brand[80],\n colorNeutralForeground3BrandPressed: brand[70],\n colorNeutralForeground3BrandSelected: brand[80],\n colorNeutralForeground4: grey[44],\n colorNeutralForeground5: grey[38],\n colorNeutralForeground5Hover: grey[14],\n colorNeutralForeground5Pressed: grey[14],\n colorNeutralForeground5Selected: grey[14],\n colorNeutralForegroundDisabled: grey[74],\n colorNeutralForegroundInvertedDisabled: whiteAlpha[40],\n colorBrandForegroundLink: brand[70],\n colorBrandForegroundLinkHover: brand[60],\n colorBrandForegroundLinkPressed: brand[40],\n colorBrandForegroundLinkSelected: brand[70],\n colorNeutralForeground2Link: grey[26],\n colorNeutralForeground2LinkHover: grey[14],\n colorNeutralForeground2LinkPressed: grey[14],\n colorNeutralForeground2LinkSelected: grey[14],\n colorCompoundBrandForeground1: brand[80],\n colorCompoundBrandForeground1Hover: brand[70],\n colorCompoundBrandForeground1Pressed: brand[60],\n colorBrandForeground1: brand[80],\n colorBrandForeground2: brand[70],\n colorBrandForeground2Hover: brand[60],\n colorBrandForeground2Pressed: brand[30],\n colorNeutralForeground1Static: grey[14],\n colorNeutralForegroundStaticInverted: white,\n colorNeutralForegroundInverted: white,\n colorNeutralForegroundInvertedHover: white,\n colorNeutralForegroundInvertedPressed: white,\n colorNeutralForegroundInvertedSelected: white,\n colorNeutralForegroundInverted2: white,\n colorNeutralForegroundOnBrand: white,\n colorNeutralForegroundInvertedLink: white,\n colorNeutralForegroundInvertedLinkHover: white,\n colorNeutralForegroundInvertedLinkPressed: white,\n colorNeutralForegroundInvertedLinkSelected: white,\n colorBrandForegroundInverted: brand[100],\n colorBrandForegroundInvertedHover: brand[110],\n colorBrandForegroundInvertedPressed: brand[100],\n colorBrandForegroundOnLight: brand[80],\n colorBrandForegroundOnLightHover: brand[70],\n colorBrandForegroundOnLightPressed: brand[50],\n colorBrandForegroundOnLightSelected: brand[60],\n colorNeutralBackground1: white,\n colorNeutralBackground1Hover: grey[96],\n colorNeutralBackground1Pressed: grey[88],\n colorNeutralBackground1Selected: grey[92],\n colorNeutralBackground2: grey[98],\n colorNeutralBackground2Hover: grey[94],\n colorNeutralBackground2Pressed: grey[86],\n colorNeutralBackground2Selected: grey[90],\n colorNeutralBackground3: grey[96],\n colorNeutralBackground3Hover: grey[92],\n colorNeutralBackground3Pressed: grey[84],\n colorNeutralBackground3Selected: grey[88],\n colorNeutralBackground4: grey[94],\n colorNeutralBackground4Hover: grey[98],\n colorNeutralBackground4Pressed: grey[96],\n colorNeutralBackground4Selected: white,\n colorNeutralBackground5: grey[92],\n colorNeutralBackground5Hover: grey[96],\n colorNeutralBackground5Pressed: grey[94],\n colorNeutralBackground5Selected: grey[98],\n colorNeutralBackground6: grey[90],\n colorNeutralBackground7: '#00000000',\n colorNeutralBackground7Hover: grey[92],\n colorNeutralBackground7Pressed: grey[84],\n colorNeutralBackground7Selected: '#00000000',\n colorNeutralBackground8: grey[99],\n colorNeutralBackgroundInverted: grey[16],\n colorNeutralBackgroundInvertedHover: grey[24],\n colorNeutralBackgroundInvertedPressed: grey[12],\n colorNeutralBackgroundInvertedSelected: grey[22],\n colorNeutralBackgroundStatic: grey[20],\n colorNeutralBackgroundAlpha: whiteAlpha[50],\n colorNeutralBackgroundAlpha2: whiteAlpha[80],\n colorSubtleBackground: 'transparent',\n colorSubtleBackgroundHover: grey[96],\n colorSubtleBackgroundPressed: grey[88],\n colorSubtleBackgroundSelected: grey[92],\n colorSubtleBackgroundLightAlphaHover: whiteAlpha[70],\n colorSubtleBackgroundLightAlphaPressed: whiteAlpha[50],\n colorSubtleBackgroundLightAlphaSelected: 'transparent',\n colorSubtleBackgroundInverted: 'transparent',\n colorSubtleBackgroundInvertedHover: blackAlpha[10],\n colorSubtleBackgroundInvertedPressed: blackAlpha[30],\n colorSubtleBackgroundInvertedSelected: blackAlpha[20],\n colorTransparentBackground: 'transparent',\n colorTransparentBackgroundHover: 'transparent',\n colorTransparentBackgroundPressed: 'transparent',\n colorTransparentBackgroundSelected: 'transparent',\n colorNeutralBackgroundDisabled: grey[94],\n colorNeutralBackgroundDisabled2: white,\n colorNeutralBackgroundInvertedDisabled: whiteAlpha[10],\n colorNeutralStencil1: grey[90],\n colorNeutralStencil2: grey[98],\n colorNeutralStencil1Alpha: blackAlpha[10],\n colorNeutralStencil2Alpha: blackAlpha[5],\n colorBackgroundOverlay: blackAlpha[40],\n colorScrollbarOverlay: blackAlpha[50],\n colorBrandBackground: brand[80],\n colorBrandBackgroundHover: brand[70],\n colorBrandBackgroundPressed: brand[40],\n colorBrandBackgroundSelected: brand[60],\n colorCompoundBrandBackground: brand[80],\n colorCompoundBrandBackgroundHover: brand[70],\n colorCompoundBrandBackgroundPressed: brand[60],\n colorBrandBackgroundStatic: brand[80],\n colorBrandBackground2: brand[160],\n colorBrandBackground2Hover: brand[150],\n colorBrandBackground2Pressed: brand[130],\n colorBrandBackground3Static: brand[60],\n colorBrandBackground4Static: brand[40],\n colorBrandBackgroundInverted: white,\n colorBrandBackgroundInvertedHover: brand[160],\n colorBrandBackgroundInvertedPressed: brand[140],\n colorBrandBackgroundInvertedSelected: brand[150],\n colorNeutralCardBackground: grey[98],\n colorNeutralCardBackgroundHover: white,\n colorNeutralCardBackgroundPressed: grey[96],\n colorNeutralCardBackgroundSelected: grey[92],\n colorNeutralCardBackgroundDisabled: grey[94],\n colorNeutralStrokeAccessible: grey[38],\n colorNeutralStrokeAccessibleHover: grey[34],\n colorNeutralStrokeAccessiblePressed: grey[30],\n colorNeutralStrokeAccessibleSelected: brand[80],\n colorNeutralStroke1: grey[82],\n colorNeutralStroke1Hover: grey[78],\n colorNeutralStroke1Pressed: grey[70],\n colorNeutralStroke1Selected: grey[74],\n colorNeutralStroke2: grey[88],\n colorNeutralStroke3: grey[94],\n colorNeutralStroke4: grey[92],\n colorNeutralStroke4Hover: grey[88],\n colorNeutralStroke4Pressed: grey[84],\n colorNeutralStroke4Selected: grey[92],\n colorNeutralStrokeSubtle: grey[88],\n colorNeutralStrokeOnBrand: white,\n colorNeutralStrokeOnBrand2: white,\n colorNeutralStrokeOnBrand2Hover: white,\n colorNeutralStrokeOnBrand2Pressed: white,\n colorNeutralStrokeOnBrand2Selected: white,\n colorBrandStroke1: brand[80],\n colorBrandStroke2: brand[140],\n colorBrandStroke2Hover: brand[120],\n colorBrandStroke2Pressed: brand[80],\n colorBrandStroke2Contrast: brand[140],\n colorCompoundBrandStroke: brand[80],\n colorCompoundBrandStrokeHover: brand[70],\n colorCompoundBrandStrokePressed: brand[60],\n colorNeutralStrokeDisabled: grey[88],\n colorNeutralStrokeDisabled2: grey[92],\n colorNeutralStrokeInvertedDisabled: whiteAlpha[40],\n colorTransparentStroke: 'transparent',\n colorTransparentStrokeInteractive: 'transparent',\n colorTransparentStrokeDisabled: 'transparent',\n colorNeutralStrokeAlpha: blackAlpha[5],\n colorNeutralStrokeAlpha2: whiteAlpha[20],\n colorStrokeFocus1: white,\n colorStrokeFocus2: black,\n colorNeutralShadowAmbient: 'rgba(0,0,0,0.12)',\n colorNeutralShadowKey: 'rgba(0,0,0,0.14)',\n colorNeutralShadowAmbientLighter: 'rgba(0,0,0,0.06)',\n colorNeutralShadowKeyLighter: 'rgba(0,0,0,0.07)',\n colorNeutralShadowAmbientDarker: 'rgba(0,0,0,0.20)',\n colorNeutralShadowKeyDarker: 'rgba(0,0,0,0.24)',\n colorBrandShadowAmbient: 'rgba(0,0,0,0.30)',\n colorBrandShadowKey: 'rgba(0,0,0,0.25)'\n });\n","export const borderRadius = {\n borderRadiusNone: '0',\n borderRadiusSmall: '2px',\n borderRadiusMedium: '4px',\n borderRadiusLarge: '6px',\n borderRadiusXLarge: '8px',\n borderRadius2XLarge: '12px',\n borderRadius3XLarge: '16px',\n borderRadius4XLarge: '24px',\n borderRadius5XLarge: '32px',\n borderRadius6XLarge: '40px',\n borderRadiusCircular: '10000px'\n};\n","export const curves = {\n curveAccelerateMax: 'cubic-bezier(0.9,0.1,1,0.2)',\n curveAccelerateMid: 'cubic-bezier(1,0,1,1)',\n curveAccelerateMin: 'cubic-bezier(0.8,0,0.78,1)',\n curveDecelerateMax: 'cubic-bezier(0.1,0.9,0.2,1)',\n curveDecelerateMid: 'cubic-bezier(0,0,0,1)',\n curveDecelerateMin: 'cubic-bezier(0.33,0,0.1,1)',\n curveEasyEaseMax: 'cubic-bezier(0.8,0,0.2,1)',\n curveEasyEase: 'cubic-bezier(0.33,0,0.67,1)',\n curveLinear: 'cubic-bezier(0,0,1,1)'\n};\n","export const durations = {\n durationUltraFast: '50ms',\n durationFaster: '100ms',\n durationFast: '150ms',\n durationNormal: '200ms',\n durationGentle: '250ms',\n durationSlow: '300ms',\n durationSlower: '400ms',\n durationUltraSlow: '500ms'\n};\n","export const fontSizes = {\n fontSizeBase100: '10px',\n fontSizeBase200: '12px',\n fontSizeBase300: '14px',\n fontSizeBase400: '16px',\n fontSizeBase500: '20px',\n fontSizeBase600: '24px',\n fontSizeHero700: '28px',\n fontSizeHero800: '32px',\n fontSizeHero900: '40px',\n fontSizeHero1000: '68px'\n};\nexport const lineHeights = {\n lineHeightBase100: '14px',\n lineHeightBase200: '16px',\n lineHeightBase300: '20px',\n lineHeightBase400: '22px',\n lineHeightBase500: '28px',\n lineHeightBase600: '32px',\n lineHeightHero700: '36px',\n lineHeightHero800: '40px',\n lineHeightHero900: '52px',\n lineHeightHero1000: '92px'\n};\nexport const fontWeights = {\n fontWeightRegular: 400,\n fontWeightMedium: 500,\n fontWeightSemibold: 600,\n fontWeightBold: 700\n};\nexport const fontFamilies = {\n fontFamilyBase: \"'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', sans-serif\",\n fontFamilyMonospace: \"Consolas, 'Courier New', Courier, monospace\",\n fontFamilyNumeric: \"Bahnschrift, 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', sans-serif\"\n};\n","// Intentionally not exported! Use horizontalSpacings and verticalSpacings instead.\nconst spacings = {\n none: '0',\n xxs: '2px',\n xs: '4px',\n sNudge: '6px',\n s: '8px',\n mNudge: '10px',\n m: '12px',\n l: '16px',\n xl: '20px',\n xxl: '24px',\n xxxl: '32px'\n};\nexport const horizontalSpacings = {\n spacingHorizontalNone: spacings.none,\n spacingHorizontalXXS: spacings.xxs,\n spacingHorizontalXS: spacings.xs,\n spacingHorizontalSNudge: spacings.sNudge,\n spacingHorizontalS: spacings.s,\n spacingHorizontalMNudge: spacings.mNudge,\n spacingHorizontalM: spacings.m,\n spacingHorizontalL: spacings.l,\n spacingHorizontalXL: spacings.xl,\n spacingHorizontalXXL: spacings.xxl,\n spacingHorizontalXXXL: spacings.xxxl\n};\nexport const verticalSpacings = {\n spacingVerticalNone: spacings.none,\n spacingVerticalXXS: spacings.xxs,\n spacingVerticalXS: spacings.xs,\n spacingVerticalSNudge: spacings.sNudge,\n spacingVerticalS: spacings.s,\n spacingVerticalMNudge: spacings.mNudge,\n spacingVerticalM: spacings.m,\n spacingVerticalL: spacings.l,\n spacingVerticalXL: spacings.xl,\n spacingVerticalXXL: spacings.xxl,\n spacingVerticalXXXL: spacings.xxxl\n};\n","export const strokeWidths = {\n strokeWidthThin: '1px',\n strokeWidthThick: '2px',\n strokeWidthThicker: '3px',\n strokeWidthThickest: '4px'\n};\n","export function createShadowTokens(ambientColor, keyColor, tokenSuffix = '') {\n return {\n [`shadow2${tokenSuffix}`]: `0 0 2px ${ambientColor}, 0 1px 2px ${keyColor}`,\n [`shadow4${tokenSuffix}`]: `0 0 2px ${ambientColor}, 0 2px 4px ${keyColor}`,\n [`shadow8${tokenSuffix}`]: `0 0 2px ${ambientColor}, 0 4px 8px ${keyColor}`,\n [`shadow16${tokenSuffix}`]: `0 0 2px ${ambientColor}, 0 8px 16px ${keyColor}`,\n [`shadow28${tokenSuffix}`]: `0 0 8px ${ambientColor}, 0 14px 28px ${keyColor}`,\n [`shadow64${tokenSuffix}`]: `0 0 8px ${ambientColor}, 0 32px 64px ${keyColor}`\n };\n}\n","import { colorPaletteTokens, colorStatusTokens } from \"../alias/lightColorPalette.js\";\nimport { generateColorTokens } from \"../alias/lightColor.js\";\nimport { borderRadius, fontSizes, lineHeights, fontFamilies, strokeWidths, fontWeights } from \"../global/index.js\";\nimport { createShadowTokens } from \"./shadows.js\";\nimport { durations } from \"../global/durations.js\";\nimport { curves } from \"../global/curves.js\";\nimport { horizontalSpacings, verticalSpacings } from \"../global/spacings.js\";\nexport const createLightTheme = (brand)=>{\n const colorTokens = generateColorTokens(brand);\n return {\n ...borderRadius,\n ...fontSizes,\n ...lineHeights,\n ...fontFamilies,\n ...fontWeights,\n ...strokeWidths,\n ...horizontalSpacings,\n ...verticalSpacings,\n ...durations,\n ...curves,\n ...colorTokens,\n ...colorPaletteTokens,\n ...colorStatusTokens,\n ...createShadowTokens(colorTokens.colorNeutralShadowAmbient, colorTokens.colorNeutralShadowKey),\n ...createShadowTokens(colorTokens.colorBrandShadowAmbient, colorTokens.colorBrandShadowKey, 'Brand')\n };\n};\n","export const brandWeb = {\n 10: `#061724`,\n 20: `#082338`,\n 30: `#0a2e4a`,\n 40: `#0c3b5e`,\n 50: `#0e4775`,\n 60: `#0f548c`,\n 70: `#115ea3`,\n 80: `#0f6cbd`,\n 90: `#2886de`,\n 100: `#479ef5`,\n 110: `#62abf5`,\n 120: `#77b7f7`,\n 130: `#96c6fa`,\n 140: `#b4d6fa`,\n 150: `#cfe4fa`,\n 160: `#ebf3fc`\n};\nexport const brandTeams = {\n 10: `#2b2b40`,\n 20: `#2f2f4a`,\n 30: `#333357`,\n 40: `#383966`,\n 50: `#3d3e78`,\n 60: `#444791`,\n 70: `#4f52b2`,\n 80: `#5b5fc7`,\n 90: `#7579eb`,\n 100: `#7f85f5`,\n 110: `#9299f7`,\n 120: `#aab1fa`,\n 130: `#b6bcfa`,\n 140: `#c5cbfa`,\n 150: `#dce0fa`,\n 160: `#e8ebfa`\n};\nexport const brandOffice = {\n 10: `#29130b`,\n 20: `#4d2415`,\n 30: `#792000`,\n 40: `#99482b`,\n 50: `#a52c00`,\n 60: `#c33400`,\n 70: `#e06a3f`,\n 80: `#d83b01`,\n 90: `#dd4f1b`,\n 100: `#fe7948`,\n 110: `#ff865a`,\n 120: `#ff9973`,\n 130: `#e8825d`,\n 140: `#ffb498`,\n 150: `#f4beaa`,\n 160: `#f9dcd1`\n};\nexport const brandTeamsV21 = {\n 10: `#29274f`,\n 20: `#2f2a5e`,\n 30: `#352e70`,\n 40: `#3b3185`,\n 50: `#44359e`,\n 60: `#4d3aba`,\n 70: `#5a40db`,\n 80: `#654cf5`,\n 90: `#7769fa`,\n 100: `#887dff`,\n 110: `#9791ff`,\n 120: `#aba8ff`,\n 130: `#bab8ff`,\n 140: `#c8c7ff`,\n 150: `#dcdbff`,\n 160: `#e8e8ff`\n};\n","/* color palette used in both darkTheme and teamsDarkTheme */ import { statusSharedColors, personaSharedColors, mappedStatusColors } from \"../global/colorPalette.js\";\nimport { statusSharedColorNames, personaSharedColorNames } from \"../sharedColorNames.js\";\nimport { statusColorMapping } from \"../statusColorMapping.js\";\nconst statusColorPaletteTokens = statusSharedColorNames.reduce((acc, sharedColor)=>{\n const color = sharedColor.slice(0, 1).toUpperCase() + sharedColor.slice(1);\n const sharedColorTokens = {\n [`colorPalette${color}Background1`]: statusSharedColors[sharedColor].shade40,\n [`colorPalette${color}Background2`]: statusSharedColors[sharedColor].shade30,\n [`colorPalette${color}Background3`]: statusSharedColors[sharedColor].primary,\n [`colorPalette${color}Foreground1`]: statusSharedColors[sharedColor].tint30,\n [`colorPalette${color}Foreground2`]: statusSharedColors[sharedColor].tint40,\n [`colorPalette${color}Foreground3`]: statusSharedColors[sharedColor].tint20,\n [`colorPalette${color}BorderActive`]: statusSharedColors[sharedColor].tint30,\n [`colorPalette${color}Border1`]: statusSharedColors[sharedColor].primary,\n [`colorPalette${color}Border2`]: statusSharedColors[sharedColor].tint20\n };\n return Object.assign(acc, sharedColorTokens);\n}, {});\n// one-off patches\nstatusColorPaletteTokens.colorPaletteRedForeground3 = statusSharedColors.red.tint30;\nstatusColorPaletteTokens.colorPaletteRedBorder2 = statusSharedColors.red.tint30;\nstatusColorPaletteTokens.colorPaletteGreenForeground3 = statusSharedColors.green.tint40;\nstatusColorPaletteTokens.colorPaletteGreenBorder2 = statusSharedColors.green.tint40;\nstatusColorPaletteTokens.colorPaletteDarkOrangeForeground3 = statusSharedColors.darkOrange.tint30;\nstatusColorPaletteTokens.colorPaletteDarkOrangeBorder2 = statusSharedColors.darkOrange.tint30;\nstatusColorPaletteTokens.colorPaletteRedForegroundInverted = statusSharedColors.red.primary;\nstatusColorPaletteTokens.colorPaletteGreenForegroundInverted = statusSharedColors.green.primary;\nstatusColorPaletteTokens.colorPaletteYellowForegroundInverted = statusSharedColors.yellow.shade30;\nconst personaColorPaletteTokens = personaSharedColorNames.reduce((acc, sharedColor)=>{\n const color = sharedColor.slice(0, 1).toUpperCase() + sharedColor.slice(1);\n const sharedColorTokens = {\n [`colorPalette${color}Background2`]: personaSharedColors[sharedColor].shade30,\n [`colorPalette${color}Foreground2`]: personaSharedColors[sharedColor].tint40,\n [`colorPalette${color}BorderActive`]: personaSharedColors[sharedColor].tint30\n };\n return Object.assign(acc, sharedColorTokens);\n}, {});\n// one-off patches\npersonaColorPaletteTokens.colorPaletteDarkRedBackground2 = personaSharedColors.darkRed.shade20;\npersonaColorPaletteTokens.colorPalettePlumBackground2 = personaSharedColors.plum.shade20;\nexport const colorPaletteTokens = {\n ...statusColorPaletteTokens,\n ...personaColorPaletteTokens\n};\nexport const colorStatusTokens = Object.entries(statusColorMapping).reduce((acc, [statusColor, sharedColor])=>{\n const color = statusColor.slice(0, 1).toUpperCase() + statusColor.slice(1);\n // TODO: double check the mapping with design - see the one-off patches above\n const statusColorTokens = {\n [`colorStatus${color}Background1`]: mappedStatusColors[sharedColor].shade40,\n [`colorStatus${color}Background2`]: mappedStatusColors[sharedColor].shade30,\n [`colorStatus${color}Background3`]: mappedStatusColors[sharedColor].primary,\n [`colorStatus${color}Foreground1`]: mappedStatusColors[sharedColor].tint30,\n [`colorStatus${color}Foreground2`]: mappedStatusColors[sharedColor].tint40,\n [`colorStatus${color}Foreground3`]: mappedStatusColors[sharedColor].tint20,\n [`colorStatus${color}BorderActive`]: mappedStatusColors[sharedColor].tint30,\n [`colorStatus${color}ForegroundInverted`]: mappedStatusColors[sharedColor].shade10,\n [`colorStatus${color}Border1`]: mappedStatusColors[sharedColor].primary,\n [`colorStatus${color}Border2`]: mappedStatusColors[sharedColor].tint20\n };\n return Object.assign(acc, statusColorTokens);\n}, {});\n// one-off overrides for colorStatus tokens\ncolorStatusTokens.colorStatusDangerBackground3Hover = mappedStatusColors[statusColorMapping.danger].shade10;\ncolorStatusTokens.colorStatusDangerBackground3Pressed = mappedStatusColors[statusColorMapping.danger].shade20;\ncolorStatusTokens.colorStatusDangerForeground3 = mappedStatusColors[statusColorMapping.danger].tint40;\ncolorStatusTokens.colorStatusDangerBorder2 = mappedStatusColors[statusColorMapping.danger].tint30;\ncolorStatusTokens.colorStatusSuccessForeground3 = mappedStatusColors[statusColorMapping.success].tint40;\ncolorStatusTokens.colorStatusSuccessBorder2 = mappedStatusColors[statusColorMapping.success].tint40;\ncolorStatusTokens.colorStatusWarningForegroundInverted = mappedStatusColors[statusColorMapping.warning].shade20;\n","import { createLightTheme } from \"../../utils/createLightTheme.js\";\nimport { brandWeb } from \"../../global/brandColors.js\";\nexport const webLightTheme = createLightTheme(brandWeb);\n","/* !!! DO NOT EDIT !!! */ /* This file has been generated by the token pipeline */ import { black, blackAlpha, grey, grey10Alpha, grey12Alpha, grey14Alpha, white, whiteAlpha } from \"../global/colors.js\";\nexport const generateColorTokens = (brand)=>({\n colorNeutralForeground1: white,\n colorNeutralForeground1Hover: white,\n colorNeutralForeground1Pressed: white,\n colorNeutralForeground1Selected: white,\n colorNeutralForeground2: grey[84],\n colorNeutralForeground2Hover: white,\n colorNeutralForeground2Pressed: white,\n colorNeutralForeground2Selected: white,\n colorNeutralForeground2BrandHover: brand[100],\n colorNeutralForeground2BrandPressed: brand[90],\n colorNeutralForeground2BrandSelected: brand[100],\n colorNeutralForeground3: grey[68],\n colorNeutralForeground3Hover: grey[84],\n colorNeutralForeground3Pressed: grey[84],\n colorNeutralForeground3Selected: grey[84],\n colorNeutralForeground3BrandHover: brand[100],\n colorNeutralForeground3BrandPressed: brand[90],\n colorNeutralForeground3BrandSelected: brand[100],\n colorNeutralForeground4: grey[60],\n colorNeutralForeground5: grey[68],\n colorNeutralForeground5Hover: white,\n colorNeutralForeground5Pressed: white,\n colorNeutralForeground5Selected: white,\n colorNeutralForegroundDisabled: grey[36],\n colorNeutralForegroundInvertedDisabled: whiteAlpha[40],\n colorBrandForegroundLink: brand[100],\n colorBrandForegroundLinkHover: brand[110],\n colorBrandForegroundLinkPressed: brand[90],\n colorBrandForegroundLinkSelected: brand[100],\n colorNeutralForeground2Link: grey[84],\n colorNeutralForeground2LinkHover: white,\n colorNeutralForeground2LinkPressed: white,\n colorNeutralForeground2LinkSelected: white,\n colorCompoundBrandForeground1: brand[100],\n colorCompoundBrandForeground1Hover: brand[110],\n colorCompoundBrandForeground1Pressed: brand[90],\n colorBrandForeground1: brand[100],\n colorBrandForeground2: brand[110],\n colorBrandForeground2Hover: brand[130],\n colorBrandForeground2Pressed: brand[160],\n colorNeutralForeground1Static: grey[14],\n colorNeutralForegroundStaticInverted: white,\n colorNeutralForegroundInverted: grey[14],\n colorNeutralForegroundInvertedHover: grey[14],\n colorNeutralForegroundInvertedPressed: grey[14],\n colorNeutralForegroundInvertedSelected: grey[14],\n colorNeutralForegroundInverted2: grey[14],\n colorNeutralForegroundOnBrand: white,\n colorNeutralForegroundInvertedLink: white,\n colorNeutralForegroundInvertedLinkHover: white,\n colorNeutralForegroundInvertedLinkPressed: white,\n colorNeutralForegroundInvertedLinkSelected: white,\n colorBrandForegroundInverted: brand[80],\n colorBrandForegroundInvertedHover: brand[70],\n colorBrandForegroundInvertedPressed: brand[60],\n colorBrandForegroundOnLight: brand[80],\n colorBrandForegroundOnLightHover: brand[70],\n colorBrandForegroundOnLightPressed: brand[50],\n colorBrandForegroundOnLightSelected: brand[60],\n colorNeutralBackground1: grey[16],\n colorNeutralBackground1Hover: grey[24],\n colorNeutralBackground1Pressed: grey[12],\n colorNeutralBackground1Selected: grey[22],\n colorNeutralBackground2: grey[12],\n colorNeutralBackground2Hover: grey[20],\n colorNeutralBackground2Pressed: grey[8],\n colorNeutralBackground2Selected: grey[18],\n colorNeutralBackground3: grey[8],\n colorNeutralBackground3Hover: grey[16],\n colorNeutralBackground3Pressed: grey[4],\n colorNeutralBackground3Selected: grey[14],\n colorNeutralBackground4: grey[4],\n colorNeutralBackground4Hover: grey[12],\n colorNeutralBackground4Pressed: black,\n colorNeutralBackground4Selected: grey[10],\n colorNeutralBackground5: black,\n colorNeutralBackground5Hover: grey[8],\n colorNeutralBackground5Pressed: grey[2],\n colorNeutralBackground5Selected: grey[6],\n colorNeutralBackground6: grey[20],\n colorNeutralBackground7: '#00000000',\n colorNeutralBackground7Hover: grey[10],\n colorNeutralBackground7Pressed: grey[4],\n colorNeutralBackground7Selected: '#00000000',\n colorNeutralBackground8: grey[16],\n colorNeutralBackgroundInverted: white,\n colorNeutralBackgroundInvertedHover: grey[96],\n colorNeutralBackgroundInvertedPressed: grey[88],\n colorNeutralBackgroundInvertedSelected: grey[92],\n colorNeutralBackgroundStatic: grey[24],\n colorNeutralBackgroundAlpha: grey10Alpha[50],\n colorNeutralBackgroundAlpha2: grey12Alpha[70],\n colorSubtleBackground: 'transparent',\n colorSubtleBackgroundHover: grey[22],\n colorSubtleBackgroundPressed: grey[18],\n colorSubtleBackgroundSelected: grey[20],\n colorSubtleBackgroundLightAlphaHover: grey14Alpha[80],\n colorSubtleBackgroundLightAlphaPressed: grey14Alpha[50],\n colorSubtleBackgroundLightAlphaSelected: 'transparent',\n colorSubtleBackgroundInverted: 'transparent',\n colorSubtleBackgroundInvertedHover: blackAlpha[10],\n colorSubtleBackgroundInvertedPressed: blackAlpha[30],\n colorSubtleBackgroundInvertedSelected: blackAlpha[20],\n colorTransparentBackground: 'transparent',\n colorTransparentBackgroundHover: 'transparent',\n colorTransparentBackgroundPressed: 'transparent',\n colorTransparentBackgroundSelected: 'transparent',\n colorNeutralBackgroundDisabled: grey[8],\n colorNeutralBackgroundDisabled2: grey[16],\n colorNeutralBackgroundInvertedDisabled: whiteAlpha[10],\n colorNeutralStencil1: grey[34],\n colorNeutralStencil2: grey[20],\n colorNeutralStencil1Alpha: whiteAlpha[10],\n colorNeutralStencil2Alpha: whiteAlpha[5],\n colorBackgroundOverlay: blackAlpha[50],\n colorScrollbarOverlay: whiteAlpha[60],\n colorBrandBackground: brand[70],\n colorBrandBackgroundHover: brand[80],\n colorBrandBackgroundPressed: brand[40],\n colorBrandBackgroundSelected: brand[60],\n colorCompoundBrandBackground: brand[100],\n colorCompoundBrandBackgroundHover: brand[110],\n colorCompoundBrandBackgroundPressed: brand[90],\n colorBrandBackgroundStatic: brand[80],\n colorBrandBackground2: brand[20],\n colorBrandBackground2Hover: brand[40],\n colorBrandBackground2Pressed: brand[10],\n colorBrandBackground3Static: brand[60],\n colorBrandBackground4Static: brand[40],\n colorBrandBackgroundInverted: white,\n colorBrandBackgroundInvertedHover: brand[160],\n colorBrandBackgroundInvertedPressed: brand[140],\n colorBrandBackgroundInvertedSelected: brand[150],\n colorNeutralCardBackground: grey[20],\n colorNeutralCardBackgroundHover: grey[24],\n colorNeutralCardBackgroundPressed: grey[18],\n colorNeutralCardBackgroundSelected: grey[22],\n colorNeutralCardBackgroundDisabled: grey[8],\n colorNeutralStrokeAccessible: grey[68],\n colorNeutralStrokeAccessibleHover: grey[74],\n colorNeutralStrokeAccessiblePressed: grey[70],\n colorNeutralStrokeAccessibleSelected: brand[100],\n colorNeutralStroke1: grey[40],\n colorNeutralStroke1Hover: grey[46],\n colorNeutralStroke1Pressed: grey[42],\n colorNeutralStroke1Selected: grey[44],\n colorNeutralStroke2: grey[32],\n colorNeutralStroke3: grey[24],\n colorNeutralStroke4: grey[24],\n colorNeutralStroke4Hover: grey[18],\n colorNeutralStroke4Pressed: grey[14],\n colorNeutralStroke4Selected: grey[24],\n colorNeutralStrokeSubtle: grey[4],\n colorNeutralStrokeOnBrand: grey[16],\n colorNeutralStrokeOnBrand2: white,\n colorNeutralStrokeOnBrand2Hover: white,\n colorNeutralStrokeOnBrand2Pressed: white,\n colorNeutralStrokeOnBrand2Selected: white,\n colorBrandStroke1: brand[100],\n colorBrandStroke2: brand[50],\n colorBrandStroke2Hover: brand[50],\n colorBrandStroke2Pressed: brand[30],\n colorBrandStroke2Contrast: brand[50],\n colorCompoundBrandStroke: brand[100],\n colorCompoundBrandStrokeHover: brand[110],\n colorCompoundBrandStrokePressed: brand[90],\n colorNeutralStrokeDisabled: grey[26],\n colorNeutralStrokeDisabled2: grey[24],\n colorNeutralStrokeInvertedDisabled: whiteAlpha[40],\n colorTransparentStroke: 'transparent',\n colorTransparentStrokeInteractive: 'transparent',\n colorTransparentStrokeDisabled: 'transparent',\n colorNeutralStrokeAlpha: whiteAlpha[10],\n colorNeutralStrokeAlpha2: whiteAlpha[20],\n colorStrokeFocus1: black,\n colorStrokeFocus2: white,\n colorNeutralShadowAmbient: 'rgba(0,0,0,0.24)',\n colorNeutralShadowKey: 'rgba(0,0,0,0.28)',\n colorNeutralShadowAmbientLighter: 'rgba(0,0,0,0.12)',\n colorNeutralShadowKeyLighter: 'rgba(0,0,0,0.14)',\n colorNeutralShadowAmbientDarker: 'rgba(0,0,0,0.40)',\n colorNeutralShadowKeyDarker: 'rgba(0,0,0,0.48)',\n colorBrandShadowAmbient: 'rgba(0,0,0,0.30)',\n colorBrandShadowKey: 'rgba(0,0,0,0.25)'\n });\n","import { colorPaletteTokens, colorStatusTokens } from \"../alias/darkColorPalette.js\";\nimport { generateColorTokens } from \"../alias/darkColor.js\";\nimport { borderRadius, fontSizes, lineHeights, fontFamilies, strokeWidths, fontWeights } from \"../global/index.js\";\nimport { createShadowTokens } from \"./shadows.js\";\nimport { durations } from \"../global/durations.js\";\nimport { curves } from \"../global/curves.js\";\nimport { horizontalSpacings, verticalSpacings } from \"../global/spacings.js\";\nexport const createDarkTheme = (brand)=>{\n const colorTokens = generateColorTokens(brand);\n return {\n ...borderRadius,\n ...fontSizes,\n ...lineHeights,\n ...fontFamilies,\n ...fontWeights,\n ...strokeWidths,\n ...horizontalSpacings,\n ...verticalSpacings,\n ...durations,\n ...curves,\n ...colorTokens,\n ...colorPaletteTokens,\n ...colorStatusTokens,\n ...createShadowTokens(colorTokens.colorNeutralShadowAmbient, colorTokens.colorNeutralShadowKey),\n ...createShadowTokens(colorTokens.colorBrandShadowAmbient, colorTokens.colorBrandShadowKey, 'Brand')\n };\n};\n","import { createDarkTheme } from \"../../utils/createDarkTheme.js\";\nimport { brandWeb } from \"../../global/brandColors.js\";\nexport const webDarkTheme = createDarkTheme(brandWeb);\n","import { webLightTheme, webDarkTheme } from \"@fluentui/tokens\";\nexport const fabricSemanticTokensLight = {\n iconErrorColor: webLightTheme.colorStatusDangerForeground1,\n iconValidationColor: webLightTheme.colorStatusSuccessForeground1,\n iconSystemColor: webLightTheme.colorPaletteBlueForeground2,\n iconContentManagementColor: webLightTheme.colorPaletteGrapeBorderActive,\n iconMonitoringColor: webLightTheme.colorPaletteMarigoldForeground2,\n iconMiscColor: webLightTheme.colorNeutralForeground2,\n colorRibbonIconError: webLightTheme.colorStatusDangerForeground1,\n colorRibbonIconErrorDisabled: webLightTheme.colorPaletteCranberryBackground2,\n colorRibbonIconValidation: webLightTheme.colorStatusSuccessForeground1,\n colorRibbonIconValidationDisabled: webLightTheme.colorPaletteGreenBackground2,\n colorRibbonIconSysconfig: webLightTheme.colorPaletteBlueForeground2,\n colorRibbonIconSysconfigDisabled: webLightTheme.colorPaletteBlueBackground2,\n colorRibbonIconContentMgt: webLightTheme.colorPaletteGrapeBorderActive,\n colorRibbonIconContentMgtDisabled: webLightTheme.colorPaletteGrapeBackground2,\n colorRibbonIconMonitoring: webLightTheme.colorPaletteMarigoldForeground2,\n colorRibbonIconMonitoringDisabled: webLightTheme.colorPaletteGoldBackground2,\n colorRibbonIconMisc: webLightTheme.colorNeutralForeground2,\n colorRibbonIconMiscDisabled: webLightTheme.colorNeutralForegroundDisabled\n};\nexport const fabricSemanticTokensDark = {\n iconErrorColor: webDarkTheme.colorStatusDangerBackground3,\n iconValidationColor: webDarkTheme.colorPaletteLightGreenBorder1,\n iconSystemColor: webLightTheme.colorPaletteBlueBorderActive,\n iconContentManagementColor: webLightTheme.colorPaletteLilacBorderActive,\n iconMonitoringColor: webLightTheme.colorPaletteGoldBorderActive,\n iconMiscColor: webDarkTheme.colorNeutralForeground1,\n colorRibbonIconError: webDarkTheme.colorStatusDangerBackground3,\n colorRibbonIconErrorDisabled: webDarkTheme.colorPaletteCranberryBackground2,\n colorRibbonIconValidation: webDarkTheme.colorPaletteLightGreenBackground3,\n colorRibbonIconValidationDisabled: webDarkTheme.colorPaletteGreenBackground2,\n colorRibbonIconSysconfig: webLightTheme.colorPaletteBlueBorderActive,\n colorRibbonIconSysconfigDisabled: webDarkTheme.colorPaletteBlueBackground2,\n colorRibbonIconContentMgt: webLightTheme.colorPaletteLilacBorderActive,\n colorRibbonIconContentMgtDisabled: webDarkTheme.colorPaletteLilacBackground2,\n colorRibbonIconMonitoring: webLightTheme.colorPaletteGoldBorderActive,\n colorRibbonIconMonitoringDisabled: webDarkTheme.colorPaletteGoldBackground2,\n colorRibbonIconMisc: webDarkTheme.colorNeutralForeground1,\n colorRibbonIconMiscDisabled: webDarkTheme.colorNeutralForegroundDisabled\n};\n","/**\n * Size design tokens for height/width properties.\n *\n * These tokens share the same scale as spacing tokens but are semantically\n * intended for element sizing (height, width, min-height, max-height, etc.)\n * rather than spacing (padding, margin, gap).\n */\n// Vertical size tokens (CSS var references for use in FAST css`` tagged templates)\nexport const sizeVerticalNone = \"var(--sizeVerticalNone)\";\nexport const sizeVerticalXXS = \"var(--sizeVerticalXXS)\";\nexport const sizeVerticalXS = \"var(--sizeVerticalXS)\";\nexport const sizeVerticalSNudge = \"var(--sizeVerticalSNudge)\";\nexport const sizeVerticalS = \"var(--sizeVerticalS)\";\nexport const sizeVerticalMNudge = \"var(--sizeVerticalMNudge)\";\nexport const sizeVerticalM = \"var(--sizeVerticalM)\";\nexport const sizeVerticalL = \"var(--sizeVerticalL)\";\nexport const sizeVerticalXL = \"var(--sizeVerticalXL)\";\nexport const sizeVerticalXXL = \"var(--sizeVerticalXXL)\";\nexport const sizeVerticalXXXL = \"var(--sizeVerticalXXXL)\";\n// Horizontal size tokens (CSS var references for use in FAST css`` tagged templates)\nexport const sizeHorizontalNone = \"var(--sizeHorizontalNone)\";\nexport const sizeHorizontalXXS = \"var(--sizeHorizontalXXS)\";\nexport const sizeHorizontalXS = \"var(--sizeHorizontalXS)\";\nexport const sizeHorizontalSNudge = \"var(--sizeHorizontalSNudge)\";\nexport const sizeHorizontalS = \"var(--sizeHorizontalS)\";\nexport const sizeHorizontalMNudge = \"var(--sizeHorizontalMNudge)\";\nexport const sizeHorizontalM = \"var(--sizeHorizontalM)\";\nexport const sizeHorizontalL = \"var(--sizeHorizontalL)\";\nexport const sizeHorizontalXL = \"var(--sizeHorizontalXL)\";\nexport const sizeHorizontalXXL = \"var(--sizeHorizontalXXL)\";\nexport const sizeHorizontalXXXL = \"var(--sizeHorizontalXXXL)\";\n/**\n * Size token values for theme object merging.\n * These values are theme-independent (same in light and dark modes)\n * and map 1:1 with the spacing token scale.\n *\n * When merged into theme objects, `setTheme()` will create corresponding\n * CSS custom properties (e.g., `--sizeVerticalXXL: 24px`).\n */\nexport const fabricSizeTokenValues = {\n sizeVerticalNone: \"0\",\n sizeVerticalXXS: \"2px\",\n sizeVerticalXS: \"4px\",\n sizeVerticalSNudge: \"6px\",\n sizeVerticalS: \"8px\",\n sizeVerticalMNudge: \"10px\",\n sizeVerticalM: \"12px\",\n sizeVerticalL: \"16px\",\n sizeVerticalXL: \"20px\",\n sizeVerticalXXL: \"24px\",\n sizeVerticalXXXL: \"32px\",\n sizeHorizontalNone: \"0\",\n sizeHorizontalXXS: \"2px\",\n sizeHorizontalXS: \"4px\",\n sizeHorizontalSNudge: \"6px\",\n sizeHorizontalS: \"8px\",\n sizeHorizontalMNudge: \"10px\",\n sizeHorizontalM: \"12px\",\n sizeHorizontalL: \"16px\",\n sizeHorizontalXL: \"20px\",\n sizeHorizontalXXL: \"24px\",\n sizeHorizontalXXXL: \"32px\"\n};\n","import { createDarkTheme, createLightTheme, webDarkTheme, webLightTheme } from \"@fluentui/tokens\";\nimport { fabricSemanticTokensLight, fabricSemanticTokensDark } from \"./fabricSemanticTokens\";\nimport { fabricSizeTokenValues } from \"./sizeTokens\";\nconst brandFabric = {\n 10: `#001919`,\n 20: `#012826`,\n 30: `#01322E`,\n 40: `#033F38`,\n 50: `#054D43`,\n 60: `#0A5C50`,\n 70: `#0C695A`,\n 80: `#117865`,\n 90: `#1F937E`,\n 100: `#2AAC94`,\n 110: `#3ABB9F`,\n 120: `#52C7AA`,\n 130: `#78D3B9`,\n 140: `#9EE0CB`,\n 150: `#C0ECDD`,\n 160: `#E3F7Ef`\n};\nconst fabricLightBase = createLightTheme(brandFabric);\nconst fabricDarkBase = createDarkTheme(brandFabric);\nconst fabricLightTheme = {\n ...fabricLightBase,\n ...fabricSemanticTokensLight,\n ...fabricSizeTokenValues\n};\nconst fabricDarkTheme = {\n ...fabricDarkBase,\n ...fabricSemanticTokensDark,\n ...fabricSizeTokenValues\n};\n/**\n * # setTheme\n *\n * Set the theme CSS custom properties on the document or a specific element.\n *\n * @param theme FluentUI theme object (FabricTheme or base Theme)\n * @param target Where to apply the theme:\n * - `undefined` (default): Sets inline styles on `document.documentElement` (global)\n * - `\"root\"`: Injects a `<style>` element with `:root { ... }` (global)\n * - CSS selector (e.g., `\"#app\"`): Sets inline styles on that element (scoped)\n * @param callback Optional callback to run after the theme is set\n * @returns Promise that resolves after the theme is set and callback is executed\n *\n * @remarks\n * **Third-party library conflicts:** When using global scope (default or `\"root\"`),\n * CSS variables are applied document-wide, which can conflict with libraries like\n * Monaco Editor that use their own CSS variables. To avoid conflicts, scope the\n * theme to your app container: `setTheme(theme, \"#root\")`\n *\n * @example\n * // Global (default) - may conflict with third-party libraries\n * setTheme(fabricLightTheme);\n *\n * // Scoped to app container - recommended\n * setTheme(fabricLightTheme, \"#root\");\n */\nasync function setTheme(theme, target, callback) {\n let targetElement = null;\n const fabricTheme = document.querySelector(\"[data-theme='fabric-theme']\");\n if (fabricTheme) {\n fabricTheme.remove();\n }\n if (target) {\n if (target === \"root\") {\n const cssVariables = Object.entries(theme)\n .map(([key, value]) => `--${key}: ${value};`)\n .join(\" \");\n const styleElement = document.createElement(\"style\");\n styleElement.innerHTML = `:root { ${cssVariables} }`;\n styleElement.dataset.theme = \"fabric-theme\";\n styleElement.id = \"fabric-ux-theme\";\n document.head.appendChild(styleElement);\n }\n else {\n targetElement = document.querySelector(target);\n }\n }\n else {\n targetElement = document.documentElement;\n }\n if (targetElement) {\n Object.entries(theme).forEach(([key, value]) => {\n targetElement.style.setProperty(`--${key}`, value);\n });\n }\n document.dispatchEvent(new CustomEvent(\"themeLoaded\", {\n detail: {\n target: targetElement?.tagName || \"root\"\n },\n bubbles: true\n }));\n if (callback && typeof callback === \"function\") {\n return new Promise((resolve) => {\n setTimeout(() => {\n callback();\n resolve();\n }, 0);\n });\n }\n return Promise.resolve();\n}\nexport { fabricDarkTheme, fabricLightTheme, setTheme, webDarkTheme, webLightTheme };\n","import { css } from \"@microsoft/fast-element\";\nimport { alignEndState, disabledState, expandedState, extraLargeState, largeState, smallState } from \"../styles/states/states.js\";\nimport { borderRadiusMedium, colorNeutralBackground1Hover, colorNeutralForeground1, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForegroundDisabled, colorStrokeFocus2, colorTransparentBackground, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontWeightRegular, lineHeightBase200, lineHeightBase300, lineHeightBase400, lineHeightBase500, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXS, display, colorNeutralBackground1Pressed } from \"@fluentui/web-components\";\nimport { sizeVerticalXXXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n contain: content;\n position: relative;\n }\n\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:focus-visible) .heading {\n border-radius: ${borderRadiusMedium};\n outline: 2px solid ${colorStrokeFocus2};\n }\n\n :host([marker-position=\"start\"]) .heading {\n flex-direction: row-reverse;\n }\n\n :host([marker-position=\"end\"]) .heading {\n flex-direction: row;\n }\n\n .heading {\n display: flex;\n justify-content: space-between;\n height: ${sizeVerticalXXXL};\n align-items: center;\n position: relative;\n padding-inline: ${spacingHorizontalS} ${spacingHorizontalS};\n border-radius: ${borderRadiusMedium};\n font-family: ${fontFamilyBase};\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n grid-template-columns: auto auto 1fr auto;\n padding: 0px ${spacingHorizontalMNudge};\n margin: 1px;\n gap: ${spacingHorizontalXS};\n cursor: pointer;\n color: ${colorNeutralForeground1};\n background: ${colorTransparentBackground};\n transition: background-color 0.2s ease-in-out;\n }\n\n .heading * {\n pointer-events: none;\n }\n\n .heading:hover {\n background: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground2Hover};\n }\n\n .heading:active {\n background: ${colorNeutralBackground1Pressed};\n color: ${colorNeutralForeground2Pressed};\n }\n\n .heading-content {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .content {\n display: none;\n }\n\n :where(.default-marker-collapsed, .default-marker-expanded),\n ::slotted(:is([slot=\"marker-collapsed\"], [slot=\"marker-expanded\"])) {\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n position: relative;\n height: 100%;\n transition: transform 0.2s ease-in-out;\n }\n\n ::slotted([slot=\"start\"]) {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-inline-end: ${spacingHorizontalS};\n }\n\n :host(${disabledState}) .heading {\n color: ${colorNeutralForegroundDisabled};\n cursor: not-allowed;\n }\n\n :host(${disabledState}) svg {\n filter: invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg)\n brightness(88%) contrast(87%);\n }\n\n :host(${expandedState}) .content {\n display: block;\n }\n\n :host(${expandedState}) .default-marker-collapsed,\n :host(${expandedState}) ::slotted([slot=\"marker-collapsed\"]),\n :host(:not(${expandedState})) :is(.default-marker-expanded, .content),\n :host(:not(${expandedState})) ::slotted([slot=\"marker-expanded\"]) {\n display: none;\n }\n\n :host(${expandedState}) ::slotted([slot=\"marker-expanded\"]),\n :host(:not(${expandedState})) ::slotted([slot=\"marker-collapsed\"]) {\n display: flex;\n }\n\n :host(${smallState}) .heading {\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n }\n\n :host(${largeState}) .heading {\n font-size: ${fontSizeBase400};\n line-height: ${lineHeightBase400};\n }\n\n :host(${extraLargeState}) .heading {\n font-size: ${fontSizeBase500};\n line-height: ${lineHeightBase500};\n }\n\n :host(${alignEndState}) :slotted([slot=\"start\"]) {\n grid-column: 1 / span 1;\n }\n\n :host(${alignEndState})\n :is(.default-marker-collapsed, .default-marker-expanded) {\n padding-inline-start: ${spacingHorizontalS};\n padding-inline-end: ${spacingHorizontalXXS};\n }\n\n :host([block]) {\n max-width: 100%;\n }\n\n :host(${alignEndState}) .heading {\n padding-inline: ${spacingHorizontalS};\n }\n\n :host(${alignEndState}:has([slot='start'])) .heading {\n padding-inline: ${spacingHorizontalSNudge} ${spacingHorizontalS};\n }\n`;\n//# sourceMappingURL=accordion-menu-panel.styles.js.map","import { AccordionMenuPanel } from \"./accordion-menu-panel.js\";\nimport { styles } from \"./accordion-menu-panel.styles.js\";\nimport { template } from \"./accordion-menu-panel.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\nexport const definition = AccordionMenuPanel.compose({\n name: `${DesignSystem.prefix}-accordion-menu-panel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-menu-panel.definition.js.map","/**\n * The appearance variations for the card component\n * @public\n */\nexport const CardAppearances = {\n filled: \"filled\",\n filledAlternative: \"filled-alternative\",\n outline: \"outline\",\n subtle: \"subtle\"\n};\n/**\n * Back-compat runtime alias for {@link CardAppearances}.\n * @public\n */\nexport const CardAppearance = CardAppearances;\n/**\n * The orientation variations for the card component\n * @public\n */\nexport const CardOrientations = {\n horizontal: \"horizontal\",\n vertical: \"vertical\"\n};\n/**\n * Back-compat runtime alias for {@link CardOrientations}.\n * @public\n */\nexport const CardOrientation = CardOrientations;\n/**\n * The focus mode variations for the card component\n * @public\n */\nexport const CardFocusModes = {\n off: \"off\",\n noTab: \"no-tab\",\n tabExit: \"tab-exit\",\n tabOnly: \"tab-only\"\n};\n/**\n * Back-compat runtime alias for {@link CardFocusModes}.\n * @public\n */\nexport const CardFocusMode = CardFocusModes;\n/**\n * Card event names\n * @public\n */\nexport const CardEventNames = {\n interactiveChanged: \"interactive-changed\",\n click: \"click\"\n};\n//# sourceMappingURL=card.options.js.map","/*!\n* tabbable 6.4.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\nvar candidateSelectors = ['input:not([inert]):not([inert] *)', 'select:not([inert]):not([inert] *)', 'textarea:not([inert]):not([inert] *)', 'a[href]:not([inert]):not([inert] *)', 'button:not([inert]):not([inert] *)', '[tabindex]:not(slot):not([inert]):not([inert] *)', 'audio[controls]:not([inert]):not([inert] *)', 'video[controls]:not([inert]):not([inert] *)', '[contenteditable]:not([contenteditable=\"false\"]):not([inert]):not([inert] *)', 'details>summary:first-of-type:not([inert]):not([inert] *)', 'details:not([inert]):not([inert] *)'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Node} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar _isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n var result = inert || lookUp && node && (\n // closest does not exist on shadow roots, so we fall back to a manual\n // lookup upward, in case it is not defined.\n typeof node.closest === 'function' ? node.closest('[inert]') : _isInert(node.parentNode));\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert (either by itself or via its parent), then all its children are inert\n if (_isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.<Element|CandidateScope>}\n */\nvar _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (_isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = _getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n // Also browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\n\n/**\n * Determine the tab index of a given node __for sort order purposes__.\n * @param {HTMLElement} node\n * @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n * has tabIndex -1, but needs to be sorted by document order in order for its content to be\n * inserted into the correct sort position.\n * @returns {number} Tab order (negative, 0, or positive number).\n */\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n return node.tagName === 'INPUT';\n};\nvar isHiddenInput = function isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {\n return child.tagName === 'SUMMARY';\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n return isInput(node) && node.type === 'radio';\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\n// determines if a node is ultimately attached to the window's document\nvar isNodeAttached = function isNodeAttached(node) {\n var _nodeRoot;\n // The root node is the shadow root if the node is in a shadow DOM; some document otherwise\n // (but NOT _the_ document; see second 'If' comment below for more).\n // If rootNode is shadow root, it'll have a host, which is the element to which the shadow\n // is attached, and the one we need to check if it's in the document or not (because the\n // shadow, and all nodes it contains, is never considered in the document since shadows\n // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,\n // is hidden, or is not in the document itself but is detached, it will affect the shadow's\n // visibility, including all the nodes it contains). The host could be any normal node,\n // or a custom element (i.e. web component). Either way, that's the one that is considered\n // part of the document, not the shadow root, nor any of its children (i.e. the node being\n // tested).\n // To further complicate things, we have to look all the way up until we find a shadow HOST\n // that is attached (or find none) because the node might be in nested shadows...\n // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the\n // document (per the docs) and while it's a Document-type object, that document does not\n // appear to be the same as the node's `ownerDocument` for some reason, so it's safer\n // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,\n // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when\n // node is actually detached.\n // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible\n // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed\n // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then\n // `ownerDocument` will be `null`, hence the optional chaining on it.\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\n // in some cases, a detached node will return itself as the root instead of a document or\n // shadow root object, in which case, we shouldn't try to look further up the host chain\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,\n // which means we need to get the host's host and check if that parent host is contained\n // in (i.e. attached to) the document\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n width = _node$getBoundingClie.width,\n height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n var displayCheck = _ref.displayCheck,\n getShadowRoot = _ref.getShadowRoot;\n if (displayCheck === 'full-native') {\n if ('checkVisibility' in node) {\n // Chrome >= 105, Edge >= 105, Firefox >= 106, Safari >= 17.4\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility#browser_compatibility\n var visible = node.checkVisibility({\n // Checking opacity might be desirable for some use cases, but natively,\n // opacity zero elements _are_ focusable and tabbable.\n checkOpacity: false,\n opacityProperty: false,\n contentVisibilityAuto: true,\n visibilityProperty: true,\n // This is an alias for `visibilityProperty`. Contemporary browsers\n // support both. However, this alias has wider browser support (Chrome\n // >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so\n // we include it anyway.\n checkVisibilityCSS: true\n });\n return !visible;\n }\n // Fall through to manual visibility checks\n }\n\n // NOTE: visibility will be `undefined` if node is detached from the document\n // (see notes about this further down), which means we will consider it visible\n // (this is legacy behavior from a very long way back)\n // NOTE: we check this regardless of `displayCheck=\"none\"` because this is a\n // _visibility_ check, not a _display_ check\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n var isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full' ||\n // full-native can run this branch when it falls through in case\n // Element#checkVisibility is unsupported\n displayCheck === 'full-native' || displayCheck === 'legacy-full') {\n if (typeof getShadowRoot === 'function') {\n // figure out if we should consider the node to be in an undisclosed shadow and use the\n // 'non-zero-area' fallback\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow\n ) {\n // node has an undisclosed shadow which means we can only treat it as a black box, so we\n // fall back to a non-zero-area test\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n // iterate up slot\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n // cross shadow boundary\n node = rootNode.host;\n } else {\n // iterate up normal dom\n node = parentElement;\n }\n }\n node = originalNode;\n }\n // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support\n // (i.e. it does not also presume that all nodes might have undisclosed shadows); or\n // it might be a falsy value, which means shadow DOM support is disabled\n\n // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)\n // now we can just test to see if it would normally be visible or not, provided it's\n // attached to the main document.\n // NOTE: We must consider case where node is inside a shadow DOM and given directly to\n // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.\n\n if (isNodeAttached(node)) {\n // this works wherever the node is: if there's at least one client rect, it's\n // somehow displayed; it also covers the CSS 'display: contents' case where the\n // node itself is hidden in place of its contents; and there's no need to search\n // up the hierarchy either\n return !node.getClientRects().length;\n }\n\n // Else, the node isn't attached to the document, which means the `getClientRects()`\n // API will __always__ return zero rects (this can happen, for example, if React\n // is used to render nodes onto a detached tree, as confirmed in this thread:\n // https://github.com/facebook/react/issues/9117#issuecomment-284228870)\n //\n // It also means that even window.getComputedStyle(node).display will return `undefined`\n // because styles are only computed for nodes that are in the document.\n //\n // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable\n // somehow. Though it was never stated officially, anyone who has ever used tabbable\n // APIs on nodes in detached containers has actually implicitly used tabbable in what\n // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck=\"none\"` mode -- essentially\n // considering __everything__ to be visible because of the innability to determine styles.\n //\n // v6.0.0: As of this major release, the default 'full' option __no longer treats detached\n // nodes as visible with the 'none' fallback.__\n if (displayCheck !== 'legacy-full') {\n return true; // hidden\n }\n // else, fallback to 'none' mode and consider the node visible\n } else if (displayCheck === 'non-zero-area') {\n // NOTE: Even though this tests that the node's client rect is non-zero to determine\n // whether it's displayed, and that a detached node will __always__ have a zero-area\n // client rect, we don't special-case for whether the node is attached or not. In\n // this mode, we do want to consider nodes that have a zero area to be hidden at all\n // times, and that includes attached or not.\n return isZeroArea(node);\n }\n\n // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume\n // it's visible\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n // check if `node` is contained in a disabled <fieldset>\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> among the children of the disabled <fieldset>\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n // when the first <legend> (in document order) is found\n if (child.tagName === 'LEGEND') {\n // if its parent <fieldset> is not nested in another disabled <fieldset>,\n // return whether `node` is a descendant of its first <legend>\n return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);\n }\n }\n // the disabled <fieldset> containing `node` has no <legend>\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n // If a custom element has an explicit negative tabindex,\n // browsers will not allow tab targeting said element's children.\n return false;\n};\n\n/**\n * @param {Array.<Element|CandidateScope>} candidates\n * @returns Element[]\n */\nvar _sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function (item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? _sortByOrder(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item: item,\n isScope: isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return _sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe:not([inert]):not([inert] *)').join(',');\nvar isFocusable = function isFocusable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { focusable, getTabIndex, isFocusable, isTabbable, tabbable };\n//# sourceMappingURL=index.esm.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Updates, attr, observable } from \"@microsoft/fast-element\";\nimport { CardFocusMode, CardAppearance, CardOrientation, CardEventNames } from \"./card.options.js\";\nimport { isTabbable } from \"tabbable\";\nimport { keyEnter, keyEscape, keyTab } from \"@microsoft/fast-web-utilities\";\n/**\n * Card\n * @summary A versatile surface that can display rich content, optional header/footer regions, and interactive behaviors.\n *\n * @example\n * ```html\n * <fabric-card\n * focus-mode=\"off\"\n * appearance=\"filled\"\n * orientation=\"horizontal\"\n * interactive\n * aria-describedby=\"descId\"\n * aria-labelledby=\"labelId\"\n * >\n * <div>Card main content</div>\n * </fabric-card>\n * ```\n *\n * @attr {CardFocusMode} focus-mode - Controls keyboard focus behavior inside the card (including focus trapping and Tab/Escape behavior).\n * @attr {CardAppearance | undefined} appearance - Sets the visual style of the card (for example `filled` or `outline`).\n * @attr {CardOrientation | undefined} orientation - Sets the card layout direction (horizontal or vertical).\n * @attr {string} role - Sets the ARIA role; automatically switches to `button` when `interactive` is true.\n * @attr {string | undefined} value - Optional value associated with the card; emitted with click events.\n * @attr {string | undefined} href - Optional link value that is surfaced in the emitted click event.\n * @attr {boolean} disabled - Disables interactive behaviors and keyboard handling when set.\n * @attr {boolean} interactive - Enables interactive behaviors (for example Enter triggers click) and updates the role.\n * @attr {string | undefined} aria-describedby - Sets `aria-describedby` on the internal root for assistive descriptions.\n * @attr {string | undefined} aria-labelledby - Sets `aria-labelledby` on the internal root for assistive labeling.\n *\n * @prop {CardFocusMode} focusMode - Reflects the `focus-mode` attribute and governs keyboard focus handling.\n * @prop {CardAppearance | undefined} appearance - Reflects the chosen visual style of the card.\n * @prop {CardOrientation | undefined} orientation - Reflects whether content is arranged horizontally or vertically.\n * @prop {string} role - Current ARIA role applied to the card surface.\n * @prop {string | undefined} value - Value included in emitted click events for identification.\n * @prop {string | undefined} href - Link value included in emitted click events.\n * @prop {boolean} disabled - Indicates whether the card is inert to pointer and keyboard interaction.\n * @prop {boolean} interactive - Toggles interactive keyboard/mouse behaviors and role switching.\n * @prop {string | undefined} ariaDescribedby - Programmatic backing property for `aria-describedby`.\n * @prop {string | undefined} ariaLabelledby - Programmatic backing property for `aria-labelledby`.\n * @prop {HTMLElement} card - Reference to the primary card element within the template.\n * @prop {HTMLElement} root - Reference to the root container wrapping the card content.\n *\n * @slot default - Default slot for the card's content.\n *\n * @csspart card - Styles the main card surface element.\n * @csspart root - Styles the outermost root container element.\n * @csspart header - Styles the header region of the card.\n * @csspart content - Styles the content container region of the card.\n *\n * @cssprop --card-width - Controls the card width (any valid CSS length).\n * @cssprop --card-height - Controls the card height (defaults to fit-content).\n * @cssprop --card-elevation - Controls the card elevation level for visual stacking.\n * @cssprop --card-padding - Controls the padding applied to the card content.\n *\n * @method focusFirstElement - Moves focus to the first tabbable element (or the card if none exist).\n * @method focusLastElement - Moves focus to the last tabbable element within the card.\n * @method clickHandler - Handles pointer clicks and emits the card click event when eligible.\n * @method keydownHandler - Handles keyboard interaction including Enter activation and focus management.\n *\n * @fires click - Fired when an interactive, enabled card is activated; detail includes `interactive`, `value`, and `href`.\n * @fires interactive-changed - Fired when the `interactive` state changes; detail includes the new value.\n *\n * @extends FASTElement\n * @tagname fabric-card\n * @public\n */\nexport class Card extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Focus behavior within the card, set via `focus-mode` attribute.\n * @public\n * @attr focus-mode\n */\n this.focusMode = CardFocusMode.off;\n /**\n * The role of the card.\n * @public\n * @attr\n */\n this.role = \"group\";\n /**\n * Indicates if the card is disabled.\n * @public\n * @attr disabled\n */\n this.disabled = false;\n /**\n * Determines whether the card is interactive.\n * @public\n * @observable\n * @attr interactive\n */\n this.interactive = false;\n /**\n * Focuses the element at the specified index.\n * @private\n * @param index - The index of the element to focus.\n */\n this.focusElementAtIndex = (index) => {\n if (this.bounds.length > 0) {\n this.bounds[index].focus();\n }\n else {\n this.card.focus();\n }\n };\n /**\n * Focuses the first element in the card.\n * @public\n */\n this.focusFirstElement = () => {\n this.focusElementAtIndex(0);\n };\n /**\n * Focuses the last element in the card.\n * @public\n */\n this.focusLastElement = () => {\n if (this.bounds.length > 0) {\n this.focusElementAtIndex(this.bounds.length - 1);\n }\n };\n /**\n * Emits an event when the interactive state changes.\n * @protected\n */\n this.interactiveChanged = () => {\n this.role = this.interactive ? \"button\" : \"group\";\n this.emitInteractiveChangedEvent();\n };\n /**\n * Gets the tabbable elements within the given context.\n * @private\n * @param context - The context in which to find tabbable elements.\n * @returns {(HTMLElement | SVGElement)[]} The tabbable elements.\n */\n this.getTabQueueBounds = (context) => {\n const bounds = [];\n return Card.reduceTabbableItems(bounds, context);\n };\n }\n /**\n * Called when the element is added to the document.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.requestInertUpdate();\n }\n /**\n * Called when the element is removed from the document.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n /**\n * Reacts to focus mode changes.\n */\n focusModeChanged() {\n this.requestInertUpdate();\n }\n /**\n * Reacts to disabled changes.\n */\n disabledChanged() {\n this.requestInertUpdate();\n }\n /**\n * Handles click events on the card.\n * @public\n * @param e - The mouse event.\n * @returns {boolean | void} Returns true if the event was handled.\n */\n clickHandler(e) {\n if (this.disabled || e.defaultPrevented || !this.interactive) {\n return;\n }\n e.preventDefault();\n this.emitClickEvent();\n }\n /**\n * Handles keydown events on the card.\n * @public\n * @param e - The keyboard event.\n * @returns {boolean | void | null} Returns true if the event was handled.\n */\n keydownHandler(e) {\n if (this.disabled || e.defaultPrevented) {\n return true;\n }\n const { key, target, currentTarget, shiftKey } = e;\n const isTargetCurrent = target === currentTarget;\n const isFocusModeOffOrTabOnly = this.focusMode === CardFocusMode.off ||\n this.focusMode === CardFocusMode.tabOnly;\n const isFocusModeOff = this.focusMode === CardFocusMode.off;\n const isLastIndexFocused = this.isBoundsLastIndexFocused;\n const isZeroIndexFocused = this.isBoundsZeroIndexFocused;\n switch (key) {\n case keyEnter:\n if (!isTargetCurrent) {\n return true;\n }\n if (this.interactive) {\n this.emitClickEvent();\n }\n else if (!isFocusModeOff) {\n Updates.enqueue(() => {\n this.root.inert = false;\n this.focusFirstElement();\n });\n }\n e.preventDefault();\n break;\n case keyTab:\n if (this.shouldTrapFocus) {\n if ((isLastIndexFocused && !shiftKey) ||\n (isZeroIndexFocused && shiftKey)) {\n e.preventDefault();\n isLastIndexFocused\n ? this.focusFirstElement()\n : this.focusLastElement();\n }\n return true;\n }\n else if (this.focusMode === CardFocusMode.tabExit) {\n if ((isLastIndexFocused && !shiftKey) ||\n (isZeroIndexFocused && shiftKey) ||\n document.activeElement === this.card) {\n this.root.inert = !this.root.inert;\n }\n return true;\n }\n return true;\n case keyEscape:\n if (this.focusMode !== CardFocusMode.off) {\n this.card.focus();\n }\n if (!isFocusModeOffOrTabOnly) {\n this.root.inert = true;\n }\n e.preventDefault();\n break;\n default:\n return true;\n }\n }\n /**\n * Determines if the card is focusable.\n * @public\n * @returns {boolean} True if the card is focusable.\n */\n get isFocusable() {\n return (!this.disabled &&\n (this.interactive || this.focusMode !== CardFocusMode.off));\n }\n /**\n * Gets the tabbable bounds within the card.\n * @public\n * @returns {(HTMLElement | SVGElement)[]} The tabbable elements.\n */\n get bounds() {\n return this.getTabQueueBounds(this);\n }\n /**\n * Checks if the first element in the bounds is focused.\n * @public\n * @returns {boolean | void} True if the first element is focused.\n */\n get isBoundsZeroIndexFocused() {\n if (this.bounds.length > 0) {\n return document.activeElement === this.bounds[0];\n }\n }\n /**\n * Checks if the last element in the bounds is focused.\n * @public\n * @returns {boolean | void} True if the last element is focused.\n */\n get isBoundsLastIndexFocused() {\n if (this.bounds.length > 0) {\n return document.activeElement === this.bounds[this.bounds.length - 1];\n }\n }\n /**\n * Determines if focus should be trapped within the card.\n * @public\n * @returns {boolean} True if focus should be trapped.\n */\n get shouldTrapFocus() {\n return this.focusMode === CardFocusMode.noTab;\n }\n emitClickEvent() {\n this.dispatchEvent(new CustomEvent(CardEventNames.click, {\n detail: {\n interactive: this.interactive,\n value: this.value,\n href: this.href\n },\n bubbles: true,\n composed: true,\n cancelable: false\n }));\n }\n emitInteractiveChangedEvent() {\n this.dispatchEvent(new CustomEvent(CardEventNames.interactiveChanged, {\n detail: {\n interactive: this.interactive\n },\n bubbles: true,\n composed: true,\n cancelable: false\n }));\n }\n /**\n * Sets the component state based on focus mode and disabled state.\n * @private\n */\n updateInertState() {\n if (!this.root) {\n return;\n }\n const shouldBeInert = this.disabled ||\n (this.focusMode !== CardFocusMode.off &&\n this.focusMode !== CardFocusMode.tabOnly);\n this.root.inert = shouldBeInert;\n }\n requestInertUpdate() {\n var _a;\n if (!((_a = this.$fastController) === null || _a === void 0 ? void 0 : _a.isConnected)) {\n return;\n }\n Updates.enqueue(() => this.updateInertState());\n }\n /**\n * Reduces elements to only tabbable ones.\n * @private\n * @param elements - The elements to filter.\n * @param element - The element to check.\n * @returns {HTMLElement[]} The tabbable elements.\n */\n static reduceTabbableItems(elements, element) {\n if (element.getAttribute(\"tabindex\") === \"-1\") {\n return elements;\n }\n if (isTabbable(element) ||\n (Card.isFocusableFastElement(element) && Card.hasTabbableShadow(element))) {\n elements.push(element);\n return elements;\n }\n return Array.from(element.children).reduce((elements, currentElement) => Card.reduceTabbableItems(elements, currentElement), elements);\n }\n /**\n * Checks if a FASTElement is focusable.\n * @private\n * @param element - The FASTElement to check.\n * @returns {boolean} True if the element is focusable.\n */\n static isFocusableFastElement(element) {\n var _a, _b;\n return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);\n }\n /**\n * Checks if a FASTElement has tabbable shadow elements.\n * @private\n * @param element - The FASTElement to check.\n * @returns {boolean} True if the shadow contains tabbable elements.\n */\n static hasTabbableShadow(element) {\n var _a, _b;\n return Array.from((_b = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"*\")) !== null && _b !== void 0 ? _b : []).some((x) => {\n return isTabbable(x);\n });\n }\n}\n__decorate([\n attr({ attribute: \"focus-mode\" })\n], Card.prototype, \"focusMode\", void 0);\n__decorate([\n attr\n], Card.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], Card.prototype, \"role\", void 0);\n__decorate([\n attr\n], Card.prototype, \"value\", void 0);\n__decorate([\n attr\n], Card.prototype, \"href\", void 0);\n__decorate([\n attr\n], Card.prototype, \"orientation\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Card.prototype, \"disabled\", void 0);\n__decorate([\n observable,\n attr({ mode: \"boolean\" })\n], Card.prototype, \"interactive\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\" })\n], Card.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\" })\n], Card.prototype, \"ariaLabelledby\", void 0);\n//# sourceMappingURL=card.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorBrandBackground2, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackgroundDisabled, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, fontFamilyBase, shadow2, shadow4, shadow8, strokeWidthThick, strokeWidthThin, display } from \"@fluentui/web-components\";\n/** Card styles\n * @public\n */\nexport const styles = css `\n ${display(\"inline-block\")}\n :host {\n font-family: ${fontFamilyBase};\n background: ${colorTransparentBackground};\n border-radius: ${borderRadiusMedium};\n position: relative;\n max-width: 100%;\n height: fit-content;\n overflow: hidden;\n box-shadow: ${shadow4};\n box-sizing: border-box;\n width: var(--card-width, 320px);\n height: var(--card-height, fit-content);\n z-index: var(--card-elevation, 1);\n flex-shrink: 0;\n }\n .card:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -1px;\n border-color: ${colorBrandBackground2};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n .control {\n position: absolute;\n z-index: 2;\n top: 5px;\n inset-inline-end: 5px;\n }\n .content {\n display: grid;\n padding: var(--card-padding, 0);\n }\n .card {\n background: ${colorNeutralBackground1};\n border: ${strokeWidthThin} solid ${colorTransparentStroke};\n border-radius: ${borderRadiusMedium};\n }\n :host([orientation=\"horizontal\"]) .content {\n grid-template-rows: unset;\n row-gap: unset;\n grid-template-columns: auto 1fr;\n align-items: center;\n }\n :host([appearance=\"filled-alternative\"]) .card {\n background: ${colorNeutralBackground2};\n }\n :host([appearance=\"outline\"]) {\n box-shadow: none;\n }\n :host([appearance=\"outline\"]) .card {\n background: ${colorTransparentBackground};\n border-color: ${colorNeutralStroke1};\n box-shadow: none;\n }\n :host([appearance=\"subtle\"]) .card {\n background: ${colorSubtleBackground};\n border-color: ${colorTransparentStroke};\n box-shadow: none;\n }\n :host([interactive]) {\n cursor: pointer;\n user-select: none;\n }\n :host([interactive]:hover) .card {\n background: ${colorNeutralBackground1Hover};\n border-color: ${colorTransparentStrokeInteractive};\n box-shadow: ${shadow8};\n }\n :host([interactive]:active) .card {\n background: ${colorNeutralBackground1Pressed};\n border-color: ${colorTransparentStrokeInteractive};\n }\n :host([interactive][appearance=\"filled-alternative\"]:hover) .card {\n background: ${colorNeutralBackground2Hover};\n }\n :host([interactive][appearance=\"filled-alternative\"]:active) .card {\n background: ${colorNeutralBackground2Pressed};\n }\n :host([interactive][appearance=\"outline\"]:hover) .card {\n background: ${colorTransparentBackgroundHover};\n border-color: ${colorNeutralStroke1Hover};\n box-shadow: none;\n }\n :host([interactive][appearance=\"outline\"]:active) .card {\n background: ${colorTransparentBackgroundPressed};\n border-color: ${colorNeutralStroke1Pressed};\n }\n :host([interactive][appearance=\"subtle\"]:hover) .card {\n background: ${colorSubtleBackgroundHover};\n border-color: ${colorTransparentStrokeInteractive};\n box-shadow: none;\n }\n :host([interactive][appearance=\"subtle\"]:active) .card {\n background: ${colorSubtleBackgroundPressed};\n }\n .card[aria-selected=\"true\"] {\n background: ${colorNeutralBackground1Selected};\n border-color: ${colorTransparentStrokeInteractive};\n cursor: pointer;\n }\n :host([appearance=\"subtle\"]) .card[aria-selected=\"true\"] {\n background: ${colorSubtleBackgroundSelected};\n border-color: ${colorNeutralStroke1Selected};\n }\n :host([appearance=\"outline\"]) .card[aria-selected=\"true\"] {\n background: ${colorTransparentBackgroundSelected};\n border-color: ${colorNeutralStroke1Selected};\n }\n :host([appearance=\"filled-alternative\"]) .card[aria-selected=\"true\"] {\n background: ${colorNeutralBackground2Selected};\n }\n :host([aria-disabled=\"true\"]) .card {\n background: ${colorNeutralBackgroundDisabled};\n border-color: ${colorTransparentStrokeDisabled};\n cursor: not-allowed;\n pointer-events: none;\n box-shadow: ${shadow2};\n }\n :host([appearance=\"subtle\"]) .card[aria-disabled=\"true\"],\n :host([appearance=\"outline\"]) .card[aria-disabled=\"true\"] {\n box-shadow: none;\n }\n :host([appearance=\"outline\"]) .card[aria-disabled=\"true\"] {\n background: ${colorTransparentBackground};\n }\n`;\n//# sourceMappingURL=card.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Card:class)} component.\n * @public\n */\nexport function cardTemplate() {\n return html `\n <template\n orientation=\"${(x) => x.orientation}\"\n appearance=\"${(x) => x.appearance}\"\n ?interactive=\"${(x) => x.interactive}\"\n >\n <div\n role=\"${(x) => (x.interactive ? \"button\" : \"group\")}\"\n class=\"card\"\n tabindex=\"${(x) => (x.isFocusable ? \"0\" : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n aria-labelledby=\"${(x) => x.ariaLabelledby}\"\n aria-describedby=\"${(x) => x.ariaDescribedby}\"\n aria-disabled=\"${(x) => x.interactive ? (x.disabled ? \"true\" : \"false\") : null}\"\n ${ref(\"card\")}\n >\n <div class=\"root\" ${ref(\"root\")}>\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n </div>\n </template>\n `;\n}\nexport const template = cardTemplate();\n//# sourceMappingURL=card.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Card } from \"./card.js\";\nimport { styles } from \"./card.styles.js\";\nimport { template } from \"./card.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card>\n */\nexport const definition = Card.compose({\n name: `${DesignSystem.prefix}-card`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardFooter\n * @summary A CardFooter component for use within a card, providing slots for content and actions.\n *\n * @example\n * ```html\n * <fabric-card-footer>\n * <div>Footer Content</div>\n * <div slot=\"action\">\n * <fabric-button>Action 1</fabric-button>\n * <fabric-button>Action 2</fabric-button>\n * </div>\n * </fabric-card-footer>\n * ```\n *\n * @slot default - Default slot for footer content.\n * @slot action - Slot for footer action elements, such as buttons or links.\n *\n * @csspart content - The content area of the footer.\n * @cssprop --card-size - Controls the card sizing token used by the footer.\n *\n * @extends FASTElement\n * @tagname fabric-card-footer\n * @public\n */\nexport class CardFooter extends FASTElement {\n}\n//# sourceMappingURL=card-footer.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingHorizontalM, spacingHorizontalS, spacingVerticalS } from \"@fluentui/web-components\";\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n display: grid;\n grid-template-columns: 1fr min-content;\n }\n .content {\n display: flex;\n column-gap: var(--card-size, ${spacingHorizontalM});\n padding: ${spacingVerticalS} ${spacingHorizontalS};\n }\n`;\n//# sourceMappingURL=card-footer.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CardFooter:class)} component.\n * @public\n */\nexport function cardFooterTemplate() {\n return html `\n <template>\n <div class=\"content\" part=\"content\">\n <slot></slot>\n </div>\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = cardFooterTemplate();\n//# sourceMappingURL=card-footer.template.js.map","import { CardFooter } from \"./card-footer.js\";\nimport { styles } from \"./card-footer.styles.js\";\nimport { template } from \"./card-footer.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-footer>\n */\nexport const definition = CardFooter.compose({\n name: `${DesignSystem.prefix}-card-footer`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-footer.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardHeader\n * @summary A component for card headers, supporting a flexible slot-based layout for customization.\n *\n * @example\n * ```html\n * <fabric-card-header>\n * <div slot=\"start\">Logo</div>\n * <img slot=\"image\" src=\"path/to/image.jpg\" alt=\"Header Image\">\n * <h1 slot=\"header\">Main Title</h1>\n * <span slot=\"subtitle\">Subtitle Text</span>\n * <fabric-button slot=\"action\">Action Button</fabric-button>\n * <div slot=\"end\">Additional Info</div>\n * </fabric-card-header>\n * ```\n *\n * @slot start - Slot for content positioned at the start of the header.\n * @slot image - Slot for an image within the header.\n * @slot header - Slot for the main header content.\n * @slot subtitle - Slot for the subtitle text.\n * @slot action - Slot for action elements, typically buttons or links.\n * @slot end - Slot for content positioned at the end of the header.\n * @slot default - Default slot for card header content.\n *\n * @csspart image - The image container within the header.\n * @csspart header - The main header container.\n * @csspart row - A row within the header for layout.\n *\n * @extends FASTElement\n * @tagname fabric-card-header\n * @public\n */\nexport class CardHeader extends FASTElement {\n}\n//# sourceMappingURL=card-header.js.map","import { css } from \"@microsoft/fast-element\";\nimport { fontSizeBase300, fontWeightBold, spacingHorizontalXS, spacingHorizontalS, display, fontWeightRegular, fontSizeBase200, spacingVerticalXXS } from \"@fluentui/web-components\";\n/** Card Header styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n display: grid;\n grid-template-columns: min-content 1fr auto;\n padding: 6px;\n justify-content: flex-start;\n }\n\n ::slotted([slot=\"icon\"]) {\n align-self: center;\n }\n ::slotted([slot=\"header\"]) {\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightBold};\n }\n ::slotted([slot=\"action\"]) {\n grid-column: 3;\n justify-self: flex-end;\n }\n ::slotted([slot=\"subtitle\"]) {\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightRegular};\n }\n .header {\n justify-self: flex-start;\n display: flex;\n flex-direction: column;\n gap: ${spacingVerticalXXS};\n }\n .image {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-inline-end: ${spacingHorizontalS};\n }\n .row {\n display: flex;\n align-items: center;\n gap: ${spacingHorizontalXS};\n }\n`;\n//# sourceMappingURL=card-header.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the Fluent Card Header web-component.\n * @public\n */\nexport function cardHeaderTemplate() {\n return html `\n <template>\n <slot name=\"start\"></slot>\n <div class=\"image\" part=\"image\">\n <slot name=\"image\"></slot>\n </div>\n <div class=\"header\" part=\"header\">\n <div class=\"row\" part=\"row\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"row\" part=\"row\">\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n <slot></slot>\n <slot name=\"action\"></slot>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\nexport const template = cardHeaderTemplate();\n//# sourceMappingURL=card-header.template.js.map","import { CardHeader } from \"./card-header.js\";\nimport { styles } from \"./card-header.styles.js\";\nimport { template } from \"./card-header.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-header>\n */\nexport const definition = CardHeader.compose({\n name: `${DesignSystem.prefix}-card-header`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-header.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardPreview\n * @summary A CardPreview custom HTML Element that provides a preview container for card content, with an optional badge slot.\n *\n * @example\n * ```html\n * <fabric-card-preview>\n * <div>Card content goes here</div>\n * <span slot=\"badge\">New</span>\n * </fabric-card-preview>\n * ```\n *\n * @slot - The default slot for the card preview content.\n * @slot badge - The slot for the badge content.\n *\n * @extends FASTElement\n * @tagname fabric-card-preview\n * @public\n */\nexport class CardPreview extends FASTElement {\n}\n//# sourceMappingURL=card-preview.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingHorizontalM, spacingVerticalM } from \"@fluentui/web-components\";\n/** Card Header styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n overflow: hidden;\n }\n\n ::slotted([slot=\"badge\"]) {\n position: absolute;\n inset-inline-start: ${spacingHorizontalM};\n bottom: ${spacingVerticalM};\n }\n ::slotted(img) {\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=card-preview.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the Fluent Card Preview web-component.\n * @public\n */\nexport function cardPreviewTemplate() {\n return html `\n <template>\n <slot></slot>\n <slot name=\"badge\"></slot>\n </template>\n `;\n}\nexport const template = cardPreviewTemplate();\n//# sourceMappingURL=card-preview.template.js.map","import { CardPreview } from \"./card-preview.js\";\nimport { styles } from \"./card-preview.styles.js\";\nimport { template } from \"./card-preview.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-preview>\n */\nexport const definition = CardPreview.compose({\n name: `${DesignSystem.prefix}-card-preview`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-preview.definition.js.map","/**\n * Checks whether the specified element is disabled.\n * @param {Element} el The element to check.\n */\nexport function isDisabledElement(el) {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n}\n/**\n * Checks whether the specified element is hidden.\n * @param {Element} el The element to check.\n */\nexport function isHiddenElement(el) {\n return el.getAttribute(\"aria-hidden\") === \"true\";\n}\n/**\n * Checks whether the specified element is focusable.\n * @param {Element} el The element to check.\n */\nexport function isFocusableElement(el) {\n return (!isDisabledElement(el) &&\n !isHiddenElement(el) &&\n el.offsetParent !== null);\n}\n/**\n * Sets focusability of all focusable children within an element\n * @private\n * @param {HTMLElement} element - The parent element\n * @param {boolean} focusable - Whether children should be focusable\n */\nexport function setChildrenFocusability(element, focusable) {\n const focusableElements = element.querySelectorAll('a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), fabric-button, fabric-link, fabric-input, fabric-card-footer button');\n focusableElements.forEach((child) => {\n const htmlChild = child;\n if (focusable) {\n htmlChild.tabIndex = 0;\n }\n else {\n htmlChild.tabIndex = -1;\n }\n });\n}\n//# sourceMappingURL=accessibility-utilities.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Carousel_isRtl;\nimport { FASTElement, observable, Updates, attr } from \"@microsoft/fast-element\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { setChildrenFocusability } from \"../../util/accessibility-utilities.js\";\n/**\n * @summary A Carousel component for displaying a set of items in a horizontal, scrollable manner.\n *\n * @example\n * ```html\n * <fabric-carousel>\n * <div slot=\"header\">Carousel Header</div>\n * <fabric-button slot=\"prev-button\">Prev</fabric-button>\n * <fabric-button slot=\"next-button\">Next</fabric-button>\n * <div>Item 1</div>\n * <div>Item 2</div>\n * <!-- More carousel items here -->\n * </fabric-carousel>\n * ```\n *\n * @attr disable-animation - Disables animation when set to true.\n *\n * @prop {boolean} disableAnimation - Boolean attribute to disable animation.\n * @prop {HTMLElement[]} slottedCarouselItems - An array of carousel items that are slotted into the carousel.\n * @prop {HTMLElement} header - The header element.\n * @prop {number} currentIndex - The current index of the carousel, indicating which item is currently visible.\n * @prop {HTMLElement[]} nextButton - The next button element.\n * @prop {HTMLElement[]} prevButton - The previous button element.\n * @prop {number} visibleItemsCount - Gets the number of items currently visible in the carousel. (readonly)\n *\n * @slot header - Slot for the carousel header content.\n * @slot prev-button - Slot for the carousel's previous navigation button.\n * @slot next-button - Slot for the carousel's next navigation button.\n * @slot - Default slot for carousel items.\n *\n * @method next - Moves the carousel to the next set of items.\n * @method prev - Moves the carousel to the previous set of items.\n * @method scrollToIndex - Scrolls the carousel to a specific index.\n * @method isAtEnd - Checks if the carousel is at the end of the items.\n * @method getNextVisibleItemsCount - Gets the count of the next set of visible items in the carousel.\n * @method updateVisibleItems - Updates the visible items in the carousel.\n *\n * @extends FASTElement\n * @tagname fabric-carousel\n * @public\n */\nexport class Carousel extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Boolean attribute to check if the component is in RTL mode\n */\n _Carousel_isRtl.set(this, void 0);\n /**\n * An array of carousel items that are slotted into the carousel.\n *\n * @public\n * @type {HTMLElement[]}\n * @observable\n */\n this.slottedCarouselItems = [];\n /**\n * Boolean attribute to check if the carousel items are loaded\n */\n this.slottedCarouselItemsLoaded = false;\n /**\n * The current index of the carousel, indicating which item is currently visible.\n *\n * @public\n * @type {number}\n * @observable\n */\n this.currentIndex = 0;\n /**\n * The width of the gap between carousel items, in pixels.\n *\n * @private\n * @type {number}\n */\n this.gapWidth = 16;\n /**\n * Handle the next button click event.\n * @internal\n */\n this.handleNext = () => {\n this.next();\n };\n /**\n * Handle the previous button click event.\n * @internal\n */\n this.handlePrev = () => {\n this.prev();\n };\n /**\n * Cached container width\n * @private\n * @type {number}\n */\n this.cachedContainerWidth = 0;\n /**\n * Whether the layout should be recalculated\n * @private\n * @type {boolean}\n */\n this.shouldRecalculateLayout = true;\n /**\n * Resize observer\n * @private\n * @type {ResizeObserver}\n */\n this.resizeObserver = undefined;\n /**\n * Item measurements\n * @private\n * @type {number[]}\n */\n this.itemMeasurements = [];\n /**\n * The index of the last visible item in the carousel.\n * @private\n * @type {number}\n */\n this.lastVisibleItemIndex = -1;\n }\n /**\n * Callback when slottedCarouselItems changes to update button states\n * @internal\n */\n slottedCarouselItemsChanged(prev, next) {\n if (prev && next && next.length !== prev.length) {\n this.slottedCarouselItemsLoaded = true;\n }\n this.updateButtonStates();\n }\n /**\n * Callback when currentIndex changes to update button states\n * @internal\n */\n currentIndexChanged() {\n this.updateButtonStates();\n }\n /**\n * Updates the disabled state of navigation buttons based on carousel position\n * @internal\n */\n updateButtonStates() {\n var _a, _b;\n if (((_a = this.nextButton) === null || _a === void 0 ? void 0 : _a[0]) && ((_b = this.prevButton) === null || _b === void 0 ? void 0 : _b[0])) {\n this.prevButton[0].toggleAttribute(\"disabled\", this.currentIndex === 0);\n this.nextButton[0].toggleAttribute(\"disabled\", this.isAtEnd());\n }\n }\n /**\n * Sets event listeners for the carousel's navigation buttons.\n * @internal\n */\n setEventListeners() {\n if (this.nextButton && this.nextButton.length > 0) {\n this.nextButton[0].addEventListener(\"click\", this.handleNext);\n }\n if (this.prevButton && this.prevButton.length > 0) {\n this.prevButton[0].addEventListener(\"click\", this.handlePrev);\n }\n }\n /**\n * Removes event listeners for the carousel's navigation buttons.\n * @internal\n */\n removeEventListeners() {\n if (this.nextButton && this.nextButton.length > 0) {\n this.nextButton[0].removeEventListener(\"click\", this.handleNext);\n }\n if (this.prevButton && this.prevButton.length > 0) {\n this.prevButton[0].removeEventListener(\"click\", this.handlePrev);\n }\n }\n /**\n * Invoked when the carousel is added to the document's DOM.\n *\n * @public\n * @returns {void}\n */\n connectedCallback() {\n super.connectedCallback();\n this.updateDirection();\n // Set a unique ID for the header and associate it with the region\n const headerId = `fabric-carousel-header-${uniqueId()}`;\n if (this.header) {\n this.header.id = headerId;\n }\n if (this.viewportRef) {\n this.viewportRef.setAttribute(\"aria-labelledby\", headerId);\n }\n this.style.setProperty(\"--gap-width\", `${this.gapWidth}px`);\n Updates.enqueue(() => {\n this.updateVisibleItems();\n this.updateButtonStates();\n this.setEventListeners();\n });\n this.setupResizeObserver();\n }\n /**\n * Invoked when the carousel is removed from the document's DOM.\n *\n * @public\n * @returns {void}\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = undefined;\n }\n this.removeEventListeners();\n }\n /**\n * Moves the carousel to the next set of items.\n *\n * @public\n * @returns {void}\n */\n next() {\n if (!this.isAtEnd()) {\n const visibleCount = this.visibleItemsCount;\n const maxIndex = Math.max(0, this.slottedCarouselItems.length - visibleCount);\n this.currentIndex = Math.min(this.currentIndex + this.getNextVisibleItemsCount(\"next\"), maxIndex);\n this.updateVisibleItems();\n }\n }\n /**\n * Moves the carousel to the previous set of items.\n *\n * @public\n * @returns {void}\n */\n prev() {\n if (this.currentIndex > 0) {\n const itemsToMove = this.getNextVisibleItemsCount(\"prev\");\n this.currentIndex -= itemsToMove;\n this.updateVisibleItems();\n }\n }\n /**\n * Scrolls the carousel to a specific index.\n *\n * @public\n * @param {number} index - The target index to scroll to\n * @returns {void}\n */\n scrollToIndex(index, _attempts = 0) {\n const maxAttempts = 10;\n if (!this.slottedCarouselItemsLoaded) {\n if (_attempts >= maxAttempts) {\n console.warn(`carousel:scrollToIndex -- scroll overflow exceeded: ${maxAttempts}. No slotted carousel elements.`, index);\n return;\n }\n requestAnimationFrame(() => this.scrollToIndex(index));\n return;\n }\n if (index < 0 || index >= this.slottedCarouselItems.length) {\n console.warn(`Invalid index ${index}. Must be between 0 and ${this.slottedCarouselItems.length - 1}`);\n return;\n }\n this.currentIndex = index;\n this.updateVisibleItems();\n this.updateButtonStates();\n }\n /**\n * Sets up a resize observer to watch for changes in the carousel's container width\n */\n setupResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => {\n this.cachedContainerWidth = 0;\n this.measureItems();\n this.updateVisibleItems();\n });\n this.resizeObserver.observe(this);\n }\n /**\n * Measures the width of each item in the carousel.\n * @internal\n */\n measureItems() {\n if (this.shouldRecalculateLayout) {\n this.itemMeasurements = this.slottedCarouselItems.map((item) => item.getBoundingClientRect().width + this.gapWidth);\n this.shouldRecalculateLayout = false;\n }\n }\n /**\n * Gets the number of items currently visible in the carousel.\n *\n * @public\n * @returns {number} The count of visible items.\n */\n get visibleItemsCount() {\n if (!this.cachedContainerWidth || this.shouldRecalculateLayout) {\n this.cachedContainerWidth = this.clientWidth;\n this.measureItems();\n }\n let totalWidth = 0;\n let count = 0;\n let index = this.currentIndex;\n let isLastVisibleEl = false;\n while (!isLastVisibleEl) {\n if (totalWidth + this.itemMeasurements[index] <=\n this.cachedContainerWidth) {\n totalWidth += this.itemMeasurements[index];\n index++;\n if (index >= this.currentIndex) {\n count++;\n }\n }\n else {\n isLastVisibleEl = true;\n }\n }\n this.lastVisibleItemIndex = index - 1;\n return count;\n }\n /**\n * Checks if the carousel is at the end of the items.\n *\n * @public\n * @returns {boolean} True if at the end, false otherwise.\n */\n isAtEnd() {\n const totalItems = this.slottedCarouselItems.length;\n const visibleCount = this.visibleItemsCount;\n const maxIndex = Math.max(0, totalItems - visibleCount);\n return this.currentIndex >= maxIndex;\n }\n /**\n * Gets the count of the next set of visible items in the carousel.\n *\n * @public\n * @param {string} direction - The direction to check (\"next\" or \"prev\")\n * @returns {number} The count of the next visible items.\n */\n getNextVisibleItemsCount(direction) {\n let totalWidth = 0;\n let count = 0;\n if (!this.cachedContainerWidth || this.shouldRecalculateLayout) {\n this.cachedContainerWidth = this.clientWidth;\n this.measureItems();\n }\n const widths = this.itemMeasurements.slice(direction === \"next\" ? this.currentIndex : 0, direction === \"next\"\n ? this.slottedCarouselItems.length\n : this.currentIndex);\n for (const width of widths) {\n if (totalWidth + width <= this.cachedContainerWidth) {\n totalWidth += width;\n count++;\n }\n else {\n break;\n }\n }\n return count;\n }\n /**\n * Detects if the component is in RTL mode\n * @private\n * @returns {boolean} True if RTL is active\n */\n updateDirection() {\n var _a;\n const computedDir = getComputedStyle(this).direction;\n const documentDir = document.documentElement.dir;\n const htmlDir = (_a = document.querySelector(\"html\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"dir\");\n __classPrivateFieldSet(this, _Carousel_isRtl, computedDir === \"rtl\" || documentDir === \"rtl\" || htmlDir === \"rtl\", \"f\");\n }\n /**\n * Gets the appropriate transform direction based on RTL\n * @private\n * @param {number} offset - The offset amount\n * @returns {string} The transform CSS value\n */\n getTransform(offset) {\n if (__classPrivateFieldGet(this, _Carousel_isRtl, \"f\") === undefined) {\n this.updateDirection();\n }\n // In RTL, positive offset should move right (positive translateX)\n // In LTR, positive offset should move left (negative translateX)\n const transformValue = __classPrivateFieldGet(this, _Carousel_isRtl, \"f\") ? offset : -offset;\n return `translateX(${transformValue}px)`;\n }\n /**\n * Updates the visible items in the carousel.\n *\n * @public\n * @returns {void}\n */\n updateVisibleItems() {\n Updates.enqueue(() => {\n let totalWidth = 0;\n if (this.itemMeasurements.length > 0) {\n this.slottedCarouselItems.forEach((item, index) => {\n if (index > this.lastVisibleItemIndex || index < this.currentIndex) {\n item.setAttribute(\"aria-hidden\", \"true\");\n item.tabIndex = -1;\n setChildrenFocusability(item, false);\n }\n else {\n item.setAttribute(\"aria-hidden\", \"false\");\n item.tabIndex = 0;\n setChildrenFocusability(item, true);\n }\n if (index < this.currentIndex) {\n totalWidth += this.itemMeasurements[index];\n }\n });\n if (this.viewportRef) {\n if (this.disableAnimation) {\n this.viewportRef.style.transition = \"none\";\n }\n else {\n this.viewportRef.style.transition = \"\";\n }\n // Use RTL-aware transform\n this.viewportRef.style.transform = this.getTransform(totalWidth);\n }\n }\n });\n }\n}\n_Carousel_isRtl = new WeakMap();\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-animation\" })\n], Carousel.prototype, \"disableAnimation\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"slottedCarouselItems\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"header\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"viewportRef\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"nextButton\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"prevButton\", void 0);\n//# sourceMappingURL=carousel.js.map","import { fontFamilyBase, fontSizeBase400, fontWeightBold, lineHeightBase400, spacingHorizontalS, spacingVerticalM, spacingVerticalS, display } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n overflow: hidden;\n padding: ${spacingVerticalM} ${spacingHorizontalS} ${spacingVerticalS}\n ${spacingHorizontalS};\n }\n .navigation {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin: ${spacingVerticalM} 0;\n }\n .header {\n font-size: ${fontSizeBase400};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightBold};\n line-height: ${lineHeightBase400};\n }\n .viewport {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n transition: transform 0.3s ease-in-out;\n will-change: transform;\n width: 100%;\n padding-block-start: ${spacingVerticalM};\n padding-inline: 0;\n padding-block-end: ${spacingVerticalS};\n }\n .viewport ::slotted(*) {\n display: inline-block;\n /* Use logical properties for RTL support */\n margin-inline-end: var(--gap-width, 16px);\n }\n`;\n//# sourceMappingURL=carousel.styles.js.map","import { elements, html, ref, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Carousel:class)} component.\n * @public\n */\nexport function carouselTemplate() {\n return html `\n <template ?no-animation=\"${(x) => x.disableAnimation}\">\n <div class=\"navigation\">\n <div class=\"header\" ${ref(\"header\")}>\n <slot name=\"header\"></slot>\n </div>\n <div class=\"button-container\">\n <slot name=\"prev-button\" ${slotted(\"prevButton\")}></slot>\n <slot name=\"next-button\" ${slotted(\"nextButton\")}></slot>\n </div>\n </div>\n\n <div class=\"viewport\" role=\"region\" ${ref(\"viewportRef\")}>\n <slot\n ${slotted({ property: \"slottedCarouselItems\", filter: elements() })}\n ></slot>\n </div>\n </template>\n `;\n}\nexport const template = carouselTemplate();\n//# sourceMappingURL=carousel.template.js.map","import { Carousel } from \"./carousel.js\";\nimport { styles } from \"./carousel.styles.js\";\nimport { template } from \"./carousel.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-carousel>\n */\nexport const definition = Carousel.compose({\n name: `${DesignSystem.prefix}-carousel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=carousel.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { BaseButton as FluentButton } from \"@fluentui/web-components\";\nimport { attr } from \"@microsoft/fast-element\";\n/**\n * Button\n * @summary A Button Custom HTML Element. Based on FluentButton and includes style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Click me!\n * <span slot=\"end\">→</span>\n * </fabric-button>\n * ```\n *\n * @attr {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {ButtonShape | undefined} shape - The shape of the button.\n * @attr {ButtonSize | undefined} size - The size of the button.\n * @attr {boolean} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {boolean} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {ButtonType} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {ButtonShape | undefined} shape - The shape of the button.\n * @prop {ButtonSize | undefined} size - The size of the button.\n * @prop {boolean} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean} autofocus - Indicates the button should be focused whein the page is loaded.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {boolean} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number} tabindex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formaction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formenctype - The encoding type for the form submission.\n * @prop {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {ButtonType} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n * @prop {string} role - Accessible role applied to the element (defaults to 'button').\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method keypressHandler - Handles keypress events for the button.\n * @method press - Presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentButton\n * @tagname fabric-button\n * @public\n */\nexport class Button extends FluentButton {\n constructor() {\n super(...arguments);\n /**\n * Indicates that the button should only display as an icon with no text content.\n *\n * @public\n * @remarks\n * HTML Attribute: `icon-only`\n */\n this.iconOnly = false;\n }\n}\n__decorate([\n attr\n], Button.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], Button.prototype, \"shape\", void 0);\n__decorate([\n attr\n], Button.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], Button.prototype, \"iconOnly\", void 0);\n//# sourceMappingURL=button.js.map","import { ButtonAppearance as FluentButtonAppearance, ButtonShape as FluentButtonShape, ButtonSize as FluentButtonSize, ButtonFormTarget as FluentButtonFormTarget, ButtonType as FluentButtonType } from \"@fluentui/web-components\";\n/** Appearance values for {@link Button}. */\nexport const ButtonAppearances = {\n ...FluentButtonAppearance,\n primaryOnBrand: \"primary-on-brand\"\n};\n/** Shape values for {@link Button}. */\nexport const ButtonShapes = { ...FluentButtonShape };\n/** Size values for {@link Button}. */\nexport const ButtonSizes = { ...FluentButtonSize };\n/** Form target values for {@link Button}. */\nexport const ButtonFormTargets = { ...FluentButtonFormTarget };\n4;\n/** Button type values for {@link Button}. */\nexport const ButtonTypes = { ...FluentButtonType };\n//# sourceMappingURL=button.options.js.map","import { ButtonStyles, borderRadiusMedium, colorNeutralForegroundOnBrand, colorStrokeFocus2, shadow2, colorNeutralStrokeOnBrand, colorBrandBackground, colorBrandBackgroundHover, colorBrandBackgroundPressed } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${ButtonStyles}\n\n /* Override Fluent UI small size border-radius to use borderRadiusMedium */\n :host([size=\"small\"]:not([shape=\"circular\"]):not([shape=\"square\"])) {\n border-radius: ${borderRadiusMedium};\n }\n\n :host([appearance=\"primary-on-brand\"]) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n`;\n//# sourceMappingURL=button.styles.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Button } from \"./button.js\";\nimport { ButtonTemplate } from \"@fluentui/web-components\";\nimport { styles as ButtonStyles } from \"./button.styles.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-button>\n */\nexport const definition = Button.compose({\n name: `${DesignSystem.prefix}-button`,\n template: ButtonTemplate,\n styles: ButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=button.definition.js.map","import { ButtonFormTargets, ButtonTypes } from \"../button/index.js\";\nexport const FilterPillTypes = {\n ...ButtonTypes\n};\nexport const FilterPillFormTargets = {\n ...ButtonFormTargets\n};\n/** Appearance values for {@link FilterPill}. */\nexport const FilterPillAppearances = {\n primary: \"primary\",\n subtle: \"subtle\",\n transparent: \"transparent\",\n outline: \"outline\",\n primaryOnBrand: \"primary-on-brand\"\n};\n/** Shape values for {@link FilterPill}. */\nexport const FilterPillShapes = {\n circular: \"circular\",\n square: \"square\"\n};\n/** Size values for {@link FilterPill}. */\nexport const FilterPillSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * FilterPill event names\n * @public\n */\nexport const FilterPillEventNames = {\n pressedChange: \"pressed-change\"\n};\n//# sourceMappingURL=filter-pill.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Button } from \"../button/button.js\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { handleAttributeChange, toggleState } from \"../../util/element-internals.js\";\nimport { FilterPillEventNames, FilterPillSizes, FilterPillShapes, FilterPillAppearances } from \"./filter-pill.options.js\";\n/**\n * FilterPill\n * @summary A FilterPill component that represents a button-like pill with various customizable appearances, shapes, and sizes. Based largely on the `<button>` element.\n *\n * @example\n * ```html\n * <fabric-filter-pill appearance=\"primary\" shape=\"circular\" size=\"medium\" icon-only=\"false\" pressed=\"false\" mixed=\"false\">\n * <span slot=\"start\">Start Content</span>\n * Filter Pill Content\n * <span slot=\"end\">End Content</span>\n * </fabric-filter-pill>\n * ```\n *\n * @attr {FilterPillAppearance} appearance - The appearance of the filter pill.\n * @attr {FilterPillShape} shape - The shape of the filter pill.\n * @attr {FilterPillSize} size - The size of the filter pill.\n * @attr {boolean} icon-only - Whether the filter pill is icon-only.\n * @attr {boolean} pressed - Whether the filter pill is pressed.\n * @attr {boolean} mixed - Whether the filter pill is in a mixed state.\n * @attr {string} aria-pressed - The aria-pressed attribute value.\n * @attr {string} aria-label - The aria-label attribute value.\n *\n * @prop {boolean} iconOnly - Whether the filter pill is icon-only.\n * @prop {boolean} pressed - Whether the filter pill is pressed.\n * @prop {boolean} mixed - Whether the filter pill is in a mixed state.\n *\n * @slot - Default slot for the filter pill content.\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n *\n * @csspart content - The content of the filter pill.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method iconOnlyChanged - Handles changes to the iconOnly attribute.\n * @method appearanceChanged - Handles changes to the appearance attribute.\n * @method shapeChanged - Handles changes to the shape attribute.\n * @method sizeChanged - Handles changes to the size attribute.\n * @method pressedChanged - Handles changes to the pressed attribute.\n * @method mixedChanged - Handles changes to the mixed attribute.\n * @method press - Toggles the pressed state of the filter pill.\n *\n * @fires pressed-change - Dispatched when the pressed state changes.\n *\n * @extends Button\n * @tagname fabric-filter-pill\n * @public\n */\nexport class FilterPill extends Button {\n /**\n * Creates an instance of FilterPill.\n */\n constructor() {\n super();\n /**\n * The appearance of the filter pill.\n * @attr\n * @type {FilterPillAppearance}\n * @public\n */\n this.appearance = FilterPillAppearances.primary;\n /**\n * The shape of the filter pill.\n * @attr\n * @type {FilterPillShape}\n * @public\n */\n this.shape = FilterPillShapes.circular;\n /**\n * The size of the filter pill.\n * @attr\n * @type {FilterPillSize}\n * @public\n */\n this.size = FilterPillSizes.medium;\n /**\n * Whether the filter pill is icon-only.\n * @attr {boolean} icon-only\n * @type {boolean}\n * @public\n */\n this.iconOnly = false;\n /**\n * Whether the filter pill is pressed.\n * @attr {boolean}\n * @type {boolean}\n * @public\n */\n this.pressed = false;\n /**\n * Whether the filter pill is in a mixed state.\n * @attr {boolean}\n * @type {boolean}\n * @public\n */\n this.mixed = false;\n this.elementInternals.role = \"button\";\n }\n /**\n * Wires click and keypress handlers using a shared AbortSignal.\n */\n attachEventListeners() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = new AbortController();\n const { signal } = this.events;\n this.addEventListener(\"click\", this.clickHandler, {\n signal\n });\n this.addEventListener(\"keypress\", this.keypressHandler, {\n signal\n });\n }\n /**\n * Handles changes to the iconOnly attribute.\n * @param {boolean} prev - The previous value of the iconOnly attribute.\n * @param {boolean} next - The new value of the iconOnly attribute.\n */\n iconOnlyChanged(_prev, next) {\n toggleState(this.elementInternals, \"icon\", next);\n }\n /**\n * Handles changes to the appearance attribute.\n * @param {FilterPillAppearance | undefined} prev - The previous value of the appearance attribute.\n * @param {FilterPillAppearance | undefined} next - The new value of the appearance attribute.\n */\n appearanceChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the shape attribute.\n * @param {FilterPillShape | undefined} prev - The previous value of the shape attribute.\n * @param {FilterPillShape | undefined} next - The new value of the shape attribute.\n */\n shapeChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the size attribute.\n * @param {FilterPillSize | undefined} prev - The previous value of the size attribute.\n * @param {FilterPillSize | undefined} next - The new value of the size attribute.\n */\n sizeChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the pressed attribute.\n */\n pressedChanged() {\n this.setPressedState();\n }\n /**\n * Handles changes to the mixed attribute.\n */\n mixedChanged() {\n this.setPressedState();\n }\n /**\n * Toggles the pressed state of the filter pill.\n */\n press() {\n this.pressed = !this.pressed;\n }\n /**\n * Sets the pressed state of the filter pill.\n * @private\n */\n setPressedState() {\n const ariaPressed = `${this.mixed ? \"mixed\" : !!this.pressed}`;\n this.elementInternals.ariaPressed = ariaPressed;\n toggleState(this.elementInternals, \"pressed\", this.pressed || this.mixed);\n this.$emit(FilterPillEventNames.pressedChange, this.pressed);\n }\n /**\n * Lifecycle hook to attach event listeners once connected.\n */\n connectedCallback() {\n super.connectedCallback();\n this.attachEventListeners();\n }\n /**\n * Lifecycle hook to clean up event listeners when disconnected.\n */\n disconnectedCallback() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = undefined;\n super.disconnectedCallback();\n }\n}\n__decorate([\n attr\n], FilterPill.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], FilterPill.prototype, \"shape\", void 0);\n__decorate([\n attr\n], FilterPill.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], FilterPill.prototype, \"iconOnly\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FilterPill.prototype, \"pressed\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FilterPill.prototype, \"mixed\", void 0);\n//# sourceMappingURL=filter-pill.js.map","import { AttributeConfiguration } from \"@microsoft/fast-element\";\n/**\n * Apply mixins to a constructor.\n * Sourced from {@link https://www.typescriptlang.org/docs/handbook/mixins.html | TypeScript Documentation }.\n *\n * TODO: Remove with https://github.com/microsoft/fast/pull/6797\n * This was used for Badge where start/end was not yet implemented.\n * The method itself was deprecated as it was largely intended to be \"internals\" for Fast Foundation.\n * Adding here to avoid breaking of the existing API.\n * @internal\n */\nexport function applyMixins(derivedCtor, ...baseCtors) {\n const derivedAttributes = AttributeConfiguration.locate(derivedCtor);\n baseCtors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {\n if (name !== \"constructor\") {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n }\n });\n const baseAttributes = AttributeConfiguration.locate(baseCtor);\n baseAttributes.forEach((x) => derivedAttributes.push(x));\n });\n}\n//# sourceMappingURL=apply-mixins.js.map","/**\n * Sets the specified attributes on the given HTML element.\n * @param {HTMLElement} element The HTML element on which to set attributes.\n * @param {{[key: string]: string}} attributes An object mapping attribute names to values.\n */\nexport function setAttributes(element, attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n element.setAttribute(key, value);\n });\n}\n//# sourceMappingURL=attribute-utilities.js.map","/**\n * debounce function\n * @param func - function to be debounced\n * @param delay - delay in milliseconds\n */\nexport function debounce(func, delay) {\n let debounceTimer;\n return function (...args) {\n clearTimeout(debounceTimer);\n debounceTimer = window.setTimeout(() => func.apply(this, args), delay);\n };\n}\n//# sourceMappingURL=debounce.js.map","//-----------------------------------------------------------------------\n// <copyright company=\"Microsoft Corporation\">\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// </copyright>\n//-----------------------------------------------------------------------\n/**\n * Holds a collection of debug-related functions. When the instance is not in debug mode, most/all of\n * the side-effects will be disabled.\n */\nexport class debug {\n static setAssertFailFunction(f) {\n debug.assertFailFunction = f;\n }\n /**\n * Asserts that the condition is true, fails otherwise.\n */\n static assert(conditionFunc, message) {\n if (!this.enabled)\n return;\n const condition = conditionFunc();\n message = message !== null && message !== void 0 ? message : \"condition: \" + condition;\n if (condition !== true) {\n debug.assertFail(message);\n }\n }\n /**\n * Asserts that the value is neither null nor undefined, fails otherwise.\n */\n static assertDefined(value, message) {\n if (!this.enabled)\n return;\n debug.assert(() => value !== null && value !== undefined, message);\n }\n /**\n * Asserts that the value is neither null nor undefined, and has a length property that returns greater than zero, fails otherwise.\n */\n static assertNonEmpty(value, message) {\n if (!this.enabled)\n return;\n debug.assert(() => value != null && value.length > 0, message);\n }\n /**\n * Asserts that this function is never called. This is to be used\n */\n static assertNever(neverValue) {\n if (!this.enabled)\n return;\n debug.assertFail(\"Expected to never have value \" + neverValue);\n }\n static assertFail(message) {\n if (!this.enabled)\n return;\n (debug.assertFailFunction || alert)(`Debug Assert failed: ${message}`);\n }\n static log(message, ...optionalParams) {\n if (!this.enabled)\n return;\n console.log(message, ...(optionalParams || []));\n }\n static logDebug(message, ...optionalParams) {\n if (!this.enabled)\n return;\n console.debug(message, ...(optionalParams || []));\n }\n static warn(message, ...optionalParams) {\n if (!this.enabled)\n return;\n if (console && console.warn) {\n console.warn(message, ...(optionalParams || []));\n }\n }\n static execute(action) {\n if (!this.enabled)\n return;\n action();\n }\n static enable() {\n this.enabled = true;\n }\n}\ndebug.enabled = false;\n//# sourceMappingURL=debug.js.map","/**\n * Waits for all custom element descendants to be defined before invoking the callback.\n * Uses `customElements.whenDefined()` to deterministically wait for element registration,\n * with an optional timeout fallback.\n *\n * @param target - The parent element to check for undefined descendants.\n * @param callback - The callback to invoke when all descendants are defined.\n * @param options - Configuration options for the wait behavior.\n * @public\n *\n * @example\n * ```typescript\n * waitForConnectedDescendants(this, () => {\n * // All custom element descendants are now defined\n * this.processChildren();\n * });\n * ```\n */\nexport function waitForConnectedDescendants(target, callback, options) {\n var _a, _b;\n const shallow = (_a = options === null || options === void 0 ? void 0 : options.shallow) !== null && _a !== void 0 ? _a : false; // restricts the check to direct children only\n const timeout = (_b = options === null || options === void 0 ? void 0 : options.timeout) !== null && _b !== void 0 ? _b : 50; // timout after 50ms if definitions never arrive\n const query = `${shallow ? \":scope > \" : \"\"}:not(:defined)`; // CSS pseudo class that matches unregistered custom elements\n const undefinedEls = target.querySelectorAll(query); // query for undefined elements\n // All descendants already defined — invoke immediately\n if (undefinedEls.length === 0) {\n // if every descendant is already defined fire the callback\n callback();\n return;\n }\n // Collect unique tag names that need defining\n const tagNames = new Set();\n for (const el of undefinedEls) {\n tagNames.add(el.localName);\n }\n const definedPromise = Promise.all([...tagNames].map((name) => customElements.whenDefined(name)) // returns a promise that resolves the moment the custom element is defined\n ); // wait for all registrants to be defined\n let settled = false;\n // timeout and promise will \"race\" to call the callback. settle function - guards against multiple calls of the callback\n const settle = () => {\n if (settled) {\n return;\n }\n settled = true;\n callback();\n };\n definedPromise.then(settle);\n // Optional timeout fallback — fires the callback if definitions take too long\n if (timeout > 0) {\n setTimeout(settle, timeout);\n }\n}\n//# sourceMappingURL=descendants.js.map","import { Direction } from \"@microsoft/fast-web-utilities\";\n/**\n * This module provides a composable system for detecting and monitoring text direction\n * (LTR/RTL) changes in web applications. It follows a strategy/observer pattern to allow\n * flexibility for the many ways that direction can be controlled in the document.\n *\n * ## Architecture\n *\n * The system uses two complementary interfaces:\n *\n * - **DirectionStrategy**: Detection - reads direction from a source (CSS, attributes, etc.)\n * - **DirectionObserver**: Change monitoring - watches for direction changes and notifies\n *\n * The `DirectionDetector` class combines the detection and observer strategies to provide\n * robust direction detection with automatic change notifications.\n *\n * ## Built-in Strategies\n *\n * - `DirAttributeStrategy`: Reads the `dir` attribute from elements\n * - `ElementCssStrategy`: Reads computed CSS `direction` property\n *\n * ## Built-in Observers\n *\n * - `DirAttributeObserver`: Watches for `dir` attribute mutations via MutationObserver\n *\n * ## Global DirectionDetector\n *\n * A singleton detector is available via `globalDirectionDetector()`. By default, it\n * monitors the `dir` attribute on the `<html>` element. This is the detector used by the\n * components in this package to correctly adjust layout, keyboard navigation, etc.\n *\n * To customize the global detector, call `setGlobalDirectionDetector()`:\n *\n * ```typescript\n * import {\n * setGlobalDirectionDetector,\n * DirectionDetector,\n * DirAttributeStrategy,\n * DirAttributeObserver\n * } from \"@fabric-msft/fabric-web\";\n *\n * setGlobalDirectionDetector(\n * new DirectionDetector({\n * strategies: [new DirAttributeStrategy([document.documentElement])],\n * observers: [new DirAttributeObserver(\"html\")],\n * onChange: (dir) => console.log(\"Global direction:\", dir)\n * })\n * );\n * ```\n *\n * ## Defaults\n *\n * The default global DirectionDetector will monitor the `dir` attribute on the\n * `html` element. You do not need to set anything if this is the strategy that your app\n * uses to control document direction.\n *\n * ```html\n * <html dir=\"rtl\">\n * ```\n *\n * ## Custom DirectionDetector\n *\n * ```typescript\n * import {\n * DirectionDetector,\n * DirAttributeStrategy,\n * DirAttributeObserver\n * } from \"@fabric-msft/fabric-web\";\n *\n * const detector = new DirectionDetector({\n * strategies: [new DirAttributeStrategy([document.documentElement])],\n * observers: [new DirAttributeObserver(\"html\")],\n * onChange: (dir, { previous }) => {\n * console.log(`Direction changed: ${previous} → ${dir}`);\n * }\n * });\n *\n * // Access current direction\n * console.log(detector.value); // 'ltr' or 'rtl'\n *\n * // Clean up when done\n * detector.stop();\n * ```\n */\n/**\n * Determines the current localization direction of an element.\n *\n * @param rootNode - the HTMLElement to begin the query from, usually \"this\" when used in a component controller\n * @returns the localization direction of the element\n *\n * @public\n */\nexport const getDirection = (rootNode) => {\n var _a;\n return ((_a = rootNode.closest(\"[dir]\")) === null || _a === void 0 ? void 0 : _a.dir) === \"rtl\"\n ? Direction.rtl\n : Direction.ltr;\n};\nexport function findClosestElementsWithDir(element) {\n var _a;\n const candidates = [];\n // Check closest [dir] ancestor from the element\n const closestDir = element.closest(\"[dir]\");\n if (closestDir)\n candidates.push(closestDir);\n // Fall back to documentElement\n const html = ((_a = element === null || element === void 0 ? void 0 : element.ownerDocument) !== null && _a !== void 0 ? _a : document).documentElement;\n if (html === null || html === void 0 ? void 0 : html.hasAttribute(\"dir\"))\n candidates.push(html);\n return candidates;\n}\nexport function isRtl() {\n return globalDirectionDetector().value === Direction.rtl;\n}\n/**\n * Strategy that reads direction from the computed CSS style of a specific element.\n * @public\n */\nexport class ElementCssStrategy {\n constructor(element) {\n var _a;\n this.element = element;\n this.doc = (_a = element === null || element === void 0 ? void 0 : element.ownerDocument) !== null && _a !== void 0 ? _a : document;\n }\n getDirection() {\n if (!this.element)\n return null;\n const win = this.doc.defaultView;\n if (!win)\n return null;\n try {\n const dir = win.getComputedStyle(this.element).direction;\n return dir === Direction.rtl || dir === Direction.ltr ? dir : null;\n }\n catch {\n return null;\n }\n }\n}\n/**\n * Strategy that reads direction from the dir attribute.\n * Takes a list of elements and checks each element until it finds one with a \"dir\" attribute specified.\n * @public\n */\nexport class DirAttributeStrategy {\n constructor(elements) {\n this.elements = elements;\n }\n getDirection() {\n var _a;\n for (const el of this.elements) {\n const raw = ((_a = el.getAttribute(\"dir\")) !== null && _a !== void 0 ? _a : \"\").trim().toLowerCase();\n if (raw === Direction.rtl || raw === Direction.ltr)\n return raw;\n if (raw === \"auto\")\n return null;\n }\n return null;\n }\n}\n/**\n * Observer that watches for dir attribute changes using MutationObserver.\n * @public\n */\nexport class DirAttributeObserver {\n constructor(target = \"html\", doc = document) {\n this.mo = null;\n this.target = target;\n this.doc = doc;\n }\n start(notify) {\n var _a;\n if (this.mo)\n return;\n const observeEl = typeof this.target === \"string\"\n ? ((_a = this.doc.querySelector(this.target)) !== null && _a !== void 0 ? _a : this.doc.documentElement)\n : this.target;\n if (!observeEl)\n return;\n this.mo = new MutationObserver(() => notify());\n this.mo.observe(observeEl, { attributes: true, attributeFilter: [\"dir\"] });\n }\n stop() {\n var _a;\n (_a = this.mo) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.mo = null;\n }\n}\n/**\n * Detects and (optionally) observes direction using a chain of strategies.\n * The first strategy to return a non-null direction wins.\n * @public\n */\nexport class DirectionDetector {\n constructor(options) {\n var _a;\n this.rafId = null;\n this._value = null;\n this.observing = false;\n this.strategies = options.strategies;\n this.observers = (_a = options.observers) !== null && _a !== void 0 ? _a : [];\n this.onChange = options.onChange;\n this._value = this.computeDirection();\n if (this.observers.length > 0)\n this.start();\n }\n get value() {\n var _a;\n return (_a = this._value) !== null && _a !== void 0 ? _a : Direction.ltr;\n }\n /**\n * Start all observers.\n */\n start() {\n if (this.observing)\n return;\n this.observing = true;\n const scheduleRefresh = () => {\n if (this.rafId != null)\n return;\n if (typeof requestAnimationFrame === \"undefined\") {\n this.refresh();\n return;\n }\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n this.refresh();\n });\n };\n for (const observer of this.observers) {\n observer.start(scheduleRefresh);\n }\n // Initial refresh after starting observation\n this.refresh();\n }\n /**\n * Stop observing and cancel any scheduled refresh.\n */\n stop() {\n if (this.rafId != null && typeof cancelAnimationFrame !== \"undefined\") {\n cancelAnimationFrame(this.rafId);\n }\n this.rafId = null;\n for (const observer of this.observers) {\n observer.stop();\n }\n this.observing = false;\n }\n stable() {\n return this.rafId == null;\n }\n /**\n * Force recomputation; invokes onChange only if the resolved direction changed.\n */\n refresh() {\n var _a;\n const previous = this._value;\n const next = this.computeDirection();\n if (next !== previous) {\n this._value = next;\n try {\n (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, next, { previous });\n }\n catch {\n // ignore callback errors\n }\n }\n return this._value;\n }\n computeDirection() {\n for (const strategy of this.strategies) {\n const dir = strategy.getDirection();\n if (dir)\n return dir;\n }\n return null;\n }\n}\nlet _globalDetector = null;\nexport function setGlobalDirectionDetector(detector) {\n _globalDetector = detector;\n}\nexport function globalDirectionDetector() {\n if (!_globalDetector) {\n // Default to a strategy that expects dir to be on the root html element.\n _globalDetector = new DirectionDetector({\n strategies: [new DirAttributeStrategy([document.documentElement])],\n observers: [new DirAttributeObserver(\"html\")]\n });\n }\n return _globalDetector;\n}\n//# sourceMappingURL=direction.js.map","export const inputElementMethods = [\n \"blur\",\n \"click\",\n \"focus\",\n \"select\",\n \"setSelectionRange\",\n \"setRangeText\",\n \"setCustomValidity\",\n \"showPicker\",\n \"checkValidity\",\n \"reportValidity\",\n \"stepUp\",\n \"stepDown\"\n];\n//# sourceMappingURL=dom.js.map","export class MockElementInternals {\n constructor(element) {\n this.ariaDescription = null;\n this.ariaBrailleLabel = null;\n this.ariaBrailleRoleDescription = null;\n this._form = null;\n this._labels = document.createDocumentFragment().childNodes;\n // ARIA properties\n this.role = \"\";\n this.ariaAtomic = \"\";\n this.ariaAutoComplete = \"\";\n this.ariaBusy = \"\";\n this.ariaChecked = \"\";\n this.ariaColCount = \"\";\n this.ariaColIndex = \"\";\n this.ariaColIndexText = \"\";\n this.ariaColSpan = \"\";\n this.ariaCurrent = \"\";\n this.ariaDisabled = \"\";\n this.ariaExpanded = \"\";\n this.ariaHasPopup = \"\";\n this.ariaHidden = \"\";\n this.ariaInvalid = \"\";\n this.ariaKeyShortcuts = \"\";\n this.ariaLabel = \"\";\n this.ariaLevel = \"\";\n this.ariaLive = \"\";\n this.ariaModal = \"\";\n this.ariaMultiLine = \"\";\n this.ariaMultiSelectable = \"\";\n this.ariaOrientation = \"\";\n this.ariaPlaceholder = \"\";\n this.ariaPosInSet = \"\";\n this.ariaPressed = \"\";\n this.ariaReadOnly = \"\";\n this.ariaRelevant = \"\";\n this.ariaRequired = \"\";\n this.ariaRoleDescription = \"\";\n this.ariaRowCount = \"\";\n this.ariaRowIndex = \"\";\n this.ariaRowIndexText = \"\";\n this.ariaRowSpan = \"\";\n this.ariaSelected = \"\";\n this.ariaSetSize = \"\";\n this.ariaSort = \"\";\n this.ariaValueMax = \"\";\n this.ariaValueMin = \"\";\n this.ariaValueNow = \"\";\n this.ariaValueText = \"\";\n // add the element to the MockElementInternals class\n // the constructor is called when attachInternals is called on the element using ElementInternals.\n this._element = element;\n }\n get form() {\n if (!this._form) {\n // get the closest form element from the element\n this._form = this._element.closest(\"form\");\n }\n return this._form;\n }\n get labels() {\n return this._labels;\n }\n get shadowRoot() {\n return null;\n }\n get states() {\n return new Set();\n }\n // Validation properties\n get validationMessage() {\n return \"\";\n }\n get validity() {\n return {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: true,\n valueMissing: false\n };\n }\n get willValidate() {\n return true;\n }\n // Methods\n checkValidity() {\n return true;\n }\n reportValidity() {\n return true;\n }\n setFormValue(_value, _state) { }\n setValidity(_flags, _message, _anchor) { }\n}\n/**\n * If the HTMLElement prototype does not have the attachInternals method, add it.\n * This is used to create a new MockElementInternals instance when the element is attached to the DOM.\n */\nexport function attachMockElementInternals() {\n if (!HTMLElement.prototype.attachInternals) {\n HTMLElement.prototype.attachInternals = function () {\n return new MockElementInternals(this);\n };\n }\n}\n//# sourceMappingURL=element-internal-mocks.js.map","import { keyArrowUp, keyArrowDown, keyArrowLeft, keyArrowRight, keyHome, keyEnd } from \"@microsoft/fast-web-utilities\";\n/**\n * Default disabled check: matches disabled, aria-disabled=\"true\", or inert attributes.\n */\nconst defaultIsDisabled = (el) => el.matches('[disabled], [aria-disabled=\"true\"], [inert]');\n/**\n * Creates a roving focus controller for managing keyboard navigation\n * across a list of elements using the roving tabindex pattern.\n *\n * @example\n * ```typescript\n * const controller = createRovingFocusController({\n * items: () => this.slottedPills ?? [],\n * orientation: \"vertical\",\n * enableHomeEnd: true,\n * wrap: true\n * });\n *\n * // In connectedCallback or setup:\n * controller.applyTabindex();\n *\n * // In keydown handler:\n * if (controller.handleKeydown(event)) return;\n * // ...handle other keys like Escape\n * ```\n *\n * @public\n */\nexport function createRovingFocusController(options) {\n const { items, isDisabled = defaultIsDisabled, orientation = \"vertical\", enableHomeEnd = true, wrap = true, preventDefault = true, focusItem, onFocusChange, isRtl } = options;\n /**\n * Find the currently active item (the one with tabindex=\"0\").\n */\n const findActiveItem = () => {\n var _a;\n const allItems = items();\n return (_a = allItems.find((el) => el.getAttribute(\"tabindex\") === \"0\")) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * Set tabindex on all items, making the specified element active.\n * Disabled items are always set to -1 regardless of activeEl.\n */\n const setActive = (activeEl, allItems) => {\n const list = allItems !== null && allItems !== void 0 ? allItems : items();\n for (const el of list) {\n const shouldBeActive = el === activeEl && !isDisabled(el);\n el.tabIndex = shouldBeActive ? 0 : -1;\n el.setAttribute(\"tabindex\", shouldBeActive ? \"0\" : \"-1\");\n }\n };\n /**\n * Focus an element using custom focusItem or default focus().\n */\n const doFocus = (el) => {\n if (focusItem) {\n focusItem(el);\n }\n else {\n el.focus();\n }\n };\n /**\n * Activate an item: set tabindex, optionally focus, and fire callback.\n * Centralizes the repeated setActive + doFocus + onFocusChange pattern.\n */\n const activate = (el, enabledIndex, shouldFocus, allItems) => {\n setActive(el, allItems);\n if (shouldFocus)\n doFocus(el);\n if (enabledIndex !== null)\n onFocusChange === null || onFocusChange === void 0 ? void 0 : onFocusChange(el, enabledIndex);\n };\n /**\n * Apply roving tabindex. Preserves current active if still valid;\n * otherwise falls back to first enabled.\n */\n const applyTabindex = () => {\n const allItems = items();\n if (allItems.length === 0)\n return;\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0) {\n // No enabled items - all get -1\n setActive(null, allItems);\n return;\n }\n // Try to preserve current active if still valid and enabled\n const currentActive = findActiveItem();\n if (currentActive && enabled.includes(currentActive)) {\n // Current active is still valid - keep it\n setActive(currentActive, allItems);\n return;\n }\n // Fall back to first enabled\n setActive(enabled[0], allItems);\n };\n /**\n * Move focus by delta, with optional wrapping.\n * Uses tabindex=0 to determine current position (Shadow DOM safe).\n */\n const move = (delta) => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n // Single item: nowhere to move\n if (enabled.length === 1)\n return false;\n // Find current index via tabindex=0 (not document.activeElement - Shadow DOM safe)\n const currentActive = findActiveItem();\n let currentIndex = currentActive ? enabled.indexOf(currentActive) : -1;\n if (currentIndex === -1)\n currentIndex = 0;\n // Calculate next index\n let nextIndex = currentIndex + delta;\n if (wrap) {\n nextIndex = (nextIndex + enabled.length) % enabled.length;\n }\n else {\n // Clamp to bounds\n if (nextIndex < 0 || nextIndex >= enabled.length) {\n return false; // At boundary, can't move\n }\n }\n const nextEl = enabled[nextIndex];\n activate(nextEl, nextIndex, true, allItems);\n return true;\n };\n /**\n * Focus first enabled item.\n */\n const focusFirst = () => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n activate(enabled[0], 0, true, allItems);\n return true;\n };\n /**\n * Focus last enabled item.\n */\n const focusLast = () => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n const lastIndex = enabled.length - 1;\n activate(enabled[lastIndex], lastIndex, true, allItems);\n return true;\n };\n /**\n * Focus specific item.\n */\n const focus = (item) => {\n const allItems = items();\n if (!allItems.includes(item))\n return false;\n if (isDisabled(item))\n return false;\n const enabled = allItems.filter((el) => !isDisabled(el));\n const index = enabled.indexOf(item);\n activate(item, index !== -1 ? index : null, true, allItems);\n return true;\n };\n /**\n * Sync tabindex to target without focusing (for click/focusin handlers).\n * Fires onFocusChange to maintain consistency with other activation methods.\n */\n const sync = (target) => {\n if (!target || !(target instanceof HTMLElement))\n return false;\n const allItems = items();\n // Find the closest managed item (target might be a child of a managed item)\n const item = allItems.find((el) => el === target || el.contains(target));\n if (!item)\n return false;\n if (isDisabled(item))\n return false;\n const enabled = allItems.filter((el) => !isDisabled(el));\n const index = enabled.indexOf(item);\n // Use activate with shouldFocus=false to avoid refocus jump\n activate(item, index !== -1 ? index : null, false, allItems);\n return true;\n };\n /**\n * Check if a key matches the navigation direction.\n * Respects RTL mode for horizontal navigation.\n */\n const isNavigationKey = (key, direction) => {\n const rtl = isRtl();\n if (direction === \"prev\") {\n if (orientation === \"vertical\" || orientation === \"both\") {\n if (key === keyArrowUp)\n return true;\n }\n if (orientation === \"horizontal\" || orientation === \"both\") {\n // In RTL, ArrowRight goes to previous\n if (rtl ? key === keyArrowRight : key === keyArrowLeft)\n return true;\n }\n }\n else {\n if (orientation === \"vertical\" || orientation === \"both\") {\n if (key === keyArrowDown)\n return true;\n }\n if (orientation === \"horizontal\" || orientation === \"both\") {\n // In RTL, ArrowLeft goes to next\n if (rtl ? key === keyArrowLeft : key === keyArrowRight)\n return true;\n }\n }\n return false;\n };\n /**\n * Handle keydown event.\n */\n const handleKeydown = (event) => {\n const { key } = event;\n let handled = false;\n if (isNavigationKey(key, \"prev\")) {\n handled = move(-1);\n }\n else if (isNavigationKey(key, \"next\")) {\n handled = move(1);\n }\n else if (enableHomeEnd && key === keyHome) {\n handled = focusFirst();\n }\n else if (enableHomeEnd && key === keyEnd) {\n handled = focusLast();\n }\n if (handled && preventDefault) {\n event.preventDefault();\n }\n return handled;\n };\n /**\n * Cleanup (no-op for now, kept for lifecycle symmetry).\n */\n const destroy = () => {\n // No listeners to clean up - component handles that\n };\n return {\n applyTabindex,\n move,\n focusFirst,\n focusLast,\n focus,\n sync,\n handleKeydown,\n destroy\n };\n}\n//# sourceMappingURL=focus-management.js.map","/**\n * Creates a unique ID string using a prefix and counter as salt for the random hex.\n * @param prefix - The prefix string for the ID\n * @param counter - Optional. A counter value used as salt for additional uniqueness\n * @returns A unique ID string in the format `{prefix}{counter}-{randomHex}`\n */\nexport function createUniqueId(prefix, counter = 0) {\n const randomHex = Math.round((Math.random() + counter) * 0x10000)\n .toString(16)\n .slice(0, 8);\n return `${prefix}${counter}-${randomHex}`;\n}\n//# sourceMappingURL=hash-utilities.js.map","/**\n * An abstract behavior to react to media queries. Implementations should implement\n * the `constructListener` method to perform some action based on media query changes.\n *\n * @public\n */\nexport class MatchMediaBehavior {\n /**\n *\n * @param query - The media query to operate from.\n */\n constructor(query) {\n /**\n * The behavior needs to operate on element instances but elements might share a behavior instance.\n * To ensure proper attachment / detachment per instance, we construct a listener for\n * each bind invocation and cache the listeners by element reference.\n */\n this.listenerCache = new WeakMap();\n this.query = query;\n }\n /**\n * Binds the behavior to the element.\n * @param controller - The host controller orchestrating this behavior.\n */\n connectedCallback(controller) {\n const { query } = this;\n let listener = this.listenerCache.get(controller);\n if (!listener) {\n listener = this.constructListener(controller);\n this.listenerCache.set(controller, listener);\n }\n // Invoke immediately to add if the query currently matches\n listener.bind(query)();\n query.addEventListener(\"change\", listener);\n }\n /**\n * Unbinds the behavior from the element.\n * @param controller - The host controller orchestrating this behavior.\n */\n disconnectedCallback(controller) {\n const listener = this.listenerCache.get(controller);\n if (listener) {\n this.query.removeEventListener(\"change\", listener);\n }\n }\n}\n/**\n * A behavior to add or remove a stylesheet from an element based on a media query. The behavior ensures that\n * styles are applied while the a query matches the environment and that styles are not applied if the query does\n * not match the environment.\n *\n * @public\n */\nexport class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {\n /**\n * Constructs a {@link MatchMediaStyleSheetBehavior} instance.\n * @param query - The media query to operate from.\n * @param styles - The styles to coordinate with the query.\n */\n constructor(query, styles) {\n super(query);\n this.styles = styles;\n }\n /**\n * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for\n * a provided query.\n * @param query - The media query to operate from.\n *\n * @public\n * @example\n *\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { MatchMediaStyleSheetBehavior } from \"@fluentui/web-components\";\n *\n * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(\n * window.matchMedia(\"(orientation: landscape)\")\n * );\n *\n * const styles = css`\n * :host {\n * width: 200px;\n * height: 400px;\n * }\n * `\n * .withBehaviors(landscapeBehavior(css`\n * :host {\n * width: 400px;\n * height: 200px;\n * }\n * `))\n * ```\n */\n static with(query) {\n return (styles) => {\n return new MatchMediaStyleSheetBehavior(query, styles);\n };\n }\n /**\n * Constructs a match-media listener for a provided element.\n * @param source - the element for which to attach or detach styles.\n */\n constructListener(controller) {\n let attached = false;\n const styles = this.styles;\n return function listener() {\n const { matches } = this;\n if (matches && !attached) {\n controller.addStyles(styles);\n attached = matches;\n }\n else if (!matches && attached) {\n controller.removeStyles(styles);\n attached = matches;\n }\n };\n }\n /**\n * Unbinds the behavior from the element.\n * @param controller - The host controller orchestrating this behavior.\n * @internal\n */\n removedCallback(controller) {\n controller.removeStyles(this.styles);\n }\n}\n/**\n * This can be used to construct a behavior to apply a forced-colors only stylesheet.\n * @public\n */\nexport const forcedColorsStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(forced-colors)\"));\n/**\n * This can be used to construct a behavior to apply a prefers color scheme: dark only stylesheet.\n * @public\n */\nexport const darkModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(prefers-color-scheme: dark)\"));\n/**\n * This can be used to construct a behavior to apply a prefers color scheme: light only stylesheet.\n * @public\n */\nexport const lightModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(prefers-color-scheme: light)\"));\n//# sourceMappingURL=match-media-stylesheet-behaviors.js.map","//Copied from @microsoft/fast-foundation\nimport { HTMLDirective, InlineTemplateDirective } from \"@microsoft/fast-element\";\n/**\n * A function to compose template options.\n * @public\n */\nexport function staticallyCompose(item) {\n if (!item) {\n return InlineTemplateDirective.empty;\n }\n if (typeof item === \"string\") {\n return new InlineTemplateDirective(item);\n }\n if (\"inline\" in item) {\n return item.inline();\n }\n return item;\n}\n//# sourceMappingURL=template-helpers.js.map","//Copied from @microsoft/fast-foundation\n/**\n * filters out any whitespace-only nodes, to be used inside a template.\n *\n * @param value - The Node that is being inspected\n * @param index - The index of the node within the array\n * @param array - The Node array that is being filtered\n * @returns true if the node is not a whitespace-only node, false otherwise\n *\n * @public\n */\nexport const whitespaceFilter = (value) => { var _a; return value.nodeType !== Node.TEXT_NODE || !!((_a = value.nodeValue) === null || _a === void 0 ? void 0 : _a.trim().length); };\n//# sourceMappingURL=whitespace-filter.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorBrandBackground, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorNeutralForeground2BrandPressed, colorNeutralForegroundDisabled, colorNeutralStroke2, colorNeutralStrokeDisabled, colorStrokeFocus2, colorSubtleBackground, colorTransparentBackground, colorTransparentStroke, curveEasyEase, display, durationFaster, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase600, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, lineHeightBase400, shadow2, shadow4, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXXL, spacingVerticalS, spacingVerticalXXXL, strokeWidthThick, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralForeground1, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForegroundInverted, colorNeutralForegroundOnBrand, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackgroundHover, colorNeutralStrokeOnBrand, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL, sizeHorizontalXXL, sizeVerticalXL, sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\nimport { circularState, iconOnlyState, largeState, mediumState, outlineState, pressedState, primaryState, smallState, squareState, subtleState, transparentState } from \"../styles/states/states.js\";\n/**\n * The styles for the FilterPill component.\n *\n * @public\n * @privateRemarks\n */\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host {\n --icon-spacing: ${spacingHorizontalSNudge};\n position: relative;\n contain: layout style;\n vertical-align: middle;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n text-align: center;\n text-decoration-line: none;\n margin: 0;\n /* 32px height tokenized */\n min-height: ${sizeVerticalXXXL};\n outline-style: none;\n background-color: ${colorNeutralBackground4};\n color: ${colorNeutralForeground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n padding: 0 ${spacingHorizontalM};\n /* 96px width = 3 * 32px */\n min-width: calc(${spacingHorizontalXXXL} * 3);\n border-radius: ${borderRadiusMedium};\n font-size: ${fontSizeBase300};\n /* @design-token-ok: font family already uses semantic token */\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase300};\n transition-duration: ${durationFaster};\n transition-property: background, border, color;\n transition-timing-function: ${curveEasyEase};\n cursor: pointer;\n user-select: none;\n width: fit-content;\n }\n\n .content {\n display: inherit;\n padding: 0 ${spacingHorizontalSNudge};\n }\n\n :host(${mediumState}) .content {\n padding: 0 ${spacingHorizontalMNudge};\n }\n\n :host(${largeState}) .content {\n padding: 0 ${spacingHorizontalM};\n }\n\n :host(:hover) {\n background-color: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground1Hover};\n border-color: ${colorNeutralStroke1Hover};\n }\n\n :host(:hover:active) {\n background-color: ${colorNeutralBackground1Pressed};\n border-color: ${colorNeutralStroke1Pressed};\n color: ${colorNeutralForeground1Pressed};\n outline-style: none;\n }\n\n :host(:focus-visible) {\n border-color: ${colorTransparentStroke};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n transition-duration: 0.01ms;\n }\n\n ::slotted(svg) {\n /* Icon glyph dimensions mapped to design tokens (20px → base600 / XL spacing) */\n font-size: ${fontSizeBase600};\n height: ${sizeVerticalXL};\n width: ${sizeHorizontalXL};\n }\n\n :is([slot=\"start\"], ::slotted([slot=\"start\"])) {\n margin-inline-end: var(--icon-spacing);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n :is([slot=\"end\"], ::slotted([slot=\"end\"])) {\n margin-inline-start: var(--icon-spacing);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n :host(${iconOnlyState}) {\n width: ${sizeVerticalXXXL};\n height: ${sizeVerticalXXXL};\n min-width: ${sizeVerticalXXXL};\n min-height: ${sizeVerticalXXXL};\n max-width: ${sizeVerticalXXXL};\n max-height: ${sizeVerticalXXXL};\n }\n\n :host(${smallState}) {\n --icon-spacing: ${spacingHorizontalXS};\n min-height: ${sizeVerticalXXL};\n min-width: calc(${spacingHorizontalXXXL} * 2);\n padding: 0 ${spacingHorizontalS};\n border-radius: ${borderRadiusSmall};\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n font-weight: ${fontWeightRegular};\n }\n\n :host(${smallState}${iconOnlyState}) {\n width: ${sizeVerticalXXL};\n height: ${sizeVerticalXXL};\n min-width: ${sizeVerticalXXL};\n min-height: ${sizeVerticalXXL};\n max-width: ${sizeVerticalXXL};\n max-height: ${sizeVerticalXXL};\n }\n\n :host(${largeState}) {\n min-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n border-radius: ${borderRadiusLarge};\n padding: 0 ${spacingHorizontalL};\n font-size: ${fontSizeBase400};\n line-height: ${lineHeightBase400};\n }\n\n :host(${largeState}${iconOnlyState}) {\n min-width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n max-width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n max-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n min-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n }\n\n :host(${largeState}) ::slotted(svg) {\n /* Large icon size mapped to tokens (24px → base600 font & XXL spacing) */\n font-size: ${fontSizeBase600};\n height: ${sizeVerticalXXL};\n width: ${sizeHorizontalXXL};\n }\n\n :host(:is(${circularState}, ${circularState}:focus-visible)) {\n border-radius: ${borderRadiusCircular};\n }\n\n :host(:is(${squareState}, ${squareState}:focus-visible)) {\n border-radius: ${borderRadiusNone};\n }\n\n :host(${primaryState}) {\n background-color: ${colorNeutralBackground4};\n color: ${colorNeutralForeground1};\n border-color: transparent;\n }\n\n :host(${primaryState}:hover) {\n background-color: ${colorNeutralBackground4Hover};\n color: ${colorNeutralForeground1};\n }\n\n :host(${primaryState}:is(:hover, :hover:active)) {\n border-color: ${colorNeutralStroke2};\n }\n\n :host(${primaryState}:hover:active) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host(${primaryState}:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n\n :host(${outlineState}) {\n background-color: ${colorTransparentBackground};\n color: ${colorNeutralForeground2};\n }\n\n :host(${outlineState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n }\n\n :host(${outlineState}:hover:active) {\n background-color: ${colorTransparentBackgroundPressed};\n }\n\n :host(${subtleState}) {\n background-color: ${colorSubtleBackground};\n color: ${colorNeutralForeground2};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover) {\n background-color: ${colorSubtleBackgroundHover};\n color: ${colorNeutralForeground2Hover};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover:active) {\n background-color: ${colorSubtleBackgroundPressed};\n color: ${colorNeutralForeground2Pressed};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover) ::slotted(svg) {\n fill: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${subtleState}:hover:active) ::slotted(svg) {\n fill: ${colorNeutralForeground2BrandPressed};\n }\n\n :host(${transparentState}) {\n background-color: ${colorTransparentBackground};\n color: ${colorNeutralForeground2};\n }\n\n :host(${transparentState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n color: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${transparentState}:hover:active) {\n background-color: ${colorTransparentBackgroundPressed};\n color: ${colorNeutralForeground2BrandPressed};\n }\n\n :host(:is(${transparentState}, ${transparentState}:is(:hover, :active))) {\n border-color: transparent;\n }\n\n :host([appearance=\"primary-on-brand\"]) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n )\n ),\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n ):hover\n ),\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n ):hover:active\n ) {\n background-color: ${colorNeutralBackgroundDisabled};\n border-color: ${colorNeutralStrokeDisabled};\n color: ${colorNeutralForegroundDisabled};\n cursor: not-allowed;\n }\n\n :host(${primaryState}:is(:disabled, [disabled-focusable])),\n :host(\n ${primaryState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n border-color: transparent;\n }\n\n :host(${outlineState}:is(:disabled, [disabled-focusable])),\n :host(\n ${outlineState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n background-color: ${colorTransparentBackground};\n }\n\n :host(${subtleState}:is(:disabled, [disabled-focusable])),\n :host(\n ${subtleState}:is(:disabled, [disabled-focusable]):is(:hover, :hover:active)\n ) {\n background-color: ${colorTransparentBackground};\n border-color: transparent;\n }\n\n :host(${transparentState}:is(:disabled, [disabled-focusable])),\n :host(\n ${transparentState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n border-color: transparent;\n background-color: ${colorTransparentBackground};\n }\n\n :host(${pressedState}) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n border-width: ${strokeWidthThin};\n }\n\n :host(${pressedState}:hover) {\n border-color: ${colorNeutralStroke1Hover};\n background-color: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground1Hover};\n }\n\n :host(${pressedState}:active) {\n border-color: ${colorNeutralStroke1Pressed};\n background-color: ${colorNeutralBackground1Pressed};\n color: ${colorNeutralForeground1Pressed};\n }\n\n :host(${pressedState}${primaryState}) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${primaryState}:hover) {\n background-color: ${colorNeutralForeground1};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${primaryState}:active) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${subtleState}) {\n border-color: transparent;\n background-color: ${colorSubtleBackgroundSelected};\n color: ${colorNeutralForeground2Selected};\n }\n\n :host(${pressedState}${subtleState}:hover) {\n background-color: ${colorSubtleBackgroundHover};\n color: ${colorNeutralForeground2Hover};\n }\n\n :host(${pressedState}${subtleState}:active) {\n background-color: ${colorSubtleBackgroundPressed};\n color: ${colorNeutralForeground2Pressed};\n }\n\n :host(${pressedState}${outlineState}),\n :host(${pressedState}${transparentState}) {\n background-color: ${colorTransparentBackgroundSelected};\n color: ${colorNeutralForeground1};\n border-color: ${colorNeutralStroke1Pressed};\n }\n\n :host(${pressedState}${outlineState}) {\n border-width: ${strokeWidthThick};\n }\n\n :host(${pressedState}${outlineState}:hover),\n :host(${pressedState}${transparentState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n }\n\n :host(${pressedState}${outlineState}:active),\n :host(${pressedState}${transparentState}:active) {\n background-color: ${colorTransparentBackgroundPressed};\n border-width: ${strokeWidthThick};\n }\n\n :host(${pressedState}${transparentState}) {\n border-color: transparent;\n color: ${colorNeutralForeground2BrandSelected};\n }\n\n :host(${pressedState}${transparentState}:hover) {\n color: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${pressedState}${transparentState}:active) {\n color: ${colorNeutralForeground2BrandPressed};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(${pressedState}),\n :host(${pressedState}${primaryState}),\n :host(${pressedState}${subtleState}),\n :host(${pressedState}${outlineState}),\n :host(${pressedState}${transparentState}) {\n background: SelectedItem;\n color: SelectedItemText;\n }\n `));\n//# sourceMappingURL=filter-pill.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * Generates a template for the Button component.\n *\n * @public\n */\nexport function filterPillTemplate() {\n return html `\n <template\n tabindex=\"${(x) => (x.disabled ? -1 : 0)}\"\n appearance=\"${(x) => x.appearance}\"\n shape=\"${(x) => x.shape}\"\n size=\"${(x) => x.size}\"\n icon-only=\"${(x) => x.iconOnly}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n ?pressed=\"${(x) => x.pressed}\"\n ?disabled=\"${(x) => x.disabled}\"\n >\n <slot name=\"start\"></slot>\n <span class=\"content\" part=\"content\">\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\n/**\n * The template for the Button component.\n *\n * @public\n */\nexport const template = filterPillTemplate();\n//# sourceMappingURL=filter-pill.template.js.map","import { FilterPill } from \"./filter-pill.js\";\nimport { styles } from \"./filter-pill.styles.js\";\nimport { template } from \"./filter-pill.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-filter-pill>\n */\nexport const definition = FilterPill.compose({\n name: `${DesignSystem.prefix}-filter-pill`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=filter-pill.definition.js.map","import { ButtonAppearances as FabricButtonAppearances, ButtonShapes as FabricButtonShapes, ButtonSizes as FabricButtonSizes, ButtonFormTargets as FabricButtonFormTargets, ButtonTypes as FabricButtonTypes } from \"../button/index.js\";\n/**\n * Appearances for {@link CompoundButton}\n * Local plural const composed from ButtonAppearances allowing future extensions.\n * @public\n */\nexport const CompoundButtonAppearances = {\n ...FabricButtonAppearances\n};\n/**\n * Shapes for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonShapes = {\n ...FabricButtonShapes\n};\n/**\n * Sizes for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonSizes = {\n ...FabricButtonSizes\n};\n/**\n * Form targets for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonFormTargets = {\n ...FabricButtonFormTargets\n};\n/**\n * Types for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonTypes = {\n ...FabricButtonTypes\n};\n//# sourceMappingURL=compound-button.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr } from \"@microsoft/fast-element\";\nimport { BaseButton } from \"@fluentui/web-components\";\nimport { CompoundButtonAppearances } from \"./compound-button.options.js\";\n/**\n * CompoundButton\n * @summary The base class used for constructing a fabric-compound-button custom element, which extends the Fluent UI CompoundButton with Fabric-specific functionality.\n *\n * @example\n * ```html\n * <fabric-compound-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Your Text Here\n * <span slot=\"end\">→</span>\n * <span slot=\"description\">Detailed description here</span>\n * </fabric-compound-button>\n * ```\n *\n * @attr {CompoundButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {CompoundButtonShape | undefined} shape - The shape of the button.\n * @attr {CompoundButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {CompoundButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {CompoundButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {CompoundButtonShape | undefined} shape - The shape of the button.\n * @prop {CompoundButtonSize | undefined} size - The size of the button.\n * @prop {boolean | undefined} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean | undefined} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number | undefined} tabIndex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formAction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formEnctype - The encoding type for the form submission.\n * @prop {string | undefined} formMethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formNoValidate - Indicates that the form will not be validated when submitted.\n * @prop {CompoundButtonFormTarget | undefined} formTarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n * @slot description - A slot for providing additional description.\n *\n * @csspart content - The button content container.\n *\n * @method press - Presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentCompoundButton\n * @tagname fabric-compound-button\n * @public\n */\nexport class CompoundButton extends BaseButton {\n constructor() {\n super(...arguments);\n /**\n * The appearance of the compound button.\n *\n * @public\n * @remarks\n * HTML Attribute: `appearance`\n */\n this.appearance = CompoundButtonAppearances.primary;\n /**\n * Indicates that the compound button should only display as an icon with no text content.\n *\n * @public\n * @remarks\n * HTML Attribute: `icon-only`\n */\n this.iconOnly = false;\n }\n}\n__decorate([\n attr\n], CompoundButton.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], CompoundButton.prototype, \"shape\", void 0);\n__decorate([\n attr\n], CompoundButton.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], CompoundButton.prototype, \"iconOnly\", void 0);\n//# sourceMappingURL=compound-button.js.map","import { CompoundButtonStyles as FluentCompoundButtonStyles, colorBrandBackground, colorNeutralForegroundOnBrand, colorNeutralStrokeOnBrand, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorStrokeFocus2, shadow2 } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${FluentCompoundButtonStyles}\n :host([appearance='primary-on-brand']) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]) ::slotted([slot=\"description\"]) {\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n`;\n//# sourceMappingURL=compound-button.styles.js.map","import { CompoundButtonTemplate } from \"@fluentui/web-components\";\nimport { styles as CompoundButtonStyles } from \"./compound-button.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { CompoundButton } from \"./compound-button.js\";\n/**\n * The Fabric Compound Button component.\n *\n * @public\n */\nexport const definition = CompoundButton.compose({\n name: `${DesignSystem.prefix}-compound-button`,\n template: CompoundButtonTemplate,\n styles: CompoundButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=compound-button.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr } from \"@microsoft/fast-element\";\nimport { Button as FabricButton } from \"@fluentui/web-components\";\n/**\n * LoadingButton\n * @summary A custom button component with a loading state that extends Fluent UI's Button class. It provides visual feedback with a spinner when the button is in a loading state and disables interaction.\n *\n * @example\n * ```html\n * <fabric-loading-button\n * appearance='primary'\n * size='large'\n * shape='rounded'\n * loading\n * disabled\n * aria-busy='true'>\n * Submit\n * </fabric-loading-button>\n * ```\n *\n * @attr {boolean} loading - Indicates whether the button is in a loading state.\n * @attr {ButtonAppearance} appearance - The appearance of the button.\n * @attr {ButtonShape} shape - The shape of the button.\n * @attr {ButtonSize} size - The size of the button.\n * @attr {string} aria-busy - Indicates whether the button is busy.\n *\n * @prop {boolean} loading - Indicates whether the button is in a loading state. Default: false.\n * @prop {boolean} disabled - Indicates whether the button is disabled. Default: false.\n *\n * @slot - The default slot for the button content.\n * @slot start - Slot for the spinner when the button is loading.\n *\n * @csspart control - The control part of the button, styled differently when loading and disabled.\n *\n * @extends FluentButton\n * @tagname fabric-loading-button\n * @public\n */\nexport class LoadingButton extends FabricButton {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the button is in a loading state.\n * @public\n * @type {boolean}\n * @default false\n */\n this.loading = false;\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], LoadingButton.prototype, \"loading\", void 0);\n//# sourceMappingURL=loading-button.js.map","import { spacingHorizontalXS, spacingHorizontalS, spacingHorizontalM, borderRadiusMedium, ButtonStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${ButtonStyles}\n\n /* Override Fluent UI small size border-radius to use borderRadiusMedium */\n :host([size=\"small\"]:not([shape=\"circular\"]):not([shape=\"square\"])) {\n border-radius: ${borderRadiusMedium};\n }\n\n :host([size=\"small\"]) fluent-button {\n gap: ${spacingHorizontalXS};\n }\n\n fabric-spinner {\n display: none;\n }\n\n .content {\n gap: ${spacingHorizontalS};\n }\n\n :host([size=\"large\"]) .content {\n gap: ${spacingHorizontalM};\n }\n\n :host([loading]) {\n cursor: not-allowed;\n }\n :host([loading]) fabric-spinner {\n display: block;\n }\n`;\n//# sourceMappingURL=loading-button.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nimport { LoadingButton } from \"./loading-button\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#LoadingButton} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `LoadingButton` component.\n * It includes conditional rendering of a spinner based on the `loading` property.\n *\n * @returns {ElementViewTemplate<LoadingButton>} The template for the `LoadingButton` component.\n *\n * @slot - Default slot for the button content.\n * @slot start - Slot for the spinner when the button is loading.\n *\n * @csspart control - The control part of the button.\n */\nfunction loadingButtonTemplate() {\n return html `\n <template\n tabindex=\"${(x) => { var _a; return (x.disabled ? null : ((_a = x.tabIndex) !== null && _a !== void 0 ? _a : 0)); }}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @keypress=\"${(x, c) => x.keypressHandler(c.event)}\"\n ?loading=\"${(x) => x.loading}\"\n >\n <slot name=\"start\"></slot>\n <span class=\"content\" part=\"content\">\n <fabric-spinner\n appearance=\"${(x) => x.appearance == \"primary\" ? \"inverted\" : \"primary\"}\"\n size=\"tiny\"\n slot=\"start\"\n ?hidden=${(x) => !x.loading}\n ></fabric-spinner>\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#LoadingButton} component.\n * @public\n */\nexport const template = loadingButtonTemplate();\n//# sourceMappingURL=loading-button.template.js.map","import { DesignSystem } from \"../design-system\";\nimport { LoadingButton } from \"./loading-button\";\nimport { styles } from \"./loading-button.styles\";\nimport { template } from \"./loading-button.template\";\n/**\n * Compose the LoadingButton component definition.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-loading-button>\n */\nexport const definition = LoadingButton.compose({\n name: `${DesignSystem.prefix}-loading-button`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=loading-button.definition.js.map","/**\n * MultiView event names\n * @public\n */\nexport const MultiViewEventNames = {\n hiddenChange: \"hidden-change\"\n};\n//# sourceMappingURL=multi-view.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr } from \"@microsoft/fast-element\";\nimport { MultiViewEventNames } from \"./multi-view.options.js\";\n/**\n * MultiView\n * @summary A customizable step component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-multi-view>\n * <div slot=\"start\">Start Content</div>\n * <div>Default Content</div>\n * <div slot=\"end\">End Content</div>\n * </fabric-multi-view>\n * ```\n *\n * @attr {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @prop {boolean} hidden - Determines the hidden state of the multi-view.\n *\n * @slot - Default slot for adding content that can be shown or hidden.\n *\n * @csspart multi-view - Style part for the main container of the multi-view.\n *\n * @method hiddenChanged(oldValue: string, newValue: string) - Called when the `hidden` attribute changes. It emits the `hidden-change` event.\n *\n * @fires hidden-change - Fires when the hidden state of the component changes.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view\n * @public\n */\nexport class MultiView extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Determines the hidden state of the multi-view\n * @public\n * @type {boolean}\n * @attr\n */\n this.hidden = true;\n }\n hiddenChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.$emit(MultiViewEventNames.hiddenChange, this.hidden);\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], MultiView.prototype, \"hidden\", void 0);\n//# sourceMappingURL=multi-view.js.map","import { colorStrokeFocus2, colorTransparentStroke, display, shadow4, strokeWidthThick } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** MultiView styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n display: block;\n position: relative;\n overflow-y: auto;\n }\n :host([hidden]) {\n display: none;\n }\n :host([data-flexposition=\"2\"]) {\n order: 2;\n }\n :host(:focus-visible)::after {\n content: \"\";\n position: absolute;\n inset: 1px;\n border-color: ${colorTransparentStroke};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n`;\n//# sourceMappingURL=multi-view.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { MultiView } from \"./multi-view.js\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiView} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiView` component.\n * It includes a slot for `multi-view` and dynamically manages the visibility and focus\n * based on the `hidden` property of the `MultiView`.\n *\n * @returns {ElementViewTemplate<MultiView>} The template for the `MultiView` component.\n *\n * @csspart multi-view - The main container for the view content.\n */\nfunction multiViewTemplate() {\n return html `\n <template\n slot=\"multi-view\"\n role=\"tabpanel\"\n ?hidden=\"${(x) => x.hidden}\"\n aria-hidden=\"${(x) => x.hidden}\"\n tabindex=\"${(x) => (!x.hidden ? \"0\" : \"-1\")}\"\n >\n <div class=\"multi-view\" part=\"multi-view\">\n <slot></slot>\n </div>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiView} component.\n * @public\n */\nexport const template = multiViewTemplate();\n//# sourceMappingURL=multi-view.template.js.map","import { MultiView } from \"./multi-view.js\";\nimport { styles } from \"./multi-view.styles.js\";\nimport { template } from \"./multi-view.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-multi-view>\n */\nexport const definition = MultiView.compose({\n name: `${DesignSystem.prefix}-multi-view`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=multi-view.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * MultiViewController\n * @summary A customizable controller component for a multi-view interface.\n *\n * @example\n * ```html\n * <fabric-multi-view-controller hidden>\n * <fabric-multi-view-group>\n * <fabric-multi-view>\n * <!-- Content for the first view -->\n * </fabric-multi-view>\n * <fabric-multi-view>\n * <!-- Content for the second view -->\n * </fabric-multi-view>\n * </fabric-multi-view-group>\n * </fabric-multi-view-controller>\n * ```\n *\n * @attr {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @prop {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @slot - Default slot for adding a controller.\n *\n * @csspart multi-view - Style part for the main container of the multi-view.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view-controller\n * @public\n */\nexport class MultiViewController extends FASTElement {\n}\n//# sourceMappingURL=multi-view-controller.js.map","import { borderRadiusSmall, colorBrandBackground, colorNeutralBackground1, colorNeutralForeground1, colorNeutralStroke1, colorStrokeFocus2, curveEasyEase, display, durationFaster, fontFamilyBase, fontSizeBase300, fontWeightSemibold, forcedColorsStylesheetBehavior, lineHeightBase300, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeHorizontalXXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\n// Need to support icon hover styles\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n text-decoration-line: none;\n margin: 0px;\n min-height: ${sizeVerticalXXXL};\n min-width: ${sizeHorizontalXXXL};\n outline-style: none;\n background-color: ${colorNeutralBackground1};\n color: ${colorNeutralForeground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n font-size: ${fontSizeBase300};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase300};\n transition-duration: ${durationFaster};\n transition-property: background, border, color;\n transition-timing-function: ${curveEasyEase};\n cursor: pointer;\n }\n\n :host([aria-hidden=\"true\"]) {\n display: none;\n }\n :host([aria-expanded=\"true\"])::before {\n content: \"\";\n z-index: 3;\n position: absolute;\n inset-inline-start: 0;\n height: ${sizeVerticalXXXL};\n width: 3px;\n background: ${colorBrandBackground};\n }\n\n :host(:focus-visible)::after {\n content: \"\";\n position: absolute;\n inset: 0px;\n cursor: pointer;\n border-radius: ${borderRadiusSmall};\n outline: none;\n box-shadow: inset 0 0 0 1px ${colorStrokeFocus2};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(:focus-visible)::after {\n border: 1px solid Highlight !important;\n box-shadow: inset 0 0 0 1px Highlight !important;\n }\n `));\n//# sourceMappingURL=multi-view-controller.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiViewController} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiViewController` component.\n * It includes a slot for the controller content and assigns the role of \"tab\" for accessibility.\n *\n * @returns {ElementViewTemplate<MultiViewController>} The template for the `MultiViewController` component.\n *\n * @slot controller - Slot for the controller content.\n */\nfunction multiViewControllerTemplate() {\n return html `\n <template slot=\"controller\" role=\"tab\">\n <slot></slot>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiViewController} component.\n * @public\n */\nexport const template = multiViewControllerTemplate();\n//# sourceMappingURL=multi-view-controller.template.js.map","import { MultiViewController } from \"./multi-view-controller.js\";\nimport { styles } from \"./multi-view-controller.styles.js\";\nimport { template } from \"./multi-view-controller.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fluent-multi-view-controller>\n */\nexport const definition = MultiViewController.compose({\n name: `${DesignSystem.prefix}-multi-view-controller`,\n template,\n styles\n});\n//# sourceMappingURL=multi-view-controller.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, keySpace, keyTab, limit, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { MultiView } from \"../multi-view/index.js\";\nimport { MultiViewController } from \"../multi-view-controller/index.js\";\n/**\n * MultiViewGroup\n * @summary The MultiViewGroup component is designed to manage multiple views or panels, controlling their visibility and interaction state.\n *\n * @example\n * ```html\n * <fabric-multi-view-group>\n * <div slot=\"controller\">Controller 1</div>\n * <fabric-multi-view slot=\"multi-view\">View 1</fabric-multi-view>\n * <div slot=\"controller\">Controller 2</div>\n * <fabric-multi-view slot=\"multi-view\">View 2</fabric-multi-view>\n * </fabric-multi-view-group>\n * ```\n *\n * @attr {HTMLElement[]} multiViews - An observable array of HTML elements that represent multiViews.\n * @attr {HTMLElement[]} controllers - An observable array of HTML elements that represent controllers.\n * @attr {HTMLElement[]} openedMultiViews - An observable array of HTML elements that represent opened multiViews.\n * @attr {string} activeid - A string representing the active ID.\n *\n * @prop {HTMLElement | undefined} activeController - A HTML element representing the active controller.\n * @prop {number} prevActiveControllerIndex - A number representing the index of the previously active controller.\n * @prop {number} activeControllerIndex - A number representing the index of the active controller.\n * @prop {string[]} controllerIds - An array of strings that represent the IDs of the controllers.\n * @prop {string[]} multiViewsIds - An array of strings that represent the IDs of the multiViews.\n *\n * @slot multi-view - Slot for the individual view panels managed by this component.\n * @slot controller - Slot for the control elements that toggle the visibility of the view panels.\n *\n * @csspart views - The container for view panels.\n * @csspart controllers - The container for the control elements.\n *\n * @method initialize - Initializes the component by setting up controllers and multiViews.\n * @method openMultiView - Opens the specified multiView.\n * @method manageOpenedMultiViews - Manages opened MultiViews by limiting the number of opened views and setting focus on the newly opened MultiView.\n * @method limitNumberOfOpenMultiViews - Limits the number of opened MultiViews.\n * @method manageOpeningSecondMultiView - Manages the opening of a second MultiView.\n * @method openSecondMultiView - Opens the second multiView.\n * @method closeMultiView - Closes the specified multiView.\n * @method manageClosedMultiViews - Manages the state of closed MultiViews.\n * @method closeAllMultiViews - Closes all opened multiViews.\n * @method toggleMultiView - Toggles the specified multiView.\n * @method activeidChanged - Called when the active ID changes.\n * @method controllersChanged - Called when controllers changes.\n * @method multiViewsChanged - Called when multiViews changes.\n * @method openedMultiViewsChanged - Called when openedMultiViews changes.\n *\n * @fires change - Fires when the state of the opened views changes.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view-group\n * @public\n */\nexport class MultiViewGroup extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * An observable array of HTML elements that represent multiViews.\n */\n this.multiViews = [];\n /**\n * An observable array of HTML elements that represent controllers.\n */\n this.controllers = [];\n /**\n * An observable array of HTML elements that represent opened multiViews.\n */\n this.openedMultiViews = [];\n /**\n * The previously opened MultiView\n */\n this.previouslyOpenedMultiView = null;\n /**\n * A string representing the active ID.\n */\n this.activeid = \"\";\n /**\n * A number representing the index of the previously active controller.\n */\n this.prevActiveControllerIndex = 0;\n /**\n * A number representing the index of the active controller.\n */\n this.activeControllerIndex = 0;\n /**\n * An array of strings that represent the IDs of the controllers.\n */\n this.controllerIds = [];\n /**\n * An array of strings that represent the IDs of the multiViews.\n */\n this.multiViewsIds = [];\n /**\n * Method to open a multiView.\n * @param {MultiView} multiView - The multiView to open.\n */\n this.openMultiView = (multiView) => {\n if (multiView.hidden) {\n this.closeAllMultiViews();\n multiView.hidden = false;\n this.manageOpenedMultiViews(multiView);\n }\n };\n /**\n * Manages opened MultiViews by limiting the number of opened views\n * and setting focus on the newly opened MultiView.\n *\n * @param {MultiView} multiView - The MultiView to manage.\n * @param {CustomEvent} [event] - The event that triggered the managing of the MultiView.\n * @public\n */\n this.manageOpenedMultiViews = (multiView) => {\n this.addMultiViewToOpenedMultiViews(multiView);\n if (this.openedMultiViews.length >= 2) {\n this.limitNumberOfOpenMultiViews();\n }\n Updates.enqueue(() => multiView.focus());\n this.setComponent();\n };\n /**\n * Manages the opening of a second MultiView. It will set the \"data-flexposition\" attribute of the second MultiView,\n * limit the number of opened MultiViews if necessary, and add the second MultiView to the list of opened MultiViews.\n *\n * @param {MultiView} multiView - The MultiView to open.\n * @public\n */\n this.manageOpeningSecondMultiView = (multiView) => {\n multiView.setAttribute(\"data-flexposition\", \"2\");\n if (this.openedMultiViews.length >= 2) {\n this.limitNumberOfOpenMultiViews();\n }\n const multiViewToOpen = this.multiViews[this.activeControllerIndex];\n if (multiViewToOpen.hidden) {\n this.addMultiViewToOpenedMultiViews(multiViewToOpen);\n if (this.previouslyOpenedMultiView) {\n this.previouslyOpenedMultiView.removeAttribute(\"data-flexposition\");\n }\n multiViewToOpen.setAttribute(\"data-flexposition\", \"2\");\n }\n };\n /**\n * Method to open the second multiView.\n */\n this.openSecondMultiView = (multiView) => {\n if (multiView.hidden) {\n this.manageOpeningSecondMultiView(multiView);\n multiView.hidden = false;\n Updates.enqueue(() => multiView.focus());\n this.previouslyOpenedMultiView = multiView;\n }\n };\n /**\n * Method to close a multiView.\n * @param {MultiView} multiView - The multiView to close.\n */\n this.closeMultiView = (multiView) => {\n if (!multiView.hidden) {\n this.manageClosedMultiViews(multiView);\n multiView.hidden = true;\n this.change();\n }\n };\n this.manageClosedMultiViews = (multiView) => {\n if (multiView.hasAttribute(\"data-flexposition\")) {\n multiView.removeAttribute(\"data-flexposition\");\n }\n this.openedMultiViews = this.openedMultiViews.filter((openedMultiView) => openedMultiView !== multiView);\n const closedMultiViewIndex = this.multiViews.indexOf(multiView);\n const controller = this.controllers[closedMultiViewIndex];\n if (controller instanceof HTMLElement) {\n if (this.activeController && this.activeController !== controller) {\n this.activeController.tabIndex = -1;\n }\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.activeControllerIndex = closedMultiViewIndex;\n controller.tabIndex = 0;\n controller.focus();\n this.activeController = controller;\n }\n this.removeMultiViewFromOpenedMultiViews(multiView);\n };\n /**\n * Method to close all opened multiViews.\n */\n this.closeAllMultiViews = () => {\n this.openedMultiViews.forEach((multiView) => {\n const multiViewToClose = multiView;\n this.closeMultiView(multiViewToClose);\n });\n };\n /**\n * Method to toggle a multiView.\n * @param {MultiView} multiView - The multiView to toggle.\n */\n this.toggleMultiView = (multiView) => {\n if (multiView.hidden) {\n this.openMultiView(multiView);\n }\n else {\n this.closeMultiView(multiView);\n }\n this.change();\n };\n /**\n * Removes a given multiView from the collection of opened multiViews.\n * @private\n * @param {MultiView} multiViewToRemove - The multiView to remove.\n */\n this.removeMultiViewFromOpenedMultiViews = (multiViewToRemove) => {\n const index = this.openedMultiViews.indexOf(multiViewToRemove);\n if (index > -1) {\n this.openedMultiViews.splice(index, 1);\n }\n };\n /**\n * Adds a given multiView to the collection of opened multiViews, unless it's already present.\n * @private\n * @param {MultiView} multiViewToAdd - The multiView to add.\n */\n this.addMultiViewToOpenedMultiViews = (multiViewToAdd) => {\n if (!this.openedMultiViews.includes(multiViewToAdd)) {\n this.openedMultiViews = [...this.openedMultiViews, multiViewToAdd];\n }\n };\n /**\n * Triggers a change event with the currently opened multiViews.\n * @private\n */\n this.change = () => {\n this.$emit(\"change\", this.openedMultiViews);\n };\n this.isDisabledElement = (el) => {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n };\n this.isHiddenElement = (el) => {\n return el.getAttribute(\"aria-hidden\") === \"true\";\n };\n this.isFocusableElement = (el) => {\n return (!this.isDisabledElement(el) &&\n !this.isHiddenElement(el) &&\n el.offsetParent !== null);\n };\n /**\n * Sets attributes for multiViews and determines which multiViews are hidden.\n * @private\n */\n this.setMultiViews = () => {\n this.multiViews.forEach((multiView, index) => {\n if (multiView instanceof MultiView) {\n const controllerId = this.controllerIds[index];\n const multiViewId = this.multiViewsIds[index];\n this.setAttributes(multiView, {\n id: multiViewId,\n \"aria-labelledby\": controllerId\n });\n if (!multiView.hidden) {\n this.addMultiViewToOpenedMultiViews(multiView);\n }\n else {\n this.removeMultiViewFromOpenedMultiViews(multiView);\n }\n }\n });\n };\n /**\n * Sets focus on the first controller in the multi-view group.\n */\n this.focusFirstController = () => {\n this.activeControllerIndex = 0;\n this.activeController = this.controllers[this.activeControllerIndex];\n this.activeController.tabIndex = 0;\n this.activeController.focus();\n };\n /**\n * remove focusability from all controllers\n */\n this.makeControllerUnfocusable = () => {\n this.activeController = undefined;\n this.controllers.forEach((controller) => {\n controller.tabIndex = -1;\n });\n };\n /**\n * Handles click events on the controllers.\n * @private\n * @param {MouseEvent} event - The click event.\n */\n this.handleControllerClick = (event) => {\n const selectedToggleButton = event.currentTarget;\n if (selectedToggleButton.nodeType !== 1 ||\n !this.isFocusableElement(selectedToggleButton)) {\n return;\n }\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.activeControllerIndex = this.controllers.indexOf(selectedToggleButton);\n const associatedMultiView = this.multiViews[this.activeControllerIndex];\n if (event.ctrlKey) {\n this.openSecondMultiView(associatedMultiView);\n }\n else {\n this.toggleMultiView(associatedMultiView);\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleControllerKeyDown = (event) => {\n const associatedMultiView = this.multiViews[this.activeControllerIndex];\n const controller = event.currentTarget;\n switch (event.key) {\n case keyArrowUp:\n event.preventDefault();\n this.adjustBackward();\n break;\n case keyTab:\n event.preventDefault();\n this.makeControllerUnfocusable();\n this.controllersContainer.focus();\n break;\n case keyArrowDown:\n event.preventDefault();\n this.adjustForward();\n break;\n case keyHome:\n event.preventDefault();\n this.adjust(-this.activeControllerIndex);\n break;\n case keyEnd:\n event.preventDefault();\n this.adjust(this.controllers.length - this.activeControllerIndex - 1);\n break;\n case keyEnter:\n case keySpace:\n if (event.ctrlKey) {\n event.preventDefault();\n this.openSecondMultiView(associatedMultiView);\n }\n else {\n event.preventDefault();\n this.toggleMultiView(associatedMultiView);\n }\n break;\n case keyEscape:\n event.preventDefault();\n controller.blur();\n break;\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleMultiViewKeyDown = (event) => {\n const associatedMultiView = event.currentTarget;\n switch (event.key) {\n case keyEscape:\n event.preventDefault();\n this.closeMultiView(associatedMultiView);\n break;\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleToggleButtonContainerKeyDown = (event) => {\n switch (event.key) {\n case keyEnter:\n event.preventDefault();\n if (event.target === this.controllersContainer) {\n this.focusFirstController();\n }\n break;\n }\n };\n /**\n * Adjusts the active controller forward.\n * @private\n */\n this.adjustForward = () => {\n const group = this.controllers;\n let index = 0;\n index = this.activeController\n ? group.indexOf(this.activeController) + 1\n : 1;\n if (index === group.length) {\n index = 0;\n }\n while (index < group.length && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToToggleButtonByIndex(group, index);\n break;\n }\n else if (this.activeController &&\n index === group.indexOf(this.activeController)) {\n break;\n }\n else if (index + 1 >= group.length) {\n index = 0;\n }\n else {\n index += 1;\n }\n }\n };\n /**\n * Adjusts the active controller backward.\n * @private\n */\n this.adjustBackward = () => {\n const group = this.controllers;\n let index = 0;\n index = this.activeController\n ? group.indexOf(this.activeController) - 1\n : 0;\n index = index < 0 ? group.length - 1 : index;\n while (index >= 0 && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToToggleButtonByIndex(group, index);\n break;\n }\n else if (index - 1 < 0) {\n index = group.length - 1;\n }\n else {\n index -= 1;\n }\n }\n };\n /**\n * Moves the focus to the controller at the specified index.\n * @param {HTMLElement[]} group The array of controllers.\n * @param {number} index The index of the controller to focus.\n * @private\n */\n this.moveToToggleButtonByIndex = (group, index) => {\n const controller = group[index];\n this.activeController = controller;\n this.activeController.tabIndex = 0;\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.controllers[this.prevActiveControllerIndex].tabIndex = -1;\n this.activeControllerIndex = index;\n controller.focus();\n this.setComponent();\n };\n }\n /**\n * Method to be called when the component is inserted into the document.\n */\n connectedCallback() {\n super.connectedCallback();\n this.initialize();\n }\n /**\n * Method to be called when the component is removed from the document.\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListeners();\n }\n initialize() {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.activeControllerIndex = this.getActiveIndex();\n Updates.enqueue(() => this.setControllers());\n Updates.enqueue(() => this.setMultiViews());\n Updates.enqueue(() => this.addEventListeners());\n }\n /**\n * Limits the number of opened MultiViews. If there are more than one MultiViews opened,\n * it will remove the attribute \"data-flexposition\" from the first opened MultiView and hide it.\n * @public\n */\n limitNumberOfOpenMultiViews() {\n const multiView = this.openedMultiViews.shift();\n if (multiView) {\n multiView.removeAttribute(\"data-flexposition\");\n multiView.hidden = true;\n }\n }\n /**\n * Method to be called when the active ID changes.\n * @param {string} oldValue - The previous value of the active ID.\n * @param {string} newValue - The new value of the active ID.\n */\n activeidChanged(oldValue, newValue) {\n if (this.$fastController.isConnected &&\n this.controllers.length <= this.multiViews.length) {\n this.prevActiveControllerIndex = this.controllers.findIndex((item) => item.id === oldValue);\n this.activeControllerIndex = this.controllers.findIndex((item) => item.id === newValue);\n this.controllers[this.activeControllerIndex].tabIndex = 0;\n this.controllers[this.prevActiveControllerIndex].tabIndex = -1;\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when controllers changes.\n */\n controllersChanged() {\n if (this.isValidMultiViewState()) {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when multiViews changes.\n */\n multiViewsChanged() {\n if (this.isValidMultiViewState()) {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when opendedMultiViews changes.\n */\n openedMultiViewsChanged() {\n this.controllers.forEach((controller, index) => {\n const multiView = this.multiViews[index];\n if (this.openedMultiViews.includes(multiView)) {\n controller.setAttribute(\"aria-expanded\", \"true\");\n controller.setAttribute(\"aria-selected\", \"true\");\n }\n else {\n controller.setAttribute(\"aria-expanded\", \"false\");\n controller.setAttribute(\"aria-selected\", \"false\");\n }\n });\n }\n isValidMultiViewState() {\n return (this.$fastController.isConnected &&\n this.controllers.length <= this.multiViews.length);\n }\n /**\n * Returns the active index based on the activeid property, falls back to 0 if all elements are hidden.\n * @private\n * @returns {number} - The active index.\n */\n getActiveIndex() {\n const id = this.activeid;\n if (id !== undefined) {\n let index = this.controllerIds.indexOf(this.activeid);\n while (index !== -1) {\n const element = document.getElementById(this.controllerIds[index]);\n if (element && element.getAttribute(\"aria-hidden\") !== \"true\") {\n return index;\n }\n index = this.controllerIds.indexOf(this.activeid, index + 1);\n }\n }\n for (let i = 0; i < this.controllerIds.length; i++) {\n const element = document.getElementById(this.controllerIds[i]);\n if (element && element.getAttribute(\"aria-hidden\") !== \"true\") {\n return i;\n }\n }\n return 0;\n }\n /**\n * Sets attributes for controllers and determines the active controller.\n * @private\n */\n setControllers() {\n this.activeController = this.controllers[this.activeControllerIndex];\n this.controllers.forEach((controller, index) => {\n if (!(controller instanceof HTMLElement))\n return;\n const isActiveToggleButton = this.activeControllerIndex === index &&\n this.isFocusableElement(controller);\n const controllerId = this.controllerIds[index];\n const multiViewId = this.multiViewsIds[index];\n this.setAttributes(controller, {\n id: controllerId,\n \"aria-controls\": multiViewId\n });\n if (isActiveToggleButton) {\n this.activeController = controller;\n this.activeid = controllerId;\n }\n });\n }\n /**\n * Returns an array of IDs for the controllers.\n * @private\n * @returns {Array<string>} - The IDs of the controllers.\n */\n getControllerIds() {\n return this.controllers.map((controller) => {\n var _a;\n return (_a = controller.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `controller-${uniqueId()}`;\n });\n }\n /**\n * Returns an array of IDs for the multiViews.\n * @private\n * @returns {Array<string>} - The IDs of the multiViews.\n */\n getMultiViewIds() {\n return this.multiViews.map((multiView) => {\n var _a;\n return (_a = multiView.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `multiView-${uniqueId()}`;\n });\n }\n /**\n * Triggers a change if the active controller index has changed.\n * @private\n */\n setComponent() {\n if (this.activeControllerIndex !== this.prevActiveControllerIndex) {\n this.activeid = this.controllerIds[this.activeControllerIndex];\n this.change();\n }\n }\n /**\n * Handles blur events on the controller.\n * @param {FocusEvent} event The event object.\n * @public\n */\n handleControllerBlur(event) {\n const controller = event.currentTarget;\n controller.tabIndex = -1;\n }\n /**\n * The adjust method for FASTTabs\n * @private\n * @remarks\n * This method allows the active index to be adjusted by numerical increments\n */\n adjust(adjustment) {\n const focusableToggleButtons = this.controllers.filter((t) => !this.isDisabledElement(t));\n if (this.activeController) {\n const currentActiveToggleButtonIndex = focusableToggleButtons.indexOf(this.activeController);\n const nextToggleButtonIndex = limit(0, focusableToggleButtons.length - 1, currentActiveToggleButtonIndex + adjustment);\n const nextIndex = this.controllers.indexOf(focusableToggleButtons[nextToggleButtonIndex]);\n if (nextIndex > -1) {\n this.moveToToggleButtonByIndex(this.controllers, nextIndex);\n }\n }\n }\n /**\n * Sets the specified attributes on the given HTML element.\n * @param {HTMLElement} element The HTML element on which to set attributes.\n * @param {{[key: string]: string}} attributes An object mapping attribute names to values.\n * @private\n */\n setAttributes(element, attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n element.setAttribute(key, value);\n });\n }\n /**\n * Adds event listeners to the controllers and multiViews.\n *\n * @returns {void}\n */\n addEventListeners() {\n if (this.controllersContainer) {\n this.controllersContainer.addEventListener(\"keydown\", this.handleToggleButtonContainerKeyDown);\n }\n this.controllers.forEach((controller) => {\n controller.addEventListener(\"click\", this.handleControllerClick);\n controller.addEventListener(\"keydown\", this.handleControllerKeyDown);\n controller.addEventListener(\"blur\", this.handleControllerBlur);\n });\n this.multiViews.forEach((multiView) => {\n multiView.addEventListener(\"keydown\", (event) => this.handleMultiViewKeyDown(event));\n });\n }\n /**\n * Removes event listeners from the controllers.\n *\n * @returns {void}\n */\n removeEventListeners() {\n this.controllers.forEach((controller) => {\n controller.removeEventListener(\"click\", this.handleControllerClick);\n controller.removeEventListener(\"keydown\", this.handleControllerKeyDown);\n controller.removeEventListener(\"blur\", this.handleControllerBlur);\n });\n this.multiViews.forEach((multiView) => {\n multiView.removeEventListener(\"keydown\", (event) => this.handleMultiViewKeyDown(event));\n });\n }\n}\n__decorate([\n observable\n], MultiViewGroup.prototype, \"multiViews\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"controllers\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"controllersContainer\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"openedMultiViews\", void 0);\n//# sourceMappingURL=multi-view-group.js.map","import { colorStrokeFocus2, colorTransparentStroke, display, shadow4, strokeWidthThick } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** PaneSwitcher styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n flex-direction: column;\n position: absolute;\n z-index: 10;\n inset-inline-end: 0;\n top: 0;\n height: 100%;\n }\n .root {\n display: flex;\n flex-direction: row;\n height: 100%;\n }\n .views {\n display: flex;\n }\n .controllers {\n display: flex;\n flex-direction: column;\n background: var(--colorNeutralBackground1);\n position: relative;\n }\n\n .controllers:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: 1px;\n border-color: ${colorTransparentStroke};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n`;\n//# sourceMappingURL=multi-view-group.styles.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiViewGroup} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiViewGroup` component.\n * It includes slots for `multi-view` and `controller`, and dynamically assigns properties\n * to control accessibility and interaction.\n *\n * @returns {ElementViewTemplate<MultiViewGroup>} The template for the `MultiViewGroup` component.\n *\n * @slot multi-view - Slot for the multiple views managed by the component.\n * @slot controller - Slot for the controllers that switch between views.\n *\n * @csspart views - The container for the views.\n * @csspart controllers - The container for the controllers.\n */\nfunction multiViewGroupTemplate() {\n return html `\n <template>\n <div class=\"root\">\n <div class=\"views\" part=\"views\">\n <slot name=\"multi-view\" ${slotted(\"multiViews\")}></slot>\n </div>\n <div\n class=\"controllers\"\n part=\"controllers\"\n role=\"tablist\"\n aria-label=\"${(x) => x.ariaLabel}\"\n tabindex=\"${(x) => (x.hidden ? \"-1\" : \"0\")}\"\n ${ref(\"controllersContainer\")}\n >\n <slot name=\"controller\" ${slotted(\"controllers\")}></slot>\n </div>\n </div>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiViewGroup} component.\n * @public\n */\nexport const template = multiViewGroupTemplate();\n//# sourceMappingURL=multi-view-group.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { MultiViewGroup } from \"./multi-view-group.js\";\nimport { styles } from \"./multi-view-group.styles.js\";\nimport { template } from \"./multi-view-group.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fluent-multi-view-group>\n */\nexport const definition = MultiViewGroup.compose({\n name: `${DesignSystem.prefix}-multi-view-group`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=multi-view-group.definition.js.map","/**\n * MultiViewGroupPosition constants\n * @public\n */\nexport const MultiViewGroupPositions = {\n right: \"right\",\n left: \"left\"\n};\n//# sourceMappingURL=multi-view-group.options.js.map","/**\n * Core types for Angular CDK-inspired positioning engine.\n * Based on @angular/cdk/overlay positioning strategy.\n */\n/**\n * Horizontal connection positions.\n */\nexport const HorizontalConnectionPositions = {\n start: \"start\",\n center: \"center\",\n end: \"end\"\n};\n/**\n * Vertical connection positions.\n */\nexport const VerticalConnectionPositions = {\n top: \"top\",\n center: \"center\",\n bottom: \"bottom\"\n};\n/**\n * Reposition modes for positioned elements.\n */\nexport const RepositionModes = {\n auto: \"auto\",\n flip: \"flip\",\n none: \"none\"\n};\n/**\n * Default root margin for positioning calculations.\n */\nexport const DEFAULT_ROOT_MARGIN = 15;\n/**\n * Collision edges for boundary detection.\n */\nexport const CollisionEdges = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\"\n};\n//# sourceMappingURL=types.js.map","/**\n * Position calculation utilities inspired by Angular CDK's FlexibleConnectedPositionStrategy.\n * Provides coordinate-based positioning calculations for overlays/popovers.\n */\n/**\n * Get the bounding rectangle for the viewport.\n */\nexport function getViewportBounds() {\n return {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n width: window.innerWidth,\n height: window.innerHeight\n };\n}\n/**\n * Get the bounding rectangle for a custom boundary element.\n */\nexport function getBoundaryBounds(element) {\n const rect = element.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n bottom: rect.bottom,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n}\n/**\n * Get the effective boundary, accounting for viewport margin.\n */\nexport function getEffectiveBoundary(boundary, viewportMargin = 0) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (typeof viewportMargin === \"number\") {\n return {\n top: boundary.top + viewportMargin,\n left: boundary.left + viewportMargin,\n bottom: boundary.bottom - viewportMargin,\n right: boundary.right - viewportMargin,\n width: boundary.width ? boundary.width - viewportMargin * 2 : undefined,\n height: boundary.height ? boundary.height - viewportMargin * 2 : undefined\n };\n }\n return {\n top: boundary.top + ((_a = viewportMargin.top) !== null && _a !== void 0 ? _a : 0),\n left: boundary.left + ((_b = viewportMargin.left) !== null && _b !== void 0 ? _b : 0),\n bottom: boundary.bottom - ((_c = viewportMargin.bottom) !== null && _c !== void 0 ? _c : 0),\n right: boundary.right - ((_d = viewportMargin.right) !== null && _d !== void 0 ? _d : 0),\n width: boundary.width\n ? boundary.width -\n ((_e = viewportMargin.left) !== null && _e !== void 0 ? _e : 0) -\n ((_f = viewportMargin.right) !== null && _f !== void 0 ? _f : 0)\n : undefined,\n height: boundary.height\n ? boundary.height -\n ((_g = viewportMargin.top) !== null && _g !== void 0 ? _g : 0) -\n ((_h = viewportMargin.bottom) !== null && _h !== void 0 ? _h : 0)\n : undefined\n };\n}\n/**\n * Calculate the origin point (x, y) on the origin element based on connection position.\n * This is the point on the anchor element where the overlay will connect.\n */\nexport function getOriginPoint(originRect, position) {\n let x;\n let y;\n // Calculate X coordinate\n if (position.originX === \"center\") {\n x = originRect.left + originRect.width / 2;\n }\n else if (position.originX === \"start\") {\n x = originRect.left;\n }\n else {\n // 'end'\n x = originRect.right;\n }\n // Calculate Y coordinate\n if (position.originY === \"center\") {\n y = originRect.top + originRect.height / 2;\n }\n else if (position.originY === \"top\") {\n y = originRect.top;\n }\n else {\n // 'bottom'\n y = originRect.bottom;\n }\n return { x, y };\n}\n/**\n * Calculate the overlay point (x, y) - the top-left corner of the overlay\n * when positioned relative to the origin point.\n */\nexport function getOverlayPoint(originPoint, overlayRect, position) {\n var _a, _b;\n let overlayStartX;\n let overlayStartY;\n // Calculate horizontal offset from origin point to overlay's desired position\n if (position.overlayX === \"center\") {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (position.overlayX === \"start\") {\n overlayStartX = 0;\n }\n else {\n // 'end'\n overlayStartX = -overlayRect.width;\n }\n // Calculate vertical offset from origin point to overlay's desired position\n if (position.overlayY === \"center\") {\n overlayStartY = -overlayRect.height / 2;\n }\n else if (position.overlayY === \"top\") {\n overlayStartY = 0;\n }\n else {\n // 'bottom'\n overlayStartY = -overlayRect.height;\n }\n // Add any explicit offsets\n const offsetX = (_a = position.offsetX) !== null && _a !== void 0 ? _a : 0;\n const offsetY = (_b = position.offsetY) !== null && _b !== void 0 ? _b : 0;\n return {\n x: originPoint.x + overlayStartX + offsetX,\n y: originPoint.y + overlayStartY + offsetY\n };\n}\n/**\n * Calculate how well the overlay fits within the boundary when positioned at the given point.\n */\nexport function getOverlayFit(overlayPoint, overlayRect, boundary) {\n const overlayRight = overlayPoint.x + overlayRect.width;\n const overlayBottom = overlayPoint.y + overlayRect.height;\n const fitsLeft = overlayPoint.x >= boundary.left;\n const fitsRight = overlayRight <= boundary.right;\n const fitsTop = overlayPoint.y >= boundary.top;\n const fitsBottom = overlayBottom <= boundary.bottom;\n const fitsInViewportHorizontally = fitsLeft && fitsRight;\n const fitsInViewportVertically = fitsTop && fitsBottom;\n const isCompletelyWithinViewport = fitsInViewportHorizontally && fitsInViewportVertically;\n // Calculate visible area (useful for fallback position scoring)\n let visibleWidth = overlayRect.width;\n let visibleHeight = overlayRect.height;\n if (!fitsLeft) {\n visibleWidth = Math.max(0, overlayRight - boundary.left);\n }\n else if (!fitsRight) {\n visibleWidth = Math.max(0, boundary.right - overlayPoint.x);\n }\n if (!fitsTop) {\n visibleHeight = Math.max(0, overlayBottom - boundary.top);\n }\n else if (!fitsBottom) {\n visibleHeight = Math.max(0, boundary.bottom - overlayPoint.y);\n }\n const visibleArea = visibleWidth * visibleHeight;\n return {\n isCompletelyWithinViewport,\n fitsInViewportHorizontally,\n fitsInViewportVertically,\n visibleArea\n };\n}\n/**\n * Apply position styles to the overlay element.\n *\n * By default the overlay is pinned via `top`/`left`. When the resolved\n * {@link ConnectedPosition} attaches the overlay's bottom or end edge\n * (`overlayY === \"bottom\"` or `overlayX === \"end\"`), the corresponding\n * CSS edge is used instead so that any subsequent height/width constraint\n * causes the overlay to shrink from the *unattached* edge rather than\n * detaching from the anchor.\n *\n * When an offsetParent is provided, viewport coordinates are converted to\n * positions relative to that element (for `position: absolute` children).\n */\nexport function applyPositionStyles(overlayElement, overlayPoint, position, offsetParent) {\n const pinBottom = position.overlayY === \"bottom\";\n const pinRight = position.overlayX === \"end\";\n const parentRect = offsetParent === null || offsetParent === void 0 ? void 0 : offsetParent.getBoundingClientRect();\n const overlayRect = pinBottom || pinRight ? overlayElement.getBoundingClientRect() : null;\n // Horizontal positioning\n if (pinRight && overlayRect) {\n const containerRight = parentRect ? parentRect.right : window.innerWidth;\n const right = containerRight - (overlayPoint.x + overlayRect.width);\n overlayElement.style.right = `${Math.round(right)}px`;\n overlayElement.style.left = \"auto\";\n }\n else {\n const x = parentRect ? overlayPoint.x - parentRect.left : overlayPoint.x;\n overlayElement.style.left = `${Math.round(x)}px`;\n overlayElement.style.right = \"auto\";\n }\n // Vertical positioning\n if (pinBottom && overlayRect) {\n const containerBottom = parentRect ? parentRect.bottom : window.innerHeight;\n const bottom = containerBottom - (overlayPoint.y + overlayRect.height);\n overlayElement.style.bottom = `${Math.round(bottom)}px`;\n overlayElement.style.top = \"auto\";\n }\n else {\n const y = parentRect ? overlayPoint.y - parentRect.top : overlayPoint.y;\n overlayElement.style.top = `${Math.round(y)}px`;\n overlayElement.style.bottom = \"auto\";\n }\n}\n//# sourceMappingURL=position-calculator.js.map","/**\n * Flexible position strategy - main positioning engine.\n * Orchestrates position calculation, fallback selection, and style application.\n * Inspired by Angular CDK's FlexibleConnectedPositionStrategy.\n */\nimport { getViewportBounds, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from \"./position-calculator.js\";\n/**\n * Flexible position strategy implementation.\n * Main entry point for positioning overlays with fallback logic.\n */\nexport class FlexiblePositionStrategy {\n constructor(config) {\n var _a, _b, _c, _d;\n this.origin = config.origin;\n this.overlay = config.overlay;\n this.positions = config.positions;\n this.boundaryElement = (_a = config.boundaryElement) !== null && _a !== void 0 ? _a : null;\n this.offsetParent = (_b = config.offsetParent) !== null && _b !== void 0 ? _b : null;\n this.viewportMargin = (_c = config.viewportMargin) !== null && _c !== void 0 ? _c : 0;\n this.resize = (_d = config.resize) !== null && _d !== void 0 ? _d : false;\n this.resizeMinHeight = config.resizeMinHeight;\n }\n /**\n * Get the effective boundary (custom boundary or viewport).\n */\n getBoundary() {\n const rawBoundary = this.boundaryElement\n ? getBoundaryBounds(this.boundaryElement)\n : getViewportBounds();\n return getEffectiveBoundary(rawBoundary, this.viewportMargin);\n }\n /**\n * Returns the configured candidate positions.\n */\n getCandidates() {\n return [...this.positions];\n }\n /**\n * Evaluate a single position against the current boundary.\n * Returns the computed PositionResult without applying any styles.\n */\n evaluatePosition(position) {\n const originRect = this.origin.getBoundingClientRect();\n const overlayRect = this.overlay.getBoundingClientRect();\n const boundary = this.getBoundary();\n const originPoint = getOriginPoint(originRect, position);\n const overlayPoint = getOverlayPoint(originPoint, overlayRect, position);\n const fit = getOverlayFit(overlayPoint, overlayRect, boundary);\n return { position, originPoint, overlayPoint, fit };\n }\n /**\n * Selects the best position from the candidates list.\n *\n * 1. First candidate that fits completely wins immediately.\n * 2. If nothing fits and resize is enabled, picks the one with most\n * available space (best candidate for resize).\n * 3. Otherwise picks the position with the most visible area.\n */\n selectBestPosition() {\n const candidates = this.getCandidates();\n let bestResult = this.evaluatePosition(candidates[0]);\n let bestArea = bestResult.fit.visibleArea;\n if (bestResult.fit.isCompletelyWithinViewport) {\n return bestResult;\n }\n for (let i = 1; i < candidates.length; i++) {\n const result = this.evaluatePosition(candidates[i]);\n if (result.fit.isCompletelyWithinViewport) {\n return result;\n }\n if (result.fit.visibleArea > bestArea) {\n bestResult = result;\n bestArea = result.fit.visibleArea;\n }\n }\n // Nothing fits. If resize is enabled, prefer the candidate with most room.\n if (this.resize && candidates.length > 1) {\n let bestSpace = this.getAvailableSpace(candidates[0]);\n let bestSpaceCandidate = candidates[0];\n for (let i = 1; i < candidates.length; i++) {\n const space = this.getAvailableSpace(candidates[i]);\n if (space > bestSpace) {\n bestSpace = space;\n bestSpaceCandidate = candidates[i];\n }\n }\n if (bestSpaceCandidate !== bestResult.position) {\n return this.evaluatePosition(bestSpaceCandidate);\n }\n }\n return bestResult;\n }\n /**\n * Apply position result to the overlay element.\n */\n applyPositionResult(result) {\n applyPositionStyles(this.overlay, result.overlayPoint, result.position, this.offsetParent);\n }\n /**\n * Get the available space for the overlay in a given position.\n * Measures the distance from the anchor edge to the boundary edge in the\n * relevant direction based on the position's connection points.\n *\n * @param position - The connected position to measure space for.\n * @returns Available space in pixels.\n */\n getAvailableSpace(position) {\n var _a;\n const originRect = this.origin.getBoundingClientRect();\n const boundary = this.getBoundary();\n // Determine direction based on the connection points.\n // \"above\" style: overlayY === bottom, originY === top → space above anchor\n // \"below\" style: overlayY === top, originY === bottom → space below anchor\n if (position.overlayY === \"bottom\" && position.originY === \"top\") {\n // Overlay sits above the anchor\n return Math.max(0, originRect.top - boundary.top);\n }\n if (position.overlayY === \"top\" && position.originY === \"bottom\") {\n // Overlay sits below the anchor\n return Math.max(0, boundary.bottom - originRect.bottom);\n }\n // Horizontal cases (start/end)\n if (position.overlayX === \"end\" && position.originX === \"start\") {\n return Math.max(0, originRect.left - boundary.left);\n }\n if (position.overlayX === \"start\" && position.originX === \"end\") {\n return Math.max(0, boundary.right - originRect.right);\n }\n // Fallback: return full boundary height\n return Math.max(0, ((_a = boundary.height) !== null && _a !== void 0 ? _a : boundary.bottom - boundary.top) || 0);\n }\n /**\n * Applies a resize constraint to the overlay element if it\n * does not fit in the available space for the given position.\n *\n * @param position - The connected position to measure available space for.\n * @returns Whether a constraint was applied and the max-height value.\n */\n tryResize(position) {\n if (!this.resize) {\n return { resized: false, maxHeight: null };\n }\n const overlayHeight = this.overlay.getBoundingClientRect().height;\n const available = this.getAvailableSpace(position);\n if (overlayHeight <= available) {\n return { resized: false, maxHeight: null };\n }\n if (this.resizeMinHeight !== undefined &&\n available < this.resizeMinHeight) {\n return { resized: false, maxHeight: null };\n }\n this.overlay.style.maxHeight = `${available}px`;\n this.overlay.style.overflow = \"auto\";\n return { resized: true, maxHeight: available };\n }\n /**\n * High-level reposition entry point.\n *\n * 1. Clears any previous resize constraint so the overlay is evaluated\n * at its natural size.\n * 2. Selects the best position from the positions array.\n * 3. Applies a resize constraint if the overlay still overflows.\n * 4. Applies the final position.\n *\n * The component controls flip vs auto behavior by choosing which\n * positions to provide:\n * - Flip: `[original, opposite]`\n * - Auto: `[original, ...allOtherCandidates]`\n *\n * @returns A {@link RepositionResult} describing what happened, or `null`\n * if no positions or resize are provided.\n */\n reposition() {\n const candidates = this.getCandidates();\n if (candidates.length === 0 && !this.resize) {\n return null;\n }\n // Clear any previous resize constraint to evaluate natural size\n this.clearResize();\n // Step 1: Select the best position (evaluated at natural overlay size)\n let positionResult = this.selectBestPosition();\n // Step 2: Apply resize constraint if enabled\n let resized = false;\n let maxHeight = null;\n if (this.resize) {\n ({ resized, maxHeight } = this.tryResize(positionResult.position));\n if (resized) {\n // Re-evaluate the overlay point now that the element has been resized.\n // The post-resize dimensions are smaller, so any position that depends\n // on overlay height (e.g. \"above\" where overlayY === \"bottom\") would\n // produce a stale — and incorrect — overlayPoint if we skipped this.\n positionResult = this.evaluatePosition(positionResult.position);\n }\n }\n // Step 3: Apply the selected position\n this.applyPositionResult(positionResult);\n return {\n resized,\n maxHeight,\n positionResult\n };\n }\n /**\n * Clear any resize constraint applied to the overlay element.\n */\n clearResize() {\n if (this.resize) {\n this.overlay.style.maxHeight = \"\";\n this.overlay.style.overflow = \"\";\n }\n }\n}\n//# sourceMappingURL=flexible-position-strategy.js.map","import { RepositionModes } from \"../../util/positioning/index.js\";\nimport {} from \"../../util/typings.js\";\n// Re-export collision edge types for backwards compatibility\nexport { CollisionEdges } from \"../../util/positioning/index.js\";\nexport const PositioningShorthands = {\n aboveEnd: \"above-end\",\n aboveCenter: \"above-center\",\n aboveStart: \"above-start\",\n endBottom: \"end-bottom\",\n endMiddle: \"end-middle\",\n endTop: \"end-top\",\n belowEnd: \"below-end\",\n belowCenter: \"below-center\",\n belowStart: \"below-start\",\n startBottom: \"start-bottom\",\n startTop: \"start-top\",\n startMiddle: \"start-middle\"\n};\n// Preserve the established public runtime API while keeping the plural const\n// as the canonical source for the shorthand values.\nexport const PositioningShorthand = PositioningShorthands;\nexport const PopoverPositions = Object.values(PositioningShorthands);\nexport const PopoverRepositionModes = {\n auto: RepositionModes.auto,\n flip: RepositionModes.flip,\n none: RepositionModes.none\n};\nexport const PopoverEventNames = {\n hide: \"hide-popover\",\n show: \"show-popover\",\n toggle: \"toggle-popover\",\n mouseEnter: \"mouse-enter-popover\",\n mouseLeave: \"mouse-leave-popover\"\n};\n//# sourceMappingURL=popover.options.js.map","import { PopoverPositions, PopoverRepositionModes, PositioningShorthand } from \"./popover.options.js\";\nimport { FlexiblePositionStrategy, DEFAULT_ROOT_MARGIN } from \"../../util/positioning/index.js\";\n/** Default beak gap in pixels (beak triangle height + spacing). */\nconst BEAK_OFFSET = 8;\n/**\n * Direct shorthand → opposite-shorthand lookup.\n * Used by flip reposition mode so the opposite position is evaluated first.\n * @internal\n */\nconst OPPOSITE_SHORTHAND = {\n [PositioningShorthand.aboveStart]: PositioningShorthand.belowStart,\n [PositioningShorthand.aboveCenter]: PositioningShorthand.belowCenter,\n [PositioningShorthand.aboveEnd]: PositioningShorthand.belowEnd,\n [PositioningShorthand.belowStart]: PositioningShorthand.aboveStart,\n [PositioningShorthand.belowCenter]: PositioningShorthand.aboveCenter,\n [PositioningShorthand.belowEnd]: PositioningShorthand.aboveEnd,\n [PositioningShorthand.startTop]: PositioningShorthand.endTop,\n [PositioningShorthand.startMiddle]: PositioningShorthand.endMiddle,\n [PositioningShorthand.startBottom]: PositioningShorthand.endBottom,\n [PositioningShorthand.endTop]: PositioningShorthand.startTop,\n [PositioningShorthand.endMiddle]: PositioningShorthand.startMiddle,\n [PositioningShorthand.endBottom]: PositioningShorthand.startBottom\n};\n/**\n * Convert a popover positioning shorthand to a ConnectedPosition.\n * @internal\n */\nfunction popoverShorthandToPosition(shorthand) {\n switch (shorthand) {\n case PositioningShorthand.aboveStart:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.aboveCenter:\n return {\n originX: \"center\",\n originY: \"top\",\n overlayX: \"center\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.aboveEnd:\n return {\n originX: \"end\",\n originY: \"top\",\n overlayX: \"end\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.belowStart:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n case PositioningShorthand.belowCenter:\n return {\n originX: \"center\",\n originY: \"bottom\",\n overlayX: \"center\",\n overlayY: \"top\"\n };\n case PositioningShorthand.belowEnd:\n return {\n originX: \"end\",\n originY: \"bottom\",\n overlayX: \"end\",\n overlayY: \"top\"\n };\n case PositioningShorthand.startTop:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"end\",\n overlayY: \"top\"\n };\n case PositioningShorthand.startMiddle:\n return {\n originX: \"start\",\n originY: \"center\",\n overlayX: \"end\",\n overlayY: \"center\"\n };\n case PositioningShorthand.startBottom:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"end\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.endTop:\n return {\n originX: \"end\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n case PositioningShorthand.endMiddle:\n return {\n originX: \"end\",\n originY: \"center\",\n overlayX: \"start\",\n overlayY: \"center\"\n };\n case PositioningShorthand.endBottom:\n return {\n originX: \"end\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n default:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n }\n}\n/**\n * Convert a ConnectedPosition back to a popover shorthand.\n * Matches on the four connection-point fields, ignoring offsets.\n * @internal\n */\nfunction connectedPositionToShorthand(pos) {\n const { originX, originY, overlayX, overlayY } = pos;\n for (const shorthand of PopoverPositions) {\n const candidate = popoverShorthandToPosition(shorthand);\n if (candidate.originX === originX &&\n candidate.originY === originY &&\n candidate.overlayX === overlayX &&\n candidate.overlayY === overlayY) {\n return shorthand;\n }\n }\n return null;\n}\n/**\n * Adds beak gap offsets to connected positions.\n * Pushes the overlay away from the anchor so the beak fits between them.\n * @param positions - The base connected positions.\n * @param beakOffset - The gap size in pixels.\n * @returns A new array of positions with offsets applied.\n * @internal\n */\nfunction addBeakOffsets(positions, beakOffset) {\n if (beakOffset === 0) {\n return positions;\n }\n return positions.map((pos) => {\n var _a, _b;\n let offsetX = (_a = pos.offsetX) !== null && _a !== void 0 ? _a : 0;\n let offsetY = (_b = pos.offsetY) !== null && _b !== void 0 ? _b : 0;\n // Vertical gap: origin and overlay on opposite Y edges\n if (pos.originY !== pos.overlayY &&\n pos.originY !== \"center\" &&\n pos.overlayY !== \"center\") {\n offsetY += pos.originY === \"bottom\" ? beakOffset : -beakOffset;\n }\n // Horizontal gap: origin and overlay on opposite X edges\n if (pos.originX !== pos.overlayX &&\n pos.originX !== \"center\" &&\n pos.overlayX !== \"center\") {\n offsetX += pos.originX === \"end\" ? beakOffset : -beakOffset;\n }\n return { ...pos, offsetX, offsetY };\n });\n}\n/**\n * Popover positioning manager.\n *\n * Wraps {@link FlexiblePositionStrategy} to translate between popover-specific\n * {@link PositioningShorthand} values and the strategy's `ConnectedPosition` model.\n *\n * ### How it works\n * 1. Each shorthand is converted to a `ConnectedPosition` (four anchor-point fields).\n * When `hasBeak` is `true`, an 8 px gap offset is baked into every position so the\n * beak triangle fits between the anchor and the popover surface.\n * 2. On `reposition()` the best-fitting candidate is selected by\n * `FlexiblePositionStrategy` against the viewport or the supplied\n * `overflowBoundaryReference`. The resolved shorthand is written back to\n * `this._position` so the component can sync CSS beak-rotation classes.\n * 3. Candidate fallbacks are built from `repositionMode`:\n * - `\"flip\"` — only the geometrically opposite shorthand is tried.\n * - `\"auto\"` — all 11 remaining shorthands are evaluated.\n * - `\"none\"` — no fallbacks; the original position is always used.\n *\n * @internal\n */\nexport class Positioning {\n set repositionMode(value) {\n this._repositionMode = value;\n }\n get repositionMode() {\n return this._repositionMode;\n }\n set position(value) {\n this._position = value;\n }\n get position() {\n return this._position;\n }\n /**\n * Creates a new `Positioning` instance and initialises the\n * {@link FlexiblePositionStrategy} if both `popoverReference` and\n * `anchorReference` are available.\n *\n * @param args.repositionMode - Controls which fallback positions are evaluated\n * (`\"flip\"` / `\"auto\"` / `\"none\"`).\n * @param args.popoverReference - The floating popover element whose position\n * will be set by the strategy.\n * @param args.anchorReference - The anchor / trigger element the popover is\n * connected to.\n * @param args.overflowBoundaryReference - Optional scrolling container used as\n * the collision boundary instead of the document viewport.\n * @param args.hasBeak - When `true`, a {@link BEAK_OFFSET} gap is added to\n * every `ConnectedPosition` so the beak triangle fits between the surfaces.\n */\n constructor(args) {\n var _a, _b;\n this.positionStrategy = null;\n this.rootMargin = DEFAULT_ROOT_MARGIN;\n this._position = PositioningShorthand.aboveEnd;\n this._repositionMode = args.repositionMode;\n this.popoverReference = args.popoverReference;\n this.anchorReference = args.anchorReference;\n this.hasBeak = (_a = args.hasBeak) !== null && _a !== void 0 ? _a : false;\n this.overflowBoundaryReference = (_b = args.overflowBoundaryReference) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Converts a `PositioningShorthand` to a `ConnectedPosition`, automatically\n * applying {@link BEAK_OFFSET} gap offsets when `hasBeak` is `true`.\n * @param shorthand - The shorthand value to convert.\n * @returns A `ConnectedPosition` ready to be passed to `FlexiblePositionStrategy`.\n */\n toConnectedPosition(shorthand) {\n let position = popoverShorthandToPosition(shorthand);\n if (this.hasBeak) {\n position = addBeakOffsets([position], BEAK_OFFSET)[0];\n }\n return position;\n }\n /**\n * Build the ordered list of candidate positions based on the reposition mode.\n * The original position is always the first entry, followed by fallbacks.\n *\n * - **flip**: `[original, opposite]`\n * - **auto**: `[original, ...allOtherShorthands]`\n * - **none**: `[original]` (no fallbacks)\n */\n buildPositionCandidates() {\n const original = this._position;\n let fallbacks;\n if (this._repositionMode === PopoverRepositionModes.flip) {\n fallbacks = [OPPOSITE_SHORTHAND[original]];\n }\n else if (this._repositionMode === PopoverRepositionModes.auto) {\n fallbacks = PopoverPositions.filter((s) => s !== original);\n }\n else {\n fallbacks = [];\n }\n return [\n this.toConnectedPosition(original),\n ...fallbacks.map((s) => this.toConnectedPosition(s))\n ];\n }\n /**\n * Create a new immutable {@link FlexiblePositionStrategy} from current state.\n * Returns null if required element references are not available.\n */\n createPositionStrategy() {\n var _a;\n if (!this.popoverReference || !this.anchorReference) {\n return null;\n }\n const offsetParent = (_a = this.popoverReference.parentElement) !== null && _a !== void 0 ? _a : null;\n return new FlexiblePositionStrategy({\n origin: this.anchorReference,\n overlay: this.popoverReference,\n positions: this.buildPositionCandidates(),\n boundaryElement: this.overflowBoundaryReference,\n offsetParent,\n viewportMargin: this.rootMargin\n });\n }\n /**\n * Performs a reposition using the configured candidate positions.\n *\n * Delegates to the {@link FlexiblePositionStrategy}'s `reposition()` method,\n * which selects the best-fitting position from the original + fallbacks.\n * Converts the selected `ConnectedPosition` back to a popover shorthand.\n *\n * @returns The reposition result, or `null` if not configured.\n */\n reposition() {\n this.positionStrategy = null;\n this.positionStrategy = this.createPositionStrategy();\n if (!this.positionStrategy) {\n return null;\n }\n const result = this.positionStrategy.reposition();\n if (!result) {\n return null;\n }\n // Convert selected ConnectedPosition back to shorthand\n const shorthand = connectedPositionToShorthand(result.positionResult.position);\n if (shorthand) {\n this._position = shorthand;\n }\n return result;\n }\n}\n//# sourceMappingURL=popover.positioning.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, css, ElementStyles, FASTElement, nullableNumberConverter, observable, Updates } from \"@microsoft/fast-element\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { debounce } from \"../../util/debounce.js\";\nimport { PopoverEventNames, PopoverRepositionModes, PositioningShorthand } from \"./popover.options\";\nimport { Positioning } from \"./popover.positioning.js\";\nconst TRANSITION_DURATION_DEFAULT = 100;\nconst TRANSITION_DELAY_DEFAULT = 0;\n/**\n * Popover\n * @summary A Popover component that displays content in a floating container, with configurable size, position, and behavior.\n *\n * @example\n * ```html\n * <fabric-popover beak size=\"large\" mode=\"auto\" position=\"above-center\" target-id=\"exampleTarget\" open>\n * <div slot=\"popover-trigger\">Click me</div>\n * <div slot=\"popover-content\">Popover content</div>\n * </fabric-popover>\n * ```\n *\n * @attr {boolean} beak - Whether the popover has a beak.\n * @attr {boolean} non-clickable - Indicates if the popover anchor is not clickable.\n * @attr {PopoverSize} size - The size of the popover.\n * @attr {PopoverMode} mode - The mode of the popover. In auto mode, the popover closes when the user clicks outside of it. In manual mode, the popover stays open.\n * @attr {PositioningShorthandValues} position - The position of the popover.\n * @attr {string} target-id - The ID of the target element.\n * @attr {PopoverRepositionMode} reposition-mode - Controls how the `FlexiblePositionStrategy` selects a fallback when the preferred `position` overflows the boundary. `\"flip\"` tries only the geometrically opposite position (default). `\"auto\"` evaluates all 12 positions and picks the one with the most available space. `\"none\"` disables automatic repositioning.\n * @attr {boolean} open - Whether the popover is open.\n * @attr {number} transition-duration - The duration of the transition of the popover. The default value is 100.\n * @attr {number} transition-delay - The delay of the transition of the popover. The default value is 0.\n *\n * @prop {HTMLElement[] | undefined} anchorReferences - The references to the anchoring / triggering element.\n * @prop {boolean} refsLoaded - Indicates if all references are loaded.\n * @prop {ElementStyles | undefined} styles - Stores the CSS variables required for animations.\n * @prop {boolean} transitionComplete - Indicates if the transition is complete.\n * @prop {PopoverRepositionMode} repositionMode - The mode for repositioning the popover.\n * @prop {HTMLPopoverElement | undefined} popoverReference - The reference to the popover element.\n * @prop {string | undefined} popoverRole - An optional user-defined role for the popover floating content element.\n * @prop {HTMLElement | undefined} overflowBoundary - Optional scrolling container used as the collision boundary by `FlexiblePositionStrategy`. When set, overflow is measured against this element instead of the document viewport, and its `scroll` events trigger repositioning. Only relevant when `reposition-mode` is not `\"none\"`.\n *\n * @slot popover-trigger - Slot for the popover trigger element.\n * @slot popover-content - Slot for the popover content.\n *\n * @csspart popover - The popover container.\n * @csspart beak - The beak element of the popover.\n * @csspart beak-shadow - The shadow element of the beak.\n *\n * @method hidePopover - Hides the popover.\n * @method showPopover - Shows the popover.\n * @method togglePopover - Toggles the popover open state.\n * @method emitHideEvent - Emits the hide event for the popover.\n * @method emitShowEvent - Emits the show event for the popover.\n * @method emitToggleEvent - Emits the toggle event for the popover.\n * @method emitMouseEnterEvent - Emits the mouse enter event for the popover.\n * @method emitMouseLeaveEvent - Emits the mouse leave event for the popover.\n * @method addActiveHandlers - Adds the event listeners for the popover when it is open.\n * @method createPositioningManager - Creates the positioning manager for the popover.\n * @method removeEventListeners - Removes event listeners from the popover.\n *\n * @fires hide-popover - Emits when the popover is hidden.\n * @fires show-popover - Emits when the popover is shown.\n * @fires toggle-popover - Emits when the popover is toggled.\n * @fires mouse-enter-popover - Emits when the mouse enters the popover.\n * @fires mouse-leave-popover - Emits when the mouse leaves the popover.\n *\n * @extends FASTElement\n * @tagname fabric-popover\n * @public\n */\nexport class Popover extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The positioning instance for the popover.\n * @private\n */\n this.positioning = null;\n /**\n * Whether the popover has a beak.\n * @public\n * @type {boolean}\n * @attr\n */\n this.beak = false;\n /**\n * ## nonClickable\n *\n * controls whether the popover anchor is not clickable. When set to true, the popover will not close when the user clicks the trigger element.\n *\n * @public\n * @type {boolean}\n * @attr non-clickable\n * @default true\n */\n this.nonClickable = false;\n /**\n * The size of the popover.\n * @public\n * @type {PopoverSize}\n * @attr\n */\n this.size = \"medium\";\n /**\n * The mode of the popover. In auto mode, the popover closes when the user clicks outside of it. In manual mode, the popover stays open.\n * @public\n * @type {PopoverMode}\n * @attr\n */\n this.mode = \"manual\";\n /**\n * The position of the popover.\n * @public\n * @type {PositioningShorthandValues}\n * @attr\n */\n this.position = PositioningShorthand.belowCenter;\n this.refsLoaded = false;\n this.refsLoadedChanged = () => {\n this.addTransitionStyles();\n };\n /**\n * transitionDuration\n *\n * @summary - set the duration (in milliseconds) of popover transition for opening and close\n */\n this.transitionDuration = TRANSITION_DURATION_DEFAULT;\n /**\n * transitionDelay\n *\n * @summary - set the delay (in milliseconds) of popover transition for opening and close\n */\n this.transitionDelay = TRANSITION_DELAY_DEFAULT;\n /**\n * ## transitionComplete\n *\n * @summary - a boolean that is set to true when the transition is complete\n */\n this.transitionComplete = true;\n /**\n * ## onTransitionEnd\n */\n this.onTransitionEnd = () => {\n if (!this.transitionComplete) {\n this.transitionComplete = true;\n }\n };\n /**\n * ## onTransitionStart\n */\n this.onTransitionStart = () => {\n if (this.transitionComplete) {\n this.transitionComplete = false;\n }\n };\n /**\n * The mode for repositioning the popover via `FlexiblePositionStrategy`.\n *\n * - `\"flip\"` (default) — tries only the geometrically opposite position\n * (e.g. `above-center` ↔ `below-center`) as a fallback.\n * - `\"auto\"` — evaluates all 12 `PositioningShorthand` positions and picks\n * the one with the most available space.\n * - `\"none\"` — disables automatic repositioning; the popover stays at the\n * declared `position`.\n * @public\n * @type {PopoverRepositionMode}\n * @attr reposition-mode\n * @default flip\n */\n this.repositionMode = PopoverRepositionModes.flip;\n /**\n * ## open\n *\n * @summary Opens and closes the popover. It's used to control the popover from the outside. However, it's not recommended to use this property to control the popover before load. To control the popover correctly, wait until the window has fully loaded before opening the popover. Whether the popover is open.\n * @public\n * @type {boolean}\n * @attr\n * @default false\n */\n this.open = false;\n /**\n * Hides the popover.\n * @public\n */\n this.hidePopover = () => {\n this.open = false;\n this.emitHideEvent();\n };\n /**\n * Shows the popover.\n * @public\n */\n this.showPopover = () => {\n this.open = true;\n this.emitShowEvent();\n };\n /**\n * Toggles the popover open state.\n * @public\n */\n this.togglePopover = () => {\n this.open = !this.open;\n this.emitToggleEvent();\n return this.open;\n };\n /**\n * Emits the hide event for the popover.\n * @public\n */\n this.emitHideEvent = () => {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.hide, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"closed\"\n }\n }));\n };\n /**\n * Emits the show event for the popover.\n * @public\n */\n this.emitShowEvent = () => {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.show, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"open\"\n }\n }));\n };\n /**\n * Emits the mouse enter event for the popover.\n * @public\n */\n this.emitMouseEnterEvent = () => {\n this.dispatchEvent(new CustomEvent(PopoverEventNames.mouseEnter, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"open\"\n }\n }));\n };\n /**\n * Emits the mouse leave event for the popover.\n * @public\n */\n this.emitMouseLeaveEvent = () => {\n this.dispatchEvent(new CustomEvent(PopoverEventNames.mouseLeave, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"closed\"\n }\n }));\n };\n /**\n * ## addMouseOverEventListeners\n *\n * @summary Adds event listeners to the popoverReference to emit mouseEnter and mouseLeave events. Adds mouse over event listeners to the popover.\n * @private\n */\n this.addMouseOverEventListeners = () => {\n var _a, _b, _c, _d;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.addEventListener(\"transitionstart\", this.onTransitionStart);\n (_b = this.popoverReference) === null || _b === void 0 ? void 0 : _b.addEventListener(\"transitionend\", this.onTransitionEnd);\n (_c = this.popoverReference) === null || _c === void 0 ? void 0 : _c.addEventListener(\"mouseenter\", this.emitMouseEnterEvent);\n (_d = this.popoverReference) === null || _d === void 0 ? void 0 : _d.addEventListener(\"mouseleave\", this.emitMouseLeaveEvent);\n };\n /**\n * Removes mouse over event listeners from the popover.\n * @private\n */\n this.removeMouseOverEventListeners = () => {\n var _a, _b, _c, _d;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"transitionstart\", this.onTransitionStart);\n (_b = this.popoverReference) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"transitionend\", this.onTransitionEnd);\n (_c = this.popoverReference) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"mouseenter\", this.emitMouseEnterEvent);\n (_d = this.popoverReference) === null || _d === void 0 ? void 0 : _d.removeEventListener(\"mouseleave\", this.emitMouseLeaveEvent);\n };\n /**\n * ## handleWindowChanges\n *\n * @summary debounced method to handle window changes. It observes the popover for overflow and repositions the popover when the window is resized or the overflowBoundary is scrolled. Handles window changes with a debounce.\n * @private\n */\n this.handleWindowChanges = debounce(() => {\n var _a;\n const popover = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".popover\");\n if (popover) {\n // The reason for adding and removing the transition styles is to prevent the popover from animating when the window is resized\n this.removeTransitionStyles();\n }\n this.observePopoverOverflow();\n setTimeout(() => {\n if (popover) {\n // The reason for adding and removing the transition styles is to prevent the popover from animating when the window is resized\n this.addTransitionStyles();\n }\n }, 1000);\n }, 50);\n /**\n * Handles window click events.\n * Uses composedPath() to properly detect clicks inside shadow DOM triggers.\n * @private\n */\n this.handleWindowClick = (event) => {\n const composedPath = event.composedPath();\n if (this.anchorReferences &&\n this.anchorReferences[0] &&\n composedPath.includes(this.anchorReferences[0])) {\n return;\n }\n else if (this.open) {\n this.hidePopover();\n }\n };\n }\n nonClickableChanged() {\n this.processAnchorEventListeners();\n }\n /**\n * Handles changes to the public `position` attribute.\n * Updates the positioning strategy and triggers a reposition if the\n * popover is currently open, without closing/reopening.\n * @public\n */\n positionChanged() {\n if (this.positioning) {\n this.positioning.position = this.position;\n }\n if (this.open) {\n this.observePopoverOverflow();\n }\n }\n /**\n * Handles changes to the anchor references.\n * Adds anchor attributes and event listeners when the anchor is added to the DOM.\n * @internal\n */\n anchorReferencesChanged() {\n this.initializeTargetId();\n this.processAnchorEventListeners();\n this.checkAllLoaded();\n this.observePopoverOverflow();\n }\n /**\n * ## checkAllLoaded\n *\n * @summary checks if all the refs are loaded. If they are, it sets the refsLoaded property to true.\n */\n checkAllLoaded() {\n if (this.popoverReference &&\n this.anchorReferences &&\n this.anchorReferences.length > 0 &&\n this.transitionDuration !== undefined &&\n this.transitionDelay !== undefined) {\n this.refsLoaded = true;\n }\n }\n transitionDurationChanged() {\n this.addTransitionStyles();\n }\n /**\n * ## transitionDelayChanged\n */\n transitionDelayChanged() {\n this.addTransitionStyles();\n }\n /**\n * ## addTransitionStyles\n *\n * @summary - adds the transition styles to the popover element\n */\n addTransitionStyles() {\n var _a;\n if (this.transitionDelay !== undefined &&\n this.transitionDuration !== undefined) {\n const newStyles = css /**css*/ `\n :host {\n --popoverTransition: ${this.transitionDuration.toString()}ms;\n --popoverTransitionDelay: ${this.transitionDelay.toString()}ms;\n }\n `;\n if (newStyles.styles[0] !== ((_a = this.styles) === null || _a === void 0 ? void 0 : _a.styles[0])) {\n this.styles = newStyles;\n this.$fastController.addStyles(this.styles);\n }\n }\n }\n /**\n * ## removeTransitionStyles\n *\n * @summary - removes the transition styles from the popover element\n */\n removeTransitionStyles() {\n this.styles = css /**css*/ `\n :host {\n --popoverTransition: 0ms;\n --popoverTransitionDelay: 0ms;\n }\n `;\n this.$fastController.addStyles(this.styles);\n }\n /**\n * ## openPositions\n *\n * @summary An array of open positions based on the collisionEdge Handles changes to the reposition mode.\n * @public\n */\n repositionModeChanged() {\n if (this.positioning) {\n this.positioning.repositionMode = this.repositionMode;\n }\n }\n /**\n * ## openChanged\n *\n * @summary Adds and removes many of the event listeners for the popover. Handles changes to the open state of the popover. Opens and closes the popover, controlling it from the outside. It's recommended to wait until the window has fully loaded before opening the popover. Adds and removes many of the event listeners.\n * @public\n */\n openChanged() {\n var _a;\n if (this.popoverReference) {\n if (this.open) {\n // Set up positioning and event handlers first\n this.addActiveHandlers();\n // Apply best position before making visible to prevent flash\n this.observePopoverOverflow();\n // Now make visible\n this.popoverReference.classList.add(\"popover-open\");\n }\n else {\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.classList.remove(\"popover-open\");\n this.removeEventListeners();\n }\n }\n }\n /**\n * ## addActiveHandlers\n *\n * @summary Adds the event listeners for the popover when it is open. Adds active handlers for the popover.\n * @private\n */\n addActiveHandlers() {\n this.addRepositioningHandlers();\n this.addOverlayEventListeners();\n this.addMouseOverEventListeners();\n this.createPositioningManager();\n }\n /**\n * Handles changes to the popover reference element.\n * @internal\n */\n popoverReferenceChanged() {\n this.checkAllLoaded();\n this.observePopoverOverflow();\n }\n /**\n * ## initializeTargetId\n *\n * @summary initializes the targetId with a random id if it's not set by the user. The usefulness of this may not be apparent by the code. When the aria-describedby attribute of the trigger is set to the id of the target (popover), the aria-describedby content will reflect the content of the popover.\n * Initializes the target ID with a random ID if it's not set by the user.\n * @private\n */\n initializeTargetId() {\n if (!this.targetId) {\n const popoverId = uniqueId(\"popover-target-\");\n this.targetId = popoverId;\n }\n if (this.anchorReferences && this.anchorReferences.length > 0) {\n this.anchorReferences[0].setAttribute(\"aria-describedby\", this.targetId);\n }\n }\n /**\n * Handles changes to the overflow boundary.\n * @public\n */\n overflowBoundaryChanged() {\n this.addOverflowBoundaryEventListeners();\n }\n /**\n * Emits the toggle event for the popover.\n * @public\n */\n emitToggleEvent() {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.toggle, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: this.open ? \"open\" : \"closed\"\n }\n }));\n }\n /**\n * addAnchorEventListeners\n *\n * @summary the popover defaults to adding a click event listener on any clickable anchor reference\n * Adds event listeners to the anchor.\n * @private\n */\n processAnchorEventListeners() {\n if (this.anchorReferences && this.anchorReferences.length) {\n if (this.nonClickable === false) {\n this.anchorReferences[0].addEventListener(\"click\", this.togglePopover);\n }\n else {\n this.anchorReferences[0].removeEventListener(\"click\", this.togglePopover);\n }\n }\n }\n /**\n * Adds overflow boundary event listeners if the overflow boundary exists.\n * @private\n */\n addOverflowBoundaryEventListeners() {\n if (this.overflowBoundary) {\n this.overflowBoundary.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n }\n /**\n * Adds window event listeners.\n * @private\n */\n addWindowEventListeners() {\n window.addEventListener(\"resize\", this.handleWindowChanges);\n window.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * Removes window event listeners.\n * @private\n */\n removeWindowEventListeners() {\n window.removeEventListener(\"resize\", this.handleWindowChanges);\n window.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * ## addOverlayEventListeners\n *\n * @summary Adds event listeners to the window or overflowBoundary to close the popover when the user clicks outside of the popover. Adds overlay event listeners.\n * @private\n */\n addOverlayEventListeners() {\n if (this.overflowBoundary && this.mode === \"auto\") {\n this.overflowBoundary.addEventListener(\"click\", this.handleWindowClick);\n }\n else if (this.mode === \"auto\") {\n document.addEventListener(\"click\", this.handleWindowClick);\n }\n }\n /**\n * Removes overlay event listeners.\n * @private\n */\n removeOverlayEventListeners() {\n if (this.overflowBoundary && this.mode === \"auto\") {\n this.overflowBoundary.removeEventListener(\"click\", this.handleWindowClick);\n }\n else if (this.mode === \"auto\") {\n document.removeEventListener(\"click\", this.handleWindowClick);\n }\n }\n /**\n * Checks for overflow and repositions the popover if needed.\n * Writes the resolved position to a `data-position` attribute on\n * the internal `.popover` element so shadow-DOM CSS can follow\n * the repositioned placement without mutating the public `position`\n * attribute.\n * @private\n */\n checkOverflow() {\n if (!this.positioning || !this.popoverReference) {\n return;\n }\n this.positioning.position = this.position;\n const result = this.positioning.reposition();\n if (result) {\n this.popoverReference.dataset.position =\n this.positioning.position;\n }\n }\n /**\n * ## addRepositioningHandlers\n *\n * @summary Adds event listeners to the window and overflowBoundary to reposition the popover when the window is resized or the overflowBoundary is scrolled. Adds repositioning handlers to the popover.\n * @public\n */\n addRepositioningHandlers() {\n if (this.repositionMode !== \"none\") {\n this.addWindowEventListeners();\n }\n }\n /**\n * Creates a new {@link Positioning} instance that wraps `FlexiblePositionStrategy`\n * for this popover.\n *\n * Called every time the popover opens (`openChanged`). Passes the current\n * `repositionMode`, anchor reference, popover element, optional\n * `overflowBoundary`, and the `beak` flag so beak-gap offsets are applied\n * to every candidate position.\n * @public\n */\n createPositioningManager() {\n var _a;\n if (this.popoverReference) {\n this.positioning = null;\n this.positioning = new Positioning({\n repositionMode: this.repositionMode,\n popoverReference: this.popoverReference,\n anchorReference: (_a = this.anchorReferences) === null || _a === void 0 ? void 0 : _a[0],\n overflowBoundaryReference: this.overflowBoundary,\n hasBeak: this.beak\n });\n }\n }\n /**\n * Removes event listeners from the popover.\n * @public\n */\n removeEventListeners() {\n if (this.popoverReference) {\n this.removeWindowEventListeners();\n this.removeOverlayEventListeners();\n this.removeMouseOverEventListeners();\n }\n }\n /**\n * Schedules an overflow check via `FlexiblePositionStrategy` on the next\n * animation frame using `Updates.enqueue()`.\n *\n * Coordinates are applied before the popover becomes visible, preventing a\n * layout flash on open. Also called on every resize and scroll event while\n * the popover is open.\n * @private\n */\n observePopoverOverflow() {\n Updates.enqueue(() => {\n this.checkOverflow();\n });\n }\n connectedCallback() {\n var _a;\n super.connectedCallback();\n if (this.open) {\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.classList.add(\"popover-open\");\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Popover.prototype, \"beak\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"non-clickable\" })\n], Popover.prototype, \"nonClickable\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"size\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"mode\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"position\", void 0);\n__decorate([\n attr({ attribute: \"target-id\" })\n], Popover.prototype, \"targetId\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"anchorReferences\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"refsLoaded\", void 0);\n__decorate([\n attr({\n attribute: \"transition-duration\",\n converter: nullableNumberConverter\n })\n], Popover.prototype, \"transitionDuration\", void 0);\n__decorate([\n attr({\n attribute: \"transition-delay\",\n converter: nullableNumberConverter\n })\n], Popover.prototype, \"transitionDelay\", void 0);\n__decorate([\n attr({ attribute: \"reposition-mode\" })\n], Popover.prototype, \"repositionMode\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Popover.prototype, \"open\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"popoverReference\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"popoverRole\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"overflowBoundary\", void 0);\n//# sourceMappingURL=popover.js.map","import { borderRadiusMedium, colorNeutralBackground1, colorTransparentStrokeInteractive, display, fontFamilyBase, shadow8, spacingHorizontalL, spacingHorizontalM, spacingHorizontalXL, spacingVerticalL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n\n .popover-container {\n position: relative;\n width: fit-content;\n }\n\n .popover {\n font-family: ${fontFamilyBase};\n background-color: ${colorNeutralBackground1};\n border-radius: ${borderRadiusMedium};\n border: 1px solid ${colorTransparentStrokeInteractive};\n box-shadow: ${shadow8};\n\n visibility: hidden;\n opacity: 0;\n z-index: 0;\n position: absolute;\n\n margin: 0;\n min-width: 50px; /* @design-token-ok */\n min-height: 68px; /* @design-token-ok */\n max-width: var(--popoverMaxWidth, 260px);\n\n width: max-content;\n height: max-content;\n padding: ${spacingHorizontalL};\n\n transition-property: opacity, visibility;\n transition-duration: var(--popoverTransition, 0ms);\n transition-delay: var(--popoverTransitionDelay, 0ms);\n }\n\n .popover.popover-open {\n visibility: visible;\n display: block;\n opacity: 1;\n z-index: 1000;\n }\n\n :host([size=\"small\"]) .popover {\n padding: ${spacingHorizontalM};\n max-width: var(--popoverMaxWidth, 214px);\n }\n\n :host([size=\"large\"]) .popover {\n padding: ${spacingHorizontalXL};\n max-width: var(--popoverMaxWidth, 317px);\n }\n\n .beak {\n position: absolute;\n top: 0;\n width: 0;\n height: 0;\n border-inline-start: 8px solid transparent;\n border-inline-end: 8px solid transparent;\n border-bottom: 8px solid ${colorNeutralBackground1};\n z-index: 1;\n }\n\n :host([beak]) .beak-shadow::after {\n content: \"\";\n position: absolute;\n width: 0;\n height: 0;\n border-inline-start: 8px solid transparent;\n border-inline-end: 9px solid transparent;\n border-bottom: 8px solid rgba(0, 0, 0, 0.14); /* @design-token-ok */\n filter: blur(8px);\n z-index: 0;\n\n opacity: 0;\n transition: all var(--popoverTransition, 0ms);\n transition-delay: var(--popoverTransitionDelay, 0ms);\n }\n\n :host([open][beak]) .beak-shadow:after {\n opacity: 1;\n }\n\n :host([beak]) .popover[data-position=\"above-start\"] ~ .beak-shadow:after {\n start: calc(\n 16px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(\n -8px + var(--beakShadowVerticalNudge, 0px)\n ); /* @design-token-ok */\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-start\"] .beak {\n start: 16px; /* @design-token-ok */\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-center\"] ~ .beak-shadow:after {\n inset-inline-start: calc(50% - 8px + var(--beakShadowHorizontalNudge, 0px));\n top: calc(-8px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-center\"] .beak {\n inset-inline-start: calc(50% - 8px);\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-end\"] ~ .beak-shadow:after {\n inset-inline-end: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(-8px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-end\"] .beak {\n inset-inline-end: ${spacingHorizontalL};\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"end-top\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-top\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: ${spacingVerticalL};\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"end-middle\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(50% - 2px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.11); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-middle\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: calc(50% - 4px);\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"end-bottom\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-bottom\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: unset;\n bottom: ${spacingVerticalL};\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"below-start\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: -12px; /* @design-token-ok */\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-start\"] .beak {\n inset-inline-start: ${spacingHorizontalL};\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"below-center\"] ~ .beak-shadow:after {\n inset-inline-start: calc(50% - 8px + var(--beakShadowHorizontalNudge, 0px));\n top: unset;\n bottom: -8px;\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-center\"] .beak {\n inset-inline-start: calc(50% - 8px);\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"below-end\"] ~ .beak-shadow:after {\n inset-inline-end: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: -12px; /* @design-token-ok */\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-end\"] .beak {\n inset-inline-end: ${spacingHorizontalL};\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"start-top\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(\n 18px + var(--beakShadowVerticalNudge, 0px)\n ); /* @design-token-ok */\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-top\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: ${spacingVerticalL};\n transform: rotate(90deg);\n }\n\n :host([beak]) .popover[data-position=\"start-middle\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(50% - 2px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.11); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-middle\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: calc(50% - 4px);\n transform: rotate(90deg);\n }\n\n :host([beak]) .popover[data-position=\"start-bottom\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: unset;\n bottom: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-bottom\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: unset;\n bottom: ${spacingVerticalL};\n transform: rotate(90deg);\n }\n`;\n//# sourceMappingURL=popover.styles.js.map","import { html, ref, slotted, when } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#Popover} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `Popover` component.\n * It includes slots for `popover-trigger` and `popover-content`, and conditionally\n * renders a beak element when the `beak` property is true and the `Popover` is open.\n *\n * @param {any} options - Additional options that customize the template.\n *\n * @slot popover-trigger - The trigger element that opens the popover.\n * @slot popover-content - The content to display inside the popover.\n *\n * @csspart popover - The main popover element.\n * @csspart beak - The beak element of the popover.\n * @csspart beak-shadow - The shadow of the beak element.\n *\n * @returns {ElementViewTemplate<Popover>} The template for the `Popover` component.\n */\nfunction popoverTemplate() {\n return html `\n <slot name=\"start\"></slot>\n <div class=\"popover-container\" role=\"dialog\">\n <slot name=\"popover-trigger\" ${slotted(\"anchorReferences\")}></slot>\n <div\n role=\"${(x) => x.popoverRole}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n class=\"popover\"\n part=\"popover\"\n id=\"${(x) => x.targetId}\"\n ${ref(\"popoverReference\")}\n >\n <slot name=\"popover-content\" part=\"popover-content\"></slot>\n ${when((x) => x.beak, html `\n <div part=\"beak\" class=\"beak\"></div>\n `)}\n </div>\n ${when((x) => x.beak, html `\n <div part=\"beak-shadow\" class=\"beak-shadow\"></div>\n `)}\n </div>\n <slot name=\"end\"></slot>\n `;\n}\nexport const template = popoverTemplate();\n//# sourceMappingURL=popover.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Popover } from \"./popover.js\";\nimport { styles } from \"./popover.styles.js\";\nimport { template } from \"./popover.template.js\";\nexport const definition = Popover.compose({\n name: `${DesignSystem.prefix}-popover`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=popover.definition.js.map","/**\n * SVG Sanitizer Script\n *\n * This script provides SVG content sanitization through the SvgSanitizer class.\n * It is designed to sanitize SVG content strings by removing potentially harmful\n * or malicious tags and attributes.\n *\n * It strictly disallows a predefined list of tags and attributes that can be exploited\n * for malicious purposes such as Cross-Site Scripting (XSS) attacks. Any occurrence of\n * blocked tags and attributes within the provided SVG content is removed during the\n * sanitization process.\n *\n * Example Usage:\n * const sanitizedSVG = SvgSanitizer.sanitize('<svg><script>alert(\"XSS\")</script></svg>');\n *\n * Upon finding and removing any blocked tags or attributes, the sanitizer logs a warning\n * message to the console for visibility.\n */\nconst BLOCKED_TAGS = [\n \"base\",\n \"embed\",\n \"form\",\n \"frame\",\n \"iframe\",\n \"link\",\n \"meta\",\n \"object\",\n \"script\",\n \"style\"\n];\nconst BLOCKED_ATTRS = [\n \"data\",\n \"formaction\",\n \"onclick\",\n \"onerror\",\n \"onload\",\n \"onmouseover\",\n \"src\"\n];\nexport class SvgSanitizer {\n /**\n * Sanitizes SVG content by removing potentially harmful elements and attributes.\n *\n * @param {string} svgString - The original SVG content string.\n * @returns {string} - Sanitized SVG content string.\n */\n static sanitize(svgString) {\n if (!this.isWellFormedSVG(svgString)) {\n return \"\"; // Return empty string if SVG is not well-formed\n }\n try {\n const doc = this.parser.parseFromString(svgString, \"image/svg+xml\");\n this.removeBlockedElementsAndAttributes(doc, BLOCKED_TAGS, BLOCKED_ATTRS);\n return new XMLSerializer().serializeToString(doc);\n }\n catch (error) {\n console.error(\"SVG parsing error\", error);\n return \"\";\n }\n }\n /**\n * Checks if the SVG content appears well-formed.\n */\n static isWellFormedSVG(svgString) {\n try {\n const doc = this.parser.parseFromString(svgString, \"image/svg+xml\");\n const rootElement = doc.documentElement;\n return rootElement && rootElement.tagName.toLowerCase() === \"svg\";\n }\n catch (error) {\n console.error(\"Error while validating SVG:\", error);\n return false;\n }\n }\n /**\n * Removes blocked elements and attributes from the SVG document.\n */\n static removeBlockedElementsAndAttributes(doc, blockedTags, blockedAttrs) {\n doc.querySelectorAll(\"*\").forEach((element) => {\n var _a;\n const tagName = element.tagName.toLowerCase();\n if (blockedTags.includes(tagName)) {\n console.warn(`Custom SVG Sanitizer: Found and removed blocked tag: <${tagName}>`);\n (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n else {\n element.getAttributeNames().forEach((attr) => {\n if (blockedAttrs.includes(attr.toLowerCase()) ||\n /^on[a-z]+/.test(attr.toLowerCase())) {\n console.warn(`Custom SVG Sanitizer: Found and removed blocked attribute: ${attr} from <${element.tagName.toLowerCase()}>`);\n element.removeAttribute(attr);\n }\n });\n }\n });\n }\n}\nSvgSanitizer.parser = new DOMParser();\n// For backward compatibility and easier migration\nexport const sanitizeSVG = SvgSanitizer.sanitize.bind(SvgSanitizer);\n//# sourceMappingURL=svg-sanitizer.js.map","import { SvgSanitizer } from \"../scripts/svg-sanitizer.js\";\n/**\n * SvgService is used by the SvgIcon component to manage SVG content. It is\n * responsible for fetching, caching, and manipulating SVG content.\n * This includes loading SVG icons or sprites from given paths and preparing SVG\n * content for display. Cached SVGs ensure that repeated fetches are avoided.\n *\n * Typical usage:\n * const svgContent = await SvgService.loadIconOrSprite('/path/to/sprite.svg', 'icon-name');\n *\n */\nexport class SvgService {\n /**\n * Loads an SVG icon or sprite from a given path.\n *\n * @param path {string} - The path to the SVG file.\n * @param name {string} - The name (ID) of the icon if fetching from a sprite.\n * @returns {Promise<string>} - A promise that resolves to the SVG content or rejects with an error.\n */\n static async loadIconOrSprite(path, name) {\n try {\n const svgContent = await this.fetchAndCacheSVG(path);\n if (svgContent.includes(\"<symbol\")) {\n return this.getIconFromSprite(svgContent, name);\n }\n else {\n return svgContent;\n }\n }\n catch (error) {\n console.error(`Failed to load SVG from path ${path}:`, error);\n throw error;\n }\n }\n /**\n * Fetches and caches an SVG from a given path.\n *\n * @param path {string} - The path to the SVG file.\n * @returns {Promise<string>} - A promise that resolves to the SVG content.\n */\n static async fetchAndCacheSVG(path) {\n if (!this.cache.has(path)) {\n try {\n const svgPromise = fetch(path)\n .then((resp) => {\n if (!resp.ok) {\n throw new Error(`Network error: ${resp.status} ${resp.statusText}`);\n }\n return resp.text();\n })\n .then((svg) => {\n // Basic check for SVG format\n if (!/<svg[\\s\\S]+<\\/svg>/.test(svg)) {\n throw new Error(\"Invalid SVG format\");\n }\n return SvgSanitizer.sanitize(svg);\n });\n this.cache.set(path, svgPromise);\n return await svgPromise;\n }\n catch (error) {\n console.error(`Failed to fetch and cache SVG from path ${path}:`, error);\n throw error; // Propagate the error so it can be handled by the calling code if needed\n }\n }\n return await this.cache.get(path);\n }\n /**\n * Extracts an icon from an SVG sprite.\n *\n * @param spriteContent {string} - The SVG sprite content.\n * @param iconName {string} - The name (ID) of the icon to extract.\n * @returns {string} - The SVG content for the icon.\n */\n static getIconFromSprite(spriteContent, iconName) {\n const doc = this.parser.parseFromString(spriteContent, \"image/svg+xml\");\n const symbol = doc.querySelector(`symbol[id=\"${iconName}\"]`);\n if (!symbol) {\n console.error(`Icon with ID ${iconName} not found in sprite.`);\n return \"\";\n }\n // Convert the symbol content into SVG.\n const svgNamespace = \"http://www.w3.org/2000/svg\";\n const svgElement = doc.createElementNS(svgNamespace, \"svg\");\n if (!spriteContent.includes(`xmlns=\"${svgNamespace}\"`)) {\n svgElement.setAttribute(\"xmlns\", svgNamespace);\n }\n svgElement.setAttribute(\"viewBox\", symbol.getAttribute(\"viewBox\") || \"\");\n Array.from(symbol.childNodes).forEach((child) => {\n svgElement.appendChild(child.cloneNode(true));\n });\n removeRedundantXmlns(svgElement);\n return svgElement.outerHTML;\n }\n /**\n * Prepares SVG content, either as a standalone SVG or extracting it from a sprite.\n *\n * @param path {string} - The path to the SVG file.\n * @param name {string} - The name (ID) of the icon if fetching from a sprite.\n * @returns {Promise<{content: string, width?: string, height?: string}>} - A promise that resolves to the prepared SVG content and dimensions.\n */\n static async getPreparedSVG(path, name) {\n try {\n const content = await this.loadIconOrSprite(path, name);\n const doc = this.parseSVG(content);\n const symbol = doc.querySelector(\"symbol\");\n if (symbol) {\n return this.getSVGDetailsFromSymbol(symbol);\n }\n else {\n return this.getSVGDetailsFromSVGElement(doc);\n }\n }\n catch (error) {\n console.error(`Failed to prepare SVG from path ${path}:`, error);\n throw error;\n }\n }\n /**\n * Parse the input SVG string and return an SVG Document.\n *\n * @param svgString {string} - The input SVG content in string format.\n * @returns {Document} - The parsed SVG as a Document.\n */\n static parseSVG(svgString) {\n return this.parser.parseFromString(svgString, \"image/svg+xml\");\n }\n /**\n * Converts an SVG symbol to an SVG element, extracting and returning its content and dimensions.\n *\n * @param symbol {Element} - The SVG symbol element to be converted.\n * @returns {{ content: string, width?: string, height?: string }} - An object containing the SVG content and optional width and height.\n */\n static getSVGDetailsFromSymbol(symbol) {\n const viewBox = symbol.getAttribute(\"viewBox\");\n const svgNamespace = \"http://www.w3.org/2000/svg\";\n const doc = new DOMParser().parseFromString(\"<svg></svg>\", \"image/svg+xml\");\n const svgElement = doc.createElementNS(svgNamespace, \"svg\");\n svgElement.setAttribute(\"viewBox\", viewBox || \"\");\n while (symbol.firstChild) {\n svgElement.appendChild(symbol.firstChild.cloneNode(true));\n }\n removeRedundantXmlns(svgElement);\n const width = symbol.getAttribute(\"width\") || undefined;\n const height = symbol.getAttribute(\"height\") || undefined;\n return {\n content: svgElement.outerHTML,\n width,\n height\n };\n }\n /**\n * Extracts content and dimensions from the first SVG element within a Document.\n *\n * @param doc {Document} - The Document containing SVG data.\n * @returns {{ content: string, width?: string, height?: string }} - An object with the SVG content and optional width and height.\n */\n static getSVGDetailsFromSVGElement(doc) {\n const svgElem = doc.querySelector(\"svg\");\n let width;\n let height;\n if (svgElem) {\n width = svgElem.getAttribute(\"width\") || undefined;\n height = svgElem.getAttribute(\"height\") || undefined;\n }\n return {\n content: (svgElem === null || svgElem === void 0 ? void 0 : svgElem.outerHTML) || \"\",\n width,\n height\n };\n }\n}\nSvgService.cache = new Map();\nSvgService.parser = new DOMParser();\n// Utility function to remove redundant xmlns attributes\nfunction removeRedundantXmlns(element) {\n element.querySelectorAll(\"*\").forEach((child) => {\n if (child.hasAttribute(\"xmlns\")) {\n child.removeAttribute(\"xmlns\");\n }\n });\n}\n//# sourceMappingURL=svg-service.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ElementStyles, FASTElement, attr, css } from \"@microsoft/fast-element\";\nimport { spacingHorizontalXL } from \"@fluentui/web-components\";\nimport { SvgService } from \"./services/svg-service.js\";\n/**\n * SvgIcon\n * @summary This component is used to dynamically load and display SVG icons.\n *\n * @example\n * ```html\n * <fabric-svg-icon\n * name=\"example-icon\"\n * size=\"24\"\n * path=\"/icons/example-icon.svg\"\n * aria-hidden=\"true\"\n * focusable=\"false\"\n * role=\"img\"\n * ></fabric-svg-icon>\n * ```\n *\n * @attr {string} name - The name of the SVG icon.\n * @attr {string} size - The size of the SVG icon.\n * @attr {string} path - The path to the SVG icon file.\n * @attr {string} aria-hidden - The aria-hidden attribute for accessibility.\n * @attr {string} focusable - Indicates whether the SVG icon is focusable.\n *\n * @prop {ElementStyles | undefined} computedStylesheet - The computed stylesheet for the SVG icon.\n * @prop {boolean} isLoading - Indicates whether the icon is currently loading.\n * @prop {boolean} isError - Indicates whether there was an error loading the icon.\n * @prop {string} name - The name of the SVG icon.\n * @prop {string} size - The size of the SVG icon.\n * @prop {string} path - The path to the SVG icon file.\n * @prop {string} ariaHidden - The aria-hidden attribute for accessibility.\n * @prop {string} focusable - Indicates whether the SVG icon is focusable.\n * @prop {string | null} role - The role attribute for accessibility (native property, reflects to/from the role attribute).\n *\n * @csspart svg - The SVG element representing the icon.\n * @cssprop --icon-height - Controls the default height of the SVG icon.\n * @cssprop --icon-width - Controls the default width of the SVG icon.\n *\n * @method nameChanged - Handles changes to the name attribute.\n * @method sizeChanged - Handles changes to the size attribute.\n * @method pathChanged - Handles changes to the path attribute.\n * @method checkAndResolveRenderPromise - Checks and resolves the render promise if conditions are met.\n * @method renderIcon - Renders the SVG icon.\n * @method renderErrorIcon - Renders an error icon when the SVG fails to load.\n * @method updateComputedStylesheet - Updates the computed stylesheet with the provided width and height.\n * @method updateSvgAttributes - Updates the attributes of the SVG element.\n *\n * @fires {CustomEvent} error - Dispatched when the icon fails to load.\n *\n * @extends FASTElement\n * @tagname fabric-svg-icon\n * @public\n */\nexport class SvgIcon extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the icon is currently loading.\n * @private\n * @type {boolean}\n * @default true\n */\n this.isLoading = true;\n /**\n * Indicates whether there was an error loading the icon.\n * @private\n * @type {boolean}\n * @default false\n */\n this.isError = false;\n /**\n * The aria-hidden attribute for accessibility.\n * @public\n * @attr\n * @type {string}\n * @default true\n */\n this.ariaHidden = \"true\";\n /**\n * Indicates whether the SVG icon is focusable.\n * @public\n * @attr\n * @type {string}\n * @default false\n */\n this.focusable = \"false\";\n /**\n * Resolver function for the render promise.\n * @private\n * @type {() => undefined | null}\n */\n this.renderResolver = () => undefined;\n /**\n * Promise that resolves when the icon is rendered.\n * @private\n * @type {Promise<void>}\n */\n this.renderPromise = new Promise((resolve) => {\n this.renderResolver = resolve;\n });\n }\n /**\n * Handles changes to the name attribute.\n * @public\n */\n nameChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * Handles changes to the size attribute.\n * @public\n */\n sizeChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * Handles changes to the path attribute.\n * @public\n */\n pathChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * The role attribute for accessibility.\n * @public\n * @type {string | null}\n * @default null\n */\n get role() {\n return this.getAttribute(\"role\");\n }\n set role(value) {\n if (value === null || value === undefined) {\n this.removeAttribute(\"role\");\n }\n else {\n this.setAttribute(\"role\", value);\n }\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.renderPromise.then(() => this.renderIcon());\n }\n /**\n * Checks and resolves the render promise if conditions are met.\n * @private\n */\n checkAndResolveRenderPromise() {\n if (this.renderResolver) {\n if (this.path) {\n if (!this.name || (this.name && this.name !== \"\")) {\n this.renderResolver();\n this.renderResolver = () => undefined;\n }\n }\n }\n }\n /**\n * Renders the SVG icon.\n * @private\n */\n renderIcon() {\n this.isLoading = true;\n SvgService.getPreparedSVG(this.path, this.name)\n .then(({ content, width, height }) => {\n this.isLoading = false;\n this.shadowRoot.innerHTML = content;\n this.updateComputedStylesheet(width, height);\n const svgElementInShadow = this.shadowRoot.querySelector(\"svg\");\n if (svgElementInShadow) {\n this.updateSvgAttributes(svgElementInShadow);\n }\n })\n .catch((error) => {\n this.isLoading = false;\n this.isError = true;\n console.error(`Failed to load icon: ${this.path}`, error);\n this.renderErrorIcon();\n });\n }\n /**\n * Renders an error icon when the SVG fails to load.\n * @private\n */\n renderErrorIcon() {\n // Creating SVG element for red \"X\"\n const errorSvg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n errorSvg.style.width = `var(--icon-width, ${spacingHorizontalXL})`;\n errorSvg.style.height = `var(--icon-height, ${spacingHorizontalXL})`;\n errorSvg.setAttribute(\"viewBox\", \"0 0 20 20\");\n errorSvg.setAttribute(\"aria-hidden\", \"false\");\n errorSvg.setAttribute(\"alt\", \"broken image\");\n // Line from top-left to bottom-right\n const line1 = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n line1.setAttribute(\"x1\", \"0\");\n line1.setAttribute(\"y1\", \"0\");\n line1.setAttribute(\"x2\", \"20\");\n line1.setAttribute(\"y2\", \"20\");\n line1.setAttribute(\"stroke\", \"var(--colorPaletteRedForeground1)\");\n line1.setAttribute(\"stroke-width\", \"var(--strokeWidthThick)\");\n // Line from top-right to bottom-left\n const line2 = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n line2.setAttribute(\"x1\", \"20\");\n line2.setAttribute(\"y1\", \"0\");\n line2.setAttribute(\"x2\", \"0\");\n line2.setAttribute(\"y2\", \"20\");\n line2.setAttribute(\"stroke\", \"var(--colorPaletteRedForeground1)\");\n line2.setAttribute(\"stroke-width\", \"var(--strokeWidthThick)\");\n errorSvg.appendChild(line1);\n errorSvg.appendChild(line2);\n // Adding SVG to shadowRoot\n this.shadowRoot.innerHTML = \"\";\n this.shadowRoot.appendChild(errorSvg);\n }\n /**\n * Updates the computed stylesheet with the provided width and height.\n * @private\n * @param {string | undefined} width - The width of the SVG icon.\n * @param {string | undefined} height - The height of the SVG icon.\n */\n updateComputedStylesheet(width, height) {\n if (this.size) {\n if ([\"12\", \"16\", \"20\", \"24\", \"28\", \"32\", \"48\"].includes(this.size)) {\n this.computedStylesheet = css `\n :host {\n --icon-height: ${this.size}px;\n --icon-width: ${this.size}px;\n }\n `;\n }\n }\n else if (width && height) {\n this.computedStylesheet = css `\n :host {\n --icon-height: ${height}px;\n --icon-width: ${width}px;\n }\n `;\n }\n if (this.computedStylesheet) {\n this.$fastController.addStyles(this.computedStylesheet);\n }\n }\n /**\n * Updates the attributes of the SVG element.\n * @private\n * @param {SVGSVGElement} svgElement - The SVG element to update.\n */\n updateSvgAttributes(svgElement) {\n var _a, _b;\n if (this.name !== undefined) {\n svgElement.setAttribute(\"name\", this.name);\n // Extract size from icon name if not explicitly provided (e.g. \"accessibility_20_filled\" -> \"20\")\n if (!this.size && this.name.includes(\"_\")) {\n const parts = this.name.split(\"_\");\n const sizeFromName = parts.find((part) => /^\\d+$/.test(part));\n if (sizeFromName) {\n this.size = sizeFromName;\n }\n }\n }\n else {\n svgElement.removeAttribute(\"name\");\n }\n // Handle size attribute\n let finalSize;\n if (this.size) {\n // First try to use the explicit size\n const numericSize = (_a = this.size.split(\"_\")[0].match(/\\d+/)) === null || _a === void 0 ? void 0 : _a[0];\n if (numericSize &&\n [\"12\", \"16\", \"20\", \"24\", \"28\", \"32\", \"48\"].includes(numericSize)) {\n finalSize = numericSize;\n }\n else {\n console.warn(`Invalid size \"${this.size}\" for SVG icon \"${this.name}\". Falling back to the default size token.`);\n }\n }\n if (!finalSize) {\n const cssSize = getComputedStyle(this)\n .getPropertyValue(\"--icon-width\")\n .trim();\n const cssNumeric = (_b = cssSize.match(/\\d+(?:\\.\\d+)?/)) === null || _b === void 0 ? void 0 : _b[0];\n if (cssNumeric) {\n finalSize = cssNumeric;\n }\n }\n if (finalSize) {\n svgElement.setAttribute(\"width\", finalSize);\n svgElement.setAttribute(\"height\", finalSize);\n }\n if (this.ariaLabel) {\n svgElement.setAttribute(\"aria-label\", this.ariaLabel);\n }\n else {\n svgElement.removeAttribute(\"aria-label\");\n }\n svgElement.setAttribute(\"aria-hidden\", this.ariaHidden);\n svgElement.setAttribute(\"focusable\", this.focusable || \"false\");\n if (this.role && this.role.trim() !== \"\") {\n svgElement.setAttribute(\"role\", this.role);\n }\n else {\n svgElement.removeAttribute(\"role\");\n }\n }\n}\n__decorate([\n attr\n], SvgIcon.prototype, \"name\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"size\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"path\", void 0);\n__decorate([\n attr({ attribute: \"aria-hidden\" })\n], SvgIcon.prototype, \"ariaHidden\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"focusable\", void 0);\n//# sourceMappingURL=svg-icon.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host,\n :host svg {\n height: var(--icon-height, ${sizeHorizontalXL});\n width: var(--icon-width, ${sizeHorizontalXL});\n }\n\n :host svg:not([role=\"img\"]) {\n fill: currentcolor;\n }\n`;\n//# sourceMappingURL=svg-icon.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { SvgIcon } from \"./svg-icon.js\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#SvgIcon} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure for the `SvgIcon` component.\n *\n * @returns {ElementViewTemplate<SvgIcon>} The template for the `SvgIcon` component.\n */\nexport const template = html `\n <template></template>\n`;\n//# sourceMappingURL=svg-icon.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { SvgIcon } from \"./svg-icon.js\";\nimport { styles } from \"./svg-icon.styles.js\";\nimport { template } from \"./svg-icon.template.js\";\n/**\n * Compose the SvgIcon component definition.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-svg-icon>\n */\nexport const definition = SvgIcon.compose({\n name: `${DesignSystem.prefix}-svg-icon`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\ndefinition.define(DesignSystem.registry);\n//# sourceMappingURL=svg-icon.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * TableCell\n * @summary TableCell defines a customizable table cell element within a table structure.\n *\n * @example\n * ```html\n * <fabric-table-cell size=\"medium\">\n * <div slot=\"before\">Before content</div>\n * Main content\n * <div slot=\"after\">After content</div>\n * </fabric-table-cell>\n * ```\n *\n * @attr {TableCellSize} size - The size of the table cell. Possible values are 'small', 'medium', 'large'.\n *\n * @prop {TableCellSize} size - The size of the table cell. Possible values are 'small', 'medium', 'large'.\n *\n * @slot before - Slot for content to be inserted before the main content.\n * @slot default - The default slot for the main content of the table cell.\n * @slot after - Slot for content to be inserted after the main content.\n *\n * @csspart table-cell - The main wrapper part of the table cell.\n * @csspart cell-content - The content part of the table cell, acting as a container for slotted elements.\n *\n * @method connectedCallback - Called when the element is connected to the DOM.\n * @method disconnectedCallback - Called when the element is disconnected from the DOM.\n *\n * @extends FASTElement\n * @tagname fabric-table-cell\n * @public\n */\nexport class TableCell extends FASTElement {\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n }\n /**\n * Called when the element is disconnected to the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n}\n//# sourceMappingURL=table-cell.js.map","/**\n * @public\n * The size variations for the TableCell component.\n */\nexport const TableCellSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n//# sourceMappingURL=table-cell.options.js.map","import { display, spacingHorizontalS } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"table-cell\")}\n\n :host {\n vertical-align: inherit;\n unicode-bidi: isolate;\n }\n\n .cell-content {\n display: flex;\n align-items: center;\n }\n\n ::slotted([slot=\"before\"]) {\n margin-inline-end: ${spacingHorizontalS};\n }\n`;\n//# sourceMappingURL=table-cell.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(TableCell:class)} component.\n * @public\n */\nexport function tableCellTemplate() {\n return html `\n <template class=\"table-cell\" part=\"table-cell\">\n <div part=\"cell-content\" class=\"cell-content\" role=\"cell\">\n <slot name=\"before\"></slot>\n <slot></slot>\n <slot name=\"after\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = tableCellTemplate();\n//# sourceMappingURL=table-cell.template.js.map","import { TableCell } from \"./table-cell\";\nimport { styles } from \"./table-cell.styles\";\nimport { template } from \"./table-cell.template\";\nimport { DesignSystem } from \"../design-system\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-table-cell>\n */\nexport const definition = TableCell.compose({\n name: `${DesignSystem.prefix}-table-cell`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=table-cell.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { TableCellDefinition } from \"../table-cell/index.js\";\nconst DOWN_ARROW = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10.0025 15.2902L12.6468 12.6458C12.8421 12.4506 13.1587 12.4506 13.3539 12.6458C13.5492 12.8411 13.5492 13.1577 13.3539 13.3529L9.8856 16.8213C9.79388 16.9305 9.65628 17 9.50245 17L9.50079 17C9.4221 17 9.34341 16.9816 9.27177 16.9447C9.22664 16.9215 9.1843 16.891 9.1465 16.8533L9.13652 16.843L5.64645 13.3529C5.45118 13.1577 5.45118 12.8411 5.64645 12.6458C5.84171 12.4505 6.15829 12.4505 6.35355 12.6458L9.00245 15.2947L9.00245 3.5C9.00245 3.22386 9.22631 3 9.50245 3C9.77859 3 10.0025 3.22386 10.0025 3.5L10.0025 15.2902Z\" fill=\"#242424\"/>\n</svg>\n`;\nconst UP_ARROW = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.99792 4.70981L6.35355 7.35418C6.15829 7.54944 5.84171 7.54944 5.64645 7.35418C5.45118 7.15891 5.45118 6.84233 5.64645 6.64707L9.11477 3.17874C9.20649 3.06947 9.3441 3 9.49792 3L9.49959 3C9.57828 2.99998 9.65697 3.01841 9.72861 3.05531C9.77374 3.07847 9.81608 3.10895 9.85387 3.14675L9.86386 3.15701L13.3539 6.64709C13.5492 6.84235 13.5492 7.15893 13.3539 7.3542C13.1587 7.54946 12.8421 7.54946 12.6468 7.3542L9.99792 4.7053V16.5C9.99792 16.7761 9.77407 17 9.49792 17C9.22178 17 8.99792 16.7761 8.99792 16.5V4.70981Z\" fill=\"#242424\"/>\n</svg>\n`;\n/**\n * Table\n * @summary A highly accessible, customizable table component supporting sorting, custom cell rendering, and live region announcements for screen readers.\n *\n * @example\n * ```html\n * <fabric-table sortable=\"true\">\n * <thead part=\"head\">\n * <tr>\n * <th part=\"cell\">Column 1</th>\n * <th part=\"cell\">Column 2</th>\n * </tr>\n * </thead>\n * <tbody part=\"body\">\n * <tr part=\"row\">\n * <td part=\"cell\">Row 1, Cell 1</td>\n * <td part=\"cell\">Row 1, Cell 2</td>\n * </tr>\n * <tr part=\"row\">\n * <td part=\"cell\">Row 2, Cell 1</td>\n * <td part=\"cell\">Row 2, Cell 2</td>\n * </tr>\n * </tbody>\n * </fabric-table>\n * ```\n *\n * @attr {boolean} sortable - Whether the table columns are sortable\n * @attr {SortDirection} sort-direction - The current sort direction (\"ascending\" | \"descending\")\n *\n * @prop {HTMLTableSectionElement | null} tableHeadRef - Reference to the table head element.\n * @prop {HTMLTableSectionElement | null} tableBodyRef - Reference to the table body element.\n * @prop {TableRowData[]} rows - The data for the rows of the table.\n * @prop {TableColumnData[]} columns - The data for the columns of the table.\n * @prop {boolean} tableRendered - Flag indicating if the table has been rendered.\n * @prop {SortDirection} sortDirection - The current sort direction of the table.\n * @prop {string} activeColumnKey - The key of the currently active (sorted) column.\n *\n * @slot - Default slot for table content (not directly used, but for consistency)\n *\n * @csspart head - The table head section\n * @csspart body - The table body section\n * @csspart cell - The table cell\n * @csspart row - The table row\n *\n * @method renderTable - Renders the complete table by rendering both head and rows.\n * @method sortByColumn - Handles column sorting when a column header is clicked.\n * @method toggleSortDirection - Toggles the sort direction between ascending and descending.\n * @method sortRows - Sorts the table rows based on the active column and sort direction.\n *\n * @fires {CustomEvent<{direction: SortDirection, columnKey: string}>} sortChanged - Fired when the sort direction or column changes\n * @fires {CustomEvent<Table>} tableRendered - Fired when the table rendering is complete\n *\n * @extends FASTElement\n * @tagname fabric-table\n * @public\n */\nexport class Table extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Reference to the table head element.\n * @type {HTMLTableSectionElement | null}\n * @observable\n */\n this.tableHeadRef = null;\n /**\n * Reference to the table body element.\n * @type {HTMLTableSectionElement | null}\n * @observable\n */\n this.tableBodyRef = null;\n /**\n * The data for the rows of the table.\n * @type {TableRowData[]}\n * @observable\n */\n this.rows = [];\n /**\n * The data for the columns of the table.\n * @type {TableColumnData[]}\n * @observable\n */\n this.columns = [];\n /**\n * Flag indicating if the table has been rendered.\n * @type {boolean}\n * @observable\n */\n this.tableRendered = false;\n /**\n * The current sort direction of the table.\n * @type {SortDirection}\n * @observable\n */\n this.sortDirection = \"ascending\";\n /**\n * The key of the currently active (sorted) column.\n * @type {string}\n */\n this.activeColumnKey = \"\";\n // Add new property for live region\n this.sortAnnouncer = null;\n }\n /**\n * Handler for changes to the sortable attribute.\n * @private\n */\n sortableChanged() {\n if (this.sortable) {\n this.renderTableHead();\n }\n }\n /**\n * Handler for changes to the rows property.\n * @private\n */\n rowsChanged() {\n if (this.rows && this.rows.length > 0) {\n this.renderTableRows();\n }\n }\n /**\n * Handler for changes to the columns property.\n * @private\n */\n columnsChanged() {\n if (this.columns && this.columns.length > 0) {\n this.renderTableHead();\n }\n }\n /**\n * Renders the complete table by rendering both head and rows.\n * @public\n */\n renderTable() {\n this.renderTableHead();\n this.renderTableRows();\n }\n /**\n * Handler for changes to the tableRendered property.\n * Emits a tableRendered event when rendering is complete.\n * @private\n */\n tableRenderedChanged() {\n if (this.tableRendered) {\n this.$emit(\"tableRendered\", this);\n }\n this.tableRendered = false;\n }\n /**\n * Toggles the sort direction between ascending and descending.\n * @public\n */\n toggleSortDirection() {\n this.sortDirection =\n this.sortDirection === \"ascending\" ? \"descending\" : \"ascending\";\n }\n /**\n * Sorts the table rows based on the active column and sort direction.\n * @param {SortDirection} [direction] - The direction to sort (\"ascending\" | \"descending\" | undefined). If undefined, uses the current sortDirection.\n * @public\n */\n sortRows(direction) {\n this.rows.sort((a, b) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n if (\"descending\" === direction) {\n return ((_c = (_b = (_a = a[this.activeColumnKey]) === null || _a === void 0 ? void 0 : _a.label) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : \"\") <\n ((_f = (_e = (_d = b[this.activeColumnKey]) === null || _d === void 0 ? void 0 : _d.label) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : \"\")\n ? 1\n : -1;\n }\n else {\n return ((_j = (_h = (_g = a[this.activeColumnKey]) === null || _g === void 0 ? void 0 : _g.label) === null || _h === void 0 ? void 0 : _h[0]) !== null && _j !== void 0 ? _j : \"\") >\n ((_m = (_l = (_k = b[this.activeColumnKey]) === null || _k === void 0 ? void 0 : _k.label) === null || _l === void 0 ? void 0 : _l[0]) !== null && _m !== void 0 ? _m : \"\")\n ? 1\n : -1;\n }\n });\n }\n /**\n * Creates and initializes the live region for sort announcements.\n * @private\n */\n initializeSortAnnouncer() {\n const container = document.createElement(\"div\");\n container.style.cssText = `\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n `;\n this.sortAnnouncer = document.createElement(\"div\");\n this.sortAnnouncer.setAttribute(\"aria-live\", \"assertive\");\n this.sortAnnouncer.setAttribute(\"aria-atomic\", \"true\");\n this.sortAnnouncer.setAttribute(\"role\", \"status\");\n this.sortAnnouncer.setAttribute(\"class\", \"visually-hidden\");\n container.appendChild(this.sortAnnouncer);\n if (this.shadowRoot) {\n this.shadowRoot.insertBefore(container, this.shadowRoot.firstChild);\n }\n else {\n this.insertBefore(container, this.firstChild);\n }\n }\n /**\n * Announces the current sort state to screen readers.\n * @param {string} columnLabel - The label of the sorted column.\n * @param {SortDirection} direction - The sort direction.\n * @private\n */\n announceSortChange(columnLabel, direction) {\n if (this.sortAnnouncer) {\n this.sortAnnouncer.textContent = \"\";\n void this.sortAnnouncer.offsetWidth;\n setTimeout(() => {\n if (this.sortAnnouncer) {\n const message = `Table sorted by ${columnLabel} in ${direction} order`;\n this.sortAnnouncer.textContent = message;\n }\n }, 50);\n }\n }\n /**\n * Handles column sorting when a column header is clicked.\n * @param {Event} event - The click event.\n * @param {string} columnKey - The key of the column to sort by.\n * @public\n */\n sortByColumn(_event, columnKey) {\n this.activeColumnKey = columnKey;\n const column = this.columns.find((col) => col.columnKey === columnKey);\n if (column) {\n this.announceSortChange(column.label, this.sortDirection);\n }\n this.sortRows(this.sortDirection);\n // re-render the table\n this.renderTableHead();\n this.renderTableRows();\n this.$emit(\"sortChanged\", { direction: this.sortDirection, columnKey });\n }\n /**\n * Creates an SVG icon element from an SVG string.\n * @param {typeof UP_ARROW | typeof DOWN_ARROW} icon - The SVG string to convert.\n * @returns {HTMLElement} The created SVG element.\n * @private\n */\n createSVGIcon(icon) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(icon, \"image/svg+xml\");\n return svgDoc.documentElement;\n }\n /**\n * Renders a sortable column header with appropriate attributes and event handlers.\n * @param {TableColumnData} column - The column data.\n * @param {HTMLDivElement} div - The div element within the header cell.\n * @param {HTMLTableCellElement} th - The table header cell element.\n * @private\n */\n renderSortableColumn(column, th) {\n th.setAttribute(\"role\", \"columnheader\");\n th.setAttribute(\"aria-sort\", this.activeColumnKey === column.columnKey ? this.sortDirection : \"none\");\n if (this.sortable) {\n // Always render a button for sortable columns\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = \"table-sort-button\";\n button.textContent = column.label;\n // Add sort icon if this is the active column\n if (this.activeColumnKey === column.columnKey) {\n const arrowIcon = this.sortDirection === \"ascending\" ? UP_ARROW : DOWN_ARROW;\n const svg = this.createSVGIcon(arrowIcon);\n button.appendChild(svg);\n }\n // Add event listeners\n button.addEventListener(\"click\", (event) => {\n // Set the active column to the one clicked\n if (this.activeColumnKey !== column.columnKey) {\n this.sortDirection = \"ascending\"; // or your default\n }\n else {\n this.toggleSortDirection();\n }\n this.sortByColumn(event, column.columnKey);\n });\n // Replace any existing content and append the button\n th.innerHTML = \"\";\n th.appendChild(button);\n }\n else {\n th.textContent = column.label;\n }\n }\n /**\n * Adds focus, blur, click and keyboard event handlers to a header cell.\n * @param {HTMLTableCellElement} th - The table header cell element.\n * @param {TableColumnData} column - The column data.\n * @private\n */\n addHeaderCellEventHandlers(th, column) {\n th.addEventListener(\"focus\", () => {\n th.setAttribute(\"data-table-cell-focus\", \"true\");\n });\n // add blur event to div\n th.addEventListener(\"blur\", () => {\n th.setAttribute(\"data-table-cell-focus\", \"false\");\n });\n // add click event to div\n th.addEventListener(\"click\", (event) => {\n this.toggleSortDirection();\n this.sortByColumn(event, column.columnKey);\n });\n th.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n this.toggleSortDirection();\n this.sortByColumn(event, column.columnKey);\n }\n });\n }\n /**\n * Renders the table header section with column headers.\n * @private\n */\n renderTableHead() {\n if (this.tableHeadRef && this.columns) {\n const fragment = document.createDocumentFragment();\n this.columns.forEach((column) => {\n const th = document.createElement(\"th\");\n this.renderSortableColumn(column, th);\n fragment.appendChild(th);\n });\n this.tableHeadRef.innerHTML = \"\";\n this.tableHeadRef.appendChild(fragment);\n }\n }\n /**\n * Appends content to a destination element.\n * @param {object} args - The arguments for appending content.\n * @param {HTMLElement} args.dest - The destination element.\n * @param {HTMLElement | string | SVGElement} args.content - The content to append.\n * @returns {Promise<void>}\n * @private\n */\n async appendContent(args) {\n if (typeof args.content === \"string\") {\n args.dest.innerHTML += args.content;\n }\n else if (args.content instanceof HTMLElement ||\n args.content instanceof SVGElement) {\n args.dest.appendChild(args.content);\n }\n }\n /**\n * Renders custom content for a table cell using render functions.\n * @param {object} args - The arguments for rendering custom content.\n * @param {TableColumnData} args.column - The column data.\n * @param {HTMLElement} args.cell - The table cell element.\n * @param {any} args.row - The row data.\n * @returns {Promise<void>}\n * @private\n */\n async renderCustomContent(args) {\n var _a, _b;\n if (args.column.render && args.column.render.length > 0) {\n for (const [index, renderFunction] of args.column.render.entries()) {\n const content = await renderFunction((_b = (_a = args.row[args.column.columnKey]) === null || _a === void 0 ? void 0 : _a.renderData) === null || _b === void 0 ? void 0 : _b[index]);\n await this.appendContent({\n content,\n dest: args.cell\n });\n }\n }\n }\n /**\n * Renders the default text content for a table cell.\n * @param {object} args - The arguments for rendering text content.\n * @param {TableColumnData} args.column - The column data.\n * @param {HTMLElement} args.cell - The table cell element.\n * @param {any} args.row - The row data.\n * @returns {Promise<void>}\n * @private\n */\n async renderTextContent(args) {\n const defaultSlot = document.createElement(\"span\");\n defaultSlot.textContent = args.row[args.column.columnKey].label;\n await this.appendContent({\n dest: args.cell,\n content: defaultSlot\n });\n }\n /**\n * Renders a single table row cell.\n * @param {object} args - The arguments for rendering a row.\n * @param {TableColumnData} args.column - The column data.\n * @param {any} args.row - The row data.\n * @param {HTMLElement} args.dest - The destination element (table row).\n * @returns {Promise<void>}\n * @private\n */\n async renderRow(args) {\n const cell = document.createElement(\"fabric-table-cell\");\n await this.renderCustomContent({\n column: args.column,\n cell,\n row: args.row\n });\n await this.renderTextContent({\n column: args.column,\n cell,\n row: args.row\n });\n args.dest.appendChild(cell);\n }\n /**\n * Renders all rows in the table body.\n * @returns {Promise<void>}\n * @private\n */\n async renderTableRows() {\n var _a;\n if (this.tableBodyRef && this.rows) {\n const fragment = document.createDocumentFragment();\n for (const row of this.rows) {\n const tr = document.createElement(\"tr\");\n tr.setAttribute(\"role\", \"row\");\n for (const column of this.columns) {\n await this.renderRow({ column, row, dest: tr });\n }\n fragment.appendChild(tr);\n }\n // delete the old table body\n this.tableBodyRef.innerHTML = \"\";\n (_a = this.tableBodyRef) === null || _a === void 0 ? void 0 : _a.appendChild(fragment);\n }\n }\n /**\n * Lifecycle method called when the element is connected to the DOM.\n * Defines the TableCell custom element and initializes the sort announcer.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n // Initialize the sort announcer\n this.initializeSortAnnouncer();\n TableCellDefinition.define(customElements);\n }\n /**\n * Lifecycle method called when the element is disconnected from the DOM.\n * Cleans up the sort announcer.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clean up the sort announcer\n if (this.sortAnnouncer) {\n this.sortAnnouncer.remove();\n this.sortAnnouncer = null;\n }\n }\n}\n__decorate([\n observable\n], Table.prototype, \"tableHeadRef\", void 0);\n__decorate([\n observable\n], Table.prototype, \"tableBodyRef\", void 0);\n__decorate([\n observable\n], Table.prototype, \"rows\", void 0);\n__decorate([\n observable\n], Table.prototype, \"columns\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Table.prototype, \"sortable\", void 0);\n__decorate([\n observable\n], Table.prototype, \"tableRendered\", void 0);\n__decorate([\n attr({ attribute: \"sort-direction\" })\n], Table.prototype, \"sortDirection\", void 0);\n__decorate([\n observable\n], Table.prototype, \"activeColumnKey\", void 0);\n//# sourceMappingURL=table.js.map","/**\n\n\n/**\n * Expand mode for {@link AccordionMenu}\n * @public\n */\nexport const SortDirections = {\n ascending: \"ascending\",\n descending: \"descending\"\n};\nexport {};\n//# sourceMappingURL=table.options.js.map","import { colorNeutralBackground1Hover, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralStroke2, colorSubtleBackgroundHover, display, fontSizeBase300, fontWeightRegular, lineHeightBase300, spacingHorizontalS, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"table\")}\n\n table {\n border-collapse: collapse;\n min-width: 510px; /* @design-token-ok */\n table-layout: fixed;\n display: table;\n width: 100%;\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .table-sort-button {\n all: unset;\n align-items: center;\n cursor: pointer;\n font: inherit;\n color: inherit;\n outline-style: none;\n min-height: ${sizeVerticalXXXL};\n box-sizing: content-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${colorNeutralForeground1};\n font-weight: ${fontWeightRegular};\n text-align: start;\n }\n\n tr {\n display: table-row;\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n border-bottom: ${strokeWidthThin} solid ${colorNeutralStroke2};\n }\n\n tbody tr:hover {\n color: ${colorNeutralForeground1Hover};\n background-color: ${colorSubtleBackgroundHover};\n }\n\n th {\n color: ${colorNeutralForeground1};\n text-align: start;\n font-weight: ${fontWeightRegular};\n vertical-align: middle;\n padding: 0px ${spacingHorizontalS};\n border-collapse: collapse;\n }\n\n th div {\n outline-style: none;\n min-height: 32px; /* @design-token-ok */\n box-sizing: content-box;\n display: flex;\n align-items: center;\n }\n\n th[data-table-cell-focus=\"true\"] {\n outline: -webkit-focus-ring-color auto 1px;\n }\n\n :host([sortable]) th:hover {\n cursor: pointer;\n background-color: ${colorNeutralBackground1Hover};\n }\n\n td,\n fabric-table-cell {\n height: 44px; /* @design-token-ok */\n padding: 0px ${spacingHorizontalS};\n vertical-align: middle;\n color: ${colorNeutralForeground1};\n }\n\n .visually-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important; /* @design-token-ok */\n border: 0 !important;\n }\n`;\n//# sourceMappingURL=table.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\nimport { Table } from \"./table\";\nfunction tableTemplateFunction() {\n return html `\n <slot name=\"start\"></slot>\n <table\n part=\"table\"\n role=\"table\"\n aria-label=\"${(x) => (x.sortable ? \"table with sort\" : \"table\")}\"\n ?sortable=\"${(x) => x.sortable}\"\n >\n <thead role=\"rowgroup\">\n <tr ${ref(\"tableHeadRef\")} role=\"row\">\n <slot name=\"table-head-row\"></slot>\n </tr>\n </thead>\n <tbody ${ref(\"tableBodyRef\")} role=\"rowgroup\">\n <slot name=\"table-body\"></slot>\n </tbody>\n </table>\n <slot name=\"end\"></slot>\n `;\n}\nexport const template = tableTemplateFunction();\n//# sourceMappingURL=table.template.js.map","import { DesignSystem } from \"../design-system\";\nimport { Table } from \"./table\";\nimport { styles } from \"./table.styles\";\nimport { template } from \"./table.template\";\nexport const definition = Table.compose({\n name: `${DesignSystem.prefix}-table`,\n template: template,\n styles: styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=table.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * Simple Table\n * @summary A thin shell around native `<table>` that standardizes Fluent styling, RTL/high-contrast, and accessibility—without taking control of data, templates, or rendering.\n *\n * @example\n * ```html\n * <fabric-simple-table>\n * <table>\n * <caption>Account Overview</caption>\n * <thead>\n * <tr>\n * <th scope=\"col\">Account</th>\n * <th scope=\"col\">Owner</th>\n * <th scope=\"col\">Status</th>\n * </tr>\n * </thead>\n * <tbody>\n * <tr>\n * <td>Contoso</td>\n * <td>A. Lee</td>\n * <td><span class=\"badge badge--warning\">Pending</span></td>\n * </tr>\n * </tbody>\n * </table>\n * </fabric-simple-table>\n * ```\n *\n * @extends FASTElement\n * @tagname fabric-simple-table\n * @public\n */\nexport class SimpleTable extends FASTElement {\n /**\n * Lifecycle method called when the element is connected to the DOM.\n * Applies the microsoft-fabric-ux-fabric-simple-table class to child table elements.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.applyTableClass();\n }\n /**\n * Applies the styling class to child table elements.\n * @public\n */\n applyTableClass() {\n // Use :scope > table to only select direct child table elements\n const tableElement = this.querySelector(\":scope > table\");\n if (!tableElement) {\n console.warn(\"fabric-simple-table: No direct child <table> element found. This component requires a <table> as a direct child.\");\n return;\n }\n tableElement.classList.add(\"microsoft-fabric-ux-fabric-simple-table\");\n }\n}\n//# sourceMappingURL=simple-table.js.map","import { colorNeutralForeground1, colorNeutralStroke2, fontFamilyBase, fontSizeBase300, lineHeightBase300, spacingVerticalM, spacingHorizontalS, strokeWidthThin, fontWeightSemibold } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\nexport const styles = css `\n fabric-simple-table {\n display: block;\n font-family: ${fontFamilyBase};\n }\n\n .microsoft-fabric-ux-fabric-simple-table {\n border-collapse: collapse;\n width: 100%;\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .microsoft-fabric-ux-fabric-simple-table tr {\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n }\n\n .microsoft-fabric-ux-fabric-simple-table tbody tr {\n border-block-end: ${strokeWidthThin} solid ${colorNeutralStroke2};\n }\n\n .microsoft-fabric-ux-fabric-simple-table th {\n color: ${colorNeutralForeground1};\n text-align: start;\n font-weight: ${fontWeightSemibold};\n vertical-align: middle;\n padding-block: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalS};\n }\n\n .microsoft-fabric-ux-fabric-simple-table td {\n padding-block: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalS};\n vertical-align: middle;\n color: ${colorNeutralForeground1};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n .microsoft-fabric-ux-fabric-simple-table {\n color: CanvasText;\n background-color: Canvas;\n }\n\n .microsoft-fabric-ux-fabric-simple-table tr {\n border-color: CanvasText;\n }\n\n .microsoft-fabric-ux-fabric-simple-table th {\n color: CanvasText;\n border-color: CanvasText;\n }\n\n .microsoft-fabric-ux-fabric-simple-table td {\n color: CanvasText;\n }\n `));\n//# sourceMappingURL=simple-table.styles.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { SimpleTable } from \"./simple-table.js\";\nimport { styles as SimpleTableStyles } from \"./simple-table.styles.js\";\n/**\n * The Fabric Simple Table component definition.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-simple-table>\n */\nexport const definition = SimpleTable.compose({\n name: `${DesignSystem.prefix}-simple-table`,\n styles: SimpleTableStyles,\n // Light DOM (no shadow root) is required because HTML table semantics don't accept\n // <slot> as a valid child element. The DOM children of <table> must be thead, tbody,\n // tfoot, etc. - not slots. This preserves native table accessibility and framework\n // compatibility while allowing us to apply Fluent and Fabric styling via CSS classes.\n shadowOptions: null\n});\n//# sourceMappingURL=simple-table.definition.js.map","/** Size values for {@link Tag}. */\nexport const TagSizes = {\n extraSmall: \"extraSmall\",\n small: \"small\",\n medium: \"medium\"\n};\n/** Primary text size values for {@link Tag}. */\nexport const TagTextSizes = {\n caption1: \"caption1\",\n body1: \"body1\"\n};\n/** Shape values for {@link Tag}. */\nexport const TagShapes = {\n rounded: \"rounded\",\n circular: \"circular\"\n};\n/** Appearance values for {@link Tag}. */\nexport const TagAppearances = {\n filled: \"filled\",\n outline: \"outline\",\n brand: \"brand\"\n};\n/** Event names for Tag. */\nexport const TagEventNames = {\n dismiss: \"dismiss\"\n};\n//# sourceMappingURL=tag.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ButtonDefinition } from \"@fluentui/web-components\";\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { TagEventNames } from \"./tag.options.js\";\n/**\n * Tag\n * @summary A Tag component that displays one or two lines of text, is dismissable via a dismiss button, and can contain a preceding picture or icon before the text.\n *\n * @example\n * ```html\n * <fabric-tag\n * dismiss-button=\"true\"\n * size=\"medium\"\n * shape=\"rounded\"\n * appearance=\"filled\"\n * >\n * <img slot=\"image\" src=\"path-to-image.png\" alt=\"Tag image\" />\n * <span slot=\"leadingIcon\">Icon</span>\n * <span slot=\"text\">Primary Text</span>\n * <span slot=\"textSecondary\">Secondary Text</span>\n * <span slot=\"dismissIcon\">Dismiss</span>\n * </fabric-tag>\n * ```\n *\n * @attr {boolean} dismiss-button - Whether the tag has a dismiss button.\n * @attr {TagSize} size - The size of the tag.\n * @attr {TagShape} shape - The shape of the tag.\n * @attr {TagAppearance} appearance - The appearance of the tag.\n * @attr {boolean} disabled - Controls whether the tag is disabled.\n *\n * @prop {string} textPrimaryContent - The content of the text primary slot.\n * @prop {HTMLElement[]} textPrimarySlotted - The primary text of the tag that has been slotted.\n * @prop {HTMLElement[]} textSecondarySlotted - The secondary text of the tag.\n * @prop {TagTextSize} textSizePrimary - The text size of the tag.\n * @prop {HTMLElement[]} leadingIconSlotted - The leading icon of the tag.\n *\n * @slot image - The image of the tag.\n * @slot leadingIcon - The leading icon of the tag.\n * @slot text - The text of the tag.\n * @slot textSecondary - The secondary text of the tag.\n * @slot dismissIcon - The dismiss icon of the tag.\n * @slot - The default slot for additional tag content.\n *\n * @csspart container - The container of the tag.\n * @csspart content - The content of the tag.\n * @csspart dismissButton - The dismiss button of the tag.\n * @csspart image - Part wrapping the image slot for sizing and layout.\n * @csspart textContent - Part wrapping the text slots for layout and truncation.\n *\n * @method sizeChanged - Called when the size property changes.\n * @method textPrimarySlottedChanged - Called when the textPrimarySlotted property changes.\n * @method textSecondarySlottedChanged - Called when the textSecondarySlotted property changes.\n * @method handleTextSize - Handles the text size of the tag, which changes depending on the size of the tag.\n * @method compensateSVGSize - Sets the size of the SVG icon to match the size of the tag.\n * @method leadingIconSlottedChanged - Called when the leadingIconSlotted property changes.\n * @method emitDismissEvent - Emits the dismiss event for the tag.\n *\n * @fires dismiss - Emits when the tag is dismissed.\n *\n * @extends FASTElement\n * @tagname fabric-tag\n * @public\n */\nexport class Tag extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * dismissButton\n *\n * Controls whether the dismiss button is shown\n * @public\n * @type {boolean}\n * @defaultValue false\n * @attr dismiss-button\n */\n this.dismissButton = false;\n /**\n * disabled\n *\n * Controls whether the tag is disabled\n * @public\n * @type {boolean}\n */\n this.disabled = false;\n /**\n * size\n *\n * The size of the tag\n * @public\n * @type {TagSize}\n * @defaultValue \"medium\"\n */\n this.size = \"medium\";\n /**\n * shape\n *\n * The shape of the tag container\n * @public\n * @type {TagShape}\n * @defaultValue \"rounded\"\n */\n this.shape = \"rounded\";\n /**\n * appearance\n *\n * The appearance style of the tag\n * @public\n * @type {TagAppearance}\n * @defaultValue \"filled\"\n */\n this.appearance = \"filled\";\n /**\n * textPrimarySlotted\n *\n * The primary text of the tag that has been slotted\n * @public\n * @type {HTMLElement[]}\n * @defaultValue []\n */\n this.textPrimarySlotted = [];\n /**\n * The secondary text of the tag\n * @type {HTMLElement[]}\n * @defaultValue []\n * @public\n */\n this.textSecondarySlotted = [];\n /**\n * textSizePrimary\n *\n * The text size of the tag\n * @type {TagTextSize}\n * @defaultValue \"body1\"\n * @public\n */\n this.textSizePrimary = \"body1\";\n /**\n * The leading icon of the tag\n * @type {HTMLElement[]}\n * @defaultValue []\n * @public\n */\n this.leadingIconSlotted = [];\n }\n /**\n * attachEventListeners\n *\n * Reattaches dismiss button listeners when the reference changes.\n * @public\n */\n dismissButtonRefChanged() {\n this.attachEventListeners();\n }\n sizeChanged() {\n this.handleTextSize();\n }\n /**\n * @summary This method is called when the textPrimarySlotted property changes.\n * @public\n */\n textPrimarySlottedChanged() {\n var _a;\n if (this.textPrimarySlotted.length > 0) {\n this.textPrimaryContent = `Dismiss button for ${((_a = this.textPrimarySlotted[0]) === null || _a === void 0 ? void 0 : _a.textContent) || \"untitled\"} tag`;\n }\n }\n /**\n * textSecondarySlottedChanged\n *\n * Updates derived text size when secondary text slot content changes.\n * @public\n */\n textSecondarySlottedChanged() {\n this.handleTextSize();\n }\n /**\n * handleTextSize\n * handles the text size of the tag, which changes depending on the size of the tag\n * @public\n */\n handleTextSize() {\n var _a;\n switch (this.size) {\n case \"extraSmall\":\n case \"small\":\n this.textSizePrimary = \"caption1\";\n break;\n default:\n if (((_a = this.textSecondarySlotted) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n this.textSizePrimary = \"caption1\";\n }\n else {\n this.textSizePrimary = \"body1\";\n }\n break;\n }\n }\n /**\n * Sets the size of the SVG icon to match the size of the tag. This is necessary because otherwise the developer has to set the size of the SVG icon manually.\n * @public\n */\n compensateSVGSize() {\n var _a;\n let sizeWidth, sizeHeight;\n if (this.size === \"small\") {\n sizeWidth = 16;\n sizeHeight = 16;\n }\n else if (this.size === \"extraSmall\") {\n sizeWidth = 12;\n sizeHeight = 12;\n }\n else {\n sizeWidth = 20;\n sizeHeight = 20;\n }\n const svg = (_a = this.leadingIconSlotted[0]) === null || _a === void 0 ? void 0 : _a.querySelector(\"svg\");\n svg === null || svg === void 0 ? void 0 : svg.setAttribute(\"height\", sizeHeight.toString());\n svg === null || svg === void 0 ? void 0 : svg.setAttribute(\"width\", sizeWidth.toString());\n }\n /**\n * leadingIconSlottedChanged\n *\n * Applies state for leading icon presence and updates icon sizing.\n * @public\n */\n leadingIconSlottedChanged() {\n if (this.leadingIconSlotted.length > 0) {\n this.classList.add(\"hasLeadingIcon\");\n this.compensateSVGSize();\n }\n else {\n this.classList.remove(\"hasLeadingIcon\");\n }\n }\n /**\n * emitDismissEvent\n *\n * @public\n *\n * emits the dismiss event for the tag\n */\n emitDismissEvent() {\n this.emitDismiss();\n }\n /**\n * attachEventListeners\n *\n * Ensures the dismiss button listener is attached and kept in sync.\n * @private\n */\n attachEventListeners() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = new AbortController();\n const { signal } = this.events;\n if (this.dismissButtonRef) {\n this.dismissButtonRef.addEventListener(\"click\", this.emitDismissEvent.bind(this), { signal });\n }\n }\n /**\n * emitDismiss\n *\n * Emits the dismiss event.\n * @private\n */\n emitDismiss() {\n this.dispatchEvent(new CustomEvent(TagEventNames.dismiss, {\n bubbles: true,\n composed: true\n }));\n }\n /**\n * connectedCallback\n * connectedCallback for the tag\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n if (!customElements.get(\"fluent-button\")) {\n ButtonDefinition.define(customElements);\n }\n this.attachEventListeners();\n }\n /**\n * disconnectedCallback\n *\n * Cleans up event listeners when the element disconnects.\n * @public\n */\n disconnectedCallback() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = undefined;\n super.disconnectedCallback();\n }\n}\n__decorate([\n observable\n], Tag.prototype, \"dismissButtonRef\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"dismiss-button\" })\n], Tag.prototype, \"dismissButton\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Tag.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"size\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"shape\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"appearance\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textPrimaryContent\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textPrimarySlotted\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textSecondarySlotted\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textSizePrimary\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"leadingIconSlotted\", void 0);\n//# sourceMappingURL=tag.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\nimport { borderRadiusCircular, borderRadiusMedium, colorBrandBackground2, colorBrandForeground1, colorNeutralBackground3, colorNeutralBackground1, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForegroundDisabled, colorNeutralStroke1, spacingHorizontalNone, spacingHorizontalXXS, spacingHorizontalXS, spacingHorizontalS, spacingHorizontalSNudge, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXS, strokeWidthThin, typographyCaption1Styles, typographyCaption2Styles, typographyBody1Styles } from \"@fluentui/web-components\";\nimport { sizeHorizontalL, sizeHorizontalM, sizeVerticalL, sizeVerticalM, sizeVerticalXL, sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"block\")}\n .caption1 {\n ${typographyCaption1Styles}\n }\n .caption2 {\n ${typographyCaption2Styles}\n }\n .body1 {\n ${typographyBody1Styles}\n }\n\n :host {\n height: ${sizeVerticalXXXL};\n width: fit-content;\n display: inline-flex;\n align-items: center;\n background-color: ${colorNeutralBackground3};\n color: ${colorNeutralForeground2};\n border-radius: ${borderRadiusMedium};\n border: none;\n }\n\n :host([size=\"extraSmall\"]) {\n height: ${sizeVerticalXL};\n }\n\n :host([size=\"small\"]) {\n height: ${sizeVerticalXXL};\n }\n\n :host([shape=\"circular\"]) {\n border-radius: ${borderRadiusCircular};\n }\n\n :host([appearance=\"outline\"]) {\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n background-color: unset;\n }\n\n :host([appearance=\"brand\"]) {\n background-color: ${colorBrandBackground2};\n color: ${colorBrandForeground1};\n }\n\n :host([appearance=\"brand\"]) fluent-button.dismissButton {\n color: ${colorBrandForeground1};\n }\n\n :host([disabled]) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) ::slotted(*) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n fluent-button.dismissButton {\n min-width: unset;\n padding: ${spacingHorizontalNone};\n min-height: unset;\n margin-inline-start: ${spacingHorizontalNone};\n margin-inline-end: ${spacingHorizontalSNudge};\n }\n\n :host([disabled]) fluent-button.dismissButton {\n color: ${colorNeutralForegroundDisabled};\n }\n :host([size=\"extraSmall\"]) fluent-button.dismissButton {\n width: ${sizeHorizontalM};\n }\n\n :host([size=\"extraSmall\"]) fluent-button.dismissButton svg {\n height: ${sizeVerticalM};\n }\n\n :host([size=\"small\"]) fluent-button.dismissButton {\n width: ${sizeHorizontalL};\n }\n\n :host([size=\"small\"]) fluent-button.dismissButton svg {\n height: ${sizeVerticalL};\n }\n\n .container {\n display: flex;\n align-items: center;\n }\n\n .content {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .textContent {\n display: flex;\n flex-direction: column;\n padding: 0 ${spacingHorizontalXXS};\n padding-bottom: ${spacingVerticalXXS};\n margin: ${spacingVerticalXXS} ${spacingHorizontalS};\n }\n\n :host(.hasLeadingIcon) .textContent {\n margin-inline-start: ${spacingHorizontalXS};\n }\n\n :host([dismissButton]) .textContent {\n margin-inline-end: ${spacingHorizontalXS};\n }\n\n ::slotted([slot=\"leadingIcon\"]) {\n margin-inline-end: ${spacingHorizontalNone};\n margin-inline-start: ${spacingHorizontalS};\n display: flex;\n align-items: center;\n }\n\n :host([size=\"small\"]) ::slotted([slot=\"leadingIcon\"]),\n :host([size=\"extraSmall\"]) ::slotted([slot=\"leadingIcon\"]) {\n margin-inline-start: ${spacingHorizontalSNudge};\n }\n\n ::slotted([slot=\"image\"]) {\n margin: ${spacingHorizontalXXS};\n margin-inline-end: ${spacingHorizontalNone};\n display: flex;\n align-items: center;\n height: calc(${spacingVerticalXXL} + ${spacingVerticalXS});\n }\n\n :host([size=\"small\"]) ::slotted([slot=\"image\"]) {\n height: ${sizeVerticalXL};\n }\n\n :host([size=\"extraSmall\"]) ::slotted([slot=\"image\"]) {\n height: ${sizeVerticalL};\n }\n\n :host([appearance=\"brand\"]) ::slotted([slot=\"image\"]) {\n background-color: ${colorBrandForeground1};\n color: ${colorNeutralBackground1};\n }\n\n :host([disabled][appearance=\"brand\"]) ::slotted([slot=\"image\"]) {\n background-color: ${colorNeutralForegroundDisabled};\n color: ${colorNeutralBackgroundDisabled};\n }\n`;\n//# sourceMappingURL=tag.styles.js.map","import { html, ref, slotted, when } from \"@microsoft/fast-element\";\nconst dismissSVG = html `\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.58859 4.21569L4.64645 4.14645C4.82001 3.97288 5.08944 3.9536 5.28431 4.08859L5.35355 4.14645L10.5 9.293L15.6464 4.14645C15.82 3.97288 16.0894 3.9536 16.2843 4.08859L16.3536 4.14645C16.5271 4.32001 16.5464 4.58944 16.4114 4.78431L16.3536 4.85355L11.207 10L16.3536 15.1464C16.5271 15.32 16.5464 15.5894 16.4114 15.7843L16.3536 15.8536C16.18 16.0271 15.9106 16.0464 15.7157 15.9114L15.6464 15.8536L10.5 10.707L5.35355 15.8536C5.17999 16.0271 4.91056 16.0464 4.71569 15.9114L4.64645 15.8536C4.47288 15.68 4.4536 15.4106 4.58859 15.2157L4.64645 15.1464L9.793 10L4.64645 4.85355C4.47288 4.67999 4.4536 4.41056 4.58859 4.21569L4.64645 4.14645L4.58859 4.21569Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Tag:class)} component.\n * @public\n */\nexport function tagTemplate() {\n return html `\n <template>\n <div\n class=\"container\"\n part=\"container\"\n aria-disabled=${(x) => x.disabled}\n >\n <slot name=\"image\" class=\"image\" part=\"image\"></slot>\n <div class=\"content\" part=\"content\">\n <slot name=\"leadingIcon\" ${slotted(\"leadingIconSlotted\")}></slot>\n <div class=\"textContent\" part=\"textContent\">\n <slot\n name=\"text\"\n class=\"textPrimary ${(x) => x.textSizePrimary}\"\n ${slotted(\"textPrimarySlotted\")}\n ></slot>\n <slot\n name=\"textSecondary\"\n class=\"textSecondary caption2\"\n ${slotted(\"textSecondarySlotted\")}\n ></slot>\n <slot></slot>\n </div>\n\n ${when((x) => x.dismissButton, html `\n <fluent-button\n class=\"dismissButton\"\n part=\"dismissButton\"\n ${ref(\"dismissButtonRef\")}\n appearance=\"subtle\"\n ?disabled=${(x) => x.disabled}\n aria-label=\"${(x) => x.textPrimaryContent}\"\n >\n <slot name=\"dismissIcon\">${dismissSVG}</slot>\n </fluent-button>\n `)}\n </div>\n </div>\n </template>\n `;\n}\nexport const template = tagTemplate();\n//# sourceMappingURL=tag.template.js.map","import { Tag } from \"./tag.js\";\nimport { styles } from \"./tag.styles.js\";\nimport { template } from \"./tag.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-tag>\n */\nexport const definition = Tag.compose({\n name: `${DesignSystem.prefix}-tag`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tag.definition.js.map","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n var _platform$detectOverf;\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: {\n ...platform,\n detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow\n },\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * The size variations for the teaching bubble component\n * @public\n */\nexport const TeachingBubbleSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * The placement variations for the teaching bubble component\n * @public\n */\nexport const TeachingBubblePlacements = {\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\"\n};\n/**\n * TeachingBubble event names\n * @public\n */\nexport const TeachingBubbleEventNames = {\n openChange: \"open-change\",\n dismiss: \"dismiss\"\n};\n//# sourceMappingURL=teaching-bubble.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { arrow, autoPlacement, autoUpdate, computePosition, offset } from \"@floating-ui/dom\";\nimport { FASTElement, Updates, attr } from \"@microsoft/fast-element\";\nimport { keyEscape, keyTab } from \"@microsoft/fast-web-utilities\";\nimport { isTabbable } from \"tabbable\";\nimport { TeachingBubbleEventNames } from \"./teaching-bubble.options.js\";\n/**\n * TeachingBubble\n * @summary A customizable teaching bubble component for providing contextual help or instruction.\n *\n * @example\n * ```html\n * <fabric-teaching-bubble target=\"help-button\" open placement=\"top\" size=\"medium\">\n * <span slot=\"image\">Image content</span>\n * <span slot=\"close\">Close button</span>\n * <span slot=\"heading\">Heading content</span>\n * <div>Default content</div>\n * <span slot=\"footer\">Footer content</span>\n * </fabric-teaching-bubble>\n * ```\n *\n * @attr {string} target - The ID of the target element for the teaching bubble.\n * @attr {TeachingBubblePlacements} placement - The placement of the teaching bubble.\n * @attr {boolean} open - Controls whether the teaching bubble is open.\n * @attr {boolean} disable-trap-focus - Controls whether trap focus is disabled.\n * @attr {TeachingBubbleSize} size - The size of the teaching bubble.\n *\n * @prop {ElementInternals} elementInternals - The internal ElementInternals instance for the component.\n *\n * @slot image - Slot for adding an image inside the teaching bubble.\n * @slot close - Slot for adding a close button inside the teaching bubble.\n * @slot heading - Slot for adding a heading inside the teaching bubble.\n * @slot default - Default slot for adding content inside the teaching bubble.\n * @slot footer - Slot for adding a footer inside the teaching bubble.\n *\n * @csspart image - Style part for the image inside the teaching bubble.\n * @csspart content - Style part for the content inside the teaching bubble.\n * @csspart close - Style part for the close button inside the teaching bubble.\n * @csspart heading - Style part for the heading inside the teaching bubble.\n * @csspart footer - Style part for the footer inside the teaching bubble.\n * @csspart arrow - Style part for the arrow of the teaching bubble.\n *\n * @method show() - Shows the teaching bubble.\n * @method hide(dismiss: boolean) - Hides the teaching bubble, optionally dismissing it.\n * @method openChanged() - Handles changes to the open attribute.\n *\n * @fires open-change - Fires when the 'open' attribute changes.\n * @fires dismiss - Fires when the teaching bubble is dismissed.\n *\n * @extends FASTElement\n * @tagname fabric-teaching-bubble\n * @public\n */\nexport class TeachingBubble extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The ID of the target element for the teaching bubble.\n * @public\n * @attr target\n * @type {string}\n */\n this.target = \"\";\n /**\n * Indicates whether trap focus is disabled.\n * @public\n * @attr disable-trap-focus\n * @type {boolean}\n * @default false\n */\n this.disableTrapFocus = false;\n /**\n * The internal ElementInternals instance for the component.\n * @public\n */\n this.elementInternals = this.attachInternals();\n /**\n * Indicates whether the teaching bubble is trapping focus.\n * @private\n * @type {boolean}\n * @default false\n */\n this.isTrappingFocus = false;\n /**\n * Indicates whether a focus operation is currently in progress.\n * Used to prevent infinite recursion in focus handling.\n * @private\n * @type {boolean}\n * @default false\n */\n this.focusInProgress = false;\n /**\n * Indicates whether the teaching bubble should trap focus.\n * @private\n * @type {boolean}\n * @default false\n */\n this.trapFocus = false;\n /**\n * Function to clean up auto updates.\n * @private\n * @type {() => void | null}\n */\n this.cleanAutoUpdate = null;\n /**\n * Shows the teaching bubble.\n * @public\n */\n this.show = () => {\n var _a, _b;\n // Set elements first to ensure we have the latest state\n this.setElements();\n // Check for required elements\n if (!this.targetEl) {\n // Assert in development to catch configuration issues early\n if (typeof console !== \"undefined\" && console.assert) {\n const targetTrimmed = (_b = (_a = this.target) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : \"\";\n if (targetTrimmed === \"\") {\n console.assert(false, `TeachingBubble.show(): target attribute is empty or missing. Expected a valid element ID.`);\n }\n else {\n console.assert(false, `TeachingBubble.show(): target element with ID \"${this.target}\" not found in DOM. ` +\n `Ensure the target element exists before calling show().`);\n }\n }\n // Required elements not yet available; bail quietly\n return;\n }\n // Ensure visibility if previously hidden\n this.removeAttribute(\"hidden\");\n this.updatePosition();\n if (!this.cleanAutoUpdate) {\n this.cleanAutoUpdate = autoUpdate(this.targetEl, this, this.updatePosition);\n }\n if (!this.open)\n this.open = true;\n TeachingBubble.openInstances.add(this);\n // Respect disable-trap-focus attribute\n const shouldTrap = !this.disableTrapFocus;\n this.trapFocus = shouldTrap;\n this.updateTrapFocus(shouldTrap);\n };\n /**\n * Hides the teaching bubble.\n * @public\n * @param {boolean} - Indicates whether the bubble should be dismissed.\n * @fires dismiss - Fires when the teaching bubble is dismissed.\n */\n this.hide = (dismiss = false) => {\n this.open = false;\n // Stop auto updates when hidden\n if (this.cleanAutoUpdate) {\n this.cleanAutoUpdate();\n this.cleanAutoUpdate = null;\n }\n // Disable trapping while hidden\n // Remove from registry first so next topmost bubble (if any) can trap\n TeachingBubble.openInstances.delete(this);\n this.updateTrapFocus(false);\n // Hide element\n this.setAttribute(\"hidden\", \"\");\n if (dismiss) {\n this.dispatchEvent(new CustomEvent(TeachingBubbleEventNames.dismiss, {\n bubbles: true,\n composed: true\n }));\n }\n };\n /**\n * Sets the target, current, and arrow elements.\n * @private\n */\n this.setElements = () => {\n var _a;\n const id = ((_a = this.target) !== null && _a !== void 0 ? _a : \"\").trim();\n this.targetEl = id ? document.getElementById(id) : null;\n };\n /**\n * Updates the position of the teaching bubble.\n * @private\n */\n this.updatePosition = () => {\n this.setElements();\n const arrowMw = this.arrowEl\n ? [arrow({ element: this.arrowEl, padding: 4 })]\n : [];\n const computeObj = this.placement\n ? {\n placement: this.placement,\n middleware: [offset(10), ...arrowMw]\n }\n : {\n middleware: [\n autoPlacement({ autoAlignment: true }),\n offset(10),\n ...arrowMw\n ]\n };\n if (this.targetEl) {\n computePosition(this.targetEl, this, computeObj).then(({ x, y, placement, middlewareData }) => {\n var _a;\n Object.assign(this.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n const arrowData = ((_a = middlewareData.arrow) !== null && _a !== void 0 ? _a : undefined);\n if (this.arrowEl && arrowData) {\n const { x: arrowX, y: arrowY } = arrowData;\n const staticSide = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n }[placement.split(\"-\")[0]];\n Object.assign(this.arrowEl.style, {\n left: arrowX != null ? `${arrowX}px` : \"\",\n top: arrowY != null ? `${arrowY}px` : \"\",\n right: \"\",\n bottom: \"\",\n [staticSide]: \"-8px\"\n });\n }\n });\n }\n };\n /**\n * Handles keydown events on the document.\n * @private\n * @param {KeyboardEvent} e - The keyboard event.\n */\n this.handleDocumentKeydown = (e) => {\n if (!e.defaultPrevented && this.open) {\n switch (e.key) {\n case keyTab:\n this.handleTabKeyDown(e);\n break;\n case keyEscape:\n this.hide(true);\n break;\n default:\n break;\n }\n }\n };\n /**\n * Handles the tab keydown event.\n * @private\n * @param {KeyboardEvent} e - The keyboard event.\n */\n this.handleTabKeyDown = (e) => {\n if (!this.trapFocus || !this.open) {\n return;\n }\n const bounds = this.getTabQueueBounds();\n if (bounds.length === 1) {\n bounds[0].focus();\n e.preventDefault();\n return;\n }\n if (e.shiftKey && e.target === bounds[0]) {\n bounds[bounds.length - 1].focus();\n e.preventDefault();\n }\n else if (!e.shiftKey && e.target === bounds[bounds.length - 1]) {\n bounds[0].focus();\n e.preventDefault();\n }\n return;\n };\n /**\n * Gets the bounds of the tab queue.\n * @private\n * @returns {(HTMLElement | SVGElement)[]}\n */\n this.getTabQueueBounds = () => {\n const bounds = [];\n return this.reduceTabbableItems(bounds, this);\n };\n /**\n * Updates the focus trap state.\n * @private\n * @param {boolean} [shouldTrapFocusOverride] - Optional override for whether to trap focus.\n */\n this.updateTrapFocus = (shouldTrapFocusOverride) => {\n const shouldTrapFocusBase = shouldTrapFocusOverride === undefined\n ? this.shouldTrapFocus()\n : shouldTrapFocusOverride;\n // Only the topmost/sole open bubble should trap to avoid jitter\n const isTopmost = TeachingBubble.openInstances.size === 1;\n const shouldTrapFocus = shouldTrapFocusBase && isTopmost;\n if (shouldTrapFocus && !this.isTrappingFocus) {\n this.isTrappingFocus = true;\n // Use host-scoped focusout to detect leaving the component\n this.addEventListener(\"focusout\", this.handleFocusOut, true);\n Updates.enqueue(() => {\n const root = this.getRootNode() || document;\n const activeEl = \"activeElement\" in root\n ? root.activeElement\n : null;\n const active = activeEl !== null && activeEl !== void 0 ? activeEl : document.activeElement;\n if (this.shouldForceFocus(active)) {\n this.focusFirstElement();\n }\n });\n }\n else if (!shouldTrapFocus && this.isTrappingFocus) {\n this.isTrappingFocus = false;\n this.removeEventListener(\"focusout\", this.handleFocusOut, true);\n }\n };\n /**\n * Handles focus moving out of the component; re-focus inside when trapping.\n * @private\n */\n this.handleFocusOut = (e) => {\n if (!this.isTrappingFocus)\n return;\n const next = e.relatedTarget;\n if (!next || !this.contains(next)) {\n queueMicrotask(() => {\n this.focusFirstElement();\n });\n }\n };\n /**\n * Focuses the first element in the tab queue.\n * @private\n */\n this.focusFirstElement = () => {\n if (this.focusInProgress) {\n return false;\n }\n this.focusInProgress = true;\n try {\n const bounds = this.getTabQueueBounds();\n // If multiple bubbles are open, do not intercept focus\n const openCount = TeachingBubble.openInstances.size;\n if (openCount > 1) {\n return false;\n }\n if (bounds.length > 0) {\n bounds[0].focus();\n return true;\n }\n // TeachingBubble extends FASTElement which extends HTMLElement\n this.focus();\n return true;\n }\n finally {\n this.focusInProgress = false;\n }\n };\n /**\n * Determines if the focus should be forced to the teaching bubble.\n * @private\n * @param {Element | null} currentFocusElement - The current focused element.\n * @returns {boolean}\n */\n this.shouldForceFocus = (currentFocusElement) => {\n return this.isTrappingFocus && !this.contains(currentFocusElement);\n };\n /**\n * Determines if the teaching bubble should trap focus.\n * @private\n * @returns {boolean}\n */\n this.shouldTrapFocus = () => {\n return this.trapFocus && this.open;\n };\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n // Ensure host can be programmatically focused as a last resort\n if (!this.hasAttribute(\"tabindex\")) {\n this.setAttribute(\"tabindex\", \"-1\");\n }\n // Ensure dialog semantics are on the host (not shadow template)\n if (!this.hasAttribute(\"role\")) {\n this.elementInternals.role = \"dialog\";\n }\n // Inline setup: elements, positioning, listeners\n this.setElements();\n this.initializePosition();\n // Scope keyboard handling to the host\n this.addEventListener(\"keydown\", this.handleDocumentKeydown);\n Updates.enqueue(() => {\n // Compute trap state after applying disableTrapFocus\n this.disableTrapFocusHandler();\n this.updateTrapFocus();\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.handleDocumentKeydown);\n // Ensure focus trap listeners are removed\n this.removeEventListener(\"focusout\", this.handleFocusOut, true);\n this.updateTrapFocus(false);\n if (this.cleanAutoUpdate) {\n this.cleanAutoUpdate();\n }\n // Remove from registry if present\n TeachingBubble.openInstances.delete(this);\n }\n /**\n * Handles changes to the open attribute.\n * @public\n * @fires open-change - Emitted when the open attribute changes.\n */\n openChanged() {\n this.initializePosition();\n Updates.enqueue(() => {\n // Apply disable-trap-focus, then compute trapping & listeners\n this.disableTrapFocusHandler();\n this.updateTrapFocus();\n });\n this.dispatchEvent(new CustomEvent(TeachingBubbleEventNames.openChange, {\n detail: { open: this.open },\n bubbles: true,\n composed: true\n }));\n // Reflect dialog modality for SRs even when toggled via attribute\n this.elementInternals.ariaModal = this.open ? \"true\" : \"false\";\n // Registry is managed by show()/hide() only\n }\n /**\n * Reduces tabbable items to a list of elements.\n * @private\n * @param {HTMLElement[]} elements - The current list of elements.\n * @param {FASTElement} element - The current element to check.\n * @returns {HTMLElement[]}\n */\n reduceTabbableItems(elements, element) {\n const host = element;\n // Include direct focusables or hosts with tabbables in shadow\n const shouldPush = isTabbable(host) || TeachingBubble.isFocusableFastElement(element);\n if (shouldPush) {\n elements.push(host);\n }\n // Traverse light DOM children\n elements = Array.from(element.children).reduce((acc, child) => this.reduceTabbableItems(acc, child), elements);\n // Traverse shadow DOM children if present\n const sr = host.shadowRoot;\n if (sr) {\n elements = Array.from(sr.children).reduce((acc, child) => this.reduceTabbableItems(acc, child), elements);\n }\n return elements;\n }\n /**\n * Determines if a FAST element is focusable.\n * @private\n * @static\n * @param {FASTElement} element - The element to check.\n * @returns {boolean}\n */\n static isFocusableFastElement(element) {\n var _a, _b;\n return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);\n }\n /**\n * Handles the trap focus disable state.\n * @private\n */\n disableTrapFocusHandler() {\n if (this.disableTrapFocus) {\n this.trapFocus = false;\n }\n else {\n this.trapFocus = true;\n }\n }\n /**\n * Initializes the position of the teaching bubble.\n * @private\n */\n initializePosition() {\n this.setElements();\n if (this.open) {\n // Let show() handle missing refs gracefully; don't force-close\n this.show();\n }\n else {\n this.hide();\n }\n }\n}\n/**\n * Static registry of open TeachingBubble instances.\n */\nTeachingBubble.openInstances = new Set();\n__decorate([\n attr({ mode: \"fromView\" })\n], TeachingBubble.prototype, \"target\", void 0);\n__decorate([\n attr({ mode: \"reflect\" })\n], TeachingBubble.prototype, \"placement\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TeachingBubble.prototype, \"open\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-trap-focus\" })\n], TeachingBubble.prototype, \"disableTrapFocus\", void 0);\n__decorate([\n attr({ mode: \"reflect\" })\n], TeachingBubble.prototype, \"size\", void 0);\n//# sourceMappingURL=teaching-bubble.js.map","import { borderRadiusMedium, borderRadiusSmall, colorBrandBackground, colorNeutralBackground1, display, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, lineHeightBase400, shadow16, spacingHorizontalL, spacingHorizontalM, spacingHorizontalS, spacingHorizontalXXXL } from \"@fluentui/web-components\";\nimport { sizeHorizontalL, sizeVerticalL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n position: absolute;\n border: 1px solid ${colorBrandBackground};\n border-radius: ${borderRadiusMedium};\n background-color: ${colorBrandBackground};\n color: ${colorNeutralBackground1};\n padding: ${spacingHorizontalL};\n box-shadow: ${shadow16};\n max-width: calc(${spacingHorizontalXXXL} * 9);\n /* Ensure the bubble renders above typical app layers */\n z-index: var(--fabric-layer-teaching-bubble, 1000);\n }\n\n ::slotted(*) {\n font-family: ${fontFamilyBase};\n font-size: unset;\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n margin: 0;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n\n :host([size=\"small\"]) ::slotted(*) {\n font-size: ${fontSizeBase200};\n }\n\n :host([size=\"medium\"]) ::slotted(*) {\n font-size: ${fontSizeBase300};\n }\n\n :host([size=\"large\"]) ::slotted(*) {\n font-size: ${fontSizeBase400};\n }\n\n slot[name=\"close\"]::slotted(*) {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n }\n\n .content {\n position: relative;\n }\n\n .heading {\n margin-bottom: ${spacingHorizontalS};\n }\n\n .arrow {\n position: absolute;\n background: ${colorBrandBackground};\n width: ${sizeHorizontalL};\n height: ${sizeVerticalL};\n transform: rotate(45deg);\n border-radius: ${borderRadiusSmall};\n pointer-events: none;\n }\n\n /* Avoid image distortion in the image slot */\n slot[name=\"image\"]::slotted(*) {\n display: block;\n margin-bottom: ${spacingHorizontalM};\n }\n\n /* Common media elements: keep aspect ratio */\n slot[name=\"image\"]::slotted(img),\n slot[name=\"image\"]::slotted(picture),\n slot[name=\"image\"]::slotted(video) {\n max-width: 100%;\n height: auto;\n }\n\n slot[name=\"heading\"]::slotted(*) {\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase400};\n }\n\n :host([size=\"small\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase300};\n }\n\n :host([size=\"medium\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase400};\n }\n\n :host([size=\"large\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase500};\n }\n\n slot[name=\"footer\"]::slotted(*) {\n line-height: ${lineHeightBase200};\n margin-top: ${spacingHorizontalM};\n padding-top: ${spacingHorizontalM};\n }\n`;\n//# sourceMappingURL=teaching-bubble.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\nimport { TeachingBubble } from \"./teaching-bubble.js\";\nexport function teachingBubbleTemplate() {\n return html `\n <template ?hidden=\"${(x) => !x.open}\">\n <div class=\"image\">\n <slot name=\"image\"></slot>\n </div>\n <div class=\"content\">\n <div class=\"close\"><slot name=\"close\"></slot></div>\n <div class=\"heading\">\n <slot name=\"heading\"></slot>\n </div>\n <slot></slot>\n <div class=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n <div id=\"arrow\" class=\"arrow\" ${ref(\"arrowEl\")}></div>\n </template>\n `;\n}\nexport const template = teachingBubbleTemplate();\n//# sourceMappingURL=teaching-bubble.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { TeachingBubble } from \"./teaching-bubble.js\";\nimport { styles } from \"./teaching-bubble.styles.js\";\nimport { template } from \"./teaching-bubble.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-teaching-bubble>\n */\nexport const definition = TeachingBubble.compose({\n name: `${DesignSystem.prefix}-teaching-bubble`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=teaching-bubble.definition.js.map","/**\n * The state variations for the WizardStep component\n * @public\n */\nexport const WizardStepStates = {\n incomplete: \"incomplete\",\n complete: \"complete\",\n error: \"error\"\n};\nexport const WizardStepEvents = {\n stepChange: \"step-change\",\n stepSelect: \"step-select\"\n};\n//# sourceMappingURL=wizard-step.options.js.map","import { WizardStepStates } from \"../wizard-step/wizard-step.options.js\";\nexport const WizardPanelEventNames = {\n panelChange: \"panel-change\"\n};\nexport const WizardPanelStates = { ...WizardStepStates };\n//# sourceMappingURL=wizard-panel.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { WizardPanelStates } from \"./wizard-panel.options.js\";\nimport { WizardPanelEventNames } from \"./wizard-panel.options.js\";\n/**\n * WizardPanel\n * @summary A customizable panel component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-wizard-panel id=\"step1\" state=\"incomplete\" hidden>\n * <div slot=\"start\">Start Content</div>\n * <div slot=\"title\">Step 1: Title</div>\n * <div>Step Content</div>\n * <div slot=\"footer\">Step Footer</div>\n * <div slot=\"end\">End Content</div>\n * </fabric-wizard-panel>\n * ```\n *\n * @attr {boolean} hidden - Indicates whether the panel is hidden.\n * @attr {WizardStepState} state - The state of the panel.\n * @attr {boolean} active - Indicates whether the panel is active.\n *\n * @prop {number | undefined} index - The index of the panel in the wizard sequence.\n * @prop {boolean} hidden - Indicates whether the panel is hidden.\n * @prop {WizardStepState} state - The current state of the wizard step.\n * @prop {boolean} active - Indicates whether the panel is currently active.\n *\n * @slot default - The default content of the step.\n * @slot start - The content to display at the start of the step.\n * @slot end - The content to display at the end of the step.\n * @slot title - The content to display as the title of the step.\n * @slot footer - The content to display as the footer of the step.\n *\n * @csspart panel - The root panel container element.\n * @csspart title - The title.\n * @csspart content - The content.\n * @csspart footer - The footer.\n *\n * @method stateChanged - Handles changes to the state attribute.\n * @method activeChanged - Handles changes to the active attribute.\n * @method hiddenChanged - Handles changes to the hidden attribute.\n * @method show - Shows the panel by setting the hidden attribute to false.\n * @method hide - Hides the panel by setting the hidden attribute to true.\n * @method emitChange - Emits a custom event indicating a change in the panel's state.\n *\n * @fires panel-change - Dispatched when the panel state changes.\n *\n * @extends FASTElement\n * @tagname fabric-wizard-panel\n * @public\n */\nexport class WizardPanel extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the panel is hidden.\n * @public\n * @attr\n * @type {boolean}\n * @default true\n */\n this.hidden = true;\n /**\n * The current state of the wizard step.\n * @public\n * @attr\n * @type {WizardPanelState}\n * @default incomplete\n */\n this.state = WizardPanelStates.incomplete;\n /**\n * Indicates whether the panel is currently active.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.active = false;\n }\n /**\n * Handles changes to the state attribute.\n * @public\n * @param {WizardPanelState} oldValue - The previous state value.\n * @param {WizardPanelState} newValue - The new state value.\n */\n stateChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Handles changes to the active attribute.\n * @public\n * @param {boolean} oldValue - The previous active value.\n * @param {boolean} newValue - The new active value.\n */\n activeChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n if (newValue) {\n this.show();\n }\n else {\n this.hide();\n }\n this.emitChange();\n }\n }\n /**\n * Handles changes to the hidden attribute.\n * @public\n * @param {boolean} oldValue - The previous hidden value.\n * @param {boolean} newValue - The new hidden value.\n */\n hiddenChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Shows the panel by setting the hidden attribute to false.\n * @public\n */\n show() {\n this.hidden = false;\n }\n /**\n * Hides the panel by setting the hidden attribute to true.\n * @public\n */\n hide() {\n this.hidden = true;\n }\n /**\n * Emits a custom event indicating a change in the panel's state.\n * @public\n */\n emitChange() {\n this.$emit(WizardPanelEventNames.panelChange, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n}\n__decorate([\n observable\n], WizardPanel.prototype, \"index\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardPanel.prototype, \"hidden\", void 0);\n__decorate([\n attr\n], WizardPanel.prototype, \"state\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardPanel.prototype, \"active\", void 0);\n//# sourceMappingURL=wizard-panel.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { keyEnter } from \"@microsoft/fast-web-utilities\";\nimport { WizardStepStates, WizardStepEvents } from \"./wizard-step.options.js\";\n/**\n * WizardStep\n * @summary A customizable step component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-wizard-step\n * numbered\n * active\n * state=\"complete\"\n * aria-describedby=\"step1-details\"\n * aria-labelledby=\"step1-title\"\n * >\n * <span slot=\"start\">Start Content</span>\n * <span slot=\"end\">End Content</span>\n * <span slot=\"title\" id=\"step1-title\">Step 1: Title</span>\n * <span slot=\"details\" id=\"step1-details\">Details about Step 1</span>\n * <span slot=\"complete\">Complete</span>\n * <span slot=\"incomplete\">Incomplete</span>\n * <span slot=\"error\">Error</span>\n * </fabric-wizard-step>\n * ```\n *\n * @attr {boolean | undefined} numbered - Indicates whether the step is numbered.\n * @attr {boolean | undefined} hideConnector - Indicates whether the connector is hidden.\n * @attr {boolean} active - Indicates whether the step is active.\n * @attr {boolean} disabled - Indicates whether the step is disabled.\n * @attr {string | undefined} ariaDescribedby - The aria-describedby attribute for accessibility.\n * @attr {string | undefined} ariaLabelledby - The aria-labelledby attribute for accessibility.\n * @attr {WizardStepState} state - The current state of the wizard step.\n *\n * @prop {number} index - The index of the step in the wizard sequence.\n * @prop {string} details - The details of the step.\n * @prop {string} title - The title of the step.\n * @prop {boolean | undefined} numbered - Indicates whether the step is numbered.\n * @prop {boolean | undefined} hideConnector - Indicates whether the connector is hidden.\n * @prop {boolean} active - Indicates whether the step is active.\n * @prop {boolean} disabled - Indicates whether the step is disabled.\n * @prop {string | undefined} ariaDescribedby - The aria-describedby attribute for accessibility.\n * @prop {string | undefined} ariaLabelledby - The aria-labelledby attribute for accessibility.\n * @prop {WizardStepState} state - The current state of the wizard step.\n *\n * @slot start - The content to display at the start of the step.\n * @slot end - The content to display at the end of the step.\n * @slot incomplete - The content to display when the step is incomplete.\n * @slot complete - The content to display when the step is complete.\n * @slot error - The content to display when the step has an error.\n * @slot title - The content to display as the title of the step.\n * @slot details - The content to display as the details of the step.\n *\n * @csspart state-indicator - The state indicator.\n * @csspart icon - The icon.\n * @csspart order - The ordinal number indicator displayed inside the step circle when the step is numbered.\n * @csspart summary - The summary.\n * @csspart title - The title.\n * @csspart details - The details.\n * @csspart step-connector - The visual connector line that links this step to the next step in the wizard sequence.\n *\n * @method stateChanged - Handles changes to the state attribute.\n * @method activeChanged - Handles changes to the active attribute.\n * @method toggleActive - Toggles the active state of the step.\n * @method setComplete - Sets the step to a complete state.\n * @method setIncomplete - Sets the step to an incomplete state.\n * @method setError - Sets the step to an error state.\n * @method emitChange - Emits a custom event indicating a change in the step's state.\n * @method emitSelect - Emits a custom event indicating a selection of the step.\n * @method clickHandler - Handles click events on the step.\n * @method keydownHandler - Handles keydown events on the step.\n *\n * @fires step-change - Dispatched when the step state changes.\n * @fires step-select - Dispatched when the user selects (clicks or activates via keyboard) this wizard step to navigate to it.\n *\n * @cssprop --borderRadiusCircular - The border radius used for the circular state indicator.\n * @cssprop --colorNeutralBackground4 - The background color of the state indicator in the default state.\n * @cssprop --colorNeutralForeground2 - The border color of the state indicator in the default state.\n * @cssprop --colorNeutralForegroundDisabled - The foreground color applied when the step is disabled.\n * @cssprop --fontSizeBase200 - The font size used for the order label and step details.\n * @cssprop --fontWeightRegular - The regular font weight used for the step title and details.\n * @cssprop --fontWeightSemibold - The semibold font weight used for the active step title.\n * @cssprop --lineHeightBase100 - The line height used for the order label.\n * @cssprop --lineHeightBase200 - The line height used for the step details text.\n *\n * @extends FASTElement\n * @tagname fabric-wizard-step\n * @public\n */\nexport class WizardStep extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the step is active.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.active = false;\n /**\n * Indicates whether the step is disabled.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.disabled = false;\n /**\n * The current state of the wizard step.\n * @public\n * @attr state\n * @type {WizardStepState}\n * @default incomplete\n */\n this.state = WizardStepStates.incomplete;\n /**\n * The index of the step in the wizard sequence.\n * @public\n * @attr\n * @type {number}\n * @default 0\n */\n this.index = 0;\n /**\n * The details of the step.\n * @public\n * @observable\n * @type {string}\n * @default \"\"\n */\n this.details = \"\";\n /**\n * The title of the step.\n * @public\n * @observable\n * @type {string}\n * @default \"\"\n */\n this.title = \"\";\n }\n /**\n * Handles changes to the state attribute.\n * @public\n * @param {WizardStepState} oldValue - The previous state value.\n * @param {WizardStepState} newValue - The new state value.\n */\n stateChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Handles changes to the active attribute.\n * @public\n * @param {boolean} oldValue - The previous active value.\n * @param {boolean} newValue - The new active value.\n */\n activeChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Toggles the active state of the step.\n * @public\n */\n toggleActive(_event) {\n this.active = !this.active;\n }\n /**\n * Sets the step to a complete state.\n * @public\n */\n setComplete() {\n this.state = WizardStepStates.complete;\n }\n /**\n * Sets the step to an incomplete state.\n * @public\n */\n setIncomplete() {\n this.state = WizardStepStates.incomplete;\n }\n /**\n * Sets the step to an error state.\n * @public\n */\n setError() {\n this.state = WizardStepStates.error;\n }\n /**\n * Emits a custom event indicating a change in the step's state.\n * @public\n */\n emitChange() {\n this.$emit(WizardStepEvents.stepChange, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n /**\n * Emits a custom event indicating a selection of the step.\n * @public\n */\n emitSelect() {\n this.$emit(WizardStepEvents.stepSelect, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n /**\n * Handles click events on the step.\n * @public\n * @param {MouseEvent} event - The mouse event.\n */\n clickHandler(event) {\n if (this.disabled) {\n event === null || event === void 0 ? void 0 : event.preventDefault();\n event === null || event === void 0 ? void 0 : event.stopImmediatePropagation();\n }\n else {\n this.emitSelect();\n }\n }\n /**\n * Handles keydown events on the step.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n keydownHandler(event) {\n switch (event.key) {\n case keyEnter:\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n else {\n this.emitSelect();\n }\n break;\n default:\n break;\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"numbered\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"hide-connector\" })\n], WizardStep.prototype, \"hideConnector\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"active\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\" })\n], WizardStep.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\" })\n], WizardStep.prototype, \"ariaLabelledby\", void 0);\n__decorate([\n attr\n], WizardStep.prototype, \"state\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"button\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], WizardStep.prototype, \"index\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"details\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"title\", void 0);\n//# sourceMappingURL=wizard-step.js.map","export const WizardEvents = {\n wizardChange: \"wizard-change\",\n wizardComplete: \"wizard-complete\"\n};\n//# sourceMappingURL=wizard.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Updates, attr, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { WizardPanel } from \"../wizard-panel/wizard-panel.js\";\nimport { WizardStepStates } from \"../wizard-step/wizard-step.options.js\";\nimport { WizardStep } from \"../wizard-step/wizard-step.js\";\nimport { WizardEvents } from \"./wizard.options.js\";\n/**\n * # Wizard\n * A customizable wizard component for a step-by-step interface.\n *\n * @summary A customizable wizard component for a step-by-step interface.\n *\n * @example\n * ```html\n * <fabric-wizard numbered linear disable-on-complete>\n * <fabric-wizard-step slot='step'>Step One</fabric-wizard-step>\n * <fabric-wizard-panel slot='panel'>Content for Step One</fabric-wizard-panel>\n * <fabric-wizard-step slot='step'>Step Two</fabric-wizard-step>\n * <fabric-wizard-panel slot='panel'>Content for Step Two</fabric-wizard-panel>\n * <div slot='title'>Wizard Title</div>\n * <fabric-wizard-button slot='button'>Next</fabric-wizard-button>\n * </fabric-wizard>\n * ```\n *\n * @attr {boolean} numbered - Determines whether the step state indicator should be labeled with the order of the steps.\n * @attr {boolean} linear - Indicates whether the wizard enforces linear step completion.\n * @attr {boolean} disable-on-complete - Indicates whether steps should be disabled on completion.\n * @attr {number} current-index - The current index of the active step.\n *\n * @prop {number} numbered - Determines whether the step state indicator should be labeled with the order of the steps.\n * @prop {boolean} linear - Indicates whether the wizard enforces linear step completion.\n * @prop {number} currentIndex - The current index of the active step.\n * @prop {boolean} disableOnComplete - Indicates whether steps should be disabled on completion.\n * @prop {HTMLElement} stepcontainer - The container for wizard steps.\n * @prop {HTMLElement} panelcontainer - The container for wizard panels.\n * @prop {HTMLElement[]} slottedsteps - The list of slotted wizard steps.\n * @prop {Button[]} slottedactions - The list of slotted buttons.\n * @prop {HTMLElement[]} slottedpanels - The list of slotted wizard panels.\n * @prop {string | undefined} activeid - The ID of the active step.\n * @prop {WizardStep | undefined} activestep - The currently active step.\n * @prop {number | undefined} prevActiveStepIndex - The index of the previously active step.\n *\n * @slot step - Slot for adding WizardStep components, representing each step in the wizard.\n * @slot panel - Slot for adding WizardPanel components, representing the content of each step.\n * @slot title - Slot for adding a title to the wizard.\n * @slot button - Slot for adding buttons to the wizard toolbar.\n * @slot actions - Slot for action buttons rendered in the toolbar area, such as Back and Next controls.\n * @slot end - Slot for content appended after the panels container.\n * @slot start - Slot for content prepended before the main wizard area.\n *\n * @csspart wizard - The root element of the wizard component.\n * @csspart steps - The navigation element (tablist) that contains the WizardStep components.\n * @csspart panels - The wrapper element containing all WizardPanel components.\n * @csspart panels-container - The outer container wrapping the toolbar and panels sections.\n * @csspart title - The element that renders the title slot content.\n * @csspart toolbar - The toolbar row containing the title element and action buttons.\n * @csspart button-container - The container element wrapping the actions slot inside the toolbar.\n *\n * @cssprop --wizard-tablist-width - Set's the width of the Wizard tablist step container\n * @cssprop --wizard-toolbar-display - Set's the display of the wizard toolbar\n * @cssprop --wizard-overflow-step-width - Sets the width of each wizard step in overflow mode.\n * @cssprop --wizard-overflow-tablist-width - Sets the width of the wizard tablist in overflow mode.\n * @cssprop --wizard-scrollbar-radius - Sets the border radius of the wizard overflow scrollbar.\n * @cssprop --wizard-scrollbar-spacing - Sets the spacing around the wizard overflow scrollbar.\n * @cssprop --wizard-scrollbar-thumb-color - Sets the color of the wizard overflow scrollbar thumb.\n * @cssprop --wizard-scrollbar-track-color - Sets the color of the wizard overflow scrollbar track.\n *\n * @method next() - Moves to the next step.\n * @method previous() - Moves to the previous step.\n * @method show() - Shows the wizard.\n * @method hide() - Hides the wizard.\n * @method enableStep(index?: number) - Enables the specified step.\n * @method disableStep(index?: number) - Disables the specified step.\n * @method errorStep(index?: number) - Sets the specified step to an error state.\n * @method completeStep(index?: number) - Completes the specified step.\n * @method incompleteStep(index?: number) - Sets the specified step to an incomplete state.\n * @method getStepStatus() - Gets the status of the steps.\n * @method reset() - Resets the wizard to its initial state.\n * @method setActiveStep(step: WizardStep) - Sets the active step.\n * @method focusNextStep(setActive?: boolean) - Focuses the next step.\n * @method focusPreviousStep(setActive?: boolean) - Focuses the previous step.\n * @method moveToStepByIndex(index: number, moveFocus?: boolean) - Moves to the step by its index.\n *\n * @fires wizard-change - Fires when there is a change in the wizard, providing the current index and active ID.\n * @fires wizard-complete - Fires when all steps in the wizard are complete.\n *\n * @extends FASTElement\n * @tagname fabric-wizard\n * @public\n */\nexport class Wizard extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the steps should be visually numbered at smaller viewports.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.numbered = false;\n /**\n * Indicates whether steps should be disabled on completion.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.disableOnComplete = false;\n /**\n * The current index of the active step.\n * @public\n * @attr\n * @type {number}\n * @default 0\n */\n this.currentIndex = 0;\n /**\n * The list of slotted wizard steps.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedsteps = [];\n /**\n * The list of slotted buttons.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedactions = [];\n /**\n * The list of slotted wizard panels.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedpanels = [];\n /**\n * The list of step IDs.\n * @private\n * @type {string[]}\n */\n this.stepIds = [];\n /**\n * The list of panel IDs.\n * @private\n * @type {string[]}\n */\n this.panelIds = [];\n /**\n * Determines if the element is disabled.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isDisabledElement = (el) => {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n };\n /**\n * Determines if the element is hidden.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isHiddenElement = (el) => {\n return el.hasAttribute(\"hidden\");\n };\n /**\n * Determines if the element is focusable.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isFocusableElement = (el) => {\n return !this.isDisabledElement(el) && !this.isHiddenElement(el);\n };\n /**\n * Handles the step select event.\n * @private\n * @param {Event} event - The event.\n */\n this.handleStepSelect = (event) => {\n const selectedStep = event.currentTarget;\n if (selectedStep.disabled) {\n return;\n }\n else {\n this.setActiveStep(selectedStep);\n }\n };\n this.handleStepContainerFocus = (_event) => {\n this.setAllStepTabIndex(-1);\n };\n this.handleStepContainerBlur = (event) => {\n // If focus moves outside the step group, reset all step tabindex to -1\n // (blur bubbles, so check relatedTarget)\n const related = event.relatedTarget;\n if (!related || !this.slottedsteps.some((step) => step === related)) {\n this.setAllStepTabIndex(-1);\n }\n };\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.currentIndex = this.getActiveIndex();\n this.addListeners();\n // Add focus/blur listeners for roving tabindex\n if (this.stepcontainer) {\n this.stepcontainer.addEventListener(\"focus\", this.handleStepContainerFocus);\n this.stepcontainer.addEventListener(\"blur\", this.handleStepContainerBlur, true);\n }\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeListeners();\n // Remove focus/blur listeners\n if (this.stepcontainer) {\n this.stepcontainer.removeEventListener(\"focus\", this.handleStepContainerFocus);\n this.stepcontainer.removeEventListener(\"blur\", this.handleStepContainerBlur, true);\n }\n }\n /**\n * Handles changes to the activeid attribute.\n * @public\n * @param {string} oldValue - The previous value of the active ID.\n * @param {string} newValue - The new value of the active ID.\n */\n activeidChanged(oldValue, _newValue) {\n if (this.$fastController.isConnected) {\n this.prevActiveStepIndex = this.slottedsteps.findIndex((item) => item.id === oldValue);\n this.setSteps();\n }\n }\n /**\n * Handles changes to the slotted panels.\n * @public\n */\n slottedpanelsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.panelIds = this.getPanelIds();\n this.setSteps();\n }\n }\n /**\n * Handles changes to the slotted steps.\n * @public\n */\n slottedstepsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.stepIds = this.getStepIds();\n this.setSteps();\n }\n }\n /**\n * Handles changes to the current index.\n * @public\n * @param {number} oldValue - The previous value of the current index.\n * @param {number} newValue - The new value of the current index.\n */\n currentIndexChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n Updates.enqueue(() => {\n this.prevActiveStepIndex = oldValue;\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.setComponent();\n });\n }\n }\n /**\n * Moves to the next step.\n * @public\n */\n next() {\n this.currentIndex = this.slottedsteps.indexOf(this.activestep);\n // Check if there's a next step\n const nextIndex = this.currentIndex + 1;\n if (nextIndex >= this.slottedsteps.length) {\n // No next step available\n return;\n }\n const nextStep = this.slottedsteps[nextIndex];\n // Only advance if the next step is not disabled\n if (!nextStep.disabled) {\n this.moveToStepByIndex(nextIndex, false); // Don't move focus for programmatic navigation\n this.setActiveStep(nextStep);\n }\n // If the next step is disabled, do nothing (don't move)\n }\n /**\n * Moves to the previous step.\n * @public\n */\n previous() {\n this.currentIndex = this.slottedsteps.indexOf(this.activestep);\n // Check if there's a previous step\n const prevIndex = this.currentIndex - 1;\n if (prevIndex < 0) {\n // No previous step available\n return;\n }\n const prevStep = this.slottedsteps[prevIndex];\n // Only go back if the previous step is not disabled\n if (!prevStep.disabled) {\n this.moveToStepByIndex(prevIndex, false); // Don't move focus for programmatic navigation\n this.setActiveStep(prevStep);\n }\n // If the previous step is disabled, do nothing (don't move)\n }\n /**\n * Shows the wizard.\n * @public\n */\n show() {\n this.hidden = false;\n }\n /**\n * Hides the wizard.\n * @public\n */\n hide() {\n this.hidden = true;\n }\n /**\n * Enables the specified step.\n * @public\n * @param {number} [index] - The index of the step to enable.\n */\n enableStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].disabled = false;\n }\n }\n /**\n * Disables the specified step.\n * @public\n * @param {number} [index] - The index of the step to disable.\n */\n disableStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].disabled = true;\n }\n }\n /**\n * Sets the specified step to an error state.\n * @public\n * @param {number} [index] - The index of the step to set to an error state.\n */\n errorStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state = WizardStepStates.error;\n }\n }\n /**\n * Completes the specified step.\n * @public\n * @param {number} [index] - The index of the step to complete.\n */\n completeStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state =\n WizardStepStates.complete;\n if (this.disableOnComplete) {\n this.disableStep(index);\n }\n }\n }\n /**\n * Sets the specified step to an incomplete state.\n * @public\n * @param {number} [index] - The index of the step to set to an incomplete state.\n */\n incompleteStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state =\n WizardStepStates.incomplete;\n }\n }\n /**\n * Gets the status of the steps.\n * @public\n * @returns {Array<{id: string, state: string, index: number, active: boolean}>}\n */\n /**\n * Returns an array of objects representing the status of each wizard step.\n *\n * Each object in the returned array contains:\n * - `id`: The HTML element ID of the step.\n * - `state`: The current state of the step.\n * - `index`: The zero-based index of the step.\n * - `active`: Whether the step is currently active.\n *\n * @returns An array of step status objects for all slotted steps.\n */\n getStepStatus() {\n const stepStatus = [];\n if (this.slottedsteps.length > 0) {\n this.slottedsteps.forEach((step, index) => {\n stepStatus.push({\n id: step.id,\n state: step.state,\n index: index,\n active: step.active\n });\n });\n }\n return stepStatus;\n }\n /**\n * Resets the wizard to its initial state.\n * @public\n */\n reset() {\n if (this.slottedsteps.length > 0) {\n this.slottedsteps.forEach((el, _index) => {\n const step = el;\n step.state = WizardStepStates.incomplete;\n });\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.currentIndex = 0;\n this.activeid = undefined;\n this.prevActiveStepIndex = -1;\n }\n }\n /**\n * Sets the active step.\n * @public\n * @param {HTMLElement} step - The step to set as active.\n */\n setActiveStep(step) {\n var _a;\n const stepToActivate = step;\n const index = stepToActivate.index;\n const disabled = (_a = stepToActivate.disabled) !== null && _a !== void 0 ? _a : false;\n if (disabled) {\n return;\n }\n stepToActivate.active = true;\n this.activestep = stepToActivate;\n this.activeid = this.stepIds[index];\n this.currentIndex = index;\n this.setComponent();\n }\n /**\n * Focuses the next step.\n * @public\n * @param {boolean} [setActive=false] - Indicates whether to set the next step as active.\n */\n focusNextStep(setActive = false) {\n const group = this.slottedsteps;\n let index = this.currentIndex + 1;\n if (group.length <= 1)\n return;\n // Wrap around if needed\n if (index >= group.length)\n index = 0;\n const startIndex = index;\n while (true) {\n if (group[index] && !group[index].disabled) {\n break;\n }\n index = (index + 1) % group.length;\n if (index === startIndex) {\n // No enabled step found\n return;\n }\n }\n this.moveToStepByIndex(index, true);\n if (setActive &&\n group[index] &&\n !this.isDisabledElement(group[index]) &&\n !group[index].disabled) {\n this.setActiveStep(group[index]);\n }\n }\n /**\n * Focuses the previous step.\n * @public\n * @param {boolean} [setActive=false] - Indicates whether to set the previous step as active.\n */\n focusPreviousStep(setActive = false) {\n const group = this.slottedsteps;\n let index = this.currentIndex - 1;\n if (group.length <= 1)\n return;\n // Wrap around if needed\n if (index < 0)\n index = group.length - 1;\n const startIndex = index;\n while (true) {\n if (group[index] && !group[index].disabled) {\n break;\n }\n index = (index - 1 + group.length) % group.length;\n if (index === startIndex) {\n // No enabled step found\n return;\n }\n }\n this.moveToStepByIndex(index, true);\n if (setActive &&\n group[index] &&\n !this.isDisabledElement(group[index]) &&\n !group[index].disabled) {\n this.setActiveStep(group[index]);\n }\n }\n /**\n * Moves to the step by its index.\n * @public\n * @param {number} index - The index of the step to move to.\n * @param {boolean} [moveFocus=true] - Whether to move keyboard focus to the step.\n */\n moveToStepByIndex(index, moveFocus = true) {\n const step = this.slottedsteps[index];\n this.currentIndex = index;\n if (moveFocus) {\n step.focus();\n }\n this.setComponent();\n }\n /**\n * Handles keydown events on the step container.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n handleStepContainerKeydown(event) {\n if (event.defaultPrevented)\n return;\n switch (event.key) {\n case keyEnter:\n case \" \": // Space key\n event.preventDefault();\n if (document.activeElement === this) {\n this.focusFirstEnabledStep();\n }\n break;\n default:\n return true;\n }\n }\n /**\n * Handles keydown events on a step.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n handleStepKeyDown(event) {\n switch (event.key) {\n case keyEscape:\n event.preventDefault();\n this.stepcontainer.focus();\n break;\n case keyEnter:\n event.preventDefault();\n this.handleStepSelect(event);\n break;\n case keyArrowUp:\n event.preventDefault();\n this.focusPreviousStep();\n break;\n case keyArrowDown:\n event.preventDefault();\n this.focusNextStep();\n break;\n case keyHome:\n event.preventDefault();\n this.moveToStepByIndex(-this.currentIndex, true);\n break;\n case keyEnd:\n event.preventDefault();\n this.moveToStepByIndex(this.slottedsteps.length - this.currentIndex - 1, true);\n break;\n default:\n break;\n }\n }\n /**\n * Sets the steps and updates their attributes.\n * @protected\n */\n setSteps() {\n this.currentIndex === -1 ? this.getActiveIndex() : this.currentIndex;\n this.slottedsteps.forEach((el, index) => {\n if (el.slot === \"step\") {\n const step = el;\n const isActiveStep = this.currentIndex === index && this.isFocusableElement(step);\n const stepId = this.stepIds[index];\n // Only set tabindex to 0 if step is focused, otherwise -1\n if (document.activeElement === step) {\n step.setAttribute(\"tabindex\", \"0\");\n }\n else {\n step.setAttribute(\"tabindex\", \"-1\");\n }\n step.setAttribute(\"id\", stepId);\n step.setAttribute(\"role\", \"tab\");\n step.active = isActiveStep;\n step.index = index;\n if (this.numbered) {\n step.numbered = true;\n }\n // Compose disable-on-complete and linear logic\n if (this.disableOnComplete &&\n step.state === WizardStepStates.complete) {\n step.disabled = true;\n }\n else if (this.linear) {\n if (index === 0) {\n step.disabled = false;\n }\n else {\n const prevStep = this.slottedsteps[index - 1];\n step.disabled = prevStep.state !== WizardStepStates.complete;\n }\n }\n // Otherwise, respect the step's own disabled property\n if (isActiveStep) {\n this.activestep = step;\n this.activeid = stepId;\n this.currentIndex = index;\n }\n if (index === this.slottedsteps.length - 1) {\n step.hideConnector = true;\n }\n if (this.slottedsteps.length >= 7) {\n step.classList.add(\"overflow\");\n }\n }\n });\n if (this.slottedsteps.every((step) => step.state === \"complete\")) {\n this.emitComplete();\n }\n if (this.slottedsteps.length >= 7) {\n this.setAttribute(\"class\", \"overflow\");\n }\n this.setPanels();\n }\n /**\n * Sets the panels and updates their attributes.\n * @protected\n */\n setPanels() {\n this.slottedpanels.forEach((el, index) => {\n if (el.slot === \"panel\") {\n const panel = el;\n const stepId = this.stepIds[index];\n const panelId = this.panelIds[index];\n panel.setAttribute(\"id\", panelId);\n panel.setAttribute(\"aria-labelledby\", stepId);\n panel.setAttribute(\"role\", \"tabpanel\");\n panel.index = index;\n const isActivePanel = this.currentIndex === index && this.isFocusableElement(panel);\n panel.active = isActivePanel;\n this.currentIndex !== index ? panel.hide() : panel.show();\n }\n });\n this.emitChange();\n }\n /**\n * Adds event listeners to steps and panels.\n * @protected\n */\n addListeners() {\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"step-change\", (e) => this.handleWizardStepStateChange(e));\n });\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"step-select\", (e) => this.handleStepSelect(e));\n });\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"keydown\", (e) => this.handleStepKeyDown(e));\n });\n this.slottedpanels.forEach((panel) => {\n panel.addEventListener(\"panel-change\", (e) => this.handlePanelStateChange(e));\n });\n }\n /**\n * Removes event listeners from steps and panels.\n * @protected\n */\n removeListeners() {\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"step-change\", (e) => this.handleWizardStepStateChange(e));\n });\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"step-select\", (e) => this.handleStepSelect(e));\n });\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"keydown\", (e) => this.handleStepKeyDown(e));\n });\n this.slottedpanels.forEach((panel) => {\n panel.removeEventListener(\"panel-change\", (e) => this.handlePanelStateChange(e));\n });\n }\n /**\n * Sets the component and updates its state.\n * @private\n */\n setComponent() {\n if (this.currentIndex && this.currentIndex !== this.prevActiveStepIndex) {\n Updates.enqueue(() => {\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n });\n }\n }\n /**\n * Gets the active step index.\n * @private\n * @returns {number}\n */\n getActiveIndex() {\n var _a;\n const id = (_a = this.activeid) !== null && _a !== void 0 ? _a : \"\";\n if (id !== undefined) {\n return this.stepIds.indexOf(id) === -1 ? 0 : this.stepIds.indexOf(id);\n }\n else {\n return 0;\n }\n }\n /**\n * Gets the IDs of the steps.\n * @private\n * @returns {string[]}\n */\n getStepIds() {\n return this.slottedsteps.map((step) => {\n var _a;\n return ((_a = step.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `fabric-wizard-step-${parseInt(uniqueId())}`);\n });\n }\n /**\n * Gets the IDs of the panels.\n * @private\n * @returns {string[]}\n */\n getPanelIds() {\n return this.slottedpanels.map((panel) => {\n var _a;\n return ((_a = panel.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `fabric-wizard-panel-${parseInt(uniqueId())}`);\n });\n }\n /**\n * Handles the step state change event.\n * @private\n * @param {CustomEvent} e - The custom event.\n */\n handleWizardStepStateChange(e) {\n const index = e.detail.index;\n const active = e.detail.active;\n if (active) {\n this.currentIndex = index;\n }\n this.slottedpanels[index].state = e.detail.state;\n this.setSteps();\n }\n /**\n * Handles the panel state change event.\n * @private\n * @param {CustomEvent} e - The custom event.\n */\n handlePanelStateChange(e) {\n const index = e.detail.index;\n const active = e.detail.active;\n if (active) {\n this.currentIndex = index;\n }\n this.slottedsteps[index].state = e.detail.state;\n this.setSteps();\n }\n /**\n * Emits a wizard change event.\n * @fires wizard-change\n * @private\n */\n emitChange() {\n this.$emit(\"wizard-change\", {\n currentIndex: this.currentIndex,\n activeid: this.activeid\n });\n }\n /**\n * Emits a wizard complete event.\n * @fires wizard-complete\n * @private\n */\n emitComplete() {\n this.dispatchEvent(new CustomEvent(WizardEvents.wizardComplete, {\n bubbles: true,\n composed: true\n }));\n }\n setAllStepTabIndex(tabIndex) {\n this.slottedsteps.forEach((step) => {\n step.setAttribute(\"tabindex\", String(tabIndex));\n });\n }\n focusFirstEnabledStep() {\n const firstEnabled = this.slottedsteps.find((step) => !step.disabled);\n if (firstEnabled) {\n this.setAllStepTabIndex(-1);\n firstEnabled.setAttribute(\"tabindex\", \"0\");\n firstEnabled.focus();\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Wizard.prototype, \"numbered\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Wizard.prototype, \"linear\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-on-complete\" })\n], Wizard.prototype, \"disableOnComplete\", void 0);\n__decorate([\n attr({ attribute: \"current-index\", converter: nullableNumberConverter })\n], Wizard.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"stepcontainer\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"panelcontainer\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedsteps\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedactions\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedpanels\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"activeid\", void 0);\n//# sourceMappingURL=wizard.js.map","import { colorNeutralBackground2, colorNeutralBackground3, colorNeutralForeground3, display, spacingHorizontalM, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXXL, spacingVerticalM, spacingVerticalS, spacingVerticalXS, spacingVerticalXXL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n height: 100%;\n width: 100%;\n --wizard-overflow-tablist-width: calc(\n ${spacingHorizontalXXXL} + ${spacingHorizontalXXXL} +\n ${spacingHorizontalXXXL}\n );\n --wizard-overflow-step-width: calc(\n ${spacingHorizontalXXL} + ${spacingHorizontalXS}\n );\n --wizard-scrollbar-radius: ${spacingHorizontalXS};\n --wizard-scrollbar-spacing: ${spacingHorizontalXS};\n --wizard-scrollbar-thumb-color: ${colorNeutralForeground3};\n --wizard-scrollbar-track-color: ${colorNeutralBackground3};\n }\n\n :host(.overflow) .steps {\n justify-content: flex-start;\n overflow-x: auto;\n overflow-y: scroll;\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n }\n\n .steps {\n background-color: ${colorNeutralBackground3};\n box-sizing: border-box;\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n position: sticky;\n top: 0;\n inset-inline: 0;\n width: 100%;\n z-index: 9;\n display: flex;\n flex-direction: row;\n }\n\n .wizard {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .title {\n color: ${colorNeutralForeground3};\n }\n\n .panels-container {\n background: ${colorNeutralBackground2};\n }\n\n .button-container {\n gap: ${spacingHorizontalM};\n order: 1;\n display: flex;\n width: 100%;\n justify-self: flex-end;\n justify-self: self-end;\n justify-content: flex-end;\n }\n\n .toolbar {\n display: var(--wizard-toolbar-display, flex);\n gap: ${spacingVerticalXS};\n flex-direction: column;\n justify-content: space-between;\n padding-block-start: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: 0;\n margin-bottom: ${spacingVerticalS};\n }\n .title {\n order: 2;\n }\n\n .steps::-webkit-scrollbar-track {\n background-color: var(--wizard-scrollbar-track-color);\n border-radius: var(--wizard-scrollbar-radius);\n }\n\n .steps::-webkit-scrollbar-thumb {\n background-color: var(--wizard-scrollbar-thumb-color);\n border-radius: var(--wizard-scrollbar-radius);\n margin-inline-end: var(--wizard-scrollbar-spacing);\n }\n\n .steps::-webkit-scrollbar-button {\n display: none; /* Hide scrollbar arrows */\n }\n\n @media (min-width: 32.5rem /* @design-token-ok */) {\n :host {\n padding-top: 0;\n }\n .toolbar {\n flex-direction: row;\n margin-bottom: 0;\n gap: 0;\n }\n .panels-container {\n width: 100%;\n }\n .wizard {\n flex-direction: row;\n }\n .title {\n order: 1;\n flex-shrink: 0;\n }\n .buttons-container {\n order: 2;\n width: fit-content;\n }\n .steps {\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n position: relative;\n max-width: var(--wizard-overflow-tablist-width);\n }\n .steps {\n flex-direction: column;\n }\n :host(.overflow) .steps {\n width: fit-content;\n justify-content: flex-start;\n align-items: center;\n overflow-x: unset;\n overflow-y: unset;\n width: var(--wizard-overflow-step-width);\n }\n }\n\n @media (min-width: 63.9375rem /* @design-token-ok */) {\n .steps {\n max-width: var(\n --wizard-tablist-width,\n var(--wizard-overflow-tablist-width)\n );\n width: var(--wizard-tablist-width, var(--wizard-overflow-tablist-width));\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXXL}\n ${spacingVerticalXXL} ${spacingHorizontalXXL};\n }\n :host(.overflow) .steps {\n width: fit-content;\n }\n }\n`;\n//# sourceMappingURL=wizard.styles.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { Wizard } from \"./wizard.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Stepper:class)} component.\n * @public\n */\nexport function wizardTemplate() {\n return html `\n <template\n ?hidden=\"${(x) => x.hidden}\"\n ?numbered=\"${(x) => x.numbered}\"\n ?linear=\"${(x) => x.linear}\"\n ?disable-on-complete=\"${(x) => x.disableOnComplete}\"\n current-index=\"${(x) => x.currentIndex}\"\n aria-hidden=\"${(x) => (x.hidden ? \"true\" : \"false\")}\"\n >\n <div class=\"wizard\" part=\"wizard\">\n <slot name=\"start\"></slot>\n <nav\n role=\"tablist\"\n class=\"steps\"\n part=\"steps\"\n tabindex=\"0\"\n @keydown=\"${(x, c) => x.handleStepContainerKeydown(c.event)}\"\n ${ref(\"stepcontainer\")}\n >\n <slot name=\"step\" ${slotted(\"slottedsteps\")}></slot>\n </nav>\n <div\n class=\"panels-container\"\n part=\"panels-container\"\n ${ref(\"panelcontainer\")}\n >\n <div class=\"toolbar\" part=\"toolbar\">\n <div class=\"title\" part=\"title\"><slot name=\"title\"></slot></div>\n <div class=\"button-container\" part=\"button-container\">\n <slot name=\"actions\" ${slotted(\"slottedactions\")}></slot>\n </div>\n </div>\n <div class=\"panels\" part=\"panels\">\n <slot name=\"panel\" ${slotted(\"slottedpanels\")}></slot>\n </div>\n <slot name=\"end\"></slot>\n </div>\n </div>\n </template>\n `;\n}\nexport const template = wizardTemplate();\n//# sourceMappingURL=wizard.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Wizard } from \"./wizard.js\";\nimport { styles } from \"./wizard.styles.js\";\nimport { template } from \"./wizard.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard>\n */\nexport const definition = Wizard.compose({\n name: `${DesignSystem.prefix}-wizard`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard.definition.js.map","import { colorNeutralBackground2, colorNeutralForeground1, colorNeutralStroke1, display, spacingHorizontalXXL, spacingVerticalL, spacingVerticalXS, spacingVerticalXXL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard Panel styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n :host {\n height: 100%;\n background: ${colorNeutralBackground2};\n }\n\n :host([active]) {\n display: block;\n }\n\n .content {\n padding-block-start: ${spacingVerticalXXL};\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: 0;\n }\n\n .title {\n padding-block-start: 0;\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: ${spacingVerticalXS};\n color: ${colorNeutralForeground1};\n }\n .footer {\n padding-block: ${spacingVerticalL};\n padding-inline: ${spacingHorizontalXXL};\n border-top: 1px solid ${colorNeutralStroke1};\n }\n`;\n//# sourceMappingURL=wizard-panel.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { WizardPanel } from \"./wizard-panel.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(WizardPanel:class)} component.\n * @public\n */\nexport function wizardPanelTemplate() {\n return html `\n <template\n aria-hidden=\"${(x) => x.hidden}\"\n state=\"${(x) => x.state}\"\n ?active=\"${(x) => x.active}\"\n ?hidden=\"${(x) => x.hidden}\"\n slot=\"panel\"\n >\n <div class=\"panel\" part=\"panel\">\n <slot name=\"start\"></slot>\n <div class=\"title\" part=\"title\">\n <slot name=\"title\"></slot>\n </div>\n <div class=\"content\" part=\"content\"><slot></slot></div>\n <div class=\"footer\" part=\"footer\"><slot name=\"footer\"></slot></div>\n <slot name=\"end\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = wizardPanelTemplate();\n//# sourceMappingURL=wizard-panel.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { WizardPanel } from \"./wizard-panel.js\";\nimport { styles } from \"./wizard-panel.styles.js\";\nimport { template } from \"./wizard-panel.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard-panel>\n */\nexport const definition = WizardPanel.compose({\n name: `${DesignSystem.prefix}-wizard-panel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard-panel.definition.js.map","import { colorBrandForeground2, colorNeutralBackground4, colorNeutralForeground1, colorNeutralForegroundDisabled, colorNeutralForegroundOnBrand, colorNeutralStrokeDisabled, colorPaletteRedForeground3, display, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, spacingHorizontalS, spacingHorizontalM, spacingHorizontalXXL, spacingVerticalXXS, spacingVerticalL, spacingVerticalM, strokeWidthThin, strokeWidthThick } from \"@fluentui/web-components\";\nimport { sizeHorizontalM, sizeHorizontalXL, sizeHorizontalXXL, sizeVerticalM, sizeVerticalXL, sizeVerticalXXL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard Step styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n .step {\n unset: all;\n background: transparent;\n color: ${colorNeutralForeground1};\n text-align: start;\n border: 0 none;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n font-family: ${fontFamilyBase};\n position: relative;\n align-items: flex-start;\n column-gap: ${spacingHorizontalM};\n flex-shrink: 0;\n flex-grow: 1;\n }\n\n :host([hide-connector]) .step-connector,\n .summary,\n .title,\n .details {\n display: none;\n }\n\n :host([disabled]) .step {\n cursor: not-allowed;\n pointer-events: none;\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) .step-connector {\n background: ${colorNeutralStrokeDisabled};\n }\n\n :host([disabled]) .icon {\n background: ${colorNeutralBackground4};\n border-color: ${colorNeutralStrokeDisabled};\n }\n\n :host(.overflow) {\n flex-shrink: 0;\n flex-grow: 0;\n width: 36px; /* @design-token-ok: component-specific step indicator container width */\n }\n\n :host(.first) {\n padding-inline-start: ${spacingHorizontalXXL};\n }\n\n :host(.first) .step-connector {\n inset-inline-start: 28px; /* @design-token-ok: connector offset aligns with step indicator center */\n }\n\n :host(.last) {\n padding-inline-end: ${spacingHorizontalXXL};\n }\n\n .state-indicator {\n width: ${sizeHorizontalXXL};\n height: ${sizeVerticalXXL};\n display: flex;\n justify-content: center;\n align-items: center;\n padding: ${spacingVerticalXXS};\n box-sizing: border-box;\n }\n\n .icon {\n position: relative;\n z-index: 9;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${sizeHorizontalXL};\n height: ${sizeVerticalXL};\n font-weight: var(--fontWeightRegular);\n line-height: var(--lineHeightBase100);\n font-size: var(--fontSizeBase200);\n border-radius: var(--borderRadiusCircular);\n border: ${strokeWidthThick} solid var(--colorNeutralForeground2);\n background: var(--colorNeutralBackground4);\n flex-shrink: 0;\n box-sizing: border-box;\n }\n\n .order {\n font-size: var(--fontSizeBase200);\n font-weight: var(--fontWeightSemibold);\n line-height: var(--lineHeightBase200);\n margin-bottom: 1px; /* @design-token-ok: single-pixel optical alignment correction */\n }\n\n .step-connector {\n position: absolute;\n top: ${spacingVerticalM};\n inset-inline-start: ${spacingHorizontalS};\n height: ${strokeWidthThick};\n width: 100%;\n background: var(--colorNeutralForegroundDisabled);\n }\n\n .title {\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .details {\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n }\n\n .icon svg {\n color: ${colorNeutralForegroundOnBrand};\n fill: ${colorNeutralForegroundOnBrand};\n width: ${sizeHorizontalM};\n height: ${sizeVerticalM};\n box-sizing: border-box;\n vertical-align: middle;\n }\n\n :host([hide-connector]) .step {\n width: fit-content;\n flex-grow: 0;\n min-width: unset;\n }\n\n :host([aria-current=\"step\"]) .title {\n font-weight: ${fontWeightSemibold};\n }\n\n :host([state=\"complete\"]) .icon,\n :host([state=\"complete\"]) .step-connector,\n :host([state=\"complete\"].first) .step-connector,\n :host([active]) .icon {\n background: ${colorBrandForeground2};\n border-color: ${colorBrandForeground2};\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host([state=\"complete\"]) .icon svg {\n margin-top: ${spacingVerticalXXS};\n }\n\n :host([state=\"error\"]) .icon {\n background: ${colorPaletteRedForeground3};\n border-color: ${colorPaletteRedForeground3};\n }\n\n @media (min-width: 32.5rem /* @design-token-ok: aligns with wizard layout breakpoint */) {\n :host(.overflow) .step,\n :host .step,\n :host(.first) .step {\n display: flex;\n align-items: flex-start;\n width: fit-content;\n height: fit-content;\n max-width: 268px; /* @design-token-ok: component-specific step max-width */\n padding: 0 0 ${spacingVerticalL} 0;\n column-gap: ${spacingHorizontalM};\n flex-grow: 0;\n }\n :host(.first) .step-connector,\n .step-connector {\n position: absolute;\n width: ${strokeWidthThick};\n inset-inline-start: 11px; /* @design-token-ok: connector aligns with step indicator center */\n height: 100%;\n background: var(--colorNeutralForegroundDisabled);\n min-height: 22px; /* @design-token-ok: minimum connector length */\n }\n }\n\n @media (min-width: calc(${spacingHorizontalXXL} * 43 - ${spacingHorizontalS} - ${strokeWidthThin})) {\n :host .step,\n :host(.first) .step {\n flex-direction: row;\n }\n .step-connector {\n inset-inline-start: 11px; /* @design-token-ok: connector aligns with step indicator center */\n }\n :host([aria-current=\"step\"]) .details,\n .title {\n display: block;\n }\n .order {\n display: none;\n }\n .summary {\n display: flex;\n flex-direction: column;\n width: fit-content;\n gap: ${spacingVerticalXXS};\n }\n }\n :host(:hover) .step {\n cursor: pointer;\n }\n :host([disabled]) .step {\n cursor: not-allowed;\n }\n`;\n//# sourceMappingURL=wizard-step.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { WizardStep } from \"./wizard-step.js\";\nconst Checkmark16Regular = html `\n <svg\n fill=\"currentColor\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.86 3.66a.5.5 0 0 1-.02.7l-7.93 7.48a.6.6 0 0 1-.84-.02L2.4 9.1a.5.5 0 0 1 .72-.7l2.4 2.44 7.65-7.2a.5.5 0 0 1 .7.02Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n`;\nconst Dismiss16Regular = html `\n <svg\n fill=\"currentColor\"\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m2.4 2.55.07-.08a.75.75 0 0 1 .98-.07l.08.07L8 6.94l4.47-4.47a.75.75 0 1 1 1.06 1.06L9.06 8l4.47 4.47c.27.27.3.68.07.98l-.07.08a.75.75 0 0 1-.98.07l-.08-.07L8 9.06l-4.47 4.47a.75.75 0 0 1-1.06-1.06L6.94 8 2.47 3.53a.75.75 0 0 1-.07-.98l.07-.08-.07.08Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n`;\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Step:class)} component.\n * @public\n */\nexport function baseStepTemplate() {\n return html `\n <button\n ?hide-connector=\"${(x) => x.hideConnector}\"\n ?active=\"${(x) => x.active}\"\n ?disabled=\"${(x) => x.disabled}\"\n ?numbered=\"${(x) => x.numbered}\"\n slot=\"step\"\n class=\"step\"\n part=\"step\"\n role=\"tab\"\n aria-label=\"${(x) => x.ariaLabel}\"\n aria-current=\"${(x) => (x.active ? \"step\" : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n >\n <slot name=\"start\"></slot>\n <div class=\"state-indicator\" part=\"state-indicator\">\n <div class=\"icon\" part=\"icon\">\n ${(x) => x.state === \"incomplete\"\n ? html `\n <slot name=\"incomplete\">\n <span class=\"order\" part=\"order\">\n ${(x) => (x.numbered ? x.index + 1 : \"\")}\n </span>\n </slot>\n `\n : \"\"}\n ${(x) => x.state === \"complete\"\n ? html `\n <slot name=\"complete\">${Checkmark16Regular}</slot>\n `\n : \"\"}\n ${(x) => x.state === \"error\"\n ? html `\n <slot name=\"error\">${Dismiss16Regular}</slot>\n `\n : \"\"}\n </div>\n </div>\n <div class=\"summary\" part=\"summary\">\n <div class=\"title\" part=\"title\">\n <slot name=\"title\">${(x) => x.title}</slot>\n </div>\n <div class=\"details\" part=\"details\">\n <slot name=\"details\"></slot>\n </div>\n </div>\n <div part=\"step-connector\" class=\"step-connector\"></div>\n <slot name=\"end\"></slot>\n </button>\n `;\n}\nexport const template = baseStepTemplate();\n//# sourceMappingURL=wizard-step.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { WizardStep } from \"./wizard-step.js\";\nimport { styles } from \"./wizard-step.styles.js\";\nimport { template } from \"./wizard-step.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard-step>\n */\nexport const definition = WizardStep.compose({\n name: `${DesignSystem.prefix}-wizard-step`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard-step.definition.js.map","import { AccordionItem as FluentAccordionItem } from \"@fluentui/web-components\";\n/**\n * AccordionItem\n * @summary An Accordion Item Custom HTML Element that can be expanded or collapsed, with customizable size and marker position.\n *\n * @example\n * ```html\n * <fabric-accordion-item size=\"large\" marker-position=\"end\" block>\n * <span slot=\"heading\">Section 1</span>\n * Lorem ipsum dolor sit amet...\n * </fabric-accordion-item>\n * ```\n *\n * @attr {AccordionItemSize | undefined} size - The size of the accordion item header which can be small, medium, large, or extra-large.\n * @attr {AccordionItemMarkerPosition | undefined} marker-position - The position of the expand/collapse icon which can be at the start or end of the accordion.\n * @attr {number | undefined} heading-level - The level of the heading.\n * @attr {boolean | undefined} expanded - Whether the accordion item is expanded.\n * @attr {boolean | undefined} disabled - Whether the accordion item is disabled.\n * @attr {boolean | undefined} block - Sets the width of the focus state to fill the container.\n *\n * @prop {AccordionItemSize | undefined} size - The size of the accordion item header which can be small, medium, large, or extra-large.\n * @prop {AccordionItemMarkerPosition | undefined} markerPosition - The position of the expand/collapse icon which can be at the start or end of the accordion.\n * @prop {number | undefined} headingLevel - The level of the heading.\n * @prop {boolean | undefined} expanded - Whether the accordion item is expanded.\n * @prop {boolean | undefined} disabled - Whether the accordion item is disabled.\n * @prop {boolean | undefined} block - Sets the width of the focus state to fill the container.\n *\n * @slot heading - The content for the accordion item's heading.\n * @slot - The default slot for the accordion item's content.\n * @slot marker-expanded - The content for the expanded state marker, defaults to a chevron down icon.\n * @slot marker-collapsed - The content for the collapsed state marker, defaults to a chevron right icon.\n *\n * @csspart heading - The accordion item's heading container.\n * @csspart button - The button element used to expand or collapse the item.\n * @csspart content - The container for the accordion item's content.\n *\n * @extends FluentAccordionItem\n * @tagname fabric-accordion-item\n * @public\n */\nexport class AccordionItem extends FluentAccordionItem {\n}\n//# sourceMappingURL=accordion-item.js.map","import { AccordionItemSize as FluentAccordionItemSize, AccordionItemMarkerPosition as FluentAccordionItemMarkerPosition } from \"@fluentui/web-components\";\n/**\n * Available size options for the AccordionItem component.\n * @public\n */\nexport const AccordionItemSizes = { ...FluentAccordionItemSize };\n/**\n * Defines the available marker positions for accordion items.\n * Extends the base Fluent accordion marker position options.\n * @public\n */\nexport const AccordionItemMarkerPositions = {\n ...FluentAccordionItemMarkerPosition\n};\n//# sourceMappingURL=accordion-item.options.js.map","import { accordionItemStyles, accordionItemTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { AccordionItem } from \"./accordion-item.js\";\n/**\n * @public\n * @remarks\n * HTML Element: <fabric-accordion-item>\n */\nexport const definition = AccordionItem.compose({\n name: `${DesignSystem.prefix}-accordion-item`,\n template: accordionItemTemplate,\n styles: accordionItemStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-item.definition.js.map","import { Accordion as FluentAccordion } from \"@fluentui/web-components\";\n/**\n * Accordion\n * @summary An Accordion Custom HTML Element that implements ARIA Accordion, allowing for single or multiple item expansion.\n *\n * @example\n * ```html\n * <fabric-accordion expand-mode=\"multi\">\n * <fabric-accordion-item>Item 1</fabric-accordion-item>\n * <fabric-accordion-item>Item 2</fabric-accordion-item>\n * <fabric-accordion-item>Item 3</fabric-accordion-item>\n * </fabric-accordion>\n * ```\n *\n * @attr {AccordionExpandMode} expand-mode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @prop {AccordionExpandMode} expandmode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @slot - The default slot for the accordion items\n *\n * @method expandmodeChanged - Called when the expand mode changes.\n * @method findExpandedItem - Find the first expanded item in the accordion.\n * @method isSingleExpandMode - Checks if the accordion is in single expand mode.\n * @method setSingleExpandMode - Controls the behavior of the accordion in single expand mode.\n *\n * @fires change - Fires a custom 'change' event when the active item changes.\n *\n * @extends FluentAccordion\n * @tagname fabric-accordion\n * @public\n */\nexport class Accordion extends FluentAccordion {\n}\n//# sourceMappingURL=accordion.js.map","import { accordionStyles, accordionTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Accordion } from \"./accordion.js\";\n/**\n * The Fabric Accordion component.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-accordion>\n */\nexport const definition = Accordion.compose({\n name: `${DesignSystem.prefix}-accordion`,\n template: accordionTemplate,\n styles: accordionStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion.definition.js.map","import { AccordionExpandMode as FluentAccordionExpandMode } from \"@fluentui/web-components\";\n/** Expand mode values for {@link Accordion}. */\nexport const AccordionExpandModes = { ...FluentAccordionExpandMode };\n//# sourceMappingURL=accordion.options.js.map","import { Link as FluentLink } from \"@fluentui/web-components\";\n/**\n * Link\n * @summary A Link Custom HTML Element based on Fluent UI's Link with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-link href=\"https://example.com\" appearance=\"subtle\">\n * Visit Example\n * </fabric-link>\n * ```\n *\n * @attr {LinkAppearance} appearance - The appearance the link should have.\n * @attr {boolean | undefined} inline - The link is inline with text. In chromium browsers, if the link is contained within a semantic text element (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`) or `fluent-text`, `:host-context()` ensures inline links are styled appropriately.\n * @attr {string | undefined} download - Prompts the user to save the linked URL.\n * @attr {string | undefined} href - The URL the hyperlink references.\n * @attr {string | undefined} hreflang - Hints at the language of the referenced resource.\n * @attr {string | undefined} ping - The ping attribute.\n * @attr {string | undefined} referrerpolicy - The referrerpolicy attribute. See The `referrerpolicy` attribute.\n * @attr {string | undefined} rel - The rel attribute. See The `rel` attribute.\n * @attr {string | undefined} target - The target attribute.\n * @attr {string | undefined} type - The type attribute.\n *\n * @prop {string} appearance - The appearance the link should have.\n * @prop {boolean} inline - The link is inline with text. In chromium browsers, if the link is contained within a semantic text element (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`) or `fluent-text`, `:host-context()` ensures inline links are styled appropriately.\n * @prop {string} download - Prompts the user to save the linked URL.\n * @prop {string} href - The URL the hyperlink references.\n * @prop {string} hreflang - Hints at the language of the referenced resource.\n * @prop {string} ping - The ping attribute.\n * @prop {string} referrerpolicy - The referrerpolicy attribute. See The `referrerpolicy` attribute.\n * @prop {string} rel - The rel attribute. See The `rel` attribute.\n * @prop {string} target - The target attribute.\n * @prop {string} type - The type attribute.\n *\n * @slot - The default slot for link content.\n * @slot start - Content which can be provided before the link content\n * @slot end - Content which can be provided after the link content\n *\n * @csspart control - The anchor element.\n * @csspart content - The element wrapping anchor content.\n *\n * @method keydownHandler - Handles keydown events for the anchor.\n *\n * @extends FluentLink\n * @tagname fabric-link\n * @public\n */\nexport class Link extends FluentLink {\n}\n//# sourceMappingURL=link.js.map","import { LinkAppearance as FluentLinkAppearance, LinkTarget as FluentLinkTarget, AnchorTarget as FluentAnchorTarget } from \"@fluentui/web-components\";\n/** Appearance values for {@link Link}. */\nexport const LinkAppearances = {\n ...FluentLinkAppearance\n};\nexport const LinkAppearance = LinkAppearances;\n/** Target values for {@link Link}. */\nexport const LinkTargets = { ...FluentLinkTarget };\nexport const LinkTarget = LinkTargets;\n/** Anchor target values exposed for downstream consumers. */\nexport const AnchorTargets = { ...FluentAnchorTarget };\nexport const AnchorTarget = AnchorTargets;\n//# sourceMappingURL=link.options.js.map","import { Link } from \"./link.js\";\nimport { LinkStyles, LinkTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Link component.\n *\n * @public\n */\nexport const definition = Link.compose({\n name: `${DesignSystem.prefix}-link`,\n template: LinkTemplate,\n styles: LinkStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=link.definition.js.map","import { Avatar as FluentAvatar } from \"@fluentui/web-components\";\n/**\n * Avatar\n * @summary An Avatar Custom HTML Element based on FluentAvatar, including style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-avatar\n * shape=\"circular\"\n * appearance=\"ring\"\n * size=\"48\"\n * color=\"colorful\"\n * color-id=\"team-1\"\n * >\n * JD\n * <span slot=\"badge\">5</span>\n * </fabric-avatar>\n * ```\n *\n * @attr {AvatarShape | undefined} shape - The avatar can have a circular or square shape.\n * @attr {AvatarAppearance | undefined} appearance - The appearance when `active=\"active\"`.\n * @attr {AvatarSize | undefined} size - Size of the avatar in pixels.\n * @attr {AvatarColor | undefined} color - The color when displaying either an icon or initials.\n * @attr {string} color-id - Specify a string to be used instead of the name, to determine which color to use when color=\"colorful\".\n * @attr {string} name - The name of the avatar.\n * @attr {string} initials - The initials of the avatar.\n *\n * @prop {AvatarShape | undefined} shape - The avatar can have a circular or square shape.\n * @prop {AvatarAppearance | undefined} appearance - The appearance when `active=\"active\"`.\n * @prop {AvatarSize | undefined} size - Size of the avatar in pixels.\n * @prop {AvatarColor | undefined} color - The color when displaying either an icon or initials.\n * @prop {string} colorId - Specify a string to be used instead of the name, to determine which color to use when color=\"colorful\".\n * @prop {string} name - The name of the avatar.\n * @prop {string} initials - The initials of the avatar.\n *\n * @slot - The default slot for the avatar's initials or icon.\n * @slot badge - Slot for adding a badge to the avatar.\n *\n * @extends FluentAvatar\n * @tagname fabric-avatar\n * @public\n */\nexport class Avatar extends FluentAvatar {\n}\n//# sourceMappingURL=avatar.js.map","import { AvatarActive as FluentAvatarActive, AvatarAppearance as FluentAvatarAppearance, AvatarColor as FluentAvatarColor, AvatarNamedColor as FluentAvatarNamedColor, AvatarShape as FluentAvatarShape, AvatarSize as FluentAvatarSize } from \"@fluentui/web-components\";\n/** Active state values for {@link Avatar}. */\nexport const AvatarActives = { ...FluentAvatarActive };\nexport const AvatarActive = AvatarActives;\n/** Appearance values for {@link Avatar}. */\nexport const AvatarAppearances = { ...FluentAvatarAppearance };\nexport const AvatarAppearance = AvatarAppearances;\n/** Color scheme values for {@link Avatar}. */\nexport const AvatarColors = { ...FluentAvatarColor };\nexport const AvatarColor = AvatarColors;\n/** Named color values for {@link Avatar}. */\nexport const AvatarNamedColors = { ...FluentAvatarNamedColor };\nexport const AvatarNamedColor = AvatarNamedColors;\n/** Shape values for {@link Avatar}. */\nexport const AvatarShapes = { ...FluentAvatarShape };\nexport const AvatarShape = AvatarShapes;\n/** Size values for {@link Avatar}. */\nexport const AvatarSizes = { ...FluentAvatarSize };\nexport const AvatarSize = AvatarSizes;\n//# sourceMappingURL=avatar.options.js.map","import { AvatarStyles, AvatarTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Avatar } from \"./avatar.js\";\n/**\n * The Fabric Avatar component.\n *\n * @public\n */\nexport const definition = Avatar.compose({\n name: `${DesignSystem.prefix}-avatar`,\n template: AvatarTemplate,\n styles: AvatarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=avatar.definition.js.map","import { Badge as FluentBadge } from \"@fluentui/web-components\";\n/**\n * Badge\n * @summary A badge component representing a small count or label, often used to show status, categorization, or decorative purposes.\n *\n * @example\n * ```html\n * <fabric-badge appearance=\"filled\" color=\"brand\" shape=\"rounded\" size=\"medium\">\n * <span slot=\"start\">🌟</span>\n * 2\n * <span slot=\"end\">🔔</span>\n * </fabric-badge>\n * ```\n *\n * @attr {BadgeAppearance} appearance - The appearance the badge should have. One of: 'outline', 'filled', 'ghost', 'tint'.\n * @attr {BadgeColor} color - The color the badge should have. One of: 'subtle', 'brand', 'danger', 'important', 'informative', 'severe', 'success', 'warning'.\n * @attr {BadgeShape} shape - The shape the badge should have. One of: 'circular', 'rounded', 'square'.\n * @attr {BadgeSize} size - The size the badge should have. One of: 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large'.\n *\n * @prop {BadgeAppearance} appearance - The appearance the badge should have. One of: 'outline', 'filled', 'ghost', 'tint'.\n * @prop {BadgeColor} color - The color the badge should have. One of: 'subtle', 'brand', 'danger', 'important', 'informative', 'severe', 'success', 'warning'.\n * @prop {BadgeShape} shape - The shape the badge should have. One of: 'circular', 'rounded', 'square'.\n * @prop {BadgeSize} size - The size the badge should have. One of: 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large'.\n *\n * @slot start - Content to be placed at the start of the badge.\n * @slot - Default slot for the badge content.\n * @slot end - Content to be placed at the end of the badge.\n *\n * @method appearanceChanged - Handles changes to appearance attribute custom states.\n * @method colorChanged - Handles changes to color attribute custom states.\n * @method shapeChanged - Handles changes to shape attribute custom states.\n * @method sizeChanged - Handles changes to size attribute custom states.\n *\n * @extends FluentBadge\n * @tagname fabric-badge\n * @public\n */\nexport class Badge extends FluentBadge {\n}\n//# sourceMappingURL=badge.js.map","import { BadgeAppearance as FluentBadgeAppearance, BadgeColor as FluentBadgeColor, BadgeShape as FluentBadgeShape, BadgeSize as FluentBadgeSize } from \"@fluentui/web-components\";\n/** Appearance values for {@link Badge}. */\nexport const BadgeAppearances = { ...FluentBadgeAppearance };\nexport const BadgeAppearance = BadgeAppearances;\n/** Color values for {@link Badge}. */\nexport const BadgeColors = { ...FluentBadgeColor };\nexport const BadgeColor = BadgeColors;\n/** Shape values for {@link Badge}. */\nexport const BadgeShapes = { ...FluentBadgeShape };\nexport const BadgeShape = BadgeShapes;\n/** Size values for {@link Badge}. */\nexport const BadgeSizes = { ...FluentBadgeSize };\nexport const BadgeSize = BadgeSizes;\n//# sourceMappingURL=badge.options.js.map","import { BadgeStyles, BadgeTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Badge } from \"./badge.js\";\n/**\n * The Fabric Badge component.\n *\n * @public\n */\nexport const definition = Badge.compose({\n name: `${DesignSystem.prefix}-badge`,\n template: BadgeTemplate,\n styles: BadgeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=badge.definition.js.map","import { Checkbox as FluentCheckbox } from \"@fluentui/web-components\";\n/**\n * Checkbox\n * @summary A Checkbox Custom HTML Element that implements the ARIA checkbox role with customizable states and indicators.\n *\n * @example\n * ```html\n * <fabric-checkbox\n * ?checked=\"${x => x.checked}\"\n * ?disabled=\"${x => x.disabled}\"\n * ?indeterminate=\"${x => x.indeterminate}\"\n * shape=\"${x => x.shape}\"\n * size=\"${x => x.size}\"\n * >\n * <span slot=\"checked-indicator\">[Checked Indicator]</span>\n * <span slot=\"indeterminate-indicator\">[Indeterminate Indicator]</span>\n * </fabric-checkbox>\n * ```\n *\n * @attr {boolean | undefined} checked - The initial checked state of the element.\n * @attr {boolean | undefined} disabled - The initial disabled state of the control.\n * @attr {boolean | undefined} indeterminate - Indicates that the element is in an indeterminate or mixed state.\n * @attr {CheckboxShape | undefined} shape - Indicates the shape of the checkbox.\n * @attr {CheckboxSize | undefined} size - Indicates the size of the control.\n * @attr {boolean | undefined} required - Indicates that the element is required.\n * @attr {string | undefined} name - The name of the checkbox.\n * @attr {string | undefined} value - The value of the checkbox.\n *\n * @prop {boolean} indeterminate - Indicates the indeterminate state of the checkbox.\n * @prop {CheckboxShape} shape - Indicates the shape of the checkbox, can be 'circular' or 'square'.\n * @prop {CheckboxSize} size - Indicates the size of the checkbox, can be 'medium' or 'large'.\n *\n * @slot checked-indicator - The checked indicator.\n * @slot indeterminate-indicator - The indeterminate indicator.\n *\n * @csspart checked-indicator - The checked state indicator.\n * @csspart indeterminate-indicator - The indeterminate state indicator.\n *\n * @method toggleChecked - Toggles the checked state of the control.\n *\n * @fires change - Emits a custom change event when the checked state changes.\n * @fires input - Emits a custom input event when the checked state changes.\n *\n * @extends FluentCheckbox\n * @tagname fabric-checkbox\n * @public\n */\nexport class Checkbox extends FluentCheckbox {\n}\n//# sourceMappingURL=checkbox.js.map","import { CheckboxShape as FluentCheckboxShape, CheckboxSize as FluentCheckboxSize } from \"@fluentui/web-components\";\nexport const CheckboxShapes = {\n ...FluentCheckboxShape\n};\nexport const CheckboxSizes = {\n ...FluentCheckboxSize\n};\n//# sourceMappingURL=checkbox.options.js.map","import { CheckboxStyles, CheckboxTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Checkbox } from \"./checkbox.js\";\n/**\n * The Fabric Checkbox component.\n *\n * @public\n */\nexport const definition = Checkbox.compose({\n name: `${DesignSystem.prefix}-checkbox`,\n template: CheckboxTemplate,\n styles: CheckboxStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=checkbox.definition.js.map","import { CounterBadge as FluentCounterBadge } from \"@fluentui/web-components\";\n/**\n * CounterBadge\n * @summary A CounterBadge component representing a numeric or dot indicator for UI elements, often used to show the number of items in a list or as a notification count.\n *\n * @example\n * ```html\n * <fabric-counter-badge appearance=\"filled\" color=\"brand\" shape=\"circular\" size=\"medium\" count=\"5\" overflow-count=\"99\" show-zero=\"false\" dot=\"false\"></fabric-counter-badge>\n * ```\n *\n * @attr {CounterBadgeAppearance | undefined} appearance - The appearance the badge should have.\n * @attr {CounterBadgeColor | undefined} color - The color the badge should have.\n * @attr {CounterBadgeShape | undefined} shape - The shape the badge should have.\n * @attr {CounterBadgeSize | undefined} size - The size the badge should have.\n * @attr {number} count - The count the badge should have.\n * @attr {number} overflow-count - Max number to be displayed.\n * @attr {boolean} show-zero - If the badge should be shown when count is 0.\n * @attr {boolean} dot - If a dot should be displayed without the count.\n *\n * @prop {number} count - The numeric value for the badge. If not set, defaults to 0.\n * @prop {number} overflowCount - The maximum number to display before showing '+'. Defaults to 99.\n * @prop {boolean} showZero - Determines whether the badge is shown when the count is 0. Defaults to false.\n * @prop {boolean} dot - Displays a dot instead of the count when set to true. Defaults to false.\n *\n * @extends FluentCounterBadge\n * @tagname fabric-counter-badge\n * @public\n */\nexport class CounterBadge extends FluentCounterBadge {\n}\n//# sourceMappingURL=counter-badge.js.map","import { CounterBadgeAppearance as FluentCounterBadgeAppearance, CounterBadgeColor as FluentCounterBadgeColor, CounterBadgeShape as FluentCounterBadgeShape, CounterBadgeSize as FluentCounterBadgeSize } from \"@fluentui/web-components\";\n/**\n * Appearances for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeAppearances = {\n ...FluentCounterBadgeAppearance\n};\n/**\n * Colors for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeColors = {\n ...FluentCounterBadgeColor\n};\n/**\n * Shapes for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeShapes = {\n ...FluentCounterBadgeShape\n};\n/**\n * Sizes for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeSizes = {\n ...FluentCounterBadgeSize\n};\n//# sourceMappingURL=counter-badge.options.js.map","import { CounterBadgeStyles, CounterBadgeTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { CounterBadge } from \"./counter-badge.js\";\n/**\n * The Fabric Counter Badge component.\n *\n * @public\n */\nexport const definition = CounterBadge.compose({\n name: `${DesignSystem.prefix}-counter-badge`,\n template: CounterBadgeTemplate,\n styles: CounterBadgeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=counter-badge.definition.js.map","import { Dialog as FluentDialog } from \"@fluentui/web-components\";\n/**\n * Dialog\n * @summary A Dialog Custom HTML Element that provides modal, non-modal, and alert dialog types with accessible attributes.\n *\n * @example\n * ```html\n * <fabric-dialog type=\"modal\" aria-labelledby=\"dialog-label\" aria-describedby=\"dialog-desc\">\n * <span slot=\"title\">Title</span>\n * <div>Content of the dialog body</div>\n * <span slot=\"action\">Action buttons</span>\n * </fabric-dialog>\n * ```\n *\n * @attr {string} aria-describedby - Identifies the element (or elements) that describes the object.\n * @attr {string} aria-labelledby - Identifies the element (or elements) that labels the current element.\n * @attr {DialogType} type - The type of dialog ('modal', 'non-modal', 'alert').\n *\n * @prop {HTMLElement} dialog - The internal dialog element reference.\n * @prop {string} ariaDescribedby - Reflects the 'aria-describedby' attribute to associate the dialog with descriptive text.\n * @prop {string} ariaLabelledby - Reflects the 'aria-labelledby' attribute to associate the dialog with its label.\n * @prop {DialogType} type - The type of dialog, which can be 'modal', 'non-modal', or 'alert'.\n *\n * @slot - The default slot for dialog content.\n *\n * @csspart dialog - The dialog container.\n *\n * @method show() - Opens the dialog.\n * @method hide() - Closes the dialog.\n * @method clickHandler() - Handles click events on the dialog.\n *\n * @fires {CustomEvent} beforetoggle - Event emitted before the dialog's open state changes.\n * @fires {CustomEvent} toggle - Event emitted after the dialog's open state changes.\n *\n * @extends FluentDialog\n * @tagname fabric-dialog\n * @public\n */\nexport class Dialog extends FluentDialog {\n}\n//# sourceMappingURL=dialog.js.map","import { DialogStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${DialogStyles}\n dialog {\n max-width: var(--dialog-max-width, 600px);\n }\n}`;\n//# sourceMappingURL=dialog.styles.js.map","import { DialogTemplate } from \"@fluentui/web-components\";\nimport { styles as DialogStyles } from \"./dialog.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Dialog } from \"./dialog.js\";\n/**\n * The Fabric Dialog component.\n *\n * @public\n */\nexport const definition = Dialog.compose({\n name: `${DesignSystem.prefix}-dialog`,\n template: DialogTemplate,\n styles: DialogStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=dialog.definition.js.map","/**\n * Dialog modal type\n * @public\n */\nexport const DialogTypes = {\n modal: \"modal\",\n nonModal: \"non-modal\",\n alert: \"alert\"\n};\n//# sourceMappingURL=dialog.options.js.map","import { DialogBody as FluentDialogBody } from \"@fluentui/web-components\";\n/**\n * DialogBody\n * @summary Dialog Body component that extends the FASTElement class, providing slots for title, title-action, content, and actions.\n *\n * @example\n * ```html\n * <fabric-dialog-body no-title-action=\"false\">\n * <span slot=\"title\">Title</span>\n * <span slot=\"title-action\">Action</span>\n * <div>Content of the dialog body</div>\n * <span slot=\"action\">Action buttons</span>\n * </fabric-dialog-body>\n * ```\n *\n * @attr {boolean} no-title-action - Indicates if the title action should be displayed.\n *\n * @prop {boolean} noTitleAction - Indicates whether the dialog has a title action.\n *\n * @slot title - Slot for the dialog title.\n * @slot title-action - Slot for the dialog title action, typically a close button.\n * @slot - The default slot for dialog content.\n * @slot action - Slot for dialog actions, such as buttons.\n *\n * @csspart title - The dialog title container.\n * @csspart content - The dialog content container.\n * @csspart actions - The dialog actions container.\n * @csspart title-action - The dialog title action container.\n *\n * @extends FluentDialogBody\n * @tagname fabric-dialog-body\n * @public\n */\nexport class DialogBody extends FluentDialogBody {\n}\n//# sourceMappingURL=dialog-body.js.map","import { DialogBodyStyles, DialogBodyTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system\";\nimport { DialogBody } from \"./dialog-body\";\n/**\n * The Fabric Dialog Body component.\n *\n * @public\n */\nexport const definition = DialogBody.compose({\n name: `${DesignSystem.prefix}-dialog-body`,\n template: DialogBodyTemplate,\n styles: DialogBodyStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=dialog-body.definition.js.map","import { Divider as FluentDivider } from \"@fluentui/web-components\";\n/**\n * Divider\n * @summary A Divider Custom HTML Element that semantically separates content or serves for visual presentation.\n *\n * @example\n * ```html\n * <fabric-divider role=\"separator\" orientation=\"vertical\" align-content=\"center\" appearance=\"strong\" inset></fabric-divider>\n * ```\n *\n * @attr {DividerRole} role - The role of the element, either 'separator' or 'presentation'.\n * @attr {DividerOrientation} orientation - The orientation of the divider, either 'horizontal' or 'vertical'.\n * @attr {DividerAlignContent} alignContent - Align content within divider, options are 'center', 'start', 'end'.\n * @attr {DividerAppearance} appearance - Divider appearance, options are 'strong', 'brand', 'subtle'.\n * @attr {boolean} inset - Whether the divider should be inset.\n *\n * @prop {DividerRole} role - The role of the element, either 'separator' or 'presentation'.\n * @prop {DividerOrientation} orientation - The orientation of the divider, either 'horizontal' or 'vertical'.\n * @prop {DividerAlignContent} alignContent - Align content within divider, options are 'center', 'start', 'end'.\n * @prop {DividerAppearance} appearance - Divider appearance, options are 'strong', 'brand', 'subtle'.\n * @prop {boolean} inset - Whether the divider should be inset.\n *\n * @slot - The default slot for the divider content.\n *\n * @extends FluentDivider\n * @tagname fabric-divider\n * @public\n */\nexport class Divider extends FluentDivider {\n}\n//# sourceMappingURL=divider.js.map","import { DividerAlignContent as FluentDividerAlignContent, DividerAppearance as FluentDividerAppearance, DividerOrientation as FluentDividerOrientation, DividerRole as FluentDividerRole } from \"@fluentui/web-components\";\n/**\n * Align-content values supported by {@link Divider}.\n * @public\n */\nexport const DividerAlignContents = {\n ...FluentDividerAlignContent\n};\n/**\n * Appearance values supported by {@link Divider}.\n * @public\n */\nexport const DividerAppearances = {\n ...FluentDividerAppearance\n};\n/**\n * Orientation values supported by {@link Divider}.\n * @public\n */\nexport const DividerOrientations = {\n ...FluentDividerOrientation\n};\n/**\n * Role values supported by {@link Divider}.\n * @public\n */\nexport const DividerRoles = {\n ...FluentDividerRole\n};\n//# sourceMappingURL=divider.options.js.map","import { DividerStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${DividerStyles}\n :host([orientation='vertical']) {\n min-height: unset;\n }\n`;\n//# sourceMappingURL=divider.styles.js.map","import { DividerTemplate as FluentDividerTemplate } from \"@fluentui/web-components\";\n/**\n * Template for the {@link Divider} component.\n * @public\n */\nexport const template = FluentDividerTemplate;\n//# sourceMappingURL=divider.template.js.map","import { DividerTemplate } from \"@fluentui/web-components\";\nimport { styles as DividerStyles } from \"./divider.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Divider } from \"./divider.js\";\n/**\n * The Fabric Divider component.\n *\n * @public\n */\nexport const definition = Divider.compose({\n name: `${DesignSystem.prefix}-divider`,\n template: DividerTemplate,\n styles: DividerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=divider.definition.js.map","import { Drawer as FluentDrawer } from \"@fluentui/web-components\";\n/**\n * Drawer\n * @summary A Drawer component that allows content to be displayed in a side panel. It can be rendered as modal or non-modal.\n *\n * @example\n * ```html\n * <fabric-drawer type=\"modal\" position=\"start\" size=\"large\" aria-labelledby=\"drawer-title\" aria-describedby=\"drawer-description\">\n * <span slot=\"title\">Title Content</span>\n * <span slot=\"close\">Close Button</span>\n * Main Content\n * <div slot=\"footer\">Footer Content</div>\n * </fabric-drawer>\n * ```\n *\n * @attr {DrawerType} type - Determines whether the drawer should be displayed as modal, non-modal, or alert.\n * @attr {DrawerPosition} position - Sets the position of the drawer (start/end).\n * @attr {DrawerSize} size - Sets the size of the drawer (small/medium/large/full).\n * @attr {string} ariaDescribedby - The ID of the element that describes the drawer.\n * @attr {string} ariaLabelledby - The ID of the element that labels the drawer.\n *\n * @prop {DrawerType} type - Determines whether the drawer should be displayed as modal, non-modal, or alert.\n * @prop {DrawerPosition} position - Sets the position of the drawer (start/end).\n * @prop {DrawerSize} size - Sets the size of the drawer (small/medium/large/full).\n * @prop {string} ariaDescribedby - The ID of the element that describes the drawer.\n * @prop {string} ariaLabelledby - The ID of the element that labels the drawer.\n *\n * @slot - Default slot for the content of the drawer.\n * @slot title - Slot for the title content of the drawer.\n * @slot close - Slot for the close button of the drawer.\n * @slot footer - Slot for the footer content of the drawer.\n *\n * @csspart dialog - The dialog element of the drawer.\n *\n * @method show() - Shows the drawer.\n * @method hide() - Hides the drawer.\n * @method clickHandler() - Handles click events on the drawer.\n *\n * @fires {CustomEvent} toggle - Event emitted after the dialog's open state changes.\n * @fires {CustomEvent} beforetoggle - Event emitted before the dialog's open state changes.\n *\n * @extends FluentDrawer\n * @tagname fabric-drawer\n * @public\n */\nexport class Drawer extends FluentDrawer {\n}\n//# sourceMappingURL=drawer.js.map","import { DrawerPosition as FluentDrawerPosition, DrawerSize as FluentDrawerSize, DrawerType as FluentDrawerType } from \"@fluentui/web-components\";\n/** Positions supported by {@link Drawer}. */\nexport const DrawerPositions = {\n ...FluentDrawerPosition\n};\n/** Size values supported by {@link Drawer}. */\nexport const DrawerSizes = {\n ...FluentDrawerSize\n};\n/** Type values supported by {@link Drawer}. */\nexport const DrawerTypes = {\n ...FluentDrawerType\n};\n//# sourceMappingURL=drawer.options.js.map","import { DrawerStyles, DrawerTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Drawer } from \"./drawer.js\";\n/**\n * The Fabric Drawer component.\n *\n * @public\n */\nexport const definition = Drawer.compose({\n name: `${DesignSystem.prefix}-drawer`,\n template: DrawerTemplate,\n styles: DrawerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=drawer.definition.js.map","import { DrawerBody as FluentDrawerBody } from \"@fluentui/web-components\";\n/**\n * DrawerBody\n * @summary A component that provides a drawer body for displaying content in a side panel.\n *\n * @example\n * ```html\n * <fabric-drawer-body>\n * <span slot=\"title\">Title Content</span>\n * <span slot=\"close\">Close Button</span>\n * Main Content\n * <div slot=\"footer\">Footer Content</div>\n * </fabric-drawer-body>\n * ```\n *\n * @slot title - The title slot.\n * @slot close - The close button slot.\n * @slot - The default content slot.\n * @slot footer - The footer slot.\n *\n * @csspart header - The header part of the drawer.\n * @csspart content - The content part of the drawer.\n * @csspart footer - The footer part of the drawer.\n *\n * @extends FluentDrawerBody\n * @tagname fabric-drawer-body\n * @public\n */\nexport class DrawerBody extends FluentDrawerBody {\n}\n//# sourceMappingURL=drawer-body.js.map","import { DrawerBodyStyles, DrawerBodyTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { DrawerBody } from \"./drawer-body.js\";\n/**\n * The Fabric Drawer Body component.\n *\n * @public\n */\nexport const definition = DrawerBody.compose({\n name: `${DesignSystem.prefix}-drawer-body`,\n template: DrawerBodyTemplate,\n styles: DrawerBodyStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=drawer-body.definition.js.map","import { Dropdown as FluentDropdown } from \"@fluentui/web-components\";\n/**\n * Dropdown\n * @summary A Fabric UI Dropdown component that provides a list of options for users to choose from, with support for single or multiple selections, and customizable appearance and size.\n *\n * @example\n * ```html\n * <fabric-dropdown appearance=\"outline\" size=\"medium\" placeholder=\"Select an option\">\n * <fluent-listbox slot=\"listbox\">\n * <fluent-option value=\"option1\">Option 1</fluent-option>\n * <fluent-option value=\"option2\">Option 2</fluent-option>\n * <fluent-option value=\"option3\">Option 3</fluent-option>\n * </fluent-listbox>\n * <span slot=\"indicator\">▼</span>\n * </fabric-dropdown>\n * ```\n *\n * @attr {DropdownAppearance | undefined} appearance - The appearance of the dropdown.\n * @attr {DropdownSize | undefined} size - The size of the dropdown.\n * @attr {string} aria-labelledby - The `aria-labelledby` attribute value of the dropdown.\n * @attr {boolean} disabled - The disabled state of the dropdown.\n * @attr {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @attr {string} value - The value of the selected option.\n * @attr {string} name - The name of the dropdown.\n * @attr {string} placeholder - The placeholder text of the dropdown.\n * @attr {DropdownType | undefined} type - The dropdown type.\n *\n * @prop {DropdownAppearance | undefined} appearance - The appearance of the dropdown.\n * @prop {DropdownSize | undefined} size - The size of the dropdown.\n * @prop {string} ariaLabelledBy - The `aria-labelledby` attribute value of the dropdown.\n * @prop {boolean} disabled - The disabled state of the dropdown.\n * @prop {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @prop {string} value - The value of the selected option.\n * @prop {string} name - The name of the dropdown.\n * @prop {string} placeholder - The placeholder text of the dropdown.\n * @prop {DropdownType | undefined} type - The dropdown type.\n *\n * @slot - The default slot. Accepts a {@link (Listbox:class)} element.\n * @slot indicator - The indicator slot.\n * @slot control - The control slot. This slot is automatically populated and should not be manually manipulated.\n *\n * @csspart control - The dropdown control container.\n * @csspart indicator - The dropdown indicator.\n *\n * @method disabledChanged - Updates the disabled state of the options when the disabled property changes.\n * @method nameChanged - Updates the name of the options when the name property changes.\n * @method changeHandler - Handles the change events for the dropdown.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method clickHandler - Handles the click events for the dropdown.\n * @method inputHandler - Handles the input events for the dropdown from the control element.\n * @method insertControl - Inserts the control element based on the dropdown type.\n * @method keydownHandler - Handles the keydown events for the dropdown.\n * @method reportValidity - Reports the validity of the element.\n * @method selectOption - Selects an option by index.\n *\n * @extends FluentDropdown\n * @tagname fabric-dropdown\n * @public\n */\nexport class Dropdown extends FluentDropdown {\n}\n//# sourceMappingURL=dropdown.js.map","import { DropdownAppearance as FluentDropdownAppearance, DropdownSize as FluentDropdownSize, DropdownType as FluentDropdownType } from \"@fluentui/web-components\";\n/** Appearance values for {@link Dropdown}. */\nexport const DropdownAppearances = { ...FluentDropdownAppearance };\n/** Size values for {@link Dropdown}. */\nexport const DropdownSizes = { ...FluentDropdownSize };\n/** Dropdown type values for {@link Dropdown}. */\nexport const DropdownTypes = { ...FluentDropdownType };\n//# sourceMappingURL=dropdown.options.js.map","import { DropdownStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${DropdownStyles}\n ::slotted([popover]) {\n position: fixed;\n }\n`;\n//# sourceMappingURL=dropdown.styles.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { DropdownTemplate } from \"@fluentui/web-components\";\nimport { styles as DropdownStyles } from \"./dropdown.styles.js\";\nimport { Dropdown } from \"./dropdown.js\";\n/**\n * The Fabric Dropdown Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-dropdown>`\n */\nexport const definition = Dropdown.compose({\n name: `${DesignSystem.prefix}-dropdown`,\n template: DropdownTemplate,\n styles: DropdownStyles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n//# sourceMappingURL=dropdown.definition.js.map","import { DropdownOption as FluentDropdownOption } from \"@fluentui/web-components\";\n/**\n * DropdownOption\n * @summary A DropdownOption Custom HTML Element based on Fluent UI's DropdownOption with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-option>\n * <span slot=\"checked-indicator\">✔</span>\n * Option Label\n * <span slot=\"description\">Detailed description</span>\n * </fabric-option>\n * ```\n *\n * @attr {boolean} current-selected - Indicates the current selected state of the option.\n * @attr {boolean} selected - Sets the selected property to match the currentSelected state.\n * @attr {boolean} disabled - Toggles the disabled state when the user changes the `disabled` property.\n * @attr {string} form - The associated `<form>` element.\n * @attr {boolean} freeform - Indicates if the option is in a freeform input mode.\n * @attr {string} id - The id of the option. If not provided, a unique id will be assigned.\n * @attr {string} value - The initial value of the option.\n * @attr {boolean} multiple - Indicates that the option is in a multiple selection mode context.\n * @attr {string} name - The name of the option.\n * @attr {string} text - The display text of the option.\n *\n * @prop {boolean} active - Indicates that the option is active.\n * @prop {ElementInternals} elementInternals - The internal ElementInternals instance for the component.\n *\n * @slot checked-indicator - Customizable checked indicator slot.\n * @slot - Default slot for the option label.\n * @slot description - Slot for detailed option description.\n * @slot start - Icon or glyph rendered before the main label.\n *\n * @csspart content - The main content container of the option.\n * @csspart description - The container for the option's description.\n *\n * @method toggleSelected - Toggles the selected state of the control.\n *\n * @extends FluentDropdownOption\n * @tagname fabric-option\n * @public\n */\nexport class DropdownOption extends FluentDropdownOption {\n}\n//# sourceMappingURL=option.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { DropdownOptionStyles, DropdownOptionTemplate } from \"@fluentui/web-components\";\nimport { DropdownOption } from \"./option.js\";\n/**\n * The Fabric Option Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-option>`\n */\nexport const definition = DropdownOption.compose({\n name: `${DesignSystem.prefix}-option`,\n template: DropdownOptionTemplate,\n styles: DropdownOptionStyles,\n shadowOptions: {\n delegatesFocus: true\n // No slotAssignment needed for option based on temp implementation\n }\n});\n//# sourceMappingURL=option.definition.js.map","import { isDropdownOption } from \"../option/index.js\";\n/**\n * Predicate function that determines if the element should be considered an option group.\n * Uses duck-typing by checking for the presence of an `options` array property\n * rather than relying on the tag name, making it prefix-agnostic.\n *\n * @param element - The element to check.\n * @returns true if the element is an option group.\n * @public\n */\nexport function isOptionGroup(element) {\n if ((element === null || element === void 0 ? void 0 : element.nodeType) !== Node.ELEMENT_NODE) {\n return false;\n }\n if (\"options\" in element) {\n return Array.isArray(element.options);\n }\n return false;\n}\n/**\n * Gets the dropdown options from an element, handling both direct options and option groups.\n *\n * @param element - The element to extract options from.\n * @returns An array of DropdownOption elements.\n * @public\n */\nexport function getOptionsFromElement(element) {\n if (isOptionGroup(element)) {\n return element.options;\n }\n if (isDropdownOption(element)) {\n return [element];\n }\n return [];\n}\n//# sourceMappingURL=option-group.options.js.map","import { Updates } from \"@microsoft/fast-element\";\nimport { Listbox as FluentListbox } from \"@fluentui/web-components\";\nimport { isDropdownOption } from \"../option/index.js\";\nimport { isOptionGroup } from \"../option-group/option-group.options.js\";\nimport { waitForConnectedDescendants } from \"../../util/descendants.js\";\nimport { toggleState } from \"../../util/element-internals.js\";\n/**\n * Listbox\n * @summary A Listbox Custom HTML Element that allows for single or multiple selection from a list of options.\n * Extends the Fluent Listbox to support option groups ({@link @fabric-msft/fabric-web#OptionGroup}).\n *\n * @example\n * ```html\n * <fabric-listbox id=\"myListbox\" multiple>\n * <fabric-option value=\"option1\">Option 1</fabric-option>\n * <fabric-option value=\"option2\">Option 2</fabric-option>\n * <fabric-option value=\"option3\">Option 3</fabric-option>\n * </fabric-listbox>\n * ```\n *\n * @example\n * ```html\n * <fabric-listbox>\n * <fabric-option-group label=\"Fruits\">\n * <fabric-option value=\"apple\">Apple</fabric-option>\n * <fabric-option value=\"banana\">Banana</fabric-option>\n * </fabric-option-group>\n * <fabric-option-group label=\"Vegetables\">\n * <fabric-option value=\"carrot\">Carrot</fabric-option>\n * </fabric-option-group>\n * </fabric-listbox>\n * ```\n *\n * @attr {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @attr {boolean | undefined} multiple - Indicates whether the listbox allows multiple selection.\n *\n * @prop {Array<HTMLElement>} options - The collection of child options that are not disabled.\n * @prop {Array<HTMLElement>} selectedOptions - The collection of child options that are selected.\n * @prop {number} selectedIndex - The index of the currently selected option.\n *\n * @slot - The default slot for the options and option groups.\n *\n * @method multipleChanged - Updates the multiple selection state of the listbox and its options. Parameters: prev (boolean | undefined), next (boolean | undefined).\n * @method clickHandler - Sets the `selected` state on a target option when clicked. Parameters: e (PointerEvent).\n * @method selectOption - Selects an option by index. Parameters: index (number).\n *\n * @fires connected - Dispatched when the element is connected to the DOM.\n *\n * @extends FluentListbox\n * @tagname fabric-listbox\n * @public\n */\nexport class Listbox extends FluentListbox {\n /**\n * Checks if an option belongs to a disabled option group.\n *\n * @param option - The option to check.\n * @returns true if the option is inside a disabled option group.\n * @internal\n */\n isOptionInDisabledGroup(option) {\n return (isOptionGroup(option.parentElement) && !!option.parentElement.disabled);\n }\n /**\n * Sets the `selected` state on a target option when clicked.\n * Overrides the base implementation to prevent selection of options in disabled groups.\n *\n * @param e - The pointer event\n * @override\n * @public\n */\n clickHandler(e) {\n if (this.dropdown) {\n return true;\n }\n const target = e.target;\n if (isDropdownOption(target) && this.isOptionInDisabledGroup(target)) {\n return true;\n }\n return super.clickHandler(e);\n }\n /**\n * Selects an option by index.\n * Overrides the base implementation to prevent selection of options in disabled groups.\n *\n * @param index - The index of the option to select.\n * @override\n * @public\n */\n selectOption(index) {\n const option = this.enabledOptions[index !== null && index !== void 0 ? index : this.selectedIndex];\n if (option && this.isOptionInDisabledGroup(option)) {\n return;\n }\n super.selectOption(index);\n }\n /**\n * Handles the slotchange event for the listbox.\n * Overrides the base implementation to support option groups.\n * Extracts options from both direct option elements and option group children,\n * flattening them into a single options array while propagating group disabled states.\n *\n * @param e - The slot change event.\n * @override\n * @internal\n */\n slotchangeHandler(e) {\n const target = e.target;\n /**\n * waitForConnectedDescendants waits for element registration, Updates.enqueue waits for FAST's reactive bindings to complete. Both are needed because slotted directives populate asynchronously.\n */\n waitForConnectedDescendants(this, () => {\n // Defer to allow OptionGroup's slotted directive to populate\n Updates.enqueue(() => {\n const assigned = target.assignedElements();\n const options = [];\n for (const el of assigned) {\n if (isOptionGroup(el)) {\n const group = el;\n options.push(...group.options);\n }\n else if (isDropdownOption(el)) {\n options.push(el);\n }\n }\n this.options = options;\n });\n });\n }\n /**\n * Handles changes to the options collection.\n * Overrides the base implementation to apply group-aware ARIA positioning.\n *\n * @param prev - The previous options collection.\n * @param next - The new options collection.\n * @override\n * @internal\n */\n optionsChanged(prev, next) {\n var _a;\n // Call the base implementation first\n (_a = super.optionsChanged) === null || _a === void 0 ? void 0 : _a.call(this, prev, next);\n // Apply group-scoped ARIA positioning\n if (next) {\n this.applyGroupScopedAria(next);\n }\n }\n /**\n * Build a list of groups and options\n * @param options\n * @param groups\n */\n setOptionGroups(options, groups) {\n for (const option of options) {\n const parent = option.parentElement;\n const groupKey = isOptionGroup(parent) ? parent : null;\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n }\n groups.get(groupKey).push(option);\n }\n }\n /**\n * Applies group-scoped ARIA positioning attributes to options.\n * Options within the same group share aria-setsize scoped to that group.\n *\n * @param options - The flattened options collection.\n * @internal\n */\n applyGroupScopedAria(options) {\n // Group options by their parent option-group (or null for ungrouped)\n const groups = new Map();\n this.setOptionGroups(options, groups);\n // Apply ARIA attributes scoped to each group\n for (const [group, groupOptions] of groups) {\n const setSize = groupOptions.length;\n groupOptions.forEach((option, index) => {\n // set the position index\n option.elementInternals.ariaPosInSet = `${index + 1}`;\n // set the size of the group\n option.elementInternals.ariaSetSize = `${setSize}`;\n // Set aria-description to announce the group name for screen readers\n if (group && isOptionGroup(group) && group.label) {\n option.elementInternals.ariaDescription = group.label;\n }\n else {\n option.elementInternals.ariaDescription = null;\n }\n });\n }\n }\n /**\n * Updates the multiple selection state of the listbox and its options.\n *\n * @param prev - the previous multiple value\n * @param next - the current multiple value\n */\n multipleChanged(_prev, next) {\n this.elementInternals.ariaMultiSelectable = next ? \"true\" : \"false\";\n toggleState(this.elementInternals, \"multiple\", next);\n Updates.enqueue(() => {\n var _a;\n (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach((x) => {\n x.multiple = !!next;\n });\n });\n }\n}\n//# sourceMappingURL=listbox.js.map","import { DesignSystem } from \"../design-system\";\nimport { ListboxStyles, ListboxTemplate } from \"@fluentui/web-components\";\nimport { Listbox } from \"./listbox\";\n/**\n * The Listbox element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-listbox>`\n */\nexport const definition = Listbox.compose({\n name: `${DesignSystem.prefix}-listbox`,\n template: ListboxTemplate,\n styles: ListboxStyles,\n shadowOptions: {\n delegatesFocus: true\n // No slotAssignment needed for listbox based on temp implementation\n }\n});\n//# sourceMappingURL=listbox.definition.js.map","import { Field as FluentField } from \"@fluentui/web-components\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\n/**\n * Field\n * @summary A Field Custom HTML Element based on FluentField, including style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-field label-position=\"above\">\n * <label slot=\"label\">Label</label>\n * <input slot=\"input\" />\n * <span slot=\"message\">Error message</span>\n * </fabric-field>\n * ```\n *\n * @attr {FieldLabelPosition} label-position - The position of the label relative to the input. Possible values are 'above', 'after', 'before'.\n *\n * @prop {FieldLabelPosition} labelPosition - The position of the label relative to the input. Possible values are 'above', 'after', 'before'.\n *\n * @slot label - The slot for the label element.\n * @slot input - The slot for the input element.\n * @slot message - The slot for the message element.\n *\n * @csspart label - The label part of the field component.\n * @csspart input - The input part of the field component.\n * @csspart message - The message part of the field component.\n *\n * @method labelSlotChanged - Updates attributes on the slotted label elements.\n * @method inputChanged - Updates the field's states and label properties when the assigned input changes.\n * @method setValidationStates - Sets the validation states for the field.\n *\n * @extends FluentField\n * @tagname fabric-field\n * @public\n */\nexport class Field extends FluentField {\n /**\n * Sets ARIA and form-related attributes on slotted label elements.\n * Extends the base implementation to support custom label elements (e.g., fabric-label)\n * in addition to native HTMLLabelElement.\n *\n * @remarks\n * The base FluentUI implementation only handles native `<label>` elements.\n * This method ensures that custom elements like `<fabric-label>` are properly\n * associated with the input via `aria-labelledby`, enabling screen reader support.\n *\n * @internal\n */\n setLabelPropertiesExtended() {\n var _a;\n if (!this.$fastController.isConnected || !this.input) {\n return;\n }\n this.input.id = this.input.id || uniqueId(\"input\");\n const labelIds = [];\n (_a = this.labelSlot) === null || _a === void 0 ? void 0 : _a.forEach((label, index) => {\n if (label instanceof HTMLElement) {\n // Generate unique ID for each label if not already set\n // Use index suffix to ensure uniqueness when multiple labels exist\n const defaultId = index === 0\n ? `${this.input.id}--label`\n : `${this.input.id}--label-${index}`;\n label.id = label.id || defaultId;\n labelIds.push(label.id);\n // Native <label> also gets htmlFor for click-to-focus behavior\n if (label instanceof HTMLLabelElement) {\n label.htmlFor = label.htmlFor || this.input.id;\n }\n }\n });\n // Set aria-labelledby with all label IDs (overwrites to avoid duplicates)\n if (labelIds.length) {\n this.input.setAttribute(\"aria-labelledby\", labelIds.join(\" \"));\n }\n }\n /**\n * Updates attributes on the slotted label elements.\n * Overrides base to add support for custom label elements.\n *\n * @param prev - the previous list of slotted label elements\n * @param next - the current list of slotted label elements\n * @internal\n */\n labelSlotChanged(prev, next) {\n super.labelSlotChanged(prev, next);\n if (next && this.input) {\n this.setLabelPropertiesExtended();\n }\n }\n /**\n * Updates the field's states and label properties when the assigned input changes.\n * Overrides base to add support for custom label elements.\n *\n * @param prev - the previous input\n * @param next - the current input\n * @internal\n */\n inputChanged(prev, next) {\n super.inputChanged(prev, next);\n if (next) {\n this.setLabelPropertiesExtended();\n }\n }\n}\n//# sourceMappingURL=field.js.map","import { FieldStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${FieldStyles}\n`;\n//# sourceMappingURL=field.styles.js.map","/**\n * Label position values exposed by {@link Field}.\n */\nexport const LabelPositions = {\n above: \"above\",\n after: \"after\",\n before: \"before\"\n};\n/**\n * Back-compat aliases preserving the Field-prefixed naming used previously.\n */\nexport const FieldLabelPositions = LabelPositions;\nexport const FieldLabelPosition = LabelPositions;\n/**\n * Validation state flags surfaced by {@link Field}.\n */\nexport const ValidationFlags = {\n badInput: \"bad-input\",\n customError: \"custom-error\",\n patternMismatch: \"pattern-mismatch\",\n rangeOverflow: \"range-overflow\",\n rangeUnderflow: \"range-underflow\",\n stepMismatch: \"step-mismatch\",\n tooLong: \"too-long\",\n tooShort: \"too-short\",\n typeMismatch: \"type-mismatch\",\n valueMissing: \"value-missing\",\n valid: \"valid\"\n};\n/**\n * Synthetic entry describing the structural requirements for slotted inputs.\n * Provides a plural const so option-normalization rules can derive {@link SlottableInput}.\n */\nexport const SlottableInputs = {\n structural: undefined\n};\n//# sourceMappingURL=field.options.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Field } from \"./field.js\";\nimport { FieldTemplate } from \"@fluentui/web-components\";\nimport { styles as FieldStyles } from \"./field.styles.js\";\n/**\n * The Fabric Field component.\n *\n * @public\n */\nexport const definition = Field.compose({\n name: `${DesignSystem.prefix}-field`,\n template: FieldTemplate,\n styles: FieldStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=field.definition.js.map","import { Image as FluentImage } from \"@fluentui/web-components\";\n/**\n * Image\n * @summary A Fabric UI Image component that provides a customizable image element with layout, border, shadow, fit, and shape options.\n *\n * @example\n * ```html\n * <fabric-image block fit=\"cover\" shape=\"rounded\">\n * <img src=\"path-to-image.jpg\" alt=\"Descriptive text\">\n * </fabric-image>\n * ```\n *\n * @attr {boolean} block - Image layout. Boolean attribute that, when present, applies a block layout to the image.\n * @attr {boolean} bordered - Image border. Boolean attribute that, when present, applies a border to the image.\n * @attr {boolean} shadow - Image shadow. Boolean attribute that, when present, applies a shadow effect to the image.\n * @attr {ImageFit} fit - Image fit, with options 'none', 'center', 'contain', 'cover'. Determines how the image should be resized to fit its container.\n * @attr {ImageShape} shape - Image shape, with options 'circular', 'rounded', 'square'. Determines the shape of the image.\n *\n * @prop {boolean} block - Image layout. Boolean property that, when set, applies a block layout to the image.\n * @prop {boolean} bordered - Image border. Boolean property that, when set, applies a border to the image.\n * @prop {boolean} shadow - Image shadow. Boolean property that, when set, applies a shadow effect to the image.\n * @prop {ImageFit} fit - Image fit, with options 'none', 'center', 'contain', 'cover'. Determines how the image should be resized to fit its container.\n * @prop {ImageShape} shape - Image shape, with options 'circular', 'rounded', 'square'. Determines the shape of the image.\n *\n * @slot - The default slot for the image content. Place an <img> element here to display the image.\n *\n * @extends FluentImage\n * @tagname fabric-image\n * @public\n */\nexport class Image extends FluentImage {\n}\n//# sourceMappingURL=image.js.map","import { ImageFit as FluentImageFit, ImageShape as FluentImageShape } from \"@fluentui/web-components\";\n/** Fit values for {@link Image}. */\nexport const ImageFits = { ...FluentImageFit };\n/** Shape values for {@link Image}. */\nexport const ImageShapes = { ...FluentImageShape };\n//# sourceMappingURL=image.options.js.map","import { Image } from \"./image.js\";\nimport { ImageStyles, ImageTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Image component.\n *\n * @public\n */\nexport const definition = Image.compose({\n name: `${DesignSystem.prefix}-image`,\n template: ImageTemplate,\n styles: ImageStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=image.definition.js.map","import { Label as FluentLabel } from \"@fluentui/web-components\";\n/**\n * Label\n * @summary A Fabric UI Label component that provides a customizable label element, supporting different sizes, weights, and required state indication.\n *\n * @example\n * ```html\n * <fabric-label size=\"large\" weight=\"semibold\" required>\n * Username\n * <span slot=\"asterisk\">*</span>\n * </fabric-label>\n * ```\n *\n * @attr {LabelSize} size - Specifies font size of a label. Can be 'small', 'medium', or 'large'.\n * @attr {LabelWeight} weight - Specifies font weight of a label. Can be 'regular' or 'semibold'.\n * @attr {boolean} disabled - Specifies styles for label when associated input is disabled. Defaults to false.\n * @attr {boolean} required - Specifies styles for label when associated input is a required field. Defaults to false.\n *\n * @prop {LabelSize} size - Specifies font size of a label. Can be 'small', 'medium', or 'large'.\n * @prop {LabelWeight} weight - Specifies font weight of a label. Can be 'regular' or 'semibold'.\n * @prop {boolean} disabled - Specifies styles for label when associated input is disabled. Defaults to false.\n * @prop {boolean} required - Specifies styles for label when associated input is a required field. Defaults to false.\n *\n * @slot - The default slot for the label's text.\n * @slot asterisk - The slot for the required field indicator, an asterisk by default.\n *\n * @csspart asterisk - The part representing the required field indicator.\n *\n * @extends FluentLabel\n * @tagname fabric-label\n * @public\n */\nexport class Label extends FluentLabel {\n}\n//# sourceMappingURL=label.js.map","import { Label } from \"./label.js\";\nimport { LabelStyles, LabelTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Label component.\n *\n * @public\n */\nexport const definition = Label.compose({\n name: `${DesignSystem.prefix}-label`,\n template: LabelTemplate,\n styles: LabelStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=label.definition.js.map","import { LabelSize as FluentLabelSize, LabelWeight as FluentLabelWeight } from \"@fluentui/web-components\";\n/** Size values for {@link Label}. */\nexport const LabelSizes = { ...FluentLabelSize };\n/** Weight values for {@link Label}. */\nexport const LabelWeights = { ...FluentLabelWeight };\n//# sourceMappingURL=label.options.js.map","import { AnchorButton as FluentAnchorButton } from \"@fluentui/web-components\";\n/**\n * AnchorButton\n * @summary An Anchor Custom HTML Element that functions as a button with customizable appearance, shape, and size, and can be used as a link.\n *\n * @example\n * ```html\n * <fabric-anchor-button appearance=\"primary\" shape=\"rounded\" size=\"large\" href=\"https://example.com\" target=\"_blank\">\n * <span slot=\"start\">🔗</span>\n * Visit our page\n * <span slot=\"end\">→</span>\n * </fabric-anchor-button>\n * ```\n *\n * @attr {AnchorButtonAppearance} appearance - The visual appearance of the button.\n * @attr {AnchorButtonShape} shape - The shape of the button, can be square, circular, or rounded.\n * @attr {AnchorButtonSize} size - The size of the button, can be small, medium, or large.\n * @attr {boolean} icon-only - Indicates the button has an icon only, no text content.\n * @attr {string} href - The URL that the hyperlink points to.\n * @attr {AnchorTarget} target - Specifies where to open the linked document.\n *\n * @prop {boolean} iconOnly - Indicates whether the button has an icon only, with no text content.\n *\n * @slot start - Content before the button content.\n * @slot - The default slot for button text or content.\n * @slot end - Content after the button content.\n *\n * @csspart content - The button content container.\n *\n * @fires click - Fired when the button is clicked.\n *\n * @extends FluentAnchorButton\n * @tagname fabric-anchor-button\n * @public\n */\nexport class AnchorButton extends FluentAnchorButton {\n}\n//# sourceMappingURL=anchor-button.js.map","import { AnchorButtonAppearance as FluentAnchorButtonAppearance, AnchorButtonShape as FluentAnchorButtonShape, AnchorButtonSize as FluentAnchorButtonSize, AnchorTarget as FluentAnchorTarget } from \"@fluentui/web-components\";\n/** Appearance values for {@link AnchorButton}. */\nexport const AnchorButtonAppearances = {\n ...FluentAnchorButtonAppearance\n};\nexport const AnchorButtonAppearance = AnchorButtonAppearances;\n/** Shape values for {@link AnchorButton}. */\nexport const AnchorButtonShapes = { ...FluentAnchorButtonShape };\nexport const AnchorButtonShape = AnchorButtonShapes;\n/** Size values for {@link AnchorButton}. */\nexport const AnchorButtonSizes = { ...FluentAnchorButtonSize };\nexport const AnchorButtonSize = AnchorButtonSizes;\n/** Target values for {@link AnchorButton}. */\nexport const AnchorTargets = { ...FluentAnchorTarget };\nexport const AnchorTarget = AnchorTargets;\n//# sourceMappingURL=anchor-button.options.js.map","import { AnchorButtonTemplate, ToggleButtonStyles } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { AnchorButton } from \"./anchor-button.js\";\n/**\n * The Fabric Anchor Button component.\n *\n * @public\n */\nexport const definition = AnchorButton.compose({\n name: `${DesignSystem.prefix}-anchor-button`,\n template: AnchorButtonTemplate,\n styles: ToggleButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=anchor-button.definition.js.map","import { MessageBar as FluentMessageBar } from \"@fluentui/web-components\";\n/**\n * MessageBar\n * @summary A Message Bar Custom HTML Element with custom styling and behavior based on Fluent UI's MessageBar.\n *\n * @example\n * ```html\n * <fabric-message-bar\n * shape=\"rounded\"\n * layout=\"singleline\"\n * intent=\"info\"\n * role=\"status\">\n * <span slot=\"icon\">ℹ️</span>\n * Important information\n * <span slot=\"actions\"><button>Action</button></span>\n * <span slot=\"dismiss\">✖</span>\n * </fabric-message-bar>\n * ```\n *\n * @attr {MessageBarShape} shape - Sets the shape of the Message Bar. Possible values are 'rounded' or 'square'.\n * @attr {MessageBarLayout} layout - Sets the layout of the control. Possible values are 'multiline' or 'singleline'.\n * @attr {MessageBarIntent} intent - Sets the intent of the control. Possible values are 'success', 'warning', 'error', or 'info'.\n *\n * @prop {MessageBarShape} shape - Sets the shape of the Message Bar. Possible values are 'rounded' or 'square'.\n * @prop {MessageBarLayout} layout - Sets the layout of the control. Possible values are 'multiline' or 'singleline'.\n * @prop {MessageBarIntent} intent - Sets the intent of the control. Possible values are 'success', 'warning', 'error', or 'info'.\n *\n * @slot icon - Slot for the icon content.\n * @slot - The default slot for the content.\n * @slot actions - Slot for the actions content.\n * @slot dismiss - Slot for the dismiss button content.\n *\n * @csspart content - The main content container of the Message Bar.\n * @csspart actions - The container for action elements.\n *\n * @method dismissMessageBar - Method to emit a `dismiss` event when the message bar is dismissed.\n *\n * @fires dismiss - Fired when the message bar is dismissed.\n *\n * @extends FluentMessageBar\n * @tagname fabric-message-bar\n * @public\n */\nexport class MessageBar extends FluentMessageBar {\n}\n//# sourceMappingURL=message-bar.js.map","import { DesignSystem } from \"../design-system\";\nimport { MessageBar } from \"./message-bar.js\";\nimport { MessageBarStyles, MessageBarTemplate } from \"@fluentui/web-components\";\n/**\n * The Fabric MessageBar Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-message-bar>`\n */\nexport const definition = MessageBar.compose({\n name: `${DesignSystem.prefix}-message-bar`,\n template: MessageBarTemplate,\n styles: MessageBarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=message-bar.definition.js.map","import { MenuButton as FluentMenuButton } from \"@fluentui/web-components\";\n/**\n * MenuButton\n * @summary A MenuButton component that extends Fluent UI's MenuButton with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-menu-button appearance=\"primary\" shape=\"rounded\" size=\"large\">\n * <span slot=\"start\">🚀</span>\n * Menu\n * <span slot=\"end\"></span>\n * </fabric-menu-button>\n * ```\n *\n * @attr {MenuButtonAppearances | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {MenuButtonShape | undefined} shape - The shape of the button.\n * @attr {MenuButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {string | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {MenuButtonAppearances | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {MenuButtonShape | undefined} shape - The shape of the button.\n * @prop {MenuButtonSize | undefined} size - The size of the button.\n * @prop {boolean | undefined} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean | undefined} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formaction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formenctype - The encoding type for the form submission.\n * @prop {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {string | undefined} formtarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method keypressHandler - Handles keypress events for the button.\n * @method press - Programmatically presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentMenuButton\n * @tagname fabric-menu-button\n * @public\n */\nexport class MenuButton extends FluentMenuButton {\n}\n//# sourceMappingURL=menu-button.js.map","import { ButtonAppearance, ButtonShape, ButtonSize } from \"@fluentui/web-components\";\n/**\n * Menu Button Appearance constants\n * @public\n */\nexport const MenuButtonAppearances = ButtonAppearance;\n/**\n * A Menu Button can be square, circular or rounded.\n * @public\n */\nexport const MenuButtonShapes = ButtonShape;\n/**\n * A Menu Button can be a size of small, medium or large.\n * @public\n */\nexport const MenuButtonSizes = ButtonSize;\n//# sourceMappingURL=menu-button.options.js.map","/**\n * Menu Button definition\n *\n * Uses Fluent UI's MenuButtonTemplate which includes the chevron icon,\n * rather than a custom template, to maintain consistency with Fluent UI.\n */\nimport { MenuButtonStyles, MenuButtonTemplate } from \"@fluentui/web-components\";\nimport { MenuButton } from \"./menu-button.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-button>\n */\nexport const definition = MenuButton.compose({\n name: `${DesignSystem.prefix}-menu-button`,\n template: MenuButtonTemplate,\n styles: MenuButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu-button.definition.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, forcedColorsStylesheetBehavior, borderRadiusMedium, colorCompoundBrandForeground1Pressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Selected, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground3, colorNeutralForegroundDisabled, colorStrokeFocus2, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontWeightRegular, lineHeightBase200, lineHeightBase300, spacingHorizontalMNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXS, strokeWidthThick } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { checkedState, disabledState, submenuState } from \"../styles/states/states.js\";\n/** MenuItem styles\n * @public\n */\nexport const styles = css `\n ${display(\"grid\")}\n\n :host {\n --indent: 0;\n align-items: center;\n background: ${colorNeutralBackground1};\n border-radius: ${borderRadiusMedium};\n color: ${colorNeutralForeground2};\n contain: layout;\n cursor: pointer;\n /* Prevent shrinking of MenuItems when max-height is applied to MenuList */\n flex-shrink: 0;\n font: ${fontWeightRegular} ${fontSizeBase300} / ${lineHeightBase300}\n ${fontFamilyBase};\n grid-gap: ${spacingHorizontalXS};\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto ${spacingHorizontalXL};\n height: ${sizeVerticalXXXL};\n overflow: visible;\n padding: 0 ${spacingHorizontalMNudge};\n }\n\n :host(:hover) {\n background: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground2Hover};\n }\n\n :host(:active) {\n background-color: ${colorNeutralBackground1Selected};\n color: ${colorNeutralForeground2Pressed};\n }\n\n :host(:active) ::slotted([slot=\"start\"]) {\n color: ${colorCompoundBrandForeground1Pressed};\n }\n\n :host(${disabledState}) {\n background-color: ${colorNeutralBackgroundDisabled};\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host(${disabledState}) ::slotted([slot=\"start\"]),\n :host(${disabledState}) ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host(:focus-visible) {\n border-radius: ${borderRadiusMedium};\n outline: ${strokeWidthThick} solid ${colorStrokeFocus2};\n }\n\n .content {\n white-space: nowrap; /* @design-token-ok: CSS property */\n flex-grow: 1;\n grid-column: auto / span 2;\n padding: 0 ${spacingHorizontalXXS};\n }\n\n :host(:not(${checkedState})) .indicator,\n :host(:not(${checkedState})) ::slotted([slot=\"indicator\"]),\n :host(:not(${submenuState})) .submenu-glyph,\n :host(:not(${submenuState})) ::slotted([slot=\"submenu-glyph\"]) {\n display: none;\n }\n\n ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForeground3};\n font: ${fontWeightRegular} ${fontSizeBase200} / ${lineHeightBase200}\n ${fontFamilyBase};\n white-space: nowrap; /* @design-token-ok: CSS property */\n }\n\n :host([data-indent=\"1\"]) {\n --indent: 1;\n }\n\n :host([data-indent=\"2\"]) {\n --indent: 2;\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto auto;\n }\n\n :host(${submenuState}) {\n grid-template-columns: ${spacingHorizontalXL} auto auto ${spacingHorizontalXL};\n }\n\n :host([data-indent=\"2\"]${submenuState}) {\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto auto ${spacingHorizontalXL};\n }\n\n .indicator,\n ::slotted([slot=\"indicator\"]) {\n grid-column: 1 / span 1;\n width: ${sizeHorizontalXL};\n }\n\n ::slotted([slot=\"start\"]) {\n display: inline-flex;\n grid-column: calc(var(--indent)) / span 1;\n }\n\n .content {\n grid-column: calc(var(--indent) + 1) / span 1;\n }\n\n ::slotted([slot=\"end\"]) {\n grid-column: calc(var(--indent) + 2) / span 1;\n justify-self: end;\n }\n\n .submenu-glyph,\n ::slotted([slot=\"submenu-glyph\"]) {\n grid-column: -2 / span 1;\n justify-self: end;\n }\n\n @layer popover {\n :host {\n anchor-name: --menu-trigger;\n position: relative;\n }\n\n ::slotted([popover]) {\n margin: 0;\n max-height: var(--menu-max-height, auto);\n position: absolute;\n position-anchor: --menu-trigger;\n position-area: inline-end span-block-end;\n position-try-fallbacks: flip-inline;\n z-index: 1;\n }\n\n ::slotted([popover]:not(:popover-open)) {\n display: none;\n }\n\n ::slotted([popover]:popover-open) {\n inset: unset;\n }\n\n /* Fallback for no anchor-positioning */\n @supports not (anchor-name: --menu-trigger) {\n ::slotted([popover]) {\n align-self: start;\n }\n }\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(${disabledState}),\n :host(${disabledState}) ::slotted([slot=\"start\"]),\n :host(${disabledState}) ::slotted([slot=\"end\"]) {\n color: GrayText;\n }\n `));\n//# sourceMappingURL=menu-item.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nimport {} from \"./menu-item.js\";\nconst Checkmark16Filled = html.partial(`<svg class=\"indicator\" fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.05 3.49c.28.3.27.77-.04 1.06l-7.93 7.47A.85.85 0 014.9 12L2.22 9.28a.75.75 0 111.06-1.06l2.24 2.27 7.47-7.04a.75.75 0 011.06.04z\" fill=\"currentColor\"></path></svg>`);\nconst chevronRight16Filled = html.partial(`<svg class=\"submenu-glyph\" fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.74 3.2a.75.75 0 00-.04 1.06L9.23 8 5.7 11.74a.75.75 0 101.1 1.02l4-4.25a.75.75 0 000-1.02l-4-4.25a.75.75 0 00-1.06-.04z\" fill=\"currentColor\"></path></svg>`);\nexport function menuItemTemplate() {\n return html `\n <template>\n <slot name=\"indicator\">${Checkmark16Filled}</slot>\n <slot name=\"start\"></slot>\n <div part=\"content\" class=\"content\">\n <slot></slot>\n </div>\n <slot name=\"end\"></slot>\n <slot name=\"submenu-glyph\">${chevronRight16Filled}</slot>\n <slot name=\"submenu\" ${slotted({ property: \"slottedSubmenu\" })}></slot>\n </template>\n `;\n}\nexport const template = menuItemTemplate();\n//# sourceMappingURL=menu-item.template.js.map","import { MenuItem } from \"./menu-item.js\";\nimport { styles } from \"./menu-item.styles.js\";\nimport { template } from \"./menu-item.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-item>\n */\nexport const definition = MenuItem.compose({\n name: `${DesignSystem.prefix}-menu-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\ndefinition.define(DesignSystem.registry);\n//# sourceMappingURL=menu-item.definition.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorNeutralBackground1, colorTransparentStroke, shadow16, display, spacingHorizontalXXXL, spacingHorizontalXS, spacingHorizontalXXS } from \"@fluentui/web-components\";\n/** MenuList styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n\n :host {\n flex-direction: column;\n height: fit-content;\n min-width: calc(${spacingHorizontalXXXL} * 5);\n width: auto;\n background-color: ${colorNeutralBackground1};\n border: 1px solid ${colorTransparentStroke};\n border-radius: ${borderRadiusMedium};\n box-shadow: ${shadow16};\n padding: ${spacingHorizontalXS};\n row-gap: ${spacingHorizontalXXS};\n }\n`;\n//# sourceMappingURL=menu-list.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nexport function menuTemplate() {\n return html `\n <template\n slot=\"${(x) => (x.slot ? x.slot : x.isNestedMenu() ? \"submenu\" : void 0)}\"\n @keydown=\"${(x, c) => x.handleMenuKeyDown(c.event)}\"\n @focusout=\"${(x, c) => x.handleFocusOut(c.event)}\"\n >\n <slot ${slotted(\"items\")}></slot>\n </template>\n `;\n}\nexport const template = menuTemplate();\n//# sourceMappingURL=menu-list.template.js.map","import { MenuList } from \"./menu-list.js\";\nimport { styles } from \"./menu-list.styles.js\";\nimport { template } from \"./menu-list.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-list>\n */\nexport const definition = MenuList.compose({\n name: `${DesignSystem.prefix}-menu-list`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu-list.definition.js.map","import { RepositionModes } from \"../../util/positioning/index.js\";\n/**\n * The position variations for the menu component\n * @public\n */\nexport const MenuPositions = {\n above: \"above\",\n below: \"below\"\n};\n/**\n * Reposition modes for the menu\n * @public\n */\nexport const MenuRepositionModes = {\n auto: RepositionModes.auto,\n none: RepositionModes.none\n};\n//# sourceMappingURL=menu.options.js.map","import { MenuPositions } from \"./menu.options.js\";\nimport { FlexiblePositionStrategy } from \"../../util/positioning/index.js\";\n/**\n * Convert a menu positioning shorthand to a ConnectedPosition.\n * @internal\n */\nfunction menuShorthandToPosition(shorthand) {\n switch (shorthand) {\n case MenuPositions.above:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n case MenuPositions.below:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n default:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n }\n}\n/**\n * Positioning manager for menu component.\n * Delegates all coordinate-based positioning to {@link FlexiblePositionStrategy}.\n * @internal\n */\nexport class MenuPositioning {\n set position(value) {\n this._position = value;\n }\n get position() {\n return this._position;\n }\n /**\n * Updates the overflow boundary reference used for collision detection.\n */\n setOverflowBoundaryReference(boundary) {\n this.overflowBoundaryReference = boundary !== null && boundary !== void 0 ? boundary : null;\n }\n constructor(options) {\n var _a;\n this.positionStrategy = null;\n this._position = MenuPositions.below;\n this.menuReference = options.menuReference;\n this.anchorReference = options.anchorReference;\n this.overflowBoundaryReference = (_a = options.overflowBoundaryReference) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Build the ordered list of candidate positions.\n * The original position is always the first entry, followed by fallbacks.\n */\n buildPositionCandidates() {\n const original = this._position;\n const allPositionValues = Object.values(MenuPositions);\n return [\n menuShorthandToPosition(original),\n ...allPositionValues\n .filter((s) => s !== original)\n .map((s) => menuShorthandToPosition(s))\n ];\n }\n /**\n * Create a new immutable FlexiblePositionStrategy from current state.\n * Returns null if required element references are not available.\n */\n createPositionStrategy() {\n var _a;\n if (!this.menuReference || !this.anchorReference) {\n return null;\n }\n const offsetParent = (_a = this.menuReference.parentElement) !== null && _a !== void 0 ? _a : null;\n return new FlexiblePositionStrategy({\n origin: this.anchorReference,\n overlay: this.menuReference,\n positions: this.buildPositionCandidates(),\n boundaryElement: this.overflowBoundaryReference,\n viewportMargin: 15,\n offsetParent,\n resize: true\n });\n }\n /**\n * Performs a combined resize + auto reposition.\n *\n * Delegates to the {@link FlexiblePositionStrategy}'s `reposition()` method,\n * which selects the best-fitting position from the original + fallbacks.\n * Converts the selected `ConnectedPosition` back to a menu shorthand.\n *\n * After repositioning, updates the internal position shorthand.\n *\n * @returns The reposition result, or `null` if not configured.\n */\n reposition() {\n this.positionStrategy = null;\n this.positionStrategy = this.createPositionStrategy();\n if (!this.positionStrategy) {\n return null;\n }\n const result = this.positionStrategy.reposition();\n if (!result) {\n return null;\n }\n // Determine whether the selected position is \"above\" by checking\n // the overlay attachment point directly.\n const selectedPos = result.positionResult.position;\n const isAbove = selectedPos.originY === \"top\" && selectedPos.overlayY === \"bottom\";\n this._position = isAbove ? MenuPositions.above : MenuPositions.below;\n return result;\n }\n}\n//# sourceMappingURL=menu.positioning.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyEnter, keyEscape, keySpace } from \"@microsoft/fast-web-utilities\";\nimport { debounce } from \"../../util/debounce.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\nimport { MenuPositions, MenuRepositionModes } from \"./menu.options.js\";\nimport { MenuPositioning } from \"./menu.positioning.js\";\n/**\n * Menu\n * @summary A Menu component that provides an interactive menu interface with support for various trigger and open behaviors.\n *\n * When `reposition-mode=\"auto\"` is set the component creates a {@link MenuPositioning} manager backed by\n * `FlexiblePositionStrategy`. On every open/resize/scroll cycle the strategy measures available space, picks\n * the best-fitting position from the preferred position plus its fallbacks, and resizes the menu if there is\n * not enough available space. Supply `overflowBoundary` to scope collision detection to a specific scrolling\n * container instead of the viewport.\n *\n * @example\n * ```html\n * <fabric-menu open-on-hover=\"true\" open-on-context=\"true\" close-on-scroll=\"true\" persist-on-item-click=\"true\">\n * <div slot=\"trigger\">Menu Trigger</div>\n * <ul>\n * <li>Menu Item 1</li>\n * <li>Menu Item 2</li>\n * <li>Menu Item 3</li>\n * </ul>\n * </fabric-menu>\n * ```\n *\n * @attr {boolean | undefined} open-on-hover - Determines if the menu should open on hover.\n * @attr {boolean | undefined} open-on-context - Determines if the menu should open on right click.\n * @attr {boolean | undefined} close-on-scroll - Determines if the menu should close on scroll.\n * @attr {boolean | undefined} persist-on-item-click - Determines if the menu open state should persist on click of a menu item.\n * @attr {boolean | undefined} split - Determines if the menu is in split state (for split button pattern).\n * @attr {MenuPosition | undefined} menu-position - Determines whether the menu list is above or below the trigger. Defaults to `\"below\"`.\n * @attr {MenuRepositionMode | undefined} reposition-mode - Controls JS-based repositioning. `\"auto\"` enables\n * `FlexiblePositionStrategy` which detects collisions and flips the menu to the best-fitting position on\n * every resize/scroll cycle. `\"none\"` (default) disables JS repositioning and relies on CSS anchored positioning.\n *\n * @prop {boolean | undefined} openOnHover - Determines if the menu should open on hover.\n * @prop {boolean | undefined} openOnContext - Determines if the menu should open on right click.\n * @prop {boolean | undefined} closeOnScroll - Determines if the menu should close on scroll.\n * @prop {boolean | undefined} persistOnItemClick - Determines if the menu open state should persist on click of a menu item.\n * @prop {boolean | undefined} split - Determines if the menu is in split state.\n * @prop {MenuList[]} slottedMenuList - Holds the slotted menu list.\n * @prop {HTMLElement[]} slottedTriggers - Holds the slotted triggers.\n * @prop {MenuPosition | undefined} menuPosition - Reflects the active resolved position (`\"above\"` or `\"below\"`). May\n * differ from the authored `menu-position` attribute when `reposition-mode=\"auto\"` has flipped the menu.\n * @prop {MenuRepositionMode | undefined} repositionMode - The active repositioning mode (`\"auto\"` | `\"none\"`).\n * @prop {HTMLElement | undefined} overflowBoundary - An optional scrolling container used by the\n * `FlexiblePositionStrategy` as the collision boundary instead of the viewport. Only relevant when\n * `reposition-mode=\"auto\"`.\n *\n * @slot primary-action - Slot for the primary action element (used when split is true).\n * @slot trigger - Slot for the trigger element.\n * @slot - Default slot for the menu list.\n *\n * @csspart trigger - Represents the trigger element of the menu.\n * @csspart menu-list - Represents the menu list element.\n *\n * @method toggleMenu - Toggles the open state of the menu.\n * @method closeMenu - Closes the menu.\n * @method openMenu - Opens the menu.\n * @method focusMenuList - Focuses on the menu list.\n * @method focusTrigger - Focuses on the menu trigger.\n * @method menuKeydownHandler - Handles keyboard interaction for the menu.\n * @method triggerKeydownHandler - Handles keyboard interaction for the trigger.\n *\n * @fires toggle - Event fired when the menu is toggled.\n * @fires change - Event fired when the state of a menu item changes.\n *\n * @extends FASTElement\n * @tagname fabric-menu\n * @public\n */\nexport class Menu extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The positioning instance for the menu.\n * @private\n */\n this.positioning = null;\n /**\n * Determines if the menu should open on hover.\n * @public\n */\n this.openOnHover = false;\n /**\n * Determines if the menu should open on right click.\n * @public\n */\n this.openOnContext = false;\n /**\n * Determines if the menu should close on scroll.\n * @public\n */\n this.closeOnScroll = false;\n /**\n * Determines if the menu open state should persis on click of menu item\n * @public\n */\n this.persistOnItemClick = false;\n /**\n * Determines if the menu is in split state (for split button pattern).\n * @public\n */\n this.split = false;\n /**\n * Determines whether the menu list is above or below the trigger.\n * @public\n */\n this.menuPosition = MenuPositions.below;\n /**\n * The mode for repositioning the menu when it overflows the boundary.\n *\n * - `\"none\"` (default) — no JS-based repositioning; positioning is handled entirely by CSS anchored positioning.\n * - `\"auto\"` — enables `FlexiblePositionStrategy`. On every open, resize, and scroll event the strategy\n * measures available space, picks the best-fitting position from the preferred position plus its fallbacks,\n * and re-applies layout. When the chosen position is `\"above\"`, bottom-anchored positioning keeps the\n * menu's bottom edge pinned to the anchor's top edge so that height constraints shrink it upward.\n *\n * @public\n * @default \"none\"\n */\n this.repositionMode = MenuRepositionModes.none;\n /**\n * Holds the slotted menu list.\n * @public\n */\n this.slottedMenuList = [];\n /**\n * Holds the slotted triggers.\n * @public\n */\n this.slottedTriggers = [];\n /**\n * Defines whether the menu is open or not.\n * @internal\n */\n this._open = false;\n /**\n * Internal open handler used by multiple entry points.\n * @private\n */\n this.openMenuInternal = (e) => {\n if (this._open) {\n return;\n }\n if (this.repositionMode == MenuRepositionModes.auto) {\n this.addRepositioningHandlers();\n this.createPositioningManager();\n this.scheduleReposition();\n }\n this.setMenuOpenState(true);\n this.focusMenuList();\n if (e && this.openOnContext) {\n e.preventDefault();\n }\n document.addEventListener(\"click\", this.documentClickHandler);\n if (this.closeOnScroll) {\n document.addEventListener(\"scroll\", this.closeMenu);\n }\n };\n /**\n * Internal close handler used by multiple entry points.\n * @private\n */\n this.closeMenuInternal = () => {\n if (!this._open) {\n return;\n }\n this.setMenuOpenState(false);\n this.removeRepositioningListeners();\n document.removeEventListener(\"click\", this.documentClickHandler);\n if (this.closeOnScroll) {\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n };\n /**\n * Delegates resize + flip logic to the positioning strategy.\n * @private\n */\n this.repositionMenu = () => {\n var _a;\n if (!this.positioning || !this._menuList) {\n return;\n }\n this.positioning.position = (_a = this.menuPosition) !== null && _a !== void 0 ? _a : MenuPositions.below;\n this.positioning.reposition();\n };\n /**\n * Debounced handler for window resize/scroll changes.\n * @private\n */\n this.handleWindowChanges = debounce(() => {\n if (this._open) {\n this.scheduleReposition();\n }\n }, 50);\n /**\n * Toggles the open state of the menu.\n * @public\n */\n this.toggleMenu = () => {\n this.setComponent();\n if (this._open) {\n this.closeMenuInternal();\n this.focusTrigger();\n }\n else {\n this.openMenuInternal();\n }\n };\n /**\n * Closes the menu.\n * @public\n */\n this.closeMenu = () => {\n this.closeMenuInternal();\n };\n /**\n * Opens the menu.\n * @public\n */\n this.openMenu = (e) => {\n this.openMenuInternal(e);\n };\n /**\n * Handles keyboard interaction for the trigger. Toggles the menu when the Space or Enter key is pressed. If the menu\n *\n * @param e - the keyboard event\n * @public\n */\n this.triggerKeydownHandler = (e) => {\n if (e.defaultPrevented) {\n return;\n }\n const key = e.key;\n switch (key) {\n case keySpace:\n case keyEnter:\n e.preventDefault();\n this.toggleMenu();\n break;\n default:\n return true;\n }\n };\n /**\n * Handles document click events to close the menu when clicking outside (light dismiss).\n * @internal\n * @param e - The event triggered on document click.\n */\n this.documentClickHandler = (e) => {\n if (!this._open) {\n return;\n }\n if (!e\n .composedPath()\n .some((el) => el === this._trigger || el === this._menuList)) {\n this.closeMenu();\n }\n };\n }\n /**\n * Handles changes to the menuPosition attribute.\n * Updates the positioning strategy and triggers a reposition if\n * the menu is currently open, without mutating the public attribute.\n * @public\n */\n menuPositionChanged() {\n var _a;\n if (this.positioning) {\n this.positioning.position = (_a = this.menuPosition) !== null && _a !== void 0 ? _a : MenuPositions.below;\n }\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Handles menu list slot changes.\n * @internal\n */\n slottedMenuListChanged() {\n this.setComponent();\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Handles trigger slot changes.\n * @internal\n */\n slottedTriggersChanged() {\n this.setComponent();\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Updates menu list open state and ARIA expanded.\n * @private\n */\n setMenuOpenState(isOpen) {\n var _a;\n this._open = isOpen;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.setAttribute(\"aria-expanded\", `${isOpen}`);\n if (this._menuList) {\n this._menuList.classList.toggle(\"menu-open\", isOpen);\n }\n }\n /**\n * Schedules a reposition on the next microtask.\n * @private\n */\n scheduleReposition() {\n Updates.enqueue(() => {\n this.repositionMenu();\n });\n }\n /**\n * Adds window event listeners.\n * @private\n */\n addWindowEventListeners() {\n window.addEventListener(\"resize\", this.handleWindowChanges);\n window.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * Removes window event listeners.\n * @private\n */\n removeWindowEventListeners() {\n window.removeEventListener(\"resize\", this.handleWindowChanges);\n window.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * Adds overflow boundary event listeners.\n * @private\n */\n addOverflowBoundaryEventListeners() {\n if (this.overflowBoundary) {\n this.overflowBoundary.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n }\n /**\n * Adds repositioning handlers.\n * @private\n */\n addRepositioningHandlers() {\n if (this.repositionMode !== MenuRepositionModes.none) {\n this.addWindowEventListeners();\n this.addOverflowBoundaryEventListeners();\n }\n }\n /**\n * Creates the positioning manager.\n * @private\n */\n createPositioningManager() {\n if (this._menuList &&\n this._trigger &&\n this.repositionMode !== MenuRepositionModes.none) {\n this.positioning = null;\n this.positioning = new MenuPositioning({\n menuReference: this._menuList,\n anchorReference: this._trigger,\n overflowBoundaryReference: this.overflowBoundary\n });\n }\n }\n /**\n * Removes repositioning event listeners.\n * @private\n */\n removeRepositioningListeners() {\n if (this._menuList) {\n this.removeWindowEventListeners();\n }\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.setComponent();\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeListeners();\n this.removeRepositioningListeners();\n document.removeEventListener(\"click\", this.documentClickHandler);\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n /**\n * Sets the component.\n * @public\n */\n setComponent() {\n if (this.$fastController.isConnected &&\n this.slottedMenuList.length &&\n this.slottedTriggers.length) {\n this._trigger = this.slottedTriggers[0];\n this._menuList = this.slottedMenuList[0];\n this._trigger.setAttribute(\"aria-haspopup\", \"true\");\n this._trigger.setAttribute(\"aria-expanded\", `${this._open}`);\n this._menuList.setAttribute(\"data-menu-list\", \"\");\n this.addListeners();\n }\n }\n /**\n * Focuses on the menu list.\n * @public\n */\n focusMenuList() {\n Updates.enqueue(() => {\n const list = this._menuList;\n list.focus();\n });\n }\n /**\n * Focuses on the menu trigger.\n * @public\n */\n focusTrigger() {\n Updates.enqueue(() => {\n this._trigger.focus();\n });\n }\n /**\n * Called whenever the 'openOnHover' property changes.\n *\n * @param oldValue - The previous value of 'openOnHover'.\n * @param newValue - The new value of 'openOnHover'.\n * @public\n */\n openOnHoverChanged(_oldValue, newValue) {\n var _a, _b;\n if (newValue) {\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"mouseover\", this.openMenu);\n }\n else {\n (_b = this._trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"mouseover\", this.openMenu);\n }\n }\n /**\n * Called whenever the 'persistOnItemClick' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'persistOnItemClick'.\n * @param newValue - The new value of 'persistOnItemClick'.\n */\n persistOnItemClickChanged(_oldValue, newValue) {\n var _a, _b;\n if (!newValue) {\n (_a = this._menuList) === null || _a === void 0 ? void 0 : _a.addEventListener(\"change\", this.closeMenu);\n }\n else {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.closeMenu);\n }\n }\n /**\n * Called whenever the 'repositionMode' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'repositionMode'.\n * @param newValue - The new value of 'repositionMode'.\n */\n repositionModeChanged(_oldValue, newValue) {\n if (newValue === MenuRepositionModes.none) {\n this.positioning = null;\n }\n else if (!this.positioning && this._open) {\n this.createPositioningManager();\n }\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Called whenever the 'overflowBoundary' property changes.\n *\n * @public\n */\n overflowBoundaryChanged(oldValue, newValue) {\n var _a;\n if (oldValue) {\n oldValue.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n if (this._open && this.repositionMode !== MenuRepositionModes.none) {\n if (newValue) {\n newValue.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n (_a = this.positioning) === null || _a === void 0 ? void 0 : _a.setOverflowBoundaryReference(newValue !== null && newValue !== void 0 ? newValue : null);\n this.scheduleReposition();\n }\n else if (this.positioning) {\n this.positioning.setOverflowBoundaryReference(newValue !== null && newValue !== void 0 ? newValue : null);\n }\n }\n /**\n * Called whenever the 'openOnContext' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'openOnContext'.\n * @param newValue - The new value of 'openOnContext'.\n */\n openOnContextChanged(_oldValue, newValue) {\n var _a, _b;\n if (newValue) {\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_b = this._trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"contextmenu\", this.openMenu);\n }\n }\n /**\n * Called whenever the 'closeOnScroll' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'closeOnScroll'.\n * @param newValue - The new value of 'closeOnScroll'.\n */\n closeOnScrollChanged(_oldValue, newValue) {\n if (newValue) {\n document.addEventListener(\"scroll\", this.closeMenu);\n }\n else {\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n }\n /**\n * Adds event listeners.\n *\n * @internal\n */\n addListeners() {\n var _a, _b, _c, _d, _e;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"keydown\", this.triggerKeydownHandler);\n if (!this.persistOnItemClick) {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.addEventListener(\"change\", this.closeMenu);\n }\n if (this.openOnHover) {\n (_c = this._trigger) === null || _c === void 0 ? void 0 : _c.addEventListener(\"mouseover\", this.openMenu);\n }\n else if (this.openOnContext) {\n (_d = this._trigger) === null || _d === void 0 ? void 0 : _d.addEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_e = this._trigger) === null || _e === void 0 ? void 0 : _e.addEventListener(\"click\", this.toggleMenu);\n }\n }\n /**\n * Removes event listeners.\n *\n * @internal\n */\n removeListeners() {\n var _a, _b, _c, _d, _e;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.triggerKeydownHandler);\n if (!this.persistOnItemClick) {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.closeMenu);\n }\n if (this.openOnHover) {\n (_c = this._trigger) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"mouseover\", this.openMenu);\n }\n if (this.openOnContext) {\n (_d = this._trigger) === null || _d === void 0 ? void 0 : _d.removeEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_e = this._trigger) === null || _e === void 0 ? void 0 : _e.removeEventListener(\"click\", this.toggleMenu);\n }\n }\n /**\n * Handles keyboard interaction for the menu. Closes the menu and focuses on the trigger when the Escape key is\n *\n * @param e - the keyboard event\n * @public\n */\n menuKeydownHandler(e) {\n if (e.defaultPrevented) {\n return;\n }\n const key = e.key;\n switch (key) {\n case keyEscape:\n e.preventDefault();\n if (this._open) {\n this.closeMenuInternal();\n this.focusTrigger();\n }\n break;\n default:\n return true;\n }\n }\n}\n__decorate([\n attr({ attribute: \"open-on-hover\", mode: \"boolean\" })\n], Menu.prototype, \"openOnHover\", void 0);\n__decorate([\n attr({ attribute: \"open-on-context\", mode: \"boolean\" })\n], Menu.prototype, \"openOnContext\", void 0);\n__decorate([\n attr({ attribute: \"close-on-scroll\", mode: \"boolean\" })\n], Menu.prototype, \"closeOnScroll\", void 0);\n__decorate([\n attr({ attribute: \"persist-on-item-click\", mode: \"boolean\" })\n], Menu.prototype, \"persistOnItemClick\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Menu.prototype, \"split\", void 0);\n__decorate([\n attr({ attribute: \"menu-position\" })\n], Menu.prototype, \"menuPosition\", void 0);\n__decorate([\n attr({ attribute: \"reposition-mode\" })\n], Menu.prototype, \"repositionMode\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"overflowBoundary\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"slottedMenuList\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"slottedTriggers\", void 0);\n//# sourceMappingURL=menu.js.map","import { colorNeutralForegroundInverted, colorNeutralStroke1, display, strokeWidthThin } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Menu styles\n * @public\n */\nexport const styles = css `\n ${display(\"inline-block\")}\n\n :host {\n position: relative;\n }\n\n ::slotted([data-menu-list]) {\n margin: 0;\n max-height: var(--menu-max-height, auto);\n overflow-y: auto;\n position: absolute;\n inset-block-start: 100%;\n inset-inline-start: 0;\n z-index: 1;\n }\n\n ::slotted([data-menu-list]:not(.menu-open)) {\n display: none;\n }\n\n /* Split button styles */\n :host([split]) {\n display: inline-flex;\n }\n\n :host([split]) ::slotted([slot=\"primary-action\"]) {\n border-inline-end: ${strokeWidthThin} solid ${colorNeutralStroke1};\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n z-index: 1;\n }\n\n /* Keeps focus visible visuals above trigger slot */\n :host([split]) ::slotted([slot=\"primary-action\"]:focus-visible) {\n z-index: 1;\n }\n\n :host([split]) ::slotted([slot=\"primary-action\"][appearance=\"primary\"]) {\n border-inline-end: ${strokeWidthThin} solid\n ${colorNeutralForegroundInverted};\n }\n\n :host([split]) ::slotted([slot=\"trigger\"]) {\n border-inline-start: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n`;\n//# sourceMappingURL=menu.styles.js.map","import { elements, html, slotted } from \"@microsoft/fast-element\";\nexport function menuTemplate() {\n return html `\n <template\n ?open-on-hover=\"${(x) => x.openOnHover}\"\n ?open-on-context=\"${(x) => x.openOnContext}\"\n ?close-on-scroll=\"${(x) => x.closeOnScroll}\"\n ?persist-on-item-click=\"${(x) => x.persistOnItemClick}\"\n ?split=\"${(x) => x.split}\"\n menu-position=\"${(x) => x.menuPosition}\"\n @keydown=\"${(x, c) => x.menuKeydownHandler(c.event)}\"\n >\n <slot name=\"primary-action\"></slot>\n <slot\n name=\"trigger\"\n ${slotted({ property: \"slottedTriggers\", filter: elements() })}\n ></slot>\n <slot\n ${slotted({ property: \"slottedMenuList\", filter: elements() })}\n ></slot>\n </template>\n `;\n}\nexport const template = menuTemplate();\n//# sourceMappingURL=menu.template.js.map","import { Menu } from \"./menu.js\";\nimport { styles } from \"./menu.styles.js\";\nimport { template } from \"./menu.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu>\n */\nexport const definition = Menu.compose({\n name: `${DesignSystem.prefix}-menu`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { isDropdownOption } from \"../option/index.js\";\n/**\n * OptionGroup\n * @summary An OptionGroup Custom HTML Element that groups related options within a listbox or dropdown.\n * Implements semantics similar to the native {@link https://developer.mozilla.org/docs/Web/HTML/Element/optgroup | HTMLOptGroupElement}.\n *\n * @example\n * ```html\n * <fabric-listbox>\n * <fabric-option-group label=\"Fruits\">\n * <fabric-option value=\"apple\">Apple</fabric-option>\n * <fabric-option value=\"banana\">Banana</fabric-option>\n * </fabric-option-group>\n * <fabric-option-group label=\"Vegetables\" disabled>\n * <fabric-option value=\"carrot\">Carrot</fabric-option>\n * <fabric-option value=\"broccoli\">Broccoli</fabric-option>\n * </fabric-option-group>\n * </fabric-listbox>\n * ```\n *\n * @attr {string} label - The label for the option group, displayed as a non-selectable header.\n * @attr {boolean} disabled - When true, disables all options within this group.\n *\n * @prop {DropdownOption[]} options - The collection of child option elements.\n *\n * @slot - Default slot for fabric-option elements.\n *\n * @csspart label - The label element for the group header.\n *\n * @extends FASTElement\n * @tagname fabric-option-group\n * @public\n */\nexport class OptionGroup extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | ElementInternals} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The collection of slotted option elements.\n *\n * @internal\n */\n this.slottedOptions = [];\n }\n /**\n * Gets the collection of child option elements.\n *\n * @public\n */\n get options() {\n return this.slottedOptions.filter((el) => {\n return isDropdownOption(el);\n });\n }\n /**\n * Handles changes to the disabled attribute.\n * Updates the aria-disabled state on the element internals.\n *\n * @param prev - The previous disabled state.\n * @param next - The new disabled state.\n * @internal\n */\n disabledChanged(_prev, next) {\n this.elementInternals.ariaDisabled = next ? \"true\" : \"false\";\n }\n connectedCallback() {\n super.connectedCallback();\n this.elementInternals.role = \"group\";\n }\n /**\n * Handles changes to the label attribute.\n * Updates the aria-label for accessibility.\n *\n * @param _prev - The previous label.\n * @param next - The new label.\n * @internal\n */\n labelChanged(_prev, next) {\n this.elementInternals.ariaLabel = next !== null && next !== void 0 ? next : null;\n }\n}\n__decorate([\n attr\n], OptionGroup.prototype, \"label\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], OptionGroup.prototype, \"disabled\", void 0);\n__decorate([\n observable\n], OptionGroup.prototype, \"slottedOptions\", void 0);\n//# sourceMappingURL=option-group.js.map","import { css } from \"@microsoft/fast-element\";\nimport { colorNeutralBackground1, colorNeutralForeground3, colorNeutralForegroundDisabled, fontFamilyBase, fontSizeBase200, fontWeightSemibold, lineHeightBase200, spacingHorizontalM, spacingVerticalS, spacingVerticalXS } from \"@fluentui/web-components\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(OptionGroup:class)} component.\n *\n * @public\n */\nexport const styles = css `\n :host {\n display: block;\n font-family: ${fontFamilyBase};\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .label {\n color: ${colorNeutralForeground3};\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase200};\n padding-block: ${spacingVerticalXS};\n padding-inline: ${spacingHorizontalM};\n user-select: none;\n cursor: default;\n }\n\n :host([disabled]) .label {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) ::slotted(*) {\n color: ${colorNeutralForegroundDisabled};\n background-color: ${colorNeutralBackground1};\n cursor: default;\n }\n\n .options {\n display: flex;\n flex-direction: column;\n padding-block-end: ${spacingVerticalS};\n }\n`;\n//# sourceMappingURL=option-group.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(OptionGroup:class)} component.\n *\n * @public\n */\nexport function optionGroupTemplate() {\n return html `\n <template ?disabled=\"${(x) => x.disabled}\">\n <div class=\"label\">${(x) => x.label}</div>\n <div class=\"options\" role=\"presentation\">\n <slot ${slotted(\"slottedOptions\")}></slot>\n </div>\n </template>\n `;\n}\nexport const template = optionGroupTemplate();\n//# sourceMappingURL=option-group.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { OptionGroup } from \"./option-group.js\";\nimport { styles } from \"./option-group.styles.js\";\nimport { template } from \"./option-group.template.js\";\n/**\n * The Fabric OptionGroup Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-option-group>`\n */\nexport const definition = OptionGroup.compose({\n name: `${DesignSystem.prefix}-option-group`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=option-group.definition.js.map","import { ProgressBar as FluentProgressBar } from \"@fluentui/web-components\";\n/**\n * ProgressBar\n * @summary A custom progress bar element with customizable thickness, shape, and validation states.\n *\n * @example\n * ```html\n * <fabric-progress-bar thickness=\"large\" shape=\"rounded\" validation-state=\"success\"></fabric-progress-bar>\n * ```\n *\n * @attr {ProgressBarThickness} thickness - The thickness of the progress bar. Possible values are 'medium' and 'large'.\n * @attr {ProgressBarShape} shape - The shape of the progress bar. Possible values are 'rounded' and 'square'.\n * @attr {ProgressBarValidationState} validation-state - The validation state of the progress bar. Possible values are 'success', 'warning', and 'error'.\n *\n * @prop {ProgressBarThickness} thickness - The thickness of the progress bar. Possible values are 'medium' and 'large'.\n * @prop {ProgressBarShape} shape - The shape of the progress bar. Possible values are 'rounded' and 'square'.\n * @prop {ProgressBarValidationState} validationState - The validation state of the progress bar. Possible values are 'success', 'warning', and 'error'.\n *\n * @csspart indicator - The progress bar indicator.\n *\n * @cssprop --indicator-width - Computed percentage width of the progress indicator, based on the current value, min, and max.\n * @cssprop --max - CSS variable reflecting the max attribute value. Defaults to 100.\n * @cssprop --min - CSS variable reflecting the min attribute value. Defaults to 0.\n * @cssprop --value - CSS variable reflecting the current value attribute. Defaults to 0.\n *\n * @extends FluentProgressBar\n * @tagname fabric-progress-bar\n * @public\n */\nexport class ProgressBar extends FluentProgressBar {\n}\n//# sourceMappingURL=progress-bar.js.map","import { ProgressBar } from \"./progress-bar.js\";\nimport { ProgressBarStyles, ProgressBarTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Progress Bar component.\n *\n * @public\n */\nexport const definition = ProgressBar.compose({\n name: `${DesignSystem.prefix}-progress-bar`,\n template: ProgressBarTemplate,\n styles: ProgressBarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=progress-bar.definition.js.map","import { ProgressBarShape as FluentProgressBarShapeBase, ProgressBarThickness as FluentProgressBarThicknessBase, ProgressBarValidationState as FluentProgressBarValidationStateBase } from \"@fluentui/web-components\";\n/** Shape values for {@link ProgressBar}. */\nexport const ProgressBarShapes = { ...FluentProgressBarShapeBase };\n/** Thickness values for {@link ProgressBar}. */\nexport const ProgressBarThicknesses = {\n ...FluentProgressBarThicknessBase\n};\n/** Validation state values for {@link ProgressBar}. */\nexport const ProgressBarValidationStates = {\n ...FluentProgressBarValidationStateBase\n};\n//# sourceMappingURL=progress-bar.options.js.map","import { RadioGroup as FluentRadioGroup } from \"@fluentui/web-components\";\n/**\n * RadioGroup\n * @summary A custom Radio Group element based on Fluent UI's RadioGroup with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-radio-group name=\"group1\" orientation=\"horizontal\">\n * <fabric-radio value=\"option1\">Option 1</fabric-radio>\n * <fabric-radio value=\"option2\">Option 2</fabric-radio>\n * <fabric-radio value=\"option3\">Option 3</fabric-radio>\n * </fabric-radio-group>\n * ```\n *\n * @attr {boolean} disabled - Disables the radio group and child radios.\n * @attr {string} value - The value of the checked radio.\n * @attr {string} name - The name of the radio group.\n * @attr {RadioGroupOrientation} orientation - The orientation of the group.\n * @attr {boolean} required - Indicates whether the radio group is required.\n *\n * @prop {boolean} disabled - Disables the radio group and child radios.\n * @prop {string} value - The value of the checked radio.\n * @prop {string} name - The name of the radio group.\n * @prop {RadioGroupOrientation} orientation - The orientation of the group.\n * @prop {boolean} required - Indicates whether the radio group is required.\n *\n * @slot - The default slot for the radio group.\n *\n * @method initialValueChanged - Sets the matching radio to checked when the value changes.\n * @method radiosChanged - Updates the enabled radios collection when properties on the child radios change.\n * @method requiredChanged - Called when the required property changes.\n * @method changeHandler - Sets the checked state of all radios when any radio emits a `change` event.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method formResetCallback - Resets the radio group to its initial state during a form reset.\n * @method reportValidity - Reports the validity of the element.\n *\n * @fires change - Emits when the checked radio changes.\n *\n * @extends FASTElement\n * @tagname fabric-radio-group\n * @public\n */\nexport class RadioGroup extends FluentRadioGroup {\n}\n//# sourceMappingURL=radio-group.js.map","import { RadioGroupOrientation as FluentRadioGroupOrientation } from \"@fluentui/web-components\";\n/** Orientation values for {@link RadioGroup}. */\nexport const RadioGroupOrientations = {\n ...FluentRadioGroupOrientation\n};\n/**\n * Radio group event names.\n */\nexport const RadioGroupEventNames = {\n change: \"change\"\n};\n//# sourceMappingURL=radio-group.options.js.map","import { RadioGroupStyles, RadioGroupTemplate } from \"@fluentui/web-components\";\nimport { RadioGroup } from \"./radio-group.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Radio Group component.\n *\n * @public\n */\nexport const definition = RadioGroup.compose({\n name: `${DesignSystem.prefix}-radio-group`,\n template: RadioGroupTemplate,\n styles: RadioGroupStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=radio-group.definition.js.map","import { Radio as FluentRadio } from \"@fluentui/web-components\";\n/**\n * Radio\n * @summary A Radio Custom HTML Element based on Fluent UI's Radio with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-radio name=\"group1\" value=\"option1\" checked>\n * Option 1\n * </fabric-radio>\n * <fabric-radio name=\"group1\" value=\"option2\">\n * Option 2\n * </fabric-radio>\n * ```\n *\n * @attr {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {boolean} disabled - The initial disabled state of the control.\n * @attr {string} form - The id of a form to associate the element to.\n * @attr {boolean} checked - The initial checked state of the element.\n * @attr {string} value - The initial value of the input.\n * @attr {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @prop {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {boolean} disabled - The initial disabled state of the control.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {boolean} checked - The initial checked state of the element.\n * @prop {string} value - The initial value of the input.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @slot checked-indicator - Custom slot for the checked indicator.\n *\n * @csspart checked-indicator - The checked state indicator of the radio.\n * @cssprop --size - Controls the size of the radio control.\n *\n * @method toggleChecked - Toggles the checked state of the control.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets a custom validity message.\n *\n * @fires change - Emits a custom change event when the checked state changes\n * @fires input - Emits a custom input event when the checked state changes\n * @fires disabled - Emits a custom event when the disabled state changes\n *\n * @extends FluentRadio\n * @tagname fabric-radio\n * @public\n */\nexport class Radio extends FluentRadio {\n}\n//# sourceMappingURL=radio.js.map","import { Radio } from \"./radio.js\";\nimport { RadioStyles, RadioTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Radio component.\n *\n * @public\n */\nexport const definition = Radio.compose({\n name: `${DesignSystem.prefix}-radio`,\n template: RadioTemplate,\n styles: RadioStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=radio.definition.js.map","import { RatingDisplay as FluentRatingDisplay } from \"@fluentui/web-components\";\n/**\n * RatingDisplay\n * @summary A Rating Display Custom HTML Element. Based on FluentRatingDisplay and includes style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-rating-display color=\"marigold\" size=\"large\" compact>\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\"><use href=\"#star\"></use></svg>\n * <span slot=\"value\">4.5</span>\n * <span slot=\"count\">(10)</span>\n * </fabric-rating-display>\n * ```\n *\n * @attr {RatingDisplayColor | undefined} color - The color of the rating display icons. Default: `marigold`\n * @attr {RatingDisplaySize | undefined} size - The size of the component. Default: 'medium'\n * @attr {boolean | undefined} compact - Renders a single filled icon with a label next to it. Default: false\n *\n * @prop {boolean} compact - Renders a single filled icon with a label next to it. Default: false\n *\n * @slot icon - SVG element used as the rating icon. Default: star symbol.\n * @slot value - Displays the value of the rating.\n * @slot count - Displays the number of ratings.\n *\n * @cssprop --_attr-max - Internal max value derived from the max attribute.\n * @cssprop --_attr-value - Internal value derived from the value attribute.\n * @cssprop --_default-max - Default max fallback used when no attribute is set.\n * @cssprop --_default-value - Default value fallback used when no attribute is set.\n * @cssprop --_icon-color-empty - Color for empty (unfilled) icons.\n * @cssprop --_icon-color-value - Color for the filled icon portion.\n * @cssprop --_icon-gradient-degree - Gradient angle used for partial fill rendering.\n * @cssprop --_icon-gradient-stop - Primary gradient stop for partial fill.\n * @cssprop --_icon-gradient-stop-visual-adjustment - Adjustment applied to the gradient stop to align visuals.\n * @cssprop --_icon-size - Computed icon size used for layout.\n * @cssprop --_mask-image-filled - Mask image for the filled icon state.\n * @cssprop --_mask-image-outlined - Mask image for the outlined icon state.\n * @cssprop --_mask-inline-size - Inline size of the mask image.\n * @cssprop --_mask-position-x - Horizontal mask position used for partial fill.\n * @cssprop --_max - Computed max value used in layout calculations.\n * @cssprop --_value - Computed current value used in layout calculations.\n *\n * @extends FluentRatingDisplay\n * @tagname fabric-rating-display\n * @public\n */\nexport class RatingDisplay extends FluentRatingDisplay {\n}\n//# sourceMappingURL=rating-display.js.map","import { RatingDisplay } from \"./rating-display.js\";\nimport { RatingDisplayStyles, RatingDisplayTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * @public\n * @remarks\n * HTML Element: <fabric-rating-display>\n */\nexport const definition = RatingDisplay.compose({\n name: `${DesignSystem.prefix}-rating-display`,\n template: RatingDisplayTemplate,\n styles: RatingDisplayStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=rating-display.definition.js.map","import { RatingDisplayColor as FluentRatingDisplayColor, RatingDisplaySize as FluentRatingDisplaySize } from \"@fluentui/web-components\";\n/** Color values for {@link RatingDisplay}. */\nexport const RatingDisplayColors = { ...FluentRatingDisplayColor };\n/** Size values for {@link RatingDisplay}. */\nexport const RatingDisplaySizes = { ...FluentRatingDisplaySize };\n//# sourceMappingURL=rating-display.options.js.map","/**\n * Values for the `control-size` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputControlSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * Values for the `appearance` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputAppearances = {\n outline: \"outline\",\n underline: \"underline\",\n filledLighter: \"filled-lighter\",\n filledDarker: \"filled-darker\"\n};\n/**\n * Values for the `type` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputTypes = {\n email: \"email\",\n password: \"password\",\n number: \"number\",\n tel: \"tel\",\n text: \"text\",\n url: \"url\"\n};\n/**\n * Input types that block implicit form submission.\n *\n * @public\n */\nexport const ImplicitSubmissionBlockingTypes = [\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"search\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\"\n];\n//# sourceMappingURL=text-input.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, nullableNumberConverter, Observable, observable } from \"@microsoft/fast-element\";\nimport { ImplicitSubmissionBlockingTypes, TextInputTypes } from \"./text-input.options.js\";\n/**\n * A Text Input Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input | `<input>`} element.\n *\n * @slot start - Content which can be provided before the input\n * @slot end - Content which can be provided after the input\n * @slot - The default slot for button content\n * @csspart label - The internal `<label>` element\n * @csspart root - the root container for the internal control\n * @csspart control - The internal `<input>` control\n * @public\n */\nexport class BaseTextInput extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Allows setting a type or mode of text.\n *\n * @public\n * @remarks\n * HTML Attribute: `type`\n */\n this.type = TextInputTypes.text;\n /**\n * Indicates that the value has been changed by the user.\n *\n * @internal\n */\n this.dirtyValue = false;\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n }\n /**\n * Tracks the current value of the input.\n *\n * @param prev - the previous value\n * @param next - the next value\n *\n * @internal\n */\n currentValueChanged(_prev, next) {\n this.value = next;\n }\n /**\n * Updates the control label visibility based on the presence of default slotted content.\n *\n * @internal\n */\n defaultSlottedNodesChanged(_prev, next) {\n if (this.$fastController.isConnected) {\n this.controlLabel.hidden = !(next === null || next === void 0 ? void 0 : next.length);\n }\n }\n /**\n * Sets the value of the element to the initial value.\n *\n * @internal\n */\n initialValueChanged() {\n if (!this.dirtyValue) {\n this.value = this.initialValue;\n }\n }\n /**\n * Syncs the `ElementInternals.ariaReadOnly` property when the `readonly` property changes.\n *\n * @internal\n */\n readOnlyChanged() {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaReadOnly = `${!!this.readOnly}`;\n }\n }\n /**\n * Syncs the element's internal `aria-required` state with the `required` attribute.\n *\n * @param previous - the previous required state\n * @param next - the current required state\n *\n * @internal\n */\n requiredChanged(_previous, next) {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaRequired = `${!!next}`;\n }\n }\n /**\n * Calls the `setValidity` method when the control reference changes.\n *\n * @param prev - the previous control reference\n * @param next - the current control reference\n *\n * @internal\n */\n controlChanged(_prev, _next) {\n this.setValidity();\n }\n /**\n * The element's validity state.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validity | `ElementInternals.validity`} property.\n */\n get validity() {\n return this.elementInternals.validity;\n }\n /**\n * The validation message.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validationMessage | `ElementInternals.validationMessage`} property.\n */\n get validationMessage() {\n return (this.elementInternals.validationMessage || this.control.validationMessage);\n }\n /**\n * The current value of the input.\n * @public\n */\n get value() {\n Observable.track(this, \"value\");\n return this.currentValue;\n }\n set value(value) {\n this.currentValue = value;\n if (this.$fastController.isConnected) {\n this.control.value = value !== null && value !== void 0 ? value : \"\";\n this.setFormValue(value);\n this.setValidity();\n Observable.notify(this, \"value\");\n }\n }\n /**\n * Determines if the control can be submitted for constraint validation.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/willValidate | `ElementInternals.willValidate`} property.\n */\n get willValidate() {\n return this.elementInternals.willValidate;\n }\n /**\n * The associated form element.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/form | `ElementInternals.form`} property.\n */\n get form() {\n return this.elementInternals.form;\n }\n /**\n * Handles the internal control's `keypress` event.\n *\n * @internal\n */\n beforeinputHandler(e) {\n if (e.inputType === \"insertLineBreak\") {\n this.implicitSubmit();\n }\n return true;\n }\n /**\n * Change event handler for inner control.\n *\n * @internal\n * @privateRemarks\n * \"Change\" events are not `composable` so they will not permeate the shadow DOM boundary. This function effectively\n * proxies the change event, emitting a `change` event whenever the internal control emits a `change` event.\n */\n changeHandler(e) {\n this.setValidity();\n this.$emit(\"change\", e, {\n bubbles: true,\n composed: true\n });\n return true;\n }\n /**\n * Checks the validity of the element and returns the result.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/checkValidity | `HTMLInputElement.checkValidity()`} method.\n */\n checkValidity() {\n return this.elementInternals.checkValidity();\n }\n /**\n * Clicks the inner control when the component is clicked.\n *\n * @param e - the event object\n */\n clickHandler(e) {\n var _a;\n if (e.target === this) {\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.click();\n }\n return true;\n }\n connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this.value);\n this.setValidity();\n }\n /**\n * Focuses the inner control when the component is focused.\n *\n * @param e - the event object\n * @public\n */\n focusinHandler(e) {\n var _a;\n if (e.target === this) {\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n }\n return true;\n }\n /**\n * Resets the value to its initial value when the form is reset.\n *\n * @internal\n */\n formResetCallback() {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n /**\n * Handles implicit form submission when the user presses the \"Enter\" key.\n *\n * @internal\n */\n implicitSubmit() {\n if (!this.elementInternals.form) {\n return;\n }\n if (this.elementInternals.form.elements.length === 1) {\n this.elementInternals.form.requestSubmit();\n return;\n }\n const formElements = Array.from(this.elementInternals.form.elements);\n // Try submitting with the first submit button, if any\n const submitButton = formElements.find((x) => x.getAttribute(\"type\") === \"submit\");\n if (submitButton) {\n submitButton.click();\n return;\n }\n // Determine if there is only one implicit submission blocking element\n const filteredElements = formElements.filter((x) => { var _a; return ImplicitSubmissionBlockingTypes.includes((_a = x.getAttribute(\"type\")) !== null && _a !== void 0 ? _a : \"\"); });\n if (filteredElements.length > 1) {\n return;\n }\n this.elementInternals.form.requestSubmit();\n }\n /**\n * Handles the internal control's `input` event.\n *\n * @internal\n */\n inputHandler(_e) {\n this.dirtyValue = true;\n this.value = this.control.value;\n return true;\n }\n /**\n * Handles the internal control's `keydown` event.\n *\n * @param e - the event object\n * @internal\n */\n keydownHandler(e) {\n if (e.key === \"Enter\") {\n this.implicitSubmit();\n }\n return true;\n }\n /**\n * Selects all the text in the text field.\n *\n * @public\n * @privateRemarks\n * The `select` event does not permeate the shadow DOM boundary. This function effectively proxies the event,\n * emitting a `select` event whenever the internal control emits a `select` event\n *\n */\n select() {\n this.control.select();\n this.$emit(\"select\");\n }\n /**\n * Sets the custom validity message.\n * @param message - The message to set\n *\n * @public\n */\n setCustomValidity(message) {\n this.elementInternals.setValidity({ customError: true }, message);\n this.reportValidity();\n }\n /**\n * Reports the validity of the element.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/reportValidity | `HTMLInputElement.reportValidity()`} method.\n */\n reportValidity() {\n return this.elementInternals.reportValidity();\n }\n /**\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue | `ElementInternals.setFormValue()`} method.\n *\n * @internal\n */\n setFormValue(value, state) {\n this.elementInternals.setFormValue(value, value !== null && value !== void 0 ? value : state);\n }\n /**\n * Sets the validity of the control.\n *\n * @param flags - Validity flags. If not provided, the control's `validity` will be used.\n * @param message - Optional message to supply. If not provided, the control's `validationMessage` will be used. If the control does not have a `validationMessage`, the message will be empty.\n * @param anchor - Optional anchor to use for the validation message. If not provided, the control will be used.\n *\n * @internal\n */\n setValidity(flags, message, anchor) {\n if (this.$fastController.isConnected && this.control) {\n if (this.disabled) {\n this.elementInternals.setValidity({});\n return;\n }\n this.elementInternals.setValidity(flags !== null && flags !== void 0 ? flags : this.control.validity, message !== null && message !== void 0 ? message : this.validationMessage, anchor !== null && anchor !== void 0 ? anchor : this.control);\n }\n }\n}\n/**\n * The form-associated flag.\n * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}\n *\n * @public\n */\nBaseTextInput.formAssociated = true;\n__decorate([\n attr\n], BaseTextInput.prototype, \"autocomplete\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"autofocus\", void 0);\n__decorate([\n attr({ attribute: \"current-value\" })\n], BaseTextInput.prototype, \"currentValue\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"defaultSlottedNodes\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"dirname\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"form\" })\n], BaseTextInput.prototype, \"formAttribute\", void 0);\n__decorate([\n attr({ attribute: \"value\", mode: \"fromView\" })\n], BaseTextInput.prototype, \"initialValue\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"list\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"maxlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"minlength\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"multiple\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"name\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"pattern\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"placeholder\", void 0);\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], BaseTextInput.prototype, \"readOnly\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"required\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"size\", void 0);\n__decorate([\n attr({\n converter: {\n fromView: (value) => typeof value === \"string\"\n ? [\"true\", \"\"].includes(value.trim().toLowerCase())\n : null,\n toView: (value) => value.toString()\n }\n })\n], BaseTextInput.prototype, \"spellcheck\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"type\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"control\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"controlLabel\", void 0);\n//# sourceMappingURL=text-input.base.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { StartEnd } from \"@fluentui/web-components\";\nimport { BaseTextInput } from \"./text-input.base\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { applyMixins } from \"../../util/apply-mixins\";\n/**\n * TextInput\n * @summary A custom text input element based on Fluent UI's TextInput with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-text-input appearance=\"outline\" control-size=\"medium\" type=\"text\" placeholder=\"Enter text here...\">\n * <span slot=\"start\">🔍</span>\n * <span slot=\"end\">✖️</span>\n * </fabric-text-input>\n * ```\n *\n * @attr {string | undefined} appearance - Indicates the styled appearance of the element.\n * @attr {string | undefined} control-size - Sets the size of the control.\n * @attr {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {string} current-value - The current value of the input.\n * @attr {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {boolean | undefined} multiple - Indicates that a comma-separated list of email addresses can be entered. This attribute is only valid when `type=\"email\"`.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n * @attr {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @attr {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @attr {string | undefined} type - Allows setting a type or mode of text.\n * @attr {string} value - The initial value of the input.\n *\n * @prop {string | undefined} appearance - Indicates the styled appearance of the element.\n * @prop {string | undefined} controlSize - Sets the size of the control.\n * @prop {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {string} currentValue - The current value of the input.\n * @prop {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @prop {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @prop {number | undefined} minlength - The minimum number of characters a user can enter.\n * @prop {boolean | undefined} multiple - Indicates that a comma-separated list of email addresses can be entered. This attribute is only valid when `type=\"email\"`.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @prop {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean | undefined} readOnly - When true, the control will be immutable by user interaction.\n * @prop {boolean | undefined} required - The element's required attribute.\n * @prop {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @prop {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @prop {string | undefined} type - Allows setting a type or mode of text.\n * @prop {string} value - The initial value of the input.\n *\n * @slot start - Content which can be provided before the input.\n * @slot end - Content which can be provided after the input.\n * @slot - The default slot for button content.\n *\n * @csspart label - The internal `<label>` element.\n * @csspart root - The root container for the internal control.\n * @csspart control - The internal `<input>` control.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method clickHandler - Clicks the inner control when the component is clicked.\n * @method focusinHandler - Focuses the inner control when the component is focused.\n * @method select - Selects all the text in the text field.\n * @method setCustomValidity - Sets the custom validity message.\n * @method reportValidity - Reports the validity of the element.\n *\n * @extends FluentTextInput\n * @tagname fabric-text-input\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class TextInput extends BaseTextInput {\n}\n__decorate([\n attr\n], TextInput.prototype, \"appearance\", void 0);\n__decorate([\n attr({ attribute: \"control-size\" })\n], TextInput.prototype, \"controlSize\", void 0);\napplyMixins(TextInput, StartEnd);\n//# sourceMappingURL=text-input.js.map","import { TextInputAppearances, TextInputControlSizes, TextInputTypes, ImplicitSubmissionBlockingTypes as TextInputImplicitSubmissionBlockingTypes } from \"../text-input/text-input.options.js\";\n/**\n * Values for the `control-size` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxControlSizes = {\n ...TextInputControlSizes\n};\n/**\n * Values for the `appearance` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxAppearances = {\n ...TextInputAppearances\n};\n/**\n * Values for the `type` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxTypes = {\n ...TextInputTypes\n};\n/**\n * Input types that block implicit form submission.\n *\n * @public\n */\nexport const ImplicitSubmissionBlockingTypes = [\n ...TextInputImplicitSubmissionBlockingTypes\n];\n/**\n * SearchBox event names.\n *\n * @public\n */\nexport const SearchBoxEventNames = {\n search: \"search\"\n};\n//# sourceMappingURL=search-box.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { TextInput } from \"../text-input/text-input.js\";\nimport { SearchBoxEventNames, SearchBoxTypes } from \"./search-box.options.js\";\nimport { ButtonDefinition } from \"../button/index.js\";\nimport { observable } from \"@microsoft/fast-element\";\n/**\n * SearchBox\n * @summary A SearchBox custom HTML input element based on Fluent UI's SearchBox. Inherits from fabric UX TextInput.\n *\n * @example\n * ```html\n * <fabric-search-box aria-label=\"Search Box\" placeholder=\"Search...\"></fabric-search-box>\n * ```\n *\n * @attr {string | undefined} appearance - Indicates the styled appearance of the element.\n * @attr {string | undefined} control-size - Sets the size of the control.\n * @attr {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {string} current-value - The current value of the input.\n * @attr {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n * @attr {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @attr {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @attr {string | undefined} type - Allows setting a type or mode of text.\n * @attr {string} value - The initial value of the input.\n *\n * @prop {string | undefined} appearance - Indicates the styled appearance of the element.\n * @prop {string | undefined} controlSize - Sets the size of the control.\n * @prop {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {string} currentValue - The current value of the input.\n * @prop {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @prop {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @prop {number | undefined} minlength - The minimum number of characters a user can enter.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @prop {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean | undefined} readOnly - When true, the control will be immutable by user interaction.\n * @prop {boolean | undefined} required - The element's required attribute.\n * @prop {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @prop {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @prop {string | undefined} type - Allows setting a type or mode of text.\n * @prop {string} value - The initial value of the input.\n * @prop {HTMLElement | undefined} clearButton - The clear button element.\n *\n * @slot start - Content which can be provided before the input.\n * @slot end - Content which can be provided after the input.\n * @slot - The default slot for input content.\n *\n * @csspart root - The root container for the internal control.\n * @csspart control - The internal `<input>` control.\n *\n * @fires change - Fires a custom 'change' event when the value has changed.\n * @fires input - Fires a custom 'input' event when the value has changed.\n * @fires search - Fires a custom 'submit' event when the search is submitted.\n * @fires select - Fired when text is selected in the input.\n *\n * @method clear - Clears the search box value and focuses the input.\n * @method currentValueChanged - Tracks the current value of the input and shows/hides the clear button.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method select - Selects all the text in the text field.\n * @method setCustomValidity - Sets the custom validity message.\n * @method reportValidity - Reports the validity of the element.\n *\n * @extends TextInput\n * @tagname fabric-search-box\n * @public\n */\nexport class SearchBox extends TextInput {\n constructor() {\n super(...arguments);\n this.type = SearchBoxTypes.text;\n /**\n * The clear button element.\n */\n this.clearButton = undefined;\n }\n /** Focuses the input element */\n focus() {\n this.control.focus();\n }\n /** Blurs the input element */\n blur() {\n this.control.blur();\n }\n /** Show the clear button */\n showClearButton() {\n if (this.clearButton) {\n this.clearButton.style.display = \"inline-flex\";\n this.clearButton.setAttribute(\"aria-hidden\", \"false\");\n }\n }\n /** Hide the clear button */\n hideClearButton() {\n if (this.clearButton) {\n this.clearButton.style.display = \"none\";\n this.clearButton.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n /**\n * Tracks the current value of the input.\n *\n * @param prev - the previous value\n * @param next - the next value\n *\n * @internal\n */\n currentValueChanged(_prev, next) {\n this.value = next;\n if (this.clearButton && this.value.length > 0) {\n this.showClearButton();\n }\n else {\n this.hideClearButton();\n }\n }\n /**\n * Clear the search box value\n * @method\n */\n clear() {\n this.value = \"\";\n this.control.focus();\n }\n /** Handle the submit action */\n handleSubmit() {\n this.emitSearch();\n }\n /**\n * Emits the search event.\n *\n * @fires search - Fired when a search is submitted.\n */\n emitSearch() {\n this.dispatchEvent(new CustomEvent(SearchBoxEventNames.search, {\n bubbles: true,\n composed: true,\n detail: { query: this.value }\n }));\n }\n handleKeydown(event) {\n if (event.key === \"Enter\" && !!this.currentValue) {\n this.handleSubmit();\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this.handleKeydown);\n ButtonDefinition.define(customElements);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.handleKeydown);\n }\n}\n__decorate([\n observable\n], SearchBox.prototype, \"clearButton\", void 0);\n//# sourceMappingURL=search-box.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorCompoundBrandStroke, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground3, colorNeutralBackgroundInverted, colorNeutralForeground1, colorNeutralForeground3, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeDisabled, colorPaletteRedBorder2, colorTransparentBackground, colorTransparentStroke, colorTransparentStrokeInteractive, curveAccelerateMid, curveDecelerateMid, durationNormal, durationUltraFast, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontWeightRegular, lineHeightBase200, lineHeightBase300, lineHeightBase400, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXS, spacingVerticalXS, strokeWidthThin, display } from \"@fluentui/web-components\";\nimport { sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\n/**\n * Styles for the TextInput component.\n *\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n font-family: ${fontFamilyBase};\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n max-width: 400px; /* @design-token-ok */\n }\n .label {\n display: flex;\n color: ${colorNeutralForeground1};\n padding-bottom: ${spacingVerticalXS};\n flex-shrink: 0;\n padding-inline-end: ${spacingHorizontalXS};\n }\n\n .label[hidden],\n :host(:empty) .label {\n display: none;\n }\n\n .root {\n align-items: center;\n background-color: ${colorNeutralBackground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n border-bottom-color: ${colorNeutralStrokeAccessible};\n border-radius: ${borderRadiusMedium};\n box-sizing: border-box;\n height: ${sizeVerticalXXXL};\n display: inline-flex;\n flex-direction: row;\n gap: ${spacingHorizontalXXS};\n padding: 0 ${spacingHorizontalMNudge};\n position: relative;\n width: 100%;\n box-shadow: unset;\n }\n\n :has(.control:user-invalid) {\n border-color: ${colorPaletteRedBorder2};\n }\n\n .root::after {\n box-sizing: border-box;\n content: \"\";\n position: absolute;\n inset-inline-start: -1px;\n bottom: 0px;\n inset-inline-end: -1px;\n height: max(2px, ${borderRadiusMedium});\n border-radius: 0 0 ${borderRadiusMedium} ${borderRadiusMedium};\n border-bottom: 2px solid ${colorCompoundBrandStroke};\n clip-path: inset(calc(100% - 2px) 1px 0px);\n transform: scaleX(0);\n transition-property: transform;\n transition-duration: ${durationUltraFast};\n transition-delay: ${curveAccelerateMid};\n }\n .control {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n border-radius: ${borderRadiusMedium};\n background: ${colorTransparentBackground};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase300};\n border: none;\n vertical-align: center;\n }\n .control:focus-visible {\n outline: 0;\n border: 0;\n }\n .control::placeholder {\n color: ${colorNeutralForeground4};\n }\n :host ::slotted([slot=\"start\"]),\n :host ::slotted([slot=\"end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${colorNeutralForeground3};\n font-size: ${fontSizeBase500};\n }\n :host ::slotted([slot=\"start\"]) {\n padding-inline-end: ${spacingHorizontalXXS};\n }\n :host ::slotted([slot=\"end\"]) {\n padding-inline-start: ${spacingHorizontalXXS};\n gap: ${spacingHorizontalXS};\n }\n :host(:hover) .root {\n border-color: ${colorNeutralStroke1Hover};\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n :host(:active) .root {\n border-color: ${colorNeutralStroke1Pressed};\n }\n :host(:focus-within) .root {\n outline: transparent solid 2px;\n border-bottom: 0;\n }\n :host(:focus-within) .root::after {\n transform: scaleX(1);\n transition-property: transform;\n transition-duration: ${durationNormal};\n transition-delay: ${curveDecelerateMid};\n }\n :host(:focus-within:active) .root:after {\n border-bottom-color: ${colorCompoundBrandStrokePressed};\n }\n :host([appearance=\"outline\"]:focus-within) .root {\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n }\n :host(:focus-within) .control {\n color: ${colorNeutralForeground1};\n }\n :host([disabled]) .root {\n background: ${colorTransparentBackground};\n border: ${strokeWidthThin} solid ${colorNeutralStrokeDisabled};\n }\n :host([disabled]) .control::placeholder,\n :host([disabled]) ::slotted([slot=\"start\"]),\n :host([disabled]) ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForegroundDisabled};\n }\n ::selection {\n color: ${colorNeutralForegroundInverted};\n background-color: ${colorNeutralBackgroundInverted};\n }\n :host([control-size=\"small\"]) .control {\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase200};\n }\n :host([control-size=\"small\"]) .root {\n height: ${sizeVerticalXXL};\n gap: ${spacingHorizontalXXS};\n padding: 0 ${spacingHorizontalSNudge};\n }\n :host([control-size=\"small\"]) ::slotted([slot=\"start\"]),\n :host([control-size=\"small\"]) ::slotted([slot=\"end\"]) {\n font-size: ${fontSizeBase400};\n }\n :host([control-size=\"large\"]) .control {\n font-size: ${fontSizeBase400};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase400};\n }\n :host([control-size=\"large\"]) .root {\n height: 40px; /* @design-token-ok */\n gap: ${spacingHorizontalS};\n padding: 0 ${spacingHorizontalM};\n }\n :host([control-size=\"large\"]) ::slotted([slot=\"start\"]),\n :host([control-size=\"large\"]) ::slotted([slot=\"end\"]) {\n font-size: ${fontSizeBase600};\n }\n :host([appearance=\"underline\"]) .root {\n background: ${colorTransparentBackground};\n border: 0;\n border-radius: 0;\n border-bottom: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};\n }\n :host([appearance=\"underline\"]:hover) .root {\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n :host([appearance=\"underline\"]:active) .root {\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n :host([appearance=\"underline\"]:focus-within) .root {\n border: 0;\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n :host([appearance=\"underline\"][disabled]) .root {\n border-bottom-color: ${colorNeutralStrokeDisabled};\n }\n :host([appearance=\"filled-lighter\"]) .root,\n :host([appearance=\"filled-darker\"]) .root {\n border: ${strokeWidthThin} solid ${colorTransparentStroke};\n }\n :host([appearance=\"filled-lighter\"]) .root {\n background: ${colorNeutralBackground1};\n }\n :host([appearance=\"filled-darker\"]) .root {\n background: ${colorNeutralBackground3};\n }\n :host([appearance=\"filled-lighter\"]:hover) .root,\n :host([appearance=\"filled-darker\"]:hover) .root {\n border-color: ${colorTransparentStrokeInteractive};\n }\n :host([appearance=\"filled-lighter\"]:active) .root,\n :host([appearance=\"filled-darker\"]:active) .root {\n border-color: ${colorTransparentStrokeInteractive};\n background: ${colorNeutralBackground3};\n }\n`;\n//# sourceMappingURL=text-input.styles.js.map","import { css } from \"@microsoft/fast-element\";\nimport { styles as textInputStyles } from \"../text-input/text-input.styles.js\";\nimport { colorNeutralForeground3, spacingHorizontalXS } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${textInputStyles}\n\n .root {\n padding-inline-end: 0px;\n }\n\n .search-icon {\n display: flex;\n box-sizing: border-box;\n color: ${colorNeutralForeground3};\n }\n\n fabric-button.clear-button {\n min-width: ${sizeHorizontalXL};\n min-height: ${sizeHorizontalXL};\n margin-inline-end: ${spacingHorizontalXS};\n padding: 0px 2px;\n display: none;\n }\n`;\n//# sourceMappingURL=search-box.styles.js.map","import { html } from \"@microsoft/fast-element\";\nexport const searchIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.7291 13.4362C11.5924 14.411 10.115 15 8.5 15C4.91015 15 2 12.0899 2 8.5C2 4.91015 4.91015 2 8.5 2C12.0899 2 15 4.91015 15 8.5C15 10.115 14.411 11.5924 13.4361 12.7292L16.8535 16.1465C17.0487 16.3417 17.0487 16.6583 16.8535 16.8536C16.6799 17.0271 16.4105 17.0464 16.2156 16.9114L16.1464 16.8536L12.7291 13.4362ZM12.0196 12.7266C12.276 12.5128 12.5127 12.2761 12.7265 12.0197C13.5216 11.0659 14 9.83881 14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83877 14 11.0658 13.5217 12.0196 12.7266Z\"\n fill=\"#616161\"\n />\n </svg>\n`;\nexport const dismissIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.08859 4.21569L4.14645 4.14645C4.32001 3.97288 4.58944 3.9536 4.78431 4.08859L4.85355 4.14645L10 9.293L15.1464 4.14645C15.32 3.97288 15.5894 3.9536 15.7843 4.08859L15.8536 4.14645C16.0271 4.32001 16.0464 4.58944 15.9114 4.78431L15.8536 4.85355L10.707 10L15.8536 15.1464C16.0271 15.32 16.0464 15.5894 15.9114 15.7843L15.8536 15.8536C15.68 16.0271 15.4106 16.0464 15.2157 15.9114L15.1464 15.8536L10 10.707L4.85355 15.8536C4.67999 16.0271 4.41056 16.0464 4.21569 15.9114L4.14645 15.8536C3.97288 15.68 3.9536 15.4106 4.08859 15.2157L4.14645 15.1464L9.293 10L4.14645 4.85355C3.97288 4.67999 3.9536 4.41056 4.08859 4.21569L4.14645 4.14645L4.08859 4.21569Z\"\n fill=\"#616161\"\n />\n </svg>\n`;\n//# sourceMappingURL=component-svgs.js.map","import { html, slotted, ref } from \"@microsoft/fast-element\";\nimport { whitespaceFilter } from \"../../util/whitespace-filter.js\";\nimport { searchIcon, dismissIcon } from \"../../static/component-svgs.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(SearchBox:class)} component.\n * @public\n */\nexport function searchBoxTemplate() {\n return html `\n <template\n @beforeinput=\"${(x, c) => x.beforeinputHandler(c.event)}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n >\n <label for=\"control\" class=\"label\" ${ref(\"controlLabel\")}>\n <slot\n ${slotted({\n property: \"defaultSlottedNodes\",\n filter: whitespaceFilter\n })}\n ></slot>\n </label>\n <span class=\"root\">\n <span class=\"search-icon\">${searchIcon}</span>\n <input\n aria-label=\"${(x) => x.ariaLabel}\"\n class=\"control\"\n id=\"control\"\n @change=\"${(x, c) => x.changeHandler(c.event)}\"\n @input=\"${(x, c) => x.inputHandler(c.event)}\"\n ?autofocus=\"${(x) => x.autofocus}\"\n autocomplete=\"${(x) => x.autocomplete}\"\n ?disabled=\"${(x) => x.disabled}\"\n list=\"${(x) => x.list}\"\n maxlength=\"${(x) => x.maxlength}\"\n minlength=\"${(x) => x.minlength}\"\n ?multiple=\"${(x) => x.multiple}\"\n name=\"${(x) => x.name}\"\n pattern=\"${(x) => x.pattern}\"\n placeholder=\"${(x) => x.placeholder}\"\n ?readonly=\"${(x) => x.readOnly}\"\n ?required=\"${(x) => x.required}\"\n size=\"${(x) => x.size}\"\n spellcheck=\"${(x) => x.spellcheck}\"\n type=\"${(x) => x.type}\"\n value=\"${(x) => x.initialValue}\"\n ${ref(\"control\")}\n />\n <fabric-button\n aria-label=\"clear\"\n appearance=\"transparent\"\n class=\"clear-button\"\n aria-hidden=\"true\"\n ${ref(\"clearButton\")}\n @click=\"${(x) => x.clear()}\"\n >\n ${dismissIcon}\n </fabric-button>\n <slot name=\"end\"></slot>\n </span>\n </template>\n `;\n}\nexport const template = searchBoxTemplate();\n//# sourceMappingURL=search-box.template.js.map","import { SearchBox } from \"./search-box.js\";\nimport { styles } from \"./search-box.styles.js\";\nimport { template } from \"./search-box.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-search-box>\n */\nexport const definition = SearchBox.compose({\n name: `${DesignSystem.prefix}-search-box`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=search-box.definition.js.map","import { Slider as FluentSlider } from \"@fluentui/web-components\";\n/**\n * Slider\n * @summary A Slider Custom HTML Element based on Fluent UI's Slider with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-slider min=\"0\" max=\"10\" step=\"1\" value=\"5\" orientation=\"horizontal\">\n * <div slot=\"thumb\" class=\"custom-thumb\"></div>\n * </fabric-slider>\n * ```\n *\n * @attr {SliderSize | undefined} size - The size of the slider.\n * @attr {string} value - The initial value of the input.\n * @attr {boolean} disabled - The element's disabled state.\n * @attr {number} min - The minimum allowed value.\n * @attr {number} max - The maximum allowed value.\n * @attr {number} step - Value to increment or decrement via arrow keys, mouse click or drag.\n * @attr {SliderOrientation | undefined} orientation - The orientation of the slider.\n * @attr {SliderMode | undefined} mode - The selection mode.\n *\n * @prop {SliderSize | undefined} size - The size of the slider.\n * @prop {string} value - The initial value of the input.\n * @prop {boolean} disabled - The element's disabled state.\n * @prop {number} min - The minimum allowed value.\n * @prop {number} max - The maximum allowed value.\n * @prop {number} step - Value to increment or decrement via arrow keys, mouse click or drag.\n * @prop {SliderOrientation | undefined} orientation - The orientation of the slider.\n * @prop {SliderMode | undefined} mode - The selection mode.\n *\n * @slot thumb - The slot for a custom thumb element.\n *\n * @csspart track-container - The container element of the track.\n * @csspart thumb-container - The container element of the thumb.\n *\n * @cssprop --border-radius - Sets the border radius for the track and thumb.\n * @cssprop --rail-color - Sets the color of the unfilled rail.\n * @cssprop --slider-direction - Defines the direction used to calculate the track styling.\n * @cssprop --slider-progress - Represents the current progress for styling the track.\n * @cssprop --slider-thumb - Defines the thumb styling for the slider.\n * @cssprop --step-marker-inset - Offsets step markers relative to the track.\n * @cssprop --step-rate - Defines the spacing rate for step markers.\n * @cssprop --thumb-size - Sets the size of the slider thumb.\n * @cssprop --track-color - Sets the color of the filled track.\n * @cssprop --track-margin-inline - Sets the inline margin for the track.\n * @cssprop --track-overhang - Controls how far the track extends past the thumb.\n * @cssprop --track-size - Sets the thickness of the track.\n *\n * @method handleChange - Handles changes to the slider's value.\n * @method handleStepStyles - Handles changes to step styling based on the step value.\n * @method checkValidity - Checks the element's validity.\n * @method reportValidity - Reports the element's validity.\n * @method setCustomValidity - Sets a custom validity message.\n * @method directionChanged - Called when the direction changes.\n * @method increment - Increment the value by the step.\n * @method decrement - Decrement the value by the step.\n * @method handleKeydown - Handles keydown events for the slider.\n * @method setSliderPosition - Places the thumb based on the current value.\n * @method updateStepMultiplier - Update the step multiplier used to ensure rounding errors from steps that are not whole numbers.\n * @method convertToConstrainedValue - Converts a given value to a constrained value within the slider's min and max.\n * @method setDisabledSideEffect - Makes sure the side effects are set up when the disabled state changes.\n *\n * @fires change - Fires a custom 'change' event when the value changes.\n *\n * @extends FluentSlider\n * @tagname fabric-slider\n * @public\n */\nexport class Slider extends FluentSlider {\n}\n//# sourceMappingURL=slider.js.map","import { SliderMode as FluentSliderMode, SliderOrientation as FluentSliderOrientation, SliderSize as FluentSliderSize } from \"@fluentui/web-components\";\n/** Selection mode values for {@link Slider}. */\nexport const SliderModes = {\n ...FluentSliderMode\n};\n/** Orientation values for {@link Slider}. */\nexport const SliderOrientations = {\n ...FluentSliderOrientation\n};\n/** Size values for {@link Slider}. */\nexport const SliderSizes = {\n ...FluentSliderSize\n};\n/** Event names for {@link Slider}. */\nexport const SliderEventNames = {\n change: \"change\"\n};\n//# sourceMappingURL=slider.options.js.map","import { Slider } from \"./slider.js\";\nimport { SliderStyles, SliderTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Slider component.\n *\n * @public\n */\nexport const definition = Slider.compose({\n name: `${DesignSystem.prefix}-slider`,\n template: SliderTemplate,\n styles: SliderStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=slider.definition.js.map","import { Spinner as FluentSpinner } from \"@fluentui/web-components\";\n/**\n * Spinner\n * @summary A Fabric UI Spinner component that provides a visual indication of loading state with customizable size and appearance.\n *\n * @example\n * ```html\n * <fabric-spinner size=\"large\" appearance=\"primary\"></fabric-spinner>\n * ```\n *\n * @attr {SpinnerSize} size - The size of the spinner. One of 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large', 'huge'.\n * @attr {SpinnerAppearance} appearance - The appearance of the spinner. One of 'primary', 'inverted'.\n *\n * @prop {SpinnerSize} size - The size of the spinner. One of 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large', 'huge'.\n * @prop {SpinnerAppearance} appearance - The appearance of the spinner. One of 'primary', 'inverted'.\n *\n * @slot indicator - Custom content that replaces the default spinner indicator.\n *\n * @csspart background - The background layer of the spinner.\n * @csspart progress - The container for the spinner progress animation.\n * @csspart spinner - The spinner animation container.\n * @csspart start - The start section of the spinner animation.\n * @csspart end - The end section of the spinner animation.\n * @csspart indicator - The visual element that indicates the loading process.\n *\n * @cssprop --duration - Controls the animation duration for the spinner.\n * @cssprop --indicatorSize - Sets the rendered size of the spinner indicator.\n * @cssprop --size - Sets the overall size used by the spinner component.\n *\n * @extends FluentSpinner\n * @tagname fabric-spinner\n * @public\n */\nexport class Spinner extends FluentSpinner {\n}\n//# sourceMappingURL=spinner.js.map","import { SpinnerAppearance as FluentSpinnerAppearance, SpinnerSize as FluentSpinnerSize } from \"@fluentui/web-components\";\n/** Appearance values for {@link Spinner}. */\nexport const SpinnerAppearances = { ...FluentSpinnerAppearance };\n/** Size values for {@link Spinner}. */\nexport const SpinnerSizes = { ...FluentSpinnerSize };\n//# sourceMappingURL=spinner.options.js.map","import { Spinner } from \"./spinner.js\";\nimport { SpinnerStyles, SpinnerTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Spinner component.\n *\n * @public\n */\nexport const definition = Spinner.compose({\n name: `${DesignSystem.prefix}-spinner`,\n template: SpinnerTemplate,\n styles: SpinnerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=spinner.definition.js.map","import { Switch as FluentSwitch } from \"@fluentui/web-components\";\n/**\n * Switch\n * @summary A Fabric UI Switch component that extends Fluent UI's Switch with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-switch checked>\n * <span slot=\"switch\">Toggle</span>\n * </fabric-switch>\n * ```\n *\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {boolean | undefined} disabled - The disabled state of the control.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {boolean | undefined} checked - The initial checked state of the element.\n * @attr {string | undefined} value - The initial value of the input.\n * @attr {boolean | undefined} required - The required state of the element.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @prop {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {boolean} disabled - The disabled state of the control.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {boolean} checked - The initial checked state of the element.\n * @prop {boolean} required - The required state of the element.\n * @prop {string} value - The initial value of the input.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @slot switch - Custom slot for the switch indicator.\n *\n * @csspart checked-indicator - The part representing the checked state indicator.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets a custom validity message with the provided message.\n * @method toggleChecked - Toggles the checked state of the control, with an optional force parameter.\n *\n * @extends FluentSwitch\n * @tagname fabric-switch\n * @public\n */\nexport class Switch extends FluentSwitch {\n}\n//# sourceMappingURL=switch.js.map","import { Switch } from \"./switch.js\";\nimport { SwitchStyles, SwitchTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Switch component.\n *\n * @public\n */\nexport const definition = Switch.compose({\n name: `${DesignSystem.prefix}-switch`,\n template: SwitchTemplate,\n styles: SwitchStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=switch.definition.js.map","import { Tab as FluentTab } from \"@fluentui/web-components\";\n/**\n * Tab\n * @summary A Fabric UI Tab component that extends Fluent UI's Tab, providing a tab item for use within a tab list with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tab disabled>\n * <span slot=\"start\">Icon</span>\n * Tab Title\n * <span slot=\"end\">Close</span>\n * </fabric-tab>\n * ```\n *\n * @attr {boolean} disabled - When true, the control will be immutable by user interaction.\n *\n * @prop {boolean} disabled - When true, the control will be immutable by user interaction.\n *\n * @slot start - Content before the tab content.\n * @slot default - The default slot for tab text or content.\n * @slot end - Content after the tab content.\n *\n * @csspart tab-content - The container for the tab's content.\n * @cssprop --textContent - Controls the tab text content styling.\n *\n * @extends FluentTab\n * @tagname fabric-tab\n * @public\n */\nexport class Tab extends FluentTab {\n}\n//# sourceMappingURL=tab.js.map","import { TabStyles, TabTemplate } from \"@fluentui/web-components\";\nimport { Tab } from \"./tab.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Tab component\n *\n * @public\n */\nexport const definition = Tab.compose({\n name: `${DesignSystem.prefix}-tab`,\n template: TabTemplate,\n styles: TabStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tab.definition.js.map","import { TablistAppearance as FluentTablistAppearance, TablistOrientation as FluentTablistOrientation, TablistSize as FluentTablistSize } from \"@fluentui/web-components\";\n/** Appearance values for Tablist. */\nexport const TablistAppearances = {\n ...FluentTablistAppearance\n};\n/** Orientation values for Tablist. */\nexport const TablistOrientations = {\n ...FluentTablistOrientation\n};\n/** Size values for Tablist. */\nexport const TablistSizes = {\n ...FluentTablistSize\n};\n/** Event names for Tablist. */\nexport const TablistEventNames = {\n activeIndexChange: \"active-index-change\",\n change: \"change\"\n};\n//# sourceMappingURL=tablist.options.js.map","import { Tablist as FluentTablist } from \"@fluentui/web-components\";\nimport { TablistEventNames } from \"./tablist.options.js\";\n/**\n * Tablist\n * @summary A custom Tablist component based on Fluent UI's Tablist, enhanced with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tablist appearance=\"subtle\" size=\"medium\" orientation=\"horizontal\" disabled=\"false\" activeid=\"tab1\">\n * <fabric-tab slot=\"tab\">Tab 1</fabric-tab>\n * <fabric-tab slot=\"tab\">Tab 2</fabric-tab>\n * <fabric-tab slot=\"tab\">Tab 3</fabric-tab>\n * </fabric-tablist>\n * ```\n *\n * @attr {string} appearance - There are two modes of appearance: transparent and subtle.\n * @attr {string} size - Used to set the size of all the tab controls, which affects text size and margins. Three sizes: small, medium, and large.\n * @attr {string} orientation - The orientation, which can be 'horizontal' or 'vertical'.\n * @attr {boolean} disabled - Used for disabling all click and keyboard events for the tabs, child tab elements.\n * @attr {string} activeid - The id of the active tab.\n *\n * @prop {TablistAppearance} appearance - There are two modes of appearance: transparent and subtle.\n * @prop {TablistSize} size - Used to set the size of all the tab controls, which affects text size and margins. Three sizes: small, medium, and large.\n * @prop {TablistOrientation} orientation - The orientation, which can be 'horizontal' or 'vertical'.\n * @prop {boolean} disabled - Used for disabling all click and keyboard events for the tabs, child tab elements.\n * @prop {string} activeid - The id of the active tab.\n *\n * @slot tab - Slot for individual tabs.\n *\n * @cssprop --tabIndicatorInsetBlock - Controls the block inset for the active tab indicator.\n * @cssprop --tabIndicatorInsetInline - Controls the inline inset for the active tab indicator.\n * @cssprop --tabIndicatorOffset - Offsets the active tab indicator from its default position.\n * @cssprop --tabIndicatorScale - Scales the active tab indicator size.\n * @cssprop --tabPaddingBlock - Sets the block padding for each tab.\n * @cssprop --tabPaddingInline - Sets the inline padding for each tab.\n *\n * @method activeidChanged - Initiates the active tab indicator animation loop when activeid changes.\n * @method activeTabIndexPublic - Returns the index of the currently active tab based on the activeid property.\n * @method tabsChanged - Initiates the active tab indicator animation loop when tabs change.\n * @method setTabs - Function that is invoked whenever the selected tab or the tab collection changes.\n * @method adjust - The adjust method for FASTTabs.\n *\n * @fires active-index-change - Event fired when the active tab index changes, providing the new index in the event detail.\n * @fires change - Event fired when the active tab id changes, providing the new id in the event detail.\n *\n * @extends FluentTablist\n * @tagname fabric-tablist\n * @public\n */\nexport class Tablist extends FluentTablist {\n get activeTabIndexPublic() {\n if (!this.tabs || !this.activeid)\n return -1;\n return this.tabs.findIndex((tab) => tab.id === this.activeid);\n }\n emitActiveIndexChange(activeTabIndex) {\n this.dispatchEvent(new CustomEvent(TablistEventNames.activeIndexChange, {\n detail: { activeTabIndex },\n bubbles: true,\n composed: true\n }));\n }\n // Example: emit event with the active tab index\n activeidChanged(oldValue, newValue) {\n super.activeidChanged(oldValue, newValue);\n this.emitActiveIndexChange(this.activeTabIndexPublic);\n }\n}\n//# sourceMappingURL=tablist.js.map","import { TablistStyles, TablistTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Tablist } from \"./tablist.js\";\n/**\n * The Fabric Tablist component.\n *\n * @public\n */\nexport const definition = Tablist.compose({\n name: `${DesignSystem.prefix}-tablist`,\n template: TablistTemplate,\n styles: TablistStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tablist.definition.js.map","import { TextArea as FluentTextArea } from \"@fluentui/web-components\";\n/**\n * TextArea\n * @summary A Fabric UI TextArea component that extends Fluent UI's TextArea with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-textarea\n * appearance=\"filled-darker\"\n * block\n * size=\"large\"\n * autocomplete=\"on\"\n * auto-resize\n * maxlength=\"500\"\n * minlength=\"10\"\n * placeholder=\"Enter text here...\"\n * readonly\n * required\n * >\n * <span slot=\"label\">Label</span>\n * Your text here...\n * </fabric-textarea>\n * ```\n *\n * @attr {TextAreaAppearance | undefined} appearance - Indicates the visual appearance of the element.\n * @attr {boolean | undefined} block - Indicates whether the textarea should be a block-level element.\n * @attr {TextAreaSize | undefined} size - Sets the size of the control.\n * @attr {TextAreaAutocomplete | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} auto-resize - Indicates whether the element’s block size (height) should be automatically changed based on the content.\n * @attr {string | undefined} dirname - Sets the name of the value directionality to be submitted with form data.\n * @attr {boolean | undefined} display-shadow - Indicates whether the element displays a box shadow.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n *\n * @prop {string} appearance - Indicates the visual appearance of the element.\n * @prop {boolean} block - Indicates whether the textarea should be a block-level element.\n * @prop {TextAreaSize} size - Sets the size of the control.\n * @prop {TextAreaAutocomplete} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean} autoResize - Indicates whether the element’s block size (height) should be automatically changed based on the content.\n * @prop {string} dirname - Sets the name of the value directionality to be submitted with form data.\n * @prop {boolean} displayShadow - Indicates whether the element displays a box shadow.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {number} maxlength - The maximum number of characters a user can enter.\n * @prop {number} minlength - The minimum number of characters a user can enter.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean} readonly - When true, the control will be immutable by user interaction.\n * @prop {boolean} required - The element's required attribute.\n *\n * @slot - The default content/value of the component.\n * @slot label - The content for the `<label>`, it should be a `<fluent-label>` element.\n *\n * @csspart label - The `<label>` element.\n * @csspart root - The container element of the `<textarea>` element.\n * @csspart control - The internal `<textarea>` element.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets the custom validity message.\n * @method select - Selects the content in the element.\n *\n * @fires change - Fires after the control loses focus, if the content has changed.\n * @fires select - Fires when the `select()` method is called.\n *\n * @extends FluentTextArea\n * @tagname fabric-textarea\n * @public\n */\nexport class TextArea extends FluentTextArea {\n}\n//# sourceMappingURL=textarea.js.map","import { TextAreaStyles, TextAreaTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system\";\nimport { TextArea } from \"./textarea\";\n/**\n * The Fabric Text Area component.\n *\n * @public\n */\nexport const definition = TextArea.compose({\n name: `${DesignSystem.prefix}-textarea`,\n template: TextAreaTemplate,\n styles: TextAreaStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=textarea.definition.js.map","import { TextAreaAppearance as FluentTextAreaAppearance, TextAreaAutocomplete as FluentTextAreaAutocomplete, TextAreaResize as FluentTextAreaResize, TextAreaSize as FluentTextAreaSize, TextAreaAppearancesForDisplayShadow as FluentTextAreaAppearancesForDisplayShadow } from \"@fluentui/web-components\";\n/** Appearance values for {@link TextArea}. */\nexport const TextareaAppearances = { ...FluentTextAreaAppearance };\n/** Autocomplete values for {@link TextArea}. */\nexport const TextareaAutocompletes = { ...FluentTextAreaAutocomplete };\n/** Resize values for {@link TextArea}. */\nexport const TextareaResizes = { ...FluentTextAreaResize };\n/** Size values for {@link TextArea}. */\nexport const TextareaSizes = { ...FluentTextAreaSize };\n/** Appearance values that support display shadows for {@link TextArea}. */\nexport const TextareaAppearancesForDisplayShadows = [\n ...FluentTextAreaAppearancesForDisplayShadow\n];\n//# sourceMappingURL=textarea.options.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { whitespaceFilter } from \"../../util/whitespace-filter.js\";\n/**\n * Generates a template for the TextInput component.\n *\n * @public\n */\nexport function textInputTemplate() {\n return html `\n <template\n @beforeinput=\"${(x, c) => x.beforeinputHandler(c.event)}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n >\n <label part=\"label\" for=\"control\" class=\"label\" ${ref(\"controlLabel\")}>\n <slot\n ${slotted({\n property: \"defaultSlottedNodes\",\n filter: whitespaceFilter\n })}\n ></slot>\n </label>\n <div class=\"root\" part=\"root\">\n <slot name=\"start\"></slot>\n <input\n class=\"control\"\n part=\"control\"\n id=\"control\"\n @change=\"${(x, c) => x.changeHandler(c.event)}\"\n @input=\"${(x, c) => x.inputHandler(c.event)}\"\n ?autofocus=\"${(x) => x.autofocus}\"\n autocomplete=\"${(x) => x.autocomplete}\"\n ?disabled=\"${(x) => x.disabled}\"\n list=\"${(x) => x.list}\"\n maxlength=\"${(x) => x.maxlength}\"\n minlength=\"${(x) => x.minlength}\"\n ?multiple=\"${(x) => x.multiple}\"\n name=\"${(x) => x.name}\"\n pattern=\"${(x) => x.pattern}\"\n placeholder=\"${(x) => x.placeholder}\"\n ?readonly=\"${(x) => x.readOnly}\"\n ?required=\"${(x) => x.required}\"\n size=\"${(x) => x.size}\"\n spellcheck=\"${(x) => x.spellcheck}\"\n type=\"${(x) => x.type}\"\n value=\"${(x) => x.initialValue}\"\n ${ref(\"control\")}\n />\n <slot name=\"end\"></slot>\n </div>\n </template>\n `;\n}\n/**\n * @internal\n */\nexport const template = textInputTemplate();\n//# sourceMappingURL=text-input.template.js.map","import { TextInput } from \"./text-input.js\";\nimport { styles as TextInputStyles } from \"./text-input.styles\";\nimport { template as TextInputTemplate } from \"./text-input.template\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric Text Input component.\n *\n * @public\n */\nexport const definition = TextInput.compose({\n name: `${DesignSystem.prefix}-text-input`,\n template: TextInputTemplate,\n styles: TextInputStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=text-input.definition.js.map","import { Text as FluentText } from \"@fluentui/web-components\";\n/**\n * Text\n * @summary A Text Custom HTML Element based on Fluent UI's Text with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-text nowrap size=\"700\" weight=\"bold\" align=\"center\">\n * Your text here\n * </fabric-text>\n * ```\n *\n * @attr {boolean} nowrap - The text will not wrap. Boolean attributes which default to true in HTML can't be switched off in the DOM.\n * @attr {boolean} truncate - The text truncates.\n * @attr {boolean} italic - The text style is italic.\n * @attr {boolean} underline - The text style is underline.\n * @attr {boolean} strikethrough - The text style is strikethrough.\n * @attr {boolean} block - A text can take up the width of its container.\n * @attr {TextSize} size - The Text size. One of '100', '200', '300', '400', '500', '600', '700', '800', '900', '1000'.\n * @attr {TextFont} font - The Text font. One of 'base', 'numeric', 'monospace'.\n * @attr {TextWeight} weight - The Text weight. One of 'medium', 'regular', 'semibold', 'bold'.\n * @attr {TextAlign} align - The Text alignment. One of 'start', 'end', 'center', 'justify'.\n *\n * @prop {boolean} nowrap - The text will not wrap.\n * @prop {boolean} truncate - The text truncates.\n * @prop {boolean} italic - The text style is italic.\n * @prop {boolean} underline - The text style is underline.\n * @prop {boolean} strikethrough - The text style is strikethrough.\n * @prop {boolean} block - A text can take up the width of its container.\n * @prop {TextSize} size - The Text size.\n * @prop {TextFont} font - The Text font.\n * @prop {TextWeight} weight - The Text weight.\n * @prop {TextAlign} align - The Text alignment.\n *\n * @slot default - The default slot for text content.\n *\n * @extends FluentText\n * @tagname fabric-text\n * @public\n */\nexport class Text extends FluentText {\n}\n//# sourceMappingURL=text.js.map","import { Text } from \"./text.js\";\nimport { TextStyles, TextTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Text component.\n *\n * @public\n */\nexport const definition = Text.compose({\n name: `${DesignSystem.prefix}-text`,\n template: TextTemplate,\n styles: TextStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=text.definition.js.map","import { TextAlign as FluentTextAlign, TextFont as FluentTextFont, TextSize as FluentTextSize, TextWeight as FluentTextWeight } from \"@fluentui/web-components\";\nexport const TextAligns = { ...FluentTextAlign };\nexport const TextFonts = { ...FluentTextFont };\nexport const TextSizes = { ...FluentTextSize };\nexport const TextWeights = { ...FluentTextWeight };\n//# sourceMappingURL=text.options.js.map","import { Tree as FluentTree } from \"@fluentui/web-components\";\n/**\n * Tree\n * @summary A Fabric UI Tree component that extends Fluent UI's Tree with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tree size=\"medium\" appearance=\"subtle\">\n * <fabric-tree-item expanded>\n * Root Item\n * <fabric-tree-item>Child Item 1</fabric-tree-item>\n * <fabric-tree-item selected>Child Item 2</fabric-tree-item>\n * </fabric-tree-item>\n * </fabric-tree>\n * ```\n *\n * @attr {string | undefined} size - The size of tree items within this tree (small, medium).\n * @attr {string | undefined} appearance - The appearance variant of tree items (subtle, subtleAlpha, transparent).\n *\n * @prop {string} size - The size of tree items within this tree.\n * @prop {string} appearance - The appearance variant of tree items.\n * @prop {HTMLElement | null} currentSelected - The currently selected tree item.\n * @prop {Array} childTreeItems - Array of immediate child tree items.\n *\n * @slot default - Container for tree-item elements that make up the tree structure.\n *\n * @csspart root - The component's outermost element.\n *\n * @method keydownHandler - Handles keyboard navigation (arrow keys, home, end, enter, space).\n * @method focusHandler - Manages focus behavior when tree receives focus.\n * @method blurHandler - Manages focus behavior when tree loses focus.\n * @method clickHandler - Handles click events from child tree items.\n * @method changeHandler - Handles selection change events from child tree items.\n * @method updateSizeAndAppearance - Updates size and appearance of all child tree items.\n *\n * @fires change - Fired when a tree item selection changes.\n *\n * @extends FluentTree\n * @tagname fabric-tree\n * @public\n */\nexport class Tree extends FluentTree {\n /**\n * Overrides the upstream click handler to resolve the closest tree item\n * from the event target. The upstream implementation uses `e.target` directly,\n * which fails when the click originates from a child element (e.g., an icon\n * in the `start` slot or text inside the default slot wrapper).\n *\n * @internal\n */\n clickHandler(e) {\n if (e.defaultPrevented) {\n return;\n }\n const item = this.findClosestTreeItem(e.target);\n if (!item) {\n return true;\n }\n item.toggleExpansion();\n item.selected = true;\n }\n /**\n * Walks up the DOM from the event target to find the nearest tree item.\n * The upstream `isTreeItem` check uses `e.target` directly, which fails\n * when the click originates from a slotted child element (e.g., an icon\n * in the `start` slot or text inside the default slot wrapper).\n */\n findClosestTreeItem(target) {\n var _a;\n let el = target;\n while (el && el !== this) {\n if ((_a = el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase().endsWith(\"-tree-item\")) {\n return el;\n }\n el = el.parentElement;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=tree.js.map","import { TreeStyles, TreeTemplate } from \"@fluentui/web-components\";\nimport { Tree } from \"./tree\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric Tree component.\n *\n * @public\n */\nexport const definition = Tree.compose({\n name: `${DesignSystem.prefix}-tree`,\n template: TreeTemplate,\n styles: TreeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tree.definition.js.map","import { TreeItem as FluentTreeItem } from \"@fluentui/web-components\";\n/**\n * TreeItem\n * @summary A Fabric UI TreeItem component that extends Fluent UI's TreeItem with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tree-item expanded selected>\n * <span slot=\"start\">📁</span>\n * Folder Name\n * <span slot=\"end\">🔔</span>\n * <fabric-tree-item>Child Item</fabric-tree-item>\n * </fabric-tree-item>\n * ```\n *\n * @attr {boolean | undefined} expanded - Whether the tree item is expanded to show child items.\n * @attr {boolean | undefined} selected - Whether the tree item is selected.\n * @attr {boolean | undefined} empty - Whether the tree item has no child items.\n * @attr {string | undefined} size - The size of the tree item (small, medium).\n * @attr {string | undefined} appearance - The appearance variant (subtle, subtleAlpha, transparent).\n * @attr {number | undefined} data-indent - The indentation level for nested items.\n *\n * @prop {boolean} expanded - Whether the tree item is expanded.\n * @prop {boolean} selected - Whether the tree item is selected.\n * @prop {boolean} empty - Whether the tree item has no child items.\n * @prop {string} size - The size of the tree item.\n * @prop {string} appearance - The appearance variant.\n * @prop {number} dataIndent - The indentation level.\n * @prop {Array} childTreeItems - Array of child tree items.\n * @prop {boolean} isNestedItem - Whether this item is nested within another tree item.\n *\n * @slot default - The main content of the tree item.\n * @slot start - Content displayed before the main content (typically icons).\n * @slot end - Content displayed after the main content.\n * @slot aside - Content displayed at the far end of the tree item.\n * @slot chevron - Custom expand/collapse indicator (defaults to built-in chevron).\n * @slot item - Container where child tree items are automatically placed.\n *\n * @csspart positioning-region - Container for the tree item content and aside sections.\n * @csspart content - Container for the main tree item content (chevron, start, default, end slots).\n * @csspart chevron - The expand/collapse indicator.\n * @csspart aside - Container for the aside slot content.\n * @csspart items - Container for nested child tree items.\n *\n * @method toggleExpansion - Toggles the expanded state if the item has children.\n * @method updateChildTreeItems - Updates the indentation and appearance of child items.\n * @method updateSizeAndAppearance - Updates size and appearance of all child tree items.\n *\n * @fires toggle - Fired when the expanded state changes. Detail: {oldState: string, newState: string}\n * @fires change - Fired when the selected state changes.\n *\n * @extends FluentTreeItem\n * @tagname fabric-tree-item\n * @public\n */\nexport class TreeItem extends FluentTreeItem {\n}\n//# sourceMappingURL=tree-item.js.map","import { html, ref } from \"@microsoft/fast-element\";\nconst chevronIcon = html.partial(`<svg viewBox=\"0 0 12 12\" fill=\"currentColor\"><path d=\"M4.65 2.15a.5.5 0 000 .7L7.79 6 4.65 9.15a.5.5 0 10.7.7l3.5-3.5a.5.5 0 000-.7l-3.5-3.5a.5.5 0 00-.7 0z\"></path></svg>`);\nexport const template = html `\n <template slot=\"${(x) => (x.isNestedItem ? \"item\" : void 0)}\">\n <div class=\"positioning-region\" part=\"positioning-region\">\n <div class=\"content\" part=\"content\">\n <span class=\"chevron\" part=\"chevron\" aria-hidden=\"true\">\n <slot name=\"chevron\">${chevronIcon}</slot>\n </span>\n <slot name=\"start\"></slot>\n <div class=\"text\"><slot></slot></div>\n <slot name=\"end\"></slot>\n </div>\n <div class=\"aside\" part=\"aside\">\n <slot name=\"aside\"></slot>\n </div>\n </div>\n <div role=\"group\" class=\"items\" part=\"items\">\n <slot\n name=\"item\"\n ${ref(\"itemSlot\")}\n @slotchange=\"${(x) => x.handleItemSlotChange()}\"\n ></slot>\n </div>\n </template>\n`;\n//# sourceMappingURL=tree-item.template.js.map","import { TreeItemStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${TreeItemStyles}\n\n .content {\n min-inline-size: 0;\n }\n\n .text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; /* @design-token-ok: CSS property */\n }\n`;\n//# sourceMappingURL=tree-item.styles.js.map","import { TreeItem } from \"./tree-item.js\";\nimport { template } from \"./tree-item.template.js\";\nimport { styles } from \"./tree-item.styles.js\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric TreeItem component.\n *\n * @public\n */\nexport const definition = TreeItem.compose({\n name: `${DesignSystem.prefix}-tree-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tree-item.definition.js.map","import { ToggleButton as FluentToggleButton } from \"@fluentui/web-components\";\n/**\n * ToggleButton\n * @summary A ToggleButton Custom HTML Element based on Fluent UI's ToggleButton with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-toggle-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Toggle me!\n * <span slot=\"end\">→</span>\n * </fabric-toggle-button>\n * ```\n *\n * @attr {boolean | undefined} pressed - Indicates the pressed state of the control.\n * @attr {boolean | undefined} mixed - Indicates the mixed state of the control. This property takes precedence over `pressed`.\n * @attr {ToggleButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {ToggleButtonShape | undefined} shape - The shape of the button.\n * @attr {ToggleButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} form - The associated form element.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {ToggleButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {ToggleButtonType | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {boolean} pressed - Indicates the pressed state of the control.\n * @prop {boolean} mixed - Indicates the mixed state of the control. This property takes precedence over `pressed`.\n * @prop {ToggleButtonAppearance} appearance - Indicates the styled appearance of the button.\n * @prop {ToggleButtonShape} shape - The shape of the button.\n * @prop {ToggleButtonSize} size - The size of the button.\n * @prop {boolean} icon-only - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean} disabled - Sets the element's disabled state.\n * @prop {boolean} disabled-focusable - Indicates that the button is focusable while disabled.\n * @prop {number} tabindex - Sets that the button tabindex attribute.\n * @prop {string} form - The associated form element.\n * @prop {string} formaction - The URL that processes the form submission.\n * @prop {string} formenctype - The encoding type for the form submission.\n * @prop {string} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {ToggleButtonFormTarget} formtarget - The target frame or window to open the form submission in.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {ToggleButtonType} type - The button type.\n * @prop {string} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @method press - Toggles the pressed state of the button.\n * @method keypressHandler - Handles keypress events for the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentToggleButton\n * @tagname fabric-toggle-button\n * @public\n */\nexport class ToggleButton extends FluentToggleButton {\n}\n//# sourceMappingURL=toggle-button.js.map","import { ToggleButtonAppearance as FluentButtonAppearance, ToggleButtonShape as FluentButtonShape, ToggleButtonSize as FluentButtonSize, ButtonFormTarget as FluentButtonFormTarget, ButtonType as FluentButtonType } from \"@fluentui/web-components\";\n/** Appearance values for {@link ToggleButton}. */\nexport const ToggleButtonAppearances = {\n ...FluentButtonAppearance\n};\n/** Shape values for {@link ToggleButton}. */\nexport const ToggleButtonShapes = { ...FluentButtonShape };\n/** Size values for {@link ToggleButton}. */\nexport const ToggleButtonSizes = { ...FluentButtonSize };\n/** Type values for {@link ToggleButton}. */\nexport const ToggleButtonTypes = { ...FluentButtonType };\n/** Type values for {@link ToggleButton}. */\nexport const ToggleButtonFormTargets = { ...FluentButtonFormTarget };\n//# sourceMappingURL=toggle-button.options.js.map","import { ToggleButtonStyles, ToggleButtonTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { ToggleButton } from \"./toggle-button.js\";\n/**\n * The Fabric Toggle Button component.\n *\n * @public\n */\nexport const definition = ToggleButton.compose({\n name: `${DesignSystem.prefix}-toggle-button`,\n template: ToggleButtonTemplate,\n styles: ToggleButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=toggle-button.definition.js.map","import { Tooltip as FluentTooltip } from \"@fluentui/web-components\";\nimport { keyEscape } from \"@microsoft/fast-web-utilities\";\n/**\n * Tooltip\n * @summary A custom HTML Tooltip element based on Fluent UI's Tooltip, enhanced with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tooltip id=\"exampleTooltip\" anchor=\"buttonId\" delay=\"300\" positioning=\"above\">\n * Tooltip content\n * </fabric-tooltip>\n * ```\n *\n * @attr {string} id - The item ID.\n * @attr {number | null} delay - Set the delay for the tooltip to appear.\n * @attr {string} positioning - Set the positioning of the tooltip relative to the anchor element.\n * @attr {string} anchor - The id of the anchor element for the tooltip.\n *\n * @prop {string} id - The item ID.\n * @prop {number | null} delay - Set the delay for the tooltip to appear.\n * @prop {string} positioning - Set the positioning of the tooltip relative to the anchor element.\n * @prop {string} anchor - The id of the anchor element for the tooltip.\n *\n * @slot - The default slot for the tooltip content.\n *\n * @cssprop --block-offset - Offset applied along the block axis for tooltip positioning.\n * @cssprop --inline-offset - Offset applied along the inline axis for tooltip positioning.\n * @cssprop --position-area - CSS position area used to place the tooltip.\n * @cssprop --position-try-options - CSS position-try options for tooltip fallback placement.\n *\n * @extends FluentTooltip\n * @tagname fabric-tooltip\n * @public\n */\nexport class Tooltip extends FluentTooltip {\n constructor() {\n super(...arguments);\n /**\n * Handles Escape key to dismiss the tooltip.\n * Required because `popover=\"manual\"` does not support native light-dismiss.\n */\n this.handleKeydown = (e) => {\n if (e.key !== keyEscape) {\n return;\n }\n clearTimeout(this.showTimer);\n this.showTimer = undefined;\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n this.setAttribute(\"aria-hidden\", \"true\");\n this.hidePopover();\n document.removeEventListener(\"keydown\", this.handleKeydown);\n };\n }\n /**\n * Resolves the anchor element from the DOM.\n */\n get resolvedAnchorElement() {\n var _a;\n const rootNode = this.getRootNode();\n return (rootNode instanceof ShadowRoot || rootNode instanceof Document\n ? rootNode\n : document).getElementById((_a = this.anchor) !== null && _a !== void 0 ? _a : \"\");\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(\"keydown\", this.handleKeydown);\n clearTimeout(this.showTimer);\n this.showTimer = undefined;\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n }\n /**\n * Shows the tooltip after the specified delay.\n * Cancels any pending hide timer to prevent conflicts.\n * @param delay - Number of milliseconds to delay showing the tooltip\n * @internal\n */\n showTooltip(delay) {\n var _a;\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n clearTimeout(this.showTimer);\n const resolvedDelay = (_a = delay !== null && delay !== void 0 ? delay : this.delay) !== null && _a !== void 0 ? _a : Tooltip.DEFAULT_DELAY;\n this.showTimer = setTimeout(() => {\n this.showTimer = undefined;\n this.setAttribute(\"aria-hidden\", \"false\");\n this.showPopover();\n document.addEventListener(\"keydown\", this.handleKeydown);\n }, resolvedDelay);\n }\n /**\n * Hides the tooltip after the specified delay.\n * Cancels any pending show timer so the tooltip won't appear after the mouse leaves.\n * @param delay - Number of milliseconds to delay hiding the tooltip\n * @internal\n */\n hideTooltip(delay) {\n var _a;\n clearTimeout(this.showTimer);\n this.showTimer = undefined;\n clearTimeout(this.hideTimer);\n const resolvedDelay = (_a = delay !== null && delay !== void 0 ? delay : this.delay) !== null && _a !== void 0 ? _a : Tooltip.DEFAULT_DELAY;\n this.hideTimer = setTimeout(() => {\n var _a;\n this.hideTimer = undefined;\n if (this.matches(\":hover\") ||\n ((_a = this.resolvedAnchorElement) === null || _a === void 0 ? void 0 : _a.matches(\":hover\"))) {\n this.hideTooltip(resolvedDelay);\n return;\n }\n this.setAttribute(\"aria-hidden\", \"true\");\n this.hidePopover();\n document.removeEventListener(\"keydown\", this.handleKeydown);\n }, resolvedDelay);\n }\n}\nTooltip.DEFAULT_DELAY = 250;\n//# sourceMappingURL=tooltip.js.map","import { Tooltip } from \"./tooltip.js\";\nimport { TooltipStyles, TooltipTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Tooltip component.\n *\n * @public\n */\nexport const definition = Tooltip.compose({\n name: `${DesignSystem.prefix}-tooltip`,\n template: TooltipTemplate,\n styles: TooltipStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tooltip.definition.js.map","import { TooltipPositioningOption as FluentTooltipPositioningOption } from \"@fluentui/web-components\";\n/** Positioning values for {@link Tooltip}. */\nexport const TooltipPositioningOptions = {\n ...FluentTooltipPositioningOption\n};\n//# sourceMappingURL=tooltip.options.js.map"],"names":["isHTMLElement","__decorate","this","__classPrivateFieldGet","template","styles","definition","chevronRight16Filled","statusColorPaletteTokens","personaColorPaletteTokens","colorPaletteTokens","colorStatusTokens","generateColorTokens","FluentButton","FluentButtonAppearance","FluentButtonShape","FluentButtonSize","FluentButtonFormTarget","FluentButtonType","ButtonStyles","FabricButtonAppearances","FabricButtonShapes","FabricButtonSizes","FabricButtonFormTargets","FabricButtonTypes","FluentCompoundButtonStyles","CompoundButtonStyles","FabricButton","forcedColorsStylesheetBehavior","TableCellDefinition","SimpleTableStyles","computePosition","arrow","autoPlacement","offset","getComputedStyle","FluentAccordionItem","FluentAccordionItemSize","FluentAccordionItemMarkerPosition","FluentAccordion","FluentAccordionExpandMode","FluentLink","FluentLinkAppearance","FluentLinkTarget","FluentAnchorTarget","FluentAvatar","FluentAvatarActive","FluentAvatarAppearance","FluentAvatarColor","FluentAvatarNamedColor","FluentAvatarShape","FluentAvatarSize","FluentBadge","FluentBadgeAppearance","FluentBadgeColor","FluentBadgeShape","FluentBadgeSize","FluentCheckbox","FluentCheckboxShape","FluentCheckboxSize","FluentCounterBadge","FluentCounterBadgeAppearance","FluentCounterBadgeColor","FluentCounterBadgeShape","FluentCounterBadgeSize","FluentDialog","DialogStyles","FluentDialogBody","FluentDivider","FluentDividerAlignContent","FluentDividerAppearance","FluentDividerOrientation","FluentDividerRole","FluentDividerTemplate","DividerStyles","FluentDrawer","FluentDrawerPosition","FluentDrawerSize","FluentDrawerType","FluentDrawerBody","FluentDropdown","FluentDropdownAppearance","FluentDropdownSize","FluentDropdownType","DropdownStyles","FluentDropdownOption","FluentListbox","FluentField","FieldStyles","FluentImage","FluentImageFit","FluentImageShape","FluentLabel","FluentLabelSize","FluentLabelWeight","FluentAnchorButton","FluentAnchorButtonAppearance","FluentAnchorButtonShape","FluentAnchorButtonSize","FluentMessageBar","FluentMenuButton","menuTemplate","FluentProgressBar","FluentProgressBarShapeBase","FluentProgressBarThicknessBase","FluentProgressBarValidationStateBase","FluentRadioGroup","FluentRadioGroupOrientation","FluentRadio","FluentRatingDisplay","FluentRatingDisplayColor","FluentRatingDisplaySize","ImplicitSubmissionBlockingTypes","TextInputImplicitSubmissionBlockingTypes","ButtonDefinition","textInputStyles","FluentSlider","FluentSliderMode","FluentSliderOrientation","FluentSliderSize","FluentSpinner","FluentSpinnerAppearance","FluentSpinnerSize","FluentSwitch","FluentTab","FluentTablistAppearance","FluentTablistOrientation","FluentTablistSize","FluentTablist","FluentTextArea","FluentTextAreaAppearance","FluentTextAreaAutocomplete","FluentTextAreaResize","FluentTextAreaSize","FluentTextAreaAppearancesForDisplayShadow","TextInputTemplate","TextInputStyles","FluentText","FluentTextAlign","FluentTextFont","FluentTextSize","FluentTextWeight","FluentTree","FluentTreeItem","FluentToggleButton","FluentTooltip","FluentTooltipPositioningOption"],"mappings":"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AW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAClD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AAC8B,aAAa,CAAC,WAAW;AACvD;AACA;AACA;AACA;AAC8B,aAAa,CAAC,WAAW;AACvD;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AACoC,aAAa,CAAC,kBAAkB;AACpE;AACA;AACA;AACA;AAC0B,aAAa,CAAC,OAAO;AAC/C;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACqC,aAAa,CAAC,mBAAmB;AACtE;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AACkC,aAAa,CAAC,gBAAgB;AAChE;AACA;AACA;AACA;AACmC,aAAa,CAAC,iBAAiB;AAClE;AACA;AACA;AACA;AACwB,aAAa,CAAC,KAAK;AAC3C;AACA;AACA;AACA;AAC+B,aAAa,CAAC,aAAa;AAC1D;AACA;AACA;AACA;AACqC,aAAa,CAAC,mBAAmB;AACtE;AACA;AACA;AACA;AACmC,aAAa,CAAC,iBAAiB;AAClE;AACA;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,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAMD,MAAM,2BAA2B,GAAG,GAAG;AACvC,MAAM,wBAAwB,GAAG,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC,WAAW;AACpD,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK;AAC3B,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAChC,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAClC;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM;AACjC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACpC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI;AACtC,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACnC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,KAAK;AACvC,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,IAAI,CAAC,IAAI,GAAG,KAAK;AACvB,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI;AACtB,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;AAC5B,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC,IAAI;AACtB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjI,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjI,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,MAAM;AACrC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE;AACvE,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,MAAM;AACrC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE;AACvE,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,0BAA0B,GAAG,MAAM;AAC5C,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACtI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AAClI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnI,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,6BAA6B,GAAG,MAAM;AAC/C,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACzI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AACrI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACtI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACtI,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AAC9C,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9G,MAAM,IAAI,OAAO,EAAE;AACnB;AACA,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC,MAAM;AACN,MAAM,IAAI,CAAC,sBAAsB,EAAE;AACnC,MAAM,UAAU,CAAC,MAAM;AACvB,QAAQ,IAAI,OAAO,EAAE;AACrB;AACA,UAAU,IAAI,CAAC,mBAAmB,EAAE;AACpC,QAAQ;AACR,MAAM,CAAC,EAAE,IAAI,CAAC;AACd,IAAI,CAAC,EAAE,EAAE,CAAC;AACV;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI;AACtC,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE;AAC/C,MAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;AAChH,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACtC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC/C,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,sBAAsB,EAAE;AACnC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACtC,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;AAC3K,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI;AAC5B,IAAI;AACJ,EAAE;AACF,EAAE,yBAAyB,GAAG;AAC9B,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC9B,EAAE;AACF;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC9B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;AACrF,MAAM,MAAM,SAAS,GAAG,GAAG,SAAS;AACpC,kCAAkC,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,4BAA4B,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;AACzI,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1G,QAAQ,IAAI,CAAC,MAAM,GAAG,SAAS;AAC/B,QAAQ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACnD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,SAAS;AAC9B,iEAAiE,CAAC;AAClE,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,qBAAqB,GAAG;AAC1B,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc;AAC3D,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACrB;AACA,QAAQ,IAAI,CAAC,iBAAiB,EAAE;AAChC;AACA,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC;AACA,QAAQ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AAC3D,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7G,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AACnC,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACrC,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACxB,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AACnD,MAAM,IAAI,CAAC,QAAQ,GAAG,SAAS;AAC/B,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACnE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC9E,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,iCAAiC,EAAE;AAC5C,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE;AACjI,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE;AACd,QAAQ,MAAM,EAAE,IAAI;AACpB,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI;AACvB,QAAQ,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG;AACvC;AACA,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,2BAA2B,GAAG;AAChC,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAC/D,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;AACvC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;AAC9E,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;AACjF,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iCAAiC,GAAG;AACtC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAChF,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC/D,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC/D,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,0BAA0B,GAAG;AAC/B,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAClE,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAClE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC7E,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACrC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAChE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,2BAA2B,GAAG;AAChC,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAChF,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACrC,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACnE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACrD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC7C,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAChD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACxE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;AACxC,MAAM,IAAI,CAAC,uBAAuB,EAAE;AACpC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI;AAC7B,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;AACzC,QAAQ,cAAc,EAAE,IAAI,CAAC,cAAc;AAC3C,QAAQ,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC/C,QAAQ,eAAe,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAChG,QAAQ,yBAAyB,EAAE,IAAI,CAAC,gBAAgB;AACxD,QAAQ,OAAO,EAAE,IAAI,CAAC;AACtB,OAAO,CAAC;AACR,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,0BAA0B,EAAE;AACvC,MAAM,IAAI,CAAC,2BAA2B,EAAE;AACxC,MAAM,IAAI,CAAC,6BAA6B,EAAE;AAC1C,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;AAC1B,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,EAAE;AACV,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AACxG,IAAI;AACJ,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACvCA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AAC/CA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AACzDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3CA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACvEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACjEA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,qBAAqB;AAClC,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,kBAAkB;AAC/B,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;AACjDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACvCA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACvEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAClEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;;ACnqB3D,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;;AAEpB,8EAA8E,EAAE,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,qLAAqL,EAAE,kBAAkB,CAAC,iQAAiQ,EAAE,kBAAkB,CAAC,+EAA+E,EAAE,mBAAmB,CAAC,iMAAiM,EAAE,uBAAuB,CAAC;AAC3hC;AACA;AACA;AACA;AACA,MAAM,EAAE,kBAAkB,CAAC;AAC3B,4JAA4J,EAAE,kBAAkB,CAAC;AACjL;AACA,gOAAgO,EAAE,gBAAgB,CAAC;AACnP;AACA;AACA;AACA,6PAA6P,EAAE,gBAAgB,CAAC;AAChR,MAAM,EAAE,kBAAkB,CAAC;AAC3B,2LAA2L,EAAE,kBAAkB,CAAC;AAChN,MAAM,EAAE,kBAAkB,CAAC;AAC3B,uLAAuL,EAAE,kBAAkB,CAAC;AAC5M;AACA;AACA;AACA,2KAA2K,EAAE,gBAAgB,CAAC;AAC9L;AACA;AACA;AACA,4PAA4P,EAAE,gBAAgB,CAAC,yBAAyB;;AC5BxS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,IAAI,CAAC,oGAAoG,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,4DAA4D,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC,8BAA8B,CAAC;AAC3hB;AACY,MAACD,UAAQ,GAAG,eAAe;;ACpB3B,MAACE,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC9G,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC;AAC3F,MAAM,YAAY,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,SAAS,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;AAC1C,MAAM,OAAO,EAAE,CAAC;AAChB,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AACzE,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC;AAC/E,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;AACvD,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC/C,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,eAAe,CAAC,SAAS,EAAE;AACpC,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe;AAC7C,MAAM,OAAO,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK;AACvE,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;AACzD,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,kCAAkC,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE;AAC5E,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI;AACjD,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;AACnD,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzC,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACzF,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;AAC9F,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI;AACpD,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AACjG,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,2DAA2D,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACtI,YAAY,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzC,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,YAAY,CAAC,MAAM,GAAG,IAAI,SAAS,EAAE;AACrC;AAC2B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;;AC3ElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAI,IAAI;AACR,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC1D,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC1C,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,UAAU;AACzB,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACnE,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,gBAAgB,CAAC,IAAI,EAAE;AACtC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,IAAI;AACV,QAAQ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;AACpD,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACxB,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/E,UAAU;AACV,UAAU,OAAO,IAAI,CAAC,IAAI,EAAE;AAC5B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;AACvB;AACA,UAAU,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC/C,YAAY,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC;AACjD,UAAU;AACV,UAAU,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC3C,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;AACxC,QAAQ,OAAO,MAAM,UAAU;AAC/B,MAAM,CAAC,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AAChF,QAAQ,MAAM,KAAK,CAAC;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACrC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE;AACpD,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC;AAC3E,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACpE,MAAM,OAAO,EAAE;AACf,IAAI;AACJ;AACA,IAAI,MAAM,YAAY,GAAG,4BAA4B;AACrD,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;AAC/D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;AACpD,IAAI;AACJ,IAAI,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC5E,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;AACnD,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACnD,IAAI,CAAC,CAAC;AACN,IAAI,oBAAoB,CAAC,UAAU,CAAC;AACpC,IAAI,OAAO,UAAU,CAAC,SAAS;AAC/B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI;AACR,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7D,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;AAChD,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC;AACpD,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACtE,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,SAAS,EAAE;AAC7B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AAClE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,uBAAuB,CAAC,MAAM,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;AAClD,IAAI,MAAM,YAAY,GAAG,4BAA4B;AACrD,IAAI,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC;AAC/E,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;AAC/D,IAAI,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;AACrD,IAAI,OAAO,MAAM,CAAC,UAAU,EAAE;AAC9B,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/D,IAAI;AACJ,IAAI,oBAAoB,CAAC,UAAU,CAAC;AACpC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;AAC3D,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC7D,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,UAAU,CAAC,SAAS;AACnC,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,2BAA2B,CAAC,GAAG,EAAE;AAC1C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5C,IAAI,IAAI,KAAK;AACb,IAAI,IAAI,MAAM;AACd,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;AACxD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC1D,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,EAAE;AAC1F,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA,UAAU,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE;AAC5B,UAAU,CAAC,MAAM,GAAG,IAAI,SAAS,EAAE;AACnC;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;AACjD,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AACrC,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;AACpC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;;AC9KA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI;AAChD,MAAM,IAAI,CAAC,cAAc,GAAG,OAAO;AACnC,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACpC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAClB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AACtC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;AACpD,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,4BAA4B,GAAG;AACjC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACrB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;AACzD,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,UAAU,IAAI,CAAC,cAAc,GAAG,MAAM,SAAS;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,UAAU,GAAG;AACf,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,OAAO;AACb,MAAM,KAAK;AACX,MAAM;AACN,KAAK,KAAK;AACV,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK;AAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO;AACzC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;AACrE,MAAM,IAAI,kBAAkB,EAAE;AAC9B,QAAQ,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;AACpD,MAAM;AACN,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;AACtB,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK;AAC5B,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI;AACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/D,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB;AACA,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC;AAClF,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACtE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACxE,IAAI,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;AACjD,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;AACjD,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC;AAChD;AACA,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC;AAChF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,mCAAmC,CAAC;AACrE,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACjE;AACA,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC;AAChF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,mCAAmC,CAAC;AACrE,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACjE,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/B,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/B;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE;AAClC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE;AAC1C,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC1E,QAAQ,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACrC,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1E,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE;AAChC,MAAM,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACnC,4BAA4B,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC;AACjE,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACjC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC7D,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,UAAU,EAAE;AAClC,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjD,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,QAAQ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,IAAI,CAAC,IAAI,GAAG,YAAY;AAClC,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;AACxC,IAAI;AACJ;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB;AACA,MAAM,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAChH,MAAM,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC3F,QAAQ,SAAS,GAAG,WAAW;AAC/B,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;AACxH,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;AACpF,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACzG,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,SAAS,GAAG,UAAU;AAC9B,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;AACjD,MAAM,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC;AAClD,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;AAC3D,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC;AAC9C,IAAI;AACJ,IAAI,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAC3D,IAAI,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;AACnE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AAC9C,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AAChD,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;AACxC,IAAI;AACJ,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAC7CA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;;AClTnD,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,2CAA2C,EAAE,gBAAgB,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,gDAAgD,CAAC;;ACJ3J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC;;ACPnD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;AACDC,YAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;;AClBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,SAAS,SAAS,WAAW,CAAC;AAC3C;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;;AC/CA;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,KAAK,EAAE;AACT;;ACNY,MAACD,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC;;AAEzB,+IAA+I,EAAE,kBAAkB,CAAC,CAAC;;ACJrK;AACA;AACA;AACA;AACO,SAAS,iBAAiB,GAAG;AACpC,EAAE,OAAO,IAAI,CAAC,4LAA4L,CAAC;AAC3M;AACY,MAACD,UAAQ,GAAG,iBAAiB;;ACJzC;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,SAAS,CAAC,OAAO,CAAC;AAC5C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAGD,MAAM,UAAU,GAAG,CAAC;AACpB;AACA;AACA,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC;AAClB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,WAAW;AACpC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;AACvC,IAAI;AACJ,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK;AAC9B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,WAAW,GAAG,YAAY,GAAG,WAAW;AACxF,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAC7B,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxD,MAAM,IAAI,YAAY,KAAK,SAAS,EAAE;AACtC,QAAQ,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;AACjX,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;AACjX,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACtD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;AAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAC1D,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC;AAC/D,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;AAC7C,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;AACzE,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;AACnD,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE;AAC7C,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE;AACzC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW;AACzC,MAAM,UAAU,CAAC,MAAM;AACvB,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;AAChC,UAAU,MAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;AAChF,UAAU,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO;AAClD,QAAQ;AACR,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;AAClC,IAAI,IAAI,CAAC,eAAe,GAAG,SAAS;AACpC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;AACxE,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/D,IAAI;AACJ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;AACrC;AACA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAC9B,MAAM,SAAS,EAAE,IAAI,CAAC,aAAa;AACnC,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,CAAC,IAAI,EAAE;AACtB,IAAI,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE;AAClC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC;AAChE,IAAI,OAAO,MAAM,CAAC,eAAe;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE;AACnC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;AAC3C,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACzG,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB;AACA,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,MAAM,CAAC,IAAI,GAAG,QAAQ;AAC5B,MAAM,MAAM,CAAC,SAAS,GAAG,mBAAmB;AAC5C,MAAM,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK;AACvC;AACA,MAAM,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE;AACrD,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,KAAK,WAAW,GAAG,QAAQ,GAAG,UAAU;AACpF,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AACjD,QAAQ,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;AAC/B,MAAM;AACN;AACA,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI;AAChD;AACA,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE;AACvD,UAAU,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;AAC3C,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,mBAAmB,EAAE;AACpC,QAAQ;AACR,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;AAClD,MAAM,CAAC,CAAC;AACR;AACA,MAAM,EAAE,CAAC,SAAS,GAAG,EAAE;AACvB,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5B,IAAI,CAAC,MAAM;AACX,MAAM,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK;AACnC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE;AACzC,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;AACvC,MAAM,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC;AACtD,IAAI,CAAC,CAAC;AACN;AACA,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;AACtC,MAAM,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,OAAO,CAAC;AACvD,IAAI,CAAC,CAAC;AACN;AACA,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI;AAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAChC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;AAChD,IAAI,CAAC,CAAC;AACN,IAAI,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,IAAI;AAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AACtD,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;AAClD,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;AAC3C,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AACxD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AACrC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AAC/C,QAAQ,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC7C,QAAQ,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;AAChC,MAAM,CAAC,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE;AACtC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC7C,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,aAAa,CAAC,IAAI,EAAE;AAC5B,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;AAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;AACzC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW,IAAI,IAAI,CAAC,OAAO,YAAY,UAAU,EAAE;AAC1F,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AACzC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,mBAAmB,CAAC,IAAI,EAAE;AAClC,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7D,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;AAC1E,QAAQ,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAC7L,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC;AACjC,UAAU,OAAO;AACjB,UAAU,IAAI,EAAE,IAAI,CAAC;AACrB,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,iBAAiB,CAAC,IAAI,EAAE;AAChC,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACtD,IAAI,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK;AACnE,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC;AAC7B,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;AACrB,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,SAAS,CAAC,IAAI,EAAE;AACxB,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC;AAC5D,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC;AACnC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB,MAAM,IAAI;AACV,MAAM,GAAG,EAAE,IAAI,CAAC;AAChB,KAAK,CAAC;AACN,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC;AACjC,MAAM,MAAM,EAAE,IAAI,CAAC,MAAM;AACzB,MAAM,IAAI;AACV,MAAM,GAAG,EAAE,IAAI,CAAC;AAChB,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,eAAe,GAAG;AAC1B,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE;AACxC,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE;AACxD,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;AACnC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;AAC/C,QAAQ,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AACtC,QAAQ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AAC3C,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC;AAC/B,YAAY,MAAM;AAClB,YAAY,GAAG;AACf,YAAY,IAAI,EAAE;AAClB,WAAW,CAAC;AACZ,QAAQ;AACR,QAAQ,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;AAChC,MAAM;AACN;AACA,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE;AACtC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC5F,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B;AACA,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAClC,IAAI2B,YAAmB,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC;AACA,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AACjC,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI;AAC/B,IAAI;AACJ,EAAE;AACF;AACA5B,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACjEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACjEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACzDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AAC5DA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AACzCA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AAClEA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AAC9CA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;;ACrepE;;;AAGA;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,UAAU,EAAE;AACd;;ACPY,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;;AAEpB,uGAAuG,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,yHAAyH,EAAE,gBAAgB,CAAC,4FAA4F,EAAE,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,CAAC,mEAAmE,EAAE,uBAAuB,CAAC,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,UAAU,EAAE,uBAAuB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,mCAAmC,EAAE,kBAAkB,CAAC,iQAAiQ,EAAE,4BAA4B,CAAC,8CAA8C,EAAE,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,iPAAiP;;ACJr9C,SAAS,qBAAqB,GAAG;AACjC,EAAE,OAAO,IAAI,CAAC,uEAAuE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,mEAAmE,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,wFAAwF,CAAC;AACzY;AACY,MAACD,UAAQ,GAAG,qBAAqB;;ACDjC,MAACE,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,EAAE,QAAQ,EAAEF,UAAQ;AACpB,EAAE,MAAM,EAAEC,QAAM;AAChB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB;AACA,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;AAC7D,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,MAAM,OAAO,CAAC,IAAI,CAAC,kHAAkH,CAAC;AACtI,MAAM;AACN,IAAI;AACJ,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,yCAAyC,CAAC;AACzE,EAAE;AACF;;ACpDO,MAAMA,QAAM,GAAG,GAAG;AACzB,gDAAgD,EAAE,cAAc,CAAC,wFAAwF,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,yEAAyE,EAAE,uBAAuB,CAAC,oEAAoE,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,mDAAmD,EAAE,uBAAuB,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,qCAAqC,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,2DAA2D,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,GAAG;AAC51B,4SAA4S,CAAC,CAAC,CAAC;;ACF/S;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,YAAU,GAAG,WAAW,CAAC,OAAO,CAAC;AAC9C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;AAC7C,EAAE,MAAM,EAAEwB,QAAiB;AAC3B;AACA;AACA;AACA;AACA,EAAE,aAAa,EAAE;AACjB,CAAC;;AClBD;AACY,MAAC,QAAQ,GAAG;AACxB,EAAE,UAAU,EAAE,YAAY;AAC1B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE;AACV;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,KAAK,EAAE;AACT;AACA;AACY,MAAC,SAAS,GAAG;AACzB,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,QAAQ,EAAE;AACZ;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,KAAK,EAAE;AACT;AACA;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,OAAO,EAAE;AACX;;ACzBA,IAAI7B,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,GAAG,SAAS,WAAW,CAAC;AACrC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE;AAChC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,oB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G,aAAa,CAAC,OAAO,CAAC;AAChD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC;AAC/C,EAAE,QAAQ,EAAE,qBAAqB;AACjC,EAAE,MAAM,EAAE,mBAAmB;AAC7B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,SAAS,SAASiC,WAAe,CAAC;;AC5B/C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACjC,YAAU,GAAG,SAAS,CAAC,OAAO,CAAC;AAC5C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;AAC1C,EAAE,QAAQ,EAAE,iBAAiB;AAC7B,EAAE,MAAM,EAAE,eAAe;AACzB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACY,MAAC,oBAAoB,GAAG;AACpC,EAAE,GAAGkC;AACL;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,IAAI,SAASC,MAAU,CAAC;;AC9CrC;AACY,MAAC,eAAe,GAAG;AAC/B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,GAAGC;AACL;;ACXA;AACA;AACA;AACA;AACA;AACY,MAACtC,YAAU,GAAG,IAAI,CAAC,OAAO,CAAC;AACvC,EAAE,IAAI,EAAE,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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,SAASC,QAAY,CAAC;;AC5CzC;AACY,MAAC,eAAe,GAAG;AAC/B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;;ACTA;AACA;AACA;AACA;AACA;AACY,MAACxE,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAASyE,YAAgB,CAAC;;ACzBjD;AACA;AACA;AACA;AACA;AACY,MAACzE,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,QAAQ,SAAS0E,UAAc,CAAC;;AC1D7C;AACY,MAAC,mBAAmB,GAAG;AACnC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,GAAGC;AACL;;ACVO,MAAM9E,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,cAAc;AAClB,sCAAsC,CAAC;;ACAvC;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,YAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,EAAE,QAAQ,EAAE,gBAAgB;AAC5B,EAAE,MAAM,EAAE8E,QAAc;AACxB,EAAE,aAAa,EAAE;AACjB,IAAI,cAAc,EAAE;AACpB;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAASC,gBAAoB,CAAC;;ACvCzD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC/E,YAAU,GAAG,cAAc,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,sBAAsB;AAClC,EAAE,MAAM,EAAE,oBAAoB;AAC9B,EAAE,aAAa,EAAE;AACjB,IAAI,cAAc,EAAE;AACpB;AACA;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAASC,OAAW,CAAC;;AC7BvC;AACY,MAAC,SAAS,GAAG;AACzB,EAAE,GAAGC;AACL;AACA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;;ACLA;AACA;AACA;AACA;AACA;AACY,MAACrF,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAASsF,OAAW,CAAC;;AC7BvC;AACA;AACA;AACA;AACA;AACY,MAACtF,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACY,MAAC,UAAU,GAAG;AAC1B,EAAE,GAAGuF;AACL;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,SAASC,cAAkB,CAAC;;AClCrD;AACY,MAAC,uBAAuB,GAAG;AACvC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGC;AACL;AAEA;CAC6B;AAC7B,EAAE,GAAGtD;AACL;;AChBA;AACA;AACA;AACA;AACA;AACY,MAACtC,YAAU,GAAG,YAAY,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,EAAE,QAAQ,EAAE,oBAAoB;AAChC,EAAE,MAAM,EAAE,kBAAkB;AAC5B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS6F,YAAgB,CAAC;;ACxCjD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC7F,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AAE,iBAAiB;AAC3B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGiG;AACL;AACA;AACY,MAAC,sBAAsB,GAAG;AACtC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,2BAA2B,GAAG;AAC3C,EAAE,GAAGC;AACL;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAASC,YAAgB,CAAC;;ACzCjD;AACY,MAAC,sBAAsB,GAAG;AACtC,EAAE,GAAGC;AACL;;ACDA;AACA;AACA;AACA;AACA;AACY,MAACrG,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAASsG,OAAW,CAAC;;AC5CvC;AACA;AACA;AACA;AACA;AACY,MAACtG,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,EAAE,QAAQ,EAAE,aAAa;AACzB,EAA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AAG;AAC3B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,gBAAgB,GAAG;AAChC,EAAE,MAAM,EAAE;AACV;;ACbA;AACA;AACA;AACA;AACA;AACY,MAACjH,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAASkH,SAAa,CAAC;;AChC3C;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;;ACLA;AACA;AACA;AACA;AACA;AACY,MAACpH,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,EAAE,QAAQ,EAAE,eAAe;AAC3B,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,SAASqH,QAAY,CAAC;;ACtCzC;AACA;AACA;AACA;AACA;AACY,MAACrH,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,SAAS0I,cAAkB,CAAC;;ACnErD;AACY,MAAC,uBAAuB,GAAG;AACvC,EAAE,GAAGlI;AACL;AACA;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGE;AACL;AACA;AACY,MAAC,uBAAuB,GAAG;AACvC,EAAE,GAAGD;AACL;;ACjBA;AACA;AACA;AACA;AACA;AACY,MAACX,YAAU,GAAG,YAAY,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,EAAE,QAAQ,EAAE,oBAAoB;AAChC,EAAE,MAAM,EAAE,kBAAkB;AAC5B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS2I,SAAa,CAAC;AAC3C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI;AAC9B,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;AAC/B,QAAQ;AACR,MAA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","x_google_ignoreList":[0,1,2,3,4,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,46,145,146,147,148]}
|