@swisspost/internet-header 1.16.5 → 10.1.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/dist/cjs/_commonjsHelpers-BJu3ubxk.js +10 -0
- package/dist/cjs/ar-B-n6-52-.js +56 -0
- package/dist/cjs/bg-DXwp1AJo.js +56 -0
- package/dist/cjs/breakpoints-CI0Xuh1L.js +46 -0
- package/dist/cjs/ca-DzXDkiON.js +56 -0
- package/dist/cjs/component-on-ready-CifOTqw1.js +24 -0
- package/dist/cjs/create-validator-decorator-CJK3Xf77.js +223 -0
- package/dist/cjs/cs-c0Y4EfUF.js +56 -0
- package/dist/cjs/da-DFMBgc6C.js +56 -0
- package/dist/cjs/de-DUAVb6Ak.js +56 -0
- package/dist/cjs/debounce-BsIBi_-2.js +13 -0
- package/dist/cjs/el-CbYcnCa3.js +56 -0
- package/dist/cjs/en-CrTBxie0.js +56 -0
- package/dist/cjs/es-DVC34Sen.js +56 -0
- package/dist/cjs/eu-zLFC9jS7.js +56 -0
- package/dist/cjs/event-from-CwMw19f8.js +121 -0
- package/dist/cjs/fade-CPQhl1fP.js +26 -0
- package/dist/cjs/fade-slide-dPhQa-I1.js +38 -0
- package/dist/cjs/fi-DKf7Bwed.js +56 -0
- package/dist/cjs/focusable-COT2uiEV.js +5037 -0
- package/dist/cjs/fr--iQzTO3c.js +56 -0
- package/dist/cjs/get-focusable-children-BGVgg7Te.js +93 -0
- package/dist/cjs/get-root-B1FnQ50K.js +15 -0
- package/dist/cjs/hr-YvmCfo4N.js +56 -0
- package/dist/cjs/hu-tf8VP2jG.js +56 -0
- package/dist/cjs/id-ddjNpn4H.js +56 -0
- package/dist/cjs/index-B5ypPkK3.js +2404 -0
- package/dist/cjs/index-CggFmZ8n.js +164 -0
- package/dist/cjs/index.cjs.js +6 -32
- package/dist/cjs/it-DnNyP8lg.js +56 -0
- package/dist/cjs/ja-Bx4WkhVw.js +56 -0
- package/dist/cjs/ko-B9B6WoKJ.js +56 -0
- package/dist/cjs/loader.cjs.js +3 -5
- package/dist/cjs/nanoid-CmjyF1Cm.js +20 -0
- package/dist/cjs/nb-xcvCV-TT.js +56 -0
- package/dist/cjs/nl-DBREQ-lG.js +56 -0
- package/dist/cjs/one-of-7TSi182P.js +27 -0
- package/dist/cjs/package-E6EPRPpB.js +260 -0
- package/dist/cjs/package-MGiZpKVI.js +5 -0
- package/dist/cjs/pattern-BlBN9eIw.js +27 -0
- package/dist/cjs/pl-DLfbvgEj.js +56 -0
- package/dist/cjs/placement-qEFR9hmI.js +18 -0
- package/dist/cjs/post-accordion_4.cjs.entry.js +403 -0
- package/dist/cjs/post-autocomplete.cjs.entry.js +219 -0
- package/dist/cjs/post-avatar.cjs.entry.js +171 -0
- package/dist/cjs/post-back-to-top.cjs.entry.js +106 -0
- package/dist/cjs/post-banner.cjs.entry.js +73 -0
- package/dist/cjs/post-breadcrumb-item.cjs.entry.js +62 -0
- package/dist/cjs/post-breadcrumbs.cjs.entry.js +131 -0
- package/dist/cjs/post-closebutton.cjs.entry.js +96 -0
- package/dist/cjs/post-date-picker.cjs.entry.js +4951 -0
- package/dist/cjs/post-footer.cjs.entry.js +76 -0
- package/dist/cjs/post-header.cjs.entry.js +337 -0
- package/dist/cjs/post-icon.cjs.entry.js +137 -0
- package/dist/cjs/post-language-menu-item.cjs.entry.js +81 -0
- package/dist/cjs/post-language-menu.cjs.entry.js +126 -0
- package/dist/cjs/post-linkarea.cjs.entry.js +77 -0
- package/dist/cjs/post-listbox-option.cjs.entry.js +26 -0
- package/dist/cjs/post-listbox.cjs.entry.js +148 -0
- package/dist/cjs/post-logo.cjs.entry.js +44 -0
- package/dist/cjs/post-mainnavigation.cjs.entry.js +150 -0
- package/dist/cjs/post-megadropdown-trigger.cjs.entry.js +94 -0
- package/dist/cjs/post-megadropdown.cjs.entry.js +352 -0
- package/dist/cjs/post-menu-item.cjs.entry.js +19 -0
- package/dist/cjs/post-menu_2.cjs.entry.js +291 -0
- package/dist/cjs/post-number-input.cjs.entry.js +140 -0
- package/dist/cjs/post-pagination.cjs.entry.js +584 -0
- package/dist/cjs/post-popover-trigger.cjs.entry.js +132 -0
- package/dist/cjs/post-popover.cjs.entry.js +110 -0
- package/dist/cjs/post-popovercontainer.cjs.entry.js +3128 -0
- package/dist/cjs/post-progressbar.cjs.entry.js +146 -0
- package/dist/cjs/post-rating.cjs.entry.js +120 -0
- package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +108 -0
- package/dist/cjs/post-side-navigation.cjs.entry.js +147 -0
- package/dist/cjs/post-stepper-item.cjs.entry.js +18 -0
- package/dist/cjs/post-stepper.cjs.entry.js +152 -0
- package/dist/cjs/post-tab-item.cjs.entry.js +59 -0
- package/dist/cjs/post-tab-panel.cjs.entry.js +41 -0
- package/dist/cjs/post-tabs.cjs.entry.js +447 -0
- package/dist/cjs/post-togglebutton.cjs.entry.js +41 -0
- package/dist/cjs/post-tooltip-trigger.cjs.entry.js +196 -0
- package/dist/cjs/post-tooltip.cjs.entry.js +86 -0
- package/dist/cjs/pt-Dc_OE8cp.js +56 -0
- package/dist/cjs/required-_r1rzbps.js +44 -0
- package/dist/cjs/ro-8IO45_lH.js +56 -0
- package/dist/cjs/ru-Bi6PEUjH.js +56 -0
- package/dist/cjs/si-CxTTL-2p.js +56 -0
- package/dist/cjs/sk-DIyQ5csO.js +56 -0
- package/dist/cjs/sl-CMtcjEtd.js +56 -0
- package/dist/cjs/sv-D5mS1eJd.js +56 -0
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +98 -8
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +547 -11
- package/dist/cjs/swisspost-internet-header.cjs.js +7 -7
- package/dist/cjs/switch-variants-DyPKloa0.js +5 -0
- package/dist/cjs/th-C7H8s82u.js +56 -0
- package/dist/cjs/tr-B-O6cbA-.js +56 -0
- package/dist/cjs/type-CAeEC3oM.js +30 -0
- package/dist/cjs/uk-2o78OfNL.js +56 -0
- package/dist/cjs/url-Cykxre4X.js +34 -0
- package/dist/cjs/utils-s05L2ulk.js +26 -0
- package/dist/cjs/zh-CMprT73y.js +56 -0
- package/dist/collection/assets/config/test-configuration.json +299 -3997
- package/dist/collection/collection-manifest.json +55 -13
- package/dist/collection/components/internal/Avatar.js +2 -0
- package/dist/collection/components/internal/Link.js +6 -0
- package/dist/collection/components/internal/MegaDropdown.js +17 -0
- package/dist/collection/components/internal/Title.js +24 -0
- package/dist/collection/components/internal/UserMenu.js +28 -0
- package/dist/collection/components/internal/index.js +5 -0
- package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -29
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +83 -27
- package/dist/collection/components/post-internet-header/post-internet-header.js +289 -532
- package/dist/collection/data/store.js +3 -6
- package/dist/collection/index.js +1 -9
- package/dist/collection/services/config.service.js +44 -128
- package/dist/collection/services/language.service.js +27 -78
- package/dist/collection/services/route.service.js +96 -125
- package/dist/collection/tests/setup-tests.js +13 -0
- package/dist/collection/utils/create-id-from.js +13 -0
- package/dist/collection/utils/get-text.js +3 -0
- package/dist/components/_commonjsHelpers.js +1 -0
- package/dist/components/ar.js +1 -0
- package/dist/components/bg.js +1 -0
- package/dist/components/breakpoints.js +1 -0
- package/dist/components/ca.js +1 -0
- package/dist/components/component-on-ready.js +1 -0
- package/dist/components/create-validator-decorator.js +1 -0
- package/dist/components/cs.js +1 -0
- package/dist/components/da.js +1 -0
- package/dist/components/de.js +1 -0
- package/dist/components/debounce.js +1 -0
- package/dist/components/el.js +1 -0
- package/dist/components/en.js +1 -0
- package/dist/components/es.js +1 -0
- package/dist/components/eu.js +1 -0
- package/dist/components/event-from.js +1 -0
- package/dist/components/fade-slide.js +1 -0
- package/dist/components/fade.js +1 -0
- package/dist/components/fi.js +1 -0
- package/dist/components/focusable.js +1 -0
- package/dist/components/fr.js +1 -0
- package/dist/components/get-focusable-children.js +1 -0
- package/dist/components/get-root.js +1 -0
- package/dist/components/hr.js +1 -0
- package/dist/components/hu.js +1 -0
- package/dist/components/id.js +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -46
- package/dist/components/index2.js +1 -161
- package/dist/components/it.js +1 -0
- package/dist/components/ja.js +1 -0
- package/dist/components/ko.js +1 -0
- package/dist/components/nanoid.js +1 -0
- package/dist/components/nb.js +1 -0
- package/dist/components/nl.js +1 -0
- package/dist/components/one-of.js +1 -0
- package/dist/components/package.js +1 -0
- package/dist/components/package2.js +1 -0
- package/dist/components/pattern.js +1 -0
- package/dist/components/pl.js +1 -0
- package/dist/components/post-accordion-item.js +1 -0
- package/dist/components/post-accordion-item2.js +1 -0
- package/dist/components/post-accordion.js +1 -0
- package/dist/components/post-accordion2.js +1 -0
- package/dist/components/post-autocomplete.js +1 -0
- package/dist/components/post-avatar.js +1 -0
- package/dist/components/post-back-to-top.js +1 -0
- package/dist/components/post-banner.js +1 -0
- package/dist/components/post-breadcrumb-item.js +1 -0
- package/dist/components/post-breadcrumbs.js +1 -0
- package/dist/components/post-closebutton.js +1 -0
- package/dist/components/post-closebutton2.js +1 -0
- package/dist/components/post-collapsible-trigger.js +1 -0
- package/dist/components/post-collapsible-trigger2.js +1 -0
- package/dist/components/post-collapsible.js +1 -0
- package/dist/components/post-collapsible2.js +1 -0
- package/dist/components/post-date-picker.js +1 -0
- package/dist/components/post-footer.js +1 -0
- package/dist/components/post-footer2.js +1 -0
- package/dist/components/post-header.js +1 -0
- package/dist/components/post-header2.js +1 -0
- package/dist/components/post-icon.js +1 -0
- package/dist/components/post-icon2.js +1 -0
- package/dist/components/post-language-menu-item.js +1 -0
- package/dist/components/post-language-menu-item2.js +1 -0
- package/dist/components/post-language-menu.js +1 -0
- package/dist/components/post-language-menu2.js +1 -0
- package/dist/components/post-linkarea.js +1 -0
- package/dist/components/post-listbox-option.js +1 -0
- package/dist/components/post-listbox.js +1 -0
- package/dist/components/post-logo.js +1 -37
- package/dist/components/post-logo2.js +1 -0
- package/dist/components/post-mainnavigation.js +1 -0
- package/dist/components/post-mainnavigation2.js +1 -0
- package/dist/components/post-megadropdown-trigger.js +1 -0
- package/dist/components/post-megadropdown.js +1 -0
- package/dist/components/post-menu-item.js +1 -0
- package/dist/components/post-menu-item2.js +1 -0
- package/dist/components/post-menu-trigger.js +1 -0
- package/dist/components/post-menu-trigger2.js +1 -0
- package/dist/components/post-menu.js +1 -0
- package/dist/components/post-menu2.js +1 -0
- package/dist/components/post-number-input.js +1 -0
- package/dist/components/post-pagination.js +1 -0
- package/dist/components/post-popover-trigger.js +1 -0
- package/dist/components/post-popover.js +1 -0
- package/dist/components/post-popovercontainer.js +1 -0
- package/dist/components/post-popovercontainer2.js +1 -0
- package/dist/components/post-progressbar.js +1 -0
- package/dist/components/post-rating.js +1 -0
- package/dist/components/post-side-navigation-trigger.js +1 -0
- package/dist/components/post-side-navigation.js +1 -0
- package/dist/components/post-stepper-item.js +1 -0
- package/dist/components/post-stepper.js +1 -0
- package/dist/components/post-tab-item.js +1 -0
- package/dist/components/post-tab-panel.js +1 -0
- package/dist/components/post-tabs.js +1 -0
- package/dist/components/post-togglebutton.js +1 -0
- package/dist/components/post-togglebutton2.js +1 -0
- package/dist/components/post-tooltip-trigger.js +1 -0
- package/dist/components/post-tooltip.js +1 -0
- package/dist/components/pt.js +1 -0
- package/dist/components/required.js +1 -0
- package/dist/components/ro.js +1 -0
- package/dist/components/ru.js +1 -0
- package/dist/components/si.js +1 -0
- package/dist/components/sk.js +1 -0
- package/dist/components/sl.js +1 -0
- package/dist/components/sv.js +1 -0
- package/dist/components/swisspost-internet-footer.js +1 -182
- package/dist/components/swisspost-internet-header.js +1 -987
- package/dist/components/switch-variants.js +1 -0
- package/dist/components/th.js +1 -0
- package/dist/components/tr.js +1 -0
- package/dist/components/type.js +1 -0
- package/dist/components/uk.js +1 -0
- package/dist/components/url.js +1 -0
- package/dist/components/utils.js +1 -17
- package/dist/components/zh.js +1 -0
- package/dist/docs.d.ts +45 -0
- package/dist/docs.json +224 -1184
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
- package/dist/esm/ar-qmsePlo9.js +54 -0
- package/dist/esm/bg-ZwPeL6oI.js +54 -0
- package/dist/esm/breakpoints-C3jWktf-.js +44 -0
- package/dist/esm/ca-ISi6eci_.js +54 -0
- package/dist/esm/component-on-ready-lpWRZjJp.js +22 -0
- package/dist/esm/create-validator-decorator--a-qkYfP.js +218 -0
- package/dist/esm/cs-DGzvkTrE.js +54 -0
- package/dist/esm/da-BR7-7EdA.js +54 -0
- package/dist/esm/de-Cqz-boHe.js +54 -0
- package/dist/esm/debounce-C9hMpmsD.js +11 -0
- package/dist/esm/el-DU9G8oSc.js +54 -0
- package/dist/esm/en-lxF4YBLI.js +54 -0
- package/dist/esm/es-_tWE7z8a.js +54 -0
- package/dist/esm/eu-BowKnChG.js +54 -0
- package/dist/esm/event-from-rEfV4v4a.js +119 -0
- package/dist/esm/fade-DsgPYmAa.js +24 -0
- package/dist/esm/fade-slide-CvOvauo9.js +36 -0
- package/dist/esm/fi-CC2W9CX5.js +54 -0
- package/dist/esm/focusable-C7afHKmo.js +5034 -0
- package/dist/esm/fr-DlMHXJTg.js +54 -0
- package/dist/esm/get-focusable-children-DxYnH2ye.js +90 -0
- package/dist/esm/get-root-08F-DB-d.js +13 -0
- package/dist/esm/hr-BZdkBqJE.js +54 -0
- package/dist/esm/hu-BlwH1sUP.js +54 -0
- package/dist/esm/id-BCexutvr.js +54 -0
- package/dist/esm/index-bR8vy6-s.js +161 -0
- package/dist/esm/index-h3opCZqH.js +2375 -0
- package/dist/esm/index.js +4 -20
- package/dist/esm/it-B7CtP_zH.js +54 -0
- package/dist/esm/ja-GwQmiRrY.js +54 -0
- package/dist/esm/ko-Bog4AaS3.js +54 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/nanoid-8LXe8Zt_.js +18 -0
- package/dist/esm/nb-C0rJhv3t.js +54 -0
- package/dist/esm/nl-DTAYnhrt.js +54 -0
- package/dist/esm/one-of-w2eXPAzD.js +25 -0
- package/dist/esm/package-ClQfdhMK.js +252 -0
- package/dist/esm/package-jK9tFtoG.js +3 -0
- package/dist/esm/pattern-Der2DK75.js +25 -0
- package/dist/esm/pl-Dc18GnEP.js +54 -0
- package/dist/esm/placement-DRiVosES.js +16 -0
- package/dist/esm/post-accordion_4.entry.js +398 -0
- package/dist/esm/post-autocomplete.entry.js +217 -0
- package/dist/esm/post-avatar.entry.js +169 -0
- package/dist/esm/post-back-to-top.entry.js +104 -0
- package/dist/esm/post-banner.entry.js +71 -0
- package/dist/esm/post-breadcrumb-item.entry.js +60 -0
- package/dist/esm/post-breadcrumbs.entry.js +129 -0
- package/dist/esm/post-closebutton.entry.js +94 -0
- package/dist/esm/post-date-picker.entry.js +4949 -0
- package/dist/esm/post-footer.entry.js +74 -0
- package/dist/esm/post-header.entry.js +335 -0
- package/dist/esm/post-icon.entry.js +135 -0
- package/dist/esm/post-language-menu-item.entry.js +79 -0
- package/dist/esm/post-language-menu.entry.js +124 -0
- package/dist/esm/post-linkarea.entry.js +75 -0
- package/dist/esm/post-listbox-option.entry.js +24 -0
- package/dist/esm/post-listbox.entry.js +146 -0
- package/dist/esm/post-logo.entry.js +42 -0
- package/dist/esm/post-mainnavigation.entry.js +148 -0
- package/dist/esm/post-megadropdown-trigger.entry.js +92 -0
- package/dist/esm/post-megadropdown.entry.js +350 -0
- package/dist/esm/post-menu-item.entry.js +17 -0
- package/dist/esm/post-menu_2.entry.js +288 -0
- package/dist/esm/post-number-input.entry.js +138 -0
- package/dist/esm/post-pagination.entry.js +582 -0
- package/dist/esm/post-popover-trigger.entry.js +130 -0
- package/dist/esm/post-popover.entry.js +108 -0
- package/dist/esm/post-popovercontainer.entry.js +3126 -0
- package/dist/esm/post-progressbar.entry.js +144 -0
- package/dist/esm/post-rating.entry.js +118 -0
- package/dist/esm/post-side-navigation-trigger.entry.js +106 -0
- package/dist/esm/post-side-navigation.entry.js +145 -0
- package/dist/esm/post-stepper-item.entry.js +16 -0
- package/dist/esm/post-stepper.entry.js +150 -0
- package/dist/esm/post-tab-item.entry.js +57 -0
- package/dist/esm/post-tab-panel.entry.js +39 -0
- package/dist/esm/post-tabs.entry.js +445 -0
- package/dist/esm/post-togglebutton.entry.js +39 -0
- package/dist/esm/post-tooltip-trigger.entry.js +194 -0
- package/dist/esm/post-tooltip.entry.js +84 -0
- package/dist/esm/pt-CvvuIVLG.js +54 -0
- package/dist/esm/required-tHxh_hWW.js +42 -0
- package/dist/esm/ro-BOcX9wJt.js +54 -0
- package/dist/esm/ru-CNbbLA5W.js +54 -0
- package/dist/esm/si-CBbBs36T.js +54 -0
- package/dist/esm/sk-DBNkuluD.js +54 -0
- package/dist/esm/sl-Daq-FtDz.js +54 -0
- package/dist/esm/sv-BfSAzCsG.js +54 -0
- package/dist/esm/swisspost-internet-footer.entry.js +101 -5
- package/dist/esm/swisspost-internet-header.entry.js +551 -9
- package/dist/esm/swisspost-internet-header.js +6 -5
- package/dist/esm/switch-variants-DjIHLduJ.js +3 -0
- package/dist/esm/th-DnzvZaNa.js +54 -0
- package/dist/esm/tr-O5ciRquU.js +54 -0
- package/dist/esm/type-Daxpt5v6.js +28 -0
- package/dist/esm/uk-COulUFGY.js +54 -0
- package/dist/esm/url-B61rZU6Z.js +32 -0
- package/dist/esm/utils-CoDiS_Ik.js +24 -0
- package/dist/esm/zh-bL3e3TZi.js +54 -0
- package/dist/esm-es5/_commonjsHelpers-BFTU3MAI.js +1 -0
- package/dist/esm-es5/ar-qmsePlo9.js +1 -0
- package/dist/esm-es5/bg-ZwPeL6oI.js +1 -0
- package/dist/esm-es5/breakpoints-C3jWktf-.js +1 -0
- package/dist/esm-es5/ca-ISi6eci_.js +1 -0
- package/dist/esm-es5/component-on-ready-lpWRZjJp.js +1 -0
- package/dist/esm-es5/create-validator-decorator--a-qkYfP.js +1 -0
- package/dist/esm-es5/cs-DGzvkTrE.js +1 -0
- package/dist/esm-es5/da-BR7-7EdA.js +1 -0
- package/dist/esm-es5/de-Cqz-boHe.js +1 -0
- package/dist/esm-es5/debounce-C9hMpmsD.js +1 -0
- package/dist/esm-es5/el-DU9G8oSc.js +1 -0
- package/dist/esm-es5/en-lxF4YBLI.js +1 -0
- package/dist/esm-es5/es-_tWE7z8a.js +1 -0
- package/dist/esm-es5/eu-BowKnChG.js +1 -0
- package/dist/esm-es5/event-from-rEfV4v4a.js +1 -0
- package/dist/esm-es5/fade-DsgPYmAa.js +1 -0
- package/dist/esm-es5/fade-slide-CvOvauo9.js +1 -0
- package/dist/esm-es5/fi-CC2W9CX5.js +1 -0
- package/dist/esm-es5/focusable-C7afHKmo.js +8 -0
- package/dist/esm-es5/fr-DlMHXJTg.js +1 -0
- package/dist/esm-es5/get-focusable-children-DxYnH2ye.js +1 -0
- package/dist/esm-es5/get-root-08F-DB-d.js +1 -0
- package/dist/esm-es5/hr-BZdkBqJE.js +1 -0
- package/dist/esm-es5/hu-BlwH1sUP.js +1 -0
- package/dist/esm-es5/id-BCexutvr.js +1 -0
- package/dist/esm-es5/index-bR8vy6-s.js +1 -0
- package/dist/esm-es5/index-h3opCZqH.js +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/it-B7CtP_zH.js +1 -0
- package/dist/esm-es5/ja-GwQmiRrY.js +1 -0
- package/dist/esm-es5/ko-Bog4AaS3.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/nanoid-8LXe8Zt_.js +1 -0
- package/dist/esm-es5/nb-C0rJhv3t.js +1 -0
- package/dist/esm-es5/nl-DTAYnhrt.js +1 -0
- package/dist/esm-es5/one-of-w2eXPAzD.js +1 -0
- package/dist/esm-es5/package-ClQfdhMK.js +1 -0
- package/dist/esm-es5/package-jK9tFtoG.js +1 -0
- package/dist/esm-es5/pattern-Der2DK75.js +1 -0
- package/dist/esm-es5/pl-Dc18GnEP.js +1 -0
- package/dist/esm-es5/placement-DRiVosES.js +1 -0
- package/dist/esm-es5/post-accordion_4.entry.js +1 -0
- package/dist/esm-es5/post-autocomplete.entry.js +1 -0
- package/dist/esm-es5/post-avatar.entry.js +1 -0
- package/dist/esm-es5/post-back-to-top.entry.js +1 -0
- package/dist/esm-es5/post-banner.entry.js +1 -0
- package/dist/esm-es5/post-breadcrumb-item.entry.js +1 -0
- package/dist/esm-es5/post-breadcrumbs.entry.js +1 -0
- package/dist/esm-es5/post-closebutton.entry.js +1 -0
- package/dist/esm-es5/post-date-picker.entry.js +1 -0
- package/dist/esm-es5/post-footer.entry.js +1 -0
- package/dist/esm-es5/post-header.entry.js +1 -0
- package/dist/esm-es5/post-icon.entry.js +1 -0
- package/dist/esm-es5/post-language-menu-item.entry.js +1 -0
- package/dist/esm-es5/post-language-menu.entry.js +1 -0
- package/dist/esm-es5/post-linkarea.entry.js +1 -0
- package/dist/esm-es5/post-listbox-option.entry.js +1 -0
- package/dist/esm-es5/post-listbox.entry.js +1 -0
- package/dist/esm-es5/post-logo.entry.js +1 -0
- package/dist/esm-es5/post-mainnavigation.entry.js +1 -0
- package/dist/esm-es5/post-megadropdown-trigger.entry.js +1 -0
- package/dist/esm-es5/post-megadropdown.entry.js +1 -0
- package/dist/esm-es5/post-menu-item.entry.js +1 -0
- package/dist/esm-es5/post-menu_2.entry.js +1 -0
- package/dist/esm-es5/post-number-input.entry.js +1 -0
- package/dist/esm-es5/post-pagination.entry.js +1 -0
- package/dist/esm-es5/post-popover-trigger.entry.js +1 -0
- package/dist/esm-es5/post-popover.entry.js +1 -0
- package/dist/esm-es5/post-popovercontainer.entry.js +1 -0
- package/dist/esm-es5/post-progressbar.entry.js +1 -0
- package/dist/esm-es5/post-rating.entry.js +1 -0
- package/dist/esm-es5/post-side-navigation-trigger.entry.js +1 -0
- package/dist/esm-es5/post-side-navigation.entry.js +1 -0
- package/dist/esm-es5/post-stepper-item.entry.js +1 -0
- package/dist/esm-es5/post-stepper.entry.js +1 -0
- package/dist/esm-es5/post-tab-item.entry.js +1 -0
- package/dist/esm-es5/post-tab-panel.entry.js +1 -0
- package/dist/esm-es5/post-tabs.entry.js +1 -0
- package/dist/esm-es5/post-togglebutton.entry.js +1 -0
- package/dist/esm-es5/post-tooltip-trigger.entry.js +1 -0
- package/dist/esm-es5/post-tooltip.entry.js +1 -0
- package/dist/esm-es5/pt-CvvuIVLG.js +1 -0
- package/dist/esm-es5/required-tHxh_hWW.js +1 -0
- package/dist/esm-es5/ro-BOcX9wJt.js +1 -0
- package/dist/esm-es5/ru-CNbbLA5W.js +1 -0
- package/dist/esm-es5/si-CBbBs36T.js +1 -0
- package/dist/esm-es5/sk-DBNkuluD.js +1 -0
- package/dist/esm-es5/sl-Daq-FtDz.js +1 -0
- package/dist/esm-es5/sv-BfSAzCsG.js +1 -0
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/switch-variants-DjIHLduJ.js +1 -0
- package/dist/esm-es5/th-DnzvZaNa.js +1 -0
- package/dist/esm-es5/tr-O5ciRquU.js +1 -0
- package/dist/esm-es5/type-Daxpt5v6.js +1 -0
- package/dist/esm-es5/uk-COulUFGY.js +1 -0
- package/dist/esm-es5/url-B61rZU6Z.js +1 -0
- package/dist/esm-es5/utils-CoDiS_Ik.js +1 -0
- package/dist/esm-es5/zh-bL3e3TZi.js +1 -0
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +299 -3997
- package/dist/swisspost-internet-header/index.esm.js +1 -1
- package/dist/swisspost-internet-header/p-01f39bb3.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-05cab026.entry.js +1 -0
- package/dist/swisspost-internet-header/p-08F-DB-d.js +1 -0
- package/dist/swisspost-internet-header/p-0bf25ebc.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-10bdbca2.entry.js +1 -0
- package/dist/swisspost-internet-header/p-1386d1d4.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-15820529.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-18a84bc1.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-1b9a5275.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-1c40acd2.entry.js +1 -0
- package/dist/swisspost-internet-header/p-1jKm5Gii.system.js +1 -0
- package/dist/swisspost-internet-header/p-200dc938.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-20a0a7e7.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-23fa3342.entry.js +1 -0
- package/dist/swisspost-internet-header/p-2a8e1e33.entry.js +1 -0
- package/dist/swisspost-internet-header/p-2d1355fa.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-3028df9f.entry.js +1 -0
- package/dist/swisspost-internet-header/p-4107bc25.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-45af06c6.entry.js +1 -0
- package/dist/swisspost-internet-header/p-45d5a353.entry.js +1 -0
- package/dist/swisspost-internet-header/p-4d49c5ef.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-4f70afb5.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-50d3eb3c.entry.js +1 -0
- package/dist/swisspost-internet-header/p-520d3f06.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-5329e0b0.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-5ae377df.entry.js +1 -0
- package/dist/swisspost-internet-header/p-5bucphsC.js +1 -0
- package/dist/swisspost-internet-header/p-5daa12df.entry.js +1 -0
- package/dist/swisspost-internet-header/p-63b15be9.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-6427c6b0.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-64428c96.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-67889b8a.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-68dcd52c.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-6b19deb1.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-6zNP6ghZ.system.js +1 -0
- package/dist/swisspost-internet-header/p-72187f34.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-73d21f06.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-77199d61.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-779e1686.entry.js +1 -0
- package/dist/swisspost-internet-header/p-786e11c5.entry.js +1 -0
- package/dist/swisspost-internet-header/p-7cdf89dc.entry.js +1 -0
- package/dist/swisspost-internet-header/p-7f0d52e1.entry.js +1 -0
- package/dist/swisspost-internet-header/p-806b3bb9.entry.js +1 -0
- package/dist/swisspost-internet-header/p-8LXe8Zt_.js +1 -0
- package/dist/swisspost-internet-header/p-8bd09f9e.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-8f06d58d.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-9776463e.entry.js +1 -0
- package/dist/swisspost-internet-header/p-97eaecab.entry.js +1 -0
- package/dist/swisspost-internet-header/p-99c19dd2.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-9c5c32af.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-9d0b4493.entry.js +1 -0
- package/dist/swisspost-internet-header/p-B-8pFQ5m.system.js +1 -0
- package/dist/swisspost-internet-header/p-BBIc4yKQ.js +1 -0
- package/dist/swisspost-internet-header/p-BCAukqif.system.js +1 -0
- package/dist/swisspost-internet-header/p-BEtiMUfS.system.js +1 -0
- package/dist/swisspost-internet-header/p-BFTU3MAI.js +1 -0
- package/dist/swisspost-internet-header/p-BIAUtR0M.system.js +1 -0
- package/dist/swisspost-internet-header/p-BMZcKRx0.system.js +1 -0
- package/dist/swisspost-internet-header/p-BOvyPo43.js +1 -0
- package/dist/swisspost-internet-header/p-BRJfGtws.js +1 -0
- package/dist/swisspost-internet-header/p-BVCjnh6Q.js +1 -0
- package/dist/swisspost-internet-header/p-BYB4z0RW.system.js +1 -0
- package/dist/swisspost-internet-header/p-BayPSiTy.system.js +1 -0
- package/dist/swisspost-internet-header/p-BegUt68n.js +1 -0
- package/dist/swisspost-internet-header/p-Bh2tk0zI.js +1 -0
- package/dist/swisspost-internet-header/p-BlM7JurO.js +1 -0
- package/dist/swisspost-internet-header/p-BpIOvyQ5.system.js +1 -0
- package/dist/swisspost-internet-header/p-BpMc1tlF.system.js +1 -0
- package/dist/swisspost-internet-header/p-BrY4VWTQ.js +1 -0
- package/dist/swisspost-internet-header/p-BthnT4-E.system.js +1 -0
- package/dist/swisspost-internet-header/p-Bw0TBI7D.system.js +1 -0
- package/dist/swisspost-internet-header/p-Bwi1IyPf.system.js +1 -0
- package/dist/swisspost-internet-header/p-Bzy18UgU.system.js +1 -0
- package/dist/swisspost-internet-header/p-C0vbg-zz.js +1 -0
- package/dist/swisspost-internet-header/p-C1pxTt7y.system.js +1 -0
- package/dist/swisspost-internet-header/p-C2jKSjmt.js +1 -0
- package/dist/swisspost-internet-header/p-C6RsLT58.js +1 -0
- package/dist/swisspost-internet-header/p-C6zfwDtv.system.js +1 -0
- package/dist/swisspost-internet-header/p-C9hMpmsD.js +1 -0
- package/dist/swisspost-internet-header/p-CADoVT5-.system.js +1 -0
- package/dist/swisspost-internet-header/p-CAKTqU-w.js +1 -0
- package/dist/swisspost-internet-header/p-CDL0cxX6.system.js +1 -0
- package/dist/swisspost-internet-header/p-CDvD7acy.system.js +1 -0
- package/dist/swisspost-internet-header/p-CGtndO2e.system.js +1 -0
- package/dist/swisspost-internet-header/p-CHIhqOmO.system.js +1 -0
- package/dist/swisspost-internet-header/p-CHXKOBaU.js +1 -0
- package/dist/swisspost-internet-header/p-CNZqHwmo.js +1 -0
- package/dist/swisspost-internet-header/p-CN_0KCBp.system.js +2 -0
- package/dist/swisspost-internet-header/p-CQ_qts4t.system.js +1 -0
- package/dist/swisspost-internet-header/p-CS5VvAXO.js +1 -0
- package/dist/swisspost-internet-header/p-Cc7IsiYa.system.js +1 -0
- package/dist/swisspost-internet-header/p-CiwQnVr3.system.js +1 -0
- package/dist/swisspost-internet-header/p-Ck6UMUSA.js +1 -0
- package/dist/swisspost-internet-header/p-CkyG9hlM.system.js +1 -0
- package/dist/swisspost-internet-header/p-ClZlLe-y.js +1 -0
- package/dist/swisspost-internet-header/p-CnaHa6Aq.js +1 -0
- package/dist/swisspost-internet-header/p-CoDiS_Ik.js +1 -0
- package/dist/swisspost-internet-header/p-CrnWWY1E.js +1 -0
- package/dist/swisspost-internet-header/p-Cv89eU6e.js +1 -0
- package/dist/swisspost-internet-header/p-D4wq7hIE.system.js +1 -0
- package/dist/swisspost-internet-header/p-D5knoiyy.js +1 -0
- package/dist/swisspost-internet-header/p-D6qSFhdu.system.js +1 -0
- package/dist/swisspost-internet-header/p-DAh_7RzL.system.js +1 -0
- package/dist/swisspost-internet-header/p-DBjhKewN.js +1 -0
- package/dist/swisspost-internet-header/p-DC5_ck-0.system.js +1 -0
- package/dist/swisspost-internet-header/p-DCyIQfZ2.system.js +1 -0
- package/dist/swisspost-internet-header/p-DHzcjw9T.system.js +1 -0
- package/dist/swisspost-internet-header/p-DHzu1YG6.js +1 -0
- package/dist/swisspost-internet-header/p-DIiKaF8J.system.js +1 -0
- package/dist/swisspost-internet-header/p-DL9N-CT3.js +1 -0
- package/dist/swisspost-internet-header/p-DLha4BpQ.system.js +1 -0
- package/dist/swisspost-internet-header/p-DP3-NSR_.js +1 -0
- package/dist/swisspost-internet-header/p-DPFNFi0H.system.js +1 -0
- package/dist/swisspost-internet-header/p-DPR1GhBu.system.js +1 -0
- package/dist/swisspost-internet-header/p-DRiVosES.js +1 -0
- package/dist/swisspost-internet-header/p-DV36pI4M.js +1 -0
- package/dist/swisspost-internet-header/p-DWXd2GX-.system.js +1 -0
- package/dist/swisspost-internet-header/p-DYYpZAAV.js +1 -0
- package/dist/swisspost-internet-header/p-DZMUeI8H.js +1 -0
- package/dist/swisspost-internet-header/p-DaxAbTyB.system.js +1 -0
- package/dist/swisspost-internet-header/p-Dce9UusA.js +1 -0
- package/dist/swisspost-internet-header/p-DdrRvy2c.js +1 -0
- package/dist/swisspost-internet-header/p-DeDqpA-c.system.js +1 -0
- package/dist/swisspost-internet-header/p-DiYoqWHh.system.js +1 -0
- package/dist/swisspost-internet-header/p-Dj9sWsqU.system.js +1 -0
- package/dist/swisspost-internet-header/p-DjIHLduJ.js +1 -0
- package/dist/swisspost-internet-header/p-DoVr7uzg.system.js +8 -0
- package/dist/swisspost-internet-header/p-Drxf8XVU.js +1 -0
- package/dist/swisspost-internet-header/p-DtANKl_H.system.js +1 -0
- package/dist/swisspost-internet-header/p-DtfyHFUW.js +1 -0
- package/dist/swisspost-internet-header/p-DvaRK2lz.js +1 -0
- package/dist/swisspost-internet-header/p-FvYuLOr1.js +1 -0
- package/dist/swisspost-internet-header/p-Gs2JNy9V.js +1 -0
- package/dist/swisspost-internet-header/p-OPBQrtNK.js +1 -0
- package/dist/swisspost-internet-header/p-R5BnOD0U.system.js +1 -0
- package/dist/swisspost-internet-header/p-V3SCivhq.system.js +1 -0
- package/dist/swisspost-internet-header/p-ViHQ5Vzz.js +1 -0
- package/dist/swisspost-internet-header/p-_cjgMHk9.js +1 -0
- package/dist/swisspost-internet-header/p-_g4W0HO6.js +1 -0
- package/dist/swisspost-internet-header/p-a1b94999.entry.js +1 -0
- package/dist/swisspost-internet-header/p-a2b_YLeP.system.js +1 -0
- package/dist/swisspost-internet-header/p-a5705a24.entry.js +1 -0
- package/dist/swisspost-internet-header/p-aa4ed181.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ad77e312.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ad91f6c0.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-b5665fc8.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-b94bcb65.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-bR8vy6-s.js +1 -0
- package/dist/swisspost-internet-header/p-ba63e3e0.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-bebf0896.entry.js +1 -0
- package/dist/swisspost-internet-header/p-bff2014b.entry.js +1 -0
- package/dist/swisspost-internet-header/p-c16adcb7.entry.js +1 -0
- package/dist/swisspost-internet-header/p-c6e57a0c.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ca000634.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-cccfd211.entry.js +1 -0
- package/dist/swisspost-internet-header/p-cd2583f5.entry.js +1 -0
- package/dist/swisspost-internet-header/p-cfcSoWNm.js +1 -0
- package/dist/swisspost-internet-header/p-d2599e7b.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d2fa80e5.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d42d1570.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d4f8cba4.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d558b697.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d604cf73.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-da88d37e.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-dc287805.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-dfbe1d02.entry.js +1 -0
- package/dist/swisspost-internet-header/p-e25b4f0b.entry.js +1 -0
- package/dist/swisspost-internet-header/p-e655c88c.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-e9ae044e.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ea8c458a.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ec3c17b7.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ef183dab.entry.js +1 -0
- package/dist/swisspost-internet-header/p-f074310f.entry.js +1 -0
- package/dist/swisspost-internet-header/p-f606f337.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-f986d587.entry.js +1 -0
- package/dist/swisspost-internet-header/p-faca91f3.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-fc6ef72b.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-fcf9631e.entry.js +1 -0
- package/dist/swisspost-internet-header/p-fe6a6a22.entry.js +1 -0
- package/dist/swisspost-internet-header/p-fec8e79e.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-h3opCZqH.js +2 -0
- package/dist/swisspost-internet-header/p-i0lB-o1h.system.js +1 -0
- package/dist/swisspost-internet-header/p-jHNdUN6D.js +1 -0
- package/dist/swisspost-internet-header/p-jK9tFtoG.js +1 -0
- package/dist/swisspost-internet-header/p-k8JcCfwd.js +1 -0
- package/dist/swisspost-internet-header/p-kC_vSmNI.system.js +1 -0
- package/dist/swisspost-internet-header/p-lpWRZjJp.js +1 -0
- package/dist/swisspost-internet-header/p-mkWktU-n.system.js +1 -0
- package/dist/swisspost-internet-header/p-nkh1tem5.system.js +1 -0
- package/dist/swisspost-internet-header/p-oqI6maRP.system.js +1 -0
- package/dist/swisspost-internet-header/p-qFxyG4GI.system.js +1 -0
- package/dist/swisspost-internet-header/p-qZj3hjL-.system.js +1 -0
- package/dist/swisspost-internet-header/p-qsCJzdGu.system.js +1 -0
- package/dist/swisspost-internet-header/p-rEfV4v4a.js +1 -0
- package/dist/swisspost-internet-header/p-tBnwOTPV.system.js +1 -0
- package/dist/swisspost-internet-header/p-u0jzgGDa.system.js +1 -0
- package/dist/swisspost-internet-header/p-uEVdce-r.system.js +1 -0
- package/dist/swisspost-internet-header/p-vAzHgwTd.js +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
- package/dist/types/components/internal/Avatar.d.ts +7 -0
- package/dist/types/components/internal/Link.d.ts +10 -0
- package/dist/types/components/internal/MegaDropdown.d.ts +10 -0
- package/dist/types/components/internal/Title.d.ts +14 -0
- package/dist/types/components/internal/UserMenu.d.ts +11 -0
- package/dist/types/components/internal/index.d.ts +5 -0
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +9 -0
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +43 -99
- package/dist/types/components.d.ts +92 -391
- package/dist/types/data/store.d.ts +7 -14
- package/dist/types/index.d.ts +1 -9
- package/dist/types/models/footer.model.d.ts +9 -47
- package/dist/types/models/general.model.d.ts +13 -46
- package/dist/types/models/header.model.d.ts +62 -163
- package/dist/types/models/shared.model.d.ts +24 -0
- package/dist/types/models/user.model.d.ts +9 -0
- package/dist/types/services/config.service.d.ts +13 -34
- package/dist/types/services/language.service.d.ts +4 -107
- package/dist/types/services/route.service.d.ts +12 -28
- package/dist/types/stencil-public-runtime.d.ts +194 -8
- package/dist/types/tests/setup-tests.d.ts +0 -0
- package/dist/types/utils/create-id-from.d.ts +1 -0
- package/dist/types/utils/get-text.d.ts +2 -0
- package/package.json +48 -40
- package/dist/cjs/bodyScrollLock.esm-59f17217.js +0 -283
- package/dist/cjs/focus-trap.cjs.entry.js +0 -1553
- package/dist/cjs/if.component-31542061.js +0 -10
- package/dist/cjs/index-ecd8c9bb.js +0 -1708
- package/dist/cjs/index-fbcc9ff3.js +0 -164
- package/dist/cjs/klp-widget.controller-7a8a5ddc.js +0 -15530
- package/dist/cjs/language.service-15af0e29.js +0 -195
- package/dist/cjs/post-header-logo.cjs.entry.js +0 -11
- package/dist/cjs/post-internet-breadcrumbs-6c043d02.js +0 -3095
- package/dist/cjs/post-internet-footer-9e46e1fc.js +0 -163
- package/dist/cjs/post-internet-header-cd1c6166.js +0 -891
- package/dist/cjs/post-klp-login-widget-75dfc12f.js +0 -97
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +0 -13
- package/dist/cjs/post-language-switch-0730827b.js +0 -105
- package/dist/cjs/post-language-switch.cjs.entry.js +0 -15
- package/dist/cjs/post-logo-4c1f9387.js +0 -24
- package/dist/cjs/post-main-navigation-bd2473fb.js +0 -242
- package/dist/cjs/post-main-navigation.cjs.entry.js +0 -16
- package/dist/cjs/post-meta-navigation-6cd7492f.js +0 -25
- package/dist/cjs/post-meta-navigation.cjs.entry.js +0 -11
- package/dist/cjs/post-search-1894421f.js +0 -603
- package/dist/cjs/post-search.cjs.entry.js +0 -18
- package/dist/cjs/post-skiplinks-469cc355.js +0 -51
- package/dist/cjs/post-skiplinks.cjs.entry.js +0 -13
- package/dist/cjs/store-c3e61d64.js +0 -210
- package/dist/cjs/svg-icon.component-00e315a8.js +0 -8
- package/dist/cjs/svg-sprite.component-aff81fb2.js +0 -51
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +0 -17
- package/dist/cjs/ui.service-7334148b.js +0 -33
- package/dist/cjs/utils-0a793763.js +0 -20
- package/dist/collection/assets/i18n/translations.js +0 -82
- package/dist/collection/assets/js/klp-login-widget.js +0 -1661
- package/dist/collection/assets/js/sockjs-client.js +0 -5134
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +0 -10
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +0 -7
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +0 -5
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +0 -10
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +0 -29
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +0 -323
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +0 -11
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +0 -26
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +0 -5
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +0 -5
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +0 -4
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +0 -37
- package/dist/collection/components/post-internet-header/logo-animation/logo-scale.js +0 -31
- package/dist/collection/components/post-internet-header/post-internet-header.css +0 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +0 -12
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +0 -7
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +0 -162
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +0 -15
- package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +0 -185
- package/dist/collection/components/post-logo/post-logo.css +0 -1
- package/dist/collection/components/post-logo/post-logo.js +0 -24
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +0 -13
- package/dist/collection/components/post-main-navigation/post-main-navigation.css +0 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +0 -348
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +0 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +0 -66
- package/dist/collection/components/post-search/post-search.css +0 -54
- package/dist/collection/components/post-search/post-search.js +0 -420
- package/dist/collection/components/post-skiplinks/post-skiplinks.css +0 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +0 -50
- package/dist/collection/components/shared/focus-trap.js +0 -78
- package/dist/collection/models/geocode.model.js +0 -8
- package/dist/collection/models/implementor.model.js +0 -1
- package/dist/collection/models/language.model.js +0 -1
- package/dist/collection/models/track-and-trace.model.js +0 -1
- package/dist/collection/services/search/coveo.service.js +0 -42
- package/dist/collection/services/search/coveo.settings.js +0 -34
- package/dist/collection/services/search/parcel.service.js +0 -63
- package/dist/collection/services/search/places.service.js +0 -75
- package/dist/collection/services/search/places.settings.js +0 -15
- package/dist/collection/services/search/search-utilities.js +0 -12
- package/dist/collection/services/search/search.service.js +0 -41
- package/dist/collection/services/ui.service.js +0 -29
- package/dist/collection/utils/highlighted.component.js +0 -10
- package/dist/collection/utils/if.component.js +0 -6
- package/dist/collection/utils/scrollparent.js +0 -23
- package/dist/collection/utils/svg-icon.component.js +0 -2
- package/dist/collection/utils/svg-sprite.component.js +0 -2
- package/dist/collection/utils/utils.js +0 -15
- package/dist/components/bodyScrollLock.esm.js +0 -279
- package/dist/components/focus-trap.d.ts +0 -11
- package/dist/components/focus-trap.js +0 -6
- package/dist/components/focus-trap2.js +0 -1568
- package/dist/components/klp-widget.controller.js +0 -15528
- package/dist/components/language.service.js +0 -191
- package/dist/components/post-header-logo.d.ts +0 -11
- package/dist/components/post-header-logo.js +0 -6
- package/dist/components/post-klp-login-widget.d.ts +0 -11
- package/dist/components/post-klp-login-widget.js +0 -6
- package/dist/components/post-klp-login-widget2.js +0 -114
- package/dist/components/post-language-switch.d.ts +0 -11
- package/dist/components/post-language-switch.js +0 -6
- package/dist/components/post-language-switch2.js +0 -122
- package/dist/components/post-main-navigation.d.ts +0 -11
- package/dist/components/post-main-navigation.js +0 -6
- package/dist/components/post-main-navigation2.js +0 -261
- package/dist/components/post-meta-navigation.d.ts +0 -11
- package/dist/components/post-meta-navigation.js +0 -6
- package/dist/components/post-meta-navigation2.js +0 -41
- package/dist/components/post-search.d.ts +0 -11
- package/dist/components/post-search.js +0 -6
- package/dist/components/post-search2.js +0 -635
- package/dist/components/post-skiplinks.d.ts +0 -11
- package/dist/components/post-skiplinks.js +0 -6
- package/dist/components/post-skiplinks2.js +0 -63
- package/dist/components/store.js +0 -207
- package/dist/components/svg-icon.component.js +0 -6
- package/dist/components/svg-sprite.component.js +0 -49
- package/dist/components/swisspost-internet-breadcrumbs.d.ts +0 -11
- package/dist/components/swisspost-internet-breadcrumbs.js +0 -3128
- package/dist/components/ui.service.js +0 -30
- package/dist/esm/bodyScrollLock.esm-afcc00e3.js +0 -279
- package/dist/esm/focus-trap.entry.js +0 -1549
- package/dist/esm/if.component-d88d9e48.js +0 -8
- package/dist/esm/index-bb0e68fd.js +0 -1677
- package/dist/esm/index-d3f1363d.js +0 -161
- package/dist/esm/klp-widget.controller-6f5a7586.js +0 -15528
- package/dist/esm/language.service-2960ab93.js +0 -191
- package/dist/esm/post-header-logo.entry.js +0 -3
- package/dist/esm/post-internet-breadcrumbs-ee507bec.js +0 -3093
- package/dist/esm/post-internet-footer-cae59692.js +0 -161
- package/dist/esm/post-internet-header-e73d3cf9.js +0 -889
- package/dist/esm/post-klp-login-widget-6aeb2fd2.js +0 -95
- package/dist/esm/post-klp-login-widget.entry.js +0 -5
- package/dist/esm/post-language-switch-d9159f47.js +0 -103
- package/dist/esm/post-language-switch.entry.js +0 -7
- package/dist/esm/post-logo-2c3faf36.js +0 -22
- package/dist/esm/post-main-navigation-58b5c03d.js +0 -240
- package/dist/esm/post-main-navigation.entry.js +0 -8
- package/dist/esm/post-meta-navigation-4bf72315.js +0 -23
- package/dist/esm/post-meta-navigation.entry.js +0 -3
- package/dist/esm/post-search-daf7d66d.js +0 -601
- package/dist/esm/post-search.entry.js +0 -10
- package/dist/esm/post-skiplinks-0779348d.js +0 -49
- package/dist/esm/post-skiplinks.entry.js +0 -5
- package/dist/esm/store-629cab77.js +0 -207
- package/dist/esm/svg-icon.component-70692acc.js +0 -6
- package/dist/esm/svg-sprite.component-abb69a1b.js +0 -49
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +0 -9
- package/dist/esm/ui.service-22f2c593.js +0 -30
- package/dist/esm/utils-c8805f81.js +0 -17
- package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +0 -1
- package/dist/esm-es5/focus-trap.entry.js +0 -10
- package/dist/esm-es5/if.component-d88d9e48.js +0 -1
- package/dist/esm-es5/index-bb0e68fd.js +0 -1
- package/dist/esm-es5/index-d3f1363d.js +0 -1
- package/dist/esm-es5/klp-widget.controller-6f5a7586.js +0 -11
- package/dist/esm-es5/language.service-2960ab93.js +0 -1
- package/dist/esm-es5/post-header-logo.entry.js +0 -1
- package/dist/esm-es5/post-internet-breadcrumbs-ee507bec.js +0 -1
- package/dist/esm-es5/post-internet-footer-cae59692.js +0 -1
- package/dist/esm-es5/post-internet-header-e73d3cf9.js +0 -1
- package/dist/esm-es5/post-klp-login-widget-6aeb2fd2.js +0 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +0 -1
- package/dist/esm-es5/post-language-switch-d9159f47.js +0 -1
- package/dist/esm-es5/post-language-switch.entry.js +0 -1
- package/dist/esm-es5/post-logo-2c3faf36.js +0 -1
- package/dist/esm-es5/post-main-navigation-58b5c03d.js +0 -1
- package/dist/esm-es5/post-main-navigation.entry.js +0 -1
- package/dist/esm-es5/post-meta-navigation-4bf72315.js +0 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +0 -1
- package/dist/esm-es5/post-search-daf7d66d.js +0 -1
- package/dist/esm-es5/post-search.entry.js +0 -1
- package/dist/esm-es5/post-skiplinks-0779348d.js +0 -1
- package/dist/esm-es5/post-skiplinks.entry.js +0 -1
- package/dist/esm-es5/store-629cab77.js +0 -1
- package/dist/esm-es5/svg-icon.component-70692acc.js +0 -1
- package/dist/esm-es5/svg-sprite.component-abb69a1b.js +0 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +0 -1
- package/dist/esm-es5/ui.service-22f2c593.js +0 -1
- package/dist/esm-es5/utils-c8805f81.js +0 -1
- package/dist/swisspost-internet-header/p-04fd7d46.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-06f51515.system.js +0 -1
- package/dist/swisspost-internet-header/p-08153cdd.system.js +0 -1
- package/dist/swisspost-internet-header/p-0dc46919.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-0fd62e04.entry.js +0 -1
- package/dist/swisspost-internet-header/p-151d419a.js +0 -1
- package/dist/swisspost-internet-header/p-158715a0.js +0 -1
- package/dist/swisspost-internet-header/p-19871189.system.js +0 -1
- package/dist/swisspost-internet-header/p-1a4bb959.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-1baf0e1e.entry.js +0 -1
- package/dist/swisspost-internet-header/p-1beee852.js +0 -1
- package/dist/swisspost-internet-header/p-1d65df23.system.js +0 -11
- package/dist/swisspost-internet-header/p-1e791ed5.js +0 -1
- package/dist/swisspost-internet-header/p-1fd8561a.system.js +0 -1
- package/dist/swisspost-internet-header/p-29d246c8.entry.js +0 -1
- package/dist/swisspost-internet-header/p-2aced2a4.entry.js +0 -1
- package/dist/swisspost-internet-header/p-2f3fec1b.js +0 -1
- package/dist/swisspost-internet-header/p-33c4018e.system.js +0 -1
- package/dist/swisspost-internet-header/p-34e560bf.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-363c44ec.system.js +0 -1
- package/dist/swisspost-internet-header/p-495f4e06.system.js +0 -1
- package/dist/swisspost-internet-header/p-4d24ffae.js +0 -1
- package/dist/swisspost-internet-header/p-4d5bddc5.system.entry.js +0 -10
- package/dist/swisspost-internet-header/p-511f2bdf.js +0 -1
- package/dist/swisspost-internet-header/p-5600adca.system.js +0 -2
- package/dist/swisspost-internet-header/p-5692afb1.entry.js +0 -1
- package/dist/swisspost-internet-header/p-63047c81.js +0 -1
- package/dist/swisspost-internet-header/p-67f6b5a8.js +0 -2
- package/dist/swisspost-internet-header/p-693ba981.system.js +0 -1
- package/dist/swisspost-internet-header/p-695fe962.system.js +0 -1
- package/dist/swisspost-internet-header/p-6c4128db.js +0 -1
- package/dist/swisspost-internet-header/p-6c5a684e.entry.js +0 -1
- package/dist/swisspost-internet-header/p-6dfbb3f2.js +0 -1
- package/dist/swisspost-internet-header/p-6fd592eb.system.js +0 -1
- package/dist/swisspost-internet-header/p-707faa23.js +0 -1
- package/dist/swisspost-internet-header/p-78d28548.js +0 -1
- package/dist/swisspost-internet-header/p-7950c3fc.system.js +0 -1
- package/dist/swisspost-internet-header/p-812782e0.system.js +0 -1
- package/dist/swisspost-internet-header/p-840aa5c6.js +0 -1
- package/dist/swisspost-internet-header/p-88295f48.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-944e8412.entry.js +0 -11
- package/dist/swisspost-internet-header/p-95285051.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-9ba6f8b6.system.js +0 -1
- package/dist/swisspost-internet-header/p-9d5dbac8.entry.js +0 -1
- package/dist/swisspost-internet-header/p-9f6b64df.js +0 -11
- package/dist/swisspost-internet-header/p-a0313d87.js +0 -1
- package/dist/swisspost-internet-header/p-a06f4e27.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-a119b38d.js +0 -1
- package/dist/swisspost-internet-header/p-a39139a9.js +0 -1
- package/dist/swisspost-internet-header/p-abf306bd.system.js +0 -1
- package/dist/swisspost-internet-header/p-b3014611.system.js +0 -1
- package/dist/swisspost-internet-header/p-b9c8cba2.system.js +0 -1
- package/dist/swisspost-internet-header/p-cce8bd3f.entry.js +0 -1
- package/dist/swisspost-internet-header/p-cdb473a4.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-cf4d8f82.js +0 -1
- package/dist/swisspost-internet-header/p-cf6dd7e2.entry.js +0 -1
- package/dist/swisspost-internet-header/p-d7e221af.system.js +0 -1
- package/dist/swisspost-internet-header/p-dc2f1d20.js +0 -1
- package/dist/swisspost-internet-header/p-e673cc0a.entry.js +0 -1
- package/dist/swisspost-internet-header/p-eefdd3f5.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-f0a9cc89.system.js +0 -1
- package/dist/swisspost-internet-header/p-f5d48ed5.system.js +0 -1
- package/dist/swisspost-internet-header/p-f65ba1be.system.entry.js +0 -1
- package/dist/swisspost-internet-header/p-fa4599e6.js +0 -1
- package/dist/swisspost-internet-header/p-fb69b98c.system.js +0 -1
- package/dist/swisspost-internet-header/p-fc668bdc.system.js +0 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.css +0 -1
- package/dist/types/assets/i18n/translations.d.ts +0 -82
- package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +0 -9
- package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +0 -7
- package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +0 -6
- package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +0 -16
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +0 -57
- package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +0 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +0 -6
- package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +0 -4
- package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +0 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +0 -5
- package/dist/types/components/post-internet-header/logo-animation/logo-animation.d.ts +0 -1
- package/dist/types/components/post-internet-header/logo-animation/logo-scale.d.ts +0 -4
- package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +0 -3
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +0 -21
- package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +0 -6
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +0 -37
- package/dist/types/components/post-logo/post-logo.d.ts +0 -4
- package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +0 -8
- package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +0 -48
- package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +0 -12
- package/dist/types/components/post-search/post-search.d.ts +0 -79
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +0 -9
- package/dist/types/components/shared/focus-trap.d.ts +0 -17
- package/dist/types/models/breadcrumbs.model.d.ts +0 -36
- package/dist/types/models/coveo.model.d.ts +0 -22
- package/dist/types/models/geocode.model.d.ts +0 -53
- package/dist/types/models/implementor.model.d.ts +0 -22
- package/dist/types/models/language.model.d.ts +0 -6
- package/dist/types/models/track-and-trace.model.d.ts +0 -25
- package/dist/types/services/search/coveo.service.d.ts +0 -9
- package/dist/types/services/search/coveo.settings.d.ts +0 -2
- package/dist/types/services/search/parcel.service.d.ts +0 -28
- package/dist/types/services/search/places.service.d.ts +0 -24
- package/dist/types/services/search/places.settings.d.ts +0 -3
- package/dist/types/services/search/search-utilities.d.ts +0 -9
- package/dist/types/services/search/search.service.d.ts +0 -24
- package/dist/types/services/ui.service.d.ts +0 -23
- package/dist/types/utils/highlighted.component.d.ts +0 -4
- package/dist/types/utils/if.component.d.ts +0 -4
- package/dist/types/utils/scrollparent.d.ts +0 -1
- package/dist/types/utils/svg-icon.component.d.ts +0 -4
- package/dist/types/utils/svg-sprite.component.d.ts +0 -1
- package/dist/types/utils/utils.d.ts +0 -8
- package/loader/package.json +0 -11
- /package/dist/cjs/{app-globals-3a1e7e63.js → app-globals-V2Kpy_OQ.js} +0 -0
- /package/dist/collection/models/{breadcrumbs.model.js → shared.model.js} +0 -0
- /package/dist/collection/models/{coveo.model.js → user.model.js} +0 -0
- /package/dist/esm/{app-globals-0f993ce5.js → app-globals-DQuL1Twl.js} +0 -0
- /package/dist/esm-es5/{app-globals-0f993ce5.js → app-globals-DQuL1Twl.js} +0 -0
- /package/dist/swisspost-internet-header/{p-56ba5cbf.system.js → p-BbPAtVJG.system.js} +0 -0
- /package/dist/swisspost-internet-header/{p-e1255160.js → p-DQuL1Twl.js} +0 -0
|
@@ -1,3095 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const index = require('./index-ecd8c9bb.js');
|
|
4
|
-
const index$1 = require('./index-fbcc9ff3.js');
|
|
5
|
-
const bodyScrollLock_esm = require('./bodyScrollLock.esm-59f17217.js');
|
|
6
|
-
const svgIcon_component = require('./svg-icon.component-00e315a8.js');
|
|
7
|
-
const store = require('./store-c3e61d64.js');
|
|
8
|
-
const svgSprite_component = require('./svg-sprite.component-aff81fb2.js');
|
|
9
|
-
const language_service = require('./language.service-15af0e29.js');
|
|
10
|
-
const utils = require('./utils-0a793763.js');
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Overlay implementation with focus trap according to
|
|
14
|
-
* https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
|
|
15
|
-
*
|
|
16
|
-
* @param props
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
const OverlayComponent = (props) => (index.h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
|
|
20
|
-
index.h("div", { class: "container", role: "dialog" },
|
|
21
|
-
index.h("focus-trap", { active: true },
|
|
22
|
-
index.h("div", { class: "overlay-container", role: "document", onClick: e => e.stopPropagation() },
|
|
23
|
-
index.h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
|
|
24
|
-
index.h("span", { class: "visually-hidden" }, props.closeButtonText),
|
|
25
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-close" })),
|
|
26
|
-
index.h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
|
|
27
|
-
index.h("div", { class: "loader-wrapper" },
|
|
28
|
-
index.h("div", { class: "loader" })))));
|
|
29
|
-
|
|
30
|
-
var iframeResizer$1 = {exports: {}};
|
|
31
|
-
|
|
32
|
-
/*
|
|
33
|
-
* File: iframeResizer.js
|
|
34
|
-
* Desc: Force iframes to size to content.
|
|
35
|
-
* Requires: iframeResizer.contentWindow.js to be loaded into the target frame.
|
|
36
|
-
* Doc: https://iframe-resizer.com
|
|
37
|
-
* Author: David J. Bradshaw - info@iframe-resizer.com
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
(function (module) {
|
|
41
|
-
console.info(`
|
|
42
|
-
IFRAME-RESIZER
|
|
43
|
-
|
|
44
|
-
Iframe-Resizer 5 is now available via the following two packages:
|
|
45
|
-
|
|
46
|
-
* @iframe-resizer/parent
|
|
47
|
-
* @iframe-resizer/child
|
|
48
|
-
|
|
49
|
-
Additionally their are also new versions of iframe-resizer for React, Vue, and jQuery.
|
|
50
|
-
|
|
51
|
-
Version 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.
|
|
52
|
-
|
|
53
|
-
Please see https://iframe-resizer.com/upgrade for more details.
|
|
54
|
-
`)
|
|
55
|
-
|
|
56
|
-
// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names
|
|
57
|
-
;(function (undefined$1) {
|
|
58
|
-
if (typeof window === 'undefined') return // don't run for server side render
|
|
59
|
-
|
|
60
|
-
// var VERSION = '4.3.11'
|
|
61
|
-
|
|
62
|
-
var count = 0,
|
|
63
|
-
destroyObserver,
|
|
64
|
-
logEnabled = false,
|
|
65
|
-
hiddenCheckEnabled = false,
|
|
66
|
-
msgHeader = 'message',
|
|
67
|
-
msgHeaderLen = msgHeader.length,
|
|
68
|
-
msgId = '[iFrameSizer]', // Must match iframe msg ID
|
|
69
|
-
msgIdLen = msgId.length,
|
|
70
|
-
pagePosition = null,
|
|
71
|
-
requestAnimationFrame = window.requestAnimationFrame,
|
|
72
|
-
resetRequiredMethods = Object.freeze({
|
|
73
|
-
max: 1,
|
|
74
|
-
scroll: 1,
|
|
75
|
-
bodyScroll: 1,
|
|
76
|
-
documentElementScroll: 1
|
|
77
|
-
}),
|
|
78
|
-
settings = {},
|
|
79
|
-
timer = null,
|
|
80
|
-
defaults = Object.freeze({
|
|
81
|
-
autoResize: true,
|
|
82
|
-
bodyBackground: null,
|
|
83
|
-
bodyMargin: null,
|
|
84
|
-
bodyMarginV1: 8,
|
|
85
|
-
bodyPadding: null,
|
|
86
|
-
checkOrigin: true,
|
|
87
|
-
inPageLinks: false,
|
|
88
|
-
enablePublicMethods: true,
|
|
89
|
-
heightCalculationMethod: 'bodyOffset',
|
|
90
|
-
id: 'iFrameResizer',
|
|
91
|
-
interval: 32,
|
|
92
|
-
license: '1jqr0si6pnt',
|
|
93
|
-
log: false,
|
|
94
|
-
maxHeight: Infinity,
|
|
95
|
-
maxWidth: Infinity,
|
|
96
|
-
minHeight: 0,
|
|
97
|
-
minWidth: 0,
|
|
98
|
-
mouseEvents: true,
|
|
99
|
-
resizeFrom: 'parent',
|
|
100
|
-
scrolling: false,
|
|
101
|
-
sizeHeight: true,
|
|
102
|
-
sizeWidth: false,
|
|
103
|
-
warningTimeout: 5000,
|
|
104
|
-
tolerance: 0,
|
|
105
|
-
widthCalculationMethod: 'scroll',
|
|
106
|
-
onClose: function () {
|
|
107
|
-
return true
|
|
108
|
-
},
|
|
109
|
-
onClosed: function () {},
|
|
110
|
-
onInit: function () {},
|
|
111
|
-
onMessage: function () {
|
|
112
|
-
warn('onMessage function not defined');
|
|
113
|
-
},
|
|
114
|
-
onMouseEnter: function () {},
|
|
115
|
-
onMouseLeave: function () {},
|
|
116
|
-
onResized: function () {},
|
|
117
|
-
onScroll: function () {
|
|
118
|
-
return true
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
function getMutationObserver() {
|
|
123
|
-
return (
|
|
124
|
-
window.MutationObserver ||
|
|
125
|
-
window.WebKitMutationObserver ||
|
|
126
|
-
window.MozMutationObserver
|
|
127
|
-
)
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function addEventListener(el, evt, func) {
|
|
131
|
-
el.addEventListener(evt, func, false);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function removeEventListener(el, evt, func) {
|
|
135
|
-
el.removeEventListener(evt, func, false);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function setupRequestAnimationFrame() {
|
|
139
|
-
var vendors = ['moz', 'webkit', 'o', 'ms'];
|
|
140
|
-
var x;
|
|
141
|
-
|
|
142
|
-
// Remove vendor prefixing if prefixed and break early if not
|
|
143
|
-
for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {
|
|
144
|
-
requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (requestAnimationFrame) {
|
|
148
|
-
// Firefox extension content-scripts have a globalThis object that is not the same as window.
|
|
149
|
-
// Binding `requestAnimationFrame` to window allows the function to work and prevents errors
|
|
150
|
-
// being thrown when run in that context, and should be a no-op in every other context.
|
|
151
|
-
requestAnimationFrame = requestAnimationFrame.bind(window);
|
|
152
|
-
} else {
|
|
153
|
-
log('setup', 'RequestAnimationFrame not supported');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
function getMyID(iframeId) {
|
|
158
|
-
var retStr = 'Host page: ' + iframeId;
|
|
159
|
-
|
|
160
|
-
if (window.top !== window.self) {
|
|
161
|
-
retStr =
|
|
162
|
-
window.parentIFrame && window.parentIFrame.getId
|
|
163
|
-
? window.parentIFrame.getId() + ': ' + iframeId
|
|
164
|
-
: 'Nested host page: ' + iframeId;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
return retStr
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
function formatLogHeader(iframeId) {
|
|
171
|
-
return msgId + '[' + getMyID(iframeId) + ']'
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
function isLogEnabled(iframeId) {
|
|
175
|
-
return settings[iframeId] ? settings[iframeId].log : logEnabled
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
function log(iframeId, msg) {
|
|
179
|
-
output('log', iframeId, msg, isLogEnabled(iframeId));
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
function info(iframeId, msg) {
|
|
183
|
-
output('info', iframeId, msg, isLogEnabled(iframeId));
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
function warn(iframeId, msg) {
|
|
187
|
-
output('warn', iframeId, msg, true);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
function output(type, iframeId, msg, enabled) {
|
|
191
|
-
if (true === enabled && 'object' === typeof window.console) {
|
|
192
|
-
// eslint-disable-next-line no-console
|
|
193
|
-
console[type](formatLogHeader(iframeId), msg);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
function iFrameListener(event) {
|
|
198
|
-
function resizeIFrame() {
|
|
199
|
-
function resize() {
|
|
200
|
-
setSize(messageData);
|
|
201
|
-
setPagePosition(iframeId);
|
|
202
|
-
on('onResized', messageData);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
ensureInRange('Height');
|
|
206
|
-
ensureInRange('Width');
|
|
207
|
-
|
|
208
|
-
syncResize(resize, messageData, 'init');
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
function processMsg() {
|
|
212
|
-
var data = msg.slice(msgIdLen).split(':');
|
|
213
|
-
var height = data[1] ? parseInt(data[1], 10) : 0;
|
|
214
|
-
var iframe = settings[data[0]] && settings[data[0]].iframe;
|
|
215
|
-
var compStyle = getComputedStyle(iframe);
|
|
216
|
-
|
|
217
|
-
return {
|
|
218
|
-
iframe: iframe,
|
|
219
|
-
id: data[0],
|
|
220
|
-
height: height + getPaddingEnds(compStyle) + getBorderEnds(compStyle),
|
|
221
|
-
width: data[2],
|
|
222
|
-
type: data[3]
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
function getPaddingEnds(compStyle) {
|
|
227
|
-
if (compStyle.boxSizing !== 'border-box') {
|
|
228
|
-
return 0
|
|
229
|
-
}
|
|
230
|
-
var top = compStyle.paddingTop ? parseInt(compStyle.paddingTop, 10) : 0;
|
|
231
|
-
var bot = compStyle.paddingBottom
|
|
232
|
-
? parseInt(compStyle.paddingBottom, 10)
|
|
233
|
-
: 0;
|
|
234
|
-
return top + bot
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
function getBorderEnds(compStyle) {
|
|
238
|
-
if (compStyle.boxSizing !== 'border-box') {
|
|
239
|
-
return 0
|
|
240
|
-
}
|
|
241
|
-
var top = compStyle.borderTopWidth
|
|
242
|
-
? parseInt(compStyle.borderTopWidth, 10)
|
|
243
|
-
: 0;
|
|
244
|
-
var bot = compStyle.borderBottomWidth
|
|
245
|
-
? parseInt(compStyle.borderBottomWidth, 10)
|
|
246
|
-
: 0;
|
|
247
|
-
return top + bot
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
function ensureInRange(Dimension) {
|
|
251
|
-
var max = Number(settings[iframeId]['max' + Dimension]),
|
|
252
|
-
min = Number(settings[iframeId]['min' + Dimension]),
|
|
253
|
-
dimension = Dimension.toLowerCase(),
|
|
254
|
-
size = Number(messageData[dimension]);
|
|
255
|
-
|
|
256
|
-
log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max);
|
|
257
|
-
|
|
258
|
-
if (size < min) {
|
|
259
|
-
size = min;
|
|
260
|
-
log(iframeId, 'Set ' + dimension + ' to min value');
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
if (size > max) {
|
|
264
|
-
size = max;
|
|
265
|
-
log(iframeId, 'Set ' + dimension + ' to max value');
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
messageData[dimension] = '' + size;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
function isMessageFromIFrame() {
|
|
272
|
-
function checkAllowedOrigin() {
|
|
273
|
-
function checkList() {
|
|
274
|
-
var i = 0,
|
|
275
|
-
retCode = false;
|
|
276
|
-
|
|
277
|
-
log(
|
|
278
|
-
iframeId,
|
|
279
|
-
'Checking connection is from allowed list of origins: ' +
|
|
280
|
-
checkOrigin
|
|
281
|
-
);
|
|
282
|
-
|
|
283
|
-
for (; i < checkOrigin.length; i++) {
|
|
284
|
-
if (checkOrigin[i] === origin) {
|
|
285
|
-
retCode = true;
|
|
286
|
-
break
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
return retCode
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
function checkSingle() {
|
|
293
|
-
var remoteHost = settings[iframeId] && settings[iframeId].remoteHost;
|
|
294
|
-
log(iframeId, 'Checking connection is from: ' + remoteHost);
|
|
295
|
-
return origin === remoteHost
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
return checkOrigin.constructor === Array ? checkList() : checkSingle()
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
var origin = event.origin,
|
|
302
|
-
checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin;
|
|
303
|
-
|
|
304
|
-
if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) {
|
|
305
|
-
throw new Error(
|
|
306
|
-
'Unexpected message received from: ' +
|
|
307
|
-
origin +
|
|
308
|
-
' for ' +
|
|
309
|
-
messageData.iframe.id +
|
|
310
|
-
'. Message was: ' +
|
|
311
|
-
event.data +
|
|
312
|
-
'. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.'
|
|
313
|
-
)
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
return true
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
function isMessageForUs() {
|
|
320
|
-
return (
|
|
321
|
-
msgId === ('' + msg).slice(0, msgIdLen) &&
|
|
322
|
-
msg.slice(msgIdLen).split(':')[0] in settings
|
|
323
|
-
) // ''+Protects against non-string msg
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
function isMessageFromMetaParent() {
|
|
327
|
-
// Test if this message is from a parent above us. This is an ugly test, however, updating
|
|
328
|
-
// the message format would break backwards compatibility.
|
|
329
|
-
var retCode = messageData.type in { true: 1, false: 1, undefined: 1 };
|
|
330
|
-
|
|
331
|
-
if (retCode) {
|
|
332
|
-
log(iframeId, 'Ignoring init message from meta parent page');
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
return retCode
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
function getMsgBody(offset) {
|
|
339
|
-
return msg.slice(msg.indexOf(':') + msgHeaderLen + offset)
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
function forwardMsgFromIFrame(msgBody) {
|
|
343
|
-
log(
|
|
344
|
-
iframeId,
|
|
345
|
-
'onMessage passed: {iframe: ' +
|
|
346
|
-
messageData.iframe.id +
|
|
347
|
-
', message: ' +
|
|
348
|
-
msgBody +
|
|
349
|
-
'}'
|
|
350
|
-
);
|
|
351
|
-
|
|
352
|
-
on('onMessage', {
|
|
353
|
-
iframe: messageData.iframe,
|
|
354
|
-
message: JSON.parse(msgBody)
|
|
355
|
-
});
|
|
356
|
-
|
|
357
|
-
log(iframeId, '--');
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
function getPageInfo() {
|
|
361
|
-
var bodyPosition = document.body.getBoundingClientRect(),
|
|
362
|
-
iFramePosition = messageData.iframe.getBoundingClientRect();
|
|
363
|
-
|
|
364
|
-
return JSON.stringify({
|
|
365
|
-
iframeHeight: iFramePosition.height,
|
|
366
|
-
iframeWidth: iFramePosition.width,
|
|
367
|
-
clientHeight: Math.max(
|
|
368
|
-
document.documentElement.clientHeight,
|
|
369
|
-
window.innerHeight || 0
|
|
370
|
-
),
|
|
371
|
-
clientWidth: Math.max(
|
|
372
|
-
document.documentElement.clientWidth,
|
|
373
|
-
window.innerWidth || 0
|
|
374
|
-
),
|
|
375
|
-
offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10),
|
|
376
|
-
offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10),
|
|
377
|
-
scrollTop: window.pageYOffset,
|
|
378
|
-
scrollLeft: window.pageXOffset,
|
|
379
|
-
documentHeight: document.documentElement.clientHeight,
|
|
380
|
-
documentWidth: document.documentElement.clientWidth,
|
|
381
|
-
windowHeight: window.innerHeight,
|
|
382
|
-
windowWidth: window.innerWidth
|
|
383
|
-
})
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
function sendPageInfoToIframe(iframe, iframeId) {
|
|
387
|
-
function debouncedTrigger() {
|
|
388
|
-
trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId);
|
|
389
|
-
}
|
|
390
|
-
debounceFrameEvents(debouncedTrigger, 32, iframeId);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
function startPageInfoMonitor() {
|
|
394
|
-
function setListener(type, func) {
|
|
395
|
-
function sendPageInfo() {
|
|
396
|
-
if (settings[id]) {
|
|
397
|
-
sendPageInfoToIframe(settings[id].iframe, id);
|
|
398
|
-
} else {
|
|
399
|
-
stop();
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
['scroll', 'resize'].forEach(function (evt) {
|
|
403
|
-
log(id, type + evt + ' listener for sendPageInfo');
|
|
404
|
-
func(window, evt, sendPageInfo);
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
function stop() {
|
|
409
|
-
setListener('Remove ', removeEventListener);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
function start() {
|
|
413
|
-
setListener('Add ', addEventListener);
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
var id = iframeId; // Create locally scoped copy of iFrame ID
|
|
417
|
-
|
|
418
|
-
start();
|
|
419
|
-
|
|
420
|
-
if (settings[id]) {
|
|
421
|
-
settings[id].stopPageInfo = stop;
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
function stopPageInfoMonitor() {
|
|
426
|
-
if (settings[iframeId] && settings[iframeId].stopPageInfo) {
|
|
427
|
-
settings[iframeId].stopPageInfo();
|
|
428
|
-
delete settings[iframeId].stopPageInfo;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
function checkIFrameExists() {
|
|
433
|
-
var retBool = true;
|
|
434
|
-
|
|
435
|
-
if (null === messageData.iframe) {
|
|
436
|
-
warn(iframeId, 'IFrame (' + messageData.id + ') not found');
|
|
437
|
-
retBool = false;
|
|
438
|
-
}
|
|
439
|
-
return retBool
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
function getElementPosition(target) {
|
|
443
|
-
var iFramePosition = target.getBoundingClientRect();
|
|
444
|
-
|
|
445
|
-
getPagePosition(iframeId);
|
|
446
|
-
|
|
447
|
-
return {
|
|
448
|
-
x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)),
|
|
449
|
-
y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y))
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
function scrollRequestFromChild(addOffset) {
|
|
454
|
-
/* istanbul ignore next */ // Not testable in Karma
|
|
455
|
-
function reposition() {
|
|
456
|
-
pagePosition = newPosition;
|
|
457
|
-
scrollTo();
|
|
458
|
-
log(iframeId, '--');
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
function calcOffset() {
|
|
462
|
-
return {
|
|
463
|
-
x: Number(messageData.width) + offset.x,
|
|
464
|
-
y: Number(messageData.height) + offset.y
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
function scrollParent() {
|
|
469
|
-
if (window.parentIFrame) {
|
|
470
|
-
window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')](
|
|
471
|
-
newPosition.x,
|
|
472
|
-
newPosition.y
|
|
473
|
-
);
|
|
474
|
-
} else {
|
|
475
|
-
warn(
|
|
476
|
-
iframeId,
|
|
477
|
-
'Unable to scroll to requested position, window.parentIFrame not found'
|
|
478
|
-
);
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
var offset = addOffset
|
|
483
|
-
? getElementPosition(messageData.iframe)
|
|
484
|
-
: { x: 0, y: 0 },
|
|
485
|
-
newPosition = calcOffset();
|
|
486
|
-
|
|
487
|
-
log(
|
|
488
|
-
iframeId,
|
|
489
|
-
'Reposition requested from iFrame (offset x:' +
|
|
490
|
-
offset.x +
|
|
491
|
-
' y:' +
|
|
492
|
-
offset.y +
|
|
493
|
-
')'
|
|
494
|
-
);
|
|
495
|
-
|
|
496
|
-
if (window.top === window.self) {
|
|
497
|
-
reposition();
|
|
498
|
-
} else {
|
|
499
|
-
scrollParent();
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
function scrollTo() {
|
|
504
|
-
if (false === on('onScroll', pagePosition)) {
|
|
505
|
-
unsetPagePosition();
|
|
506
|
-
} else {
|
|
507
|
-
setPagePosition(iframeId);
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
function findTarget(location) {
|
|
512
|
-
function jumpToTarget() {
|
|
513
|
-
var jumpPosition = getElementPosition(target);
|
|
514
|
-
|
|
515
|
-
log(
|
|
516
|
-
iframeId,
|
|
517
|
-
'Moving to in page link (#' +
|
|
518
|
-
hash +
|
|
519
|
-
') at x: ' +
|
|
520
|
-
jumpPosition.x +
|
|
521
|
-
' y: ' +
|
|
522
|
-
jumpPosition.y
|
|
523
|
-
);
|
|
524
|
-
pagePosition = {
|
|
525
|
-
x: jumpPosition.x,
|
|
526
|
-
y: jumpPosition.y
|
|
527
|
-
};
|
|
528
|
-
|
|
529
|
-
scrollTo();
|
|
530
|
-
log(iframeId, '--');
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
function jumpToParent() {
|
|
534
|
-
if (window.parentIFrame) {
|
|
535
|
-
window.parentIFrame.moveToAnchor(hash);
|
|
536
|
-
} else {
|
|
537
|
-
log(
|
|
538
|
-
iframeId,
|
|
539
|
-
'In page link #' +
|
|
540
|
-
hash +
|
|
541
|
-
' not found and window.parentIFrame not found'
|
|
542
|
-
);
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
var hash = location.split('#')[1] || '',
|
|
547
|
-
hashData = decodeURIComponent(hash),
|
|
548
|
-
target =
|
|
549
|
-
document.getElementById(hashData) ||
|
|
550
|
-
document.getElementsByName(hashData)[0];
|
|
551
|
-
|
|
552
|
-
if (target) {
|
|
553
|
-
jumpToTarget();
|
|
554
|
-
} else if (window.top === window.self) {
|
|
555
|
-
log(iframeId, 'In page link #' + hash + ' not found');
|
|
556
|
-
} else {
|
|
557
|
-
jumpToParent();
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
function onMouse(event) {
|
|
562
|
-
var mousePos = {};
|
|
563
|
-
|
|
564
|
-
if (Number(messageData.width) === 0 && Number(messageData.height) === 0) {
|
|
565
|
-
var data = getMsgBody(9).split(':');
|
|
566
|
-
mousePos = {
|
|
567
|
-
x: data[1],
|
|
568
|
-
y: data[0]
|
|
569
|
-
};
|
|
570
|
-
} else {
|
|
571
|
-
mousePos = {
|
|
572
|
-
x: messageData.width,
|
|
573
|
-
y: messageData.height
|
|
574
|
-
};
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
on(event, {
|
|
578
|
-
iframe: messageData.iframe,
|
|
579
|
-
screenX: Number(mousePos.x),
|
|
580
|
-
screenY: Number(mousePos.y),
|
|
581
|
-
type: messageData.type
|
|
582
|
-
});
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
function on(funcName, val) {
|
|
586
|
-
return chkEvent(iframeId, funcName, val)
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
function actionMsg() {
|
|
590
|
-
if (settings[iframeId] && settings[iframeId].firstRun) firstRun();
|
|
591
|
-
|
|
592
|
-
switch (messageData.type) {
|
|
593
|
-
case 'close': {
|
|
594
|
-
closeIFrame(messageData.iframe);
|
|
595
|
-
break
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
case 'message': {
|
|
599
|
-
forwardMsgFromIFrame(getMsgBody(6));
|
|
600
|
-
break
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
case 'mouseenter': {
|
|
604
|
-
onMouse('onMouseEnter');
|
|
605
|
-
break
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
case 'mouseleave': {
|
|
609
|
-
onMouse('onMouseLeave');
|
|
610
|
-
break
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
case 'autoResize': {
|
|
614
|
-
settings[iframeId].autoResize = JSON.parse(getMsgBody(9));
|
|
615
|
-
break
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
case 'scrollTo': {
|
|
619
|
-
scrollRequestFromChild(false);
|
|
620
|
-
break
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
case 'scrollToOffset': {
|
|
624
|
-
scrollRequestFromChild(true);
|
|
625
|
-
break
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
case 'pageInfo': {
|
|
629
|
-
sendPageInfoToIframe(
|
|
630
|
-
settings[iframeId] && settings[iframeId].iframe,
|
|
631
|
-
iframeId
|
|
632
|
-
);
|
|
633
|
-
startPageInfoMonitor();
|
|
634
|
-
break
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
case 'pageInfoStop': {
|
|
638
|
-
stopPageInfoMonitor();
|
|
639
|
-
break
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
case 'inPageLink': {
|
|
643
|
-
findTarget(getMsgBody(9));
|
|
644
|
-
break
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
case 'reset': {
|
|
648
|
-
resetIFrame(messageData);
|
|
649
|
-
break
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
case 'init': {
|
|
653
|
-
resizeIFrame();
|
|
654
|
-
on('onInit', messageData.iframe);
|
|
655
|
-
break
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
default: {
|
|
659
|
-
if (
|
|
660
|
-
Number(messageData.width) === 0 &&
|
|
661
|
-
Number(messageData.height) === 0
|
|
662
|
-
) {
|
|
663
|
-
warn(
|
|
664
|
-
'Unsupported message received (' +
|
|
665
|
-
messageData.type +
|
|
666
|
-
'), this is likely due to the iframe containing a later ' +
|
|
667
|
-
'version of iframe-resizer than the parent page'
|
|
668
|
-
);
|
|
669
|
-
} else {
|
|
670
|
-
resizeIFrame();
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
function hasSettings(iframeId) {
|
|
677
|
-
var retBool = true;
|
|
678
|
-
|
|
679
|
-
if (!settings[iframeId]) {
|
|
680
|
-
retBool = false;
|
|
681
|
-
warn(
|
|
682
|
-
messageData.type +
|
|
683
|
-
' No settings for ' +
|
|
684
|
-
iframeId +
|
|
685
|
-
'. Message was: ' +
|
|
686
|
-
msg
|
|
687
|
-
);
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
return retBool
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
function iFrameReadyMsgReceived() {
|
|
694
|
-
// eslint-disable-next-line no-restricted-syntax, guard-for-in
|
|
695
|
-
for (var iframeId in settings) {
|
|
696
|
-
trigger(
|
|
697
|
-
'iFrame requested init',
|
|
698
|
-
createOutgoingMsg(iframeId),
|
|
699
|
-
settings[iframeId].iframe,
|
|
700
|
-
iframeId
|
|
701
|
-
);
|
|
702
|
-
}
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
function firstRun() {
|
|
706
|
-
if (settings[iframeId]) {
|
|
707
|
-
settings[iframeId].firstRun = false;
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
var msg = event.data,
|
|
712
|
-
messageData = {},
|
|
713
|
-
iframeId = null;
|
|
714
|
-
|
|
715
|
-
if ('[iFrameResizerChild]Ready' === msg) {
|
|
716
|
-
iFrameReadyMsgReceived();
|
|
717
|
-
} else if (isMessageForUs()) {
|
|
718
|
-
messageData = processMsg();
|
|
719
|
-
iframeId = messageData.id;
|
|
720
|
-
if (settings[iframeId]) {
|
|
721
|
-
settings[iframeId].loaded = true;
|
|
722
|
-
}
|
|
723
|
-
|
|
724
|
-
if (!isMessageFromMetaParent() && hasSettings(iframeId)) {
|
|
725
|
-
log(iframeId, 'Received: ' + msg);
|
|
726
|
-
|
|
727
|
-
if (checkIFrameExists() && isMessageFromIFrame()) {
|
|
728
|
-
actionMsg();
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
} else {
|
|
732
|
-
info(iframeId, 'Ignored: ' + msg);
|
|
733
|
-
}
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
function chkEvent(iframeId, funcName, val) {
|
|
737
|
-
var func = null,
|
|
738
|
-
retVal = null;
|
|
739
|
-
|
|
740
|
-
if (settings[iframeId]) {
|
|
741
|
-
func = settings[iframeId][funcName];
|
|
742
|
-
|
|
743
|
-
if ('function' === typeof func) {
|
|
744
|
-
retVal = func(val);
|
|
745
|
-
} else {
|
|
746
|
-
throw new TypeError(
|
|
747
|
-
funcName + ' on iFrame[' + iframeId + '] is not a function'
|
|
748
|
-
)
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
return retVal
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
function removeIframeListeners(iframe) {
|
|
756
|
-
var iframeId = iframe.id;
|
|
757
|
-
delete settings[iframeId];
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
function closeIFrame(iframe) {
|
|
761
|
-
var iframeId = iframe.id;
|
|
762
|
-
if (chkEvent(iframeId, 'onClose', iframeId) === false) {
|
|
763
|
-
log(iframeId, 'Close iframe cancelled by onClose event');
|
|
764
|
-
return
|
|
765
|
-
}
|
|
766
|
-
log(iframeId, 'Removing iFrame: ' + iframeId);
|
|
767
|
-
|
|
768
|
-
try {
|
|
769
|
-
// Catch race condition error with React
|
|
770
|
-
if (iframe.parentNode) {
|
|
771
|
-
iframe.parentNode.removeChild(iframe);
|
|
772
|
-
}
|
|
773
|
-
} catch (error) {
|
|
774
|
-
warn(error);
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
chkEvent(iframeId, 'onClosed', iframeId);
|
|
778
|
-
log(iframeId, '--');
|
|
779
|
-
removeIframeListeners(iframe);
|
|
780
|
-
if (destroyObserver) {
|
|
781
|
-
destroyObserver.disconnect();
|
|
782
|
-
destroyObserver = null;
|
|
783
|
-
}
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
function getPagePosition(iframeId) {
|
|
787
|
-
if (null === pagePosition) {
|
|
788
|
-
pagePosition = {
|
|
789
|
-
x:
|
|
790
|
-
window.pageXOffset === undefined$1
|
|
791
|
-
? document.documentElement.scrollLeft
|
|
792
|
-
: window.pageXOffset,
|
|
793
|
-
y:
|
|
794
|
-
window.pageYOffset === undefined$1
|
|
795
|
-
? document.documentElement.scrollTop
|
|
796
|
-
: window.pageYOffset
|
|
797
|
-
};
|
|
798
|
-
log(
|
|
799
|
-
iframeId,
|
|
800
|
-
'Get page position: ' + pagePosition.x + ',' + pagePosition.y
|
|
801
|
-
);
|
|
802
|
-
}
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
function setPagePosition(iframeId) {
|
|
806
|
-
if (null !== pagePosition) {
|
|
807
|
-
window.scrollTo(pagePosition.x, pagePosition.y);
|
|
808
|
-
log(
|
|
809
|
-
iframeId,
|
|
810
|
-
'Set page position: ' + pagePosition.x + ',' + pagePosition.y
|
|
811
|
-
);
|
|
812
|
-
unsetPagePosition();
|
|
813
|
-
}
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
function unsetPagePosition() {
|
|
817
|
-
pagePosition = null;
|
|
818
|
-
}
|
|
819
|
-
|
|
820
|
-
function resetIFrame(messageData) {
|
|
821
|
-
function reset() {
|
|
822
|
-
setSize(messageData);
|
|
823
|
-
trigger('reset', 'reset', messageData.iframe, messageData.id);
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
log(
|
|
827
|
-
messageData.id,
|
|
828
|
-
'Size reset requested by ' +
|
|
829
|
-
('init' === messageData.type ? 'host page' : 'iFrame')
|
|
830
|
-
);
|
|
831
|
-
getPagePosition(messageData.id);
|
|
832
|
-
syncResize(reset, messageData, 'reset');
|
|
833
|
-
}
|
|
834
|
-
|
|
835
|
-
function setSize(messageData) {
|
|
836
|
-
function setDimension(dimension) {
|
|
837
|
-
if (!messageData.id) {
|
|
838
|
-
log('undefined', 'messageData id not set');
|
|
839
|
-
return
|
|
840
|
-
}
|
|
841
|
-
messageData.iframe.style[dimension] = messageData[dimension] + 'px';
|
|
842
|
-
log(
|
|
843
|
-
messageData.id,
|
|
844
|
-
'IFrame (' +
|
|
845
|
-
iframeId +
|
|
846
|
-
') ' +
|
|
847
|
-
dimension +
|
|
848
|
-
' set to ' +
|
|
849
|
-
messageData[dimension] +
|
|
850
|
-
'px'
|
|
851
|
-
);
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
function chkZero(dimension) {
|
|
855
|
-
// FireFox sets dimension of hidden iFrames to zero.
|
|
856
|
-
// So if we detect that set up an event to check for
|
|
857
|
-
// when iFrame becomes visible.
|
|
858
|
-
|
|
859
|
-
/* istanbul ignore next */ // Not testable in PhantomJS
|
|
860
|
-
if (!hiddenCheckEnabled && '0' === messageData[dimension]) {
|
|
861
|
-
hiddenCheckEnabled = true;
|
|
862
|
-
log(iframeId, 'Hidden iFrame detected, creating visibility listener');
|
|
863
|
-
fixHiddenIFrames();
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
|
|
867
|
-
function processDimension(dimension) {
|
|
868
|
-
setDimension(dimension);
|
|
869
|
-
chkZero(dimension);
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
var iframeId = messageData.iframe.id;
|
|
873
|
-
|
|
874
|
-
if (settings[iframeId]) {
|
|
875
|
-
if (settings[iframeId].sizeHeight) {
|
|
876
|
-
processDimension('height');
|
|
877
|
-
}
|
|
878
|
-
if (settings[iframeId].sizeWidth) {
|
|
879
|
-
processDimension('width');
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
function syncResize(func, messageData, doNotSync) {
|
|
885
|
-
/* istanbul ignore if */ // Not testable in PhantomJS
|
|
886
|
-
if (
|
|
887
|
-
doNotSync !== messageData.type &&
|
|
888
|
-
requestAnimationFrame &&
|
|
889
|
-
// including check for jasmine because had trouble getting spy to work in unit test using requestAnimationFrame
|
|
890
|
-
!window.jasmine
|
|
891
|
-
) {
|
|
892
|
-
log(messageData.id, 'Requesting animation frame');
|
|
893
|
-
requestAnimationFrame(func);
|
|
894
|
-
} else {
|
|
895
|
-
func();
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
function trigger(calleeMsg, msg, iframe, id, noResponseWarning) {
|
|
900
|
-
function postMessageToIFrame() {
|
|
901
|
-
var target = settings[id] && settings[id].targetOrigin;
|
|
902
|
-
log(
|
|
903
|
-
id,
|
|
904
|
-
'[' +
|
|
905
|
-
calleeMsg +
|
|
906
|
-
'] Sending msg to iframe[' +
|
|
907
|
-
id +
|
|
908
|
-
'] (' +
|
|
909
|
-
msg +
|
|
910
|
-
') targetOrigin: ' +
|
|
911
|
-
target
|
|
912
|
-
);
|
|
913
|
-
iframe.contentWindow.postMessage(msgId + msg, target);
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
function iFrameNotFound() {
|
|
917
|
-
warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found');
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
function chkAndSend() {
|
|
921
|
-
if (
|
|
922
|
-
iframe &&
|
|
923
|
-
'contentWindow' in iframe &&
|
|
924
|
-
null !== iframe.contentWindow
|
|
925
|
-
) {
|
|
926
|
-
// Null test for PhantomJS
|
|
927
|
-
postMessageToIFrame();
|
|
928
|
-
} else {
|
|
929
|
-
iFrameNotFound();
|
|
930
|
-
}
|
|
931
|
-
}
|
|
932
|
-
|
|
933
|
-
function warnOnNoResponse() {
|
|
934
|
-
function warning() {
|
|
935
|
-
if (settings[id] && !settings[id].loaded && !errorShown) {
|
|
936
|
-
errorShown = true;
|
|
937
|
-
warn(
|
|
938
|
-
id,
|
|
939
|
-
'IFrame has not responded within ' +
|
|
940
|
-
settings[id].warningTimeout / 1000 +
|
|
941
|
-
' seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.'
|
|
942
|
-
);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
if (
|
|
947
|
-
!!noResponseWarning &&
|
|
948
|
-
settings[id] &&
|
|
949
|
-
!!settings[id].warningTimeout
|
|
950
|
-
) {
|
|
951
|
-
settings[id].msgTimeout = setTimeout(
|
|
952
|
-
warning,
|
|
953
|
-
settings[id].warningTimeout
|
|
954
|
-
);
|
|
955
|
-
}
|
|
956
|
-
}
|
|
957
|
-
|
|
958
|
-
var errorShown = false;
|
|
959
|
-
|
|
960
|
-
id = id || iframe.id;
|
|
961
|
-
|
|
962
|
-
if (settings[id]) {
|
|
963
|
-
chkAndSend();
|
|
964
|
-
warnOnNoResponse();
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
|
|
968
|
-
function createOutgoingMsg(iframeId) {
|
|
969
|
-
return (
|
|
970
|
-
iframeId +
|
|
971
|
-
':' +
|
|
972
|
-
settings[iframeId].bodyMarginV1 +
|
|
973
|
-
':' +
|
|
974
|
-
settings[iframeId].sizeWidth +
|
|
975
|
-
':' +
|
|
976
|
-
settings[iframeId].log +
|
|
977
|
-
':' +
|
|
978
|
-
settings[iframeId].interval +
|
|
979
|
-
':' +
|
|
980
|
-
settings[iframeId].enablePublicMethods +
|
|
981
|
-
':' +
|
|
982
|
-
settings[iframeId].autoResize +
|
|
983
|
-
':' +
|
|
984
|
-
settings[iframeId].bodyMargin +
|
|
985
|
-
':' +
|
|
986
|
-
settings[iframeId].heightCalculationMethod +
|
|
987
|
-
':' +
|
|
988
|
-
settings[iframeId].bodyBackground +
|
|
989
|
-
':' +
|
|
990
|
-
settings[iframeId].bodyPadding +
|
|
991
|
-
':' +
|
|
992
|
-
settings[iframeId].tolerance +
|
|
993
|
-
':' +
|
|
994
|
-
settings[iframeId].inPageLinks +
|
|
995
|
-
':' +
|
|
996
|
-
settings[iframeId].resizeFrom +
|
|
997
|
-
':' +
|
|
998
|
-
settings[iframeId].widthCalculationMethod +
|
|
999
|
-
':' +
|
|
1000
|
-
settings[iframeId].mouseEvents
|
|
1001
|
-
)
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
function isNumber(value) {
|
|
1005
|
-
return typeof value === 'number'
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
|
-
function setupIFrame(iframe, options) {
|
|
1009
|
-
function setLimits() {
|
|
1010
|
-
function addStyle(style) {
|
|
1011
|
-
var styleValue = settings[iframeId][style];
|
|
1012
|
-
if (Infinity !== styleValue && 0 !== styleValue) {
|
|
1013
|
-
iframe.style[style] = isNumber(styleValue)
|
|
1014
|
-
? styleValue + 'px'
|
|
1015
|
-
: styleValue;
|
|
1016
|
-
log(iframeId, 'Set ' + style + ' = ' + iframe.style[style]);
|
|
1017
|
-
}
|
|
1018
|
-
}
|
|
1019
|
-
|
|
1020
|
-
function chkMinMax(dimension) {
|
|
1021
|
-
if (
|
|
1022
|
-
settings[iframeId]['min' + dimension] >
|
|
1023
|
-
settings[iframeId]['max' + dimension]
|
|
1024
|
-
) {
|
|
1025
|
-
throw new Error(
|
|
1026
|
-
'Value for min' +
|
|
1027
|
-
dimension +
|
|
1028
|
-
' can not be greater than max' +
|
|
1029
|
-
dimension
|
|
1030
|
-
)
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
chkMinMax('Height');
|
|
1035
|
-
chkMinMax('Width');
|
|
1036
|
-
|
|
1037
|
-
addStyle('maxHeight');
|
|
1038
|
-
addStyle('minHeight');
|
|
1039
|
-
addStyle('maxWidth');
|
|
1040
|
-
addStyle('minWidth');
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
function newId() {
|
|
1044
|
-
var id = (options && options.id) || defaults.id + count++;
|
|
1045
|
-
if (null !== document.getElementById(id)) {
|
|
1046
|
-
id += count++;
|
|
1047
|
-
}
|
|
1048
|
-
return id
|
|
1049
|
-
}
|
|
1050
|
-
|
|
1051
|
-
function ensureHasId(iframeId) {
|
|
1052
|
-
if (typeof iframeId !== 'string') {
|
|
1053
|
-
throw new TypeError('Invaild id for iFrame. Expected String')
|
|
1054
|
-
}
|
|
1055
|
-
|
|
1056
|
-
if ('' === iframeId) {
|
|
1057
|
-
// eslint-disable-next-line no-multi-assign
|
|
1058
|
-
iframe.id = iframeId = newId();
|
|
1059
|
-
logEnabled = (options || {}).log;
|
|
1060
|
-
log(
|
|
1061
|
-
iframeId,
|
|
1062
|
-
'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')'
|
|
1063
|
-
);
|
|
1064
|
-
}
|
|
1065
|
-
|
|
1066
|
-
return iframeId
|
|
1067
|
-
}
|
|
1068
|
-
|
|
1069
|
-
function setScrolling() {
|
|
1070
|
-
log(
|
|
1071
|
-
iframeId,
|
|
1072
|
-
'IFrame scrolling ' +
|
|
1073
|
-
(settings[iframeId] && settings[iframeId].scrolling
|
|
1074
|
-
? 'enabled'
|
|
1075
|
-
: 'disabled') +
|
|
1076
|
-
' for ' +
|
|
1077
|
-
iframeId
|
|
1078
|
-
);
|
|
1079
|
-
iframe.style.overflow =
|
|
1080
|
-
false === (settings[iframeId] && settings[iframeId].scrolling)
|
|
1081
|
-
? 'hidden'
|
|
1082
|
-
: 'auto';
|
|
1083
|
-
switch (settings[iframeId] && settings[iframeId].scrolling) {
|
|
1084
|
-
case 'omit': {
|
|
1085
|
-
break
|
|
1086
|
-
}
|
|
1087
|
-
|
|
1088
|
-
case true: {
|
|
1089
|
-
iframe.scrolling = 'yes';
|
|
1090
|
-
break
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
case false: {
|
|
1094
|
-
iframe.scrolling = 'no';
|
|
1095
|
-
break
|
|
1096
|
-
}
|
|
1097
|
-
|
|
1098
|
-
default: {
|
|
1099
|
-
iframe.scrolling = settings[iframeId]
|
|
1100
|
-
? settings[iframeId].scrolling
|
|
1101
|
-
: 'no';
|
|
1102
|
-
}
|
|
1103
|
-
}
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
// The V1 iFrame script expects an int, where as in V2 expects a CSS
|
|
1107
|
-
// string value such as '1px 3em', so if we have an int for V2, set V1=V2
|
|
1108
|
-
// and then convert V2 to a string PX value.
|
|
1109
|
-
function setupBodyMarginValues() {
|
|
1110
|
-
if (
|
|
1111
|
-
'number' ===
|
|
1112
|
-
typeof (settings[iframeId] && settings[iframeId].bodyMargin) ||
|
|
1113
|
-
'0' === (settings[iframeId] && settings[iframeId].bodyMargin)
|
|
1114
|
-
) {
|
|
1115
|
-
settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin;
|
|
1116
|
-
settings[iframeId].bodyMargin =
|
|
1117
|
-
'' + settings[iframeId].bodyMargin + 'px';
|
|
1118
|
-
}
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
|
-
function checkReset() {
|
|
1122
|
-
// Reduce scope of firstRun to function, because IE8's JS execution
|
|
1123
|
-
// context stack is borked and this value gets externally
|
|
1124
|
-
// changed midway through running this function!!!
|
|
1125
|
-
var firstRun = settings[iframeId] && settings[iframeId].firstRun,
|
|
1126
|
-
resetRequertMethod =
|
|
1127
|
-
settings[iframeId] &&
|
|
1128
|
-
settings[iframeId].heightCalculationMethod in resetRequiredMethods;
|
|
1129
|
-
|
|
1130
|
-
if (!firstRun && resetRequertMethod) {
|
|
1131
|
-
resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' });
|
|
1132
|
-
}
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
function setupIFrameObject() {
|
|
1136
|
-
if (settings[iframeId]) {
|
|
1137
|
-
settings[iframeId].iframe.iFrameResizer = {
|
|
1138
|
-
close: closeIFrame.bind(null, settings[iframeId].iframe),
|
|
1139
|
-
|
|
1140
|
-
removeListeners: removeIframeListeners.bind(
|
|
1141
|
-
null,
|
|
1142
|
-
settings[iframeId].iframe
|
|
1143
|
-
),
|
|
1144
|
-
|
|
1145
|
-
resize: trigger.bind(
|
|
1146
|
-
null,
|
|
1147
|
-
'Window resize',
|
|
1148
|
-
'resize',
|
|
1149
|
-
settings[iframeId].iframe
|
|
1150
|
-
),
|
|
1151
|
-
|
|
1152
|
-
moveToAnchor: function (anchor) {
|
|
1153
|
-
trigger(
|
|
1154
|
-
'Move to anchor',
|
|
1155
|
-
'moveToAnchor:' + anchor,
|
|
1156
|
-
settings[iframeId].iframe,
|
|
1157
|
-
iframeId
|
|
1158
|
-
);
|
|
1159
|
-
},
|
|
1160
|
-
|
|
1161
|
-
sendMessage: function (message) {
|
|
1162
|
-
message = JSON.stringify(message);
|
|
1163
|
-
trigger(
|
|
1164
|
-
'Send Message',
|
|
1165
|
-
'message:' + message,
|
|
1166
|
-
settings[iframeId].iframe,
|
|
1167
|
-
iframeId
|
|
1168
|
-
);
|
|
1169
|
-
}
|
|
1170
|
-
};
|
|
1171
|
-
}
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
// We have to call trigger twice, as we can not be sure if all
|
|
1175
|
-
// iframes have completed loading when this code runs. The
|
|
1176
|
-
// event listener also catches the page changing in the iFrame.
|
|
1177
|
-
function init(msg) {
|
|
1178
|
-
function iFrameLoaded() {
|
|
1179
|
-
trigger('iFrame.onload', msg, iframe, undefined$1, true);
|
|
1180
|
-
checkReset();
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
|
-
function createDestroyObserver(MutationObserver) {
|
|
1184
|
-
if (!iframe.parentNode) {
|
|
1185
|
-
return null
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
var destroyObserver = new MutationObserver(function (mutations) {
|
|
1189
|
-
mutations.forEach(function (mutation) {
|
|
1190
|
-
var removedNodes = Array.prototype.slice.call(mutation.removedNodes); // Transform NodeList into an Array
|
|
1191
|
-
removedNodes.forEach(function (removedNode) {
|
|
1192
|
-
if (removedNode === iframe) {
|
|
1193
|
-
closeIFrame(iframe);
|
|
1194
|
-
}
|
|
1195
|
-
});
|
|
1196
|
-
});
|
|
1197
|
-
});
|
|
1198
|
-
destroyObserver.observe(iframe.parentNode, {
|
|
1199
|
-
childList: true
|
|
1200
|
-
});
|
|
1201
|
-
return destroyObserver
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
var MutationObserver = getMutationObserver();
|
|
1205
|
-
if (MutationObserver) {
|
|
1206
|
-
destroyObserver = createDestroyObserver(MutationObserver);
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
addEventListener(iframe, 'load', iFrameLoaded);
|
|
1210
|
-
trigger('init', msg, iframe, undefined$1, true);
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
function checkOptions(options) {
|
|
1214
|
-
if ('object' !== typeof options) {
|
|
1215
|
-
throw new TypeError('Options is not an object')
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
|
|
1219
|
-
function copyOptions(options) {
|
|
1220
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
1221
|
-
for (var option in defaults) {
|
|
1222
|
-
if (Object.prototype.hasOwnProperty.call(defaults, option)) {
|
|
1223
|
-
settings[iframeId][option] = Object.prototype.hasOwnProperty.call(
|
|
1224
|
-
options,
|
|
1225
|
-
option
|
|
1226
|
-
)
|
|
1227
|
-
? options[option]
|
|
1228
|
-
: defaults[option];
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
function getTargetOrigin(remoteHost) {
|
|
1234
|
-
return '' === remoteHost ||
|
|
1235
|
-
null !== remoteHost.match(/^(about:blank|javascript:|file:\/\/)/)
|
|
1236
|
-
? '*'
|
|
1237
|
-
: remoteHost
|
|
1238
|
-
}
|
|
1239
|
-
|
|
1240
|
-
function depricate(key) {
|
|
1241
|
-
var splitName = key.split('Callback');
|
|
1242
|
-
|
|
1243
|
-
if (splitName.length === 2) {
|
|
1244
|
-
var name =
|
|
1245
|
-
'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1);
|
|
1246
|
-
this[name] = this[key];
|
|
1247
|
-
delete this[key];
|
|
1248
|
-
warn(
|
|
1249
|
-
iframeId,
|
|
1250
|
-
"Deprecated: '" +
|
|
1251
|
-
key +
|
|
1252
|
-
"' has been renamed '" +
|
|
1253
|
-
name +
|
|
1254
|
-
"'. The old method will be removed in the next major version."
|
|
1255
|
-
);
|
|
1256
|
-
}
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
function processOptions(options) {
|
|
1260
|
-
options = options || {};
|
|
1261
|
-
|
|
1262
|
-
settings[iframeId] = Object.create(null); // Protect against prototype attacks
|
|
1263
|
-
settings[iframeId].iframe = iframe;
|
|
1264
|
-
settings[iframeId].firstRun = true;
|
|
1265
|
-
settings[iframeId].remoteHost =
|
|
1266
|
-
iframe.src && iframe.src.split('/').slice(0, 3).join('/');
|
|
1267
|
-
|
|
1268
|
-
checkOptions(options);
|
|
1269
|
-
Object.keys(options).forEach(depricate, options);
|
|
1270
|
-
copyOptions(options);
|
|
1271
|
-
|
|
1272
|
-
if (settings[iframeId]) {
|
|
1273
|
-
settings[iframeId].targetOrigin =
|
|
1274
|
-
true === settings[iframeId].checkOrigin
|
|
1275
|
-
? getTargetOrigin(settings[iframeId].remoteHost)
|
|
1276
|
-
: '*';
|
|
1277
|
-
}
|
|
1278
|
-
}
|
|
1279
|
-
|
|
1280
|
-
function beenHere() {
|
|
1281
|
-
return iframeId in settings && 'iFrameResizer' in iframe
|
|
1282
|
-
}
|
|
1283
|
-
|
|
1284
|
-
var iframeId = ensureHasId(iframe.id);
|
|
1285
|
-
|
|
1286
|
-
if (beenHere()) {
|
|
1287
|
-
warn(iframeId, 'Ignored iFrame, already setup.');
|
|
1288
|
-
} else {
|
|
1289
|
-
processOptions(options);
|
|
1290
|
-
setScrolling();
|
|
1291
|
-
setLimits();
|
|
1292
|
-
setupBodyMarginValues();
|
|
1293
|
-
init(createOutgoingMsg(iframeId));
|
|
1294
|
-
setupIFrameObject();
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
function debouce(fn, time) {
|
|
1299
|
-
if (null === timer) {
|
|
1300
|
-
timer = setTimeout(function () {
|
|
1301
|
-
timer = null;
|
|
1302
|
-
fn();
|
|
1303
|
-
}, time);
|
|
1304
|
-
}
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
var frameTimer = {};
|
|
1308
|
-
function debounceFrameEvents(fn, time, frameId) {
|
|
1309
|
-
if (!frameTimer[frameId]) {
|
|
1310
|
-
frameTimer[frameId] = setTimeout(function () {
|
|
1311
|
-
frameTimer[frameId] = null;
|
|
1312
|
-
fn();
|
|
1313
|
-
}, time);
|
|
1314
|
-
}
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
// Not testable in PhantomJS
|
|
1318
|
-
/* istanbul ignore next */
|
|
1319
|
-
|
|
1320
|
-
function fixHiddenIFrames() {
|
|
1321
|
-
function checkIFrames() {
|
|
1322
|
-
function checkIFrame(settingId) {
|
|
1323
|
-
function chkDimension(dimension) {
|
|
1324
|
-
return (
|
|
1325
|
-
'0px' ===
|
|
1326
|
-
(settings[settingId] && settings[settingId].iframe.style[dimension])
|
|
1327
|
-
)
|
|
1328
|
-
}
|
|
1329
|
-
|
|
1330
|
-
function isVisible(el) {
|
|
1331
|
-
return null !== el.offsetParent
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
if (
|
|
1335
|
-
settings[settingId] &&
|
|
1336
|
-
isVisible(settings[settingId].iframe) &&
|
|
1337
|
-
(chkDimension('height') || chkDimension('width'))
|
|
1338
|
-
) {
|
|
1339
|
-
trigger(
|
|
1340
|
-
'Visibility change',
|
|
1341
|
-
'resize',
|
|
1342
|
-
settings[settingId].iframe,
|
|
1343
|
-
settingId
|
|
1344
|
-
);
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
Object.keys(settings).forEach(function (key) {
|
|
1349
|
-
checkIFrame(key);
|
|
1350
|
-
});
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
function mutationObserved(mutations) {
|
|
1354
|
-
log(
|
|
1355
|
-
'window',
|
|
1356
|
-
'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type
|
|
1357
|
-
);
|
|
1358
|
-
debouce(checkIFrames, 16);
|
|
1359
|
-
}
|
|
1360
|
-
|
|
1361
|
-
function createMutationObserver() {
|
|
1362
|
-
var target = document.querySelector('body'),
|
|
1363
|
-
config = {
|
|
1364
|
-
attributes: true,
|
|
1365
|
-
attributeOldValue: false,
|
|
1366
|
-
characterData: true,
|
|
1367
|
-
characterDataOldValue: false,
|
|
1368
|
-
childList: true,
|
|
1369
|
-
subtree: true
|
|
1370
|
-
},
|
|
1371
|
-
observer = new MutationObserver(mutationObserved);
|
|
1372
|
-
|
|
1373
|
-
observer.observe(target, config);
|
|
1374
|
-
}
|
|
1375
|
-
|
|
1376
|
-
var MutationObserver = getMutationObserver();
|
|
1377
|
-
if (MutationObserver) {
|
|
1378
|
-
createMutationObserver();
|
|
1379
|
-
}
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
function resizeIFrames(event) {
|
|
1383
|
-
function resize() {
|
|
1384
|
-
sendTriggerMsg('Window ' + event, 'resize');
|
|
1385
|
-
}
|
|
1386
|
-
|
|
1387
|
-
log('window', 'Trigger event: ' + event);
|
|
1388
|
-
debouce(resize, 16);
|
|
1389
|
-
}
|
|
1390
|
-
|
|
1391
|
-
// Not testable in PhantomJS
|
|
1392
|
-
/* istanbul ignore next */
|
|
1393
|
-
function tabVisible() {
|
|
1394
|
-
function resize() {
|
|
1395
|
-
sendTriggerMsg('Tab Visible', 'resize');
|
|
1396
|
-
}
|
|
1397
|
-
|
|
1398
|
-
if ('hidden' !== document.visibilityState) {
|
|
1399
|
-
log('document', 'Trigger event: Visibility change');
|
|
1400
|
-
debouce(resize, 16);
|
|
1401
|
-
}
|
|
1402
|
-
}
|
|
1403
|
-
|
|
1404
|
-
function sendTriggerMsg(eventName, event) {
|
|
1405
|
-
function isIFrameResizeEnabled(iframeId) {
|
|
1406
|
-
return (
|
|
1407
|
-
settings[iframeId] &&
|
|
1408
|
-
'parent' === settings[iframeId].resizeFrom &&
|
|
1409
|
-
settings[iframeId].autoResize &&
|
|
1410
|
-
!settings[iframeId].firstRun
|
|
1411
|
-
)
|
|
1412
|
-
}
|
|
1413
|
-
|
|
1414
|
-
Object.keys(settings).forEach(function (iframeId) {
|
|
1415
|
-
if (isIFrameResizeEnabled(iframeId)) {
|
|
1416
|
-
trigger(eventName, event, settings[iframeId].iframe, iframeId);
|
|
1417
|
-
}
|
|
1418
|
-
});
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
function setupEventListeners() {
|
|
1422
|
-
addEventListener(window, 'message', iFrameListener);
|
|
1423
|
-
|
|
1424
|
-
addEventListener(window, 'resize', function () {
|
|
1425
|
-
resizeIFrames('resize');
|
|
1426
|
-
});
|
|
1427
|
-
|
|
1428
|
-
addEventListener(document, 'visibilitychange', tabVisible);
|
|
1429
|
-
|
|
1430
|
-
addEventListener(document, '-webkit-visibilitychange', tabVisible);
|
|
1431
|
-
}
|
|
1432
|
-
|
|
1433
|
-
function factory() {
|
|
1434
|
-
function init(options, element) {
|
|
1435
|
-
function chkType() {
|
|
1436
|
-
if (!element.tagName) {
|
|
1437
|
-
throw new TypeError('Object is not a valid DOM element')
|
|
1438
|
-
} else if ('IFRAME' !== element.tagName.toUpperCase()) {
|
|
1439
|
-
throw new TypeError(
|
|
1440
|
-
'Expected <IFRAME> tag, found <' + element.tagName + '>'
|
|
1441
|
-
)
|
|
1442
|
-
}
|
|
1443
|
-
}
|
|
1444
|
-
|
|
1445
|
-
if (element) {
|
|
1446
|
-
chkType();
|
|
1447
|
-
setupIFrame(element, options);
|
|
1448
|
-
iFrames.push(element);
|
|
1449
|
-
}
|
|
1450
|
-
}
|
|
1451
|
-
|
|
1452
|
-
function warnDeprecatedOptions(options) {
|
|
1453
|
-
if (options && options.enablePublicMethods) {
|
|
1454
|
-
warn(
|
|
1455
|
-
'enablePublicMethods option has been removed, public methods are now always available in the iFrame'
|
|
1456
|
-
);
|
|
1457
|
-
}
|
|
1458
|
-
}
|
|
1459
|
-
|
|
1460
|
-
var iFrames;
|
|
1461
|
-
|
|
1462
|
-
setupRequestAnimationFrame();
|
|
1463
|
-
setupEventListeners();
|
|
1464
|
-
|
|
1465
|
-
return function iFrameResizeF(options, target) {
|
|
1466
|
-
iFrames = []; // Only return iFrames past in on this call
|
|
1467
|
-
|
|
1468
|
-
warnDeprecatedOptions(options);
|
|
1469
|
-
|
|
1470
|
-
switch (typeof target) {
|
|
1471
|
-
case 'undefined':
|
|
1472
|
-
case 'string': {
|
|
1473
|
-
Array.prototype.forEach.call(
|
|
1474
|
-
document.querySelectorAll(target || 'iframe'),
|
|
1475
|
-
init.bind(undefined$1, options)
|
|
1476
|
-
);
|
|
1477
|
-
break
|
|
1478
|
-
}
|
|
1479
|
-
|
|
1480
|
-
case 'object': {
|
|
1481
|
-
init(options, target);
|
|
1482
|
-
break
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
default: {
|
|
1486
|
-
throw new TypeError('Unexpected data type (' + typeof target + ')')
|
|
1487
|
-
}
|
|
1488
|
-
}
|
|
1489
|
-
|
|
1490
|
-
return iFrames
|
|
1491
|
-
}
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
function createJQueryPublicMethod($) {
|
|
1495
|
-
if (!$.fn) {
|
|
1496
|
-
info('', 'Unable to bind to jQuery, it is not fully loaded.');
|
|
1497
|
-
} else if (!$.fn.iFrameResize) {
|
|
1498
|
-
$.fn.iFrameResize = function $iFrameResizeF(options) {
|
|
1499
|
-
function init(index, element) {
|
|
1500
|
-
setupIFrame(element, options);
|
|
1501
|
-
}
|
|
1502
|
-
|
|
1503
|
-
return this.filter('iframe').each(init).end()
|
|
1504
|
-
};
|
|
1505
|
-
}
|
|
1506
|
-
}
|
|
1507
|
-
|
|
1508
|
-
if (window.jQuery !== undefined$1) {
|
|
1509
|
-
createJQueryPublicMethod(window.jQuery);
|
|
1510
|
-
}
|
|
1511
|
-
|
|
1512
|
-
if (typeof undefined$1 === 'function' && undefined$1.amd) {
|
|
1513
|
-
undefined$1([], factory);
|
|
1514
|
-
} else {
|
|
1515
|
-
// Node for browserfy
|
|
1516
|
-
module.exports = factory();
|
|
1517
|
-
}
|
|
1518
|
-
window.iFrameResize = window.iFrameResize || factory();
|
|
1519
|
-
})();
|
|
1520
|
-
}(iframeResizer$1));
|
|
1521
|
-
|
|
1522
|
-
var iframeResizer_contentWindow = {exports: {}};
|
|
1523
|
-
|
|
1524
|
-
/*
|
|
1525
|
-
* File: iframeResizer.contentWindow.js
|
|
1526
|
-
* Desc: Include this file in any page being loaded into an iframe
|
|
1527
|
-
* to force the iframe to resize to the content size.
|
|
1528
|
-
* Requires: iframeResizer.js on host page.
|
|
1529
|
-
* Doc: https://iframe-resizer.com
|
|
1530
|
-
* Author: David J. Bradshaw - info@iframe-resizer.com
|
|
1531
|
-
*
|
|
1532
|
-
*/
|
|
1533
|
-
|
|
1534
|
-
(function (module) {
|
|
1535
|
-
(function (undefined$1) {
|
|
1536
|
-
if (typeof window === 'undefined') return // don't run for server side render
|
|
1537
|
-
|
|
1538
|
-
var autoResize = true,
|
|
1539
|
-
base = 10,
|
|
1540
|
-
bodyBackground = '',
|
|
1541
|
-
bodyMargin = 0,
|
|
1542
|
-
bodyMarginStr = '',
|
|
1543
|
-
bodyObserver = null,
|
|
1544
|
-
bodyPadding = '',
|
|
1545
|
-
calculateWidth = false,
|
|
1546
|
-
doubleEventList = { resize: 1, click: 1 },
|
|
1547
|
-
eventCancelTimer = 128,
|
|
1548
|
-
firstRun = true,
|
|
1549
|
-
height = 1,
|
|
1550
|
-
heightCalcModeDefault = 'bodyOffset',
|
|
1551
|
-
heightCalcMode = heightCalcModeDefault,
|
|
1552
|
-
initLock = true,
|
|
1553
|
-
initMsg = '',
|
|
1554
|
-
inPageLinks = {},
|
|
1555
|
-
interval = 32,
|
|
1556
|
-
intervalTimer = null,
|
|
1557
|
-
logging = false,
|
|
1558
|
-
mouseEvents = false,
|
|
1559
|
-
msgID = '[iFrameSizer]', // Must match host page msg ID
|
|
1560
|
-
msgIdLen = msgID.length,
|
|
1561
|
-
myID = '',
|
|
1562
|
-
resetRequiredMethods = {
|
|
1563
|
-
max: 1,
|
|
1564
|
-
min: 1,
|
|
1565
|
-
bodyScroll: 1,
|
|
1566
|
-
documentElementScroll: 1
|
|
1567
|
-
},
|
|
1568
|
-
resizeFrom = 'child',
|
|
1569
|
-
target = window.parent,
|
|
1570
|
-
targetOriginDefault = '*',
|
|
1571
|
-
tolerance = 0,
|
|
1572
|
-
triggerLocked = false,
|
|
1573
|
-
triggerLockedTimer = null,
|
|
1574
|
-
throttledTimer = 16,
|
|
1575
|
-
width = 1,
|
|
1576
|
-
widthCalcModeDefault = 'scroll',
|
|
1577
|
-
widthCalcMode = widthCalcModeDefault,
|
|
1578
|
-
win = window,
|
|
1579
|
-
onMessage = function () {
|
|
1580
|
-
warn('onMessage function not defined');
|
|
1581
|
-
},
|
|
1582
|
-
onReady = function () {},
|
|
1583
|
-
onPageInfo = function () {},
|
|
1584
|
-
customCalcMethods = {
|
|
1585
|
-
height: function () {
|
|
1586
|
-
warn('Custom height calculation function not defined');
|
|
1587
|
-
return document.documentElement.offsetHeight
|
|
1588
|
-
},
|
|
1589
|
-
width: function () {
|
|
1590
|
-
warn('Custom width calculation function not defined');
|
|
1591
|
-
return document.body.scrollWidth
|
|
1592
|
-
}
|
|
1593
|
-
},
|
|
1594
|
-
eventHandlersByName = {},
|
|
1595
|
-
passiveSupported = false;
|
|
1596
|
-
|
|
1597
|
-
function noop() {}
|
|
1598
|
-
|
|
1599
|
-
try {
|
|
1600
|
-
var options = Object.create(
|
|
1601
|
-
{},
|
|
1602
|
-
{
|
|
1603
|
-
passive: {
|
|
1604
|
-
// eslint-disable-next-line getter-return
|
|
1605
|
-
get: function () {
|
|
1606
|
-
passiveSupported = true;
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1610
|
-
);
|
|
1611
|
-
window.addEventListener('test', noop, options);
|
|
1612
|
-
window.removeEventListener('test', noop, options);
|
|
1613
|
-
} catch (error) {
|
|
1614
|
-
/* */
|
|
1615
|
-
}
|
|
1616
|
-
|
|
1617
|
-
function addEventListener(el, evt, func, options) {
|
|
1618
|
-
el.addEventListener(evt, func, passiveSupported ? options || {} : false);
|
|
1619
|
-
}
|
|
1620
|
-
|
|
1621
|
-
function removeEventListener(el, evt, func) {
|
|
1622
|
-
el.removeEventListener(evt, func, false);
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1625
|
-
function capitalizeFirstLetter(string) {
|
|
1626
|
-
return string.charAt(0).toUpperCase() + string.slice(1)
|
|
1627
|
-
}
|
|
1628
|
-
|
|
1629
|
-
// Based on underscore.js
|
|
1630
|
-
function throttle(func) {
|
|
1631
|
-
var context,
|
|
1632
|
-
args,
|
|
1633
|
-
result,
|
|
1634
|
-
timeout = null,
|
|
1635
|
-
previous = 0,
|
|
1636
|
-
later = function () {
|
|
1637
|
-
previous = Date.now();
|
|
1638
|
-
timeout = null;
|
|
1639
|
-
result = func.apply(context, args);
|
|
1640
|
-
if (!timeout) {
|
|
1641
|
-
// eslint-disable-next-line no-multi-assign
|
|
1642
|
-
context = args = null;
|
|
1643
|
-
}
|
|
1644
|
-
};
|
|
1645
|
-
|
|
1646
|
-
return function () {
|
|
1647
|
-
var now = Date.now();
|
|
1648
|
-
|
|
1649
|
-
if (!previous) {
|
|
1650
|
-
previous = now;
|
|
1651
|
-
}
|
|
1652
|
-
|
|
1653
|
-
var remaining = throttledTimer - (now - previous);
|
|
1654
|
-
|
|
1655
|
-
context = this;
|
|
1656
|
-
args = arguments;
|
|
1657
|
-
|
|
1658
|
-
if (remaining <= 0 || remaining > throttledTimer) {
|
|
1659
|
-
if (timeout) {
|
|
1660
|
-
clearTimeout(timeout);
|
|
1661
|
-
timeout = null;
|
|
1662
|
-
}
|
|
1663
|
-
|
|
1664
|
-
previous = now;
|
|
1665
|
-
result = func.apply(context, args);
|
|
1666
|
-
|
|
1667
|
-
if (!timeout) {
|
|
1668
|
-
// eslint-disable-next-line no-multi-assign
|
|
1669
|
-
context = args = null;
|
|
1670
|
-
}
|
|
1671
|
-
} else if (!timeout) {
|
|
1672
|
-
timeout = setTimeout(later, remaining);
|
|
1673
|
-
}
|
|
1674
|
-
|
|
1675
|
-
return result
|
|
1676
|
-
}
|
|
1677
|
-
}
|
|
1678
|
-
|
|
1679
|
-
function formatLogMsg(msg) {
|
|
1680
|
-
return msgID + '[' + myID + '] ' + msg
|
|
1681
|
-
}
|
|
1682
|
-
|
|
1683
|
-
function log(msg) {
|
|
1684
|
-
if (logging && 'object' === typeof window.console) {
|
|
1685
|
-
// eslint-disable-next-line no-console
|
|
1686
|
-
console.log(formatLogMsg(msg));
|
|
1687
|
-
}
|
|
1688
|
-
}
|
|
1689
|
-
|
|
1690
|
-
function warn(msg) {
|
|
1691
|
-
if ('object' === typeof window.console) {
|
|
1692
|
-
// eslint-disable-next-line no-console
|
|
1693
|
-
console.warn(formatLogMsg(msg));
|
|
1694
|
-
}
|
|
1695
|
-
}
|
|
1696
|
-
|
|
1697
|
-
function init() {
|
|
1698
|
-
readDataFromParent();
|
|
1699
|
-
log('Initialising iFrame (' + window.location.href + ')');
|
|
1700
|
-
readDataFromPage();
|
|
1701
|
-
setMargin();
|
|
1702
|
-
setBodyStyle('background', bodyBackground);
|
|
1703
|
-
setBodyStyle('padding', bodyPadding);
|
|
1704
|
-
injectClearFixIntoBodyElement();
|
|
1705
|
-
checkHeightMode();
|
|
1706
|
-
checkWidthMode();
|
|
1707
|
-
stopInfiniteResizingOfIFrame();
|
|
1708
|
-
setupPublicMethods();
|
|
1709
|
-
setupMouseEvents();
|
|
1710
|
-
startEventListeners();
|
|
1711
|
-
inPageLinks = setupInPageLinks();
|
|
1712
|
-
sendSize('init', 'Init message from host page');
|
|
1713
|
-
onReady();
|
|
1714
|
-
}
|
|
1715
|
-
|
|
1716
|
-
function readDataFromParent() {
|
|
1717
|
-
function strBool(str) {
|
|
1718
|
-
return 'true' === str
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
|
-
var data = initMsg.slice(msgIdLen).split(':');
|
|
1722
|
-
|
|
1723
|
-
myID = data[0];
|
|
1724
|
-
bodyMargin = undefined$1 === data[1] ? bodyMargin : Number(data[1]); // For V1 compatibility
|
|
1725
|
-
calculateWidth = undefined$1 === data[2] ? calculateWidth : strBool(data[2]);
|
|
1726
|
-
logging = undefined$1 === data[3] ? logging : strBool(data[3]);
|
|
1727
|
-
interval = undefined$1 === data[4] ? interval : Number(data[4]);
|
|
1728
|
-
autoResize = undefined$1 === data[6] ? autoResize : strBool(data[6]);
|
|
1729
|
-
bodyMarginStr = data[7];
|
|
1730
|
-
heightCalcMode = undefined$1 === data[8] ? heightCalcMode : data[8];
|
|
1731
|
-
bodyBackground = data[9];
|
|
1732
|
-
bodyPadding = data[10];
|
|
1733
|
-
tolerance = undefined$1 === data[11] ? tolerance : Number(data[11]);
|
|
1734
|
-
inPageLinks.enable = undefined$1 === data[12] ? false : strBool(data[12]);
|
|
1735
|
-
resizeFrom = undefined$1 === data[13] ? resizeFrom : data[13];
|
|
1736
|
-
widthCalcMode = undefined$1 === data[14] ? widthCalcMode : data[14];
|
|
1737
|
-
mouseEvents = undefined$1 === data[15] ? mouseEvents : strBool(data[15]);
|
|
1738
|
-
}
|
|
1739
|
-
|
|
1740
|
-
function depricate(key) {
|
|
1741
|
-
var splitName = key.split('Callback');
|
|
1742
|
-
|
|
1743
|
-
if (splitName.length === 2) {
|
|
1744
|
-
var name =
|
|
1745
|
-
'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1);
|
|
1746
|
-
this[name] = this[key];
|
|
1747
|
-
delete this[key];
|
|
1748
|
-
warn(
|
|
1749
|
-
"Deprecated: '" +
|
|
1750
|
-
key +
|
|
1751
|
-
"' has been renamed '" +
|
|
1752
|
-
name +
|
|
1753
|
-
"'. The old method will be removed in the next major version."
|
|
1754
|
-
);
|
|
1755
|
-
}
|
|
1756
|
-
}
|
|
1757
|
-
|
|
1758
|
-
function readDataFromPage() {
|
|
1759
|
-
function readData() {
|
|
1760
|
-
var data = window.iFrameResizer;
|
|
1761
|
-
|
|
1762
|
-
log('Reading data from page: ' + JSON.stringify(data));
|
|
1763
|
-
Object.keys(data).forEach(depricate, data);
|
|
1764
|
-
|
|
1765
|
-
onMessage = 'onMessage' in data ? data.onMessage : onMessage;
|
|
1766
|
-
onReady = 'onReady' in data ? data.onReady : onReady;
|
|
1767
|
-
targetOriginDefault =
|
|
1768
|
-
'targetOrigin' in data ? data.targetOrigin : targetOriginDefault;
|
|
1769
|
-
heightCalcMode =
|
|
1770
|
-
'heightCalculationMethod' in data
|
|
1771
|
-
? data.heightCalculationMethod
|
|
1772
|
-
: heightCalcMode;
|
|
1773
|
-
widthCalcMode =
|
|
1774
|
-
'widthCalculationMethod' in data
|
|
1775
|
-
? data.widthCalculationMethod
|
|
1776
|
-
: widthCalcMode;
|
|
1777
|
-
}
|
|
1778
|
-
|
|
1779
|
-
function setupCustomCalcMethods(calcMode, calcFunc) {
|
|
1780
|
-
if ('function' === typeof calcMode) {
|
|
1781
|
-
log('Setup custom ' + calcFunc + 'CalcMethod');
|
|
1782
|
-
customCalcMethods[calcFunc] = calcMode;
|
|
1783
|
-
calcMode = 'custom';
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
|
-
return calcMode
|
|
1787
|
-
}
|
|
1788
|
-
|
|
1789
|
-
if (
|
|
1790
|
-
'iFrameResizer' in window &&
|
|
1791
|
-
Object === window.iFrameResizer.constructor
|
|
1792
|
-
) {
|
|
1793
|
-
readData();
|
|
1794
|
-
heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height');
|
|
1795
|
-
widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width');
|
|
1796
|
-
}
|
|
1797
|
-
|
|
1798
|
-
log('TargetOrigin for parent set to: ' + targetOriginDefault);
|
|
1799
|
-
}
|
|
1800
|
-
|
|
1801
|
-
function chkCSS(attr, value) {
|
|
1802
|
-
if (-1 !== value.indexOf('-')) {
|
|
1803
|
-
warn('Negative CSS value ignored for ' + attr);
|
|
1804
|
-
value = '';
|
|
1805
|
-
}
|
|
1806
|
-
return value
|
|
1807
|
-
}
|
|
1808
|
-
|
|
1809
|
-
function setBodyStyle(attr, value) {
|
|
1810
|
-
if (undefined$1 !== value && '' !== value && 'null' !== value) {
|
|
1811
|
-
document.body.style[attr] = value;
|
|
1812
|
-
log('Body ' + attr + ' set to "' + value + '"');
|
|
1813
|
-
}
|
|
1814
|
-
}
|
|
1815
|
-
|
|
1816
|
-
function setMargin() {
|
|
1817
|
-
// If called via V1 script, convert bodyMargin from int to str
|
|
1818
|
-
if (undefined$1 === bodyMarginStr) {
|
|
1819
|
-
bodyMarginStr = bodyMargin + 'px';
|
|
1820
|
-
}
|
|
1821
|
-
|
|
1822
|
-
setBodyStyle('margin', chkCSS('margin', bodyMarginStr));
|
|
1823
|
-
}
|
|
1824
|
-
|
|
1825
|
-
function stopInfiniteResizingOfIFrame() {
|
|
1826
|
-
document.documentElement.style.height = '';
|
|
1827
|
-
document.body.style.height = '';
|
|
1828
|
-
log('HTML & body height set to "auto"');
|
|
1829
|
-
}
|
|
1830
|
-
|
|
1831
|
-
function manageTriggerEvent(options) {
|
|
1832
|
-
var listener = {
|
|
1833
|
-
add: function (eventName) {
|
|
1834
|
-
function handleEvent() {
|
|
1835
|
-
sendSize(options.eventName, options.eventType);
|
|
1836
|
-
}
|
|
1837
|
-
|
|
1838
|
-
eventHandlersByName[eventName] = handleEvent;
|
|
1839
|
-
|
|
1840
|
-
addEventListener(window, eventName, handleEvent, { passive: true });
|
|
1841
|
-
},
|
|
1842
|
-
remove: function (eventName) {
|
|
1843
|
-
var handleEvent = eventHandlersByName[eventName];
|
|
1844
|
-
delete eventHandlersByName[eventName];
|
|
1845
|
-
|
|
1846
|
-
removeEventListener(window, eventName, handleEvent);
|
|
1847
|
-
}
|
|
1848
|
-
};
|
|
1849
|
-
|
|
1850
|
-
if (options.eventNames && Array.prototype.map) {
|
|
1851
|
-
options.eventName = options.eventNames[0];
|
|
1852
|
-
options.eventNames.map(listener[options.method]);
|
|
1853
|
-
} else {
|
|
1854
|
-
listener[options.method](options.eventName);
|
|
1855
|
-
}
|
|
1856
|
-
|
|
1857
|
-
log(
|
|
1858
|
-
capitalizeFirstLetter(options.method) +
|
|
1859
|
-
' event listener: ' +
|
|
1860
|
-
options.eventType
|
|
1861
|
-
);
|
|
1862
|
-
}
|
|
1863
|
-
|
|
1864
|
-
function manageEventListeners(method) {
|
|
1865
|
-
manageTriggerEvent({
|
|
1866
|
-
method: method,
|
|
1867
|
-
eventType: 'Animation Start',
|
|
1868
|
-
eventNames: ['animationstart', 'webkitAnimationStart']
|
|
1869
|
-
});
|
|
1870
|
-
manageTriggerEvent({
|
|
1871
|
-
method: method,
|
|
1872
|
-
eventType: 'Animation Iteration',
|
|
1873
|
-
eventNames: ['animationiteration', 'webkitAnimationIteration']
|
|
1874
|
-
});
|
|
1875
|
-
manageTriggerEvent({
|
|
1876
|
-
method: method,
|
|
1877
|
-
eventType: 'Animation End',
|
|
1878
|
-
eventNames: ['animationend', 'webkitAnimationEnd']
|
|
1879
|
-
});
|
|
1880
|
-
manageTriggerEvent({
|
|
1881
|
-
method: method,
|
|
1882
|
-
eventType: 'Input',
|
|
1883
|
-
eventName: 'input'
|
|
1884
|
-
});
|
|
1885
|
-
manageTriggerEvent({
|
|
1886
|
-
method: method,
|
|
1887
|
-
eventType: 'Mouse Up',
|
|
1888
|
-
eventName: 'mouseup'
|
|
1889
|
-
});
|
|
1890
|
-
manageTriggerEvent({
|
|
1891
|
-
method: method,
|
|
1892
|
-
eventType: 'Mouse Down',
|
|
1893
|
-
eventName: 'mousedown'
|
|
1894
|
-
});
|
|
1895
|
-
manageTriggerEvent({
|
|
1896
|
-
method: method,
|
|
1897
|
-
eventType: 'Orientation Change',
|
|
1898
|
-
eventName: 'orientationchange'
|
|
1899
|
-
});
|
|
1900
|
-
manageTriggerEvent({
|
|
1901
|
-
method: method,
|
|
1902
|
-
eventType: 'Print',
|
|
1903
|
-
eventNames: ['afterprint', 'beforeprint']
|
|
1904
|
-
});
|
|
1905
|
-
manageTriggerEvent({
|
|
1906
|
-
method: method,
|
|
1907
|
-
eventType: 'Ready State Change',
|
|
1908
|
-
eventName: 'readystatechange'
|
|
1909
|
-
});
|
|
1910
|
-
manageTriggerEvent({
|
|
1911
|
-
method: method,
|
|
1912
|
-
eventType: 'Touch Start',
|
|
1913
|
-
eventName: 'touchstart'
|
|
1914
|
-
});
|
|
1915
|
-
manageTriggerEvent({
|
|
1916
|
-
method: method,
|
|
1917
|
-
eventType: 'Touch End',
|
|
1918
|
-
eventName: 'touchend'
|
|
1919
|
-
});
|
|
1920
|
-
manageTriggerEvent({
|
|
1921
|
-
method: method,
|
|
1922
|
-
eventType: 'Touch Cancel',
|
|
1923
|
-
eventName: 'touchcancel'
|
|
1924
|
-
});
|
|
1925
|
-
manageTriggerEvent({
|
|
1926
|
-
method: method,
|
|
1927
|
-
eventType: 'Transition Start',
|
|
1928
|
-
eventNames: [
|
|
1929
|
-
'transitionstart',
|
|
1930
|
-
'webkitTransitionStart',
|
|
1931
|
-
'MSTransitionStart',
|
|
1932
|
-
'oTransitionStart',
|
|
1933
|
-
'otransitionstart'
|
|
1934
|
-
]
|
|
1935
|
-
});
|
|
1936
|
-
manageTriggerEvent({
|
|
1937
|
-
method: method,
|
|
1938
|
-
eventType: 'Transition Iteration',
|
|
1939
|
-
eventNames: [
|
|
1940
|
-
'transitioniteration',
|
|
1941
|
-
'webkitTransitionIteration',
|
|
1942
|
-
'MSTransitionIteration',
|
|
1943
|
-
'oTransitionIteration',
|
|
1944
|
-
'otransitioniteration'
|
|
1945
|
-
]
|
|
1946
|
-
});
|
|
1947
|
-
manageTriggerEvent({
|
|
1948
|
-
method: method,
|
|
1949
|
-
eventType: 'Transition End',
|
|
1950
|
-
eventNames: [
|
|
1951
|
-
'transitionend',
|
|
1952
|
-
'webkitTransitionEnd',
|
|
1953
|
-
'MSTransitionEnd',
|
|
1954
|
-
'oTransitionEnd',
|
|
1955
|
-
'otransitionend'
|
|
1956
|
-
]
|
|
1957
|
-
});
|
|
1958
|
-
if ('child' === resizeFrom) {
|
|
1959
|
-
manageTriggerEvent({
|
|
1960
|
-
method: method,
|
|
1961
|
-
eventType: 'IFrame Resized',
|
|
1962
|
-
eventName: 'resize'
|
|
1963
|
-
});
|
|
1964
|
-
}
|
|
1965
|
-
}
|
|
1966
|
-
|
|
1967
|
-
function checkCalcMode(calcMode, calcModeDefault, modes, type) {
|
|
1968
|
-
if (calcModeDefault !== calcMode) {
|
|
1969
|
-
if (!(calcMode in modes)) {
|
|
1970
|
-
warn(
|
|
1971
|
-
calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'
|
|
1972
|
-
);
|
|
1973
|
-
calcMode = calcModeDefault;
|
|
1974
|
-
}
|
|
1975
|
-
log(type + ' calculation method set to "' + calcMode + '"');
|
|
1976
|
-
}
|
|
1977
|
-
|
|
1978
|
-
return calcMode
|
|
1979
|
-
}
|
|
1980
|
-
|
|
1981
|
-
function checkHeightMode() {
|
|
1982
|
-
heightCalcMode = checkCalcMode(
|
|
1983
|
-
heightCalcMode,
|
|
1984
|
-
heightCalcModeDefault,
|
|
1985
|
-
getHeight,
|
|
1986
|
-
'height'
|
|
1987
|
-
);
|
|
1988
|
-
}
|
|
1989
|
-
|
|
1990
|
-
function checkWidthMode() {
|
|
1991
|
-
widthCalcMode = checkCalcMode(
|
|
1992
|
-
widthCalcMode,
|
|
1993
|
-
widthCalcModeDefault,
|
|
1994
|
-
getWidth,
|
|
1995
|
-
'width'
|
|
1996
|
-
);
|
|
1997
|
-
}
|
|
1998
|
-
|
|
1999
|
-
function startEventListeners() {
|
|
2000
|
-
if (true === autoResize) {
|
|
2001
|
-
manageEventListeners('add');
|
|
2002
|
-
setupMutationObserver();
|
|
2003
|
-
} else {
|
|
2004
|
-
log('Auto Resize disabled');
|
|
2005
|
-
}
|
|
2006
|
-
}
|
|
2007
|
-
|
|
2008
|
-
// function stopMsgsToParent() {
|
|
2009
|
-
// log('Disable outgoing messages')
|
|
2010
|
-
// sendPermit = false
|
|
2011
|
-
// }
|
|
2012
|
-
|
|
2013
|
-
// function removeMsgListener() {
|
|
2014
|
-
// log('Remove event listener: Message')
|
|
2015
|
-
// removeEventListener(window, 'message', receiver)
|
|
2016
|
-
// }
|
|
2017
|
-
|
|
2018
|
-
function disconnectMutationObserver() {
|
|
2019
|
-
if (null !== bodyObserver) {
|
|
2020
|
-
/* istanbul ignore next */ // Not testable in PhantonJS
|
|
2021
|
-
bodyObserver.disconnect();
|
|
2022
|
-
}
|
|
2023
|
-
}
|
|
2024
|
-
|
|
2025
|
-
function stopEventListeners() {
|
|
2026
|
-
manageEventListeners('remove');
|
|
2027
|
-
disconnectMutationObserver();
|
|
2028
|
-
clearInterval(intervalTimer);
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
// function teardown() {
|
|
2032
|
-
// stopMsgsToParent()
|
|
2033
|
-
// removeMsgListener()
|
|
2034
|
-
// if (true === autoResize) stopEventListeners()
|
|
2035
|
-
// }
|
|
2036
|
-
|
|
2037
|
-
function injectClearFixIntoBodyElement() {
|
|
2038
|
-
var clearFix = document.createElement('div');
|
|
2039
|
-
clearFix.style.clear = 'both';
|
|
2040
|
-
// Guard against the following having been globally redefined in CSS.
|
|
2041
|
-
clearFix.style.display = 'block';
|
|
2042
|
-
clearFix.style.height = '0';
|
|
2043
|
-
document.body.appendChild(clearFix);
|
|
2044
|
-
}
|
|
2045
|
-
|
|
2046
|
-
function setupInPageLinks() {
|
|
2047
|
-
function getPagePosition() {
|
|
2048
|
-
return {
|
|
2049
|
-
x:
|
|
2050
|
-
window.pageXOffset === undefined$1
|
|
2051
|
-
? document.documentElement.scrollLeft
|
|
2052
|
-
: window.pageXOffset,
|
|
2053
|
-
y:
|
|
2054
|
-
window.pageYOffset === undefined$1
|
|
2055
|
-
? document.documentElement.scrollTop
|
|
2056
|
-
: window.pageYOffset
|
|
2057
|
-
}
|
|
2058
|
-
}
|
|
2059
|
-
|
|
2060
|
-
function getElementPosition(el) {
|
|
2061
|
-
var elPosition = el.getBoundingClientRect(),
|
|
2062
|
-
pagePosition = getPagePosition();
|
|
2063
|
-
|
|
2064
|
-
return {
|
|
2065
|
-
x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),
|
|
2066
|
-
y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)
|
|
2067
|
-
}
|
|
2068
|
-
}
|
|
2069
|
-
|
|
2070
|
-
function findTarget(location) {
|
|
2071
|
-
function jumpToTarget(target) {
|
|
2072
|
-
var jumpPosition = getElementPosition(target);
|
|
2073
|
-
|
|
2074
|
-
log(
|
|
2075
|
-
'Moving to in page link (#' +
|
|
2076
|
-
hash +
|
|
2077
|
-
') at x: ' +
|
|
2078
|
-
jumpPosition.x +
|
|
2079
|
-
' y: ' +
|
|
2080
|
-
jumpPosition.y
|
|
2081
|
-
);
|
|
2082
|
-
sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset'); // X&Y reversed at sendMsg uses height/width
|
|
2083
|
-
}
|
|
2084
|
-
|
|
2085
|
-
var hash = location.split('#')[1] || location, // Remove # if present
|
|
2086
|
-
hashData = decodeURIComponent(hash),
|
|
2087
|
-
target =
|
|
2088
|
-
document.getElementById(hashData) ||
|
|
2089
|
-
document.getElementsByName(hashData)[0];
|
|
2090
|
-
|
|
2091
|
-
if (undefined$1 === target) {
|
|
2092
|
-
log(
|
|
2093
|
-
'In page link (#' +
|
|
2094
|
-
hash +
|
|
2095
|
-
') not found in iFrame, so sending to parent'
|
|
2096
|
-
);
|
|
2097
|
-
sendMsg(0, 0, 'inPageLink', '#' + hash);
|
|
2098
|
-
} else {
|
|
2099
|
-
jumpToTarget(target);
|
|
2100
|
-
}
|
|
2101
|
-
}
|
|
2102
|
-
|
|
2103
|
-
function checkLocationHash() {
|
|
2104
|
-
var hash = window.location.hash;
|
|
2105
|
-
var href = window.location.href;
|
|
2106
|
-
|
|
2107
|
-
if ('' !== hash && '#' !== hash) {
|
|
2108
|
-
findTarget(href);
|
|
2109
|
-
}
|
|
2110
|
-
}
|
|
2111
|
-
|
|
2112
|
-
function bindAnchors() {
|
|
2113
|
-
function setupLink(el) {
|
|
2114
|
-
function linkClicked(e) {
|
|
2115
|
-
e.preventDefault();
|
|
2116
|
-
|
|
2117
|
-
/* jshint validthis:true */
|
|
2118
|
-
findTarget(this.getAttribute('href'));
|
|
2119
|
-
}
|
|
2120
|
-
|
|
2121
|
-
if ('#' !== el.getAttribute('href')) {
|
|
2122
|
-
addEventListener(el, 'click', linkClicked);
|
|
2123
|
-
}
|
|
2124
|
-
}
|
|
2125
|
-
|
|
2126
|
-
Array.prototype.forEach.call(
|
|
2127
|
-
document.querySelectorAll('a[href^="#"]'),
|
|
2128
|
-
setupLink
|
|
2129
|
-
);
|
|
2130
|
-
}
|
|
2131
|
-
|
|
2132
|
-
function bindLocationHash() {
|
|
2133
|
-
addEventListener(window, 'hashchange', checkLocationHash);
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
function initCheck() {
|
|
2137
|
-
// Check if page loaded with location hash after init resize
|
|
2138
|
-
setTimeout(checkLocationHash, eventCancelTimer);
|
|
2139
|
-
}
|
|
2140
|
-
|
|
2141
|
-
function enableInPageLinks() {
|
|
2142
|
-
/* istanbul ignore else */ // Not testable in phantonJS
|
|
2143
|
-
if (Array.prototype.forEach && document.querySelectorAll) {
|
|
2144
|
-
log('Setting up location.hash handlers');
|
|
2145
|
-
bindAnchors();
|
|
2146
|
-
bindLocationHash();
|
|
2147
|
-
initCheck();
|
|
2148
|
-
} else {
|
|
2149
|
-
warn(
|
|
2150
|
-
'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'
|
|
2151
|
-
);
|
|
2152
|
-
}
|
|
2153
|
-
}
|
|
2154
|
-
|
|
2155
|
-
if (inPageLinks.enable) {
|
|
2156
|
-
enableInPageLinks();
|
|
2157
|
-
} else {
|
|
2158
|
-
log('In page linking not enabled');
|
|
2159
|
-
}
|
|
2160
|
-
|
|
2161
|
-
return {
|
|
2162
|
-
findTarget: findTarget
|
|
2163
|
-
}
|
|
2164
|
-
}
|
|
2165
|
-
|
|
2166
|
-
function setupMouseEvents() {
|
|
2167
|
-
if (mouseEvents !== true) return
|
|
2168
|
-
|
|
2169
|
-
function sendMouse(e) {
|
|
2170
|
-
sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX);
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
|
-
function addMouseListener(evt, name) {
|
|
2174
|
-
log('Add event listener: ' + name);
|
|
2175
|
-
addEventListener(window.document, evt, sendMouse);
|
|
2176
|
-
}
|
|
2177
|
-
|
|
2178
|
-
addMouseListener('mouseenter', 'Mouse Enter');
|
|
2179
|
-
addMouseListener('mouseleave', 'Mouse Leave');
|
|
2180
|
-
}
|
|
2181
|
-
|
|
2182
|
-
function setupPublicMethods() {
|
|
2183
|
-
log('Enable public methods');
|
|
2184
|
-
|
|
2185
|
-
win.parentIFrame = {
|
|
2186
|
-
autoResize: function autoResizeF(resize) {
|
|
2187
|
-
if (true === resize && false === autoResize) {
|
|
2188
|
-
autoResize = true;
|
|
2189
|
-
startEventListeners();
|
|
2190
|
-
} else if (false === resize && true === autoResize) {
|
|
2191
|
-
autoResize = false;
|
|
2192
|
-
stopEventListeners();
|
|
2193
|
-
}
|
|
2194
|
-
sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize));
|
|
2195
|
-
return autoResize
|
|
2196
|
-
},
|
|
2197
|
-
|
|
2198
|
-
close: function closeF() {
|
|
2199
|
-
sendMsg(0, 0, 'close');
|
|
2200
|
-
// teardown()
|
|
2201
|
-
},
|
|
2202
|
-
|
|
2203
|
-
getId: function getIdF() {
|
|
2204
|
-
return myID
|
|
2205
|
-
},
|
|
2206
|
-
|
|
2207
|
-
getPageInfo: function getPageInfoF(callback) {
|
|
2208
|
-
if ('function' === typeof callback) {
|
|
2209
|
-
onPageInfo = callback;
|
|
2210
|
-
sendMsg(0, 0, 'pageInfo');
|
|
2211
|
-
} else {
|
|
2212
|
-
onPageInfo = function () {};
|
|
2213
|
-
sendMsg(0, 0, 'pageInfoStop');
|
|
2214
|
-
}
|
|
2215
|
-
},
|
|
2216
|
-
|
|
2217
|
-
moveToAnchor: function moveToAnchorF(hash) {
|
|
2218
|
-
inPageLinks.findTarget(hash);
|
|
2219
|
-
},
|
|
2220
|
-
|
|
2221
|
-
reset: function resetF() {
|
|
2222
|
-
resetIFrame('parentIFrame.reset');
|
|
2223
|
-
},
|
|
2224
|
-
|
|
2225
|
-
scrollTo: function scrollToF(x, y) {
|
|
2226
|
-
sendMsg(y, x, 'scrollTo'); // X&Y reversed at sendMsg uses height/width
|
|
2227
|
-
},
|
|
2228
|
-
|
|
2229
|
-
scrollToOffset: function scrollToF(x, y) {
|
|
2230
|
-
sendMsg(y, x, 'scrollToOffset'); // X&Y reversed at sendMsg uses height/width
|
|
2231
|
-
},
|
|
2232
|
-
|
|
2233
|
-
sendMessage: function sendMessageF(msg, targetOrigin) {
|
|
2234
|
-
sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin);
|
|
2235
|
-
},
|
|
2236
|
-
|
|
2237
|
-
setHeightCalculationMethod: function setHeightCalculationMethodF(
|
|
2238
|
-
heightCalculationMethod
|
|
2239
|
-
) {
|
|
2240
|
-
heightCalcMode = heightCalculationMethod;
|
|
2241
|
-
checkHeightMode();
|
|
2242
|
-
},
|
|
2243
|
-
|
|
2244
|
-
setWidthCalculationMethod: function setWidthCalculationMethodF(
|
|
2245
|
-
widthCalculationMethod
|
|
2246
|
-
) {
|
|
2247
|
-
widthCalcMode = widthCalculationMethod;
|
|
2248
|
-
checkWidthMode();
|
|
2249
|
-
},
|
|
2250
|
-
|
|
2251
|
-
setTargetOrigin: function setTargetOriginF(targetOrigin) {
|
|
2252
|
-
log('Set targetOrigin: ' + targetOrigin);
|
|
2253
|
-
targetOriginDefault = targetOrigin;
|
|
2254
|
-
},
|
|
2255
|
-
|
|
2256
|
-
size: function sizeF(customHeight, customWidth) {
|
|
2257
|
-
var valString =
|
|
2258
|
-
'' + (customHeight || '') + (customWidth ? ',' + customWidth : '');
|
|
2259
|
-
sendSize(
|
|
2260
|
-
'size',
|
|
2261
|
-
'parentIFrame.size(' + valString + ')',
|
|
2262
|
-
customHeight,
|
|
2263
|
-
customWidth
|
|
2264
|
-
);
|
|
2265
|
-
}
|
|
2266
|
-
};
|
|
2267
|
-
}
|
|
2268
|
-
|
|
2269
|
-
function initInterval() {
|
|
2270
|
-
if (0 !== interval) {
|
|
2271
|
-
log('setInterval: ' + interval + 'ms');
|
|
2272
|
-
intervalTimer = setInterval(function () {
|
|
2273
|
-
sendSize('interval', 'setInterval: ' + interval);
|
|
2274
|
-
}, Math.abs(interval));
|
|
2275
|
-
}
|
|
2276
|
-
}
|
|
2277
|
-
|
|
2278
|
-
// Not testable in PhantomJS
|
|
2279
|
-
/* istanbul ignore next */
|
|
2280
|
-
function setupBodyMutationObserver() {
|
|
2281
|
-
function addImageLoadListners(mutation) {
|
|
2282
|
-
function addImageLoadListener(element) {
|
|
2283
|
-
if (false === element.complete) {
|
|
2284
|
-
log('Attach listeners to ' + element.src);
|
|
2285
|
-
element.addEventListener('load', imageLoaded, false);
|
|
2286
|
-
element.addEventListener('error', imageError, false);
|
|
2287
|
-
elements.push(element);
|
|
2288
|
-
}
|
|
2289
|
-
}
|
|
2290
|
-
|
|
2291
|
-
if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
|
|
2292
|
-
addImageLoadListener(mutation.target);
|
|
2293
|
-
} else if (mutation.type === 'childList') {
|
|
2294
|
-
Array.prototype.forEach.call(
|
|
2295
|
-
mutation.target.querySelectorAll('img'),
|
|
2296
|
-
addImageLoadListener
|
|
2297
|
-
);
|
|
2298
|
-
}
|
|
2299
|
-
}
|
|
2300
|
-
|
|
2301
|
-
function removeFromArray(element) {
|
|
2302
|
-
elements.splice(elements.indexOf(element), 1);
|
|
2303
|
-
}
|
|
2304
|
-
|
|
2305
|
-
function removeImageLoadListener(element) {
|
|
2306
|
-
log('Remove listeners from ' + element.src);
|
|
2307
|
-
element.removeEventListener('load', imageLoaded, false);
|
|
2308
|
-
element.removeEventListener('error', imageError, false);
|
|
2309
|
-
removeFromArray(element);
|
|
2310
|
-
}
|
|
2311
|
-
|
|
2312
|
-
function imageEventTriggered(event, type, typeDesc) {
|
|
2313
|
-
removeImageLoadListener(event.target);
|
|
2314
|
-
sendSize(type, typeDesc + ': ' + event.target.src);
|
|
2315
|
-
}
|
|
2316
|
-
|
|
2317
|
-
function imageLoaded(event) {
|
|
2318
|
-
imageEventTriggered(event, 'imageLoad', 'Image loaded');
|
|
2319
|
-
}
|
|
2320
|
-
|
|
2321
|
-
function imageError(event) {
|
|
2322
|
-
imageEventTriggered(event, 'imageLoadFailed', 'Image load failed');
|
|
2323
|
-
}
|
|
2324
|
-
|
|
2325
|
-
function mutationObserved(mutations) {
|
|
2326
|
-
sendSize(
|
|
2327
|
-
'mutationObserver',
|
|
2328
|
-
'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type
|
|
2329
|
-
);
|
|
2330
|
-
|
|
2331
|
-
// Deal with WebKit / Blink asyncing image loading when tags are injected into the page
|
|
2332
|
-
mutations.forEach(addImageLoadListners);
|
|
2333
|
-
}
|
|
2334
|
-
|
|
2335
|
-
function createMutationObserver() {
|
|
2336
|
-
var target = document.querySelector('body'),
|
|
2337
|
-
config = {
|
|
2338
|
-
attributes: true,
|
|
2339
|
-
attributeOldValue: false,
|
|
2340
|
-
characterData: true,
|
|
2341
|
-
characterDataOldValue: false,
|
|
2342
|
-
childList: true,
|
|
2343
|
-
subtree: true
|
|
2344
|
-
};
|
|
2345
|
-
|
|
2346
|
-
observer = new MutationObserver(mutationObserved);
|
|
2347
|
-
|
|
2348
|
-
log('Create body MutationObserver');
|
|
2349
|
-
observer.observe(target, config);
|
|
2350
|
-
|
|
2351
|
-
return observer
|
|
2352
|
-
}
|
|
2353
|
-
|
|
2354
|
-
var elements = [],
|
|
2355
|
-
MutationObserver =
|
|
2356
|
-
window.MutationObserver || window.WebKitMutationObserver,
|
|
2357
|
-
observer = createMutationObserver();
|
|
2358
|
-
|
|
2359
|
-
return {
|
|
2360
|
-
disconnect: function () {
|
|
2361
|
-
if ('disconnect' in observer) {
|
|
2362
|
-
log('Disconnect body MutationObserver');
|
|
2363
|
-
observer.disconnect();
|
|
2364
|
-
elements.forEach(removeImageLoadListener);
|
|
2365
|
-
}
|
|
2366
|
-
}
|
|
2367
|
-
}
|
|
2368
|
-
}
|
|
2369
|
-
|
|
2370
|
-
function setupMutationObserver() {
|
|
2371
|
-
var forceIntervalTimer = 0 > interval;
|
|
2372
|
-
|
|
2373
|
-
// Not testable in PhantomJS
|
|
2374
|
-
/* istanbul ignore if */ if (
|
|
2375
|
-
window.MutationObserver ||
|
|
2376
|
-
window.WebKitMutationObserver
|
|
2377
|
-
) {
|
|
2378
|
-
if (forceIntervalTimer) {
|
|
2379
|
-
initInterval();
|
|
2380
|
-
} else {
|
|
2381
|
-
bodyObserver = setupBodyMutationObserver();
|
|
2382
|
-
}
|
|
2383
|
-
} else {
|
|
2384
|
-
log('MutationObserver not supported in this browser!');
|
|
2385
|
-
initInterval();
|
|
2386
|
-
}
|
|
2387
|
-
}
|
|
2388
|
-
|
|
2389
|
-
// document.documentElement.offsetHeight is not reliable, so
|
|
2390
|
-
// we have to jump through hoops to get a better value.
|
|
2391
|
-
function getComputedStyle(prop, el) {
|
|
2392
|
-
var retVal = 0;
|
|
2393
|
-
el = el || document.body; // Not testable in phantonJS
|
|
2394
|
-
|
|
2395
|
-
retVal = document.defaultView.getComputedStyle(el, null);
|
|
2396
|
-
retVal = null === retVal ? 0 : retVal[prop];
|
|
2397
|
-
|
|
2398
|
-
return parseInt(retVal, base)
|
|
2399
|
-
}
|
|
2400
|
-
|
|
2401
|
-
function chkEventThottle(timer) {
|
|
2402
|
-
if (timer > throttledTimer / 2) {
|
|
2403
|
-
throttledTimer = 2 * timer;
|
|
2404
|
-
log('Event throttle increased to ' + throttledTimer + 'ms');
|
|
2405
|
-
}
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
|
-
// Idea from https://github.com/guardian/iframe-messenger
|
|
2409
|
-
function getMaxElement(side, elements) {
|
|
2410
|
-
var elementsLength = elements.length,
|
|
2411
|
-
elVal = 0,
|
|
2412
|
-
maxVal = 0,
|
|
2413
|
-
Side = capitalizeFirstLetter(side),
|
|
2414
|
-
timer = Date.now();
|
|
2415
|
-
|
|
2416
|
-
for (var i = 0; i < elementsLength; i++) {
|
|
2417
|
-
elVal =
|
|
2418
|
-
elements[i].getBoundingClientRect()[side] +
|
|
2419
|
-
getComputedStyle('margin' + Side, elements[i]);
|
|
2420
|
-
if (elVal > maxVal) {
|
|
2421
|
-
maxVal = elVal;
|
|
2422
|
-
}
|
|
2423
|
-
}
|
|
2424
|
-
|
|
2425
|
-
timer = Date.now() - timer;
|
|
2426
|
-
|
|
2427
|
-
log('Parsed ' + elementsLength + ' HTML elements');
|
|
2428
|
-
log('Element position calculated in ' + timer + 'ms');
|
|
2429
|
-
|
|
2430
|
-
chkEventThottle(timer);
|
|
2431
|
-
|
|
2432
|
-
return maxVal
|
|
2433
|
-
}
|
|
2434
|
-
|
|
2435
|
-
function getAllMeasurements(dimensions) {
|
|
2436
|
-
return [
|
|
2437
|
-
dimensions.bodyOffset(),
|
|
2438
|
-
dimensions.bodyScroll(),
|
|
2439
|
-
dimensions.documentElementOffset(),
|
|
2440
|
-
dimensions.documentElementScroll()
|
|
2441
|
-
]
|
|
2442
|
-
}
|
|
2443
|
-
|
|
2444
|
-
function getTaggedElements(side, tag) {
|
|
2445
|
-
function noTaggedElementsFound() {
|
|
2446
|
-
warn('No tagged elements (' + tag + ') found on page');
|
|
2447
|
-
return document.querySelectorAll('body *')
|
|
2448
|
-
}
|
|
2449
|
-
|
|
2450
|
-
var elements = document.querySelectorAll('[' + tag + ']');
|
|
2451
|
-
|
|
2452
|
-
if (elements.length === 0) noTaggedElementsFound();
|
|
2453
|
-
|
|
2454
|
-
return getMaxElement(side, elements)
|
|
2455
|
-
}
|
|
2456
|
-
|
|
2457
|
-
function getAllElements() {
|
|
2458
|
-
return document.querySelectorAll('body *')
|
|
2459
|
-
}
|
|
2460
|
-
|
|
2461
|
-
var getHeight = {
|
|
2462
|
-
bodyOffset: function getBodyOffsetHeight() {
|
|
2463
|
-
return (
|
|
2464
|
-
document.body.offsetHeight +
|
|
2465
|
-
getComputedStyle('marginTop') +
|
|
2466
|
-
getComputedStyle('marginBottom')
|
|
2467
|
-
)
|
|
2468
|
-
},
|
|
2469
|
-
|
|
2470
|
-
offset: function () {
|
|
2471
|
-
return getHeight.bodyOffset() // Backwards compatibility
|
|
2472
|
-
},
|
|
2473
|
-
|
|
2474
|
-
bodyScroll: function getBodyScrollHeight() {
|
|
2475
|
-
return document.body.scrollHeight
|
|
2476
|
-
},
|
|
2477
|
-
|
|
2478
|
-
custom: function getCustomWidth() {
|
|
2479
|
-
return customCalcMethods.height()
|
|
2480
|
-
},
|
|
2481
|
-
|
|
2482
|
-
documentElementOffset: function getDEOffsetHeight() {
|
|
2483
|
-
return document.documentElement.offsetHeight
|
|
2484
|
-
},
|
|
2485
|
-
|
|
2486
|
-
documentElementScroll: function getDEScrollHeight() {
|
|
2487
|
-
return document.documentElement.scrollHeight
|
|
2488
|
-
},
|
|
2489
|
-
|
|
2490
|
-
max: function getMaxHeight() {
|
|
2491
|
-
return Math.max.apply(null, getAllMeasurements(getHeight))
|
|
2492
|
-
},
|
|
2493
|
-
|
|
2494
|
-
min: function getMinHeight() {
|
|
2495
|
-
return Math.min.apply(null, getAllMeasurements(getHeight))
|
|
2496
|
-
},
|
|
2497
|
-
|
|
2498
|
-
grow: function growHeight() {
|
|
2499
|
-
return getHeight.max() // Run max without the forced downsizing
|
|
2500
|
-
},
|
|
2501
|
-
|
|
2502
|
-
lowestElement: function getBestHeight() {
|
|
2503
|
-
return Math.max(
|
|
2504
|
-
getHeight.bodyOffset() || getHeight.documentElementOffset(),
|
|
2505
|
-
getMaxElement('bottom', getAllElements())
|
|
2506
|
-
)
|
|
2507
|
-
},
|
|
2508
|
-
|
|
2509
|
-
taggedElement: function getTaggedElementsHeight() {
|
|
2510
|
-
return getTaggedElements('bottom', 'data-iframe-height')
|
|
2511
|
-
}
|
|
2512
|
-
},
|
|
2513
|
-
getWidth = {
|
|
2514
|
-
bodyScroll: function getBodyScrollWidth() {
|
|
2515
|
-
return document.body.scrollWidth
|
|
2516
|
-
},
|
|
2517
|
-
|
|
2518
|
-
bodyOffset: function getBodyOffsetWidth() {
|
|
2519
|
-
return document.body.offsetWidth
|
|
2520
|
-
},
|
|
2521
|
-
|
|
2522
|
-
custom: function getCustomWidth() {
|
|
2523
|
-
return customCalcMethods.width()
|
|
2524
|
-
},
|
|
2525
|
-
|
|
2526
|
-
documentElementScroll: function getDEScrollWidth() {
|
|
2527
|
-
return document.documentElement.scrollWidth
|
|
2528
|
-
},
|
|
2529
|
-
|
|
2530
|
-
documentElementOffset: function getDEOffsetWidth() {
|
|
2531
|
-
return document.documentElement.offsetWidth
|
|
2532
|
-
},
|
|
2533
|
-
|
|
2534
|
-
scroll: function getMaxWidth() {
|
|
2535
|
-
return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())
|
|
2536
|
-
},
|
|
2537
|
-
|
|
2538
|
-
max: function getMaxWidth() {
|
|
2539
|
-
return Math.max.apply(null, getAllMeasurements(getWidth))
|
|
2540
|
-
},
|
|
2541
|
-
|
|
2542
|
-
min: function getMinWidth() {
|
|
2543
|
-
return Math.min.apply(null, getAllMeasurements(getWidth))
|
|
2544
|
-
},
|
|
2545
|
-
|
|
2546
|
-
rightMostElement: function rightMostElement() {
|
|
2547
|
-
return getMaxElement('right', getAllElements())
|
|
2548
|
-
},
|
|
2549
|
-
|
|
2550
|
-
taggedElement: function getTaggedElementsWidth() {
|
|
2551
|
-
return getTaggedElements('right', 'data-iframe-width')
|
|
2552
|
-
}
|
|
2553
|
-
};
|
|
2554
|
-
|
|
2555
|
-
function sizeIFrame(
|
|
2556
|
-
triggerEvent,
|
|
2557
|
-
triggerEventDesc,
|
|
2558
|
-
customHeight,
|
|
2559
|
-
customWidth
|
|
2560
|
-
) {
|
|
2561
|
-
function resizeIFrame() {
|
|
2562
|
-
height = currentHeight;
|
|
2563
|
-
width = currentWidth;
|
|
2564
|
-
|
|
2565
|
-
sendMsg(height, width, triggerEvent);
|
|
2566
|
-
}
|
|
2567
|
-
|
|
2568
|
-
function isSizeChangeDetected() {
|
|
2569
|
-
function checkTolarance(a, b) {
|
|
2570
|
-
var retVal = Math.abs(a - b) <= tolerance;
|
|
2571
|
-
return !retVal
|
|
2572
|
-
}
|
|
2573
|
-
|
|
2574
|
-
currentHeight =
|
|
2575
|
-
undefined$1 === customHeight ? getHeight[heightCalcMode]() : customHeight;
|
|
2576
|
-
currentWidth =
|
|
2577
|
-
undefined$1 === customWidth ? getWidth[widthCalcMode]() : customWidth;
|
|
2578
|
-
|
|
2579
|
-
return (
|
|
2580
|
-
checkTolarance(height, currentHeight) ||
|
|
2581
|
-
(calculateWidth && checkTolarance(width, currentWidth))
|
|
2582
|
-
)
|
|
2583
|
-
}
|
|
2584
|
-
|
|
2585
|
-
function isForceResizableEvent() {
|
|
2586
|
-
return !(triggerEvent in { init: 1, interval: 1, size: 1 })
|
|
2587
|
-
}
|
|
2588
|
-
|
|
2589
|
-
function isForceResizableCalcMode() {
|
|
2590
|
-
return (
|
|
2591
|
-
heightCalcMode in resetRequiredMethods ||
|
|
2592
|
-
(calculateWidth && widthCalcMode in resetRequiredMethods)
|
|
2593
|
-
)
|
|
2594
|
-
}
|
|
2595
|
-
|
|
2596
|
-
function logIgnored() {
|
|
2597
|
-
log('No change in size detected');
|
|
2598
|
-
}
|
|
2599
|
-
|
|
2600
|
-
function checkDownSizing() {
|
|
2601
|
-
if (isForceResizableEvent() && isForceResizableCalcMode()) {
|
|
2602
|
-
resetIFrame(triggerEventDesc);
|
|
2603
|
-
} else if (!(triggerEvent in { interval: 1 })) {
|
|
2604
|
-
logIgnored();
|
|
2605
|
-
}
|
|
2606
|
-
}
|
|
2607
|
-
|
|
2608
|
-
var currentHeight, currentWidth;
|
|
2609
|
-
|
|
2610
|
-
if (isSizeChangeDetected() || 'init' === triggerEvent) {
|
|
2611
|
-
lockTrigger();
|
|
2612
|
-
resizeIFrame();
|
|
2613
|
-
} else {
|
|
2614
|
-
checkDownSizing();
|
|
2615
|
-
}
|
|
2616
|
-
}
|
|
2617
|
-
|
|
2618
|
-
var sizeIFrameThrottled = throttle(sizeIFrame);
|
|
2619
|
-
|
|
2620
|
-
function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {
|
|
2621
|
-
function recordTrigger() {
|
|
2622
|
-
if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {
|
|
2623
|
-
log('Trigger event: ' + triggerEventDesc);
|
|
2624
|
-
}
|
|
2625
|
-
}
|
|
2626
|
-
|
|
2627
|
-
function isDoubleFiredEvent() {
|
|
2628
|
-
return triggerLocked && triggerEvent in doubleEventList
|
|
2629
|
-
}
|
|
2630
|
-
|
|
2631
|
-
if (isDoubleFiredEvent()) {
|
|
2632
|
-
log('Trigger event cancelled: ' + triggerEvent);
|
|
2633
|
-
} else {
|
|
2634
|
-
recordTrigger();
|
|
2635
|
-
if (triggerEvent === 'init') {
|
|
2636
|
-
sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth);
|
|
2637
|
-
} else {
|
|
2638
|
-
sizeIFrameThrottled(
|
|
2639
|
-
triggerEvent,
|
|
2640
|
-
triggerEventDesc,
|
|
2641
|
-
customHeight,
|
|
2642
|
-
customWidth
|
|
2643
|
-
);
|
|
2644
|
-
}
|
|
2645
|
-
}
|
|
2646
|
-
}
|
|
2647
|
-
|
|
2648
|
-
function lockTrigger() {
|
|
2649
|
-
if (!triggerLocked) {
|
|
2650
|
-
triggerLocked = true;
|
|
2651
|
-
log('Trigger event lock on');
|
|
2652
|
-
}
|
|
2653
|
-
clearTimeout(triggerLockedTimer);
|
|
2654
|
-
triggerLockedTimer = setTimeout(function () {
|
|
2655
|
-
triggerLocked = false;
|
|
2656
|
-
log('Trigger event lock off');
|
|
2657
|
-
log('--');
|
|
2658
|
-
}, eventCancelTimer);
|
|
2659
|
-
}
|
|
2660
|
-
|
|
2661
|
-
function triggerReset(triggerEvent) {
|
|
2662
|
-
height = getHeight[heightCalcMode]();
|
|
2663
|
-
width = getWidth[widthCalcMode]();
|
|
2664
|
-
|
|
2665
|
-
sendMsg(height, width, triggerEvent);
|
|
2666
|
-
}
|
|
2667
|
-
|
|
2668
|
-
function resetIFrame(triggerEventDesc) {
|
|
2669
|
-
var hcm = heightCalcMode;
|
|
2670
|
-
heightCalcMode = heightCalcModeDefault;
|
|
2671
|
-
|
|
2672
|
-
log('Reset trigger event: ' + triggerEventDesc);
|
|
2673
|
-
lockTrigger();
|
|
2674
|
-
triggerReset('reset');
|
|
2675
|
-
|
|
2676
|
-
heightCalcMode = hcm;
|
|
2677
|
-
}
|
|
2678
|
-
|
|
2679
|
-
function sendMsg(height, width, triggerEvent, msg, targetOrigin) {
|
|
2680
|
-
function setTargetOrigin() {
|
|
2681
|
-
if (undefined$1 === targetOrigin) {
|
|
2682
|
-
targetOrigin = targetOriginDefault;
|
|
2683
|
-
} else {
|
|
2684
|
-
log('Message targetOrigin: ' + targetOrigin);
|
|
2685
|
-
}
|
|
2686
|
-
}
|
|
2687
|
-
|
|
2688
|
-
function sendToParent() {
|
|
2689
|
-
var size = height + ':' + width,
|
|
2690
|
-
message =
|
|
2691
|
-
myID +
|
|
2692
|
-
':' +
|
|
2693
|
-
size +
|
|
2694
|
-
':' +
|
|
2695
|
-
triggerEvent +
|
|
2696
|
-
(undefined$1 === msg ? '' : ':' + msg);
|
|
2697
|
-
|
|
2698
|
-
log('Sending message to host page (' + message + ')');
|
|
2699
|
-
target.postMessage(msgID + message, targetOrigin);
|
|
2700
|
-
}
|
|
2701
|
-
|
|
2702
|
-
{
|
|
2703
|
-
setTargetOrigin();
|
|
2704
|
-
sendToParent();
|
|
2705
|
-
}
|
|
2706
|
-
}
|
|
2707
|
-
|
|
2708
|
-
function receiver(event) {
|
|
2709
|
-
var processRequestFromParent = {
|
|
2710
|
-
init: function initFromParent() {
|
|
2711
|
-
initMsg = event.data;
|
|
2712
|
-
target = event.source;
|
|
2713
|
-
|
|
2714
|
-
init();
|
|
2715
|
-
firstRun = false;
|
|
2716
|
-
setTimeout(function () {
|
|
2717
|
-
initLock = false;
|
|
2718
|
-
}, eventCancelTimer);
|
|
2719
|
-
},
|
|
2720
|
-
|
|
2721
|
-
reset: function resetFromParent() {
|
|
2722
|
-
if (initLock) {
|
|
2723
|
-
log('Page reset ignored by init');
|
|
2724
|
-
} else {
|
|
2725
|
-
log('Page size reset by host page');
|
|
2726
|
-
triggerReset('resetPage');
|
|
2727
|
-
}
|
|
2728
|
-
},
|
|
2729
|
-
|
|
2730
|
-
resize: function resizeFromParent() {
|
|
2731
|
-
sendSize('resizeParent', 'Parent window requested size check');
|
|
2732
|
-
},
|
|
2733
|
-
|
|
2734
|
-
moveToAnchor: function moveToAnchorF() {
|
|
2735
|
-
inPageLinks.findTarget(getData());
|
|
2736
|
-
},
|
|
2737
|
-
inPageLink: function inPageLinkF() {
|
|
2738
|
-
this.moveToAnchor();
|
|
2739
|
-
}, // Backward compatibility
|
|
2740
|
-
|
|
2741
|
-
pageInfo: function pageInfoFromParent() {
|
|
2742
|
-
var msgBody = getData();
|
|
2743
|
-
log('PageInfoFromParent called from parent: ' + msgBody);
|
|
2744
|
-
onPageInfo(JSON.parse(msgBody));
|
|
2745
|
-
log(' --');
|
|
2746
|
-
},
|
|
2747
|
-
|
|
2748
|
-
message: function messageFromParent() {
|
|
2749
|
-
var msgBody = getData();
|
|
2750
|
-
|
|
2751
|
-
log('onMessage called from parent: ' + msgBody);
|
|
2752
|
-
// eslint-disable-next-line sonarjs/no-extra-arguments
|
|
2753
|
-
onMessage(JSON.parse(msgBody));
|
|
2754
|
-
log(' --');
|
|
2755
|
-
}
|
|
2756
|
-
};
|
|
2757
|
-
|
|
2758
|
-
function isMessageForUs() {
|
|
2759
|
-
return msgID === ('' + event.data).slice(0, msgIdLen) // ''+ Protects against non-string messages
|
|
2760
|
-
}
|
|
2761
|
-
|
|
2762
|
-
function getMessageType() {
|
|
2763
|
-
return event.data.split(']')[1].split(':')[0]
|
|
2764
|
-
}
|
|
2765
|
-
|
|
2766
|
-
function getData() {
|
|
2767
|
-
return event.data.slice(event.data.indexOf(':') + 1)
|
|
2768
|
-
}
|
|
2769
|
-
|
|
2770
|
-
function isMiddleTier() {
|
|
2771
|
-
return (
|
|
2772
|
-
(!(module.exports) &&
|
|
2773
|
-
'iFrameResize' in window) ||
|
|
2774
|
-
(window.jQuery !== undefined$1 &&
|
|
2775
|
-
'iFrameResize' in window.jQuery.prototype)
|
|
2776
|
-
)
|
|
2777
|
-
}
|
|
2778
|
-
|
|
2779
|
-
function isInitMsg() {
|
|
2780
|
-
// Test if this message is from a child below us. This is an ugly test, however, updating
|
|
2781
|
-
// the message format would break backwards compatibility.
|
|
2782
|
-
return event.data.split(':')[2] in { true: 1, false: 1 }
|
|
2783
|
-
}
|
|
2784
|
-
|
|
2785
|
-
function callFromParent() {
|
|
2786
|
-
var messageType = getMessageType();
|
|
2787
|
-
|
|
2788
|
-
if (messageType in processRequestFromParent) {
|
|
2789
|
-
processRequestFromParent[messageType]();
|
|
2790
|
-
} else if (!isMiddleTier() && !isInitMsg()) {
|
|
2791
|
-
warn('Unexpected message (' + event.data + ')');
|
|
2792
|
-
}
|
|
2793
|
-
}
|
|
2794
|
-
|
|
2795
|
-
function processMessage() {
|
|
2796
|
-
if (false === firstRun) {
|
|
2797
|
-
callFromParent();
|
|
2798
|
-
} else if (isInitMsg()) {
|
|
2799
|
-
processRequestFromParent.init();
|
|
2800
|
-
} else {
|
|
2801
|
-
log(
|
|
2802
|
-
'Ignored message of type "' +
|
|
2803
|
-
getMessageType() +
|
|
2804
|
-
'". Received before initialization.'
|
|
2805
|
-
);
|
|
2806
|
-
}
|
|
2807
|
-
}
|
|
2808
|
-
|
|
2809
|
-
if (isMessageForUs()) {
|
|
2810
|
-
processMessage();
|
|
2811
|
-
}
|
|
2812
|
-
}
|
|
2813
|
-
|
|
2814
|
-
// Normally the parent kicks things off when it detects the iFrame has loaded.
|
|
2815
|
-
// If this script is async-loaded, then tell parent page to retry init.
|
|
2816
|
-
function chkLateLoaded() {
|
|
2817
|
-
if ('loading' !== document.readyState) {
|
|
2818
|
-
window.parent.postMessage('[iFrameResizerChild]Ready', '*');
|
|
2819
|
-
}
|
|
2820
|
-
}
|
|
2821
|
-
|
|
2822
|
-
// Setup if not already running
|
|
2823
|
-
if (!('iframeResizer' in window)) {
|
|
2824
|
-
window.iframeChildListener = function (data) {
|
|
2825
|
-
receiver({ data, sameDomian: true });
|
|
2826
|
-
};
|
|
2827
|
-
addEventListener(window, 'message', receiver);
|
|
2828
|
-
addEventListener(window, 'readystatechange', chkLateLoaded);
|
|
2829
|
-
chkLateLoaded();
|
|
2830
|
-
}
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
})();
|
|
2834
|
-
}(iframeResizer_contentWindow));
|
|
2835
|
-
|
|
2836
|
-
const iframeResize = iframeResizer$1.exports;
|
|
2837
|
-
|
|
2838
|
-
var iframeResizer = {
|
|
2839
|
-
iframeResize: iframeResize,
|
|
2840
|
-
iframeResizer: iframeResize, // Backwards compatibility
|
|
2841
|
-
contentWindow: iframeResizer_contentWindow.exports
|
|
2842
|
-
};
|
|
2843
|
-
|
|
2844
|
-
const MiddleLinks = (props) => {
|
|
2845
|
-
return props.items.slice(1, -1).map(item => (index.h("li", { key: item.url },
|
|
2846
|
-
index.h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
|
|
2847
|
-
index.h("span", null, item.text)),
|
|
2848
|
-
props.icons ? index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
|
|
2849
|
-
};
|
|
2850
|
-
|
|
2851
|
-
const MiddleDropdown = (props) => {
|
|
2852
|
-
return (index.h("div", { class: "middle-dropdown-container" },
|
|
2853
|
-
index.h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
|
|
2854
|
-
index.h("span", { class: "visually-hidden" }, language_service.translate('Open menu')),
|
|
2855
|
-
index.h("span", { "aria-hidden": "true" }, "...")),
|
|
2856
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
|
|
2857
|
-
props.dropdownOpen ? (index.h("nav", { "aria-label": language_service.translate('Intermediary links'), class: "middle-dropdown" },
|
|
2858
|
-
index.h("ul", { class: "no-list" },
|
|
2859
|
-
index.h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
|
|
2860
|
-
};
|
|
2861
|
-
|
|
2862
|
-
const BreadcrumbList = (props) => {
|
|
2863
|
-
var _a;
|
|
2864
|
-
const homeItem = props.items[0];
|
|
2865
|
-
const lastItem = props.items[props.items.length - 1];
|
|
2866
|
-
return (index.h("ol", { class: "no-list breadcrumbs-list" },
|
|
2867
|
-
index.h("li", null,
|
|
2868
|
-
index.h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
|
|
2869
|
-
index.h("span", { class: "visually-hidden" }, homeItem.text),
|
|
2870
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-home" })),
|
|
2871
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
|
|
2872
|
-
props.isConcatenated ? (index.h("li", null,
|
|
2873
|
-
index.h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (index.h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
|
|
2874
|
-
index.h("li", null,
|
|
2875
|
-
index.h("a", { class: "last-link nav-link", href: lastItem.url, tabindex: props.focusable === false ? '-1' : undefined, ref: el => (props.lastItemRef !== undefined ? props.lastItemRef(el) : null) }, lastItem.text))));
|
|
2876
|
-
};
|
|
2877
|
-
|
|
2878
|
-
const postInternetBreadcrumbsCss = ":host{--post-contrast-color:#000;--post-focus-color:#1976c8;--post-contrast-color-inverted:#fff;--post-gray-10:hsl(0, 0%, 90%);--post-gray-20:hsl(0, 0%, 80%);--post-gray-40:hsl(0, 0%, 60%);--post-gray-60:hsl(0, 0%, 40%);--post-gray-80:hsl(0, 0%, 20%);--post-yellow:#fc0;--post-white:#fff;--post-light:#faf9f8;--post-gray:#f4f3f1;--post-dark:hsl(0, 0%, 20%);--post-black:#000;--post-primary:hsl(0, 0%, 20%);--post-secondary:hsl(0, 0%, 40%);--post-success:#2c871d;--post-warning:#f49e00;--post-error:#a51728;--post-info:#cce4ee;--post-success-background:#c0debb;--post-warning-background:#fce2b2;--post-error-background:#ffdade;--post-nightblue:#004976;--post-nightblue-bright:#0076a8;--post-petrol:#006d68;--post-petrol-bright:#00968f;--post-coral:#9e2a2f;--post-coral-bright:#e03c31;--post-olive:#716135;--post-olive-bright:#aa9d2e;--post-purple:#80276c;--post-purple-bright:#c5299b;--post-aubergine:#523178;--post-aubergine-bright:#7566a0;--post-contrast-color-rgb:0, 0, 0;--post-contrast-color-inverted-rgb:255, 255, 255;--post-gray-10-rgb:230, 230, 230;--post-gray-20-rgb:204, 204, 204;--post-gray-40-rgb:153, 153, 153;--post-gray-60-rgb:102, 102, 102;--post-gray-80-rgb:51, 51, 51;--post-black-alpha-10-rgba:rgba(0, 0, 0, 0.1);--post-black-alpha-20-rgba:rgba(0, 0, 0, 0.2);--post-black-alpha-40-rgba:rgba(0, 0, 0, 0.4);--post-black-alpha-60-rgba:rgba(0, 0, 0, 0.6);--post-black-alpha-80-rgba:rgba(0, 0, 0, 0.8);--post-white-alpha-10-rgba:rgba(255, 255, 255, 0.1);--post-white-alpha-20-rgba:rgba(255, 255, 255, 0.2);--post-white-alpha-40-rgba:rgba(255, 255, 255, 0.4);--post-white-alpha-60-rgba:rgba(255, 255, 255, 0.6);--post-white-alpha-80-rgba:rgba(255, 255, 255, 0.8);--post-yellow-rgb:255, 204, 0;--post-white-rgb:255, 255, 255;--post-light-rgb:250, 249, 248;--post-gray-rgb:244, 243, 241;--post-dark-rgb:51, 51, 51;--post-black-rgb:0, 0, 0;--post-primary-rgb:51, 51, 51;--post-secondary-rgb:102, 102, 102;--post-success-rgb:44, 135, 29;--post-warning-rgb:244, 158, 0;--post-error-rgb:165, 23, 40;--post-info-rgb:204, 228, 238;--post-success-background-rgb:192, 222, 187;--post-warning-background-rgb:252, 226, 178;--post-error-background-rgb:255, 218, 222;--post-nightblue-rgb:0, 73, 118;--post-nightblue-bright-rgb:0, 118, 168;--post-petrol-rgb:0, 109, 104;--post-petrol-bright-rgb:0, 150, 143;--post-coral-rgb:158, 42, 47;--post-coral-bright-rgb:224, 60, 49;--post-olive-rgb:113, 97, 53;--post-olive-bright-rgb:170, 157, 46;--post-purple-rgb:128, 39, 108;--post-purple-bright-rgb:197, 41, 155;--post-aubergine-rgb:82, 49, 120;--post-aubergine-bright-rgb:117, 102, 160}.btn-default:focus,.btn-secondary:focus,.btn-link:focus,.btn-tertiary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.btn-link:not(:disabled):hover,.btn-tertiary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary,.pretend-hover.btn-link,.pretend-hover.btn-tertiary{color:var(--post-contrast-color)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-default,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-secondary,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-link,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-tertiary{color:var(--post-contrast-color)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-default .pi,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-secondary .pi,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-link .pi,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-tertiary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn{min-height:3rem;font-size:1rem;gap:.625rem;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:2px;border-style:solid;border-radius:4px;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;color:var(--post-gray-80);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn:where(:not(.btn-link,.btn-tertiary)){padding:0 1rem}.btn>.pi,.btn>post-icon{width:1.25rem;height:1.25rem}.btn:disabled{pointer-events:none;color:var(--post-gray-60);border-color:var(--post-gray-40);border-style:dashed;background-clip:padding-box}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:disabled{color:GrayText;border-color:GrayText}}.btn:not(:disabled):hover,.btn.pretend-hover{color:var(--post-contrast-color-inverted);background-color:#666}.btn{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:solid !important;border-radius:4px;color:var(--post-contrast-color-inverted);background-color:#666}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}.btn:is(:focus-visible,:has(:focus-visible),.pretend-focus):where(.btn-primary){background-color:var(--post-contrast-color)}@supports not selector(:has(:focus-visible)){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-style:solid !important;border-radius:4px;color:var(--post-contrast-color-inverted);background-color:#666}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}.btn:is(:focus-visible,:focus-within,.pretend-focus):where(.btn-primary){background-color:var(--post-contrast-color)}}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:disabled{color:rgba(255,255,255,.8)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:not(:disabled):hover,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn.pretend-hover{background-color:#fc0;border-color:rgba(0,0,0,0)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn{outline-style:none !important;outline-offset:2px !important;outline-width:2px !important;outline-color:var(--post-focus-color) !important}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:solid !important;background-color:#fc0;border-color:rgba(0,0,0,0)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:is(:focus-visible,:focus-within,.pretend-focus){outline-style:solid !important;background-color:#fc0;border-color:rgba(0,0,0,0)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn{border-color:ButtonBorder;background-color:ButtonFace}.btn:not(:disabled,.disabled):hover{border-color:highlight}.btn:disabled{border-color:GrayText !important}.btn .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary{border-color:rgba(0,0,0,0);background-color:var(--post-gray-80);color:var(--post-contrast-color-inverted)}.btn-primary:disabled{background-color:#e6e6e6;border-color:#666}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-primary{background-color:var(--post-contrast-color);color:var(--post-gray-10)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-primary:disabled{color:var(--post-contrast-color);background-color:rgba(255,255,255,.2);border-color:var(--post-contrast-color)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}.btn-default,.btn-secondary{border-color:#666}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-default,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-secondary{border-color:var(--post-contrast-color);color:var(--post-contrast-color)}:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-default:disabled,:where(.bg-dark,.bg-black,.bg-primary,.bg-secondary,.bg-success,.bg-error,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.alert-primary,post-alert[type=primary],.alert-success,post-alert[type=success],.alert-danger,post-alert[type=danger],.alert-notification,post-alert[type=notification],.alert-error,post-alert[type=error]) .btn-secondary:disabled{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.6)}.btn-link,.btn-tertiary{border:0;padding-inline:.25rem}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:.75rem;padding-left:.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:.375rem;padding-left:.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:.5625rem;padding-left:.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:.9375rem;padding-left:.9375rem}.btn-animated:not(.btn-link,.btn-tertiary)::after,.btn-animated-start:not(.btn-link,.btn-tertiary)::after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.1 23.6-.9-.9 6.6-6.6-6.6-6.6.9-.9 7.6 7.5z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.1 23.6-.9-.9 6.6-6.6-6.6-6.6.9-.9 7.6 7.5z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;content:\"\";display:block;height:2em;width:2em;position:absolute;-webkit-transition:opacity 250ms,-webkit-transform 250ms;transition:opacity 250ms,-webkit-transform 250ms;transition:opacity 250ms,transform 250ms;transition:opacity 250ms,transform 250ms,-webkit-transform 250ms;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary)>span,.btn-animated-start:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after,.btn-animated-start:not(.btn-link,.btn-tertiary):focus::after,.btn-animated-start:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated-start:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span,.btn-animated-start:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-animated:not(.btn-link,.btn-tertiary)::after{right:-.1666666667rem;-webkit-transform:translateX(-2px);transform:translateX(-2px)}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:-0.25rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:-.2083333333rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:-0.125rem}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}}.btn-animated-start:not(.btn-link,.btn-tertiary)::after{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Crect/%3E%3Cpath d='M18.9 23.5 11.3 16l7.6-7.6.9.9-6.6 6.7 6.6 6.6z'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Crect/%3E%3Cpath d='M18.9 23.5 11.3 16l7.6-7.6.9.9-6.6 6.7 6.6 6.6z'/%3E%3C/svg%3E\");background-color:currentColor;color:currentColor;forced-color-adjust:preserve-parent-color;left:-.1666666667rem;-webkit-transform:translateX(2px);transform:translateX(2px)}.btn-animated-start:not(.btn-link,.btn-tertiary).btn-sm::after{left:-0.25rem}.btn-animated-start:not(.btn-link,.btn-tertiary).btn-rg::after{left:-.2083333333rem}.btn-animated-start:not(.btn-link,.btn-tertiary).btn-lg::after{left:-0.125rem}@media (prefers-reduced-motion: no-preference){.btn-animated-start:not(.btn-link,.btn-tertiary):focus>span,.btn-animated-start:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated-start:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(0.5rem);transform:translateX(0.5rem)}.btn-animated-start:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated-start:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated-start:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(0.5rem);transform:translateX(0.5rem)}.btn-animated-start:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated-start:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated-start:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(0.5rem);transform:translateX(0.5rem)}.btn-animated-start:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated-start:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated-start:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(0.5rem);transform:translateX(0.5rem)}}.btn-sm{min-height:2rem;font-size:.75rem;gap:.375rem}.btn-sm:where(:not(.btn-link,.btn-tertiary)){padding:0 .75rem}.btn-sm>.pi,.btn-sm>post-icon{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;font-size:.875rem;gap:.5rem}.btn-rg:where(:not(.btn-link,.btn-tertiary)){padding:0 .875rem}.btn-rg>.pi,.btn-rg>post-icon{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;font-size:1.125rem;gap:.75rem}.btn-lg:where(:not(.btn-link,.btn-tertiary)){padding:0 1.125rem}.btn-lg>.pi,.btn-lg>post-icon{width:1.375rem;height:1.375rem}.btn-nightblue{border-color:rgba(0,0,0,0);background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:rgba(0,0,0,0);background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:rgba(0,0,0,0);background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:rgba(0,0,0,0);background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:rgba(0,0,0,0);background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:rgba(0,0,0,0);background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:rgba(0,0,0,0);background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:rgba(0,0,0,0);background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:rgba(0,0,0,0);background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:rgba(0,0,0,0);background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:rgba(0,0,0,0);background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:rgba(0,0,0,0);background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-success{border-color:rgba(0,0,0,0);background-color:#2c871d;color:#fff}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1e5d14;color:#fff}.btn-warning{border-color:rgba(0,0,0,0);background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-error{border-color:rgba(0,0,0,0);background-color:#a51728;color:#fff}.btn-error:focus,.btn-error:not(:disabled):hover,.btn-error.pretend-hover{background-color:#78111d;color:#fff}.btn-info{border-color:rgba(0,0,0,0);background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:400px;--bs-breakpoint-rg:600px;--bs-breakpoint-md:780px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-xxl:1440px}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1440px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xxl,.container-xl{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media (min-width: 1280px){.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1280px}}@media (min-width: 1440px){.container-xxl,.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1440px}}.container{padding-inline:var(--post-container-padding-x)}.container-fluid{padding-inline:var(--post-container-fluid-padding-x)}.container{--post-container-padding-x:12px}.container-fluid{--post-container-fluid-padding-x:12px}.row{--bs-gutter-x:12px}@media (min-width: 400px){.container{--post-container-padding-x:16px}}@media (min-width: 400px){.container-fluid{--post-container-fluid-padding-x:16px}}@media (min-width: 400px){.row{--bs-gutter-x:16px}}@media (min-width: 780px){.container{--post-container-padding-x:32px}}@media (min-width: 780px){.container-fluid{--post-container-fluid-padding-x:32px}}@media (min-width: 1280px){.container{--post-container-padding-x:40px}}@media (min-width: 1440px){.container{--post-container-padding-x:120px}}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}@media (min-width: 400px){.g-sm-0,.gx-sm-0{--bs-gutter-x:0}}@media (min-width: 400px){.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}}@media (min-width: 400px){.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}}@media (min-width: 400px){.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}}@media (min-width: 400px){.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}}@media (min-width: 400px){.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}}@media (min-width: 600px){.g-rg-0,.gx-rg-0{--bs-gutter-x:0}}@media (min-width: 600px){.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}}@media (min-width: 600px){.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}}@media (min-width: 600px){.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}}@media (min-width: 600px){.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}}@media (min-width: 600px){.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}}@media (min-width: 780px){.g-md-0,.gx-md-0{--bs-gutter-x:0}}@media (min-width: 780px){.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}}@media (min-width: 780px){.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}}@media (min-width: 780px){.g-md-3,.gx-md-3{--bs-gutter-x:1rem}}@media (min-width: 780px){.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}}@media (min-width: 780px){.g-md-5,.gx-md-5{--bs-gutter-x:3rem}}@media (min-width: 1024px){.g-lg-0,.gx-lg-0{--bs-gutter-x:0}}@media (min-width: 1024px){.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}}@media (min-width: 1024px){.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}}@media (min-width: 1024px){.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}}@media (min-width: 1024px){.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}}@media (min-width: 1024px){.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}}@media (min-width: 1280px){.g-xl-0,.gx-xl-0{--bs-gutter-x:0}}@media (min-width: 1280px){.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1280px){.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1280px){.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}}@media (min-width: 1280px){.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1280px){.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}}@media (min-width: 1440px){.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}}@media (min-width: 1440px){.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1440px){.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1440px){.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}}@media (min-width: 1440px){.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1440px){.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px)and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px)and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 780px){.container-reset-left{margin-left:-32px}}@media (min-width: 780px){.container-reset-right{margin-right:-32px}}@media (min-width: 780px)and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px)and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1280px){.container-reset-left{margin-left:-40px}}@media (min-width: 1280px){.container-reset-right{margin-right:-40px}}@media (min-width: 1280px)and (max-width: 1439.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1440px){.container-reset{margin-right:-120px;margin-left:-120px}}@media (min-width: 1440px){.container-reset-left{margin-left:-120px}}@media (min-width: 1440px){.container-reset-right{margin-right:-120px}}@media (min-width: 1440px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:hsl(0, 0%, 80%);--bs-progress-border-radius:4px;--bs-progress-box-shadow:inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:hsl(0, 0%, 20%);--bs-progress-bar-transition:width 0.6s ease;display:-ms-flexbox;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);-webkit-transition:var(--bs-progress-bar-transition);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.spinner-bg{position:absolute;z-index:990;top:0;left:0;width:100%;height:100%}.loading-modal{display:-ms-inline-flexbox;display:inline-flex;position:absolute;z-index:990;top:0;right:0;bottom:0;left:0}.loader{width:1em;height:1em;-webkit-animation:spin 3.125s linear infinite;animation:spin 3.125s linear infinite;position:relative;font-size:3.5rem}.loader.loader-12{font-size:.75rem}.loader.loader-16{font-size:1rem}.loader.loader-24{font-size:1.5rem}.loader.loader-32{font-size:2rem}.loader.loader-40{font-size:2.5rem}.loader.loader-48{font-size:3rem}.loader.loader-80{font-size:5rem}.loader.loader-sm{font-size:2.5rem}.loader.loader-xs{font-size:1rem}.loader::before,.loader::after{content:\"\";-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;inset:0;border-radius:50%;border:max(2px,.12em) solid #666;-webkit-transform:rotate(130deg);transform:rotate(130deg);-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-duration:1.5625s;animation-duration:1.5625s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.loader::before{-webkit-animation-name:progressLoaderInverted;animation-name:progressLoaderInverted}.loader::after{border-color:#fc0;-webkit-animation-name:progressLoader;animation-name:progressLoader}@media (prefers-reduced-motion: reduce){.loader{-webkit-animation-duration:25s;animation-duration:25s}.loader::before,.loader::after{-webkit-animation-duration:12.5s;animation-duration:12.5s}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.loader::before{border-color:CanvasText}.loader::after{border-color:Highlight}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(720deg);transform:rotate(720deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(720deg);transform:rotate(720deg)}}@-webkit-keyframes progressLoader{0%{-webkit-clip-path:polygon(50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0);clip-path:polygon(50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0)}50%{-webkit-clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0)}100%{-webkit-clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%)}}@keyframes progressLoader{0%{-webkit-clip-path:polygon(50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0);clip-path:polygon(50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0)}50%{-webkit-clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0)}100%{-webkit-clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);clip-path:polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%)}}@-webkit-keyframes progressLoaderInverted{0%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0, 50% 50%, 100% 100%, 100% 0)}50%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0, 50% 50%, 100% 100%, 100% 0)}100%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 50% 50%, 100% 100%, 100% 0)}}@keyframes progressLoaderInverted{0%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 42% 0, 42% 0, 42% 0, 42% 0, 50% 50%, 100% 100%, 100% 0)}50%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0, 50% 50%, 100% 100%, 100% 0)}100%{-webkit-clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 50% 50%, 100% 100%, 100% 0);clip-path:polygon(0 0, 0 100%, 100% 100%, 50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 50% 50%, 100% 100%, 100% 0)}}@font-face{font-display:swap;font-family:\"Swiss Post Sans\";font-weight:700;src:url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Bold.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Swiss Post Sans\";font-weight:400;src:url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Regular.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Regular.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Swiss Post Sans\";font-weight:300;src:url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Light.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/swiss-post-sans/v1/SwissPostSans-Light.woff\") format(\"woff\")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.nav-link:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:\"Swiss Post Sans\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif}button{font:inherit;padding:0}a,button{border-radius:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){svg{color:currentColor;forced-color-adjust:preserve-parent-color}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-none{display:none !important}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1439.98px){.hidden-xxl{display:none}}:host{display:block;position:relative}.breadcrumbs{font-size:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:1rem;min-height:3rem}@media (max-width: 599.98px){.breadcrumbs{font-size:.875rem}}.breadcrumbs-nav{white-space:nowrap;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.breadcrumbs-list,.nav-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.breadcrumbs-list li{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.breadcrumbs-list li:last-child{-ms-flex-negative:2;flex-shrink:2;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:4px}.breadcrumbs-list svg{margin-left:0 !important;width:1.5em;height:1.5em;color:rgba(0,0,0,.6)}.breadcrumb-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb-buttons .btn{cursor:pointer;gap:.5rem;font-size:inherit}.breadcrumb-buttons .btn.btn-secondary>svg{width:1.5rem;height:1.5rem;margin:0}@media (min-width: 1024px){.breadcrumb-buttons .btn span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.nav-link{gap:0;color:rgba(0,0,0,.6);font-weight:400}.middle-dropdown-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.middle-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e6e6e6;padding:.5rem 0;z-index:1}.middle-dropdown .nav-link{padding:.5rem 1rem;-webkit-transition:color 200ms;transition:color 200ms}.middle-dropdown .nav-link:hover{background-color:#e6e6e6}.middle-dropdown-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.25rem;width:1.5em;height:1.5em;min-height:0;font-size:inherit;color:inherit}.middle-dropdown-button span{margin:0}.middle-dropdown-button svg{margin:0;-ms-flex-negative:0;flex-shrink:0;width:1.4em;height:1.4em}.overlay{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:calc(var(--header-z-index, 10) + 1);opacity:0;visibility:hidden;-webkit-transition:opacity 500ms,visibility 0s 500ms;transition:opacity 500ms,visibility 0s 500ms}.overlay.open{visibility:visible;opacity:1;-webkit-transition:opacity 500ms,visibility 0s 0s;transition:opacity 500ms,visibility 0s 0s}.overlay-container{position:relative;background:#fff;-webkit-box-shadow:0 0 40px rgba(0,0,0,.6);box-shadow:0 0 40px rgba(0,0,0,.6);-webkit-transform:translateY(3rem);transform:translateY(3rem);opacity:0;-webkit-transition:opacity 500ms,-webkit-transform 500ms;transition:opacity 500ms,-webkit-transform 500ms;transition:transform 500ms,opacity 500ms;transition:transform 500ms,opacity 500ms,-webkit-transform 500ms}iframe{display:block;width:1px;min-width:100%;overflow:auto;max-height:80vh}.overlay-close{position:absolute !important;top:1rem;right:1rem;cursor:pointer;padding:.5rem;color:rgba(0,0,0,.8)}.overlay-close:hover,.overlay-close:focus{color:#000}.overlay-close.phone{color:#fff}.overlay-close.phone:hover,.overlay-close.phone:focus{color:rgba(255,255,255,.8)}@media (min-width: 600px){.overlay-close span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.loader-wrapper{position:absolute;display:grid;place-items:center;width:100%;height:100%;top:0;left:0}.loaded .loader-wrapper{display:none}.hidden-control-breadcrumbs{position:absolute;top:100%;width:0;overflow:hidden;display:-ms-flexbox;display:flex;pointer-events:none}.hidden-control-breadcrumbs .breadcrumbs-nav{-ms-flex-negative:0;flex-shrink:0}.hidden-control-breadcrumbs .breadcrumbs-list li{-ms-flex-negative:0;flex-shrink:0}";
|
|
2879
|
-
const SwisspostInternetBreadcrumbsStyle0 = postInternetBreadcrumbsCss;
|
|
2880
|
-
|
|
2881
|
-
const PostInternetBreadcrumbs = class {
|
|
2882
|
-
constructor(hostRef) {
|
|
2883
|
-
index.registerInstance(this, hostRef);
|
|
2884
|
-
this.customItems = undefined;
|
|
2885
|
-
this.hideButtons = false;
|
|
2886
|
-
this.customBreadcrumbItems = undefined;
|
|
2887
|
-
this.overlayVisible = undefined;
|
|
2888
|
-
this.isConcatenated = undefined;
|
|
2889
|
-
this.dropdownOpen = false;
|
|
2890
|
-
this.refsReady = false;
|
|
2891
|
-
}
|
|
2892
|
-
/**
|
|
2893
|
-
* Toggle an overlay associated with a button.
|
|
2894
|
-
* @param {IBreadcrumbOverlay['id']} overlayId
|
|
2895
|
-
*/
|
|
2896
|
-
async toggleOverlayById(overlayId) {
|
|
2897
|
-
var _a, _b;
|
|
2898
|
-
const buttons = (_a = store.state.localizedConfig) === null || _a === void 0 ? void 0 : _a.breadcrumb.buttons;
|
|
2899
|
-
const overlay = (_b = buttons === null || buttons === void 0 ? void 0 : buttons.find(button => button.overlay.id === overlayId)) === null || _b === void 0 ? void 0 : _b.overlay;
|
|
2900
|
-
if (!overlay) {
|
|
2901
|
-
console.warn(`Internet Header: Failed to toggle overlay with id #${overlayId} as it was not found in the breadcrumb buttons config.`);
|
|
2902
|
-
return;
|
|
2903
|
-
}
|
|
2904
|
-
this.toggleOverlay(overlay);
|
|
2905
|
-
}
|
|
2906
|
-
connectedCallback() {
|
|
2907
|
-
this.debouncedResize = index$1.debounce(200, this.handleResize.bind(this));
|
|
2908
|
-
window.addEventListener('resize', this.debouncedResize, { passive: true });
|
|
2909
|
-
}
|
|
2910
|
-
disconnectedCallback() {
|
|
2911
|
-
window.removeEventListener('resize', this.debouncedResize);
|
|
2912
|
-
window.removeEventListener('click', this.handleWindowClick);
|
|
2913
|
-
bodyScrollLock_esm.clearAllBodyScrollLocks();
|
|
2914
|
-
}
|
|
2915
|
-
async componentWillLoad() {
|
|
2916
|
-
// Wait for the config to arrive, then render the header
|
|
2917
|
-
try {
|
|
2918
|
-
this.customBreadcrumbItems =
|
|
2919
|
-
typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
|
|
2920
|
-
}
|
|
2921
|
-
catch (error) {
|
|
2922
|
-
console.error(error);
|
|
2923
|
-
}
|
|
2924
|
-
}
|
|
2925
|
-
componentDidLoad() {
|
|
2926
|
-
// Initially check if breadcrumb items are concatenated
|
|
2927
|
-
window.requestAnimationFrame(() => {
|
|
2928
|
-
this.handleResize();
|
|
2929
|
-
});
|
|
2930
|
-
}
|
|
2931
|
-
handleCustomConfigChange(newValue) {
|
|
2932
|
-
try {
|
|
2933
|
-
this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
|
|
2934
|
-
}
|
|
2935
|
-
catch (error) {
|
|
2936
|
-
console.error(error);
|
|
2937
|
-
}
|
|
2938
|
-
}
|
|
2939
|
-
handleResize() {
|
|
2940
|
-
// Catch and exclude vertical resize events, e.g. scrolling in iPhone
|
|
2941
|
-
if (window.innerWidth === this.lastWindowWidth) {
|
|
2942
|
-
return;
|
|
2943
|
-
}
|
|
2944
|
-
this.lastWindowWidth = window.innerWidth;
|
|
2945
|
-
this.checkConcatenation();
|
|
2946
|
-
}
|
|
2947
|
-
checkConcatenation() {
|
|
2948
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
2949
|
-
this.refsReady = true;
|
|
2950
|
-
// Delay the check
|
|
2951
|
-
window.requestAnimationFrame(() => {
|
|
2952
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
2953
|
-
this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
|
|
2954
|
-
}
|
|
2955
|
-
});
|
|
2956
|
-
}
|
|
2957
|
-
}
|
|
2958
|
-
toggleOverlay(overlay, force) {
|
|
2959
|
-
var _a;
|
|
2960
|
-
const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
|
|
2961
|
-
if (newVisibility) {
|
|
2962
|
-
// Will trigger overlayRef() once the HTML is rendered
|
|
2963
|
-
this.overlayVisible = newVisibility;
|
|
2964
|
-
this.currentOverlay = overlay;
|
|
2965
|
-
this.setBodyScroll(overlay);
|
|
2966
|
-
}
|
|
2967
|
-
else {
|
|
2968
|
-
const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
|
|
2969
|
-
if (this.openAnimation && this.loadedAnimation) {
|
|
2970
|
-
this.openAnimation.reverse();
|
|
2971
|
-
this.loadedAnimation.reverse();
|
|
2972
|
-
// Delay hiding overlay until after the animation finishes
|
|
2973
|
-
Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
|
|
2974
|
-
if (activeToggler) {
|
|
2975
|
-
activeToggler.focus();
|
|
2976
|
-
}
|
|
2977
|
-
this.overlayVisible = newVisibility;
|
|
2978
|
-
this.setBodyScroll(overlay);
|
|
2979
|
-
});
|
|
2980
|
-
}
|
|
2981
|
-
}
|
|
2982
|
-
}
|
|
2983
|
-
/**
|
|
2984
|
-
* Disable or re-enable body scrolling, depending on whether overlay is visible or not
|
|
2985
|
-
*/
|
|
2986
|
-
setBodyScroll(overlay) {
|
|
2987
|
-
if (this.overlayVisible) {
|
|
2988
|
-
// @ts-ignore
|
|
2989
|
-
bodyScrollLock_esm.disableBodyScroll(overlay, { reserveScrollBarGap: true });
|
|
2990
|
-
}
|
|
2991
|
-
else {
|
|
2992
|
-
// @ts-ignore
|
|
2993
|
-
bodyScrollLock_esm.enableBodyScroll(overlay);
|
|
2994
|
-
}
|
|
2995
|
-
}
|
|
2996
|
-
toggleDropdown(force) {
|
|
2997
|
-
this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
|
|
2998
|
-
if (this.dropdownOpen) {
|
|
2999
|
-
requestAnimationFrame(() => {
|
|
3000
|
-
document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
|
|
3001
|
-
});
|
|
3002
|
-
}
|
|
3003
|
-
}
|
|
3004
|
-
handleWindowClick() {
|
|
3005
|
-
this.toggleDropdown(false);
|
|
3006
|
-
}
|
|
3007
|
-
registerIFrameResizer(iFrame) {
|
|
3008
|
-
if (!iFrame) {
|
|
3009
|
-
return;
|
|
3010
|
-
}
|
|
3011
|
-
iFrame.addEventListener('load', () => {
|
|
3012
|
-
var _a, _b, _c;
|
|
3013
|
-
iframeResizer.iframeResizer({
|
|
3014
|
-
heightCalculationMethod: 'taggedElement',
|
|
3015
|
-
scrolling: true,
|
|
3016
|
-
checkOrigin: false,
|
|
3017
|
-
}, iFrame);
|
|
3018
|
-
const duration = utils.prefersReducedMotion ? 0 : 300;
|
|
3019
|
-
this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
|
|
3020
|
-
(_b = iFrame.closest('[role=dialog]')) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
|
|
3021
|
-
(_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
|
|
3022
|
-
var _a;
|
|
3023
|
-
(_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3024
|
-
});
|
|
3025
|
-
});
|
|
3026
|
-
}
|
|
3027
|
-
/**
|
|
3028
|
-
* Reference function for the overlay element got called. It is either null (overlay closed)
|
|
3029
|
-
* or contains the overlay element as parameter.
|
|
3030
|
-
* @param e Overlay element or null
|
|
3031
|
-
* @returns void
|
|
3032
|
-
*/
|
|
3033
|
-
overlayRef(e) {
|
|
3034
|
-
if (!e) {
|
|
3035
|
-
return;
|
|
3036
|
-
}
|
|
3037
|
-
const duration = utils.prefersReducedMotion ? 0 : 500;
|
|
3038
|
-
this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
|
|
3039
|
-
duration,
|
|
3040
|
-
fill: 'forwards',
|
|
3041
|
-
});
|
|
3042
|
-
}
|
|
3043
|
-
handleKeyDown(event) {
|
|
3044
|
-
if (event.key.toLowerCase() === 'escape') {
|
|
3045
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3046
|
-
}
|
|
3047
|
-
}
|
|
3048
|
-
handleToggleDropdown() {
|
|
3049
|
-
this.toggleDropdown();
|
|
3050
|
-
}
|
|
3051
|
-
handleToggleOverlay() {
|
|
3052
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3053
|
-
}
|
|
3054
|
-
handleControlNavRef(element) {
|
|
3055
|
-
this.controlNavRef = element;
|
|
3056
|
-
this.checkConcatenation();
|
|
3057
|
-
}
|
|
3058
|
-
handleVisibleNavRef(element) {
|
|
3059
|
-
this.visibleNavRef = element;
|
|
3060
|
-
this.checkConcatenation();
|
|
3061
|
-
}
|
|
3062
|
-
render() {
|
|
3063
|
-
// There is something wrong entirely
|
|
3064
|
-
// eslint-disable-next-line @stencil-community/strict-boolean-conditions
|
|
3065
|
-
if (!store.state) {
|
|
3066
|
-
console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
|
|
3067
|
-
return null;
|
|
3068
|
-
}
|
|
3069
|
-
// Config is not loaded yet
|
|
3070
|
-
if (!store.state.localizedConfig) {
|
|
3071
|
-
return null;
|
|
3072
|
-
}
|
|
3073
|
-
// Config has loaded but there is no breadcrumbs config
|
|
3074
|
-
// eslint-disable-next-line @stencil-community/strict-boolean-conditions
|
|
3075
|
-
if (!store.state.localizedConfig.breadcrumb) {
|
|
3076
|
-
console.warn(`Internet Header: Current project "${store.state.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `, document.querySelector('swisspost-internet-breadcrumbs'), `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);
|
|
3077
|
-
return null;
|
|
3078
|
-
}
|
|
3079
|
-
const breadcrumbConfig = store.state.localizedConfig.breadcrumb;
|
|
3080
|
-
const items = this.customBreadcrumbItems !== undefined
|
|
3081
|
-
? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
|
|
3082
|
-
: breadcrumbConfig.items;
|
|
3083
|
-
return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "breadcrumbs" }, index.h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, index.h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, index.h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), index.h("nav", { "aria-label": breadcrumbConfig.a11yLabel, ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
|
|
3084
|
-
'breadcrumbs-nav': true,
|
|
3085
|
-
'visually-hidden': !this.refsReady,
|
|
3086
|
-
} }, index.h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), !this.hideButtons && (index.h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (index.h("button", { class: "btn btn-secondary btn-icon", key: button.text, "aria-expanded": `${Boolean(this.overlayVisible && this.currentOverlay === button.overlay)}`, onClick: () => this.toggleOverlay(button.overlay, true) }, index.h(svgIcon_component.SvgIcon, { name: button.svgIcon.name }), index.h("span", { class: "visually-hidden" }, button.text)))))), this.overlayVisible && (index.h(OverlayComponent, { overlayRef: e => e !== undefined && this.overlayRef(e), iFrameRef: e => e !== undefined && this.registerIFrameResizer(e), overlay: this.currentOverlay, onClick: () => this.handleToggleOverlay(), onKeyDown: (e) => this.handleKeyDown(e), closeButtonText: store.state.localizedConfig.header.translations.closeButtonText }))), index.h("slot", null)));
|
|
3087
|
-
}
|
|
3088
|
-
get host() { return index.getElement(this); }
|
|
3089
|
-
static get watchers() { return {
|
|
3090
|
-
"customItems": ["handleCustomConfigChange"]
|
|
3091
|
-
}; }
|
|
3092
|
-
};
|
|
3093
|
-
PostInternetBreadcrumbs.style = SwisspostInternetBreadcrumbsStyle0;
|
|
3094
|
-
|
|
3095
|
-
exports.PostInternetBreadcrumbs = PostInternetBreadcrumbs;
|