@iamproperty/components 7.3.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.component.css +1 -0
- package/assets/css/components/address-lookup.component.css.map +1 -0
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/calendar.component.css +1 -0
- package/assets/css/components/calendar.component.css.map +1 -0
- package/assets/css/components/calendar.config.css +1 -0
- package/assets/css/components/calendar.config.css.map +1 -0
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/content.component.css +1 -0
- package/assets/css/components/content.component.css.map +1 -0
- package/assets/css/components/darkmode.component.css +1 -0
- package/assets/css/components/darkmode.component.css.map +1 -0
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/inline-edit.css +1 -1
- package/assets/css/components/inline-edit.css.map +1 -1
- package/assets/css/components/marketing.component.css +1 -0
- package/assets/css/components/marketing.component.css.map +1 -0
- package/assets/css/components/menu.component.css.map +1 -1
- package/assets/css/components/{menu.css → menu.global.css} +1 -1
- package/assets/css/components/menu.global.css.map +1 -0
- package/assets/css/components/milestone.css +1 -0
- package/assets/css/components/milestone.css.map +1 -0
- package/assets/css/components/multi-step.component.css +1 -1
- package/assets/css/components/multi-step.component.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/multiselect.preload.css +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/notification.css +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/rank.component.css +1 -1
- package/assets/css/components/rank.component.css.map +1 -1
- package/assets/css/components/rankings.component.css +1 -1
- package/assets/css/components/rankings.component.css.map +1 -1
- package/assets/css/components/rankings.global.css +1 -1
- package/assets/css/components/rankings.global.css.map +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/split-button.component.css +1 -0
- package/assets/css/components/split-button.component.css.map +1 -0
- package/assets/css/components/word-count.component.css +1 -0
- package/assets/css/components/word-count.component.css.map +1 -0
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/mobile-core.min.css +1 -1
- package/assets/css/mobile-core.min.css.map +1 -1
- package/assets/css/mobile.min.css +1 -1
- package/assets/css/mobile.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.js +40 -19
- package/assets/js/components/accordion/accordion.component.min.js +15 -15
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +59 -31
- package/assets/js/components/actionbar/actionbar.component.min.js +18 -17
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +6 -8
- package/assets/js/components/address-lookup/address-lookup.component.min.js +10 -12
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.js +63 -0
- package/assets/js/components/advanced-select/advanced-select.component.min.js +23 -0
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -0
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +2 -2
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
- package/assets/js/components/calendar/calendar.component.js +1100 -0
- package/assets/js/components/calendar/calendar.component.min.js +170 -0
- package/assets/js/components/calendar/calendar.component.min.js.map +1 -0
- package/assets/js/components/card/card.component.js +14 -8
- package/assets/js/components/card/card.component.min.js +16 -10
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +17 -19
- package/assets/js/components/carousel/carousel.component.min.js +17 -19
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.js +47 -12
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +6 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/content/content.component.js +66 -0
- package/assets/js/components/content/content.component.min.js +15 -0
- package/assets/js/components/content/content.component.min.js.map +1 -0
- package/assets/js/components/darkmode/darkmode.component.js +70 -0
- package/assets/js/components/darkmode/darkmode.component.min.js +10 -0
- package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -0
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +2 -2
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/menu/menu.component.js +12 -4
- package/assets/js/components/menu/menu.component.min.js +4 -5
- package/assets/js/components/menu/menu.component.min.js.map +1 -1
- package/assets/js/components/milestone/milestone.component.js +36 -0
- package/assets/js/components/milestone/milestone.component.min.js +15 -0
- package/assets/js/components/milestone/milestone.component.min.js.map +1 -0
- package/assets/js/components/milestone-group/milestone-group.component.js +33 -0
- package/assets/js/components/milestone-group/milestone-group.component.min.js +13 -0
- package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -0
- package/assets/js/components/multi-step/multi-step.component.min.js +3 -3
- package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +54 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +18 -0
- package/assets/js/components/nav/nav.component.min.js +6 -6
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +15 -11
- package/assets/js/components/notification/notification.component.min.js +4 -4
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/rank/rank.component.js +346 -210
- package/assets/js/components/rank/rank.component.min.js +346 -211
- package/assets/js/components/rank/rank.component.min.js.map +1 -1
- package/assets/js/components/rankings/rankings.component.js +17 -8
- package/assets/js/components/rankings/rankings.component.min.js +14 -8
- package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +5 -3
- package/assets/js/components/search/search.component.min.js +6 -6
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js.map +1 -1
- package/assets/js/components/split-button/split-button.component.js +58 -0
- package/assets/js/components/split-button/split-button.component.min.js +31 -0
- package/assets/js/components/split-button/split-button.component.min.js.map +1 -0
- package/assets/js/components/table/table.component.js +12 -0
- package/assets/js/components/table/table.component.min.js +3 -3
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.js +12 -0
- package/assets/js/components/table-ajax/table-ajax.component.min.js +3 -3
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.js +12 -0
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +3 -3
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
- package/assets/js/components/table-submit/table-submit.component.js +12 -0
- package/assets/js/components/table-submit/table-submit.component.min.js +3 -3
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/components/word-count/word-count.component.js +81 -0
- package/assets/js/components/word-count/word-count.component.min.js +12 -0
- package/assets/js/components/word-count/word-count.component.min.js.map +1 -0
- package/assets/js/components.js +59 -0
- package/assets/js/modules/advanced-select.js +106 -0
- package/assets/js/modules/dialogs.js +53 -51
- package/assets/js/modules/dynamicEvents.js +7 -0
- package/assets/js/modules/inputs.js +0 -18
- package/assets/js/modules/milestone-group.js +30 -0
- package/assets/js/modules/milestone.js +89 -0
- package/assets/js/modules/table.js +11 -1
- package/assets/js/modules/videos.js +1 -1
- package/assets/js/scripts.bundle.js +3 -3
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +5 -0
- package/assets/sass/_components.scss +15 -4
- package/assets/sass/_example.scss +1 -1
- package/assets/sass/_functions/utility-mixins.scss +40 -0
- package/assets/sass/_functions/variables.scss +11 -5
- package/assets/sass/components/actionbar.component.scss +23 -1
- package/assets/sass/components/actionbar.global.scss +5 -5
- package/assets/sass/components/{address-lookup.scss → address-lookup.component.scss} +10 -0
- package/assets/sass/components/calendar.component.scss +1272 -0
- package/assets/sass/components/calendar.config.scss +423 -0
- package/assets/sass/components/card.component.scss +4 -34
- package/assets/sass/components/carousel.component.scss +5 -0
- package/assets/sass/components/collapsible-side.scss +91 -95
- package/assets/sass/components/content.component.scss +18 -0
- package/assets/sass/components/darkmode.component.scss +22 -0
- package/assets/sass/components/inline-edit.scss +2 -0
- package/assets/sass/components/{marketing.scss → marketing.component.scss} +2 -6
- package/assets/sass/components/menu.component.scss +3 -8
- package/assets/sass/components/milestone.scss +216 -0
- package/assets/sass/components/multi-step.component.scss +1 -1
- package/assets/sass/components/multiselect.preload.scss +1 -1
- package/assets/sass/components/multiselect.scss +2 -0
- package/assets/sass/components/nav.component.scss +17 -6
- package/assets/sass/components/nav.global.scss +29 -3
- package/assets/sass/components/notification.scss +32 -13
- package/assets/sass/components/rank.component.scss +197 -24
- package/assets/sass/components/rankings.component.scss +38 -28
- package/assets/sass/components/rankings.global.scss +64 -2
- package/assets/sass/components/split-button.component.scss +79 -0
- package/assets/sass/components/table-basic.global.scss +32 -32
- package/assets/sass/components/word-count.component.scss +26 -0
- package/assets/sass/elements/admin-panel.scss +1 -1
- package/assets/sass/elements/badge-tag.scss +5 -1
- package/assets/sass/elements/buttons--compact.scss +4 -0
- package/assets/sass/elements/details.scss +33 -7
- package/assets/sass/elements/forms.scss +135 -28
- package/assets/sass/elements/links.scss +132 -4
- package/assets/sass/elements/lists.scss +62 -1
- package/assets/sass/elements/popover.scss +64 -10
- package/assets/sass/elements/toggle-button.scss +8 -8
- package/assets/sass/elements/type.scss +7 -10
- package/assets/sass/foundations/colours.scss +0 -0
- package/assets/sass/foundations/reboot.scss +8 -1
- package/assets/sass/foundations/root.scss +41 -51
- package/assets/sass/templates/form.scss +0 -2
- package/assets/ts/components/accordion/accordion.component.ts +47 -26
- package/assets/ts/components/actionbar/actionbar.component.ts +58 -22
- package/assets/ts/components/address-lookup/address-lookup.component.ts +6 -8
- package/assets/ts/components/advanced-select/advanced-select.component.ts +74 -0
- package/assets/ts/components/calendar/calendar.component.ts +1330 -0
- package/assets/ts/components/card/card.component.ts +15 -14
- package/assets/ts/components/carousel/carousel.component.ts +17 -19
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +53 -12
- package/assets/ts/components/content/content.component.ts +78 -0
- package/assets/ts/components/darkmode/darkmode.component.ts +85 -0
- package/assets/ts/components/marketing/marketing.component.ts +1 -1
- package/assets/ts/components/menu/menu.component.ts +18 -10
- package/assets/ts/components/milestone/milestone.component.ts +43 -0
- package/assets/ts/components/milestone-group/milestone-group.component.ts +39 -0
- package/assets/ts/components/multiselect/multiselect.component.ts +60 -3
- package/assets/ts/components/nav/nav.component.ts +18 -0
- package/assets/ts/components/notification/notification.component.ts +30 -11
- package/assets/ts/components/rank/rank.component.ts +345 -209
- package/assets/ts/components/rankings/rankings.component.ts +27 -8
- package/assets/ts/components/search/search.component.ts +6 -4
- package/assets/ts/components/split-button/split-button.component.ts +67 -0
- package/assets/ts/components/table/table.component.ts +14 -0
- package/assets/ts/components/table-ajax/table-ajax.component.ts +14 -0
- package/assets/ts/components/table-no-submit/table-no-submit.component.ts +14 -0
- package/assets/ts/components/table-submit/table-submit.component.ts +14 -0
- package/assets/ts/components/video-card/video-card.component.ts +2 -3
- package/assets/ts/components/word-count/word-count.component.ts +91 -0
- package/assets/ts/components.ts +64 -0
- package/assets/ts/modules/advanced-select.ts +120 -0
- package/assets/ts/modules/data-layer.md +0 -5
- package/assets/ts/modules/dialogs.ts +64 -61
- package/assets/ts/modules/dynamicEvents.ts +10 -0
- package/assets/ts/modules/inputs.ts +0 -25
- package/assets/ts/modules/milestone-group.ts +39 -0
- package/assets/ts/modules/milestone.ts +119 -0
- package/assets/ts/modules/table.ts +15 -1
- package/assets/ts/modules/videos.ts +19 -37
- package/assets/ts/scripts.ts +6 -3
- package/dist/components.es.js +849 -1079
- package/dist/components.umd.js +1052 -220
- package/package.json +6 -6
- package/src/components/Accordion/Accordion.vue +14 -23
- package/src/components/Accordion/AccordionItem.vue +27 -43
- package/src/components/Actionbar/Actionbar.vue +17 -19
- package/src/components/AddressLookup/AddressLookup.vue +17 -18
- package/src/components/AdvancedSelect/AdvancedSelect.vue +22 -0
- package/src/components/AppliedFilters/AppliedFilters.vue +16 -18
- package/src/components/Banner/Banner.vue +18 -21
- package/src/components/BarChart/BarChart.vue +17 -18
- package/src/components/Calendar/Calendar.vue +20 -0
- package/src/components/Card/Card.vue +17 -17
- package/src/components/Carousel/Carousel.vue +17 -20
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +7 -13
- package/src/components/Content/Content.vue +22 -0
- package/src/components/DarkMode/DarkMode.vue +19 -0
- package/src/components/DoughnutChart/DoughnutChart.vue +17 -18
- package/src/components/FileUpload/FileUpload.vue +22 -28
- package/src/components/FilterCard/FilterCard.vue +17 -18
- package/src/components/Filterlist/Filterlist.vue +17 -0
- package/src/components/Header/Header.vue +28 -29
- package/src/components/InlineEdit/InlineEdit.vue +11 -19
- package/src/components/Menu/Menu.vue +17 -17
- package/src/components/Milestones/Milestone.vue +22 -0
- package/src/components/Milestones/MilestoneGroup.vue +24 -0
- package/src/components/Multiselect/Multiselect.vue +17 -18
- package/src/components/Nav/Nav.vue +17 -19
- package/src/components/Notification/Notification.vue +17 -15
- package/src/components/Pagination/Pagination.vue +16 -16
- package/src/components/Rank/Rank.vue +17 -18
- package/src/components/Rankings/Rankings.vue +17 -27
- package/src/components/RecordCard/RecordCard.vue +17 -18
- package/src/components/Search/Search.vue +17 -17
- package/src/components/Slider/Slider.vue +17 -17
- package/src/components/SplitButton/README.md +19 -0
- package/src/components/SplitButton/SplitButton.vue +23 -0
- package/src/components/Tabs/Tabs.vue +17 -17
- package/src/components/VideoCard/VideoCard.vue +17 -18
- package/src/components/WordCount/WordCount.vue +22 -0
- package/src/index.js +2 -0
- package/assets/css/components/address-lookup.css +0 -1
- package/assets/css/components/address-lookup.css.map +0 -1
- package/assets/css/components/marketing.css +0 -1
- package/assets/css/components/marketing.css.map +0 -1
- package/assets/css/components/menu.css.map +0 -1
- package/assets/css/components/nav.old.css +0 -1
- package/assets/css/components/nav.old.css.map +0 -1
- package/assets/sass/components/nav.old.scss +0 -891
- /package/assets/sass/components/{menu.scss → menu.global.scss} +0 -0
|
@@ -105,63 +105,65 @@ const extendDialogs = (body) => {
|
|
|
105
105
|
}
|
|
106
106
|
// Popover
|
|
107
107
|
if (event && event.target instanceof HTMLElement && event.target.closest('.dialog__wrapper > button')) {
|
|
108
|
-
event.stopPropagation();
|
|
109
108
|
const btn = event.target.closest('.dialog__wrapper > button');
|
|
110
109
|
const parent = btn.parentNode;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
if (parent.querySelector('dialog')) {
|
|
111
|
+
event.stopPropagation();
|
|
112
|
+
let dataEvent = 'openPopover';
|
|
113
|
+
const popover = parent.querySelector(':scope > dialog');
|
|
114
|
+
// close open dialogs
|
|
115
|
+
if (document.querySelector('*:not([data-keep-open]) > dialog[open]') &&
|
|
116
|
+
document.querySelector('*:not([data-keep-open]) > dialog[open]') != popover) {
|
|
117
|
+
// Check that the ope dialog isn't a parent of the dialog being opened
|
|
118
|
+
if (btn.closest('dialog[open]') != document.querySelector('*:not([data-keep-open]) > dialog[open]')) {
|
|
119
|
+
document.querySelector('*:not([data-keep-open]) > dialog[open]').close();
|
|
120
|
+
}
|
|
119
121
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
btn.removeAttribute('aria-expanded');
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
popover.show();
|
|
133
|
-
btn.setAttribute('aria-expanded', true);
|
|
134
|
-
const position = btn.getBoundingClientRect();
|
|
135
|
-
let topOffset = position.top;
|
|
136
|
-
let leftOffset = position.left;
|
|
137
|
-
if (btn.closest('iam-table')) {
|
|
138
|
-
const container = btn.closest('iam-table').parentNode.getBoundingClientRect();
|
|
139
|
-
topOffset -= container.top;
|
|
140
|
-
leftOffset -= container.left;
|
|
122
|
+
// Remove active class from exiting active buttons
|
|
123
|
+
Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
|
|
124
|
+
btnElement.removeAttribute('aria-expanded');
|
|
125
|
+
});
|
|
126
|
+
if (popover.hasAttribute('open')) {
|
|
127
|
+
popover.close();
|
|
128
|
+
dataEvent = 'closePopover';
|
|
129
|
+
popover.removeAttribute('style');
|
|
130
|
+
btn.removeAttribute('aria-expanded');
|
|
141
131
|
}
|
|
142
|
-
|
|
143
|
-
popover.
|
|
132
|
+
else {
|
|
133
|
+
popover.show();
|
|
134
|
+
btn.setAttribute('aria-expanded', true);
|
|
135
|
+
const position = btn.getBoundingClientRect();
|
|
136
|
+
let topOffset = position.top;
|
|
137
|
+
let leftOffset = position.left;
|
|
138
|
+
if (btn.closest('iam-table')) {
|
|
139
|
+
const container = btn.closest('iam-table').parentNode.getBoundingClientRect();
|
|
140
|
+
topOffset -= container.top;
|
|
141
|
+
leftOffset -= container.left;
|
|
142
|
+
}
|
|
143
|
+
if (popover.classList.contains('dialog--fix')) {
|
|
144
|
+
popover.setAttribute('style', `position:fixed;top: ${topOffset}px; left: ${leftOffset}px; margin: 3rem 0 0 0;`);
|
|
145
|
+
}
|
|
144
146
|
}
|
|
147
|
+
// When the dialog is fixed it could dip under the viewport
|
|
148
|
+
// Lets check the dimensions and transform it to appear above
|
|
149
|
+
let boundingRec = popover.getBoundingClientRect();
|
|
150
|
+
const popoverBottom = boundingRec.bottom - window.scrollY;
|
|
151
|
+
const windowPos = window.innerHeight - window.scrollY;
|
|
152
|
+
if (popoverBottom > windowPos) {
|
|
153
|
+
const currentStyle = popover.hasAttribute('style') ? popover.getAttribute('style') + ' ' : '';
|
|
154
|
+
popover.setAttribute('style', currentStyle + `transform: translate(0, calc(-100% - 4rem))`);
|
|
155
|
+
// Check that the dialog doesn't go over the top of the page
|
|
156
|
+
boundingRec = popover.getBoundingClientRect();
|
|
157
|
+
const popoverTop = boundingRec.top - window.scrollY;
|
|
158
|
+
if (popoverTop < 100)
|
|
159
|
+
popover.removeAttribute('style');
|
|
160
|
+
}
|
|
161
|
+
window.dataLayer = window.dataLayer || [];
|
|
162
|
+
window.dataLayer.push({
|
|
163
|
+
event: dataEvent,
|
|
164
|
+
id: btn.textContent,
|
|
165
|
+
});
|
|
145
166
|
}
|
|
146
|
-
// When the dialog is fixed it could dip under the viewport
|
|
147
|
-
// Lets check the dimensions and transform it to appear above
|
|
148
|
-
let boundingRec = popover.getBoundingClientRect();
|
|
149
|
-
const popoverBottom = boundingRec.bottom - window.scrollY;
|
|
150
|
-
const windowPos = window.innerHeight - window.scrollY;
|
|
151
|
-
if (popoverBottom > windowPos) {
|
|
152
|
-
const currentStyle = popover.hasAttribute('style') ? popover.getAttribute('style') + ' ' : '';
|
|
153
|
-
popover.setAttribute('style', currentStyle + `transform: translate(0, calc(-100% - 4rem))`);
|
|
154
|
-
// Check that the dialog doesn't go over the top of the page
|
|
155
|
-
boundingRec = popover.getBoundingClientRect();
|
|
156
|
-
const popoverTop = boundingRec.top - window.scrollY;
|
|
157
|
-
if (popoverTop < 100)
|
|
158
|
-
popover.removeAttribute('style');
|
|
159
|
-
}
|
|
160
|
-
window.dataLayer = window.dataLayer || [];
|
|
161
|
-
window.dataLayer.push({
|
|
162
|
-
event: dataEvent,
|
|
163
|
-
id: btn.textContent,
|
|
164
|
-
});
|
|
165
167
|
}
|
|
166
168
|
// Close popovers when clicked away
|
|
167
169
|
if (event &&
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
// Create the event listeners
|
|
2
|
+
window.triggerDynamicEvent = (element, event = 'change') => {
|
|
3
|
+
console.log('event');
|
|
4
|
+
if (element.hasAttribute('data-change-events') && event == 'change')
|
|
5
|
+
splitEvents(element, element.getAttribute('data-change-events'));
|
|
6
|
+
if (element.hasAttribute('data-click-events') && event == 'click')
|
|
7
|
+
splitEvents(element, element.getAttribute('data-click-events'));
|
|
8
|
+
};
|
|
2
9
|
const createDynamicEvents = () => {
|
|
3
10
|
// Change event
|
|
4
11
|
document.addEventListener('change', (event) => {
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import hibpCheck from '../vendor/hibp.js';
|
|
2
2
|
const extendInputs = (body) => {
|
|
3
3
|
function loadInput() {
|
|
4
|
-
// maxlength counter init
|
|
5
|
-
Array.from(document.querySelectorAll('input[maxlength],textarea[maxlength]')).forEach((input) => {
|
|
6
|
-
const wrapper = input.parentElement;
|
|
7
|
-
setMaxlengthVars(input, wrapper);
|
|
8
|
-
});
|
|
9
4
|
Array.from(document.querySelectorAll('label input')).forEach((input) => {
|
|
10
5
|
if (!input.closest('label').querySelector('.optional-text') && !input.hasAttribute('required')) {
|
|
11
6
|
if (input.parentNode.tagName.toLowerCase() == 'span')
|
|
@@ -62,8 +57,6 @@ const extendInputs = (body) => {
|
|
|
62
57
|
// Output the color hex
|
|
63
58
|
if (input.hasAttribute('type') && input.getAttribute('type') == 'color')
|
|
64
59
|
input.nextElementSibling.value = input.value;
|
|
65
|
-
if (input.hasAttribute('maxlength') && input.nextElementSibling)
|
|
66
|
-
input.nextElementSibling.setAttribute('data-count', input.value.length);
|
|
67
60
|
if (input.hasAttribute('data-strength-checker'))
|
|
68
61
|
checkPWDStrength(input);
|
|
69
62
|
}
|
|
@@ -104,17 +97,6 @@ const extendInputs = (body) => {
|
|
|
104
97
|
}
|
|
105
98
|
});
|
|
106
99
|
};
|
|
107
|
-
export const setMaxlengthVars = (input) => {
|
|
108
|
-
const wrapper = input.parentElement;
|
|
109
|
-
const maxlength = input.getAttribute('maxlength');
|
|
110
|
-
wrapper.style.setProperty('--maxlength', maxlength);
|
|
111
|
-
let span = input.nextElementSibling;
|
|
112
|
-
if (!span || (span && span.classList.contains('invalid-feedback'))) {
|
|
113
|
-
span = document.createElement('span');
|
|
114
|
-
wrapper.insertBefore(span, input.nextSibling);
|
|
115
|
-
}
|
|
116
|
-
span.setAttribute('data-count', input.value.length);
|
|
117
|
-
};
|
|
118
100
|
export const changeType = (input, type) => {
|
|
119
101
|
if (input.hasAttribute('type') && input.getAttribute('type') == 'password')
|
|
120
102
|
input.setAttribute('data-password-type', true);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const showFuture = function (milestoneGroupElement) {
|
|
2
|
+
const futureToggle = milestoneGroupElement.dataset.showAllToggle;
|
|
3
|
+
if (!futureToggle) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const toggleBtn = document.createElement('button');
|
|
7
|
+
toggleBtn.innerHTML = 'Show next steps';
|
|
8
|
+
toggleBtn.classList.add('btn', 'btn-tertiary', 'show-all-toggle');
|
|
9
|
+
milestoneGroupElement.appendChild(toggleBtn);
|
|
10
|
+
toggleBtn.addEventListener('click', () => {
|
|
11
|
+
if (milestoneGroupElement.classList.contains('show-all')) {
|
|
12
|
+
toggleBtn.innerHTML = 'Show next steps';
|
|
13
|
+
milestoneGroupElement.classList.remove('show-all');
|
|
14
|
+
toggleInteractionEvent('hide-future-items', milestoneGroupElement);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
toggleBtn.innerHTML = 'Hide next steps';
|
|
18
|
+
milestoneGroupElement.classList.add('show-all');
|
|
19
|
+
toggleInteractionEvent('show-future-items', milestoneGroupElement);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const toggleInteractionEvent = function (eventName, element) {
|
|
24
|
+
const customEvent = new CustomEvent(eventName, {});
|
|
25
|
+
element.dispatchEvent(customEvent);
|
|
26
|
+
};
|
|
27
|
+
const milestoneGroup = function (milestoneGroupElement) {
|
|
28
|
+
showFuture(milestoneGroupElement);
|
|
29
|
+
};
|
|
30
|
+
export default milestoneGroup;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export const setStatus = function (milestoneElement) {
|
|
2
|
+
const status = milestoneElement.dataset.status;
|
|
3
|
+
if (!status) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const milestoneWrap = milestoneElement.shadowRoot.querySelector('.milestone-wrap');
|
|
7
|
+
const statusTag = document.createElement('span');
|
|
8
|
+
statusTag.setAttribute('part', 'status');
|
|
9
|
+
statusTag.classList.add('milestone-status');
|
|
10
|
+
statusTag.innerHTML = `${status} Step`;
|
|
11
|
+
if (status === 'Current') {
|
|
12
|
+
milestoneElement.classList.add('current');
|
|
13
|
+
}
|
|
14
|
+
milestoneWrap.insertAdjacentElement('afterbegin', statusTag);
|
|
15
|
+
};
|
|
16
|
+
export const getMilestoneTasks = function (milestoneElement) {
|
|
17
|
+
const taskWrap = milestoneElement.shadowRoot.querySelector('.task-wrap');
|
|
18
|
+
const tasks = milestoneElement.dataset.items ? JSON.parse(milestoneElement.dataset.items) : [];
|
|
19
|
+
if (!tasks.length) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
tasks.forEach((task) => {
|
|
23
|
+
const taskItem = document.createElement('details');
|
|
24
|
+
const taskName = document.createElement('summary');
|
|
25
|
+
const detailsWrap = document.createElement('div');
|
|
26
|
+
const taskDescription = document.createElement('p');
|
|
27
|
+
detailsWrap.classList.add('task-details');
|
|
28
|
+
taskName.innerHTML = task.name;
|
|
29
|
+
if (task.date_completed) {
|
|
30
|
+
taskName.classList.add('complete');
|
|
31
|
+
}
|
|
32
|
+
taskItem.appendChild(taskName);
|
|
33
|
+
if (task.description) {
|
|
34
|
+
taskDescription.innerHTML = task.description;
|
|
35
|
+
detailsWrap.appendChild(taskDescription);
|
|
36
|
+
}
|
|
37
|
+
if (task.actions.length) {
|
|
38
|
+
detailsWrap.appendChild(getSubtasks(task.actions, taskName));
|
|
39
|
+
}
|
|
40
|
+
taskItem.appendChild(detailsWrap);
|
|
41
|
+
taskWrap.insertAdjacentElement('beforeend', taskItem);
|
|
42
|
+
// Fire tracking events
|
|
43
|
+
taskItem.addEventListener('click', () => {
|
|
44
|
+
if (taskItem === null || taskItem === void 0 ? void 0 : taskItem.hasAttribute('open')) {
|
|
45
|
+
itemInteractionEvent('milestone-item-closed', task.name, milestoneElement);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
itemInteractionEvent('milestone-item-opened', task.name, milestoneElement);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
milestoneElement.appendChild(taskWrap);
|
|
53
|
+
};
|
|
54
|
+
const itemInteractionEvent = function (eventName, taskName, element) {
|
|
55
|
+
const customEvent = new CustomEvent(eventName, {
|
|
56
|
+
detail: {
|
|
57
|
+
title: taskName,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
element.dispatchEvent(customEvent);
|
|
61
|
+
};
|
|
62
|
+
const getSubtasks = function (actions, taskName) {
|
|
63
|
+
const actionsWrap = document.createElement('ul');
|
|
64
|
+
const totalCount = actions.length;
|
|
65
|
+
const completed = actions.filter((action) => action.date_completed);
|
|
66
|
+
const completedCount = completed.length || 0;
|
|
67
|
+
if (totalCount < 1) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
taskName.innerHTML += ` (${completedCount}/${totalCount})`;
|
|
71
|
+
actions.forEach((action) => {
|
|
72
|
+
const actionItem = document.createElement('li');
|
|
73
|
+
const actionCompletedDate = document.createElement('span');
|
|
74
|
+
if (action.date_completed) {
|
|
75
|
+
actionItem.classList.add('complete');
|
|
76
|
+
actionCompletedDate.classList.add('action-date');
|
|
77
|
+
actionCompletedDate.innerHTML = action.date_completed;
|
|
78
|
+
}
|
|
79
|
+
actionItem.innerHTML = action.action;
|
|
80
|
+
actionItem.appendChild(actionCompletedDate);
|
|
81
|
+
actionsWrap.appendChild(actionItem);
|
|
82
|
+
});
|
|
83
|
+
return actionsWrap;
|
|
84
|
+
};
|
|
85
|
+
const milestone = function (milestoneElement) {
|
|
86
|
+
setStatus(milestoneElement);
|
|
87
|
+
getMilestoneTasks(milestoneElement);
|
|
88
|
+
};
|
|
89
|
+
export default milestone;
|
|
@@ -296,7 +296,17 @@ export const setupAdvancedTable = (component, table) => {
|
|
|
296
296
|
: document.querySelector(`iam-actionbar[data-for='${component.getAttribute('id')}']`);
|
|
297
297
|
addSelectboxes(component, table, actionbar);
|
|
298
298
|
}
|
|
299
|
-
component.querySelectorAll('.dialog__wrapper .btn-compact').forEach((btn) => {
|
|
299
|
+
component.querySelectorAll('.dialog__wrapper .btn-compact').forEach((btn, index) => {
|
|
300
|
+
const wrapper = btn.closest('.dialog__wrapper');
|
|
301
|
+
const dialog = wrapper.querySelector('dialog');
|
|
302
|
+
// Transform dialog into a menu custom element
|
|
303
|
+
if (dialog) {
|
|
304
|
+
const id = `menu${uniqueID(index)}`;
|
|
305
|
+
dialog.setAttribute('id', id);
|
|
306
|
+
dialog.setAttribute('popover', 'auto');
|
|
307
|
+
btn.setAttribute('popovertarget', id);
|
|
308
|
+
dialog.outerHTML = dialog.outerHTML.replace(/<dialog/g, '<iam-menu').replace(/<\/dialog>/g, '</iam-menu>');
|
|
309
|
+
}
|
|
300
310
|
btn.classList.add('btn-sm');
|
|
301
311
|
btn.classList.add('m-0');
|
|
302
312
|
const tr = btn.closest('tr');
|
|
@@ -17,7 +17,7 @@ const videoSupport = (body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
18
|
const loaded = yield loadYouTubeScripts();
|
|
19
19
|
}
|
|
20
|
-
}),
|
|
20
|
+
}), '2000');
|
|
21
21
|
body.addEventListener('click', (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
22
|
let target = event.target.closest('.youtube-link[data-youtube]');
|
|
23
23
|
if (!target) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.
|
|
2
|
+
* iamKey v7.5.0
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
|
-
*/(function(
|
|
5
|
-
`),i=a.slice(5).toUpperCase(),c=!1;for(var n in o)if(o[n].substring(0,35)==i){c=!0;break}var l=new CustomEvent("hibpCheck",{detail:c});e.dispatchEvent(l)}),t.open("GET","https://api.pwnedpasswords.com/range/"+a.substr(0,5)),t.send()})},V=r=>{function e(){if(Array.from(document.querySelectorAll("input[maxlength],textarea[maxlength]")).forEach(t=>{t.parentElement,N(t)}),Array.from(document.querySelectorAll("label input")).forEach(t=>{!t.closest("label").querySelector(".optional-text")&&!t.hasAttribute("required")&&(t.parentNode.tagName.toLowerCase()=="span"?t.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):t.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let t=function(o){var i=o.getFullYear(),c=String(o.getMonth()+1).padStart(2,"0"),n=String(o.getDate()).padStart(2,"0");return"".concat(i,"-").concat(c,"-").concat(n)};var a=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(o=>{var i=a;if(o.hasAttribute("data-start")&&(i.setDate(i.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",t(i))),o.hasAttribute("data-period")){var c=parseInt(o.getAttribute("data-period")),n=new Date;n.setDate(i.getDate()+c),o.setAttribute("max",t(n))}if(o.hasAttribute("data-allowed-days")){var l=JSON.parse("[".concat(o.getAttribute("data-allowed-days"),"]"));o.addEventListener("input",function(){var s=new Date(this.value).getUTCDay();l.includes(s)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&e(),document.onreadystatechange=()=>{document.readyState==="complete"&&e()},r.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){var t=a.target.closest("input,textarea,select");t.hasAttribute("type")&&t.getAttribute("type")=="color"&&(t.nextElementSibling.value=t.value),t.hasAttribute("maxlength")&&t.nextElementSibling&&t.nextElementSibling.setAttribute("data-count",t.value.length),t.hasAttribute("data-strength-checker")&&b(t)}}),r.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){var t=a.target.closest("select");if(t.hasAttribute("data-change-type")&&t.hasAttribute("data-input")){var o=document.getElementById(t.getAttribute("data-input")),i=t.value;L(o,i)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){var c=a.target.closest("dialog");Array.from(c.querySelectorAll('[type="radio"][autofocus]')).forEach(n=>{n.removeAttribute("autofocus")}),Array.from(c.querySelectorAll('[type="radio"]:checked')).forEach(n=>{n.setAttribute("autofocus",!0)})}}),r.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){var t=a.target.closest("[data-change-type]"),o=document.getElementById(t.getAttribute("data-input")),i=t.getAttribute("data-change-type");if(t.setAttribute("data-change-type",o.getAttribute("type")),L(o,i),t.hasAttribute("data-alt-class")){var c=t.getAttribute("data-alt-class");t.setAttribute("data-alt-class",t.getAttribute("class")),t.setAttribute("class",c)}}})},N=r=>{var e=r.parentElement,a=r.getAttribute("maxlength");e.style.setProperty("--maxlength",a);var t=r.nextElementSibling;(!t||t&&t.classList.contains("invalid-feedback"))&&(t=document.createElement("span"),e.insertBefore(t,r.nextSibling)),t.setAttribute("data-count",r.value.length)},L=(r,e)=>{r.hasAttribute("type")&&r.getAttribute("type")=="password"&&r.setAttribute("data-password-type",!0),r.setAttribute("type",e)},b=function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",t=document.getElementById(e.getAttribute("data-strength-checker")),o=e.value,i=e.hasAttribute("minlength")?e.getAttribute("minlength"):12,c=1,n=["Very weak","Weak","Average","Strong","Very strong"],l="";if(o.match(/(?=.*[0-9])/)&&(c+=1),o.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(c+=1),o.match(/(?=.*[a-z])/)&&(c+=1),o.match(/(?=.*[A-Z])/)&&(c+=1),o.length<i&&(c=1,l="(must be at least ".concat(i," characters.)")),c>=3&&a=="no"){let s=function(d,u){d.detail?b(u,"danger"):b(u,"success"),u.removeEventListener("hibpCheck",s)};B(o,e),e.addEventListener("hibpCheck",function(d){s(d,e)})}else c>=3&&a=="danger"&&(c=3,l="(this password is very common)");t&&(c<=3?t.classList.add("invalid-feedback"):t.classList.remove("invalid-feedback"),t.setAttribute("data-strength",c),t.innerHTML="Password strength: ".concat(n[c-1]," ").concat(l))},Y=()=>{document.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&v(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&v(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-click-events]")&&v(r.target,r.target.closest("[data-click-events]").getAttribute("data-click-events"))})},v=(r,e)=>{if(e||(e=r.parentNode.getAttribute("data-change-events")),!e)return!1;Array.from(JSON.parse(e)).forEach(a=>{P(r,a)})},P=(r,e)=>{if("matches"in e)return e.matches=="any"||r.value==e.matches?m(r,e,"if"):m(r,e,"else"),!1;if("in-list"in e){var a=document.querySelector("".concat(e["in-list"],' option[value="').concat(r.value,'"]'));return document.querySelector("".concat(e["in-list"],' option[value="').concat(r.value,'"]'))?m(a,e,"if"):m(a,e,"else"),!1}else"event"in e&&m(r,e,"event")},m=(r,e,a)=>{if(!(a in e))return!1;switch(e[a]){case"hide":if(document.querySelector(e.target)){var t=document.querySelector(e.target);t.classList.add("js-hide"),Array.from(t.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(e.target)){var o=document.querySelector(e.target);o.classList.remove("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":j(r,e);break;case"dispatchEvent":var i=new Event(e.value);document.querySelector("".concat(e.target)).dispatchEvent(i);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n){n.setAttribute(e.attribute,e.value)});break;case"focus":document.querySelector("".concat(e.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n){n.removeAttribute(e.attribute)});break;case"updateValue":document.querySelector("".concat(e.target)).value=e.value?e.value:"";var c=new Event("change");document.querySelector("".concat(e.target)).dispatchEvent(c);break;case"submitForm":document.querySelector("".concat(e.target)).submit();break;case"openLink":document.querySelector("".concat(e.target)).value&&(window.location.href=document.querySelector("".concat(e.target)).value);break}},j=function(e,a){var t=JSON.parse(e.getAttribute("data-values")),o=document.querySelector(a.target);if(!t)return!1;Object.keys(t).forEach(i=>{document.getElementById(i)&&document.getElementById(i).tagName=="SPAN"&&(document.getElementById(i).innerHTML=t[i]),o.querySelector('select[name="'.concat(i,'"] [value="').concat(t[i],'"]'))?(o.querySelector('select[name="'.concat(i,'"]')).value=t[i],e.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(i,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(t[i],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(i,'"][type="radio"]'))).forEach(function(c){c.disabled=!0}),o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(t[i],'"]')).checked=!0,o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(t[i],'"]')).disabled=!1):o.querySelector('input[name="'.concat(i,'"]'))&&(o.querySelector('input[name="'.concat(i,'"]')).value=t[i],e.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(i,'"]')).setAttribute("readonly","true"))})},p=function(r,e,a,t){function o(i){return i instanceof a?i:new a(function(c){c(i)})}return new(a||(a=Promise))(function(i,c){function n(d){try{s(t.next(d))}catch(u){c(u)}}function l(d){try{s(t.throw(d))}catch(u){c(u)}}function s(d){d.done?i(d.value):o(d.value).then(n,l)}s((t=t.apply(r,e||[])).next())})},_=r=>p(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w()),setTimeout(()=>p(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w())}),"2000"),r.addEventListener("click",e=>p(void 0,void 0,void 0,function*(){var a=e.target.closest(".youtube-link[data-youtube]");if(a||(a=e.target.closest(".vimeo-link[data-vimeo]")),a&&a.hasAttribute("data-youtube")){e.preventDefault(),document.body.classList.contains("youtubeLoaded")||(yield w());var t="youtube-"+a.getAttribute("data-youtube");document.getElementById("".concat(t,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(t,'-dialog"><div class="embed" id="').concat(t,'"></div></dialog>'));var o=document.getElementById("".concat(t,"-dialog")),i=document.getElementById(t),c=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:a.getAttribute("data-youtube")}});a.dispatchEvent(c),window.dataLayer.push(c.detail),R(i,a.getAttribute("data-youtube")),o.showModal(),o.addEventListener("close",()=>{window.player[i.getAttribute("id")]&&typeof window.player[i.getAttribute("id")].pauseVideo=="function"&&window.player[i.getAttribute("id")].pauseVideo();var f=new CustomEvent("close-video",{detail:{"Video Type":"YoutTube",ID:a.getAttribute("data-youtube")}});a.dispatchEvent(f),window.dataLayer.push(f.detail)})}else if(a&&a.hasAttribute("data-vimeo")){e.preventDefault();var n="vimeo-"+a.getAttribute("data-youtube");document.getElementById("".concat(n,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(n,'-dialog"><div class="embed" id="').concat(n,'"></div></dialog>'));var l=document.getElementById("".concat(n,"-dialog")),s=document.getElementById(n),d=a.getAttribute("data-vimeo"),u=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:d}});a.dispatchEvent(u),window.dataLayer.push(u.detail),s.querySelector("iframe")||(s.innerHTML='<iframe src="https://player.vimeo.com/video/'.concat(d,'?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>')),l.showModal(),l.addEventListener("close",()=>{s.innerHTML="";var f=new CustomEvent("close-video",{detail:{"Video Type":"Vimeo",ID:a.getAttribute("data-vimeo")}});a.dispatchEvent(f),window.dataLayer.push(f.detail)})}}))}),w=()=>p(void 0,void 0,void 0,function*(){return new Promise((r,e)=>{var a=new Image;a.onload=function(){var t=document.createElement("script");t.src="https://www.youtube.com/iframe_api";var o=document.getElementsByTagName("script")[0];o.parentNode.insertBefore(t,o),document.body.classList.add("youtubeLoaded"),r(!0)},a.onerror=function(){e(!1)},a.src="https://youtube.com/favicon.ico"})}),R=(r,e)=>p(void 0,void 0,void 0,function*(){typeof window.player>"u"&&(window.player=[]);var a=r.getAttribute("id");if(typeof window.player[a]<"u"&&typeof window.player[a].pauseVideo=="function")return window.player[a].playVideo(),!1;window.player[a]=new YT.Player(a,{height:"100%",width:"100%",videoId:e,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:t,onStateChange:i}});function t(c){c.target.playVideo()}var o=!1;function i(c){if(c.data==YT.PlayerState.PLAYING&&!o){var n=document.getElementById(a);n.classList.add("player-ready"),o=!0}}}),O=function(r,e,a,t){function o(i){return i instanceof a?i:new a(function(c){c(i)})}return new(a||(a=Promise))(function(i,c){function n(d){try{s(t.next(d))}catch(u){c(u)}}function l(d){try{s(t.throw(d))}catch(u){c(u)}}function s(d){d.done?i(d.value):o(d.value).then(n,l)}s((t=t.apply(r,e||[])).next())})};document.addEventListener("DOMContentLoaded",()=>O(void 0,void 0,void 0,function*(){I(),Y(),h(document.body),C(),H(document.body),V(document.body),_(document.body)}))});
|
|
4
|
+
*/(function(b){typeof define=="function"&&define.amd?define(b):b()})((function(){"use strict";var b=r=>{r.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&r.classList.add("ie")},H=r=>{var t=function(a){var o=document.querySelector('label[for="'.concat(a.replace("#",""),'"]')),i=document.querySelector(a+" summary"),c=document.querySelector("dialog".concat(a)),n=document.querySelector("detail".concat(a));o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.click():c instanceof HTMLElement?c.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&e.state.type=="pagination"){var a=document.querySelector("#".concat(e.state.form)),o=document.querySelector("#".concat(e.state.form," [data-pagination]"));o?o.value=e.state.page:a.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),a.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",e=>{if(e&&e.target instanceof HTMLElement&&e.target.matches("form")){var a=e.target;Array.from(a.querySelectorAll("[data-password-type]")).forEach(o=>{o.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),e.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),e.preventDefault())}}),document.addEventListener("keydown",e=>{e.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{var a=e.closest("label");a.setAttribute("data-percent",e.getAttribute("value"))})},D=r=>(Array.from(r.querySelectorAll("dialog[open]")).forEach(t=>{var e=t.closest(".dialog__wrapper");e||(t.removeAttribute("open"),t.showModal(),t.focus(),L(t))}),r.addEventListener("click",t=>{if(t.target.tagName=="IAM-ACTIONBAR")return!1;if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-modal]")){var e=t.target.closest("[data-modal]"),a=e.hasAttribute("data-modal")?e.getAttribute("data-modal"):e.getAttribute("data-filter"),o=document.querySelector("dialog#".concat(a));if(L(o),o.showModal(),o.focus(),!o.querySelector("iam-multi-step")){var i=o.offsetWidth;o.setAttribute("style","max-width: ".concat(i,"px;"))}Array.from(o.querySelectorAll("[data-duplicate]")).forEach(g=>{var U=g.getAttribute("data-duplicate"),x=document.getElementById(U);if(g.checked!=x.checked){g.checked=x.checked;var X=new Event("change");g.dispatchEvent(X)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:a})}if(t&&t.target instanceof HTMLElement&&t.target.closest("button.dialog__close")){var c=t.target.closest("dialog[open]");t.preventDefault(),c.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.classList.remove("active")});var n=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:c.id}});t.target.dispatchEvent(n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:c.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest('button[formmethod="dialog"]')){var l=t.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest("dialog[open]")){var s=t.target.closest("dialog[open]"),d=window.getComputedStyle(s);if(d.display==="contents"&&(s=s.parentNode.closest("dialog[open]")),!s.classList.contains("dialog--transactional")&&!s.classList.contains("dialog--acknowledgement")){var u=s.getBoundingClientRect();(t.clientX<u.left||t.clientX>u.right||t.clientY<u.top||t.clientY>u.bottom)&&(t.target.closest("dialog *")||s.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:s.getAttribute("id")}))}}if(t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__wrapper > button")){var f=t.target.closest(".dialog__wrapper > button"),S=f.parentNode;if(S.querySelector("dialog")){t.stopPropagation();var q="openPopover",y=S.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=y&&f.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.removeAttribute("aria-expanded")}),y.hasAttribute("open"))y.close(),q="closePopover",y.removeAttribute("style"),f.removeAttribute("aria-expanded");else{y.show(),f.setAttribute("aria-expanded",!0);var k=f.getBoundingClientRect(),T=k.top,M=k.left;if(f.closest("iam-table")){var C=f.closest("iam-table").parentNode.getBoundingClientRect();T-=C.top,M-=C.left}y.classList.contains("dialog--fix")&&y.setAttribute("style","position:fixed;top: ".concat(T,"px; left: ").concat(M,"px; margin: 3rem 0 0 0;"))}var A=y.getBoundingClientRect(),F=A.bottom-window.scrollY,W=window.innerHeight-window.scrollY;if(F>W){var G=y.hasAttribute("style")?y.getAttribute("style")+" ":"";y.setAttribute("style",G+"transform: translate(0, calc(-100% - 4rem))"),A=y.getBoundingClientRect();var J=A.top-window.scrollY;J<100&&y.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:q,id:f.textContent})}}t&&t.target instanceof HTMLElement&&!t.target.closest("dialog[open]")&&!t.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach(g=>{g.removeAttribute("aria-expanded")}))}),null),L=r=>{if(!r.querySelector(":scope .mh-lg")&&!r.querySelector("iam-multi-step")){r.innerHTML='<div class="mh-lg">'.concat(r.innerHTML,"</div>");var t=r.querySelector(".mh-lg"),e=r.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(e){var a=e.previousSibling;t.before(e),a&&e.before(a)}}r.querySelector(":scope > button:first-child")||r.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function I(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",r=>{var t=r.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var e=r.target.closest("summary"),a=r.target.closest("a"),o=r.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),a&&window.dataLayer.push({event:"linkClicked",linkText:a.hasAttribute("title")?a.getAttribute("title")||"":a.textContent||"",class:a.hasAttribute("class")&&a.getAttribute("class")||"",href:a.getAttribute("href")||""}),o&&window.dataLayer.push({event:"buttonClicked",buttonText:o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||""})}})}function B(r){var t=new TextEncoder("utf-8").encode(r);return crypto.subtle.digest("SHA-1",t).then(function(e){for(var a=[],o=new DataView(e),i=0;i<o.byteLength;i+=4){var c=o.getUint32(i),n=c.toString(16),l="00000000",s=(l+n).slice(-l.length);a.push(s)}return a.join("")})}var V=(r,t)=>{B(r).then(function(e){var a=new XMLHttpRequest;a.addEventListener("load",function(){var o=this.responseText.split(`
|
|
5
|
+
`),i=e.slice(5).toUpperCase(),c=!1;for(var n in o)if(o[n].substring(0,35)==i){c=!0;break}var l=new CustomEvent("hibpCheck",{detail:c});t.dispatchEvent(l)}),a.open("GET","https://api.pwnedpasswords.com/range/"+e.substr(0,5)),a.send()})},N=r=>{function t(){if(Array.from(document.querySelectorAll("label input")).forEach(a=>{!a.closest("label").querySelector(".optional-text")&&!a.hasAttribute("required")&&(a.parentNode.tagName.toLowerCase()=="span"?a.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):a.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let a=function(o){var i=o.getFullYear(),c=String(o.getMonth()+1).padStart(2,"0"),n=String(o.getDate()).padStart(2,"0");return"".concat(i,"-").concat(c,"-").concat(n)};var e=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(o=>{var i=e;if(o.hasAttribute("data-start")&&(i.setDate(i.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",a(i))),o.hasAttribute("data-period")){var c=parseInt(o.getAttribute("data-period")),n=new Date;n.setDate(i.getDate()+c),o.setAttribute("max",a(n))}if(o.hasAttribute("data-allowed-days")){var l=JSON.parse("[".concat(o.getAttribute("data-allowed-days"),"]"));o.addEventListener("input",function(){var s=new Date(this.value).getUTCDay();l.includes(s)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&t(),document.onreadystatechange=()=>{document.readyState==="complete"&&t()},r.addEventListener("input",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("input,textarea,select")){var a=e.target.closest("input,textarea,select");a.hasAttribute("type")&&a.getAttribute("type")=="color"&&(a.nextElementSibling.value=a.value),a.hasAttribute("data-strength-checker")&&v(a)}}),r.addEventListener("change",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("select")){var a=e.target.closest("select");if(a.hasAttribute("data-change-type")&&a.hasAttribute("data-input")){var o=document.getElementById(a.getAttribute("data-input")),i=a.value;E(o,i)}}if(e&&e.target instanceof HTMLElement&&e.target.closest('dialog [type="radio"]')){var c=e.target.closest("dialog");Array.from(c.querySelectorAll('[type="radio"][autofocus]')).forEach(n=>{n.removeAttribute("autofocus")}),Array.from(c.querySelectorAll('[type="radio"]:checked')).forEach(n=>{n.setAttribute("autofocus",!0)})}}),r.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-type][data-input]:not(select)")){var a=e.target.closest("[data-change-type]"),o=document.getElementById(a.getAttribute("data-input")),i=a.getAttribute("data-change-type");if(a.setAttribute("data-change-type",o.getAttribute("type")),E(o,i),a.hasAttribute("data-alt-class")){var c=a.getAttribute("data-alt-class");a.setAttribute("data-alt-class",a.getAttribute("class")),a.setAttribute("class",c)}}})},E=(r,t)=>{r.hasAttribute("type")&&r.getAttribute("type")=="password"&&r.setAttribute("data-password-type",!0),r.setAttribute("type",t)},v=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",a=document.getElementById(t.getAttribute("data-strength-checker")),o=t.value,i=t.hasAttribute("minlength")?t.getAttribute("minlength"):12,c=1,n=["Very weak","Weak","Average","Strong","Very strong"],l="";if(o.match(/(?=.*[0-9])/)&&(c+=1),o.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(c+=1),o.match(/(?=.*[a-z])/)&&(c+=1),o.match(/(?=.*[A-Z])/)&&(c+=1),o.length<i&&(c=1,l="(must be at least ".concat(i," characters.)")),c>=3&&e=="no"){let s=function(d,u){d.detail?v(u,"danger"):v(u,"success"),u.removeEventListener("hibpCheck",s)};V(o,t),t.addEventListener("hibpCheck",function(d){s(d,t)})}else c>=3&&e=="danger"&&(c=3,l="(this password is very common)");a&&(c<=3?a.classList.add("invalid-feedback"):a.classList.remove("invalid-feedback"),a.setAttribute("data-strength",c),a.innerHTML="Password strength: ".concat(n[c-1]," ").concat(l))};window.triggerDynamicEvent=function(r){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),r.hasAttribute("data-change-events")&&t=="change"&&p(r,r.getAttribute("data-change-events")),r.hasAttribute("data-click-events")&&t=="click"&&p(r,r.getAttribute("data-click-events"))};var Y=()=>{document.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&p(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&p(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-click-events]")&&p(r.target,r.target.closest("[data-click-events]").getAttribute("data-click-events"))})},p=(r,t)=>{if(t||(t=r.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(e=>{j(r,e)})},j=(r,t)=>{if("matches"in t)return t.matches=="any"||r.value==t.matches?m(r,t,"if"):m(r,t,"else"),!1;if("in-list"in t){var e=document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'))?m(e,t,"if"):m(e,t,"else"),!1}else"event"in t&&m(r,t,"event")},m=(r,t,e)=>{if(!(e in t))return!1;switch(t[e]){case"hide":if(document.querySelector(t.target)){var a=document.querySelector(t.target);a.classList.add("js-hide"),Array.from(a.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var o=document.querySelector(t.target);o.classList.remove("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":P(r,t);break;case"dispatchEvent":var i=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var c=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(c);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},P=function(t,e){var a=JSON.parse(t.getAttribute("data-values")),o=document.querySelector(e.target);if(!a)return!1;Object.keys(a).forEach(i=>{document.getElementById(i)&&document.getElementById(i).tagName=="SPAN"&&(document.getElementById(i).innerHTML=a[i]),o.querySelector('select[name="'.concat(i,'"] [value="').concat(a[i],'"]'))?(o.querySelector('select[name="'.concat(i,'"]')).value=a[i],t.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(i,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(i,'"][type="radio"]'))).forEach(function(c){c.disabled=!0}),o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]')).checked=!0,o.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]')).disabled=!1):o.querySelector('input[name="'.concat(i,'"]'))&&(o.querySelector('input[name="'.concat(i,'"]')).value=a[i],t.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(i,'"]')).setAttribute("readonly","true"))})},h=function(r,t,e,a){function o(i){return i instanceof e?i:new e(function(c){c(i)})}return new(e||(e=Promise))(function(i,c){function n(d){try{s(a.next(d))}catch(u){c(u)}}function l(d){try{s(a.throw(d))}catch(u){c(u)}}function s(d){d.done?i(d.value):o(d.value).then(n,l)}s((a=a.apply(r,t||[])).next())})},_=r=>h(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w()),setTimeout(()=>h(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w())}),"2000"),r.addEventListener("click",t=>h(void 0,void 0,void 0,function*(){var e=t.target.closest(".youtube-link[data-youtube]");if(e||(e=t.target.closest(".vimeo-link[data-vimeo]")),e&&e.hasAttribute("data-youtube")){t.preventDefault(),document.body.classList.contains("youtubeLoaded")||(yield w());var a="youtube-"+e.getAttribute("data-youtube");document.getElementById("".concat(a,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(a,'-dialog"><div class="embed" id="').concat(a,'"></div></dialog>'));var o=document.getElementById("".concat(a,"-dialog")),i=document.getElementById(a),c=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:e.getAttribute("data-youtube")}});e.dispatchEvent(c),window.dataLayer.push(c.detail),R(i,e.getAttribute("data-youtube")),o.showModal(),o.addEventListener("close",()=>{window.player[i.getAttribute("id")]&&typeof window.player[i.getAttribute("id")].pauseVideo=="function"&&window.player[i.getAttribute("id")].pauseVideo();var f=new CustomEvent("close-video",{detail:{"Video Type":"YoutTube",ID:e.getAttribute("data-youtube")}});e.dispatchEvent(f),window.dataLayer.push(f.detail)})}else if(e&&e.hasAttribute("data-vimeo")){t.preventDefault();var n="vimeo-"+e.getAttribute("data-youtube");document.getElementById("".concat(n,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(n,'-dialog"><div class="embed" id="').concat(n,'"></div></dialog>'));var l=document.getElementById("".concat(n,"-dialog")),s=document.getElementById(n),d=e.getAttribute("data-vimeo"),u=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:d}});e.dispatchEvent(u),window.dataLayer.push(u.detail),s.querySelector("iframe")||(s.innerHTML='<iframe src="https://player.vimeo.com/video/'.concat(d,'?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>')),l.showModal(),l.addEventListener("close",()=>{s.innerHTML="";var f=new CustomEvent("close-video",{detail:{"Video Type":"Vimeo",ID:e.getAttribute("data-vimeo")}});e.dispatchEvent(f),window.dataLayer.push(f.detail)})}}))}),w=()=>h(void 0,void 0,void 0,function*(){return new Promise((r,t)=>{var e=new Image;e.onload=function(){var a=document.createElement("script");a.src="https://www.youtube.com/iframe_api";var o=document.getElementsByTagName("script")[0];o.parentNode.insertBefore(a,o),document.body.classList.add("youtubeLoaded"),r(!0)},e.onerror=function(){t(!1)},e.src="https://youtube.com/favicon.ico"})}),R=(r,t)=>h(void 0,void 0,void 0,function*(){typeof window.player>"u"&&(window.player=[]);var e=r.getAttribute("id");if(typeof window.player[e]<"u"&&typeof window.player[e].pauseVideo=="function")return window.player[e].playVideo(),!1;window.player[e]=new YT.Player(e,{height:"100%",width:"100%",videoId:t,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:a,onStateChange:i}});function a(c){c.target.playVideo()}var o=!1;function i(c){if(c.data==YT.PlayerState.PLAYING&&!o){var n=document.getElementById(e);n.classList.add("player-ready"),o=!0}}}),O=function(r,t,e,a){function o(i){return i instanceof e?i:new e(function(c){c(i)})}return new(e||(e=Promise))(function(i,c){function n(d){try{s(a.next(d))}catch(u){c(u)}}function l(d){try{s(a.throw(d))}catch(u){c(u)}}function s(d){d.done?i(d.value):o(d.value).then(n,l)}s((a=a.apply(r,t||[])).next())})};document.addEventListener("DOMContentLoaded",()=>O(void 0,void 0,void 0,function*(){I(),Y(),b(document.body),H(),D(document.body),N(document.body),_(document.body)}))}));
|
|
6
6
|
//# sourceMappingURL=scripts.bundle.js.map
|