@ulu/frontend 0.1.0-beta.99 → 0.2.0-beta.1
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/dist/style.css +1 -0
- package/{types/utils/system.d.ts → dist/types/js/core/component.d.ts} +11 -14
- package/dist/types/js/core/component.d.ts.map +1 -0
- package/dist/types/js/core/events.d.ts +27 -0
- package/dist/types/js/core/events.d.ts.map +1 -0
- package/dist/types/js/core/index.d.ts +4 -0
- package/{types/utils → dist/types/js/core}/index.d.ts.map +1 -1
- package/dist/types/js/core/settings.d.ts.map +1 -0
- package/dist/types/js/index.d.ts +4 -0
- package/{types → dist/types/js}/index.d.ts.map +1 -1
- package/{types → dist/types/js}/ui/breakpoints.d.ts +4 -6
- package/dist/types/js/ui/breakpoints.d.ts.map +1 -0
- package/dist/types/js/ui/collapsible.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/details-group.d.ts +1 -1
- package/dist/types/js/ui/details-group.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/dialog.d.ts +1 -1
- package/dist/types/js/ui/dialog.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/flipcard.d.ts +1 -1
- package/dist/types/js/ui/flipcard.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/grid.d.ts +1 -1
- package/dist/types/js/ui/grid.d.ts.map +1 -0
- package/dist/types/js/ui/index.d.ts +22 -0
- package/{types → dist/types/js}/ui/index.d.ts.map +1 -1
- package/{types → dist/types/js}/ui/modal-builder.d.ts +2 -2
- package/dist/types/js/ui/modal-builder.d.ts.map +1 -0
- package/dist/types/js/ui/overflow-scroller-pager.d.ts.map +1 -0
- package/dist/types/js/ui/overflow-scroller.d.ts.map +1 -0
- package/dist/types/js/ui/page.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/popover.d.ts +2 -2
- package/dist/types/js/ui/popover.d.ts.map +1 -0
- package/dist/types/js/ui/print-details.d.ts.map +1 -0
- package/dist/types/js/ui/print.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/programmatic-modal.d.ts +1 -1
- package/dist/types/js/ui/programmatic-modal.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/proxy-click.d.ts +1 -1
- package/dist/types/js/ui/proxy-click.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/resizer.d.ts +1 -1
- package/dist/types/js/ui/resizer.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/scroll-slider.d.ts +1 -1
- package/dist/types/js/ui/scroll-slider.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/scrollpoint.d.ts +2 -2
- package/dist/types/js/ui/scrollpoint.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/slider.d.ts +6 -6
- package/dist/types/js/ui/slider.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/tabs.d.ts +1 -1
- package/dist/types/js/ui/tabs.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/theme-toggle.d.ts +1 -1
- package/dist/types/js/ui/theme-toggle.d.ts.map +1 -0
- package/{types → dist/types/js}/ui/tooltip.d.ts +1 -1
- package/dist/types/js/ui/tooltip.d.ts.map +1 -0
- package/dist/types/js/utils/class-logger.d.ts.map +1 -0
- package/dist/types/js/utils/css.d.ts.map +1 -0
- package/dist/types/js/utils/dom.d.ts.map +1 -0
- package/{types → dist/types/js}/utils/file-save.d.ts +4 -1
- package/dist/types/js/utils/file-save.d.ts.map +1 -0
- package/dist/types/js/utils/floating-ui.d.ts.map +1 -0
- package/dist/types/js/utils/font-awesome.d.ts.map +1 -0
- package/dist/types/js/utils/id.d.ts.map +1 -0
- package/dist/types/js/utils/index.d.ts +8 -0
- package/dist/types/js/utils/index.d.ts.map +1 -0
- package/dist/types/js/utils/pause-youtube-video.d.ts.map +1 -0
- package/dist/ulu-frontend.es.js +5737 -0
- package/dist/ulu-frontend.umd.js +77 -0
- package/lib/index.js +5 -0
- package/{js/utils/system.js → lib/js/core/component.js} +13 -12
- package/lib/js/core/events.js +98 -0
- package/lib/js/core/index.js +34 -0
- package/{js → lib/js/core}/settings.js +3 -3
- package/lib/js/exports.md +126 -0
- package/lib/js/index.js +7 -0
- package/{js → lib/js}/ui/breakpoints.js +28 -31
- package/{js → lib/js}/ui/collapsible.js +2 -2
- package/{js → lib/js}/ui/details-group.js +2 -2
- package/{js → lib/js}/ui/dialog.js +6 -6
- package/{js → lib/js}/ui/flipcard.js +2 -2
- package/{js → lib/js}/ui/grid.js +2 -2
- package/lib/js/ui/index.js +161 -0
- package/{js → lib/js}/ui/modal-builder.js +6 -6
- package/{js → lib/js}/ui/overflow-scroller.js +2 -2
- package/{js → lib/js}/ui/popover.js +2 -2
- package/{js → lib/js}/ui/print-details.js +3 -3
- package/{js → lib/js}/ui/print.js +2 -2
- package/{js → lib/js}/ui/programmatic-modal.js +3 -3
- package/{js → lib/js}/ui/proxy-click.js +2 -2
- package/{js → lib/js}/ui/resizer.js +2 -2
- package/{js → lib/js}/ui/scroll-slider.js +2 -2
- package/{js → lib/js}/ui/scrollpoint.js +2 -2
- package/{js → lib/js}/ui/slider.js +3 -3
- package/{js → lib/js}/ui/tabs.js +2 -2
- package/{js → lib/js}/ui/theme-toggle.js +5 -5
- package/{js → lib/js}/ui/tooltip.js +4 -4
- package/{js → lib/js}/utils/css.js +1 -1
- package/{js → lib/js}/utils/font-awesome.js +2 -2
- package/lib/js/utils/index.js +63 -0
- package/{scss → lib/scss}/_breakpoint.scss +4 -4
- package/{scss → lib/scss}/_button.scss +1 -0
- package/{scss → lib/scss}/_color.scss +42 -38
- package/{scss → lib/scss}/_element.scss +6 -1
- package/{scss → lib/scss}/_typography.scss +15 -0
- package/lib/scss/components/_accordion.scss +274 -0
- package/{scss → lib/scss}/components/_basic-hero.scss +1 -1
- package/lib/scss/components/_breadcrumb.scss +110 -0
- package/{scss → lib/scss}/components/_button.scss +14 -4
- package/{scss/components/_card.scss → lib/scss/components/_card-before-no-position-relative.TRASH.scss} +80 -100
- package/{scss → lib/scss}/components/_card-grid.scss +8 -2
- package/lib/scss/components/_card.scss +656 -0
- package/lib/scss/components/_definition-list.scss +178 -0
- package/{scss → lib/scss}/components/_index.scss +25 -0
- package/{scss → lib/scss}/components/_menu-stack.scss +169 -16
- package/{scss → lib/scss}/components/_modal.scss +11 -1
- package/lib/scss/components/_progress-bar.scss +260 -0
- package/lib/scss/components/_progress-circle.scss +175 -0
- package/{scss → lib/scss}/components/_skeleton.scss +24 -20
- package/{scss → lib/scss}/components/_tag.scss +49 -7
- package/{scss → lib/scss}/helpers/_utilities.scss +25 -3
- package/package.json +28 -15
- package/.browserslistrc +0 -2
- package/.eslintrc +0 -17
- package/.prettierrc +0 -10
- package/CHANGELOG.md +0 -750
- package/deprecated/js/doc-ready.js +0 -28
- package/deprecated/js/drupal-programmatic-modal.js +0 -91
- package/deprecated/js/jquery-prototypes.js +0 -309
- package/deprecated/js/micromodal-modals.js +0 -196
- package/deprecated/js/mini-collapsible-popper-positioning.js +0 -126
- package/deprecated/js/mini-collapsible.js +0 -607
- package/deprecated/js/node-data-manager.js +0 -78
- package/deprecated/js/script-loader.js +0 -60
- package/deprecated/js/waypoints/README.md +0 -3
- package/deprecated/js/waypoints/anchor-menu.js +0 -76
- package/deprecated/js/waypoints/element-waypoint.js +0 -75
- package/deprecated/js/waypoints/examples/page-link-menu.md +0 -106
- package/deprecated/js/waypoints/state-in-attribute.js +0 -32
- package/dist/ulu-frontend.min.css +0 -1
- package/dist/ulu-frontend.min.js +0 -77
- package/docs-dev/.nojekyll +0 -1
- package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +0 -37
- package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
- package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
- package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
- package/docs-dev/assets/favicons/browserconfig.xml +0 -9
- package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
- package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
- package/docs-dev/assets/favicons/favicon.ico +0 -0
- package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
- package/docs-dev/assets/favicons/safari-pinned-tab.svg +0 -1
- package/docs-dev/assets/favicons/site.webmanifest +0 -19
- package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
- package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
- package/docs-dev/assets/fonts/inter/LICENSE.txt +0 -92
- package/docs-dev/assets/fonts/inter/inter.css +0 -37
- package/docs-dev/assets/main.js +0 -23312
- package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +0 -2
- package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
- package/docs-dev/assets/placeholder/icon-calendar.svg +0 -1
- package/docs-dev/assets/placeholder/icon-check.svg +0 -1
- package/docs-dev/assets/placeholder/image-1-attribution.txt +0 -7
- package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
- package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
- package/docs-dev/assets/placeholder/image-1.jpg +0 -0
- package/docs-dev/assets/style.css +0 -19153
- package/docs-dev/changelog/index.html +0 -7184
- package/docs-dev/demos/accordion/index.html +0 -5811
- package/docs-dev/demos/badge/index.html +0 -5655
- package/docs-dev/demos/badge-stack/index.html +0 -5636
- package/docs-dev/demos/badge.1/index.html +0 -5595
- package/docs-dev/demos/basic-hero/index.html +0 -111
- package/docs-dev/demos/breakpoints-manager/index.html +0 -5666
- package/docs-dev/demos/button/index.html +0 -5665
- package/docs-dev/demos/button-group/index.html +0 -5652
- package/docs-dev/demos/button-verbose/index.html +0 -5658
- package/docs-dev/demos/callout/index.html +0 -5704
- package/docs-dev/demos/captioned-figure/index.html +0 -5686
- package/docs-dev/demos/card/index.html +0 -5682
- package/docs-dev/demos/card-grid/index.html +0 -5777
- package/docs-dev/demos/counter-list/index.html +0 -5660
- package/docs-dev/demos/css-icons/index.html +0 -6298
- package/docs-dev/demos/data-grid/index.html +0 -6529
- package/docs-dev/demos/data-table/index.html +0 -5833
- package/docs-dev/demos/details-group/index.html +0 -5687
- package/docs-dev/demos/file-save/index.html +0 -5675
- package/docs-dev/demos/flipcard/index.html +0 -6224
- package/docs-dev/demos/form-theme/index.html +0 -5842
- package/docs-dev/demos/headline-label/index.html +0 -5622
- package/docs-dev/demos/hero/index.html +0 -309
- package/docs-dev/demos/image-grid/index.html +0 -165
- package/docs-dev/demos/index.html +0 -5613
- package/docs-dev/demos/list-inline/index.html +0 -5640
- package/docs-dev/demos/list-lines/index.html +0 -5630
- package/docs-dev/demos/menu-stack/index.html +0 -5769
- package/docs-dev/demos/modals/index.html +0 -5844
- package/docs-dev/demos/nav-strip/index.html +0 -5725
- package/docs-dev/demos/overlay-section/index.html +0 -5701
- package/docs-dev/demos/panel/index.html +0 -5682
- package/docs-dev/demos/popovers/index.html +0 -0
- package/docs-dev/demos/print/index.html +0 -5633
- package/docs-dev/demos/pull-quote/index.html +0 -5632
- package/docs-dev/demos/rail/index.html +0 -5730
- package/docs-dev/demos/rule/index.html +0 -5694
- package/docs-dev/demos/scroll-slider/index.html +0 -170
- package/docs-dev/demos/scrollpoints/index.html +0 -5651
- package/docs-dev/demos/skeleton/index.html +0 -5676
- package/docs-dev/demos/slider/index.html +0 -172
- package/docs-dev/demos/spoke-spinner/index.html +0 -5628
- package/docs-dev/demos/sticky-list/index.html +0 -5643
- package/docs-dev/demos/tabs/index.html +0 -5753
- package/docs-dev/demos/tag/index.html +0 -5633
- package/docs-dev/demos/theme-toggle/index.html +0 -5699
- package/docs-dev/demos/tile-grid-overlay/index.html +0 -390
- package/docs-dev/demos/tiles/index.html +0 -5882
- package/docs-dev/demos/tooltip/index.html +0 -5661
- package/docs-dev/demos/wysiwyg/index.html +0 -5672
- package/docs-dev/guide/building-stylesheet/index.html +0 -5682
- package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -5734
- package/docs-dev/guide/index.html +0 -5615
- package/docs-dev/index.html +0 -5662
- package/docs-dev/javascript/events/index.html +0 -5811
- package/docs-dev/javascript/index.html +0 -5628
- package/docs-dev/javascript/settings/index.html +0 -5825
- package/docs-dev/javascript/ui-breakpoints/index.html +0 -6071
- package/docs-dev/javascript/ui-collapsible/index.html +0 -5738
- package/docs-dev/javascript/ui-details-group/index.html +0 -5742
- package/docs-dev/javascript/ui-dialog/index.html +0 -5787
- package/docs-dev/javascript/ui-flipcard/index.html +0 -5678
- package/docs-dev/javascript/ui-grid/index.html +0 -5653
- package/docs-dev/javascript/ui-modal-builder/index.html +0 -5901
- package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -5611
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -5629
- package/docs-dev/javascript/ui-page/index.html +0 -5626
- package/docs-dev/javascript/ui-popover/index.html +0 -5661
- package/docs-dev/javascript/ui-print/index.html +0 -5670
- package/docs-dev/javascript/ui-print-details/index.html +0 -5641
- package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -5611
- package/docs-dev/javascript/ui-proxy-click/index.html +0 -5740
- package/docs-dev/javascript/ui-resizer/index.html +0 -5946
- package/docs-dev/javascript/ui-scroll-slider/index.html +0 -5672
- package/docs-dev/javascript/ui-scrollpoint/index.html +0 -5851
- package/docs-dev/javascript/ui-slider/index.html +0 -5813
- package/docs-dev/javascript/ui-tabs/index.html +0 -5706
- package/docs-dev/javascript/ui-theme-toggle/index.html +0 -5830
- package/docs-dev/javascript/ui-tooltip/index.html +0 -5754
- package/docs-dev/javascript/utils-class-logger/index.html +0 -5746
- package/docs-dev/javascript/utils-css/index.html +0 -5644
- package/docs-dev/javascript/utils-dom/index.html +0 -5711
- package/docs-dev/javascript/utils-file-save/index.html +0 -5783
- package/docs-dev/javascript/utils-floating-ui/index.html +0 -5643
- package/docs-dev/javascript/utils-id/index.html +0 -5653
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +0 -5661
- package/docs-dev/javascript/utils-system/index.html +0 -5947
- package/docs-dev/sass/base/color/index.html +0 -5644
- package/docs-dev/sass/base/elements/index.html +0 -5815
- package/docs-dev/sass/base/index/index.html +0 -5814
- package/docs-dev/sass/base/index.html +0 -5622
- package/docs-dev/sass/base/keyframes/index.html +0 -5646
- package/docs-dev/sass/base/layout/index.html +0 -5806
- package/docs-dev/sass/base/normalize/index.html +0 -5654
- package/docs-dev/sass/base/print/index.html +0 -5650
- package/docs-dev/sass/base/root/index.html +0 -5670
- package/docs-dev/sass/base/typography/index.html +0 -5670
- package/docs-dev/sass/components/accordion/index.html +0 -5979
- package/docs-dev/sass/components/adaptive-spacing/index.html +0 -5915
- package/docs-dev/sass/components/badge/index.html +0 -5881
- package/docs-dev/sass/components/badge-stack/index.html +0 -5811
- package/docs-dev/sass/components/basic-hero/index.html +0 -5805
- package/docs-dev/sass/components/button/index.html +0 -5799
- package/docs-dev/sass/components/button-group/index.html +0 -5803
- package/docs-dev/sass/components/button-verbose/index.html +0 -5986
- package/docs-dev/sass/components/callout/index.html +0 -5961
- package/docs-dev/sass/components/captioned-figure/index.html +0 -5904
- package/docs-dev/sass/components/card/index.html +0 -6219
- package/docs-dev/sass/components/card-grid/index.html +0 -5813
- package/docs-dev/sass/components/counter-list/index.html +0 -5887
- package/docs-dev/sass/components/css-icon/index.html +0 -5917
- package/docs-dev/sass/components/data-grid/index.html +0 -6052
- package/docs-dev/sass/components/data-table/index.html +0 -5988
- package/docs-dev/sass/components/fill-context/index.html +0 -5679
- package/docs-dev/sass/components/flipcard/index.html +0 -5980
- package/docs-dev/sass/components/flipcard-grid/index.html +0 -5800
- package/docs-dev/sass/components/form-theme/index.html +0 -6525
- package/docs-dev/sass/components/headline-label/index.html +0 -5833
- package/docs-dev/sass/components/hero/index.html +0 -5849
- package/docs-dev/sass/components/horizontal-rule/index.html +0 -5798
- package/docs-dev/sass/components/image-grid/index.html +0 -5805
- package/docs-dev/sass/components/index/index.html +0 -5859
- package/docs-dev/sass/components/index.html +0 -5622
- package/docs-dev/sass/components/links/index.html +0 -5649
- package/docs-dev/sass/components/list-inline/index.html +0 -5819
- package/docs-dev/sass/components/list-lines/index.html +0 -5840
- package/docs-dev/sass/components/list-ordered/index.html +0 -5645
- package/docs-dev/sass/components/list-unordered/index.html +0 -5649
- package/docs-dev/sass/components/menu-stack/index.html +0 -5992
- package/docs-dev/sass/components/modal/index.html +0 -6068
- package/docs-dev/sass/components/nav-strip/index.html +0 -5899
- package/docs-dev/sass/components/overlay-section/index.html +0 -5843
- package/docs-dev/sass/components/pager/index.html +0 -5961
- package/docs-dev/sass/components/panel/index.html +0 -6033
- package/docs-dev/sass/components/placeholder-block/index.html +0 -5883
- package/docs-dev/sass/components/popover/index.html +0 -5994
- package/docs-dev/sass/components/pull-quote/index.html +0 -5857
- package/docs-dev/sass/components/rail/index.html +0 -5823
- package/docs-dev/sass/components/ratio-box/index.html +0 -5803
- package/docs-dev/sass/components/rule/index.html +0 -5805
- package/docs-dev/sass/components/scroll-slider/index.html +0 -5904
- package/docs-dev/sass/components/skeleton/index.html +0 -5860
- package/docs-dev/sass/components/skip-link/index.html +0 -5789
- package/docs-dev/sass/components/slider/index.html +0 -5913
- package/docs-dev/sass/components/spoke-spinner/index.html +0 -5863
- package/docs-dev/sass/components/sticky-list/index.html +0 -6023
- package/docs-dev/sass/components/table-sticky/index.html +0 -5677
- package/docs-dev/sass/components/tabs/index.html +0 -5954
- package/docs-dev/sass/components/tag/index.html +0 -5964
- package/docs-dev/sass/components/tile-button/index.html +0 -5844
- package/docs-dev/sass/components/tile-grid/index.html +0 -5979
- package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -5780
- package/docs-dev/sass/components/vignette/index.html +0 -5799
- package/docs-dev/sass/components/wysiwyg/index.html +0 -5827
- package/docs-dev/sass/core/breakpoint/index.html +0 -6454
- package/docs-dev/sass/core/button/index.html +0 -6538
- package/docs-dev/sass/core/color/index.html +0 -6520
- package/docs-dev/sass/core/cssvar/index.html +0 -6411
- package/docs-dev/sass/core/element/index.html +0 -6816
- package/docs-dev/sass/core/index.html +0 -5609
- package/docs-dev/sass/core/layout/index.html +0 -6388
- package/docs-dev/sass/core/path/index.html +0 -5778
- package/docs-dev/sass/core/selector/index.html +0 -5857
- package/docs-dev/sass/core/typography/index.html +0 -6783
- package/docs-dev/sass/core/units/index.html +0 -5822
- package/docs-dev/sass/core/utils/index.html +0 -8406
- package/docs-dev/sass/helpers/color/index.html +0 -5644
- package/docs-dev/sass/helpers/display/index.html +0 -5649
- package/docs-dev/sass/helpers/index/index.html +0 -5811
- package/docs-dev/sass/helpers/index.html +0 -5622
- package/docs-dev/sass/helpers/print/index.html +0 -5199
- package/docs-dev/sass/helpers/typography/index.html +0 -5672
- package/docs-dev/sass/helpers/units/index.html +0 -5818
- package/docs-dev/sass/helpers/utilities/index.html +0 -5649
- package/docs-dev/sass/index.html +0 -5673
- package/index.js +0 -7
- package/js/events/index.js +0 -108
- package/js/index.js +0 -11
- package/js/ui/index.js +0 -22
- package/js/utils/index.js +0 -8
- package/resources/drupal/twig-macros/accordion.twig +0 -99
- package/resources/drupal/twig-macros/dropdown.twig +0 -44
- package/resources/drupal/twig-macros/flipcard.twig +0 -69
- package/resources/drupal/twig-macros/image.twig +0 -30
- package/resources/drupal/twig-macros/layout.twig +0 -338
- package/resources/drupal/twig-macros/slider.twig +0 -214
- package/resources/drupal/twig-macros/tabs.twig +0 -84
- package/scss/components/_accordion.scss +0 -231
- package/types/events/index.d.ts +0 -26
- package/types/events/index.d.ts.map +0 -1
- package/types/index.d.ts +0 -5
- package/types/settings.d.ts.map +0 -1
- package/types/ui/breakpoints.d.ts.map +0 -1
- package/types/ui/collapsible.d.ts.map +0 -1
- package/types/ui/details-group.d.ts.map +0 -1
- package/types/ui/dialog.d.ts.map +0 -1
- package/types/ui/flipcard.d.ts.map +0 -1
- package/types/ui/grid.d.ts.map +0 -1
- package/types/ui/index.d.ts +0 -24
- package/types/ui/modal-builder.d.ts.map +0 -1
- package/types/ui/overflow-scroller-pager.d.ts.map +0 -1
- package/types/ui/overflow-scroller.d.ts.map +0 -1
- package/types/ui/page.d.ts.map +0 -1
- package/types/ui/popover.d.ts.map +0 -1
- package/types/ui/print-details.d.ts.map +0 -1
- package/types/ui/print.d.ts.map +0 -1
- package/types/ui/programmatic-modal.d.ts.map +0 -1
- package/types/ui/proxy-click.d.ts.map +0 -1
- package/types/ui/resizer.d.ts.map +0 -1
- package/types/ui/scroll-slider.d.ts.map +0 -1
- package/types/ui/scrollpoint.d.ts.map +0 -1
- package/types/ui/slider.d.ts.map +0 -1
- package/types/ui/tabs.d.ts.map +0 -1
- package/types/ui/theme-toggle.d.ts.map +0 -1
- package/types/ui/tooltip.d.ts.map +0 -1
- package/types/utils/class-logger.d.ts.map +0 -1
- package/types/utils/css.d.ts.map +0 -1
- package/types/utils/dom.d.ts.map +0 -1
- package/types/utils/file-save.d.ts.map +0 -1
- package/types/utils/floating-ui.d.ts.map +0 -1
- package/types/utils/font-awesome.d.ts.map +0 -1
- package/types/utils/id.d.ts.map +0 -1
- package/types/utils/index.d.ts +0 -10
- package/types/utils/pause-youtube-video.d.ts.map +0 -1
- package/types/utils/system.d.ts.map +0 -1
- /package/{types → dist/types/js/core}/settings.d.ts +0 -0
- /package/{types → dist/types/js}/ui/collapsible.d.ts +0 -0
- /package/{types → dist/types/js}/ui/overflow-scroller-pager.d.ts +0 -0
- /package/{types → dist/types/js}/ui/overflow-scroller.d.ts +0 -0
- /package/{types → dist/types/js}/ui/page.d.ts +0 -0
- /package/{types → dist/types/js}/ui/print-details.d.ts +0 -0
- /package/{types → dist/types/js}/ui/print.d.ts +0 -0
- /package/{types → dist/types/js}/utils/class-logger.d.ts +0 -0
- /package/{types → dist/types/js}/utils/css.d.ts +0 -0
- /package/{types → dist/types/js}/utils/dom.d.ts +0 -0
- /package/{types → dist/types/js}/utils/floating-ui.d.ts +0 -0
- /package/{types → dist/types/js}/utils/font-awesome.d.ts +0 -0
- /package/{types → dist/types/js}/utils/id.d.ts +0 -0
- /package/{types → dist/types/js}/utils/pause-youtube-video.d.ts +0 -0
- /package/{js → lib/js}/ui/dialog.todo +0 -0
- /package/{js → lib/js}/ui/overflow-scroller-pager.js +0 -0
- /package/{js → lib/js}/ui/page.js +0 -0
- /package/{js → lib/js}/utils/class-logger.js +0 -0
- /package/{js → lib/js}/utils/dom.js +0 -0
- /package/{js → lib/js}/utils/file-save.js +0 -0
- /package/{js → lib/js}/utils/floating-ui.js +0 -0
- /package/{js → lib/js}/utils/id.js +0 -0
- /package/{js → lib/js}/utils/pause-youtube-video.js +0 -0
- /package/{scss → lib/scss}/README.md +0 -0
- /package/{scss → lib/scss}/_cssvar.scss +0 -0
- /package/{scss → lib/scss}/_index.scss +0 -0
- /package/{scss → lib/scss}/_layout.scss +0 -0
- /package/{scss → lib/scss}/_path.scss +0 -0
- /package/{scss → lib/scss}/_selector.scss +0 -0
- /package/{scss → lib/scss}/_units.scss +0 -0
- /package/{scss → lib/scss}/_utils.scss +0 -0
- /package/{scss → lib/scss}/base/_color.scss +0 -0
- /package/{scss → lib/scss}/base/_elements.scss +0 -0
- /package/{scss → lib/scss}/base/_index.scss +0 -0
- /package/{scss → lib/scss}/base/_keyframes.scss +0 -0
- /package/{scss → lib/scss}/base/_layout.scss +0 -0
- /package/{scss → lib/scss}/base/_normalize.scss +0 -0
- /package/{scss → lib/scss}/base/_print.scss +0 -0
- /package/{scss → lib/scss}/base/_root.scss +0 -0
- /package/{scss → lib/scss}/base/_typography.scss +0 -0
- /package/{scss → lib/scss}/components/README.md +0 -0
- /package/{scss → lib/scss}/components/README.todos +0 -0
- /package/{scss → lib/scss}/components/_adaptive-spacing.scss +0 -0
- /package/{scss → lib/scss}/components/_badge-stack.scss +0 -0
- /package/{scss → lib/scss}/components/_badge.scss +0 -0
- /package/{scss → lib/scss}/components/_button-group.scss +0 -0
- /package/{scss → lib/scss}/components/_button-verbose.scss +0 -0
- /package/{scss → lib/scss}/components/_callout.scss +0 -0
- /package/{scss → lib/scss}/components/_captioned-figure.scss +0 -0
- /package/{scss → lib/scss}/components/_counter-list.scss +0 -0
- /package/{scss → lib/scss}/components/_css-icon.scss +0 -0
- /package/{scss → lib/scss}/components/_data-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_data-table.scss +0 -0
- /package/{scss → lib/scss}/components/_fill-context.scss +0 -0
- /package/{scss → lib/scss}/components/_flipcard-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_flipcard.scss +0 -0
- /package/{scss → lib/scss}/components/_form-theme.scss +0 -0
- /package/{scss → lib/scss}/components/_headline-label.scss +0 -0
- /package/{scss → lib/scss}/components/_hero.scss +0 -0
- /package/{scss → lib/scss}/components/_horizontal-rule.scss +0 -0
- /package/{scss → lib/scss}/components/_image-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_links.scss +0 -0
- /package/{scss → lib/scss}/components/_list-inline.scss +0 -0
- /package/{scss → lib/scss}/components/_list-lines.scss +0 -0
- /package/{scss → lib/scss}/components/_list-ordered.scss +0 -0
- /package/{scss → lib/scss}/components/_list-unordered.scss +0 -0
- /package/{scss → lib/scss}/components/_nav-strip.scss +0 -0
- /package/{scss → lib/scss}/components/_overlay-section.scss +0 -0
- /package/{scss → lib/scss}/components/_pager.scss +0 -0
- /package/{scss → lib/scss}/components/_panel.scss +0 -0
- /package/{scss → lib/scss}/components/_placeholder-block.scss +0 -0
- /package/{scss → lib/scss}/components/_popover.scss +0 -0
- /package/{scss → lib/scss}/components/_pull-quote.scss +0 -0
- /package/{scss → lib/scss}/components/_rail.scss +0 -0
- /package/{scss → lib/scss}/components/_ratio-box.scss +0 -0
- /package/{scss → lib/scss}/components/_rule.scss +0 -0
- /package/{scss → lib/scss}/components/_scroll-slider.scss +0 -0
- /package/{scss → lib/scss}/components/_skip-link.scss +0 -0
- /package/{scss → lib/scss}/components/_slider.scss +0 -0
- /package/{scss → lib/scss}/components/_spoke-spinner.scss +0 -0
- /package/{scss → lib/scss}/components/_sticky-list.scss +0 -0
- /package/{scss → lib/scss}/components/_tabs.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-button.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-grid-overlay.scss +0 -0
- /package/{scss → lib/scss}/components/_tile-grid.scss +0 -0
- /package/{scss → lib/scss}/components/_vignette.scss +0 -0
- /package/{scss → lib/scss}/components/_wysiwyg.scss +0 -0
- /package/{scss → lib/scss}/helpers/_color.scss +0 -0
- /package/{scss → lib/scss}/helpers/_display.scss +0 -0
- /package/{scss → lib/scss}/helpers/_index.scss +0 -0
- /package/{scss → lib/scss}/helpers/_print.scss +0 -0
- /package/{scss → lib/scss}/helpers/_typography.scss +0 -0
- /package/{scss → lib/scss}/helpers/_units.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/README.md +0 -0
- /package/{scss → lib/scss}/stylesheets/base-styles.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/component-styles.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/full.scss +0 -0
- /package/{scss → lib/scss}/stylesheets/helper-styles.scss +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
(function(y,F){typeof exports=="object"&&typeof module<"u"?F(exports,require("@floating-ui/dom"),require("swipe-listener"),require("aria-tablist")):typeof define=="function"&&define.amd?define(["exports","@floating-ui/dom","swipe-listener","aria-tablist"],F):(y=typeof globalThis<"u"?globalThis:y||self,F(y.ULU={},y.FloatingUIDOM,y.SwipeListener,y.AriaTablist))})(this,function(y,F,U,dt){"use strict";var Kl=Object.defineProperty;var ha=y=>{throw TypeError(y)};var Ul=(y,F,U)=>F in y?Kl(y,F,{enumerable:!0,configurable:!0,writable:!0,value:U}):y[F]=U;var j=(y,F,U)=>Ul(y,typeof F!="symbol"?F+"":F,U),ti=(y,F,U)=>F.has(y)||ha("Cannot "+U);var z=(y,F,U)=>(ti(y,F,"read from private field"),U?U.call(y):F.get(y)),pe=(y,F,U)=>F.has(y)?ha("Cannot add the same private member more than once"):F instanceof WeakSet?F.add(y):F.set(y,U),J=(y,F,U,dt)=>(ti(y,F,"write to private field"),dt?dt.call(y,U):F.set(y,U),U),ge=(y,F,U)=>(ti(y,F,"access private method"),U);var Ke,Ue,ve,ie,je,Ge,Oe,Xe,Ze,te,qt,ri,ni,ii;function ai(r,e,t,n){var a;return function(){var o=this,s=arguments,l=function(){a=null,r.apply(o,s)};clearTimeout(a),a=setTimeout(l,e)}}const ma=/(\r\n|\n|\r)/gm,ba=/\s+/g,ga=/^[{\[][\s\S]*[}\]]$/;function xa(r,e={},t=null){try{return JSON.parse(r)}catch(n){return typeof t=="function"?t(n,r):console.warn("safeParse: Failed to parse JSON string:",r,"Error:",n),e}}function _a(){return typeof window<"u"&&typeof window.document<"u"}function si(r){return new DOMParser().parseFromString(r,"text/html").body.firstElementChild}function ya(r,e,t={}){const n=r.dataset[e];return xa(n,t,a=>{console.error(`Error getting JSON from dataset (${e}) -- "${n}"
|
|
2
|
+
`,r,a)})}function Ea(r,e){const t=r.dataset[e];return t&&ga.test(t.trim())?ya(r,e):t}function wa(r,e){const t=r.getBoundingClientRect();return e.clientY<t.top||e.clientY>t.top+t.height||e.clientX<t.left||e.clientX>t.left+t.width}function Ht(r,e=document){return typeof r=="string"?e.querySelector(r):r instanceof Element?r:(console.warn("getElement: Invalid target type (expected String/Node)",r),null)}function oi(r,e=document){return typeof r=="string"?[...e.querySelectorAll(r)]:r instanceof Element?[r]:Array.isArray(r)||r instanceof NodeList?[...r]:(console.warn("getElement: Invalid target type (expected String/Node/Array/Node List)",r),null)}function Sa(r){const t={...{scrollableChild:document.body,container:window,propertyElement:document.documentElement,propertyName:"--ulu-scrollbar-width"},...r},{scrollableChild:n,container:a,propertyElement:i,propertyName:o}=t,s=li(n,a);i.style.setProperty(o,`${s}px`)}function li(r=document.body,e=window){return e.innerWidth-r.clientWidth}function Ca({preventShift:r=!1,container:e=document.body}){const t=e.style.overflow,n=e.style.paddingRight;if(e.style.overflow="hidden",r){const a=li();if(a>0){const i=parseInt(n||"0px",10);e.style.paddingRight=`${i+a}px`}}return()=>{e.style.overflow=t,e.style.paddingRight=n}}_a()&&(Aa(),Ta());const Bt={pageModified(r){r.dispatchEvent(Ne("pageModified"))},pageResized(r){r.dispatchEvent(Ne("pageResized"))},beforePrint(r){r.dispatchEvent(Ne("beforePrint"))},afterPrint(r){r.dispatchEvent(Ne("afterPrint"))}},Oa=Object.keys(Bt);function vt(r,e){Bt[r]?Bt[r](e):console.warn(`Unable to dispatch non-core event: ${r}`)}function Me(r){return"ulu:"+r}function xe(r){return Oa.includes(r)?Me(r):(console.warn(`'${r}' is not a valid core event type.`),null)}function Ne(r,e=null,t={bubbles:!0}){return new CustomEvent(Me(r),{detail:e,...t})}function Aa(){window.addEventListener("resize",ai(()=>vt("pageResized",document),250))}function Ta(){window.addEventListener("beforeprint",()=>{vt("beforePrint",document)}),window.addEventListener("afterprint",()=>{vt("afterPrint",document)})}const ui={iconClassClose:"css-icon css-icon--close",iconClassDragX:"css-icon css-icon--drag-x",iconClassDragBoth:"css-icon css-icon--drag-both",iconClassPrevious:"css-icon css-icon--angle-left",iconClassNext:"css-icon css-icon--angle-right",cssvarPrefix:""};let nt={...ui};function Ma(){return{...ui}}function ci(r){Object.assign(nt,r)}function Ia(){return{...nt}}function fi(r){if(!nt.hasOwnProperty(r)){console.warn(`Attempted to access non-existent setting: ${r}`);return}return nt[r]}function Da(r,e){nt[r]=e}function _e(r,e){return{toString(){const t=fi(r);return e?e(t):t}}}function pt(r){return e=>r.every(t=>Object.prototype.hasOwnProperty.call(e,t))}function ht(r){return r.replace(ma,"").replace(ba," ").trim()}function Pa(r){return r.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function di(r){return Pa(r.replace(/^data-/,""))}function vi(r,e={columnFirst:"position-column-first",columnLast:"position-column-last",rowFirst:"position-row-first",rowLast:"position-row-last"}){const t=[...r.children],n=[];let a;t.forEach(i=>{const o=i.getBoundingClientRect().y;a!==o&&n.push([]),n[n.length-1].push(i),a=o,i.classList.remove(...Object.values(e))}),n.forEach((i,o)=>{o===0&&i.forEach(s=>s.classList.add(e.rowFirst)),o==n.length-1&&i.forEach(s=>s.classList.add(e.rowLast)),i.forEach((s,l)=>{l===0&&s.classList.add(e.columnFirst),l==i.length-1&&s.classList.add(e.columnLast)})})}function mt(r){return typeof r=="string"?r.split(" ").filter(e=>e!==""):Array.isArray(r)?r:r?(console.warn("resolveClassArray: Invalid class input type.",r),[]):[]}const Ee=class Ee{constructor(e){if(!Ee.hasRequiredOptions(e))throw new Error(`Missing a required options: ${Ee.requiredOptions.join(", ")}`);this.options=Object.assign({},Ee.defaults,e),this.logTitle=`ULU: ${this.options.type}:
|
|
3
|
+
`}init(e){var t;this.setupElements(e),(t=e.coreEvents)!=null&&t.length&&e.coreEvents.forEach(n=>{const a=xe(n);a&&document.addEventListener(a,()=>this.setupElements(e))})}setupElements(e){const{setup:t,key:n,withData:a,context:i}=e;this.queryAllInitial(n,a,i).forEach(s=>t(s,this))}getAttribute(e){const{baseAttribute:t}=this.options;return e?`${t}-${e}`:`${t}`}attributeSelector(e){return`[${this.getAttribute(e)}]`}attributeSelectorInitial(e){return`${this.attributeSelector(e)}:not([${this.getAttribute("init")}])`}queryAllInitial(e,t,n=document){return[...n.querySelectorAll(this.attributeSelectorInitial(e))].map(i=>({element:i,data:t?this.getData(i,e):null,initialize:()=>this.initializeElement(i)}))}initializeElement(e){e.setAttribute(this.getAttribute("init"),"")}getData(e,t){const n=di(this.getAttribute(t));return Ea(e,n)}log(...e){console.log(this.logTitle,...e)}warn(...e){console.warn(this.logTitle,...e)}logError(...e){console.error(this.logTitle,...e)}};j(Ee,"defaults",{type:null,baseAttribute:null}),j(Ee,"requiredOptions",["type","baseAttribute"]),j(Ee,"hasRequiredOptions",pt(Ee.requiredOptions));let G=Ee;function Wt(r,e){var t=r.indexOf(e);t>-1&&r.splice(t,1)}function ka(r,e){return`--${r}-${e}`}const it={debug:!1,warningsAlways:!0,errorsAlways:!0,outputContext:!1},La="console"in window;function zt(r){var e;return La&&it.debug&&((r==null?void 0:r.debug)||((e=r==null?void 0:r.options)==null?void 0:e.debug)||r==null)}function Ra(r){var e;return typeof r=="object"&&((e=r==null?void 0:r.constructor)==null?void 0:e.name)}function Vt(r,e,t){const n=Ra(e)||"Logger";console[r](n,...t),it.outputContext&&console.log(`Context:
|
|
4
|
+
`,e)}function $a(r){Object.assign(it,r)}function se(r,...e){zt(r)&&Vt("log",r,e)}function Kt(r,...e){(it.warningsAlways||zt(r))&&Vt("warn",r,e)}function Q(r,...e){(it.errorsAlways||zt(r))&&Vt("error",r,e)}const Fa=r=>ka(r,"breakpoint");window.addEventListener(xe("pageResized"),()=>{bt.instances.forEach(r=>r.update())});const Ve=class Ve{constructor(e){Object.assign(this,Ve.defaults,e),this.active=null,this.previous=null,this.activeIndex=null,this.resizeDirection=null,this.previousIndex=null,this.breakpoints={},this.onChangeCallbacks=[],this.order.forEach(t=>this.breakpoints[t]=new Na(t,this)),se(this,this),this.update(),Ve.instances.push(this)}onChange(e){this.onChangeCallbacks.push(e)}removeOnChange(e){Wt(this.onChangeCallbacks,e)}getBreakpointInPseudo(){return window.getComputedStyle(this.element,this.pseudoSelector).content.replace(/^"|"$/g,"")}getBreakpointInProperty(){return getComputedStyle(this.element).getPropertyValue(this.customProperty).trim()}getBreakpoint(){return this.valueFromPseudo?this.getBreakpointInPseudo():this.getBreakpointInProperty()}update(){const e=this.getBreakpoint();if(!e){Q(this,"Unable to get current breakpoint, maybe order is incorrect? Breakpoint check skipped!");return}if(e===this.active)return;this.previous=this.active,this.previousIndex=this.activeIndex;const t=this.order.indexOf(e);this.active=e,this.activeIndex=t,this.order.forEach((n,a)=>{const i=this.breakpoints[n],o=this.activeIndex;i._setDirection("min",a<=o),i._setDirection("max",a>o),i._setDirection("only",a===o)}),this.previousIndex!==null&&(this.resizeDirection=this.previousIndex<t?"up":"down"),this.onChangeCallbacks.forEach(n=>n(this))}at(e){const t=this.breakpoints[e];return e||Q(this,"Unable to find breakpoint for:",t),t}};j(Ve,"instances",[]),j(Ve,"defaults",{element:document==null?void 0:document.documentElement,valueFromPseudo:!1,customProperty:"--breakpoint",customProperty:_e("cssvarPrefix",Fa),pseudoSelector:":before",order:["none","small","medium","large"],debug:!1});let bt=Ve;class Ut{constructor(e,t){this.direction=e,this.active=!1,this.on=[],this.off=[],this.breakpoint=t}change(e){this.active!==e&&(e?this._call(!0):this.active&&this._call(!1),this.active=e)}_call(e){(e?this.on:this.off).forEach(n=>n()),se(this.breakpoint._manager,`Handlers called (${e?"on":"off"}): ${this.direction}`)}getHandlers(e){return typeof e!="object"?{on:e}:e}add(e){const t=this.getHandlers(e);t.on&&this.on.push(t.on),t.off&&this.off.push(t.off),this.active&&t.on&&(t.on(),se(this.breakpoint._manager,`Handler called immediately: ${this.direction}`,t.on))}remove(e){const t=this.getHandlers(e);t.on&&Wt(this.on,t.on),t.off&&Wt(this.off,t.off)}}class Na{constructor(e,t){this.directions={max:new Ut("max",this),min:new Ut("min",this),only:new Ut("only",this)},this._manager=t,this.name=e}_setDirection(e,t){this.directions[e].change(t)}max(e){this.directions.max.add(e)}min(e){this.directions.min.add(e)}only(e){this.directions.only.add(e)}remove(e,t){(t?[t]:["max","min","only"]).forEach(a=>{this.directions[a]&&this.directions[a].remove(e)})}log(...e){e.unshift(`Breakpoint (${this.name}):`),this._manager.log.apply(this._manager,e)}}let qa=0;function jt(){return`ulu-uid-${++qa}`}function gt(r){r.id||(r.id=jt())}const Lt=class Lt{constructor(e,t){const{trigger:n,content:a}=e;if(!n||!a){Q(this,"missing required elements (trigger or content)");return}const i=Object.assign({},Lt.defaults,t);this.elements=e,this.options=i,this.isOpen=!1,this.handlers={},gt(n),gt(a),this.debugLog(this,this),i.selfManaged||this.attachHandlers(),this.setup()}attachHandlers(){const{trigger:e,content:t}=this.elements,{focusoutCloses:n}=this.options;this.clickHandler=a=>{this.onClick(a)},this.focusoutHandler=a=>{n&&document.addEventListener("focusin",()=>{t.contains(document.activeElement)||this.close(a)},{once:!0})},e.addEventListener("click",this.clickHandler),t.addEventListener("focusout",this.focusoutHandler)}removeHandlers(){const{trigger:e,content:t}=this.elements;e.removeEventListener("click",this.clickHandler),t.removeEventListener("focusout",this.focusoutHandler)}onClick(e){this.toggle(e)}destroy(){this.removeHandlers(),this.destroyTemporaryHandlers()}debugLog(...e){this.options.debug&&se(this,...e)}setup(){const{trigger:e,content:t}=this.elements,{startOpen:n}=this.options;e.setAttribute("role","button"),e.setAttribute("aria-controls",t.id),t.setAttribute("aria-labelledby",e.id),this.setState(n)}createEvent(e,t){return new CustomEvent(Me("collapsible:"+e),{detail:t})}setState(e,t){const n={collapsible:this,isOpen:e,event:t};this.debugLog(this,"Set state",n);const{trigger:a,content:i}=this.elements,{openClass:o}=this.options,s=l=>l.classList[e?"add":"remove"](o);a.setAttribute("aria-expanded",e?"true":"false"),s(a),s(i),this.isOpen=e,this.options.onChange(n),a.dispatchEvent(this.createEvent("change",n)),e?this.setupTemporaryHandlers():this.destroyTemporaryHandlers()}setupTemporaryHandlers(){const{content:e,trigger:t}=this.elements,{clickOutsideCloses:n,escapeCloses:a}=this.options,i=s=>{const{target:l}=s,u=t.contains(l),m=e.contains(l);n&&!u&&!m&&this.close(s)},o=s=>{a&&s.key==="Escape"&&this.close(s)};document.addEventListener("click",i),document.addEventListener("keydown",o),this.handlers.onDocumentClick=i,this.handlers.onDocumentKeydown=o}destroyTemporaryHandlers(){const{onDocumentClick:e,onDocumentKeydown:t}=this.handlers;e&&document.removeEventListener("click",e),e&&document.removeEventListener("keydown",t)}open(e){this.setState(!0,e)}close(e){this.setState(!1,e)}toggle(e){this.setState(!this.isOpen,e)}};j(Lt,"defaults",{clickOutsideCloses:!1,focusoutCloses:!1,escapeCloses:!1,selfManaged:!1,startOpen:!1,openClass:"is-active",debug:!0,onChange(e){}});let xt=Lt;const _t=new G({type:"details-group",baseAttribute:"data-ulu-details-group"}),Gt=_t.getAttribute("child-init"),Ha={onlyOneOpen:!0,childSelector:":scope > details"};function Ba(){_t.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){pi(r,e),t()}})}function pi(r,e){const t=Object.assign({},Ha,e);try{a()}catch(s){console.error(s)}function n(){return r.querySelectorAll(t.childSelector)}function a(){n().forEach(s=>{s.hasAttribute(Gt)||(s.setAttribute(Gt,""),s.addEventListener("toggle",i))})}function i({target:s}){t.onlyOneOpen&&s.open&&n().forEach(l=>{l!==s&&l.open&&(l.open=!1)})}function o(){n().forEach(s=>{s.removeEventListener("toggle",i),s.removeAttribute(Gt)}),r.removeAttribute(_t.getAttribute("init"))}return{destroy:o,element:r,setupChildren:a}}const Wa=[".youtube-embedded-video",'iframe[title*="YouTube video player"]','iframe[src*="youtube.com/embed"]'];function hi(r=document){bi(r).forEach(t=>{try{t.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}',"*")}catch(n){console.error(n)}})}function mi(r=document){bi(r).forEach(t=>{const{src:n}=t;n&&(t.src=n.split("?")[0]+"?rel=0&enablejsapi=1")})}function bi(r){return r.querySelectorAll(Wa.join(", "))}const Xt="data-ulu-dialog",qe=new G({type:"dialog",baseAttribute:Xt}),gi=qe.getAttribute("close"),Zt={nonModal:!1,documentEnd:!1,clickOutsideCloses:!0,pauseVideos:!0,preventScroll:!0,preventScrollShift:!0};let yt={...Zt};function za(r){yt=Object.assign({},yt,r)}function Va(){qe.init({coreEvents:["pageModified"],withData:!0,setup({element:r,initialize:e,data:t}){_i(r,t),e()}}),qe.init({key:"trigger",coreEvents:["pageModified"],withData:!0,setup({element:r,initialize:e,data:t}){xi(r,t),e()}})}function xi(r,e){r.addEventListener("click",t);function t(n){var s;n.target.closest("a")&&n.preventDefault();const i=document.getElementById(e);if(!i){console.error("Could not locate dialog (id)",e);return}if(((s=i==null?void 0:i.tagName)==null?void 0:s.toLowerCase())!=="dialog"){console.error("Attempted to trigger non <dialog> element. Did you mean to use modal builder?");return}const o=yi(i);i[o.nonModal?"show":"showModal"]()}}function _i(r,e){const t=Object.assign({},yt,e),n=document.body,{preventScrollShift:a}=t;let i;if(r.addEventListener(Me("resizer:start"),s),r.addEventListener(Me("resizer:end"),l),r.addEventListener("click",o),t.documentEnd&&n.appendChild(r),t.pauseVideos&&Ka(r),!t.nonModal&&t.preventScroll){let u;r.addEventListener("toggle",m=>{m.newState==="open"?u=Ca({preventShift:a}):u&&u()})}function o(u){const{target:m}=u,v=m===r,c=m.closest(qe.attributeSelector("close"));(!i&&t.clickOutsideCloses&&v&&wa(r,u)||c)&&(t.pauseVideos&&Ua(r),r.close())}function s(u){i=u.pointerId}function l(u){i===u.pointerId&&setTimeout(()=>{i=null},0)}}function yi(r){return Object.assign({},yt,qe.getData(r))}function Ka(r){mi(r)}function Ua(r){hi(r),r.querySelectorAll("video").forEach(t=>t.pause())}const Et=new G({type:"flipcard",baseAttribute:"data-ulu-flipcard"});function ja(){Et.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){const n=Object.assign({},e),a=r.querySelector(Et.attributeSelector("front")),i=r.querySelector(Et.attributeSelector("back"));new wt(r,a,i,n),t()}})}const Re=class Re{constructor(e,t,n,a){n||Q(this,"Missing an element (container, front, back)"),this.options=Object.assign({},Re.defaults,a);const{namespace:i}=this.options;Re.instances.push(this),this.elements={container:e,front:t,back:n},this.isOpen=!1,this.uid=`${i}-id-${Re.instances.length}`,this.stateAttr=`data-${i}-state`.toLowerCase(),this.setup(),this.setVisibility(!1),se(this,this)}toggle(){this.setVisibility(!this.isOpen)}setup(){const{uid:e}=this,{namespace:t,proxyClick:n}=this.options,{container:a,front:i,back:o}=this.elements,s=this.elements.control=document.createElement("button");s.classList.add(this.getClass("control-button")),s.setAttribute("type","button"),s.innerHTML=this.createControlContent(),s.style.gridArea=t,s.style.zIndex="-1",s.addEventListener("focusin",()=>{s.style.zIndex="20"}),s.addEventListener("focusout",()=>{s.style.zIndex="-1"}),s.addEventListener("click",this.toggle.bind(this)),o.parentNode.insertBefore(s,o),a.classList.add(this.options.namespace),a.setAttribute("style",ht(this.containerCss())),n&&a.addEventListener("click",this.onProxyClick.bind(this)),i.style.gridArea=t,o.style.gridArea=t,s.id=`${e}-control`,s.setAttribute("aria-controls",o.id),s.setAttribute("aria-expanded","false"),o.id=`${e}-back`,o.setAttribute("aria-labelledby",s.id),o.setAttribute("aria-hidden","true")}onProxyClick({target:e}){const{exclude:t,allowSelection:n,selectionMin:a}=this.options.proxyClick,i=window.getSelection();t&&!e.matches(t)&&(!n||i.toString().length<a)&&this.toggle()}getClass(e){const{namespace:t}=this.options;return e?`${t}__${e}`:t}createControlContent(){return`
|
|
5
|
+
<span class="hidden-visually">Show More Information</span>
|
|
6
|
+
`}setVisibility(e){const{back:t,container:n,control:a}=this.elements,i=e?"open":"closed";t.style.zIndex=e?"10":"1",t.style.visibility=e?"visible":"hidden",n.setAttribute(this.stateAttr,i),t.setAttribute("aria-hidden",e?"false":"true"),a.setAttribute("aria-expanded",e?"true":"false"),this.isOpen=e}containerCss(){return`
|
|
7
|
+
display: -ms-grid;
|
|
8
|
+
display: grid;
|
|
9
|
+
position: relative;
|
|
10
|
+
-ms-grid-columns: 1fr;
|
|
11
|
+
grid-template-columns: 1fr;
|
|
12
|
+
justify-items: stretch;
|
|
13
|
+
grid-template-areas: "${this.options.namespace}";
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
`}panelCss(e=1){return`
|
|
16
|
+
grid-area: ${this.options.namespace};
|
|
17
|
+
z-index: ${e}
|
|
18
|
+
`}};j(Re,"instances",[]),j(Re,"defaults",{namespace:"Flipcard",proxyClick:{allowSelection:!0,selectionMin:10,exclude:"a, input, textarea, button"}});let wt=Re;const Ei=new G({type:"grid",baseAttribute:"data-grid"});function Ga(r){Ei.init({coreEvents:["pageModified","pageResized"],setup({element:e,initialize:t}){vi(e,r),t()}})}const Rt=class Rt{constructor(e,t,n){pe(this,te);pe(this,Ke);pe(this,Ue);pe(this,ve);pe(this,ie);pe(this,je);pe(this,Ge);pe(this,Oe);pe(this,Xe);pe(this,Ze);if(!t||!e){Q(this,"Missing required elements: control, container");return}const a=Object.assign({},Rt.defaults,n);this.options=a,this.container=e,this.control=t,this.debug=a.debug;const i=["left","right"],o=["top","bottom"],{fromX:s,fromY:l}=a;if(!i.includes(s)&&s!==null){Q(this,`Invalid fromX: ${s} (left|right|null)`);return}if(!o.includes(l)&&l!==null){Q(this,`Invalid fromY: ${l} (top|bottom|null)`);return}if(!s&&!l){Q(this,"Invalid fromX/fromY, failed to setup resizer (at least one of fromX or fromY must be set)");return}this.resizeHorizontal=a.fromX!==null,this.resizeVertical=a.fromY!==null,a.manageEvents&&(J(this,Ke,this.onPointerdown.bind(this)),J(this,Ue,this.onKeydown.bind(this)),a.enablePointerResizing&&t.addEventListener("pointerdown",z(this,Ke)),a.enableKeyboardResizing&&t.addEventListener("keydown",z(this,Ue))),ge(this,te,qt).call(this),a.manageAriaLabel&&t.setAttribute("aria-label",this.getAriaLabel())}destroy(){const{control:e,options:t}=this;t.manageEvents&&(t.enablePointerResizing&&e.removeEventListener("pointerdown",z(this,Ke)),t.enableKeyboardResizing&&e.removeEventListener("keydown",z(this,Ue))),z(this,ve)&&clearTimeout(z(this,ve)),ge(this,te,qt).call(this),t.manageAriaLabel&&e.removeAttribute("aria-label"),se(this,"Resizer destroyed.")}onPointerdown(e){if(!this.options.enablePointerResizing){se(this,"Pointer resizing disabled. Ignoring pointerdown event.");return}e.preventDefault();const t=document.documentElement;J(this,Xe,e.clientX),J(this,Ze,e.clientY),ge(this,te,ri).call(this,{inputType:"pointer",startX:e.clientX,startY:e.clientY,pointerId:e.pointerId}),this.control.setPointerCapture(e.pointerId);const n=i=>{const o=i.clientX-z(this,Xe),s=i.clientY-z(this,Ze);ge(this,te,ii).call(this,o,s,i)},a=i=>{t.removeEventListener("pointermove",n,!1),t.removeEventListener("pointerup",a,{capture:!0,once:!0}),this.control.hasPointerCapture(i.pointerId)&&this.control.releasePointerCapture(i.pointerId),ge(this,te,ni).call(this)};t.addEventListener("pointermove",n,!1),t.addEventListener("pointerup",a,{capture:!0,once:!0})}onKeydown(e){if(!this.options.enableKeyboardResizing){se(this,"Keyboard resizing disabled. Ignoring keydown event.");return}const{key:t}=e,{keyboardStep:n,keyboardDebounceTime:a}=this.options;let i=0,o=0,s=!1;this.resizeHorizontal&&(t==="ArrowLeft"?(i=-n,s=!0):t==="ArrowRight"&&(i=n,s=!0)),this.resizeVertical&&(t==="ArrowUp"?(o=-n,s=!0):t==="ArrowDown"&&(o=n,s=!0)),s&&(e.preventDefault(),e.stopPropagation(),(!z(this,Oe)||z(this,ve)===null)&&ge(this,te,ri).call(this,{inputType:"keyboard",keyboardKey:t}),J(this,je,z(this,je)+i),J(this,Ge,z(this,Ge)+o),ge(this,te,ii).call(this,z(this,je),z(this,Ge),e),z(this,ve)&&clearTimeout(z(this,ve)),J(this,ve,setTimeout(()=>{ge(this,te,ni).call(this),J(this,ve,null)},a)))}getAriaLabel(){const{fromY:e,fromX:t}=this.options,n=[e,t].filter(a=>a);return n.length===0?"Resize control":`Resize from ${n.join(" ")} edge`}dispatchEvent(e,t={}){this.container.dispatchEvent(Ne(e,t))}};Ke=new WeakMap,Ue=new WeakMap,ve=new WeakMap,ie=new WeakMap,je=new WeakMap,Ge=new WeakMap,Oe=new WeakMap,Xe=new WeakMap,Ze=new WeakMap,te=new WeakSet,qt=function(){J(this,ve,null),J(this,ie,{width:0,height:0}),J(this,je,0),J(this,Ge,0),J(this,Oe,!1),J(this,Xe,0),J(this,Ze,0)},ri=function(e){const{container:t,options:n}=this;if(z(this,Oe)){n.overrideMaxDimensions&&(this.resizeHorizontal&&(t.style.maxWidth="none"),this.resizeVertical&&(t.style.maxHeight="none"));return}const i=document.defaultView.getComputedStyle(t);z(this,ie).width=parseInt(i.width,10),z(this,ie).height=parseInt(i.height,10),n.overrideMaxDimensions&&(this.resizeHorizontal&&(t.style.maxWidth="none"),this.resizeVertical&&(t.style.maxHeight="none")),J(this,Oe,!0),this.dispatchEvent("resizer:start",e),se(this,"Resize started.",{initialWidth:z(this,ie).width,initialHeight:z(this,ie).height,...e})},ni=function(){z(this,Oe)&&(this.dispatchEvent("resizer:end"),ge(this,te,qt).call(this),se(this,"Resize ended."))},ii=function(e,t,n){let a=z(this,ie).width,i=z(this,ie).height;const{fromX:o,fromY:s,multiplier:l}=this.options;this.resizeHorizontal&&(o==="right"?a=z(this,ie).width+e*l:o==="left"&&(a=z(this,ie).width-e*l),this.container.style.width=`${Math.max(0,a)}px`),this.resizeVertical&&(s==="bottom"?i=z(this,ie).height+t*l:s==="top"&&(i=z(this,ie).height-t*l),this.container.style.height=`${Math.max(0,i)}px`);const u={newWidth:a,newHeight:i,totalDeltaX:e,totalDeltaY:t,event:n};this.dispatchEvent("resizer:update",u),se(this,"Resizing update.",u)},j(Rt,"defaults",{debug:!1,multiplier:1,overrideMaxDimensions:!1,fromX:null,fromY:null,keyboardStep:10,keyboardDebounceTime:200,manageEvents:!0,manageAriaLabel:!1,enablePointerResizing:!0,enableKeyboardResizing:!0});let St=Rt;const Ie=new G({type:"modal-builder",baseAttribute:"data-ulu-modal-builder"}),wi={title:null,titleIcon:null,titleClass:"",labelledby:null,describedby:null,nonModal:!1,documentEnd:!0,allowResize:!1,position:"center",bodyFills:!1,noBackdrop:!1,size:"default",print:!1,noMinHeight:!1,class:"",baseClass:"modal",footerElement:null,footerHtml:null,classCloseIcon:_e("iconClassClose"),classResizerIcon:_e("iconClassDragX"),classResizerIconBoth:_e("iconClassDragBoth"),debug:!1,templateCloseIcon(r){const{baseClass:e,classCloseIcon:t}=r;return`<span class="${e}__close-icon ${t}" aria-hidden="true"></span>`},templateResizerIcon(r){const{baseClass:e,classResizerIcon:t,classResizerIconBoth:n}=r,a=r.position==="center"?n:t;return`<span class="${e}__resizer-icon ${a}" aria-hidden="true"></span>`},template(r,e){const{baseClass:t,describedby:n,footerHtml:a}=e,i=[t,`${t}--${e.position}`,`${t}--${e.size}`,`${t}--${e.allowResize?"resize":"no-resize"}`,...e.title?[]:[`${t}--no-header`],...e.bodyFills?[`${t}--body-fills`]:[],...e.noBackdrop?[`${t}--no-backdrop`]:[],...e.noMinHeight?[`${t}--no-min-height`]:[],...e.class?[e.class]:[]],o=e.title?`${r}--title`:e.labelledby;return`
|
|
19
|
+
<dialog
|
|
20
|
+
id="${r}"
|
|
21
|
+
class="${i.join(" ")}"
|
|
22
|
+
${o?`aria-labelledby="${o}"`:""}
|
|
23
|
+
${n?`aria-describedby="${n}"`:""}
|
|
24
|
+
>
|
|
25
|
+
${e.title?`
|
|
26
|
+
<header class="${t}__header">
|
|
27
|
+
<h2 id="${o}" class="${t}__title ${e.titleClass}">
|
|
28
|
+
${e.titleIcon?`<span class="${t}__title-icon ${e.titleIcon}" aria-hidden="true"></span>`:""}
|
|
29
|
+
<span class="${t}__title-text">${e.title}</span>
|
|
30
|
+
</h2>
|
|
31
|
+
<button class="${t}__close" aria-label="Close modal" ${gi} autofocus>
|
|
32
|
+
${e.templateCloseIcon(e)}
|
|
33
|
+
</button>
|
|
34
|
+
</header>
|
|
35
|
+
`:""}
|
|
36
|
+
<div class="${t}__body" ${Ie.getAttribute("body")}></div>
|
|
37
|
+
${a?`<div class="${t}__footer">${a}</div>`:""}
|
|
38
|
+
${e.allowResize?`<button class="${t}__resizer" type="button" ${Ie.getAttribute("resizer")}>
|
|
39
|
+
${e.templateResizerIcon(e)}
|
|
40
|
+
</button>`:""}
|
|
41
|
+
</dialog>
|
|
42
|
+
`}};let Yt={...wi};function Xa(r){Yt=Object.assign({},Yt,r)}function Za(){Ie.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e}){Si(r,e)}})}function Si(r,e){const t=Object.assign({},Yt,e),{position:n}=t;if(t.debug&&Ie.log(t,r),!r.id)throw new Error("Missing ID on modal");const a=t.template(r.id,t),i=si(a.trim()),o=f=>i.querySelector(Ie.attributeSelector(f)),s=o("body"),l=o("resizer"),u=Ya(t);if(r.removeAttribute("id"),r.removeAttribute("hidden"),r.removeAttribute(Ie.getAttribute()),r.parentNode.replaceChild(i,r),s.appendChild(r),i.setAttribute(Xt,JSON.stringify(u)),t.footerElement){const f=Ht(t.footerElement);f&&(f.classList.add(`${t.baseClass}__footer`),s.after(f))}let m;const v=["left","right","center"],c=n==="center",h=n==="right";if(t.allowResize)if(v.includes(n)){const f=c?{fromX:"right",fromY:"bottom",multiplier:2}:{fromX:h?"left":"right"};m=new St(i,l,f)}else console.warn(`${n} is not supported for resizing`);if(t.print){let f;document.addEventListener(xe("beforePrint"),()=>{f=r.cloneNode(!0),i.after(f)}),document.addEventListener(xe("afterPrint"),()=>{f.remove()})}return{modal:i,resizer:m}}function Ya(r){return Object.keys(Zt).reduce((e,t)=>(t in r&&(e[t]=r[t]),e),{})}const Ja=["track","controls"],ut=class ut{constructor(e,t){this.options=Object.assign({},ut.defaults,t),pt(Ja)||Q(this,"Missing a required Element"),this.elements={...e,...this.createControls(e.controls)},this.nextEnabled=!0,this.previousEnabled=!0,this.scrollHandler=n=>this.onScroll(n),this.elements.track.addEventListener("scroll",this.scrollHandler,{passive:!0}),this.checkOverflow(),this.onScroll()}checkOverflow(){const{track:e}=this.elements;this.hasOverflow=e.scrollWidth>e.clientWidth}createControls(e){const t=document.createElement("ul"),n=document.createElement("li"),a=document.createElement("li"),i=this.createControlButton("previous"),o=this.createControlButton("next"),s=this.getClass("controls-item");return a.classList.add(s),a.classList.add(s+"--next"),n.classList.add(s),n.classList.add(s+"--previous"),t.classList.add(this.getClass("controls")),n.appendChild(i),a.appendChild(o),t.appendChild(n),t.appendChild(a),i.addEventListener("click",this.previous.bind(this)),o.addEventListener("click",this.next.bind(this)),e.appendChild(t),{controls:t,previousItem:n,nextItem:a,previous:i,next:o}}createControlButton(e){const t=document.createElement("button");return t.classList.add(this.getClass("control-button")),t.classList.add(this.getClass(`control-button--${e}`)),t.classList.add(...this.options.buttonClasses),t.setAttribute("type","button"),t.innerHTML=this.getControlContent(e),t}getControlContent(e){const t=this.options[e==="next"?"iconClassNext":"iconClassPrevious"];return`
|
|
43
|
+
<span class="hidden-visually">${e}</span>
|
|
44
|
+
<span class="${t}" aria-hidden="true"></span>
|
|
45
|
+
`}onScroll(e){this.hasOverflow&&this.onScrollHorizontal()}onScrollHorizontal(){const{nextEnabled:e,previousEnabled:t}=this,{track:n}=this.elements,{offsetStart:a,offsetEnd:i}=this.options,{scrollWidth:o,clientWidth:s,scrollLeft:l}=n,u=l<=a,m=o-l-i<=s;u&&t?this.setControlState("previous",!1):!u&&!t&&this.setControlState("previous",!0),m&&e?this.setControlState("next",!1):!m&&!e&&this.setControlState("next",!0)}setControlState(e,t){const n=e==="next",{next:a,nextItem:i,previous:o,previousItem:s}=this.elements,l=n?i:s,u=n?a:o,m=t?"remove":"add";l.classList[m](this.getClass("controls-item--disabled")),u.classList[t?"remove":"add"](this.getClass("control--disabled")),t?u.removeAttribute("disabled"):u.setAttribute("disabled",""),this[n?"nextEnabled":"previousEnabled"]=t}resolveAmount(e){const t=e==="next",{amount:n}=this.options,{scrollLeft:a,offsetWidth:i}=this.elements.track;return n==="auto"?t?a+i:a-i:typeof n=="function"?n(this,e):typeof n=="number"?t?a+n:a-n:(Q("Unable to resolve amount for scroll"),500)}next(){this.elements.track.scrollTo({top:0,left:this.resolveAmount("next"),behavior:"smooth"})}previous(){this.elements.track.scrollTo({top:0,left:this.resolveAmount("previous"),behavior:"smooth"})}getClass(e){const{namespace:t}=this.options;return`${t}__${e}`}};j(ut,"instances",[]),j(ut,"defaults",{namespace:"OverflowScroller",events:{},horizontal:!0,offsetStart:100,offsetEnd:100,amount:"auto",buttonClasses:["button","button--icon"],iconClassPrevious:_e("iconClassPrevious"),iconClassNext:_e("iconClassNext")});let Ct=ut;function Ci(){return function(e,t){const n=t==="next",{track:a}=e.elements;if(!a.children)return 400;const o=window.getComputedStyle(a).getPropertyValue("scroll-padding-left").replace("auto","0px"),s=parseInt(o,10),{scrollLeft:l,offsetWidth:u}=a,m=l+u,v=[...a.children].map(h=>{const{offsetLeft:f,offsetWidth:d}=h;return{element:h,offsetLeft:f,offsetRight:f+d}});let c;if(n)c=v.find(h=>h.offsetRight>=m);else{let h=v.findLastIndex(f=>f.offsetLeft<=l);if(h){let f=v[h];c=v.slice(0,h+1).find(p=>p.offsetLeft+s+u>=f.offsetRight)}}return c?n?c.offsetLeft:c.offsetLeft+s:400}}function Qa(){Sa()}const Oi={strategy:"absolute",placement:"bottom",inline:!1,offset:{mainAxis:16},shift:!0,flip:!0,arrow:!0};function Jt(r,e){const t=Object.assign({},Oi,e),{placement:n,strategy:a}=t,{trigger:i,content:o,contentArrow:s}=r;return F.autoUpdate(i,o,()=>{F.computePosition(i,o,{placement:n,strategy:a,middleware:[...at(F.inline,t.inline),...at(F.offset,t.offset),...at(F.flip,t.flip),...at(F.shift,t.shift),...at(F.arrow,s&&t.arrow,{element:s})]}).then(l=>{const{x:u,y:m,middlewareData:v,placement:c}=l,h=v.arrow;Object.assign(o.style,{left:`${u}px`,top:`${m}px`}),o.setAttribute("data-placement",c),h&&Object.assign(s.style,{left:(h==null?void 0:h.x)!=null?`${h.x}px`:"",top:(h==null?void 0:h.y)!=null?`${h.y}px`:""})})})}function at(r,e,t={}){return e?typeof e=="object"?[r({...e,...t})]:[r(t)]:[]}const ye=new G({type:"popover",baseAttribute:"data-ulu-popover"}),es=ye.attributeSelector("trigger-anchor"),ts=ye.attributeSelector("arrow"),rs=ye.getAttribute("content"),ns=ye.attributeSelector("content"),Qt=new WeakMap,is={clickOutsideCloses:!0,escapeCloses:!0};function as(){ye.init({key:"trigger",withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){if(Qt.has(r))return;const n=Ai(r,e);if(!n){ye.warn("Unable to resolve popover elements for trigger.",r);return}const{elements:a,options:i,floatingOptions:o}=n;Qt.set(a,new Mi(a,i,o)),t()}})}function Ai(r,e){const t=Object.assign({},e),n=Ti(r),a={trigger:r,content:n,anchor:r.querySelector(es)||r,contentArrow:n.querySelector(ts)},i=t.floating||{};return delete t.floating,n?{elements:a,options:t,floatingOptions:i}:(ye.logError("Unable to make popover for",r),!1)}function Ti(r){var n;let e;const t=r.getAttribute("aria-controls");if(t)e=document.getElementById(t);else if((n=r==null?void 0:r.nextElementSibling)!=null&&n.hasAttribute(rs))e=r.nextElementSibling;else{const a=Array.from(r.parentNode.children),i=a.findIndex(s=>s===r);e=a.slice(i).find(s=>s.matches(ns))}return e||ye.logError("Unable to resolve 'content' element for popover",r),e}class Mi extends xt{constructor(e,t,n){const a=Object.assign({},is,t);super(e,a),this.floatingOptions=n||{}}setState(e,t){super.setState(e,t),this.destroyFloatingInstance(),e&&this.createFloatingInstance()}destroy(){super.destroy(),this.destroyFloatingInstance()}createFloatingInstance(){const{content:e,anchor:t,contentArrow:n}=this.elements,a={trigger:t,contentArrow:n,content:e};this.floatingCleanup=Jt(a,this.floatingOptions)}destroyFloatingInstance(){this.floatingCleanup&&(this.floatingCleanup(),this.floatingCleanup=null)}}const Ot={opened:"data-ulu-print-details-opened"},ss=r=>`[${Ot[r]}]`,os={selector:"details:not([open])"};function ls(r){const e=Object.assign({},os,r);document.addEventListener(xe("beforePrint"),()=>{document.querySelectorAll(e.selector).forEach(t=>{t.open||(t.setAttribute(Ot.opened,!0),t.open=!0)})}),document.addEventListener(xe("afterPrint"),()=>{document.querySelectorAll(ss("opened")).forEach(t=>{t.removeAttribute(Ot.opened),t.open=!1})})}function us(r){const e=window.open();e.document.write(r),e.print(),e.close()}function cs(r){var e=r.innerHTML;us(e)}const fs=new G({type:"print",baseAttribute:"data-ulu-print"}),ds={element:null};function vs(){fs.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){ps(r,e),t()}})}function ps(r,e){const t=Object.assign({},ds,e);r.addEventListener("click",()=>{if(t.element){const n=Ht(t.element);n?cs(n):console.error("Unable to find element to print",r,t)}else window.print()})}const Ii=new G({type:"proxy-click",baseAttribute:"data-ulu-proxy-click"}),Di={selector:"[data-ulu-proxy-click-source]",selectorPreventBase:"input, select, textarea, button, a, [tabindex='-1']",selectorPrevent:"",mousedownDurationPrevent:250};let er={...Di};function hs(r){er=Object.assign({},er,r)}function ms(){Ii.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){Pi(r,e),t()}})}function Pi(r,e){const t=Object.assign({},er,e),n=r.querySelector(t.selector);n?ki(r,n,t):console.error("Unable to locate proxy click source",t.selector)}function ki(r,e,t){const{selectorPreventBase:n,selectorPrevent:a}=t,i=`${n}${a?`, ${a}`:""}`;let o,s;r.addEventListener("mousedown",({target:l,timeStamp:u})=>{s=!1,l.matches(i)||(s=!0,o=u)}),r.addEventListener("mouseup",({timeStamp:l})=>{s&&l-o<t.mousedownDurationPrevent&&e.click()}),r.style.cursor="pointer"}const At=new G({type:"scroll-slider",baseAttribute:"data-ulu-scroll-slider"}),bs=At.attributeSelector("track"),gs=At.attributeSelector("control-context"),xs=[],_s={amount:Ci()};function ys(){At.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){Es(r,e),t()}})}function Es(r,e){const t=Object.assign({},_s,e),n={track:r.querySelector(bs),controls:r.querySelector(gs)};xs.push(new Ct(n,t))}const Tt=new G({type:"scrollpoint",baseAttribute:"data-ulu-scrollpoint"});function ws(){Tt.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){const n=Object.assign({},e);new Mt(r,n),t()}})}const $t=class $t{constructor(e,t){const n=Object.assign({},$t.defaults,t);if(!e){Q(this,"Missing required element");return}n.rootSelector&&(n.root=document.querySelector(n.rootSelector),delete n.rootSelector),this.options=n,this.observer=null,this.lastPosition=null,this.isActive=!1,this.element=e,this.syncedElements=[e,...n.syncElements.map(a=>Ht(a))],this.classes={enter:this.getClassname("enter"),enterForward:this.getClassname("enter--from-forward"),enterReverse:this.getClassname("enter--from-reverse"),exit:this.getClassname("exit"),exitForward:this.getClassname("exit--from-forward"),exitReverse:this.getClassname("exit--from-reverse")},this.setupObserver(),n.debug&&Tt.log(this)}getClassname(e){return this.options.classPrefix+"-"+e}getObserverOptions(){const{root:e,marginStart:t,marginEnd:n,threshold:a,horizontal:i}=this.options,o=i?`0px ${t} 0px ${n}`:`${t} 0px ${n} 0px`;return{root:e,rootMargin:o,threshold:a}}onObserve(e){const t=this.getScrollY(),{lastPosition:n,isActive:a,options:i}=this,o=n===null?null:n<t;e.forEach(s=>{const{isIntersecting:l}=s;l&&!a?this.setState(!0,o):!l&&a&&i.exit&&(o&&i.exitForward||!o&&i.exitReverse)&&this.setState(!1,o)}),this.lastPosition=t}setupObserver(){const e=n=>{this.onObserve(n)},t=this.getObserverOptions();this.options.debug&&Tt.log("IntersectionObserver (options)",t),this.observer=new IntersectionObserver(e,t),this.observer.observe(this.element)}getScrollY(){const{root:e}=this.options;return e===null||e===document?window.scrollY:e.scrollTop}setState(e,t){const{element:n}=this,a={isActive:e,isForward:t,element:n,instance:this},{setClasses:i,setAttribute:o,onChange:s}=this.options;i&&this.updateClasses(e,t),o&&this.updateStateAttribute(e,t),s&&s(a),this.isActive=e}getAllClasses(){return Object.values(this.classes)}updateClasses(e,t){const{classes:n}=this,a=this.getAllClasses(),i=[n.enter,t?n.enterForward:n.enterReverse],o=[n.exit,t?n.exitForward:n.exitReverse];this.syncedElements.forEach(s=>{s.classList.remove(...a),e?s.classList.add(...i):s.classList.add(...o)})}updateStateAttribute(e,t){const n=e?"enter":"exit",a=t?"forward":"reverse";this.syncedElements.forEach(i=>{i.setAttribute(this.options.attributeName,`${n}-${a}`)})}destroy(){this.observer.disconnect(),this.observer=null,this.options.setClasses&&this.element.classList.remove(...this.getAllClasses()),this.options.setAttribute&&this.element.removeAttribute(this.options.attributeName)}};j($t,"defaults",{root:null,rootSelector:null,debug:!1,horizontal:!1,marginStart:"-25%",marginEnd:"-55%",threshold:[0,1],exit:!0,exitForward:!0,exitReverse:!0,setClasses:!1,classPrefix:"scrollpoint",setAttribute:!0,attributeName:"data-ulu-scrollpoint-state",syncElements:[],onChange(e){}});let Mt=$t;var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ss(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var tr={exports:{}},rr={exports:{}},nr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){if(!t)return[];if(Array.isArray(t))return t;if(t.nodeType!==void 0)return[t];if(typeof t=="string"&&(t=document.querySelectorAll(t)),t.length!==void 0)return[].slice.call(t,0);throw new TypeError("unexpected input "+String(t))},r.exports=e.default})(nr,nr.exports);var Se=nr.exports,ir={exports:{}},ar={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(i){var o=i.context,s=i.label,l=s===void 0?"context-to-element":s,u=i.resolveDocument,m=i.defaultToDocument,v=(0,n.default)(o)[0];if(u&&v&&v.nodeType===Node.DOCUMENT_NODE&&(v=v.documentElement),!v&&m)return document.documentElement;if(!v)throw new TypeError(l+" requires valid options.context");if(v.nodeType!==Node.ELEMENT_NODE&&v.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new TypeError(l+" requires options.context to be an Element");return v};var t=Se,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(ar,ar.exports);var X=ar.exports,sr={exports:{}},or={exports:{}},lr={exports:{}},ur={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){for(var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=i.context,s=[],l=(0,n.default)({label:"get/parents",context:o});l;)s.push(l),l=l.parentNode,l&&l.nodeType!==Node.ELEMENT_NODE&&(l=null);return s};var t=X,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(ur,ur.exports);var st=ur.exports,cr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=i;var t=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector"],n=null;function a(o){t.some(function(s){return o[s]?(n=s,!0):!1})}function i(o,s){return n||a(o),o[n](s)}r.exports=e.default})(cr,cr.exports);var Li=cr.exports,fr={exports:{}},dr={exports:{}},vr={exports:{}},pr={exports:{}},hr={exports:{}},It={exports:{}};/*!
|
|
46
|
+
* Platform.js <https://mths.be/platform>
|
|
47
|
+
* Copyright 2014-2016 Benjamin Tan <https://demoneaux.github.io/>
|
|
48
|
+
* Copyright 2011-2013 John-David Dalton <http://allyoucanleet.com/>
|
|
49
|
+
* Available under MIT license <https://mths.be/mit>
|
|
50
|
+
*/It.exports,function(r,e){(function(){var t={function:!0,object:!0},n=t[typeof window]&&window||this,a=n,i=e,o=r&&!r.nodeType&&r,s=i&&o&&typeof He=="object"&&He;s&&(s.global===s||s.window===s||s.self===s)&&(n=s);var l=Math.pow(2,53)-1,u=/\bOpera/,m=this,v=Object.prototype,c=v.hasOwnProperty,h=v.toString;function f(g){return g=String(g),g.charAt(0).toUpperCase()+g.slice(1)}function d(g,S,O){var k={"10.0":"10","6.4":"10 Technical Preview","6.3":"8.1","6.2":"8","6.1":"Server 2008 R2 / 7","6.0":"Server 2008 / Vista","5.2":"Server 2003 / XP 64-bit","5.1":"XP","5.01":"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"};return S&&O&&/^Win/i.test(g)&&!/^Windows Phone /i.test(g)&&(k=k[/[\d.]+$/.exec(g)])&&(g="Windows "+k),g=String(g),S&&O&&(g=g.replace(RegExp(S,"i"),O)),g=E(g.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0]),g}function p(g,S){var O=-1,k=g?g.length:0;if(typeof k=="number"&&k>-1&&k<=l)for(;++O<k;)S(g[O],O,g);else _(g,S)}function E(g){return g=I(g),/^(?:webOS|i(?:OS|P))/.test(g)?g:f(g)}function _(g,S){for(var O in g)c.call(g,O)&&S(g[O],O,g)}function w(g){return g==null?f(g):h.call(g).slice(8,-1)}function x(g,S){var O=g!=null?typeof g[S]:"number";return!/^(?:boolean|number|string|undefined)$/.test(O)&&(O=="object"?!!g[S]:!0)}function C(g){return String(g).replace(/([ -])(?!$)/g,"$1?")}function M(g,S){var O=null;return p(g,function(k,H){O=S(O,k,H,g)}),O}function I(g){return String(g).replace(/^ +| +$/g,"")}function D(g){var S=n,O=g&&typeof g=="object"&&w(g)!="String";O&&(S=g,g=null);var k=S.navigator||{},H=k.userAgent||"";g||(g=H);var L=O||m==a,re=O?!!k.likeChrome:/\bChrome\b/.test(g)&&!/internal|\n/i.test(h.toString()),ae="Object",le=O?ae:"ScriptBridgingProxyObject",K=O?ae:"Environment",ee=O&&S.java?"JavaPackage":w(S.java),Qe=O?ae:"RuntimeObject",ce=/\bJava/.test(ee)&&S.java,Ae=ce&&w(S.environment)==K,$e=ce?"a":"α",ct=ce?"b":"β",et=S.document||{},ue=S.operamini||S.opera,we=u.test(we=O&&ue?ue["[[Class]]"]:w(ue))?we:ue=null,b,Te=g,B=[],tt=null,be=g==H,P=be&&ue&&typeof ue.version=="function"&&ue.version(),ft,W=Xn([{label:"EdgeHTML",pattern:"Edge"},"Trident",{label:"WebKit",pattern:"AppleWebKit"},"iCab","Presto","NetFront","Tasman","KHTML","Gecko"]),A=Yn(["Adobe AIR","Arora","Avant Browser","Breach","Camino","Epiphany","Fennec","Flock","Galeon","GreenBrowser","iCab","Iceweasel","K-Meleon","Konqueror","Lunascape","Maxthon",{label:"Microsoft Edge",pattern:"Edge"},"Midori","Nook Browser","PaleMoon","PhantomJS","Raven","Rekonq","RockMelt","SeaMonkey",{label:"Silk",pattern:"(?:Cloud9|Silk-Accelerated)"},"Sleipnir","SlimBrowser",{label:"SRWare Iron",pattern:"Iron"},"Sunrise","Swiftfox","WebPositive","Opera Mini",{label:"Opera Mini",pattern:"OPiOS"},"Opera",{label:"Opera",pattern:"OPR"},"Chrome",{label:"Chrome Mobile",pattern:"(?:CriOS|CrMo)"},{label:"Firefox",pattern:"(?:Firefox|Minefield)"},{label:"Firefox for iOS",pattern:"FxiOS"},{label:"IE",pattern:"IEMobile"},{label:"IE",pattern:"MSIE"},"Safari"]),N=Nt([{label:"BlackBerry",pattern:"BB10"},"BlackBerry",{label:"Galaxy S",pattern:"GT-I9000"},{label:"Galaxy S2",pattern:"GT-I9100"},{label:"Galaxy S3",pattern:"GT-I9300"},{label:"Galaxy S4",pattern:"GT-I9500"},"Google TV","Lumia","iPad","iPod","iPhone","Kindle",{label:"Kindle Fire",pattern:"(?:Cloud9|Silk-Accelerated)"},"Nexus","Nook","PlayBook","PlayStation 3","PlayStation 4","PlayStation Vita","TouchPad","Transformer",{label:"Wii U",pattern:"WiiU"},"Wii","Xbox One",{label:"Xbox 360",pattern:"Xbox"},"Xoom"]),ne=Zn({Apple:{iPad:1,iPhone:1,iPod:1},Archos:{},Amazon:{Kindle:1,"Kindle Fire":1},Asus:{Transformer:1},"Barnes & Noble":{Nook:1},BlackBerry:{PlayBook:1},Google:{"Google TV":1,Nexus:1},HP:{TouchPad:1},HTC:{},LG:{},Microsoft:{Xbox:1,"Xbox One":1},Motorola:{Xoom:1},Nintendo:{"Wii U":1,Wii:1},Nokia:{Lumia:1},Samsung:{"Galaxy S":1,"Galaxy S2":1,"Galaxy S3":1,"Galaxy S4":1},Sony:{"PlayStation 4":1,"PlayStation 3":1,"PlayStation Vita":1}}),T=Jn(["Windows Phone","Android","CentOS",{label:"Chrome OS",pattern:"CrOS"},"Debian","Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "]);function Xn(Y){return M(Y,function(V,q){return V||RegExp("\\b"+(q.pattern||C(q))+"\\b","i").exec(g)&&(q.label||q)})}function Zn(Y){return M(Y,function(V,q,fe){return V||(q[N]||q[/^[a-z]+(?: +[a-z]+\b)*/i.exec(N)]||RegExp("\\b"+C(fe)+"(?:\\b|\\w*\\d)","i").exec(g))&&fe})}function Yn(Y){return M(Y,function(V,q){return V||RegExp("\\b"+(q.pattern||C(q))+"\\b","i").exec(g)&&(q.label||q)})}function Jn(Y){return M(Y,function(V,q){var fe=q.pattern||C(q);return!V&&(V=RegExp("\\b"+fe+"(?:/[\\d.]+|[ \\w.]*)","i").exec(g))&&(V=d(V,fe,q.label||q)),V})}function Nt(Y){return M(Y,function(V,q){var fe=q.pattern||C(q);return!V&&(V=RegExp("\\b"+fe+" *\\d+[.\\w_]*","i").exec(g)||RegExp("\\b"+fe+"(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)","i").exec(g))&&((V=String(q.label&&!RegExp(fe,"i").test(q.label)?q.label:V).split("/"))[1]&&!/[\d.]+/.test(V[0])&&(V[0]+=" "+V[1]),q=q.label||q,V=E(V[0].replace(RegExp(fe,"i"),q).replace(RegExp("; *(?:"+q+"[_-])?","i")," ").replace(RegExp("("+q+")[-_.]?(\\w)","i"),"$1 $2"))),V})}function Qn(Y){return M(Y,function(V,q){return V||(RegExp(q+"(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)","i").exec(g)||0)[1]||null})}function ei(){return this.description||""}if(W&&(W=[W]),ne&&!N&&(N=Nt([ne])),(b=/\bGoogle TV\b/.exec(N))&&(N=b[0]),/\bSimulator\b/i.test(g)&&(N=(N?N+" ":"")+"Simulator"),A=="Opera Mini"&&/\bOPiOS\b/.test(g)&&B.push("running in Turbo/Uncompressed mode"),A=="IE"&&/\blike iPhone OS\b/.test(g)?(b=D(g.replace(/like iPhone OS/,"")),ne=b.manufacturer,N=b.product):/^iP/.test(N)?(A||(A="Safari"),T="iOS"+((b=/ OS ([\d_]+)/i.exec(g))?" "+b[1].replace(/_/g,"."):"")):A=="Konqueror"&&!/buntu/i.test(T)?T="Kubuntu":ne&&ne!="Google"&&(/Chrome/.test(A)&&!/\bMobile Safari\b/i.test(g)||/\bVita\b/.test(N))||/\bAndroid\b/.test(T)&&/^Chrome/.test(A)&&/\bVersion\//i.test(g)?(A="Android Browser",T=/\bAndroid\b/.test(T)?T:"Android"):A=="Silk"?(/\bMobi/i.test(g)||(T="Android",B.unshift("desktop mode")),/Accelerated *= *true/i.test(g)&&B.unshift("accelerated")):A=="PaleMoon"&&(b=/\bFirefox\/([\d.]+)\b/.exec(g))?B.push("identifying as Firefox "+b[1]):A=="Firefox"&&(b=/\b(Mobile|Tablet|TV)\b/i.exec(g))?(T||(T="Firefox OS"),N||(N=b[1])):(!A||(b=!/\bMinefield\b/i.test(g)&&/\b(?:Firefox|Safari)\b/.exec(A)))&&(A&&!N&&/[\/,]|^[^(]+?\)/.test(g.slice(g.indexOf(b+"/")+8))&&(A=null),(b=N||ne||T)&&(N||ne||/\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(T))&&(A=/[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(T)?T:b)+" Browser")),P||(P=Qn(["(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|Silk(?!/[\\d.]+$))","Version",C(A),"(?:Firefox|Minefield|NetFront)"])),(b=W=="iCab"&&parseFloat(P)>3&&"WebKit"||/\bOpera\b/.test(A)&&(/\bOPR\b/.test(g)?"Blink":"Presto")||/\b(?:Midori|Nook|Safari)\b/i.test(g)&&!/^(?:Trident|EdgeHTML)$/.test(W)&&"WebKit"||!W&&/\bMSIE\b/i.test(g)&&(T=="Mac OS"?"Tasman":"Trident")||W=="WebKit"&&/\bPlayStation\b(?! Vita\b)/i.test(A)&&"NetFront")&&(W=[b]),A=="IE"&&(b=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(g)||0)[1])?(A+=" Mobile",T="Windows Phone "+(/\+$/.test(b)?b:b+".x"),B.unshift("desktop mode")):/\bWPDesktop\b/i.test(g)?(A="IE Mobile",T="Windows Phone 8.x",B.unshift("desktop mode"),P||(P=(/\brv:([\d.]+)/.exec(g)||0)[1])):A!="IE"&&W=="Trident"&&(b=/\brv:([\d.]+)/.exec(g))&&(A&&B.push("identifying as "+A+(P?" "+P:"")),A="IE",P=b[1]),be){if(x(S,"global"))if(ce&&(b=ce.lang.System,Te=b.getProperty("os.arch"),T=T||b.getProperty("os.name")+" "+b.getProperty("os.version")),L&&x(S,"system")&&(b=[S.system])[0]){T||(T=b[0].os||null);try{b[1]=S.require("ringo/engine").version,P=b[1].join("."),A="RingoJS"}catch{b[0].global.system==S.system&&(A="Narwhal")}}else typeof S.process=="object"&&!S.process.browser&&(b=S.process)?(A="Node.js",Te=b.arch,T=b.platform,P=/[\d.]+/.exec(b.version)[0]):Ae&&(A="Rhino");else w(b=S.runtime)==le?(A="Adobe AIR",T=b.flash.system.Capabilities.os):w(b=S.phantom)==Qe?(A="PhantomJS",P=(b=b.version||null)&&b.major+"."+b.minor+"."+b.patch):typeof et.documentMode=="number"&&(b=/\bTrident\/(\d+)/i.exec(g))&&(P=[P,et.documentMode],(b=+b[1]+4)!=P[1]&&(B.push("IE "+P[1]+" mode"),W&&(W[1]=""),P[1]=b),P=A=="IE"?String(P[1].toFixed(1)):P[0]);T=T&&E(T)}P&&(b=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(P)||/(?:alpha|beta)(?: ?\d)?/i.exec(g+";"+(be&&k.appMinorVersion))||/\bMinefield\b/i.test(g)&&"a")&&(tt=/b/i.test(b)?"beta":"alpha",P=P.replace(RegExp(b+"\\+?$"),"")+(tt=="beta"?ct:$e)+(/\d+\+?/.exec(b)||"")),A=="Fennec"||A=="Firefox"&&/\b(?:Android|Firefox OS)\b/.test(T)?A="Firefox Mobile":A=="Maxthon"&&P?P=P.replace(/\.[\d.]+/,".x"):/\bXbox\b/i.test(N)?(T=null,N=="Xbox 360"&&/\bIEMobile\b/.test(g)&&B.unshift("mobile mode")):(/^(?:Chrome|IE|Opera)$/.test(A)||A&&!N&&!/Browser|Mobi/.test(A))&&(T=="Windows CE"||/Mobi/i.test(g))?A+=" Mobile":A=="IE"&&be&&S.external===null?B.unshift("platform preview"):(/\bBlackBerry\b/.test(N)||/\bBB10\b/.test(g))&&(b=(RegExp(N.replace(/ +/g," *")+"/([.\\d]+)","i").exec(g)||0)[1]||P)?(b=[b,/BB10/.test(g)],T=(b[1]?(N=null,ne="BlackBerry"):"Device Software")+" "+b[0],P=null):this!=_&&N!="Wii"&&(be&&ue||/Opera/.test(A)&&/\b(?:MSIE|Firefox)\b/i.test(g)||A=="Firefox"&&/\bOS X (?:\d+\.){2,}/.test(T)||A=="IE"&&(T&&!/^Win/.test(T)&&P>5.5||/\bWindows XP\b/.test(T)&&P>8||P==8&&!/\bTrident\b/.test(g)))&&!u.test(b=D.call(_,g.replace(u,"")+";"))&&b.name&&(b="ing as "+b.name+((b=b.version)?" "+b:""),u.test(A)?(/\bIE\b/.test(b)&&T=="Mac OS"&&(T=null),b="identify"+b):(b="mask"+b,we?A=E(we.replace(/([a-z])([A-Z])/g,"$1 $2")):A="Opera",/\bIE\b/.test(b)&&(T=null),be||(P=null)),W=["Presto"],B.push(b)),(b=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(g)||0)[1])&&(b=[parseFloat(b.replace(/\.(\d)$/,".0$1")),b],A=="Safari"&&b[1].slice(-1)=="+"?(A="WebKit Nightly",tt="alpha",P=b[1].slice(0,-1)):(P==b[1]||P==(b[2]=(/\bSafari\/([\d.]+\+?)/i.exec(g)||0)[1]))&&(P=null),b[1]=(/\bChrome\/([\d.]+)/i.exec(g)||0)[1],b[0]==537.36&&b[2]==537.36&&parseFloat(b[1])>=28&&W=="WebKit"&&(W=["Blink"]),!be||!re&&!b[1]?(W&&(W[1]="like Safari"),b=(b=b[0],b<400?1:b<500?2:b<526?3:b<533?4:b<534?"4+":b<535?5:b<537?6:b<538?7:b<601?8:"8")):(W&&(W[1]="like Chrome"),b=b[1]||(b=b[0],b<530?1:b<532?2:b<532.05?3:b<533?4:b<534.03?5:b<534.07?6:b<534.1?7:b<534.13?8:b<534.16?9:b<534.24?10:b<534.3?11:b<535.01?12:b<535.02?"13+":b<535.07?15:b<535.11?16:b<535.19?17:b<536.05?18:b<536.1?19:b<537.01?20:b<537.11?"21+":b<537.13?23:b<537.18?24:b<537.24?25:b<537.36?26:W!="Blink"?"27":"28")),W&&(W[1]+=" "+(b+=typeof b=="number"?".x":/[.+]/.test(b)?"":"+")),A=="Safari"&&(!P||parseInt(P)>45)&&(P=b)),A=="Opera"&&(b=/\bzbov|zvav$/.exec(T))?(A+=" ",B.unshift("desktop mode"),b=="zvav"?(A+="Mini",P=null):A+="Mobile",T=T.replace(RegExp(" *"+b+"$"),"")):A=="Safari"&&/\bChrome\b/.exec(W&&W[1])&&(B.unshift("desktop mode"),A="Chrome Mobile",P=null,/\bOS X\b/.test(T)?(ne="Apple",T="iOS 4.3+"):T=null),P&&P.indexOf(b=/[\d.]+$/.exec(T))==0&&g.indexOf("/"+b+"-")>-1&&(T=I(T.replace(b,""))),W&&!/\b(?:Avant|Nook)\b/.test(A)&&(/Browser|Lunascape|Maxthon/.test(A)||A!="Safari"&&/^iOS/.test(T)&&/\bSafari\b/.test(W[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Sleipnir|Web)/.test(A)&&W[1])&&(b=W[W.length-1])&&B.push(b),B.length&&(B=["("+B.join("; ")+")"]),ne&&N&&N.indexOf(ne)<0&&B.push("on "+ne),N&&B.push((/^on /.test(B[B.length-1])?"":"on ")+N),T&&(b=/ ([\d.+]+)$/.exec(T),ft=b&&T.charAt(T.length-b[0].length-1)=="/",T={architecture:32,family:b&&!ft?T.replace(b[0],""):T,version:b?b[1]:null,toString:function(){var Y=this.version;return this.family+(Y&&!ft?" "+Y:"")+(this.architecture==64?" 64-bit":"")}}),(b=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(Te))&&!/\bi686\b/i.test(Te)?(T&&(T.architecture=64,T.family=T.family.replace(RegExp(" *"+b),"")),A&&(/\bWOW64\b/i.test(g)||be&&/\w(?:86|32)$/.test(k.cpuClass||k.platform)&&!/\bWin64; x64\b/i.test(g))&&B.unshift("32-bit")):T&&/^OS X/.test(T.family)&&A=="Chrome"&&parseFloat(P)>=39&&(T.architecture=64),g||(g=null);var Z={};return Z.description=g,Z.layout=W&&W[0],Z.manufacturer=ne,Z.name=A,Z.prerelease=tt,Z.product=N,Z.ua=g,Z.version=A&&P,Z.os=T||{architecture:null,family:null,version:null,toString:function(){return"null"}},Z.parse=D,Z.toString=ei,Z.version&&B.unshift(P),Z.name&&B.unshift(A),T&&A&&!(T==String(T).split(" ")[0]&&(T==A.split(" ")[0]||N))&&B.push(N?"("+T+")":"on "+T),B.length&&(Z.description=B.join(" ")),Z}var $=D();i&&o?_($,function(g,S){i[S]=g}):n.platform=$}).call(He)}(It,It.exports);var Cs=It.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Cs,n=a(t);function a(_){return _&&_.__esModule?_:{default:_}}var i=JSON.parse(JSON.stringify(n.default)),o=i.os.family||"",s=o==="Android",l=o.slice(0,7)==="Windows",u=o==="OS X",m=o==="iOS",v=i.layout==="Blink",c=i.layout==="Gecko",h=i.layout==="Trident",f=i.layout==="EdgeHTML",d=i.layout==="WebKit",p=parseFloat(i.version),E=Math.floor(p);i.majorVersion=E,i.is={ANDROID:s,WINDOWS:l,OSX:u,IOS:m,BLINK:v,GECKO:c,TRIDENT:h,EDGE:f,WEBKIT:d,IE9:h&&E===9,IE10:h&&E===10,IE11:h&&E===11},e.default=i,r.exports=e.default})(hr,hr.exports);var de=hr.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(l){var u=i(),m={};return Object.keys(l).map(function(v){m[v]=o(u,l[v])}),s(u),m};var t=de,n=a(t);function a(l){return l&&l.__esModule?l:{default:l}}function i(){var l={activeElement:document.activeElement,windowScrollTop:window.scrollTop,windowScrollLeft:window.scrollLeft,bodyScrollTop:document.body.scrollTop,bodyScrollLeft:document.body.scrollLeft},u=document.createElement("iframe");u.setAttribute("style","position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;"),u.setAttribute("aria-live","off"),u.setAttribute("aria-busy","true"),u.setAttribute("aria-hidden","true"),document.body.appendChild(u);var m=u.contentWindow,v=m.document;v.open(),v.close();var c=v.createElement("div");return v.body.appendChild(c),l.iframe=u,l.wrapper=c,l.window=m,l.document=v,l}function o(l,u){l.wrapper.innerHTML="";var m=typeof u.element=="string"?l.document.createElement(u.element):u.element(l.wrapper,l.document),v=u.mutate&&u.mutate(m,l.wrapper,l.document);return!v&&v!==!1&&(v=m),!m.parentNode&&l.wrapper.appendChild(m),v&&v.focus&&v.focus(),u.validate?u.validate(m,v,l.document):l.document.activeElement===v}function s(l){l.activeElement===document.body?(document.activeElement&&document.activeElement.blur&&document.activeElement.blur(),n.default.is.IE10&&document.body.focus()):l.activeElement&&l.activeElement.focus&&l.activeElement.focus(),document.body.removeChild(l.iframe),window.scrollTop=l.windowScrollTop,window.scrollLeft=l.windowScrollLeft,document.body.scrollTop=l.bodyScrollTop,document.body.scrollLeft=l.bodyScrollLeft}r.exports=e.default})(pr,pr.exports);var Os=pr.exports,mr={exports:{}},br={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t="1.4.1";e.default=t,r.exports=e.default})(br,br.exports);var As=br.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=As,n=a(t);function a(m){return m&&m.__esModule?m:{default:m}}function i(m){var v=void 0;try{v=window.localStorage&&window.localStorage.getItem(m),v=v?JSON.parse(v):{}}catch{v={}}return v}function o(m,v){if(!document.hasFocus()){try{window.localStorage&&window.localStorage.removeItem(m)}catch{}return}try{window.localStorage&&window.localStorage.setItem(m,JSON.stringify(v))}catch{}}var s=typeof window<"u"&&window.navigator.userAgent||"",l="ally-supports-cache",u=i(l);(u.userAgent!==s||u.version!==n.default)&&(u={}),u.userAgent=s,u.version=n.default,e.default={get:function(){return u},set:function(v){Object.keys(v).forEach(function(c){u[c]=v[c]}),u.time=new Date().toISOString(),o(l,u)}},r.exports=e.default})(mr,mr.exports);var Ts=mr.exports,gr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var t=void 0;try{document.querySelector("html >>> :first-child"),t=">>>"}catch{try{document.querySelector("html /deep/ :first-child"),t="/deep/"}catch{t=""}}return t},r.exports=e.default})(gr,gr.exports);var Ri=gr.exports,xr={exports:{}},_r={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",r.exports=e.default})(_r,_r.exports);var Ce=_r.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"div",mutate:function(o){return o.innerHTML='<map name="image-map-tabindex-test"><area shape="rect" coords="63,19,144,45"></map><img usemap="#image-map-tabindex-test" tabindex="-1" alt="" src="'+n.default+'">',o.querySelector("area")}},r.exports=e.default})(xr,xr.exports);var Ms=xr.exports,yr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=o(t),a=de,i=o(a);function o(s){return s&&s.__esModule?s:{default:s}}e.default={element:"div",mutate:function(l){return l.innerHTML='<map name="image-map-tabindex-test"><area href="#void" tabindex="-1" shape="rect" coords="63,19,144,45"></map><img usemap="#image-map-tabindex-test" alt="" src="'+n.default+'">',!1},validate:function(l,u,m){if(i.default.is.GECKO)return!0;var v=l.querySelector("area");return v.focus(),m.activeElement===v}},r.exports=e.default})(yr,yr.exports);var Is=yr.exports,Er={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=o(t),a=de,i=o(a);function o(s){return s&&s.__esModule?s:{default:s}}e.default={element:"div",mutate:function(l){return l.innerHTML='<map name="image-map-area-href-test"><area shape="rect" coords="63,19,144,45"></map><img usemap="#image-map-area-href-test" alt="" src="'+n.default+'">',l.querySelector("area")},validate:function(l,u,m){return i.default.is.GECKO?!0:m.activeElement===u}},r.exports=e.default})(Er,Er.exports);var Ds=Er.exports,wr={exports:{}},Sr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default=n.default,r.exports=e.default})(Sr,Sr.exports);var Ps=Sr.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ps,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={name:"can-focus-audio-without-controls",element:"audio",mutate:function(o){try{o.setAttribute("src",n.default)}catch{}}},r.exports=e.default})(wr,wr.exports);var ks=wr.exports,Cr={exports:{}},Or={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ",r.exports=e.default})(Or,Or.exports);var Ls=Or.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ls,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"div",mutate:function(o){return o.innerHTML='<map name="broken-image-map-test"><area href="#void" shape="rect" coords="63,19,144,45"></map><img usemap="#broken-image-map-test" alt="" src="'+n.default+'">',o.querySelector("area")}},r.exports=e.default})(Cr,Cr.exports);var Rs=Cr.exports,Ar={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){return n.setAttribute("tabindex","-1"),n.setAttribute("style","display: -webkit-flex; display: -ms-flexbox; display: flex;"),n.innerHTML='<span style="display: block;">hello</span>',n.querySelector("span")}},r.exports=e.default})(Ar,Ar.exports);var $s=Ar.exports,Tr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"fieldset",mutate:function(n){n.setAttribute("tabindex",0),n.setAttribute("disabled","disabled")}},r.exports=e.default})(Tr,Tr.exports);var Fs=Tr.exports,Mr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"fieldset",mutate:function(n){n.innerHTML="<legend>legend</legend><p>content</p>"}},r.exports=e.default})(Mr,Mr.exports);var Ns=Mr.exports,Ir={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"span",mutate:function(n){n.setAttribute("style","display: -webkit-flex; display: -ms-flexbox; display: flex;"),n.innerHTML='<span style="display: block;">hello</span>'}},r.exports=e.default})(Ir,Ir.exports);var qs=Ir.exports,Dr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"form",mutate:function(n){n.setAttribute("tabindex",0),n.setAttribute("disabled","disabled")}},r.exports=e.default})(Dr,Dr.exports);var Hs=Dr.exports,Pr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"a",mutate:function(o){return o.href="#void",o.innerHTML='<img ismap src="'+n.default+'" alt="">',o.querySelector("img")}},r.exports=e.default})(Pr,Pr.exports);var Bs=Pr.exports,kr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"div",mutate:function(o){return o.innerHTML='<map name="image-map-tabindex-test"><area href="#void" shape="rect" coords="63,19,144,45"></map><img usemap="#image-map-tabindex-test" tabindex="-1" alt="" src="'+n.default+'">',o.querySelector("img")}},r.exports=e.default})(kr,kr.exports);var Ws=kr.exports,Lr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:function(n,a){var i=a.createElement("iframe");n.appendChild(i);var o=i.contentWindow.document;return o.open(),o.close(),i},mutate:function(n){n.style.visibility="hidden";var a=n.contentWindow.document,i=a.createElement("input");return a.body.appendChild(i),i},validate:function(n){var a=n.contentWindow.document,i=a.querySelector("input");return a.activeElement===i}},r.exports=e.default})(Lr,Lr.exports);var zs=Lr.exports,Rr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return i};var t=de,n=a(t);function a(o){return o&&o.__esModule?o:{default:o}}var i=!n.default.is.WEBKIT;r.exports=e.default})(Rr,Rr.exports);var Vs=Rr.exports,$r={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){n.setAttribute("tabindex","invalid-value")}},r.exports=e.default})($r,$r.exports);var Ks=$r.exports,Fr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"label",mutate:function(n){n.setAttribute("tabindex","-1")},validate:function(n,a,i){return n.offsetHeight,n.focus(),i.activeElement===n}},r.exports=e.default})(Fr,Fr.exports);var Us=Fr.exports,Nr={exports:{}},qr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJzdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==",r.exports=e.default})(qr,qr.exports);var $i=qr.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=$i,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"object",mutate:function(o){o.setAttribute("type","image/svg+xml"),o.setAttribute("data",n.default),o.setAttribute("width","200"),o.setAttribute("height","50"),o.style.visibility="hidden"}},r.exports=e.default})(Nr,Nr.exports);var js=Nr.exports,Hr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=$i,n=o(t),a=de,i=o(a);function o(s){return s&&s.__esModule?s:{default:s}}e.default={name:"can-focus-object-svg",element:"object",mutate:function(l){l.setAttribute("type","image/svg+xml"),l.setAttribute("data",n.default),l.setAttribute("width","200"),l.setAttribute("height","50")},validate:function(l,u,m){return i.default.is.GECKO?!0:m.activeElement===l}},r.exports=e.default})(Hr,Hr.exports);var Gs=Hr.exports,Br={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return i};var t=de,n=a(t);function a(o){return o&&o.__esModule?o:{default:o}}var i=!n.default.is.IE9;r.exports=e.default})(Br,Br.exports);var Xs=Br.exports,Wr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"div",mutate:function(o){return o.innerHTML='<map name="focus-redirect-img-usemap"><area href="#void" shape="rect" coords="63,19,144,45"></map><img usemap="#focus-redirect-img-usemap" alt="" src="'+n.default+'">',o.querySelector("img")},validate:function(o,s,l){var u=o.querySelector("area");return l.activeElement===u}},r.exports=e.default})(Wr,Wr.exports);var Zs=Wr.exports,zr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"fieldset",mutate:function(n){return n.innerHTML='<legend>legend</legend><input tabindex="-1"><input tabindex="0">',!1},validate:function(n,a,i){var o=n.querySelector('input[tabindex="-1"]'),s=n.querySelector('input[tabindex="0"]');return n.focus(),n.querySelector("legend").focus(),i.activeElement===o&&"focusable"||i.activeElement===s&&"tabbable"||""}},r.exports=e.default})(zr,zr.exports);var Ys=zr.exports,Vr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){return n.setAttribute("style","width: 100px; height: 50px; overflow: auto;"),n.innerHTML='<div style="width: 500px; height: 40px;">scrollable content</div>',n.querySelector("div")}},r.exports=e.default})(Vr,Vr.exports);var Js=Vr.exports,Kr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){n.setAttribute("style","width: 100px; height: 50px;"),n.innerHTML='<div style="width: 500px; height: 40px;">scrollable content</div>'}},r.exports=e.default})(Kr,Kr.exports);var Qs=Kr.exports,Ur={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){n.setAttribute("style","width: 100px; height: 50px; overflow: auto;"),n.innerHTML='<div style="width: 500px; height: 40px;">scrollable content</div>'}},r.exports=e.default})(Ur,Ur.exports);var eo=Ur.exports,jr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"details",mutate:function(n){return n.innerHTML="<summary>foo</summary><p>content</p>",n.firstElementChild}},r.exports=e.default})(jr,jr.exports);var to=jr.exports,Gr={exports:{}},he={},Xr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var a=n.ownerSVGElement||n.nodeName.toLowerCase()==="svg";if(!a)return!1;var i=t();n.appendChild(i);var o=i.querySelector("input");return o.focus(),o.disabled=!0,n.removeChild(i),!0};function t(){var n=document.createElement("div");return n.innerHTML=`<svg><foreignObject width="30" height="30">
|
|
51
|
+
<input type="text"/>
|
|
52
|
+
</foreignObject></svg>`,n.firstChild.firstChild}r.exports=e.default})(Xr,Xr.exports);var ro=Xr.exports;Object.defineProperty(he,"__esModule",{value:!0}),he.generate=so,he.focus=Fi,he.validate=oo;var no=ro,io=ao(no);function ao(r){return r&&r.__esModule?r:{default:r}}function so(r){return'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">'+r+"</svg>"}function Fi(r){if(!r.focus)try{HTMLElement.prototype.focus.call(r)}catch{(0,io.default)(r)}}function oo(r,e,t){return Fi(e),t.activeElement===e}(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)('<text focusable="true">a</text>'),a.querySelector("text")},validate:t.validate},r.exports=e.default})(Gr,Gr.exports);var lo=Gr.exports,Zr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)('<text tabindex="0">a</text>'),a.querySelector("text")},validate:t.validate},r.exports=e.default})(Zr,Zr.exports);var uo=Zr.exports,Yr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)('<text tabindex="-1">a</text>'),a.querySelector("text")},validate:t.validate},r.exports=e.default})(Yr,Yr.exports);var co=Yr.exports,Jr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)(['<g id="ally-test-target"><a xlink:href="#void"><text>link</text></a></g>','<use xlink:href="#ally-test-target" x="0" y="0" tabindex="-1" />'].join("")),a.querySelector("use")},validate:t.validate},r.exports=e.default})(Jr,Jr.exports);var fo=Jr.exports,Qr={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)('<foreignObject tabindex="-1"><input type="text" /></foreignObject>'),a.querySelector("foreignObject")||a.getElementsByTagName("foreignObject")[0]},validate:t.validate},r.exports=e.default})(Qr,Qr.exports);var vo=Qr.exports,en={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return i};var t=de,n=a(t);function a(o){return o&&o.__esModule?o:{default:o}}var i=!!(n.default.is.GECKO&&typeof SVGElement<"u"&&SVGElement.prototype.focus);r.exports=e.default})(en,en.exports);var po=en.exports,tn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=he;e.default={element:"div",mutate:function(a){return a.innerHTML=(0,t.generate)(""),a.firstChild},validate:t.validate},r.exports=e.default})(tn,tn.exports);var ho=tn.exports,rn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"div",mutate:function(n){n.setAttribute("tabindex","3x")}},r.exports=e.default})(rn,rn.exports);var mo=rn.exports,nn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={element:"table",mutate:function(n,a,i){var o=i.createDocumentFragment();o.innerHTML="<tr><td>cell</td></tr>",n.appendChild(o)}},r.exports=e.default})(nn,nn.exports);var bo=nn.exports,an={exports:{}},sn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Ce,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default=n.default,r.exports=e.default})(sn,sn.exports);var go=sn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=go,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}e.default={element:"video",mutate:function(o){try{o.setAttribute("src",n.default)}catch{}}},r.exports=e.default})(an,an.exports);var xo=an.exports,on={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return i};var t=de,n=a(t);function a(o){return o&&o.__esModule?o:{default:o}}var i=n.default.is.GECKO||n.default.is.TRIDENT||n.default.is.EDGE;r.exports=e.default})(on,on.exports);var _o=on.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return rt||(rt=i.default.get(),rt.time||(i.default.set(Vl()),rt=i.default.get()),rt)};var t=Os,n=R(t),a=Ts,i=R(a),o=Ri,s=R(o),l=Ms,u=R(l),m=Is,v=R(m),c=Ds,h=R(c),f=ks,d=R(f),p=Rs,E=R(p),_=$s,w=R(_),x=Fs,C=R(x),M=Ns,I=R(M),D=qs,$=R(D),g=Hs,S=R(g),O=Bs,k=R(O),H=Ws,L=R(H),re=zs,ae=R(re),le=Vs,K=R(le),ee=Ks,Qe=R(ee),ce=Us,Ae=R(ce),$e=js,ct=R($e),et=Gs,ue=R(et),we=Xs,b=R(we),Te=Zs,B=R(Te),tt=Ys,be=R(tt),P=Js,ft=R(P),W=Qs,A=R(W),N=eo,ne=R(N),T=to,Xn=R(T),Zn=lo,Yn=R(Zn),Jn=uo,Nt=R(Jn),Qn=co,ei=R(Qn),Z=fo,Y=R(Z),V=vo,q=R(V),fe=po,Pl=R(fe),kl=ho,Ll=R(kl),Rl=mo,$l=R(Rl),Fl=bo,Nl=R(Fl),ql=xo,Hl=R(ql),Bl=_o,Wl=R(Bl);function R(Fe){return Fe&&Fe.__esModule?Fe:{default:Fe}}var va={cssShadowPiercingDeepCombinator:s.default,focusInZeroDimensionObject:K.default,focusObjectSwf:b.default,focusSvgInIframe:Pl.default,tabsequenceAreaAtImgPosition:Wl.default},zl={focusAreaImgTabindex:u.default,focusAreaTabindex:v.default,focusAreaWithoutHref:h.default,focusAudioWithoutControls:d.default,focusBrokenImageMap:E.default,focusChildrenOfFocusableFlexbox:w.default,focusFieldsetDisabled:C.default,focusFieldset:I.default,focusFlexboxContainer:$.default,focusFormDisabled:S.default,focusImgIsmap:k.default,focusImgUsemapTabindex:L.default,focusInHiddenIframe:ae.default,focusInvalidTabindex:Qe.default,focusLabelTabindex:Ae.default,focusObjectSvg:ue.default,focusObjectSvgHidden:ct.default,focusRedirectImgUsemap:B.default,focusRedirectLegend:be.default,focusScrollBody:ft.default,focusScrollContainerWithoutOverflow:A.default,focusScrollContainer:ne.default,focusSummary:Xn.default,focusSvgFocusableAttribute:Yn.default,focusSvgTabindexAttribute:Nt.default,focusSvgNegativeTabindexAttribute:ei.default,focusSvgUseTabindex:Y.default,focusSvgForeignobjectTabindex:q.default,focusSvg:Ll.default,focusTabindexTrailingCharacters:$l.default,focusTable:Nl.default,focusVideoWithoutControls:Hl.default};function Vl(){var Fe=(0,n.default)(zl);return Object.keys(va).forEach(function(pa){Fe[pa]=va[pa]()}),Fe}var rt=null;r.exports=e.default})(vr,vr.exports);var me=vr.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(m){s||(s=(0,i.default)());var v=s.focusTabindexTrailingCharacters?u:l,c=(0,n.default)({label:"is/valid-tabindex",resolveDocument:!0,context:m}),h=c.hasAttribute("tabindex"),f=c.hasAttribute("tabIndex");if(!h&&!f)return!1;var d=c.ownerSVGElement||c.nodeName.toLowerCase()==="svg";if(d&&!s.focusSvgTabindexAttribute)return!1;if(s.focusInvalidTabindex)return!0;var p=c.getAttribute(h?"tabindex":"tabIndex");return p==="-32768"?!1:!!(p&&v.test(p))};var t=X,n=o(t),a=me,i=o(a);function o(m){return m&&m.__esModule?m:{default:m}}var s=void 0,l=/^\s*(-|\+)?[0-9]+\s*$/,u=/^\s*(-|\+)?[0-9]+.*$/;r.exports=e.default})(dr,dr.exports);var Ni=dr.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(i){if(!(0,n.default)(i))return null;var o=i.hasAttribute("tabindex"),s=o?"tabindex":"tabIndex",l=parseInt(i.getAttribute(s),10);return isNaN(l)?-1:l};var t=Ni,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(fr,fr.exports);var De=fr.exports,Pe={};Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.isUserModifyWritable=yo,Pe.hasCssOverflowScroll=qi,Pe.hasCssDisplayFlex=Eo,Pe.isScrollableContainer=wo;function yo(r){var e=r.webkitUserModify||"";return!!(e&&e.indexOf("write")!==-1)}function qi(r){return[r.getPropertyValue("overflow"),r.getPropertyValue("overflow-x"),r.getPropertyValue("overflow-y")].some(function(e){return e==="auto"||e==="scroll"})}function Eo(r){return r.display.indexOf("flex")>-1}function wo(r,e,t,n){return e!=="div"&&e!=="span"||t&&t!=="div"&&t!=="span"&&!qi(n)?!1:r.offsetHeight<r.scrollHeight||r.offsetWidth<r.scrollWidth}(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=st,n=d(t),a=X,i=d(a),o=Li,s=d(o),l=De,u=d(l),m=Ni,v=d(m),c=Pe,h=me,f=d(h);function d(w){return w&&w.__esModule?w:{default:w}}var p=void 0;function E(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},x=w.context,C=w.except,M=C===void 0?{flexbox:!1,scrollable:!1,shadow:!1}:C;p||(p=(0,f.default)());var I=(0,i.default)({label:"is/focus-relevant",resolveDocument:!0,context:x});if(!M.shadow&&I.shadowRoot)return!0;var D=I.nodeName.toLowerCase();if(D==="input"&&I.type==="hidden")return!1;if(D==="input"||D==="select"||D==="button"||D==="textarea"||D==="legend"&&p.focusRedirectLegend||D==="label"||D==="area"||D==="a"&&I.hasAttribute("href"))return!0;if(D==="object"&&I.hasAttribute("usemap"))return!1;if(D==="object"){var $=I.getAttribute("type");if(!p.focusObjectSvg&&$==="image/svg+xml")return!1;if(!p.focusObjectSwf&&$==="application/x-shockwave-flash")return!1}if(D==="iframe"||D==="object"||D==="embed"||D==="keygen"||I.hasAttribute("contenteditable")||D==="audio"&&(p.focusAudioWithoutControls||I.hasAttribute("controls"))||D==="video"&&(p.focusVideoWithoutControls||I.hasAttribute("controls"))||p.focusSummary&&D==="summary")return!0;var g=(0,v.default)(I);if(D==="img"&&I.hasAttribute("usemap"))return g&&p.focusImgUsemapTabindex||p.focusRedirectImgUsemap;if(p.focusTable&&(D==="table"||D==="td")||p.focusFieldset&&D==="fieldset")return!0;var S=D==="svg",O=I.ownerSVGElement,k=I.getAttribute("focusable"),H=(0,u.default)(I);if(D==="use"&&H!==null&&!p.focusSvgUseTabindex)return!1;if(D==="foreignobject")return H!==null&&p.focusSvgForeignobjectTabindex;if((0,s.default)(I,"svg a")&&I.hasAttribute("xlink:href"))return!0;if((S||O)&&I.focus&&!p.focusSvgNegativeTabindexAttribute&&H<0)return!1;if(S)return g||p.focusSvg||p.focusSvgInIframe||!!(p.focusSvgFocusableAttribute&&k&&k==="true");if(O){if(p.focusSvgTabindexAttribute&&g)return!0;if(p.focusSvgFocusableAttribute)return k==="true"}if(g)return!0;var L=window.getComputedStyle(I,null);if((0,c.isUserModifyWritable)(L))return!0;if(p.focusImgIsmap&&D==="img"&&I.hasAttribute("ismap")){var re=(0,n.default)({context:I}).some(function(ee){return ee.nodeName.toLowerCase()==="a"&&ee.hasAttribute("href")});if(re)return!0}if(!M.scrollable&&p.focusScrollContainer){if(p.focusScrollContainerWithoutOverflow){if((0,c.isScrollableContainer)(I,D))return!0}else if((0,c.hasCssOverflowScroll)(L))return!0}if(!M.flexbox&&p.focusFlexboxContainer&&(0,c.hasCssDisplayFlex)(L))return!0;var ae=I.parentElement;if(!M.scrollable&&ae){var le=ae.nodeName.toLowerCase(),K=window.getComputedStyle(ae,null);if(p.focusScrollBody&&(0,c.isScrollableContainer)(ae,D,le,K)||p.focusChildrenOfFocusableFlexbox&&(0,c.hasCssDisplayFlex)(K))return!0}return!1}E.except=function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},x=function(M){return E({context:M,except:w})};return x.rules=E,x};var _=E.except({});e.default=_,r.exports=e.default})(lr,lr.exports);var ln=lr.exports,un={exports:{}},cn={exports:{}},fn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t;function t(n,a){if(n.findIndex)return n.findIndex(a);var i=n.length;if(i===0)return-1;for(var o=0;o<i;o++)if(a(n[o],o,n))return o;return-1}r.exports=e.default})(fn,fn.exports);var Hi=fn.exports,dn={exports:{}},vn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){try{return t.contentDocument||t.contentWindow&&t.contentWindow.document||t.getSVGDocument&&t.getSVGDocument()||null}catch{return null}},r.exports=e.default})(vn,vn.exports);var So=vn.exports,pn={exports:{}},hn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t?t.nodeType===Node.DOCUMENT_NODE?t:t.ownerDocument||document:document},r.exports=e.default})(hn,hn.exports);var ke=hn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(i){var o=(0,n.default)(i);return o.defaultView||window};var t=ke,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(pn,pn.exports);var Co=pn.exports,mn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(o){if(typeof i!="string"){var s=(0,n.default)();s&&(i=", html "+s+" ")}return i?o+i+o.replace(/\s*,\s*/g,",").split(",").join(i):o};var t=Ri,n=a(t);function a(o){return o&&o.__esModule?o:{default:o}}var i=void 0;r.exports=e.default})(mn,mn.exports);var Bi=mn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=v;var t=So,n=l(t),a=Co,i=l(a),o=Bi,s=l(o);function l(c){return c&&c.__esModule?c:{default:c}}var u=void 0;function m(c){if(u||(u=(0,s.default)("object, iframe")),c._frameElement!==void 0)return c._frameElement;c._frameElement=null;var h=c.parent.document.querySelectorAll(u);return[].some.call(h,function(f){var d=(0,n.default)(f);return d!==c.document?!1:(c._frameElement=f,!0)}),c._frameElement}function v(c){var h=(0,i.default)(c);if(!h.parent||h.parent===h)return null;try{return h.frameElement||m(h)}catch{return null}}r.exports=e.default})(dn,dn.exports);var Dt=dn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Hi,n=m(t),a=st,i=m(a),o=X,s=m(o),l=Dt,u=m(l);function m(_){return _&&_.__esModule?_:{default:_}}var v=/^(area)$/;function c(_,w){return window.getComputedStyle(_,null).getPropertyValue(w)}function h(_){return _.some(function(w){return c(w,"display")==="none"})}function f(_){var w=(0,n.default)(_,function(C){var M=c(C,"visibility");return M==="hidden"||M==="collapse"});if(w===-1)return!1;var x=(0,n.default)(_,function(C){return c(C,"visibility")==="visible"});return x===-1||w<x}function d(_){var w=1;return _[0].nodeName.toLowerCase()==="summary"&&(w=2),_.slice(w).some(function(x){return x.nodeName.toLowerCase()==="details"&&x.open===!1})}function p(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=_.context,x=_.except,C=x===void 0?{notRendered:!1,cssDisplay:!1,cssVisibility:!1,detailsElement:!1,browsingContext:!1}:x,M=(0,s.default)({label:"is/visible",resolveDocument:!0,context:w}),I=M.nodeName.toLowerCase();if(!C.notRendered&&v.test(I))return!0;var D=(0,i.default)({context:M}),$=I==="audio"&&!M.hasAttribute("controls");if(!C.cssDisplay&&h($?D.slice(1):D)||!C.cssVisibility&&f(D)||!C.detailsElement&&d(D))return!1;if(!C.browsingContext){var g=(0,u.default)(M),S=p.except(C);if(g&&!S(g))return!1}return!0}p.except=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=function(C){return p({context:C,except:_})};return w.rules=p,w};var E=p.except({});e.default=E,r.exports=e.default})(cn,cn.exports);var Pt=cn.exports,Le={},Wi={exports:{}};/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */(function(r,e){(function(t,n){r.exports=n(t)})(He,function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var n=function(a){if(arguments.length==0)throw new TypeError("`CSS.escape` requires an argument.");for(var i=String(a),o=i.length,s=-1,l,u="",m=i.charCodeAt(0);++s<o;){if(l=i.charCodeAt(s),l==0){u+="�";continue}if(l>=1&&l<=31||l==127||s==0&&l>=48&&l<=57||s==1&&l>=48&&l<=57&&m==45){u+="\\"+l.toString(16)+" ";continue}if(s==0&&o==1&&l==45){u+="\\"+i.charAt(s);continue}if(l>=128||l==45||l==95||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122){u+=i.charAt(s);continue}u+="\\"+i.charAt(s)}return u};return t.CSS||(t.CSS={}),t.CSS.escape=n,n})})(Wi);var Oo=Wi.exports;Object.defineProperty(Le,"__esModule",{value:!0}),Le.getMapByName=Ui,Le.getMapOfImage=Mo,Le.getImageOfArea=Io;var Ao=Oo,zi=Ki(Ao),To=ke,Vi=Ki(To);function Ki(r){return r&&r.__esModule?r:{default:r}}function Ui(r,e){var t=e.querySelector('map[name="'+(0,zi.default)(r)+'"]');return t||null}function Mo(r){var e=r.getAttribute("usemap");if(!e)return null;var t=(0,Vi.default)(r);return Ui(e.slice(1),t)}function Io(r){var e=r.parentElement;if(!e.name||e.nodeName.toLowerCase()!=="map")return null;var t=(0,Vi.default)(r);return t.querySelector('img[usemap="#'+(0,zi.default)(e.name)+'"]')||null}(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(h){c||(c=(0,m.default)());var f=(0,n.default)({label:"is/valid-area",context:h}),d=f.nodeName.toLowerCase();if(d!=="area")return!1;var p=f.hasAttribute("tabindex");if(!c.focusAreaTabindex&&p)return!1;var E=(0,l.getImageOfArea)(f);if(!E||!(0,i.default)(E)||!c.focusBrokenImageMap&&(!E.complete||!E.naturalHeight||E.offsetWidth<=0||E.offsetHeight<=0))return!1;if(!c.focusAreaWithoutHref&&!f.href)return c.focusAreaTabindex&&p||c.focusAreaImgTabindex&&E.hasAttribute("tabindex");var _=(0,s.default)({context:E}).slice(1).some(function(w){var x=w.nodeName.toLowerCase();return x==="button"||x==="a"});return!_};var t=X,n=v(t),a=Pt,i=v(a),o=st,s=v(o),l=Le,u=me,m=v(u);function v(h){return h&&h.__esModule?h:{default:h}}var c=void 0;r.exports=e.default})(un,un.exports);var Do=un.exports,bn={exports:{}},gn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(m){s||(s=(0,i.default)(),s.focusFieldsetDisabled&&delete u.fieldset,s.focusFormDisabled&&delete u.form,l=new RegExp("^("+Object.keys(u).join("|")+")$"));var v=(0,n.default)({label:"is/native-disabled-supported",context:m}),c=v.nodeName.toLowerCase();return!!l.test(c)};var t=X,n=o(t),a=me,i=o(a);function o(m){return m&&m.__esModule?m:{default:m}}var s=void 0,l=void 0,u={input:!0,select:!0,textarea:!0,button:!0,fieldset:!0,form:!0};r.exports=e.default})(gn,gn.exports);var ji=gn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(f){v||(v=(0,u.default)());var d=(0,n.default)({label:"is/disabled",context:f});if(d.hasAttribute("data-ally-disabled"))return!0;if(!(0,s.default)(d))return!1;if(d.disabled)return!0;var p=(0,i.default)({context:d});return!!(p.some(c)||!v.focusFormDisabled&&p.some(h))};var t=X,n=m(t),a=st,i=m(a),o=ji,s=m(o),l=me,u=m(l);function m(f){return f&&f.__esModule?f:{default:f}}var v=void 0;function c(f){var d=f.nodeName.toLowerCase();return d==="fieldset"&&f.disabled}function h(f){var d=f.nodeName.toLowerCase();return d==="form"&&f.disabled}r.exports=e.default})(bn,bn.exports);var Po=bn.exports,xn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Pt,n=c(t),a=X,i=c(a),o=Dt,s=c(o),l=De,u=c(l),m=de,v=c(m);function c(d){return d&&d.__esModule?d:{default:d}}function h(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=d.context,E=d.except,_=E===void 0?{onlyFocusableBrowsingContext:!1,visible:!1}:E,w=(0,i.default)({label:"is/only-tabbable",resolveDocument:!0,context:p});if(!_.visible&&!(0,n.default)(w))return!1;if(!_.onlyFocusableBrowsingContext&&(v.default.is.GECKO||v.default.is.TRIDENT||v.default.is.EDGE)){var x=(0,s.default)(w);if(x&&(0,u.default)(x)<0)return!1}var C=w.nodeName.toLowerCase(),M=(0,u.default)(w);return C==="label"&&v.default.is.GECKO?M!==null&&M>=0:!!(v.default.is.GECKO&&w.ownerSVGElement&&!w.focus&&C==="a"&&w.hasAttribute("xlink:href")&&v.default.is.GECKO)}h.except=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=function(_){return h({context:_,except:d})};return p.rules=h,p};var f=h.except({});e.default=f,r.exports=e.default})(xn,xn.exports);var ko=xn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=ln,n=x(t),a=Do,i=x(a),o=Pt,s=x(o),l=Po,u=x(l),m=ko,v=x(m),c=X,h=x(c),f=Dt,d=x(f),p=De,E=x(p),_=me,w=x(_);function x($){return $&&$.__esModule?$:{default:$}}var C=void 0;function M($){var g=$.nodeName.toLowerCase();if(g==="embed"||g==="keygen")return!0;var S=(0,E.default)($);if($.shadowRoot&&S===null)return!0;if(g==="label")return!C.focusLabelTabindex||S===null;if(g==="legend")return S===null;if(C.focusSvgFocusableAttribute&&($.ownerSVGElement||g==="svg")){var O=$.getAttribute("focusable");return O&&O==="false"}return g==="img"&&$.hasAttribute("usemap")?S===null||!C.focusImgUsemapTabindex:g==="area"?!(0,i.default)($):!1}function I(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=$.context,S=$.except,O=S===void 0?{disabled:!1,visible:!1,onlyTabbable:!1}:S;C||(C=(0,w.default)());var k=v.default.rules.except({onlyFocusableBrowsingContext:!0,visible:O.visible}),H=(0,h.default)({label:"is/focusable",resolveDocument:!0,context:g}),L=n.default.rules({context:H,except:O});if(!L||M(H)||!O.disabled&&(0,u.default)(H)||!O.onlyTabbable&&k(H))return!1;if(!O.visible){var re={context:H,except:{}};if(C.focusInHiddenIframe&&(re.except.browsingContext=!0),C.focusObjectSvgHidden){var ae=H.nodeName.toLowerCase();ae==="object"&&(re.except.cssVisibility=!0)}if(!s.default.rules(re))return!1}var le=(0,d.default)(H);if(le){var K=le.nodeName.toLowerCase();if(K==="object"&&!C.focusInZeroDimensionObject&&(!le.offsetWidth||!le.offsetHeight))return!1}var ee=H.nodeName.toLowerCase();return!(ee==="svg"&&C.focusSvgInIframe&&!le&&H.getAttribute("tabindex")===null)}I.except=function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=function(O){return I({context:O,except:$})};return g.rules=I,g};var D=I.except({});e.default=D,r.exports=e.default})(or,or.exports);var Gi=or.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=v;var t=Gi,n=l(t),a=ln,i=l(a),o=ke,s=l(o);function l(c){return c&&c.__esModule?c:{default:c}}function u(c){var h=function(d){return d.shadowRoot||c(d)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP};return h.acceptNode=h,h}var m=u(i.default);function v(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},h=c.context,f=c.includeContext,d=c.includeOnlyTabbable,p=c.strategy;h||(h=document.documentElement);for(var E=n.default.rules.except({onlyTabbable:d}),_=(0,s.default)(h),w=_.createTreeWalker(h,NodeFilter.SHOW_ELEMENT,p==="all"?m:u(E),!1),x=[];w.nextNode();)w.currentNode.shadowRoot?(E(w.currentNode)&&x.push(w.currentNode),x=x.concat(v({context:w.currentNode.shadowRoot,includeOnlyTabbable:d,strategy:p}))):x.push(w.currentNode);return f&&(p==="all"?(0,i.default)(h)&&x.unshift(h):E(h)&&x.unshift(h)),x}r.exports=e.default})(sr,sr.exports);var Lo=sr.exports,_n={exports:{}},yn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return s||(s=(0,i.default)()),typeof l=="string"||(l=(s.focusTable?"table, td,":"")+(s.focusFieldset?"fieldset,":"")+"svg a,a[href],area[href],input, select, textarea, button,iframe, object, embed,keygen,"+(s.focusAudioWithoutControls?"audio,":"audio[controls],")+(s.focusVideoWithoutControls?"video,":"video[controls],")+(s.focusSummary?"summary,":"")+"[tabindex],[contenteditable]",l=(0,n.default)(l)),l};var t=Bi,n=o(t),a=me,i=o(a);function o(u){return u&&u.__esModule?u:{default:u}}var s=void 0,l=void 0;r.exports=e.default})(yn,yn.exports);var Ro=yn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=s;var t=Ro,n=o(t),a=Gi,i=o(a);function o(l){return l&&l.__esModule?l:{default:l}}function s(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=l.context,m=l.includeContext,v=l.includeOnlyTabbable,c=(0,n.default)(),h=u.querySelectorAll(c),f=i.default.rules.except({onlyTabbable:v}),d=[].filter.call(h,f);return m&&f(u)&&d.unshift(u),d}r.exports=e.default})(_n,_n.exports);var $o=_n.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=u.context,v=u.includeContext,c=u.includeOnlyTabbable,h=u.strategy,f=h===void 0?"quick":h,d=(0,n.default)({label:"query/focusable",resolveDocument:!0,defaultToDocument:!0,context:m}),p={context:d,includeContext:v,includeOnlyTabbable:c,strategy:f};if(f==="quick")return(0,s.default)(p);if(f==="strict"||f==="all")return(0,i.default)(p);throw new TypeError('query/focusable requires option.strategy to be one of ["quick", "strict", "all"]')};var t=X,n=l(t),a=Lo,i=l(a),o=$o,s=l(o);function l(u){return u&&u.__esModule?u:{default:u}}r.exports=e.default})(ir,ir.exports);var Xi=ir.exports,En={exports:{}},wn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.element,a=t.attribute,i="data-cached-"+a,o=n.getAttribute(i);if(o===null){var s=n.getAttribute(a);if(s===null)return;n.setAttribute(i,s||""),n.removeAttribute(a)}else{var l=n.getAttribute(i);n.removeAttribute(i),n.setAttribute(a,l)}},r.exports=e.default})(wn,wn.exports);var Fo=wn.exports,Sn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var n=t.element,a=t.attribute,i=t.temporaryValue,o=t.saveValue,s="data-cached-"+a;if(i!==void 0){var l=o||n.getAttribute(a);n.setAttribute(s,l||""),n.setAttribute(a,i)}else{var u=n.getAttribute(s);n.removeAttribute(s),u===""?n.removeAttribute(a):n.setAttribute(a,u)}},r.exports=e.default})(Sn,Sn.exports);var Zi=Sn.exports,Cn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(){},n={log:t,debug:t,info:t,warn:t,error:t};e.default=typeof console<"u"?console:n,r.exports=e.default})(Cn,Cn.exports);var No=Cn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(S,O){E||(E=(0,d.default)());var k=(0,n.default)({label:"element/disabled",context:S});O=!!O;var H=k.hasAttribute("data-ally-disabled"),L=arguments.length===1;return(0,s.default)(k)?L?k.disabled:(k.disabled=O,k):L?H:(H===O||g(k,O),k)};var t=X,n=p(t),a=De,i=p(a),o=ji,s=p(o),l=Fo,u=p(l),m=Zi,v=p(m),c=No,h=p(c),f=me,d=p(f);function p(S){return S&&S.__esModule?S:{default:S}}var E=void 0;function _(){h.default.warn("trying to focus inert element",this)}function w(S,O){if(O){var k=(0,i.default)(S);(0,v.default)({element:S,attribute:"tabindex",temporaryValue:"-1",saveValue:k!==null?k:""})}else(0,v.default)({element:S,attribute:"tabindex"})}function x(S,O){(0,u.default)({element:S,attribute:"controls",remove:O})}function C(S,O){(0,v.default)({element:S,attribute:"focusable",temporaryValue:O?"false":void 0})}function M(S,O){(0,u.default)({element:S,attribute:"xlink:href",remove:O})}function I(S,O){(0,v.default)({element:S,attribute:"aria-disabled",temporaryValue:O?"true":void 0})}function D(S,O){O?S.focus=_:delete S.focus}function $(S,O){if(O){var k=S.style.pointerEvents||"";S.setAttribute("data-inert-pointer-events",k),S.style.pointerEvents="none"}else{var H=S.getAttribute("data-inert-pointer-events");S.removeAttribute("data-inert-pointer-events"),S.style.pointerEvents=H}}function g(S,O){I(S,O),w(S,O),D(S,O),$(S,O);var k=S.nodeName.toLowerCase();(k==="video"||k==="audio")&&x(S,O),(k==="svg"||S.ownerSVGElement)&&(E.focusSvgFocusableAttribute?C(S,O):!E.focusSvgTabindexAttribute&&k==="a"&&M(S,O)),O?S.setAttribute("data-ally-disabled","true"):S.removeAttribute("data-ally-disabled")}r.exports=e.default})(En,En.exports);var qo=En.exports,On={exports:{}},An={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var t=X,n=o(t),a=ke,i=o(a);function o(u){return u&&u.__esModule?u:{default:u}}var s=function(m){return m.shadowRoot?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP};s.acceptNode=s;function l(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=u.context,v=(0,n.default)({label:"query/shadow-hosts",resolveDocument:!0,defaultToDocument:!0,context:m}),c=(0,i.default)(m),h=c.createTreeWalker(v,NodeFilter.SHOW_ELEMENT,s,!1),f=[];for(v.shadowRoot&&(f.push(v),f=f.concat(l({context:v.shadowRoot})));h.nextNode();)f.push(h.currentNode),f=f.concat(l({context:h.currentNode.shadowRoot}));return f}r.exports=e.default})(An,An.exports);var Ho=An.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(f){return typeof f}:function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},n=function(){function f(d,p){for(var E=0;E<p.length;E++){var _=p[E];_.enumerable=_.enumerable||!1,_.configurable=!0,"value"in _&&(_.writable=!0),Object.defineProperty(d,_.key,_)}}return function(d,p,E){return p&&f(d.prototype,p),E&&f(d,E),d}}();e.default=function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=f.context,p=f.callback,E=f.config;if(typeof p!="function")throw new TypeError("observe/shadow-mutations requires options.callback to be a function");if((typeof E>"u"?"undefined":t(E))!=="object")throw new TypeError("observe/shadow-mutations requires options.config to be an object");if(!window.MutationObserver)return{disengage:function(){}};var _=(0,u.default)({label:"observe/shadow-mutations",resolveDocument:!0,defaultToDocument:!0,context:d}),w=new h({context:_,callback:p,config:E});return{disengage:w.disengage}};var a=Se,i=m(a),o=Ho,s=m(o),l=X,u=m(l);function m(f){return f&&f.__esModule?f:{default:f}}function v(f,d){if(!(f instanceof d))throw new TypeError("Cannot call a class as a function")}var c={childList:!0,subtree:!0},h=function(){function f(){var d=this,p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=p.context,_=p.callback,w=p.config;v(this,f),this.config=w,this.disengage=this.disengage.bind(this),this.clientObserver=new MutationObserver(_),this.hostObserver=new MutationObserver(function(x){return x.forEach(d.handleHostMutation,d)}),this.observeContext(E),this.observeShadowHosts(E)}return n(f,[{key:"disengage",value:function(){this.clientObserver&&this.clientObserver.disconnect(),this.clientObserver=null,this.hostObserver&&this.hostObserver.disconnect(),this.hostObserver=null}},{key:"observeShadowHosts",value:function(p){var E=this,_=(0,s.default)({context:p});_.forEach(function(w){return E.observeContext(w.shadowRoot)})}},{key:"observeContext",value:function(p){this.clientObserver.observe(p,this.config),this.hostObserver.observe(p,c)}},{key:"handleHostMutation",value:function(p){if(p.type==="childList"){var E=(0,i.default)(p.addedNodes).filter(function(_){return _.nodeType===Node.ELEMENT_NODE});E.forEach(this.observeShadowHosts,this)}}}]),f}();r.exports=e.default})(On,On.exports);var Bo=On.exports,Be={};Object.defineProperty(Be,"__esModule",{value:!0}),Be.getParentComparator=Wo;function Wo(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=r.parent,t=r.element,n=r.includeSelf;if(e)return function(i){return!!(n&&i===e||e.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)};if(t)return function(i){return!!(n&&t===i||i.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)};throw new TypeError("util/compare-position#getParentComparator required either options.parent or options.element")}(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function _(w,x){for(var C=0;C<x.length;C++){var M=x[C];M.enumerable=M.enumerable||!1,M.configurable=!0,"value"in M&&(M.writable=!0),Object.defineProperty(w,M.key,M)}}return function(w,x,C){return x&&_(w.prototype,x),C&&_(w,C),w}}();e.default=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=_.context,x=_.filter,C=new E({context:w,filter:x});return{disengage:C.disengage}};var n=Se,a=c(n),i=Xi,o=c(i),s=qo,l=c(s),u=Bo,m=c(u),v=Be;function c(_){return _&&_.__esModule?_:{default:_}}function h(_,w){if(!(_ instanceof w))throw new TypeError("Cannot call a class as a function")}function f(_){return(0,l.default)(_,!0)}function d(_){return(0,l.default)(_,!1)}var p={attributes:!0,childList:!0,subtree:!0,attributeFilter:["tabindex","disabled","data-ally-disabled"]},E=function(){function _(){var w=this,x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=x.context,M=x.filter;h(this,_),this._context=(0,a.default)(C||document.documentElement)[0],this._filter=(0,a.default)(M),this._inertElementCache=[],this.disengage=this.disengage.bind(this),this.handleMutation=this.handleMutation.bind(this),this.renderInert=this.renderInert.bind(this),this.filterElements=this.filterElements.bind(this),this.filterParentElements=this.filterParentElements.bind(this);var I=(0,o.default)({context:this._context,includeContext:!0,strategy:"all"});this.renderInert(I),this.shadowObserver=(0,m.default)({context:this._context,config:p,callback:function($){return $.forEach(w.handleMutation)}})}return t(_,[{key:"disengage",value:function(){this._context&&(d(this._context),this._inertElementCache.forEach(function(x){return d(x)}),this._inertElementCache=null,this._filter=null,this._context=null,this.shadowObserver&&this.shadowObserver.disengage(),this.shadowObserver=null)}},{key:"listQueryFocusable",value:function(x){return x.map(function(C){return(0,o.default)({context:C,includeContext:!0,strategy:"all"})}).reduce(function(C,M){return C.concat(M)},[])}},{key:"renderInert",value:function(x){var C=this,M=function(D){C._inertElementCache.push(D),f(D)};x.filter(this.filterElements).filter(this.filterParentElements).filter(function(I){return!(0,l.default)(I)}).forEach(M)}},{key:"filterElements",value:function(x){var C=(0,v.getParentComparator)({element:x,includeSelf:!0});return!this._filter.some(C)}},{key:"filterParentElements",value:function(x){var C=(0,v.getParentComparator)({parent:x});return!this._filter.some(C)}},{key:"handleMutation",value:function(x){if(x.type==="childList"){var C=(0,a.default)(x.addedNodes).filter(function(I){return I.nodeType===Node.ELEMENT_NODE});if(!C.length)return;var M=this.listQueryFocusable(C);this.renderInert(M)}else x.type==="attributes"&&this.renderInert([x.target])}}]),_}();r.exports=e.default})(rr,rr.exports);var zo=rr.exports,Tn={exports:{}},Mn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=v.context,h=v.filter;if(c=(0,n.default)({label:"get/insignificant-branches",defaultToDocument:!0,context:c}),h=(0,i.default)(h),!h.length)throw new TypeError("get/insignificant-branches requires valid options.filter");return m({context:c,filter:h})};var t=X,n=u(t),a=Se,i=u(a),o=Be,s=ke,l=u(s);function u(v){return v&&v.__esModule?v:{default:v}}function m(v){var c=v.context,h=v.filter,f=function(x){var C=(0,o.getParentComparator)({parent:x});return h.some(C)},d=[],p=function(x){return h.some(function(C){return x===C})?NodeFilter.FILTER_REJECT:f(x)?NodeFilter.FILTER_ACCEPT:(d.push(x),NodeFilter.FILTER_REJECT)};p.acceptNode=p;for(var E=(0,l.default)(c),_=E.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,p,!1);_.nextNode(););return d}r.exports=e.default})(Mn,Mn.exports);var Vo=Mn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function _(w,x){for(var C=0;C<x.length;C++){var M=x[C];M.enumerable=M.enumerable||!1,M.configurable=!0,"value"in M&&(M.writable=!0),Object.defineProperty(w,M.key,M)}}return function(w,x,C){return x&&_(w.prototype,x),C&&_(w,C),w}}();e.default=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=_.context,x=_.filter,C=new E({context:w,filter:x});return{disengage:C.disengage}};var n=Se,a=c(n),i=Vo,o=c(i),s=st,l=c(s),u=Zi,m=c(u),v=Be;function c(_){return _&&_.__esModule?_:{default:_}}function h(_,w){if(!(_ instanceof w))throw new TypeError("Cannot call a class as a function")}function f(_){(0,m.default)({element:_,attribute:"aria-hidden",temporaryValue:"true"})}function d(_){(0,m.default)({element:_,attribute:"aria-hidden"})}var p={attributes:!1,childList:!0,subtree:!0},E=function(){function _(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},x=w.context,C=w.filter;h(this,_),this._context=(0,a.default)(x||document.documentElement)[0],this._filter=(0,a.default)(C),this.disengage=this.disengage.bind(this),this.handleMutation=this.handleMutation.bind(this),this.isInsignificantBranch=this.isInsignificantBranch.bind(this);var M=(0,o.default)({context:this._context,filter:this._filter});M.forEach(f),this.startObserver()}return t(_,[{key:"disengage",value:function(){this._context&&([].forEach.call(this._context.querySelectorAll("[data-cached-aria-hidden]"),d),this._context=null,this._filter=null,this._observer&&this._observer.disconnect(),this._observer=null)}},{key:"startObserver",value:function(){var x=this;window.MutationObserver&&(this._observer=new MutationObserver(function(C){return C.forEach(x.handleMutation)}),this._observer.observe(this._context,p))}},{key:"handleMutation",value:function(x){x.type==="childList"&&(0,a.default)(x.addedNodes).filter(function(C){return C.nodeType===Node.ELEMENT_NODE}).filter(this.isInsignificantBranch).forEach(f)}},{key:"isInsignificantBranch",value:function(x){var C=(0,l.default)({context:x});if(C.some(function(I){return I.getAttribute("aria-hidden")==="true"}))return!1;var M=(0,v.getParentComparator)({element:x});return!this._filter.some(M)}}]),_}();r.exports=e.default})(Tn,Tn.exports);var Ko=Tn.exports,In={exports:{}},Dn={exports:{}},Pn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){for(var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=i.context,s=(0,n.default)({label:"get/shadow-host",context:o}),l=null;s;)l=s,s=s.parentNode;return l.nodeType===l.DOCUMENT_FRAGMENT_NODE&&l.host?l.host:null};var t=X,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(Pn,Pn.exports);var Yi=Pn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(u){var m=(0,n.default)({label:"is/active-element",resolveDocument:!0,context:u}),v=(0,s.default)(m);if(v.activeElement===m)return!0;var c=(0,i.default)({context:m});return!!(c&&c.shadowRoot.activeElement===m)};var t=X,n=l(t),a=Yi,i=l(a),o=ke,s=l(o);function l(u){return u&&u.__esModule?u:{default:u}}r.exports=e.default})(Dn,Dn.exports);var Uo=Dn.exports,kn={exports:{}},Ln={exports:{}},Rn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=Pt,n=x(t),a=X,i=x(a),o=Li,s=x(o),l=De,u=x(l),m=ln,v=x(m),c=Dt,h=x(c),f=de,d=x(f),p=Le,E=Pe,_=me,w=x(_);function x(S){return S&&S.__esModule?S:{default:S}}var C=void 0,M=/^(fieldset|table|td|body)$/;function I(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=S.context,k=S.except,H=k===void 0?{flexbox:!1,scrollable:!1,shadow:!1,visible:!1,onlyTabbable:!1}:k;C||(C=(0,w.default)());var L=(0,i.default)({label:"is/tabbable",resolveDocument:!0,context:O});if(d.default.is.BLINK&&d.default.is.ANDROID&&d.default.majorVersion>42)return!1;var re=(0,h.default)(L);if(re){if(d.default.is.WEBKIT&&d.default.is.IOS||(0,u.default)(re)<0||!H.visible&&(d.default.is.BLINK||d.default.is.WEBKIT)&&!(0,n.default)(re))return!1;var ae=re.nodeName.toLowerCase();if(ae==="object"){var le=d.default.name==="Chrome"&&d.default.majorVersion>=54||d.default.name==="Opera"&&d.default.majorVersion>=41;if(d.default.is.WEBKIT||d.default.is.BLINK&&!le)return!1}}var K=L.nodeName.toLowerCase(),ee=(0,u.default)(L),Qe=ee===null?null:ee>=0;if(d.default.is.EDGE&&d.default.majorVersion>=14&&re&&L.ownerSVGElement&&ee<0)return!0;var ce=Qe!==!1,Ae=ee!==null&&ee>=0;if(L.hasAttribute("contenteditable"))return ce;if(M.test(K)&&Qe!==!0)return!1;if(d.default.is.WEBKIT&&d.default.is.IOS){var $e=K==="input"&&L.type==="text"||L.type==="password"||K==="select"||K==="textarea"||L.hasAttribute("contenteditable");if(!$e){var ct=window.getComputedStyle(L,null);$e=(0,E.isUserModifyWritable)(ct)}if(!$e)return!1}if(K==="use"&&ee!==null&&(d.default.is.BLINK||d.default.is.WEBKIT&&d.default.majorVersion===9)||(0,s.default)(L,"svg a")&&L.hasAttribute("xlink:href")&&(ce||L.focus&&!C.focusSvgNegativeTabindexAttribute)||K==="svg"&&C.focusSvgInIframe&&ce)return!0;if(d.default.is.TRIDENT||d.default.is.EDGE){if(K==="svg")return C.focusSvg?!0:L.hasAttribute("focusable")||Ae;if(L.ownerSVGElement)return C.focusSvgTabindexAttribute&&Ae?!0:L.hasAttribute("focusable")}if(L.tabIndex===void 0)return!!H.onlyTabbable;if(K==="audio")if(L.hasAttribute("controls")){if(d.default.is.BLINK)return!0}else return!1;if(K==="video"){if(L.hasAttribute("controls")){if(d.default.is.BLINK||d.default.is.GECKO)return!0}else if(d.default.is.TRIDENT||d.default.is.EDGE)return!1}if(K==="object"&&(d.default.is.BLINK||d.default.is.WEBKIT)||K==="iframe")return!1;if(!H.scrollable&&d.default.is.GECKO){var et=window.getComputedStyle(L,null);if((0,E.hasCssOverflowScroll)(et))return ce}if(d.default.is.TRIDENT||d.default.is.EDGE){if(K==="area"){var ue=(0,p.getImageOfArea)(L);if(ue&&(0,u.default)(ue)<0)return!1}var we=window.getComputedStyle(L,null);if((0,E.isUserModifyWritable)(we))return L.tabIndex>=0;if(!H.flexbox&&(0,E.hasCssDisplayFlex)(we))return ee!==null?Ae:D(L)&&$(L);if((0,E.isScrollableContainer)(L,K))return!1;var b=L.parentElement;if(b){var Te=b.nodeName.toLowerCase(),B=window.getComputedStyle(b,null);if((0,E.isScrollableContainer)(b,K,Te,B))return!1;if((0,E.hasCssDisplayFlex)(B))return Ae}}return L.tabIndex>=0}I.except=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=function(H){return I({context:H,except:S})};return O.rules=I,O};var D=v.default.rules.except({flexbox:!0}),$=I.except({flexbox:!0}),g=I.except({});e.default=g,r.exports=e.default})(Rn,Rn.exports);var jo=Rn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=s.context,u=s.includeContext,m=s.includeOnlyTabbable,v=s.strategy,c=i.default.rules.except({onlyTabbable:m});return(0,n.default)({context:l,includeContext:u,includeOnlyTabbable:m,strategy:v}).filter(c)};var t=Xi,n=o(t),a=jo,i=o(a);function o(s){return s&&s.__esModule?s:{default:s}}r.exports=e.default})(Ln,Ln.exports);var Ji=Ln.exports,$n={exports:{}},Fn={exports:{}},Nn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){return n.sort(t)};function t(n,a){return n.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}r.exports=e.default})(Nn,Nn.exports);var Go=Nn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},h=c.list,f=c.elements,d=c.resolveElement,p=h.slice(0),E=(0,i.default)(f).slice(0);(0,s.default)(E);var _=m(p,E,d);return v(p,_),p};var t=Hi,n=l(t),a=Se,i=l(a),o=Go,s=l(o);function l(c){return c&&c.__esModule?c:{default:c}}function u(c,h){return(0,n.default)(c,function(f){return h.compareDocumentPosition(f)&Node.DOCUMENT_POSITION_FOLLOWING})}function m(c,h,f){var d=[];return h.forEach(function(p){var E=!0,_=c.indexOf(p);_===-1&&(_=u(c,p),E=!1),_===-1&&(_=c.length);var w=(0,i.default)(f?f(p):p);w.length&&d.push({offset:_,replace:E,elements:w})}),d}function v(c,h){var f=0;h.sort(function(d,p){return d.offset-p.offset}),h.forEach(function(d){var p=d.replace?1:0,E=[d.offset+f,p].concat(d.elements);c.splice.apply(c,E),f+=d.elements.length-p})}r.exports=e.default})(Fn,Fn.exports);var Qi=Fn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function h(f,d){for(var p=0;p<d.length;p++){var E=d[p];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(f,E.key,E)}}return function(f,d,p){return d&&h(f.prototype,d),p&&h(f,p),f}}();e.default=function(h,f){var d=f.querySelectorAll("img[usemap]"),p=new c(f),E=p.extractAreasFromList(h);return d.length?(0,o.default)({list:E,elements:d,resolveElement:function(w){var x=w.getAttribute("usemap").slice(1);return p.getAreasFor(x)}}):E};var n=Ji,a=m(n),i=Qi,o=m(i),s=ke,l=m(s),u=Le;function m(h){return h&&h.__esModule?h:{default:h}}function v(h,f){if(!(h instanceof f))throw new TypeError("Cannot call a class as a function")}var c=function(){function h(f){v(this,h),this._document=(0,l.default)(f),this.maps={}}return t(h,[{key:"getAreasFor",value:function(d){return this.maps[d]||this.addMapByName(d),this.maps[d]}},{key:"addMapByName",value:function(d){var p=(0,u.getMapByName)(d,this._document);p&&(this.maps[p.name]=(0,a.default)({context:p}))}},{key:"extractAreasFromList",value:function(d){return d.filter(function(p){var E=p.nodeName.toLowerCase();if(E!=="area")return!0;var _=p.parentNode;return this.maps[_.name]||(this.maps[_.name]=[]),this.maps[_.name].push(p),!1},this)}}]),h}();r.exports=e.default})($n,$n.exports);var Xo=$n.exports,qn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(){function c(h,f){for(var d=0;d<f.length;d++){var p=f[d];p.enumerable=p.enumerable||!1,p.configurable=!0,"value"in p&&(p.writable=!0),Object.defineProperty(h,p.key,p)}}return function(h,f,d){return f&&c(h.prototype,f),d&&c(h,d),h}}();e.default=function(c,h,f){var d=new v(h,f),p=d.extractElements(c);return p.length===c.length?f(c):d.sort(p)};var n=Yi,a=u(n),i=Qi,o=u(i),s=De,l=u(s);function u(c){return c&&c.__esModule?c:{default:c}}function m(c,h){if(!(c instanceof h))throw new TypeError("Cannot call a class as a function")}var v=function(){function c(h,f){m(this,c),this.context=h,this.sortElements=f,this.hostCounter=1,this.inHost={},this.inDocument=[],this.hosts={},this.elements={}}return t(c,[{key:"_registerHost",value:function(f){if(!f._sortingId){f._sortingId="shadow-"+this.hostCounter++,this.hosts[f._sortingId]=f;var d=(0,a.default)({context:f});d?(this._registerHost(d),this._registerHostParent(f,d)):this.inDocument.push(f)}}},{key:"_registerHostParent",value:function(f,d){this.inHost[d._sortingId]||(this.inHost[d._sortingId]=[]),this.inHost[d._sortingId].push(f)}},{key:"_registerElement",value:function(f,d){this.elements[d._sortingId]||(this.elements[d._sortingId]=[]),this.elements[d._sortingId].push(f)}},{key:"extractElements",value:function(f){return f.filter(function(d){var p=(0,a.default)({context:d});return p?(this._registerHost(p),this._registerElement(d,p),!1):!0},this)}},{key:"sort",value:function(f){var d=this._injectHosts(f);return d=this._replaceHosts(d),this._cleanup(),d}},{key:"_injectHosts",value:function(f){return Object.keys(this.hosts).forEach(function(d){var p=this.elements[d],E=this.inHost[d],_=this.hosts[d].shadowRoot;this.elements[d]=this._merge(p,E,_)},this),this._merge(f,this.inDocument,this.context)}},{key:"_merge",value:function(f,d,p){var E=(0,o.default)({list:f,elements:d});return this.sortElements(E,p)}},{key:"_replaceHosts",value:function(f){return(0,o.default)({list:f,elements:this.inDocument,resolveElement:this._resolveHostElement.bind(this)})}},{key:"_resolveHostElement",value:function(f){var d=(0,o.default)({list:this.elements[f._sortingId],elements:this.inHost[f._sortingId],resolveElement:this._resolveHostElement.bind(this)}),p=(0,l.default)(f);return p!==null&&p>-1?[f].concat(d):d}},{key:"_cleanup",value:function(){Object.keys(this.hosts).forEach(function(f){delete this.hosts[f]._sortingId},this)}}]),c}();r.exports=e.default})(qn,qn.exports);var Zo=qn.exports,Hn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(i){var o={},s=[],l=i.filter(function(m){var v=m.tabIndex;return v===void 0&&(v=(0,n.default)(m)),v<=0||v===null||v===void 0?!0:(o[v]||(o[v]=[],s.push(v)),o[v].push(m),!1)}),u=s.sort().map(function(m){return o[m]}).reduceRight(function(m,v){return v.concat(m)},l);return u};var t=De,n=a(t);function a(i){return i&&i.__esModule?i:{default:i}}r.exports=e.default})(Hn,Hn.exports);var Yo=Hn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=x.context,M=x.includeContext,I=x.includeOnlyTabbable,D=x.strategy;E||(E=(0,d.default)());var $=(0,i.default)(C)[0]||document.documentElement,g=(0,n.default)({context:$,includeContext:M,includeOnlyTabbable:I,strategy:D});return document.body.createShadowRoot&&s.default.is.BLINK?g=(0,v.default)(g,$,w):g=w(g,$),M&&(g=_(g,$)),g};var t=Ji,n=p(t),a=Se,i=p(a),o=de,s=p(o),l=Xo,u=p(l),m=Zo,v=p(m),c=Yo,h=p(c),f=me,d=p(f);function p(x){return x&&x.__esModule?x:{default:x}}var E=void 0;function _(x,C){var M=x.indexOf(C);if(M>0){var I=x.splice(M,1);return I.concat(x)}return x}function w(x,C){return E.tabsequenceAreaAtImgPosition&&(x=(0,u.default)(x,C)),x=(0,h.default)(x),x}r.exports=e.default})(kn,kn.exports);var Jo=kn.exports,Bn={exports:{}},Wn={exports:{}},zn={exports:{}};(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});for(var t={tab:9,left:37,up:38,right:39,down:40,pageUp:33,"page-up":33,pageDown:34,"page-down":34,end:35,home:36,enter:13,escape:27,space:32,shift:16,capsLock:20,"caps-lock":20,ctrl:17,alt:18,meta:91,pause:19,insert:45,delete:46,backspace:8,_alias:{91:[92,93,224]}},n=1;n<26;n++)t["f"+n]=n+111;for(var a=0;a<10;a++){var i=a+48,o=a+96;t[a]=i,t["num-"+a]=o,t._alias[i]=[o]}for(var s=0;s<26;s++){var l=s+65,u=String.fromCharCode(l).toLowerCase();t[u]=l}e.default=t,r.exports=e.default})(zn,zn.exports);var Qo=zn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(v){return v.split(/\s+/).map(function(c){var h=c.split("+"),f=l(h.slice(0,-1)),d=u(h.slice(-1));return{keyCodes:d,modifiers:f,matchModifiers:m.bind(null,f)}})};var t=Qo,n=a(t);function a(v){return v&&v.__esModule?v:{default:v}}var i={alt:"altKey",ctrl:"ctrlKey",meta:"metaKey",shift:"shiftKey"},o=Object.keys(i).map(function(v){return i[v]});function s(v){var c=v?null:!1;return{altKey:c,ctrlKey:c,metaKey:c,shiftKey:c}}function l(v){var c=v.indexOf("*")!==-1,h=s(c);return v.forEach(function(f){if(f!=="*"){var d=!0,p=f.slice(0,1);p==="?"?d=null:p==="!"&&(d=!1),d!==!0&&(f=f.slice(1));var E=i[f];if(!E)throw new TypeError('Unknown modifier "'+f+'"');h[E]=d}}),h}function u(v){var c=n.default[v]||parseInt(v,10);if(!c||typeof c!="number"||isNaN(c))throw new TypeError('Unknown key "'+v+'"');return[c].concat(n.default._alias[c]||[])}function m(v,c){return!o.some(function(h){return typeof v[h]=="boolean"&&!!c[h]!==v[h]})}r.exports=e.default})(Wn,Wn.exports);var el=Wn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u={},m=(0,i.default)(l.context)[0]||document.documentElement;delete l.context;var v=(0,i.default)(l.filter);delete l.filter;var c=Object.keys(l);if(!c.length)throw new TypeError("when/key requires at least one option key");var h=function(E){E.keyCodes.forEach(function(_){u[_]||(u[_]=[]),u[_].push(E)})};c.forEach(function(p){if(typeof l[p]!="function")throw new TypeError('when/key requires option["'+p+'"] to be a function');var E=function(w){return w.callback=l[p],w};(0,n.default)(p).map(E).forEach(h)});var f=function(E){if(!E.defaultPrevented){if(v.length){var _=(0,o.getParentComparator)({element:E.target,includeSelf:!0});if(v.some(_))return}var w=E.keyCode||E.which;u[w]&&u[w].forEach(function(x){x.matchModifiers(E)&&x.callback.call(m,E,d)})}};m.addEventListener("keydown",f,!1);var d=function(){m.removeEventListener("keydown",f,!1)};return{disengage:d}};var t=el,n=s(t),a=Se,i=s(a),o=Be;function s(l){return l&&l.__esModule?l:{default:l}}r.exports=e.default})(Bn,Bn.exports);var tl=Bn.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=u.context;return m||(m=document.documentElement),(0,i.default)(),(0,s.default)({"?alt+?shift+tab":function(c){c.preventDefault();var h=(0,i.default)({context:m}),f=c.shiftKey,d=h[0],p=h[h.length-1],E=f?d:p,_=f?p:d;if((0,n.default)(E)){_.focus();return}var w=void 0,x=h.some(function(M,I){return(0,n.default)(M)?(w=I,!0):!1});if(!x){d.focus();return}var C=f?-1:1;h[w+C].focus()}})};var t=Uo,n=l(t),a=Jo,i=l(a),o=tl,s=l(o);function l(u){return u&&u.__esModule?u:{default:u}}r.exports=e.default})(In,In.exports);var rl=In.exports;(function(r,e){Object.defineProperty(e,"__esModule",{value:!0});var t=zo,n=l(t),a=Ko,i=l(a),o=rl,s=l(o);function l(u){return u&&u.__esModule?u:{default:u}}e.default={disabled:n.default,hidden:i.default,tabFocus:s.default},r.exports=e.default})(tr,tr.exports);var nl=tr.exports;const il=Ss(nl),We=new G({type:"slider",baseAttribute:"data-ulu-slider"}),al=We.attributeSelector("track"),sl=We.attributeSelector("track-container"),ol=We.attributeSelector("control-context"),ll=We.attributeSelector("slide"),ul=[],cl=matchMedia("(prefers-reduced-motion: reduce)").matches,ze={once:!0},ea=r=>`${r}ms`;addEventListener("load",()=>{addEventListener("resize",ai(()=>{ot.instances.forEach(r=>r.handleResize())},250))});const fl=["container","trackContainer","track","slides"];function dl(){We.init({withData:!0,coreEvents:["pageModified"],setup({element:r,data:e,initialize:t}){ta(r,e),t()}})}function ta(r,e){const t=Object.assign({},e),n={container:r,track:r.querySelector(al),trackContainer:r.querySelector(sl),controlContext:r.querySelector(ol),slides:r.querySelectorAll(ll)};n.slides.length&&ul.push(new ot(n,t,!1))}const Ye=class Ye{constructor(e,t){const n=Object.assign({},Ye.defaults,t);this.options=n,this.slide=null,this.index=null,this.swipeInstance=null,this.swipeListener=null,this.swipeImageListener=null,this.transitioning=!1,pt(fl)||Q(this,"Missing a required Element"),e.slides.length||Q(this,"Missing slides"),this.slides=[...e.slides].map((a,i)=>({element:a,index:i,number:i+1})),this.elements={...e,...this.createControls(e.controlContext||e.container),...this.createNav(e.navContext||e.container)},this.transition=n.transition?n.transitionFade||cl?this.fadeTransition:this.slideTransition:this.noTransition,this.setup(),this.goto(0,null,"init"),se(this,"Slider Instance Created",this),Ye.instances.push(this)}handleResize(){const{slide:e,transition:t,slideTransition:n}=this;t===n&&e&&this.translateTo(e.element.offsetLeft,0)}previous(e){const{index:t,slides:n}=this,a=n.length-1,i=t-1,o=i<0?a:i;this.emit("previous",[e,o]),this.goto(o,e,"previous")}next(e){const{index:t,slides:n}=this,a=t+1,i=a>n.length-1?0:a;this.emit("next",[e,i]),this.goto(i,e,"next")}ensureTransitionEnds(e,t,n){return new Promise(a=>{const i={},o=()=>{clearTimeout(i.start),i.end=setTimeout(s,t+500)},s=()=>{clearTimeout(i.start),clearTimeout(i.end),e.removeEventListener("transitionrun",o,ze),e.removeEventListener("transitionend",s,ze),e.removeEventListener("transitioncancel",s,ze),a()};e.addEventListener("transitionrun",o,ze),e.addEventListener("transitionend",s,ze),e.addEventListener("transitioncancel",s,ze),i.start=setTimeout(s,t+500),e.style.transitionDuration=ea(t),n(),t||s()})}translateTo(e,t){const{track:n}=this.elements,a=()=>n.style.transform=`translateX(-${e}px)`;return n.style.willChange="transform",this.ensureTransitionEnds(n,t,a).then(()=>{n.style.willChange="auto"})}setVisibility(e,t){t||(e.element.style.visibility="visible"),this.slides.forEach(n=>{n!==e&&(n.element.style.visibility=t?"visible":"hidden")})}fadeSlide(e,t){const{options:n}=this,{element:a}=e,i=t?n.transitionDuration:n.transitionDurationExit;return this.ensureTransitionEnds(a,i,()=>{a.style.opacity=t?"1":"0"})}async slideTransition({slide:e,index:t,old:n,oldIndex:a,triggerType:i}){const o=this.slides.length,s=i==="previous",l=o-1,u=t===0&&a===l,m=t===l&&a===0;let v,c=this.options.transitionDuration;a&&!u&&!m&&(c=c*Math.abs(a-t)),o<3?u&&!s?v=n:m&&(v=s?e:n):u?v=n:m&&(v=e),this.setVisibility(null,!0),v&&(v.element.style.order="-1",await this.translateTo(u?0:n.element.offsetLeft,0)),await this.translateTo(e.element.offsetLeft,c),v&&(v.element.style.order="0",await this.translateTo(e.element.offsetLeft,0)),this.setVisibility(e,!1)}async fadeTransition({slide:e,old:t}){this.setVisibility(null,!0),t&&(await this.fadeSlide(t,!1),t.element.style.order="0"),e.element.style.order="-1",await this.fadeSlide(e,!0),this.setVisibility(e,!1)}noTransition({slide:e,old:t}){return this.setVisibility(e,!1),t&&(t.element.style.order="0"),e.element.style.order="-1",Promise.resolve()}goto(e,t,n){const{slide:a,index:i,slides:o,elements:s}=this,l=n==="init",u=o[e],m=this.getClass("nav-button--active"),v=this.getClass("transition",!0),c={slide:u,index:e,old:a,oldIndex:i,triggerType:n};if(e===i){Kt(this,"Could not goto slide, still performing transition");return}if(this.transitioning){Kt(this,"Cancel goto(), same slide index as current slide");return}const h=il.disabled({context:this.elements.track});this.transitioning=!0,a&&a.navButton.classList.remove(m),u.navButton.classList.add(m),s.container.classList.add(v),this.transition(c).then(()=>{this.index=e,this.slide=u,this.transitioning=!1,s.container.classList.remove(v),h.disengage(),l||(u.element.focus(),this.emit("goto",[t,e,u]))})}setup(){const{container:e,track:t,trackContainer:n}=this.elements,a=ht(this.trackCss()),i=ht(this.trackContainerStyles()),o=ht(this.slideCss());t.setAttribute("style",a),n.setAttribute("style",i),this.slides.forEach(s=>{s.element.setAttribute("style",o),s.element.setAttribute("tabindex","-1")}),e.classList.add(this.getClass()),this.options.swipeEnabled&&this.setupSwipe()}setupSwipe(){const e=this.elements.track.querySelectorAll("img");this.swipeListener=t=>{this.onSwipe(t)},this.swipeImageListener=t=>{t.preventDefault()},this.slides.forEach(t=>{const{element:n}=t;t.swipeInstance=U(n,this.options.swipeOptions),n.addEventListener("swipe",this.swipeListener)}),e.forEach(t=>{t.addEventListener("dragstart",this.swipeImageListener)})}onSwipe(e){const{directions:t}=e.detail,n=t.left?"next":t.right?"previous":null;n&&this[n](e)}trackContainerStyles(){return`
|
|
53
|
+
overflow: hidden;
|
|
54
|
+
`}transitionCss(e){const{transitionTimingFunction:t,transitionDuration:n}=this.options;return`
|
|
55
|
+
transition-property: ${e};
|
|
56
|
+
transition-duration: ${ea(n)};
|
|
57
|
+
transition-timing-function: ${t};
|
|
58
|
+
`}trackCss(){return`
|
|
59
|
+
display: flex;
|
|
60
|
+
position: relative;
|
|
61
|
+
list-style: none;
|
|
62
|
+
${this.transition===this.slideTransition?this.transitionCss("transform"):""}
|
|
63
|
+
`}slideCss(){const e=this.transition===this.fadeTransition;return`
|
|
64
|
+
width: 100%;
|
|
65
|
+
flex: 0 0 100%;
|
|
66
|
+
${e?this.transitionCss("opacity"):""}
|
|
67
|
+
opacity: ${e?"0":"1"}
|
|
68
|
+
`}getClass(e,t){const{namespace:n}=this.options;return t?`${n}--${e}`:e?`${n}__${e}`:n}createControlButton(e){const t=document.createElement("button");return t.classList.add(this.getClass("control-button")),t.classList.add(this.getClass(`control-button--${e}`)),t.classList.add(...this.options.buttonClasses),t.setAttribute("data-slider-control",e),t.setAttribute("type","button"),t.innerHTML=this.getControlContent(e),t}createControls(e){const t=document.createElement("ul"),n=document.createElement("li"),a=document.createElement("li"),i=this.createControlButton("previous"),o=this.createControlButton("next");return t.classList.add(this.getClass("controls")),n.appendChild(i),a.appendChild(o),t.appendChild(n),t.appendChild(a),i.addEventListener("click",this.previous.bind(this)),o.addEventListener("click",this.next.bind(this)),e.appendChild(t),{controls:t,previousItem:n,nextItem:a,previous:i,next:o}}createNav(e){const t=document.createElement("ul"),n=this.slides.map(this.createNavButton.bind(this)),a=n.map(i=>{const o=document.createElement("li");return o.appendChild(i),t.appendChild(o),o});return t.classList.add(this.getClass("nav")),e.appendChild(t),{nav:t,navButtons:n,navItems:a}}createNavButton(e,t){const n=document.createElement("button");return n.classList.add(this.getClass("nav-button")),n.setAttribute("type","button"),n.innerHTML=this.getNavContent(e),e.navButton=n,n.addEventListener("click",this.goto.bind(this,t)),n}getControlContent(e){const t=this.options[e==="next"?"iconClassNext":"iconClassPrevious"];return`
|
|
69
|
+
<span class="${this.options.classAccessiblyHidden}">${e}</span>
|
|
70
|
+
<span class="${this.getClass("control-icon")} ${t}" aria-hidden="true"></span>
|
|
71
|
+
`}getNavContent(e){return`<span class="${this.options.classAccessiblyHidden}">Item ${e.number}</span>`}emit(e,t){this.options.events[e]&&this.options.events[e].apply(this,t)}};j(Ye,"instances",[]),j(Ye,"defaults",{classAccessiblyHidden:"hidden-visually",namespace:"Slider",events:{},transition:!0,transitionFade:!1,transitionDuration:700,transitionDurationExit:400,transitionTimingFunction:"ease-in-out",buttonClasses:["button","button--icon"],iconClassPrevious:_e("iconClassPrevious"),iconClassNext:_e("iconClassNext"),swipeEnabled:!0,swipeOptions:{preventScroll:!0}});let ot=Ye;const Vn=[],ra=new G({type:"tabs",baseAttribute:"data-ulu-tablist"});function vl(){const r=()=>{ra.init({coreEvents:["pageModified"],withData:!0,setup({element:e,data:t,initialize:n}){na(e,t),n()}}),Vn.forEach(pl)};document.readyState==="complete"?r():window.addEventListener("load",r)}function na(r,e={}){const t=Object.assign({},e);t.vertical&&(t.allArrows=!0);const n={element:r,options:e};return n.ariaTablist=dt(r,{onOpen(...a){a.unshift(n),hl.apply(null,a)},...t}),Vn.push(n),t.equalHeights&&ml(r),n}function pl({options:r,ariaTablist:e}){if(r.openByUrlHash){const{hash:t}=window.location;if(t&&t.length>1){const n=t.substring(1);e.tabs.forEach(a=>{n===a.id&&e.open(a)})}}}function hl({options:r},e,t){r.openByUrlHash&&window.history&&window.history.replaceState(null,"",`#${t.id}`)}function ml(r){const t=[...r.children].map(s=>document.querySelector(`[aria-labelledby="${s.id}"]`)),i=[...t[0].parentElement.querySelectorAll("img")].map(s=>o(s));function o(s){return new Promise(l=>{s.complete?l(s):(s.onload=l,s.onerror=l)})}Promise.all(i).then(()=>{const s=t.map(u=>{let m=u.offsetHeight;return u.hidden&&(u.hidden=!1,m=u.offsetHeight,u.setAttribute("hidden","hidden")),m}),l=Math.max(...s);t.forEach(u=>u.style.minHeight=`${l}px`)})}const oe=new G({type:"theme-toggle",baseAttribute:"data-ulu-theme-toggle"}),bl=oe.attributeSelector("label"),gl=oe.attributeSelector("icon"),ia=oe.getAttribute("remote"),Kn=oe.getAttribute("init"),aa=oe.getAttribute("state"),xl=r=>document.querySelectorAll(`[${ia}="${r}"]`),sa=r=>document.querySelectorAll(`[${ia}="${r}"]:not([${Kn}])`),oa=["target"],_l=pt(oa),la=(r,e)=>r?e():null,Un={themes:{light:{label:"Light",value:"light",iconClass:"fas fa-moon",targetClass:"theme-light",mediaQuery:"(prefers-color-scheme: light)"},dark:{label:"Dark",iconClass:"fas fa-sun",targetClass:"theme-dark",mediaQuery:"(prefers-color-scheme: dark)"}},target:"body",group:null,onChange(r){},initialState:"light",checkMediaQuery:!1,savePreference:!1,storagePrefix:"ulu-theme-",debug:!1};let ua={...Un};function yl(r){ua=Object.assign({},ua,r)}function El(){oe.init({coreEvents:["pageModified"],withData:!0,setup({element:r,data:e,initialize:t}){ca(r,e),t()}})}function ca(r,e){const t=Object.assign({},Un,e);if(!_l(t)){console.error(`Missing a required option: ${oa.join(", ")}`);return}const n=t.group,a={toggle:r,options:t},i=wl(t);if(!i){console.error("Unable to resolve initial key");return}jn(i,a),r.addEventListener("click",s),l(),document.addEventListener(xe("pageModified"),l);function o(v){const h=oi(t.target)[0].dataset.uluThemeToggleState,f=Cl(h,t);if(!f){console.error("Issue getting next theme key");return}jn(f,{...a,event:v})}function s(v){o(v)}function l(){if(!n)return;sa(n).forEach(c=>{c.addEventListener("click",s),oe.initializeElement(c)})}function u(){if(!n)return;sa(n).forEach(c=>{c.removeEventListener("click",s),c.removeAttribute(Kn,"")})}function m(){r.removeEventListener("click",s),r.removeAttribute(Kn,""),u(),document.removeEventListener(xe("pageModified"),l)}return{destroy:m,toggle:r,options:t,toggleState:o,setState(v){jn(v,a)}}}function jn(r,e){if(!r){console.error("Missing key");return}const{toggle:t,options:n}=e,{themes:a,group:i}=n,o={targets:oi(n.target),toggles:[t,...i?xl(i):[]]};if(!o.targets.length||!o.toggles.length){console.error("Issue setting state, couldn't find needed elements",o);return}const s=a[r],l=Ol(r,a),u={...e,key:r,elements:o,theme:s,otherThemes:l};n.debug&&oe.log("Set state context",u);const m=fa(l,"targetClass"),v=fa(l,"iconClass");o.targets.forEach(c=>{c.setAttribute(aa,r),c.classList.remove(...m),c.classList.add(...mt(s.targetClass))}),o.toggles.forEach(c=>{const h=c.querySelector(bl),f=c.querySelector(gl);h&&(h.textContent=s.label),f&&(f.classList.remove(...v),f.classList.add(...mt(s.iconClass))),c.setAttribute(aa,r)}),n.onChange&&n.onChange(u),n.savePreference&&localStorage.setItem(da(n),r)}function wl(r){const{savePreference:e,checkMediaQuery:t,themes:n,initialState:a}=r,i=da(r),o=la(e,()=>localStorage.getItem(i)),s=la(t,()=>Sl(n)),l=o||s||a;return r.debug&&(oe.log("Preference Saved",o),oe.log("Media Query Preference",s),oe.log("Initial State:",a)),l||oe.logError("Failed to resolve initial theme (pass 'initialState' to options)"),l}function Sl(r){const e=Object.entries(r).find(([t,n])=>{if(n.mediaQuery)return window.matchMedia(n.mediaQuery).matches});return e?e[0]:null}function Cl(r,e){const{themes:t}=e,n=Object.keys(t),a=n.findIndex(o=>o===r),i=a===-1?0:(a+1)%n.length;return n[i]}function Ol(r,e){return Object.entries(e).filter(([n])=>n!==r).map(([n,a])=>a)}function fa(r,e){return r.reduce((t,n)=>t.concat(mt(n[e])),[])}function da(r){const{storagePrefix:e,group:t}=r;return t?`${e}${t}`:e}const lt=new G({type:"tooltip",baseAttribute:"data-ulu-tooltip"}),Al=lt.getAttribute("body"),Tl=lt.attributeSelector("body"),Ml=lt.attributeSelector("arrow");function Il(){lt.init({coreEvents:["pageModified"],withData:!0,setup({element:r,data:e,initialize:t}){const n=typeof e=="object"?e:{};typeof e=="string"&&(n.content=e),t(),new kt({trigger:r},n)}})}const Je=class Je{constructor(e,t,n){const{trigger:a}=e;if(!a){Q(this,"missing required trigger");return}this.options=Object.assign({},Je.defaults,t),this.floatingOptions=Object.assign({},Je.defaultFloatingOptions,n),this.elements={...e},this.handlers={},this.isOpen=!1,gt(a),this.setup()}setup(){this.createContentElement(),this.attachHandlers(),this.setupAccessibility()}setupAccessibility(){const{trigger:e,content:t}=this.elements,{accessible:n}=this.options;n&&e.setAttribute("aria-describedby",t.id)}destroy(){this.destroyHandlers(),this.destroyDisplay()}getInnerContent(){const{fromElement:e,content:t,isHtml:n,fromAnchor:a}=this.options;if(t)return t;if(e||a){const i=a?this.getAnchorElement():document.querySelector(e);return i?n?i.innerHTML:i.innerText:""}else Q(this,"Could not resolve inner content")}getAnchorElement(){const{trigger:e}=this.elements,{href:t}=e,n=t?t.split("#")[1]:null,a=n?document.getElementById(n):null;return a||console.error("Unable to get 'fromAnchor' element",e),a}createContentElement(){const{options:e}=this,t=si(e.template(e)),n=t.querySelector(Tl),a=this.getInnerContent();e.isHtml?n.innerHTML=a:n.textContent=a,t.id=jt(),e.contentClass&&t.classList.add(e.contentClass),this.elements.content=t,this.elements.contentArrow=t.querySelector(Ml),document.body.appendChild(t)}attachHandlers(){const{trigger:e}=this.elements,{showEvents:t,hideEvents:n,delay:a}=this.options;let i=null;const o=u=>{i||(i=setTimeout(()=>{this.show(u),clearTimeout(i)},a))},s=u=>{i&&(clearTimeout(i),i=null),this.hide(u)},l=u=>{u.key==="Escape"&&this.hide(u)};t.forEach(u=>{e.addEventListener(u,o)}),n.forEach(u=>{e.addEventListener(u,s)}),document.addEventListener("keydown",l),this.handlers={onShow:o,onHide:s,onDocumentKeydown:l}}destroyHandlers(){const{trigger:e}=this,{onShow:t,onHide:n,onDocumentKeydown:a}=this.handlers,{showEvents:i,hideEvents:o}=this.options;t&&i.forEach(s=>{e.removeEventListener(s,t)}),n&&o.forEach(s=>{e.removeEventListener(s,n)}),a&&document.removeEventListener("keydown",a)}setState(e,t){const n={instance:this,isOpen:e,event:t},{trigger:a,content:i}=this.elements,{openClass:o}=this.options,s=l=>l.classList[e?"add":"remove"](o);s(a),s(i),this.isOpen=e,this.options.onChange(n),a.dispatchEvent(this.createEvent("change",n)),this.destroyFloatingInstance(),e&&this.createFloatingInstance()}createEvent(e,t){return new CustomEvent(Me("tooltip:"+e),{detail:t})}createFloatingInstance(){this.floatingCleanup=Jt(this.elements,this.floatingOptions)}destroyFloatingInstance(){this.floatingCleanup&&(this.floatingCleanup(),this.floatingCleanup=null)}show(e){this.setState(!0,e)}hide(e){this.setState(!1,e)}};j(Je,"defaults",{accessible:!0,content:null,openClass:"is-active",contentClass:"",isHtml:!1,fromElement:null,fromAnchor:!1,endOfDocument:!0,showEvents:["pointerenter","focus"],hideEvents:["pointerleave","blur"],delay:500,template(e){return`
|
|
72
|
+
<div class="popover popover--tooltip">
|
|
73
|
+
<div class="popover__inner" ${Al}>
|
|
74
|
+
</div>
|
|
75
|
+
<span class="popover__arrow" data-ulu-tooltip-arrow></span>
|
|
76
|
+
</div>
|
|
77
|
+
`},onChange(e){}}),j(Je,"defaultFloatingOptions",{});let kt=Je;const Ft=class Ft{constructor(e,t){this.options=Object.assign({},Ft.defaults,t),this.data=e,this.blob=new Blob([e],{type:this.options.type}),this.url=URL.createObjectURL(this.blob)}destroy(){return URL.revokeObjectURL(this.url)}getUrl(){return this.url}createLink(e){const t=document.createElement("a"),n=document.createTextNode(e);return t.setAttribute("download",this.options.filename),t.setAttribute("href",this.url),t.appendChild(n),t}static isBrowserSupported(){return"FileReader"in window}};j(Ft,"defaults",{filename:"filesave-file.txt",type:"text/plain;charset=utf-8"});let Gn=Ft;function Dl(){ci({iconClassClose:"fas fa-xmark",iconClassDragX:"fas fa-solid fa-grip-lines-vertical",iconClassPrevious:"fas fa-solid fa-chevron-left",iconClassNext:"fas fa-solid fa-chevron-right"})}y.BreakpointManager=bt,y.Collapsible=xt,y.ComponentInitializer=G,y.FileSave=Gn,y.Flipcard=wt,y.OverflowScroller=Ct,y.Popover=Mi,y.Resizer=St,y.Scrollpoint=Mt,y.Slider=ot,y.Tooltip=kt,y.classLoggerLog=se,y.classLoggerLogError=Q,y.classLoggerLogWarning=Kt,y.classLoggerSet=$a,y.createFloatingUi=Jt,y.createUluEvent=Ne,y.dataAttributeToDatasetKey=di,y.detailsGroupInit=Ba,y.detailsGroupInitializer=_t,y.detailsGroupSetupGroup=pi,y.dialogBaseAttribute=Xt,y.dialogCloseAttribute=gi,y.dialogDefaults=Zt,y.dialogGetDialogOptions=yi,y.dialogInit=Va,y.dialogInitializer=qe,y.dialogSetDefaults=za,y.dialogSetupDialog=_i,y.dialogSetupTrigger=xi,y.dispatchCoreEvent=vt,y.ensureId=gt,y.flipcardInit=ja,y.flipcardInitializer=Et,y.floatingUiDefaults=Oi,y.fontAwesomeConfigureIcons=Dl,y.getCoreEventName=xe,y.getDefaultSettings=Ma,y.getSetting=fi,y.getSettings=Ia,y.getUluEventName=Me,y.gridInit=Ga,y.gridInitializer=Ei,y.modalBuilderBuildModal=Si,y.modalBuilderDefaults=wi,y.modalBuilderInit=Za,y.modalBuilderInitializer=Ie,y.modalBuilderSetDefaults=Xa,y.newId=jt,y.overflowScrollerCreatePager=Ci,y.pageInit=Qa,y.popoverGetContentByTrigger=Ti,y.popoverInit=as,y.popoverInitializer=ye,y.popoverInstances=Qt,y.popoverResolve=Ai,y.printDetailsAttrs=Ot,y.printDetailsInit=ls,y.printInit=vs,y.proxyClickAttachHandlers=ki,y.proxyClickDefaults=Di,y.proxyClickInit=ms,y.proxyClickInitializer=Ii,y.proxyClickSetDefaults=hs,y.proxyClickSetupProxy=Pi,y.resolveClasses=mt,y.scrollSliderInit=ys,y.scrollSliderInitializer=At,y.scrollpointInit=ws,y.scrollpointInitializer=Tt,y.setPositionClasses=vi,y.sliderInit=dl,y.sliderInitializer=We,y.sliderSetupSlider=ta,y.tabsInit=vl,y.tabsInitializer=ra,y.tabsInstances=Vn,y.tabsSetup=na,y.themeToggleDefaults=Un,y.themeToggleInit=El,y.themeToggleInitializer=oe,y.themeToggleSetDefaults=yl,y.themeToggleSetupToggle=ca,y.tooltipInit=Il,y.tooltipInitializer=lt,y.updateSetting=Da,y.updateSettings=ci,y.wrapSettingString=_e,y.youtubePauseVideos=hi,y.youtubePrepVideos=mi,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|
package/lib/index.js
ADDED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @module
|
|
2
|
+
* @module core/component
|
|
3
3
|
* @description Core classes and mechanisms that define how UI components are created and managed within the library
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { hasRequiredProps } from "@ulu/utils/object.js";
|
|
7
7
|
import { getDatasetOptionalJson } from "@ulu/utils/browser/dom.js";
|
|
8
|
-
import { dataAttributeToDatasetKey } from "
|
|
9
|
-
import {
|
|
8
|
+
import { dataAttributeToDatasetKey } from "../utils/dom.js";
|
|
9
|
+
import { getCoreEventName } from "./events.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Class serves as a utility for UI modules, handling the selection of elements and the initialization of corresponding component instances, ensuring consistent setup within the module
|
|
@@ -45,18 +45,20 @@ export class ComponentInitializer {
|
|
|
45
45
|
* @param {Function} config.setup The setup function to call for each element.
|
|
46
46
|
* @param {String} config.key [null] The optional key to use with attribute selector.
|
|
47
47
|
* @param {Boolean} config.withData [null] Whether to retrieve element data.
|
|
48
|
-
* @param {Array} config.
|
|
49
|
-
* @param {Boolean} config.onPageResized [null] Whether to bind event listener for page resize end
|
|
48
|
+
* @param {Array} config.coreEvents [null] An array of core event names (e.g., 'pageModified') that should trigger a re-initialization.
|
|
50
49
|
* @param {HTMLElement} config.context [document] The context to query within.
|
|
51
50
|
*/
|
|
52
51
|
init(config) {
|
|
53
52
|
this.setupElements(config);
|
|
54
53
|
// Attach Handler to reinitialize if page is updated
|
|
55
|
-
// Specifically checking entire document
|
|
54
|
+
// Specifically checking entire document in case element that dispatched
|
|
56
55
|
// event made alterations outside of itself
|
|
57
|
-
if (config.
|
|
58
|
-
config.
|
|
59
|
-
|
|
56
|
+
if (config.coreEvents?.length) {
|
|
57
|
+
config.coreEvents.forEach(name => {
|
|
58
|
+
const eventName = getCoreEventName(name);
|
|
59
|
+
if (eventName) {
|
|
60
|
+
document.addEventListener(eventName, () => this.setupElements(config));
|
|
61
|
+
}
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -66,7 +68,6 @@ export class ComponentInitializer {
|
|
|
66
68
|
* @param {function} config.setup The setup function to call for each element.
|
|
67
69
|
* @param {string} config.key The optional key to use with attribute selector.
|
|
68
70
|
* @param {boolean} config.withData [false] Whether to retrieve element data.
|
|
69
|
-
* @param {boolean} config.onPageModified [true] Whether to bind event listener for page modifications.
|
|
70
71
|
* @param {HTMLElement} config.context [document] The context to query within.
|
|
71
72
|
*/
|
|
72
73
|
setupElements(config) {
|
|
@@ -150,6 +151,6 @@ export class ComponentInitializer {
|
|
|
150
151
|
/**
|
|
151
152
|
* Class serves as a base for representing individual occurrences of a UI component, providing a consistent structure for each
|
|
152
153
|
*/
|
|
153
|
-
export class ComponentInstance {
|
|
154
|
+
// export class ComponentInstance {
|
|
154
155
|
|
|
155
|
-
}
|
|
156
|
+
// }
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/events
|
|
3
|
+
* @description Internal implementation of global event handling.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { debounce } from "@ulu/utils/performance.js";
|
|
7
|
+
import { isBrowser } from "@ulu/utils/browser/dom.js";
|
|
8
|
+
|
|
9
|
+
// Setup global document events
|
|
10
|
+
if (isBrowser()) {
|
|
11
|
+
initResize();
|
|
12
|
+
initPrint();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Event object - called on dispatch
|
|
17
|
+
*/
|
|
18
|
+
const events = {
|
|
19
|
+
pageModified(context) {
|
|
20
|
+
context.dispatchEvent(createUluEvent("pageModified"));
|
|
21
|
+
},
|
|
22
|
+
pageResized(context) {
|
|
23
|
+
context.dispatchEvent(createUluEvent("pageResized"));
|
|
24
|
+
},
|
|
25
|
+
beforePrint(context) {
|
|
26
|
+
context.dispatchEvent(createUluEvent("beforePrint"));
|
|
27
|
+
},
|
|
28
|
+
afterPrint(context) {
|
|
29
|
+
context.dispatchEvent(createUluEvent("afterPrint"));
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const eventKeys = Object.keys(events);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Triggers one of the predefined core lifecycle events.
|
|
37
|
+
* @param {String} type Type of core event to dispatch.
|
|
38
|
+
* @param {Node} context Element to trigger the event from.
|
|
39
|
+
*/
|
|
40
|
+
export function dispatchCoreEvent(type, context) {
|
|
41
|
+
if (events[type]) {
|
|
42
|
+
events[type](context);
|
|
43
|
+
} else {
|
|
44
|
+
console.warn(`Unable to dispatch non-core event: ${type}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* A general-purpose utility to get a ULU-namespaced event name.
|
|
50
|
+
* @param {String} type The base name for the event.
|
|
51
|
+
* @returns {String} The `ulu:` prefixed event name.
|
|
52
|
+
*/
|
|
53
|
+
export function getUluEventName(type) {
|
|
54
|
+
return "ulu:" + type;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Safely gets the full namespaced name for a predefined core event.
|
|
59
|
+
* @param {String} type The base name of the core event (e.g., 'pageModified').
|
|
60
|
+
* @returns {String|null} The full event name if valid, otherwise null.
|
|
61
|
+
*/
|
|
62
|
+
export function getCoreEventName(type) {
|
|
63
|
+
if (eventKeys.includes(type)) {
|
|
64
|
+
return getUluEventName(type);
|
|
65
|
+
}
|
|
66
|
+
console.warn(`'${type}' is not a valid core event type.`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* A general-purpose utility to create a ULU-namespaced CustomEvent.
|
|
72
|
+
* @param {String} type Event base name.
|
|
73
|
+
* @param {any} data Custom data to pass with the event.
|
|
74
|
+
* @param {Object} options CustomEvent options.
|
|
75
|
+
* @returns {CustomEvent}
|
|
76
|
+
*/
|
|
77
|
+
export function createUluEvent(type, data = null, options = { bubbles: true }) {
|
|
78
|
+
return new CustomEvent(getUluEventName(type), { detail: data, ...options });
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Setup resize handler/dispatch
|
|
83
|
+
*/
|
|
84
|
+
function initResize() {
|
|
85
|
+
window.addEventListener("resize", debounce(() => dispatchCoreEvent("pageResized", document), 250));
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Setup print listeners
|
|
90
|
+
*/
|
|
91
|
+
function initPrint() {
|
|
92
|
+
window.addEventListener("beforeprint", () => {
|
|
93
|
+
dispatchCoreEvent("beforePrint", document);
|
|
94
|
+
});
|
|
95
|
+
window.addEventListener("afterprint", () => {
|
|
96
|
+
dispatchCoreEvent("afterPrint", document);
|
|
97
|
+
});
|
|
98
|
+
}
|