@oiz/stzh-components 3.1.0 → 3.2.0-beta1

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.
Files changed (673) hide show
  1. package/dist/cjs/{app-globals-0699ef40.js → app-globals-efe6d21d.js} +2 -2
  2. package/dist/cjs/{app-globals-0699ef40.js.map → app-globals-efe6d21d.js.map} +1 -1
  3. package/dist/cjs/index-92254d32.js +28 -16
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/stzh-accordion_3.cjs.entry.js +24 -8
  7. package/dist/cjs/stzh-accordion_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-anchornav.cjs.entry.js +4 -3
  10. package/dist/cjs/stzh-anchornav.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-app-bar.cjs.entry.js +48 -0
  12. package/dist/cjs/stzh-app-bar.cjs.entry.js.map +1 -0
  13. package/dist/cjs/stzh-appointments.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-card_2.cjs.entry.js +8 -2
  20. package/dist/cjs/stzh-card_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-chip.cjs.entry.js +22 -32
  25. package/dist/cjs/stzh-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-components.cjs.js +2 -2
  27. package/dist/cjs/stzh-contact-cv.cjs.entry.js +63 -0
  28. package/dist/cjs/stzh-contact-cv.cjs.entry.js.map +1 -0
  29. package/dist/cjs/stzh-contact.cjs.entry.js +5 -3
  30. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-container.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-container.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-cspace.cjs.entry.js +2 -2
  34. package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
  35. package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
  40. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  41. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
  44. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  45. package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-footer.cjs.entry.js +2 -2
  48. package/dist/cjs/stzh-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +27 -19
  50. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js.map +1 -1
  51. package/dist/cjs/stzh-header.cjs.entry.js +2 -2
  52. package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js.map +1 -1
  55. package/dist/cjs/stzh-iframe.cjs.entry.js +2881 -24
  56. package/dist/cjs/stzh-iframe.cjs.entry.js.map +1 -1
  57. package/dist/cjs/stzh-input.cjs.entry.js +8 -4
  58. package/dist/cjs/stzh-input.cjs.entry.js.map +1 -1
  59. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  60. package/dist/cjs/{stzh-list.cjs.entry.js → stzh-list_2.cjs.entry.js} +20 -1
  61. package/dist/cjs/stzh-list_2.cjs.entry.js.map +1 -0
  62. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  63. package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
  64. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  65. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +2 -2
  66. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js.map +1 -1
  67. package/dist/cjs/stzh-pagetitle.cjs.entry.js +2 -2
  68. package/dist/cjs/stzh-pagetitle.cjs.entry.js.map +1 -1
  69. package/dist/cjs/stzh-panorama.cjs.entry.js +1 -1
  70. package/dist/cjs/stzh-panorama.cjs.entry.js.map +1 -1
  71. package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +1 -1
  72. package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
  73. package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
  74. package/dist/cjs/stzh-popover_2.cjs.entry.js +90 -67
  75. package/dist/cjs/stzh-popover_2.cjs.entry.js.map +1 -1
  76. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  77. package/dist/cjs/stzh-ratio.cjs.entry.js +1 -1
  78. package/dist/cjs/stzh-ratio.cjs.entry.js.map +1 -1
  79. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  80. package/dist/cjs/stzh-scrollup.cjs.entry.js +6 -6
  81. package/dist/cjs/stzh-scrollup.cjs.entry.js.map +1 -1
  82. package/dist/cjs/stzh-search.cjs.entry.js +1 -1
  83. package/dist/cjs/stzh-section.cjs.entry.js +1 -1
  84. package/dist/cjs/stzh-section.cjs.entry.js.map +1 -1
  85. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
  86. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  87. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +9 -8
  88. package/dist/cjs/stzh-sticky-actions.cjs.entry.js.map +1 -1
  89. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  90. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  91. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  92. package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
  93. package/dist/cjs/stzh-toast.cjs.entry.js +1 -1
  94. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  95. package/dist/cjs/stzh-tooltip.cjs.entry.js +2 -2
  96. package/dist/cjs/stzh-tooltip.cjs.entry.js.map +1 -1
  97. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  98. package/dist/cjs/stzh-upload.cjs.entry.js +3101 -7
  99. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  100. package/dist/cjs/stzh-vbz-carousel.cjs.entry.js +1 -1
  101. package/dist/cjs/stzh-vbz-carousel.cjs.entry.js.map +1 -1
  102. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +25 -0
  103. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js.map +1 -0
  104. package/dist/cjs/stzh-vbz-intro.cjs.entry.js +58 -0
  105. package/dist/cjs/stzh-vbz-intro.cjs.entry.js.map +1 -0
  106. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +1 -1
  107. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js.map +1 -1
  108. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +33 -44
  109. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js.map +1 -1
  110. package/dist/cjs/{utils-d0fff87f.js → utils-d091c010.js} +40 -9
  111. package/dist/cjs/utils-d091c010.js.map +1 -0
  112. package/dist/collection/assets/i18n/de.json +22 -7
  113. package/dist/collection/assets/i18n/en.json +22 -7
  114. package/dist/collection/assets/media/icons/mono/construction.svg +1 -1
  115. package/dist/collection/assets/media/icons/mono/crop.svg +1 -0
  116. package/dist/collection/assets/meta/icons-preview.html +6 -1
  117. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/image/retreive-pdf +5 -0
  118. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/ping +3 -0
  119. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/url +3 -0
  120. package/dist/collection/assets/mock/appl/mobiscan/rs/auth +4 -0
  121. package/dist/collection/assets/mock/appl/mobiscan/rs/config +5 -0
  122. package/dist/collection/assets/vendors/iframe-resizer/iframeResizer.contentWindow.js +1311 -0
  123. package/dist/collection/collection-manifest.json +4 -0
  124. package/dist/collection/components/stzh-accordion/stzh-accordion.css +39 -0
  125. package/dist/collection/components/stzh-accordion/stzh-accordion.js +20 -0
  126. package/dist/collection/components/stzh-accordion/stzh-accordion.js.map +1 -1
  127. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.css +5 -0
  128. package/dist/collection/components/stzh-anchornav/stzh-anchornav.js +5 -4
  129. package/dist/collection/components/stzh-anchornav/stzh-anchornav.js.map +1 -1
  130. package/dist/collection/components/stzh-app-bar/stzh-app-bar.css +253 -0
  131. package/dist/collection/components/stzh-app-bar/stzh-app-bar.e2e.js +16 -0
  132. package/dist/collection/components/stzh-app-bar/stzh-app-bar.e2e.js.map +1 -0
  133. package/dist/collection/components/stzh-app-bar/stzh-app-bar.js +54 -0
  134. package/dist/collection/components/stzh-app-bar/stzh-app-bar.js.map +1 -0
  135. package/dist/collection/components/stzh-app-bar/stzh-app-bar.stories.js +45 -0
  136. package/dist/collection/components/stzh-cardlist/stzh-cardlist.css +5 -0
  137. package/dist/collection/components/stzh-cardlist/stzh-cardlist.js +9 -2
  138. package/dist/collection/components/stzh-cardlist/stzh-cardlist.js.map +1 -1
  139. package/dist/collection/components/stzh-chip/stzh-chip.js +23 -33
  140. package/dist/collection/components/stzh-chip/stzh-chip.js.map +1 -1
  141. package/dist/collection/components/stzh-contact/stzh-contact.css +47 -15
  142. package/dist/collection/components/stzh-contact/stzh-contact.js +21 -1
  143. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  144. package/dist/collection/components/stzh-contact/stzh-contact.stories.js +68 -49
  145. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.css +196 -0
  146. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.e2e.js +16 -0
  147. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.e2e.js.map +1 -0
  148. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.js +163 -0
  149. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.js.map +1 -0
  150. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.localization.js +2 -0
  151. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.localization.js.map +1 -0
  152. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.stories.js +52 -0
  153. package/dist/collection/components/stzh-container/stzh-container.css +2 -1
  154. package/dist/collection/components/stzh-cspace/stzh-cspace.css +53 -0
  155. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +1 -1
  156. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
  157. package/dist/collection/components/stzh-footer/stzh-footer.css +10 -2
  158. package/dist/collection/components/stzh-header/stzh-header.css +19 -3
  159. package/dist/collection/components/stzh-homepage-service-highlights/stzh-homepage-service-highlights.css +14 -3
  160. package/dist/collection/components/stzh-homepage-service-highlights/stzh-homepage-service-highlights.stories.js +1 -1
  161. package/dist/collection/components/stzh-iframe/stzh-iframe.css +8 -1
  162. package/dist/collection/components/stzh-iframe/stzh-iframe.js +139 -26
  163. package/dist/collection/components/stzh-iframe/stzh-iframe.js.map +1 -1
  164. package/dist/collection/components/stzh-iframe/stzh-iframe.stories.js +30 -11
  165. package/dist/collection/components/stzh-input/stzh-input.css +1 -1
  166. package/dist/collection/components/stzh-input/stzh-input.js +8 -3
  167. package/dist/collection/components/stzh-input/stzh-input.js.map +1 -1
  168. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.css +2 -1
  169. package/dist/collection/components/stzh-pagetitle-home/stzh-pagetitle-home.css +19 -0
  170. package/dist/collection/components/stzh-pagination/stzh-pagination.css +11 -1
  171. package/dist/collection/components/stzh-pagination/stzh-pagination.js +43 -6
  172. package/dist/collection/components/stzh-pagination/stzh-pagination.js.map +1 -1
  173. package/dist/collection/components/stzh-panorama/stzh-panorama.js +1 -1
  174. package/dist/collection/components/stzh-panorama/stzh-panorama.js.map +1 -1
  175. package/dist/collection/components/stzh-popover/stzh-popover.js +101 -75
  176. package/dist/collection/components/stzh-popover/stzh-popover.js.map +1 -1
  177. package/dist/collection/components/stzh-ratio/stzh-ratio.css +6 -0
  178. package/dist/collection/components/stzh-richtext/stzh-richtext.js +28 -20
  179. package/dist/collection/components/stzh-richtext/stzh-richtext.js.map +1 -1
  180. package/dist/collection/components/stzh-richtext/stzh-richtext.stories.js +15 -6
  181. package/dist/collection/components/stzh-scrollup/stzh-scrollup.js +6 -6
  182. package/dist/collection/components/stzh-scrollup/stzh-scrollup.js.map +1 -1
  183. package/dist/collection/components/stzh-section/stzh-section.css +134 -1
  184. package/dist/collection/components/stzh-section/stzh-section.js +2 -2
  185. package/dist/collection/components/stzh-section/stzh-section.js.map +1 -1
  186. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +206 -22
  187. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.css +4 -0
  188. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js +11 -9
  189. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js.map +1 -1
  190. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +8 -4
  191. package/dist/collection/components/stzh-upload/models/stzh-photographing-configuration.dto.js +2 -0
  192. package/dist/collection/components/stzh-upload/models/stzh-photographing-configuration.dto.js.map +1 -0
  193. package/dist/collection/components/stzh-upload/models/stzh-photographing-pdf-file.dto.js +3 -0
  194. package/dist/collection/components/stzh-upload/models/stzh-photographing-pdf-file.dto.js.map +1 -0
  195. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js +2 -0
  196. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js.map +1 -0
  197. package/dist/collection/components/stzh-upload/stzh-upload.css +84 -11
  198. package/dist/collection/components/stzh-upload/stzh-upload.js +274 -4
  199. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  200. package/dist/collection/components/stzh-upload/stzh-upload.localization.js.map +1 -1
  201. package/dist/collection/components/stzh-upload/stzh-upload.stories.js +13 -7
  202. package/dist/collection/components/stzh-vbz-carousel/stzh-vbz-carousel.css +6 -4
  203. package/dist/collection/components/stzh-vbz-carousel/stzh-vbz-carousel.stories.js +2 -5
  204. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.css +192 -0
  205. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.e2e.js +18 -0
  206. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.e2e.js.map +1 -0
  207. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +26 -0
  208. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js.map +1 -0
  209. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.stories.js +39 -0
  210. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.css +341 -0
  211. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.e2e.js +16 -0
  212. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.e2e.js.map +1 -0
  213. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js +110 -0
  214. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js.map +1 -0
  215. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.localization.js +2 -0
  216. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.localization.js.map +1 -0
  217. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.stories.js +75 -0
  218. package/dist/collection/components/stzh-vbz-linechip/stzh-vbz-linechip.css +3 -3
  219. package/dist/collection/components/stzh-vbz-majorticker/stzh-vbz-majorticker.stories.js +8 -10
  220. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.css +17 -21
  221. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +34 -45
  222. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js.map +1 -1
  223. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.localization.js.map +1 -1
  224. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.stories.js +10 -12
  225. package/dist/collection/index.js.map +1 -1
  226. package/dist/collection/pages/mkz/mkz.e2e.js +16 -0
  227. package/dist/collection/pages/mkz/mkz.e2e.js.map +1 -0
  228. package/dist/collection/pages/upload-photographing/upload-photographing.e2e.js +16 -0
  229. package/dist/collection/pages/upload-photographing/upload-photographing.e2e.js.map +1 -0
  230. package/dist/collection/patterns/contact-accordion/contact-accordion.e2e.js +21 -0
  231. package/dist/collection/patterns/contact-accordion/contact-accordion.e2e.js.map +1 -0
  232. package/dist/collection/patterns/poi/poi.e2e.js +21 -0
  233. package/dist/collection/patterns/poi/poi.e2e.js.map +1 -0
  234. package/dist/collection/utils/utils.js +38 -8
  235. package/dist/collection/utils/utils.js.map +1 -1
  236. package/dist/components/index.js +1 -1
  237. package/dist/components/index2.js.map +1 -1
  238. package/dist/components/stzh-accordion-item2.js +1 -1
  239. package/dist/components/stzh-accordion-item2.js.map +1 -1
  240. package/dist/components/stzh-accordion2.js +17 -1
  241. package/dist/components/stzh-accordion2.js.map +1 -1
  242. package/dist/components/stzh-anchornav.js +4 -3
  243. package/dist/components/stzh-anchornav.js.map +1 -1
  244. package/dist/components/stzh-app-bar.d.ts +11 -0
  245. package/dist/components/stzh-app-bar.js +60 -0
  246. package/dist/components/stzh-app-bar.js.map +1 -0
  247. package/dist/components/stzh-cardlist2.js +9 -2
  248. package/dist/components/stzh-cardlist2.js.map +1 -1
  249. package/dist/components/stzh-chip2.js +22 -32
  250. package/dist/components/stzh-chip2.js.map +1 -1
  251. package/dist/components/stzh-contact-cv.d.ts +11 -0
  252. package/dist/components/stzh-contact-cv.js +102 -0
  253. package/dist/components/stzh-contact-cv.js.map +1 -0
  254. package/dist/components/stzh-contact.js +5 -2
  255. package/dist/components/stzh-contact.js.map +1 -1
  256. package/dist/components/stzh-container.js +1 -1
  257. package/dist/components/stzh-container.js.map +1 -1
  258. package/dist/components/stzh-cspace.js +1 -1
  259. package/dist/components/stzh-cspace.js.map +1 -1
  260. package/dist/components/stzh-datepicker2.js.map +1 -1
  261. package/dist/components/stzh-dialog.js +1 -226
  262. package/dist/components/stzh-dialog.js.map +1 -1
  263. package/dist/components/stzh-dialog2.js +230 -0
  264. package/dist/components/stzh-dialog2.js.map +1 -0
  265. package/dist/components/stzh-footer.js +1 -1
  266. package/dist/components/stzh-footer.js.map +1 -1
  267. package/dist/components/stzh-header.js +1 -1
  268. package/dist/components/stzh-header.js.map +1 -1
  269. package/dist/components/stzh-homepage-service-highlights.js +1 -1
  270. package/dist/components/stzh-homepage-service-highlights.js.map +1 -1
  271. package/dist/components/stzh-iframe2.js +2883 -23
  272. package/dist/components/stzh-iframe2.js.map +1 -1
  273. package/dist/components/stzh-input2.js +9 -4
  274. package/dist/components/stzh-input2.js.map +1 -1
  275. package/dist/components/stzh-list-item.js +1 -34
  276. package/dist/components/stzh-list-item.js.map +1 -1
  277. package/dist/{esm/stzh-list-item.entry.js → components/stzh-list-item2.js} +24 -9
  278. package/dist/components/stzh-list-item2.js.map +1 -0
  279. package/dist/components/stzh-list.js +1 -36
  280. package/dist/components/stzh-list.js.map +1 -1
  281. package/dist/{esm/stzh-list.entry.js → components/stzh-list2.js} +26 -9
  282. package/dist/components/stzh-list2.js.map +1 -0
  283. package/dist/components/stzh-pagetitle-home.js +1 -1
  284. package/dist/components/stzh-pagetitle-home.js.map +1 -1
  285. package/dist/components/stzh-pagetitle.js +1 -1
  286. package/dist/components/stzh-pagetitle.js.map +1 -1
  287. package/dist/components/stzh-pagination2.js +9 -6
  288. package/dist/components/stzh-pagination2.js.map +1 -1
  289. package/dist/components/stzh-panorama.js +1 -1
  290. package/dist/components/stzh-panorama.js.map +1 -1
  291. package/dist/components/stzh-popover2.js +93 -67
  292. package/dist/components/stzh-popover2.js.map +1 -1
  293. package/dist/components/stzh-ratio2.js +1 -1
  294. package/dist/components/stzh-ratio2.js.map +1 -1
  295. package/dist/components/stzh-richtext2.js +26 -18
  296. package/dist/components/stzh-richtext2.js.map +1 -1
  297. package/dist/components/stzh-scrollup.js +5 -5
  298. package/dist/components/stzh-scrollup.js.map +1 -1
  299. package/dist/components/stzh-section.js +1 -1
  300. package/dist/components/stzh-section.js.map +1 -1
  301. package/dist/components/stzh-share2.js +1 -1
  302. package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
  303. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  304. package/dist/components/stzh-sticky-actions.js +10 -8
  305. package/dist/components/stzh-sticky-actions.js.map +1 -1
  306. package/dist/components/stzh-tooltip2.js +1 -1
  307. package/dist/components/stzh-tooltip2.js.map +1 -1
  308. package/dist/components/stzh-upload.js +3127 -6
  309. package/dist/components/stzh-upload.js.map +1 -1
  310. package/dist/components/stzh-vbz-carousel.js +1 -1
  311. package/dist/components/stzh-vbz-carousel.js.map +1 -1
  312. package/dist/components/stzh-vbz-connection-finder.d.ts +11 -0
  313. package/dist/components/stzh-vbz-connection-finder.js +38 -0
  314. package/dist/components/stzh-vbz-connection-finder.js.map +1 -0
  315. package/dist/components/stzh-vbz-intro.d.ts +11 -0
  316. package/dist/components/stzh-vbz-intro.js +100 -0
  317. package/dist/components/stzh-vbz-intro.js.map +1 -0
  318. package/dist/components/stzh-vbz-linechip2.js +1 -1
  319. package/dist/components/stzh-vbz-linechip2.js.map +1 -1
  320. package/dist/components/stzh-vbz-majorticker.js +1 -1
  321. package/dist/components/stzh-vbz-ticker.js +33 -44
  322. package/dist/components/stzh-vbz-ticker.js.map +1 -1
  323. package/dist/components/utils.js +39 -9
  324. package/dist/components/utils.js.map +1 -1
  325. package/dist/esm/{app-globals-ab5b077d.js → app-globals-93678901.js} +2 -2
  326. package/dist/esm/{app-globals-ab5b077d.js.map → app-globals-93678901.js.map} +1 -1
  327. package/dist/esm/index-e3050b18.js +28 -16
  328. package/dist/esm/index.js.map +1 -1
  329. package/dist/esm/loader.js +2 -2
  330. package/dist/esm/stzh-accordion_3.entry.js +25 -9
  331. package/dist/esm/stzh-accordion_3.entry.js.map +1 -1
  332. package/dist/esm/stzh-actions.entry.js +1 -1
  333. package/dist/esm/stzh-anchornav.entry.js +4 -3
  334. package/dist/esm/stzh-anchornav.entry.js.map +1 -1
  335. package/dist/esm/stzh-app-bar.entry.js +44 -0
  336. package/dist/esm/stzh-app-bar.entry.js.map +1 -0
  337. package/dist/esm/stzh-appointments.entry.js +1 -1
  338. package/dist/esm/stzh-audio.entry.js +1 -1
  339. package/dist/esm/stzh-badge_3.entry.js +1 -1
  340. package/dist/esm/stzh-card-navigation.entry.js +1 -1
  341. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  342. package/dist/esm/stzh-card-superteaser.entry.js +1 -1
  343. package/dist/esm/stzh-card_2.entry.js +8 -2
  344. package/dist/esm/stzh-card_2.entry.js.map +1 -1
  345. package/dist/esm/stzh-carousel.entry.js +1 -1
  346. package/dist/esm/stzh-checkbox.entry.js +1 -1
  347. package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
  348. package/dist/esm/stzh-chip.entry.js +22 -32
  349. package/dist/esm/stzh-chip.entry.js.map +1 -1
  350. package/dist/esm/stzh-components.js +2 -2
  351. package/dist/esm/stzh-contact-cv.entry.js +59 -0
  352. package/dist/esm/stzh-contact-cv.entry.js.map +1 -0
  353. package/dist/esm/stzh-contact.entry.js +5 -3
  354. package/dist/esm/stzh-contact.entry.js.map +1 -1
  355. package/dist/esm/stzh-container.entry.js +1 -1
  356. package/dist/esm/stzh-container.entry.js.map +1 -1
  357. package/dist/esm/stzh-cspace.entry.js +2 -2
  358. package/dist/esm/stzh-cspace.entry.js.map +1 -1
  359. package/dist/esm/stzh-cta.entry.js +1 -1
  360. package/dist/esm/stzh-datatable.entry.js +1 -1
  361. package/dist/esm/stzh-datepicker_3.entry.js +1 -1
  362. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  363. package/dist/esm/stzh-daterange.entry.js +1 -1
  364. package/dist/esm/stzh-details.entry.js +1 -1
  365. package/dist/esm/stzh-dialog.entry.js +1 -1
  366. package/dist/esm/stzh-dialog.entry.js.map +1 -1
  367. package/dist/esm/stzh-disturber.entry.js +1 -1
  368. package/dist/esm/stzh-dropdown.entry.js +1 -1
  369. package/dist/esm/stzh-eventinfo.entry.js +1 -1
  370. package/dist/esm/stzh-figure.entry.js +1 -1
  371. package/dist/esm/stzh-footer.entry.js +2 -2
  372. package/dist/esm/stzh-footer.entry.js.map +1 -1
  373. package/dist/esm/stzh-ghettobox_3.entry.js +27 -19
  374. package/dist/esm/stzh-ghettobox_3.entry.js.map +1 -1
  375. package/dist/esm/stzh-header.entry.js +2 -2
  376. package/dist/esm/stzh-header.entry.js.map +1 -1
  377. package/dist/esm/stzh-homepage-service-highlights.entry.js +1 -1
  378. package/dist/esm/stzh-homepage-service-highlights.entry.js.map +1 -1
  379. package/dist/esm/stzh-iframe.entry.js +2881 -24
  380. package/dist/esm/stzh-iframe.entry.js.map +1 -1
  381. package/dist/esm/stzh-input.entry.js +8 -4
  382. package/dist/esm/stzh-input.entry.js.map +1 -1
  383. package/dist/esm/stzh-link.entry.js +1 -1
  384. package/dist/esm/stzh-list_2.entry.js +41 -0
  385. package/dist/esm/stzh-list_2.entry.js.map +1 -0
  386. package/dist/esm/stzh-menu_2.entry.js +1 -1
  387. package/dist/esm/stzh-pagecontent.entry.js +1 -1
  388. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  389. package/dist/esm/stzh-pagetitle-home.entry.js +2 -2
  390. package/dist/esm/stzh-pagetitle-home.entry.js.map +1 -1
  391. package/dist/esm/stzh-pagetitle.entry.js +2 -2
  392. package/dist/esm/stzh-pagetitle.entry.js.map +1 -1
  393. package/dist/esm/stzh-panorama.entry.js +1 -1
  394. package/dist/esm/stzh-panorama.entry.js.map +1 -1
  395. package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
  396. package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
  397. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  398. package/dist/esm/stzh-popover_2.entry.js +91 -68
  399. package/dist/esm/stzh-popover_2.entry.js.map +1 -1
  400. package/dist/esm/stzh-print_2.entry.js +1 -1
  401. package/dist/esm/stzh-ratio.entry.js +1 -1
  402. package/dist/esm/stzh-ratio.entry.js.map +1 -1
  403. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  404. package/dist/esm/stzh-scrollup.entry.js +6 -6
  405. package/dist/esm/stzh-scrollup.entry.js.map +1 -1
  406. package/dist/esm/stzh-search.entry.js +1 -1
  407. package/dist/esm/stzh-section.entry.js +1 -1
  408. package/dist/esm/stzh-section.entry.js.map +1 -1
  409. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
  410. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  411. package/dist/esm/stzh-sticky-actions.entry.js +9 -8
  412. package/dist/esm/stzh-sticky-actions.entry.js.map +1 -1
  413. package/dist/esm/stzh-sticky.entry.js +1 -1
  414. package/dist/esm/stzh-table.entry.js +1 -1
  415. package/dist/esm/stzh-textandimage.entry.js +1 -1
  416. package/dist/esm/stzh-timeline-item.entry.js +1 -1
  417. package/dist/esm/stzh-toast.entry.js +1 -1
  418. package/dist/esm/stzh-toggle.entry.js +1 -1
  419. package/dist/esm/stzh-tooltip.entry.js +2 -2
  420. package/dist/esm/stzh-tooltip.entry.js.map +1 -1
  421. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  422. package/dist/esm/stzh-upload.entry.js +3098 -4
  423. package/dist/esm/stzh-upload.entry.js.map +1 -1
  424. package/dist/esm/stzh-vbz-carousel.entry.js +1 -1
  425. package/dist/esm/stzh-vbz-carousel.entry.js.map +1 -1
  426. package/dist/esm/stzh-vbz-connection-finder.entry.js +21 -0
  427. package/dist/esm/stzh-vbz-connection-finder.entry.js.map +1 -0
  428. package/dist/esm/stzh-vbz-intro.entry.js +54 -0
  429. package/dist/esm/stzh-vbz-intro.entry.js.map +1 -0
  430. package/dist/esm/stzh-vbz-linechip.entry.js +1 -1
  431. package/dist/esm/stzh-vbz-linechip.entry.js.map +1 -1
  432. package/dist/esm/stzh-vbz-ticker.entry.js +33 -44
  433. package/dist/esm/stzh-vbz-ticker.entry.js.map +1 -1
  434. package/dist/esm/{utils-54aead01.js → utils-90658cfe.js} +40 -10
  435. package/dist/esm/utils-90658cfe.js.map +1 -0
  436. package/dist/stzh-components/assets/i18n/de.json +22 -7
  437. package/dist/stzh-components/assets/i18n/en.json +22 -7
  438. package/dist/stzh-components/assets/media/icons/mono/construction.svg +1 -1
  439. package/dist/stzh-components/assets/media/icons/mono/crop.svg +1 -0
  440. package/dist/stzh-components/assets/meta/icons-preview.html +6 -1
  441. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/image/retreive-pdf +5 -0
  442. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/ping +3 -0
  443. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/url +3 -0
  444. package/dist/stzh-components/assets/mock/appl/mobiscan/rs/auth +4 -0
  445. package/dist/stzh-components/assets/mock/appl/mobiscan/rs/config +5 -0
  446. package/dist/stzh-components/assets/vendors/iframe-resizer/iframeResizer.contentWindow.js +1311 -0
  447. package/dist/stzh-components/index.esm.js.map +1 -1
  448. package/dist/stzh-components/p-05127d71.entry.js +2 -0
  449. package/dist/stzh-components/p-05127d71.entry.js.map +1 -0
  450. package/dist/stzh-components/{p-9684b22d.entry.js → p-09480ffe.entry.js} +2 -2
  451. package/dist/stzh-components/{p-c877d32c.entry.js → p-0b0c7cb8.entry.js} +2 -2
  452. package/dist/stzh-components/p-0b0c7cb8.entry.js.map +1 -0
  453. package/dist/stzh-components/{p-161ae3d1.entry.js → p-0b15d79b.entry.js} +2 -2
  454. package/dist/stzh-components/p-109a885b.entry.js +2 -0
  455. package/dist/stzh-components/{p-2d7966cf.entry.js.map → p-109a885b.entry.js.map} +1 -1
  456. package/dist/stzh-components/{p-c1cd45e1.entry.js → p-12bffe97.entry.js} +2 -2
  457. package/dist/stzh-components/p-13cd7748.entry.js +2 -0
  458. package/dist/stzh-components/p-13cd7748.entry.js.map +1 -0
  459. package/dist/stzh-components/{p-27d5ad01.entry.js → p-16a2675e.entry.js} +2 -2
  460. package/dist/stzh-components/{p-75b79adf.entry.js → p-1cbf5c84.entry.js} +2 -2
  461. package/dist/stzh-components/p-1cbf5c84.entry.js.map +1 -0
  462. package/dist/stzh-components/{p-20db8d01.entry.js → p-1fd858a2.entry.js} +2 -2
  463. package/dist/stzh-components/p-1fd858a2.entry.js.map +1 -0
  464. package/dist/stzh-components/p-21c351b4.entry.js +2 -0
  465. package/dist/stzh-components/p-21c351b4.entry.js.map +1 -0
  466. package/dist/stzh-components/{p-59a1a257.entry.js → p-21f7064d.entry.js} +2 -2
  467. package/dist/stzh-components/p-21f7064d.entry.js.map +1 -0
  468. package/dist/stzh-components/p-23de5712.entry.js +2 -0
  469. package/dist/stzh-components/p-23de5712.entry.js.map +1 -0
  470. package/dist/stzh-components/{p-0fb40e48.entry.js → p-24ea178a.entry.js} +2 -2
  471. package/dist/stzh-components/{p-3f0d3919.entry.js → p-2812752a.entry.js} +2 -2
  472. package/dist/stzh-components/{p-68d33cd3.entry.js → p-29c1cb5c.entry.js} +2 -2
  473. package/dist/stzh-components/p-2d405b51.js +2 -0
  474. package/dist/stzh-components/{p-cc1f8acc.js.map → p-2d405b51.js.map} +1 -1
  475. package/dist/stzh-components/{p-801af922.entry.js → p-30a522e0.entry.js} +2 -2
  476. package/dist/stzh-components/{p-d10a6897.entry.js → p-30a7c058.entry.js} +2 -2
  477. package/dist/stzh-components/{p-7ca981d1.entry.js → p-3261eab4.entry.js} +2 -2
  478. package/dist/stzh-components/{p-5d4a2df0.entry.js → p-32cb5b94.entry.js} +2 -2
  479. package/dist/stzh-components/{p-97df1d9f.entry.js → p-346d2f3d.entry.js} +2 -2
  480. package/dist/stzh-components/p-346f8661.entry.js +2 -0
  481. package/dist/stzh-components/p-346f8661.entry.js.map +1 -0
  482. package/dist/stzh-components/{p-8f1dbd3b.entry.js → p-3912a256.entry.js} +2 -2
  483. package/dist/stzh-components/{p-6fdc4c74.entry.js → p-39acdb68.entry.js} +2 -2
  484. package/dist/stzh-components/p-3cc6f193.entry.js +2 -0
  485. package/dist/stzh-components/p-3cc6f193.entry.js.map +1 -0
  486. package/dist/stzh-components/{p-204a6e41.entry.js → p-466263ff.entry.js} +2 -2
  487. package/dist/stzh-components/p-466263ff.entry.js.map +1 -0
  488. package/dist/stzh-components/p-49d356da.entry.js +2 -0
  489. package/dist/stzh-components/p-49d356da.entry.js.map +1 -0
  490. package/dist/stzh-components/p-585551c1.entry.js +2 -0
  491. package/dist/stzh-components/p-585551c1.entry.js.map +1 -0
  492. package/dist/stzh-components/{p-edf77853.entry.js → p-63c76fd5.entry.js} +2 -2
  493. package/dist/stzh-components/{p-533fea0b.entry.js → p-67e61035.entry.js} +2 -2
  494. package/dist/stzh-components/p-6e0c8764.entry.js +2 -0
  495. package/dist/stzh-components/p-6e0c8764.entry.js.map +1 -0
  496. package/dist/stzh-components/{p-80fafa1d.entry.js → p-6fffe2c8.entry.js} +2 -2
  497. package/dist/stzh-components/p-7b14ef7a.entry.js +2 -0
  498. package/dist/stzh-components/p-7b14ef7a.entry.js.map +1 -0
  499. package/dist/stzh-components/{p-eb79f3ed.entry.js → p-82c53e4f.entry.js} +2 -2
  500. package/dist/stzh-components/p-85143b35.entry.js +2 -0
  501. package/dist/stzh-components/p-85143b35.entry.js.map +1 -0
  502. package/dist/stzh-components/{p-8e0a2441.entry.js → p-87f3052b.entry.js} +2 -2
  503. package/dist/stzh-components/{p-b566a2c0.entry.js → p-8a82bf60.entry.js} +2 -2
  504. package/dist/stzh-components/{p-9b43127f.entry.js → p-8b04698a.entry.js} +2 -2
  505. package/dist/stzh-components/p-8b3828e7.entry.js +2 -0
  506. package/dist/stzh-components/p-8b3828e7.entry.js.map +1 -0
  507. package/dist/stzh-components/{p-4db427d5.entry.js → p-8c4d543d.entry.js} +2 -2
  508. package/dist/stzh-components/p-8c4d543d.entry.js.map +1 -0
  509. package/dist/stzh-components/p-90772ec6.entry.js +2 -0
  510. package/dist/stzh-components/p-90772ec6.entry.js.map +1 -0
  511. package/dist/stzh-components/p-9bc12eff.entry.js +2 -0
  512. package/dist/stzh-components/p-9bc12eff.entry.js.map +1 -0
  513. package/dist/stzh-components/{p-7754870d.entry.js → p-9c1b3929.entry.js} +2 -2
  514. package/dist/stzh-components/{p-5c3fddec.entry.js → p-9c643610.entry.js} +2 -2
  515. package/dist/stzh-components/{p-5c3fddec.entry.js.map → p-9c643610.entry.js.map} +1 -1
  516. package/dist/stzh-components/{p-4f49450d.entry.js → p-9e4f0532.entry.js} +2 -2
  517. package/dist/stzh-components/p-9e4f0532.entry.js.map +1 -0
  518. package/dist/stzh-components/{p-cff05968.entry.js → p-a249f3f6.entry.js} +2 -2
  519. package/dist/stzh-components/{p-a2e9723b.entry.js → p-aa3e4203.entry.js} +2 -2
  520. package/dist/stzh-components/{p-f5821678.entry.js → p-ab5ee55b.entry.js} +2 -2
  521. package/dist/stzh-components/{p-ce99f5e8.entry.js → p-acef653a.entry.js} +2 -2
  522. package/dist/stzh-components/{p-c5dbf7ad.entry.js → p-b03f41c3.entry.js} +2 -2
  523. package/dist/stzh-components/p-b273f95c.entry.js +2 -0
  524. package/dist/stzh-components/p-b273f95c.entry.js.map +1 -0
  525. package/dist/stzh-components/{p-72c375c7.entry.js → p-b397337c.entry.js} +2 -2
  526. package/dist/stzh-components/p-b397337c.entry.js.map +1 -0
  527. package/dist/stzh-components/{p-ef21f4dc.entry.js → p-ba716237.entry.js} +2 -2
  528. package/dist/stzh-components/p-ba716237.entry.js.map +1 -0
  529. package/dist/stzh-components/p-bcaef6d7.entry.js +2 -0
  530. package/dist/stzh-components/{p-012dc71e.entry.js.map → p-bcaef6d7.entry.js.map} +1 -1
  531. package/dist/stzh-components/p-bdff55a6.entry.js +2 -0
  532. package/dist/stzh-components/{p-78a16599.entry.js.map → p-bdff55a6.entry.js.map} +1 -1
  533. package/dist/stzh-components/{p-ee82f53c.entry.js → p-c169f243.entry.js} +2 -2
  534. package/dist/stzh-components/{p-7d030c40.entry.js → p-c3816fd3.entry.js} +2 -2
  535. package/dist/stzh-components/{p-7aac960b.entry.js → p-ce6dbd52.entry.js} +2 -2
  536. package/dist/stzh-components/{p-50c1632e.entry.js → p-d0ecdd5b.entry.js} +2 -2
  537. package/dist/stzh-components/{p-50c1632e.entry.js.map → p-d0ecdd5b.entry.js.map} +1 -1
  538. package/dist/stzh-components/{p-722b9e40.entry.js → p-d46bbc8c.entry.js} +2 -2
  539. package/dist/stzh-components/{p-c9eecee7.entry.js → p-d48ecb2f.entry.js} +2 -2
  540. package/dist/stzh-components/{p-ea152ff3.entry.js → p-d7697cf8.entry.js} +2 -2
  541. package/dist/stzh-components/p-d789647a.entry.js +2 -0
  542. package/dist/stzh-components/p-d789647a.entry.js.map +1 -0
  543. package/dist/stzh-components/{p-472b3327.entry.js → p-d7f1ed07.entry.js} +2 -2
  544. package/dist/stzh-components/{p-afde3fcd.entry.js → p-d8265b82.entry.js} +2 -2
  545. package/dist/stzh-components/{p-afde3fcd.entry.js.map → p-d8265b82.entry.js.map} +1 -1
  546. package/dist/stzh-components/{p-56346206.entry.js → p-d9fa718c.entry.js} +2 -2
  547. package/dist/stzh-components/p-e30a5acc.js +2 -0
  548. package/dist/stzh-components/p-e30a5acc.js.map +1 -0
  549. package/dist/stzh-components/{p-f4ed8d7e.entry.js → p-ef47c976.entry.js} +2 -2
  550. package/dist/stzh-components/p-ef47c976.entry.js.map +1 -0
  551. package/dist/stzh-components/{p-66007952.entry.js → p-f34720e2.entry.js} +2 -2
  552. package/dist/stzh-components/p-f34720e2.entry.js.map +1 -0
  553. package/dist/stzh-components/p-ffbb7594.entry.js +2 -0
  554. package/dist/stzh-components/p-ffbb7594.entry.js.map +1 -0
  555. package/dist/stzh-components/stzh-components.css +206 -22
  556. package/dist/stzh-components/stzh-components.esm.js +1 -1
  557. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  558. package/dist/types/components/stzh-accordion/stzh-accordion.d.ts +3 -0
  559. package/dist/types/components/stzh-app-bar/stzh-app-bar.d.ts +15 -0
  560. package/dist/types/components/stzh-cardlist/stzh-cardlist.d.ts +1 -0
  561. package/dist/types/components/stzh-chip/stzh-chip.d.ts +1 -1
  562. package/dist/types/components/stzh-contact/stzh-contact.d.ts +2 -0
  563. package/dist/types/components/stzh-contact-cv/stzh-contact-cv.d.ts +23 -0
  564. package/dist/types/components/stzh-contact-cv/stzh-contact-cv.localization.d.ts +8 -0
  565. package/dist/types/components/stzh-datepicker/stzh-datepicker.d.ts +1 -1
  566. package/dist/types/components/stzh-iframe/stzh-iframe.d.ts +9 -1
  567. package/dist/types/components/stzh-input/stzh-input.d.ts +3 -0
  568. package/dist/types/components/stzh-pagination/stzh-pagination.d.ts +4 -0
  569. package/dist/types/components/stzh-popover/stzh-popover.d.ts +12 -3
  570. package/dist/types/components/stzh-section/stzh-section.d.ts +1 -1
  571. package/dist/types/components/stzh-sticky-actions/stzh-sticky-actions.d.ts +1 -0
  572. package/dist/types/components/stzh-upload/models/stzh-photographing-configuration.dto.d.ts +5 -0
  573. package/dist/types/components/stzh-upload/models/stzh-photographing-pdf-file.dto.d.ts +5 -0
  574. package/dist/types/components/stzh-upload/models/stzh-photographing-url-details.dto.d.ts +4 -0
  575. package/dist/types/components/stzh-upload/stzh-upload.d.ts +36 -0
  576. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +6 -0
  577. package/dist/types/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.d.ts +7 -0
  578. package/dist/types/components/stzh-vbz-intro/stzh-vbz-intro.d.ts +15 -0
  579. package/dist/types/components/stzh-vbz-intro/stzh-vbz-intro.localization.d.ts +4 -0
  580. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.d.ts +2 -1
  581. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.localization.d.ts +1 -2
  582. package/dist/types/components.d.ts +186 -10
  583. package/dist/types/index.d.ts +4 -0
  584. package/dist/types/utils/utils.d.ts +7 -0
  585. package/dist/vscode-data.json +120 -1
  586. package/package.json +3 -1
  587. package/dist/cjs/stzh-list-item.cjs.entry.js +0 -27
  588. package/dist/cjs/stzh-list-item.cjs.entry.js.map +0 -1
  589. package/dist/cjs/stzh-list.cjs.entry.js.map +0 -1
  590. package/dist/cjs/utils-d0fff87f.js.map +0 -1
  591. package/dist/esm/stzh-list-item.entry.js.map +0 -1
  592. package/dist/esm/stzh-list.entry.js.map +0 -1
  593. package/dist/esm/utils-54aead01.js.map +0 -1
  594. package/dist/stzh-components/p-012dc71e.entry.js +0 -2
  595. package/dist/stzh-components/p-100d4052.entry.js +0 -2
  596. package/dist/stzh-components/p-100d4052.entry.js.map +0 -1
  597. package/dist/stzh-components/p-1f0e8499.entry.js +0 -2
  598. package/dist/stzh-components/p-1f0e8499.entry.js.map +0 -1
  599. package/dist/stzh-components/p-204a6e41.entry.js.map +0 -1
  600. package/dist/stzh-components/p-20db8d01.entry.js.map +0 -1
  601. package/dist/stzh-components/p-2d7966cf.entry.js +0 -2
  602. package/dist/stzh-components/p-4db427d5.entry.js.map +0 -1
  603. package/dist/stzh-components/p-4f49450d.entry.js.map +0 -1
  604. package/dist/stzh-components/p-523c0bb1.entry.js +0 -2
  605. package/dist/stzh-components/p-523c0bb1.entry.js.map +0 -1
  606. package/dist/stzh-components/p-52a914cd.entry.js +0 -2
  607. package/dist/stzh-components/p-52a914cd.entry.js.map +0 -1
  608. package/dist/stzh-components/p-59a1a257.entry.js.map +0 -1
  609. package/dist/stzh-components/p-648b7232.entry.js +0 -2
  610. package/dist/stzh-components/p-648b7232.entry.js.map +0 -1
  611. package/dist/stzh-components/p-66007952.entry.js.map +0 -1
  612. package/dist/stzh-components/p-6ab9dee8.entry.js +0 -2
  613. package/dist/stzh-components/p-6ab9dee8.entry.js.map +0 -1
  614. package/dist/stzh-components/p-6c2289da.entry.js +0 -2
  615. package/dist/stzh-components/p-6c2289da.entry.js.map +0 -1
  616. package/dist/stzh-components/p-72c375c7.entry.js.map +0 -1
  617. package/dist/stzh-components/p-75b79adf.entry.js.map +0 -1
  618. package/dist/stzh-components/p-771d370d.entry.js +0 -2
  619. package/dist/stzh-components/p-771d370d.entry.js.map +0 -1
  620. package/dist/stzh-components/p-77ba1f21.entry.js +0 -2
  621. package/dist/stzh-components/p-77ba1f21.entry.js.map +0 -1
  622. package/dist/stzh-components/p-78a16599.entry.js +0 -2
  623. package/dist/stzh-components/p-7e304ea3.js +0 -2
  624. package/dist/stzh-components/p-7e304ea3.js.map +0 -1
  625. package/dist/stzh-components/p-7efbb643.entry.js +0 -2
  626. package/dist/stzh-components/p-7efbb643.entry.js.map +0 -1
  627. package/dist/stzh-components/p-991309dd.entry.js +0 -2
  628. package/dist/stzh-components/p-991309dd.entry.js.map +0 -1
  629. package/dist/stzh-components/p-af7855ff.entry.js +0 -2
  630. package/dist/stzh-components/p-af7855ff.entry.js.map +0 -1
  631. package/dist/stzh-components/p-c877d32c.entry.js.map +0 -1
  632. package/dist/stzh-components/p-cc1f8acc.js +0 -2
  633. package/dist/stzh-components/p-cf856610.entry.js +0 -2
  634. package/dist/stzh-components/p-cf856610.entry.js.map +0 -1
  635. package/dist/stzh-components/p-ef21f4dc.entry.js.map +0 -1
  636. package/dist/stzh-components/p-f4ed8d7e.entry.js.map +0 -1
  637. package/dist/stzh-components/p-fdd6e755.entry.js +0 -2
  638. package/dist/stzh-components/p-fdd6e755.entry.js.map +0 -1
  639. /package/dist/stzh-components/{p-9684b22d.entry.js.map → p-09480ffe.entry.js.map} +0 -0
  640. /package/dist/stzh-components/{p-161ae3d1.entry.js.map → p-0b15d79b.entry.js.map} +0 -0
  641. /package/dist/stzh-components/{p-c1cd45e1.entry.js.map → p-12bffe97.entry.js.map} +0 -0
  642. /package/dist/stzh-components/{p-27d5ad01.entry.js.map → p-16a2675e.entry.js.map} +0 -0
  643. /package/dist/stzh-components/{p-0fb40e48.entry.js.map → p-24ea178a.entry.js.map} +0 -0
  644. /package/dist/stzh-components/{p-3f0d3919.entry.js.map → p-2812752a.entry.js.map} +0 -0
  645. /package/dist/stzh-components/{p-68d33cd3.entry.js.map → p-29c1cb5c.entry.js.map} +0 -0
  646. /package/dist/stzh-components/{p-801af922.entry.js.map → p-30a522e0.entry.js.map} +0 -0
  647. /package/dist/stzh-components/{p-d10a6897.entry.js.map → p-30a7c058.entry.js.map} +0 -0
  648. /package/dist/stzh-components/{p-7ca981d1.entry.js.map → p-3261eab4.entry.js.map} +0 -0
  649. /package/dist/stzh-components/{p-5d4a2df0.entry.js.map → p-32cb5b94.entry.js.map} +0 -0
  650. /package/dist/stzh-components/{p-97df1d9f.entry.js.map → p-346d2f3d.entry.js.map} +0 -0
  651. /package/dist/stzh-components/{p-8f1dbd3b.entry.js.map → p-3912a256.entry.js.map} +0 -0
  652. /package/dist/stzh-components/{p-6fdc4c74.entry.js.map → p-39acdb68.entry.js.map} +0 -0
  653. /package/dist/stzh-components/{p-edf77853.entry.js.map → p-63c76fd5.entry.js.map} +0 -0
  654. /package/dist/stzh-components/{p-533fea0b.entry.js.map → p-67e61035.entry.js.map} +0 -0
  655. /package/dist/stzh-components/{p-80fafa1d.entry.js.map → p-6fffe2c8.entry.js.map} +0 -0
  656. /package/dist/stzh-components/{p-eb79f3ed.entry.js.map → p-82c53e4f.entry.js.map} +0 -0
  657. /package/dist/stzh-components/{p-8e0a2441.entry.js.map → p-87f3052b.entry.js.map} +0 -0
  658. /package/dist/stzh-components/{p-b566a2c0.entry.js.map → p-8a82bf60.entry.js.map} +0 -0
  659. /package/dist/stzh-components/{p-9b43127f.entry.js.map → p-8b04698a.entry.js.map} +0 -0
  660. /package/dist/stzh-components/{p-7754870d.entry.js.map → p-9c1b3929.entry.js.map} +0 -0
  661. /package/dist/stzh-components/{p-cff05968.entry.js.map → p-a249f3f6.entry.js.map} +0 -0
  662. /package/dist/stzh-components/{p-a2e9723b.entry.js.map → p-aa3e4203.entry.js.map} +0 -0
  663. /package/dist/stzh-components/{p-f5821678.entry.js.map → p-ab5ee55b.entry.js.map} +0 -0
  664. /package/dist/stzh-components/{p-ce99f5e8.entry.js.map → p-acef653a.entry.js.map} +0 -0
  665. /package/dist/stzh-components/{p-c5dbf7ad.entry.js.map → p-b03f41c3.entry.js.map} +0 -0
  666. /package/dist/stzh-components/{p-ee82f53c.entry.js.map → p-c169f243.entry.js.map} +0 -0
  667. /package/dist/stzh-components/{p-7d030c40.entry.js.map → p-c3816fd3.entry.js.map} +0 -0
  668. /package/dist/stzh-components/{p-7aac960b.entry.js.map → p-ce6dbd52.entry.js.map} +0 -0
  669. /package/dist/stzh-components/{p-722b9e40.entry.js.map → p-d46bbc8c.entry.js.map} +0 -0
  670. /package/dist/stzh-components/{p-c9eecee7.entry.js.map → p-d48ecb2f.entry.js.map} +0 -0
  671. /package/dist/stzh-components/{p-ea152ff3.entry.js.map → p-d7697cf8.entry.js.map} +0 -0
  672. /package/dist/stzh-components/{p-472b3327.entry.js.map → p-d7f1ed07.entry.js.map} +0 -0
  673. /package/dist/stzh-components/{p-56346206.entry.js.map → p-d9fa718c.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as i,a as e,g as n}from"./p-c7bfac7a.js";import{t as a}from"./p-41529de9.js";import{p as h,a as p}from"./p-23d404e1.js";import{h as o}from"./p-7e304ea3.js";import"./p-9b063923.js";const r=".sc-stzh-appointments-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-appointments-h{display:none}.sc-stzh-appointments-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-appointments-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-appointments-h *.sc-stzh-appointments,.sc-stzh-appointments-h *.sc-stzh-appointments::before,.sc-stzh-appointments-h *.sc-stzh-appointments::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-appointments-h .has-focus.sc-stzh-appointments{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments{outline-style:none !important}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments::-moz-focus-inner{border:0 !important}.sc-stzh-appointments-h{--background-color:var(--stzh-color-secondary10)}.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-xsmall);margin-bottom:var(--stzh-space-xsmall)}@media screen and (min-width: 900px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 1260px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 600px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-xlarge)}}.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium);display:flex;flex-direction:column;padding-left:var(--stzh-space-large);padding-right:var(--stzh-space-large);background-color:var(--background-color)}@media screen and (min-width: 600px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{flex-direction:row}}.stzh-appointments__calendar-wrapper.sc-stzh-appointments{display:flex;flex-direction:column}@media screen and (min-width: 900px){.stzh-appointments__calendar-wrapper.sc-stzh-appointments{margin-right:var(--stzh-space-xxlarge)}}.stzh-appointments__appointments-wrapper.sc-stzh-appointments{flex-grow:1;display:flex;flex-direction:column}.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-small);display:flex;align-items:center;justify-content:space-between}@media screen and (min-width: 900px){.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-large)}}.stzh-appointments__calendar-title.sc-stzh-appointments,.stzh-appointments__appointments-title.sc-stzh-appointments{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-centi-font-size);line-height:var(--stzh-font-centi-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);color:var(--stzh-color-primary70);display:flex;align-items:center}.stzh-appointments__calendar-icon.sc-stzh-appointments,.stzh-appointments__appointments-icon.sc-stzh-appointments{--size:var(--stzh-icon-size-large);margin-right:var(--stzh-space-xsmall)}.stzh-appointments__calendar-content.sc-stzh-appointments,.stzh-appointments__calendar-content-medium.sc-stzh-appointments{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing)}@media screen and (min-width: 900px){.stzh-appointments__calendar-content.sc-stzh-appointments{display:none}}.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:none;background-color:var(--stzh-color-white);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 900px){.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:block}}.stzh-appointments__appointments-content.sc-stzh-appointments{flex-grow:1}.stzh-appointments__appointments-radiogroup.sc-stzh-appointments{margin-top:var(--stzh-space-xsmall);margin-bottom:var(--stzh-space-xsmall)}.stzh-appointments__more-link.sc-stzh-appointments{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);margin-top:var(--stzh-space-medium)}.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:var(--stzh-space-large)}@media screen and (min-width: 900px){.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:0}}";const m=class{constructor(i){t(this,i);this.stzhChange=s(this,"stzhChange",7);this.showMoreLink=false;this.moreItemsLeft=0;this.showCalendar=false;this.showSort=false;this.showSortStart=false;this.showSortPlace=false;this.showAppointmentsTitle=false;this.allAppointsmentOnSameDay=true;this.sortOptions=[];this.isDateDisabled=t=>{const s=!!this._appointments.find((s=>s.start.getFullYear()===t.getFullYear()&&s.start.getMonth()===t.getMonth()&&s.start.getDate()===t.getDate()));return!s};this.onNextActiveDateClick=async()=>{if(this.nextDate){this.currentDate=this.nextDate;const t=await this.datepickerElement.getPopover();if(t){t.hide()}}};this.onMoreClick=()=>{this.showItems=this.stepItems+this.showItems;const t=this.inputElement.querySelector("stzh-radio");t.focus()};this.onDropdownChange=async t=>{const s=t.target;const i=await s.getValue();if(i){this.sortBy=i}};this.onDatepickerChange=t=>{if(t.detail.component!=="stzh-datepicker"||!t.detail.valueAsDate){return}this.currentDate=t.detail.valueAsDate;this.showItems=this._initialShowItems};this.onRadioChange=t=>{this.value=t.detail.value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})};this.localization=undefined;this.sortBy="start";this.appointments=[];this.currentDate=undefined;this.value="";this.name="appointment";this.showItems=5;this.stepItems=5;this.calendarTitle="";this.appointmentsTitle="";this.dateAdapter=undefined}dateAdapterWatcher(t){if(!t){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}currentDateWatcher(t){if(!t){this._currentDate=this.dateByValue||this.earliestDate;if(!this.dateByValue){this.setValueToFirstAppointmentOfCurrentDate()}}else if(typeof t==="string"){this._currentDate=h(t);this.setValueToFirstAppointmentOfCurrentDate()}else{this._currentDate=t;this.setValueToFirstAppointmentOfCurrentDate()}}sortByWatcher(){this.setValueToFirstAppointmentOfCurrentDate()}valueWatcher(){this.updateDateByValue();this.currentDateWatcher(this.currentDate)}appointmentsWatcher(t){if(typeof t==="string"){this._appointments=JSON.parse(t)}else{this._appointments=t}this._appointments=this._appointments.map((t=>Object.assign(Object.assign({},t),{start:new Date(t.start),end:new Date(t.end)})));if(this._appointments.length>0){this._appointments.sort(((t,s)=>t["start"]>s["start"]?1:-1));this.earliestDate=this._appointments[0].start;this.latestDate=this._appointments[this._appointments.length-1].start;this.updateDateByValue()}if(this._appointments.length>1){const t=this._appointments[0].start;this.allAppointsmentOnSameDay=this._appointments.map((t=>t.start)).every((s=>`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`===`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`))}this.showCalendar=!this.allAppointsmentOnSameDay;this.showAppointmentsTitle=this._appointments.length>1;this.currentDateWatcher(this.currentDate)}updateDateByValue(){this.dateByValue=this.value&&this._appointments.find((t=>t.value===this.value)).start}getCurrentDateAppointments(){let t=0;const s=this._appointments.filter(((s,i)=>{const e=s.start.getFullYear()===this._currentDate.getFullYear()&&s.start.getMonth()===this._currentDate.getMonth()&&s.start.getDate()===this._currentDate.getDate();if(e){t=i}return e}));if(this._appointments[t+1]){this.nextDate=this._appointments[t+1].start}else{this.nextDate=null}s.sort(((t,s)=>t[this.sortBy]>s[this.sortBy]?1:-1));return s}setValueToFirstAppointmentOfCurrentDate(){const t=this.getCurrentDateAppointments().filter((t=>!t.disabled));if(t.length>0){this.value=t[0].value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})}}async componentWillLoad(){this._initialShowItems=this.showItems;this.appointmentsWatcher(this.appointments);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"appointments")}this.dateAdapterWatcher(this.dateAdapter)}componentWillRender(){const t=this.getCurrentDateAppointments();this.appointmentsShown=t.slice(0,this.showItems);this.showMoreLink=this.showItems<t.length;this.moreItemsLeft=t.length-this.showItems;this.showSortStart=t.map((t=>this.dateAdapter.format(t.start,"time"))).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.showSortPlace=t.map((t=>t.place)).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.sortOptions=[];if(this.showSortStart){this.sortOptions.push({text:this.localization.sortByTime,value:"start"})}if(this.showSortPlace){this.sortOptions.push({text:this.localization.sortByPlace,value:"place"})}this.showSort=this.appointmentsShown.length>1;this._sortBy=this.showSortStart&&!this.showSortPlace&&"start"||!this.showSortStart&&this.showSortPlace&&"place"||this.sortBy}componentDidRender(){if(this.datepickerElement){this.datepickerElement.setDate(this._currentDate)}if(this.datepickerElementMedium){this.datepickerElementMedium.setDate(this._currentDate)}}render(){const t=o(this.element,"heading");const s={"stzh-appointments":true,"stzh-appointments--has-calendar":this.showCalendar,"stzh-appointments--has-appointments-title":this.showAppointmentsTitle,"stzh-appointments--has-sort":this.showSort};return i(e,{"has-heading":t},i("div",{class:s},i("div",{class:"stzh-appointments__heading"},i("slot",{name:"heading"})),i("div",{class:"stzh-appointments__wrapper"},this.showCalendar&&i("div",{class:"stzh-appointments__calendar-wrapper"},i("div",{class:"stzh-appointments__calendar-title-wrapper"},i("div",{class:"stzh-appointments__calendar-title"},i("stzh-icon",{class:"stzh-appointments__calendar-icon",name:"calendar"}),i("span",{class:"stzh-appointments__calendar-title-text"},this.calendarTitle||this.localization.calendarTitle))),i("div",{class:"stzh-appointments__calendar-content"},i("stzh-datepicker",{"hide-optional":true,ref:t=>this.datepickerElement=t,onStzhChange:this.onDatepickerChange,label:this.localization.datepickerLabel,calendarIsDateDisabled:this.isDateDisabled,calendarMin:p(this.earliestDate),calendarMax:p(this.latestDate)},i("stzh-link",{slot:"action",size:"inherit",disabled:!this.nextDate,onClick:this.onNextActiveDateClick},this.localization.nextDayWithAppointments))),i("div",{class:"stzh-appointments__calendar-content-medium"},i("stzh-datepicker",{"hide-optional":true,ref:t=>this.datepickerElementMedium=t,onStzhChange:this.onDatepickerChange,inline:true,calendarIsDateDisabled:this.isDateDisabled,calendarMin:p(this.earliestDate),calendarMax:p(this.latestDate)},this.nextDate&&i("stzh-link",{slot:"action",size:"inherit",onClick:this.onNextActiveDateClick},this.localization.nextDayWithAppointments)))),i("div",{class:"stzh-appointments__appointments-wrapper"},this.showAppointmentsTitle&&i("div",{class:"stzh-appointments__appointments-title-wrapper"},i("div",{class:"stzh-appointments__appointments-title"},i("stzh-icon",{class:"stzh-appointments__appointments-icon",name:"clock"}),i("span",{class:"stzh-appointments__appointments-title-text"},this.appointmentsTitle||this.localization.appointmentsTitle)),this.showSort&&i("div",{class:"stzh-appointments__sort"},i("stzh-dropdown",{"hide-optional":true,inline:true,"no-search":true,class:"stzh-appointments__sort-dropdown",variant:"plain",size:"small",sizeMedium:"tiny",items:[this._sortBy],options:this.sortOptions,onStzhChange:this.onDropdownChange}))),i("div",{class:"stzh-appointments__appointments-content"},i("stzh-radiogroup",{class:"stzh-appointments__appointments-radiogroup",ref:t=>this.inputElement=t,legend:this.localization.inputLegend,"hide-legend":true,name:this.name,value:this.value,preventUpdateProperties:["disabled"]},this.appointmentsShown.map((t=>i("stzh-radio",{onStzhChange:this.onRadioChange,value:t.value,disabled:typeof t.disabled!=="undefined"?t.disabled:false},i("stzh-text",{font:"heavy",size:"centi"},!this.showCalendar&&i("span",null,this.dateAdapter.format(t.start,"dateLong"),", "),this.dateAdapter.formatSpan(t.start,t.end,"time")),i("stzh-text",{size:"milli"},t.caption))))),this.showMoreLink&&i("stzh-link",{class:"stzh-appointments__more-link",size:"inherit",onClick:this.onMoreClick},a(this.localization.moreTextItems,this.moreItemsLeft>this.stepItems?this.stepItems:this.moreItemsLeft)))))))}get element(){return n(this)}static get watchers(){return{dateAdapter:["dateAdapterWatcher"],currentDate:["currentDateWatcher"],sortBy:["sortByWatcher"],value:["valueWatcher"],appointments:["appointmentsWatcher"]}}};m.style=r;export{m as stzh_appointments};
2
- //# sourceMappingURL=p-eb79f3ed.entry.js.map
1
+ import{r as t,c as s,h as i,a as e,g as n}from"./p-c7bfac7a.js";import{t as a}from"./p-41529de9.js";import{p as h,a as p}from"./p-23d404e1.js";import{h as o}from"./p-e30a5acc.js";import"./p-9b063923.js";const r=".sc-stzh-appointments-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-appointments-h{display:none}.sc-stzh-appointments-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-appointments-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-appointments-h *.sc-stzh-appointments,.sc-stzh-appointments-h *.sc-stzh-appointments::before,.sc-stzh-appointments-h *.sc-stzh-appointments::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-appointments-h .has-focus.sc-stzh-appointments{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments{outline-style:none !important}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments::-moz-focus-inner{border:0 !important}.sc-stzh-appointments-h{--background-color:var(--stzh-color-secondary10)}.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-xsmall);margin-bottom:var(--stzh-space-xsmall)}@media screen and (min-width: 900px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 1260px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 600px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-appointments__heading.sc-stzh-appointments:not(:empty){margin-bottom:var(--stzh-space-xlarge)}}.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium);display:flex;flex-direction:column;padding-left:var(--stzh-space-large);padding-right:var(--stzh-space-large);background-color:var(--background-color)}@media screen and (min-width: 600px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-appointments__wrapper.sc-stzh-appointments{padding-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 900px){.stzh-appointments__wrapper.sc-stzh-appointments{flex-direction:row}}.stzh-appointments__calendar-wrapper.sc-stzh-appointments{display:flex;flex-direction:column}@media screen and (min-width: 900px){.stzh-appointments__calendar-wrapper.sc-stzh-appointments{margin-right:var(--stzh-space-xxlarge)}}.stzh-appointments__appointments-wrapper.sc-stzh-appointments{flex-grow:1;display:flex;flex-direction:column}.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-small);display:flex;align-items:center;justify-content:space-between}@media screen and (min-width: 900px){.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{margin-bottom:var(--stzh-space-large)}}.stzh-appointments__calendar-title.sc-stzh-appointments,.stzh-appointments__appointments-title.sc-stzh-appointments{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-centi-font-size);line-height:var(--stzh-font-centi-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);color:var(--stzh-color-primary70);display:flex;align-items:center}.stzh-appointments__calendar-icon.sc-stzh-appointments,.stzh-appointments__appointments-icon.sc-stzh-appointments{--size:var(--stzh-icon-size-large);margin-right:var(--stzh-space-xsmall)}.stzh-appointments__calendar-content.sc-stzh-appointments,.stzh-appointments__calendar-content-medium.sc-stzh-appointments{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing)}@media screen and (min-width: 900px){.stzh-appointments__calendar-content.sc-stzh-appointments{display:none}}.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:none;background-color:var(--stzh-color-white);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 900px){.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:block}}.stzh-appointments__appointments-content.sc-stzh-appointments{flex-grow:1}.stzh-appointments__appointments-radiogroup.sc-stzh-appointments{margin-top:var(--stzh-space-xsmall);margin-bottom:var(--stzh-space-xsmall)}.stzh-appointments__more-link.sc-stzh-appointments{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);margin-top:var(--stzh-space-medium)}.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:var(--stzh-space-large)}@media screen and (min-width: 900px){.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:0}}";const m=class{constructor(i){t(this,i);this.stzhChange=s(this,"stzhChange",7);this.showMoreLink=false;this.moreItemsLeft=0;this.showCalendar=false;this.showSort=false;this.showSortStart=false;this.showSortPlace=false;this.showAppointmentsTitle=false;this.allAppointsmentOnSameDay=true;this.sortOptions=[];this.isDateDisabled=t=>{const s=!!this._appointments.find((s=>s.start.getFullYear()===t.getFullYear()&&s.start.getMonth()===t.getMonth()&&s.start.getDate()===t.getDate()));return!s};this.onNextActiveDateClick=async()=>{if(this.nextDate){this.currentDate=this.nextDate;const t=await this.datepickerElement.getPopover();if(t){t.hide()}}};this.onMoreClick=()=>{this.showItems=this.stepItems+this.showItems;const t=this.inputElement.querySelector("stzh-radio");t.focus()};this.onDropdownChange=async t=>{const s=t.target;const i=await s.getValue();if(i){this.sortBy=i}};this.onDatepickerChange=t=>{if(t.detail.component!=="stzh-datepicker"||!t.detail.valueAsDate){return}this.currentDate=t.detail.valueAsDate;this.showItems=this._initialShowItems};this.onRadioChange=t=>{this.value=t.detail.value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})};this.localization=undefined;this.sortBy="start";this.appointments=[];this.currentDate=undefined;this.value="";this.name="appointment";this.showItems=5;this.stepItems=5;this.calendarTitle="";this.appointmentsTitle="";this.dateAdapter=undefined}dateAdapterWatcher(t){if(!t){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}currentDateWatcher(t){if(!t){this._currentDate=this.dateByValue||this.earliestDate;if(!this.dateByValue){this.setValueToFirstAppointmentOfCurrentDate()}}else if(typeof t==="string"){this._currentDate=h(t);this.setValueToFirstAppointmentOfCurrentDate()}else{this._currentDate=t;this.setValueToFirstAppointmentOfCurrentDate()}}sortByWatcher(){this.setValueToFirstAppointmentOfCurrentDate()}valueWatcher(){this.updateDateByValue();this.currentDateWatcher(this.currentDate)}appointmentsWatcher(t){if(typeof t==="string"){this._appointments=JSON.parse(t)}else{this._appointments=t}this._appointments=this._appointments.map((t=>Object.assign(Object.assign({},t),{start:new Date(t.start),end:new Date(t.end)})));if(this._appointments.length>0){this._appointments.sort(((t,s)=>t["start"]>s["start"]?1:-1));this.earliestDate=this._appointments[0].start;this.latestDate=this._appointments[this._appointments.length-1].start;this.updateDateByValue()}if(this._appointments.length>1){const t=this._appointments[0].start;this.allAppointsmentOnSameDay=this._appointments.map((t=>t.start)).every((s=>`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`===`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`))}this.showCalendar=!this.allAppointsmentOnSameDay;this.showAppointmentsTitle=this._appointments.length>1;this.currentDateWatcher(this.currentDate)}updateDateByValue(){this.dateByValue=this.value&&this._appointments.find((t=>t.value===this.value)).start}getCurrentDateAppointments(){let t=0;const s=this._appointments.filter(((s,i)=>{const e=s.start.getFullYear()===this._currentDate.getFullYear()&&s.start.getMonth()===this._currentDate.getMonth()&&s.start.getDate()===this._currentDate.getDate();if(e){t=i}return e}));if(this._appointments[t+1]){this.nextDate=this._appointments[t+1].start}else{this.nextDate=null}s.sort(((t,s)=>t[this.sortBy]>s[this.sortBy]?1:-1));return s}setValueToFirstAppointmentOfCurrentDate(){const t=this.getCurrentDateAppointments().filter((t=>!t.disabled));if(t.length>0){this.value=t[0].value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})}}async componentWillLoad(){this._initialShowItems=this.showItems;this.appointmentsWatcher(this.appointments);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"appointments")}this.dateAdapterWatcher(this.dateAdapter)}componentWillRender(){const t=this.getCurrentDateAppointments();this.appointmentsShown=t.slice(0,this.showItems);this.showMoreLink=this.showItems<t.length;this.moreItemsLeft=t.length-this.showItems;this.showSortStart=t.map((t=>this.dateAdapter.format(t.start,"time"))).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.showSortPlace=t.map((t=>t.place)).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.sortOptions=[];if(this.showSortStart){this.sortOptions.push({text:this.localization.sortByTime,value:"start"})}if(this.showSortPlace){this.sortOptions.push({text:this.localization.sortByPlace,value:"place"})}this.showSort=this.appointmentsShown.length>1;this._sortBy=this.showSortStart&&!this.showSortPlace&&"start"||!this.showSortStart&&this.showSortPlace&&"place"||this.sortBy}componentDidRender(){if(this.datepickerElement){this.datepickerElement.setDate(this._currentDate)}if(this.datepickerElementMedium){this.datepickerElementMedium.setDate(this._currentDate)}}render(){const t=o(this.element,"heading");const s={"stzh-appointments":true,"stzh-appointments--has-calendar":this.showCalendar,"stzh-appointments--has-appointments-title":this.showAppointmentsTitle,"stzh-appointments--has-sort":this.showSort};return i(e,{"has-heading":t},i("div",{class:s},i("div",{class:"stzh-appointments__heading"},i("slot",{name:"heading"})),i("div",{class:"stzh-appointments__wrapper"},this.showCalendar&&i("div",{class:"stzh-appointments__calendar-wrapper"},i("div",{class:"stzh-appointments__calendar-title-wrapper"},i("div",{class:"stzh-appointments__calendar-title"},i("stzh-icon",{class:"stzh-appointments__calendar-icon",name:"calendar"}),i("span",{class:"stzh-appointments__calendar-title-text"},this.calendarTitle||this.localization.calendarTitle))),i("div",{class:"stzh-appointments__calendar-content"},i("stzh-datepicker",{"hide-optional":true,ref:t=>this.datepickerElement=t,onStzhChange:this.onDatepickerChange,label:this.localization.datepickerLabel,calendarIsDateDisabled:this.isDateDisabled,calendarMin:p(this.earliestDate),calendarMax:p(this.latestDate)},i("stzh-link",{slot:"action",size:"inherit",disabled:!this.nextDate,onClick:this.onNextActiveDateClick},this.localization.nextDayWithAppointments))),i("div",{class:"stzh-appointments__calendar-content-medium"},i("stzh-datepicker",{"hide-optional":true,ref:t=>this.datepickerElementMedium=t,onStzhChange:this.onDatepickerChange,inline:true,calendarIsDateDisabled:this.isDateDisabled,calendarMin:p(this.earliestDate),calendarMax:p(this.latestDate)},this.nextDate&&i("stzh-link",{slot:"action",size:"inherit",onClick:this.onNextActiveDateClick},this.localization.nextDayWithAppointments)))),i("div",{class:"stzh-appointments__appointments-wrapper"},this.showAppointmentsTitle&&i("div",{class:"stzh-appointments__appointments-title-wrapper"},i("div",{class:"stzh-appointments__appointments-title"},i("stzh-icon",{class:"stzh-appointments__appointments-icon",name:"clock"}),i("span",{class:"stzh-appointments__appointments-title-text"},this.appointmentsTitle||this.localization.appointmentsTitle)),this.showSort&&i("div",{class:"stzh-appointments__sort"},i("stzh-dropdown",{"hide-optional":true,inline:true,"no-search":true,class:"stzh-appointments__sort-dropdown",variant:"plain",size:"small",sizeMedium:"tiny",items:[this._sortBy],options:this.sortOptions,onStzhChange:this.onDropdownChange}))),i("div",{class:"stzh-appointments__appointments-content"},i("stzh-radiogroup",{class:"stzh-appointments__appointments-radiogroup",ref:t=>this.inputElement=t,legend:this.localization.inputLegend,"hide-legend":true,name:this.name,value:this.value,preventUpdateProperties:["disabled"]},this.appointmentsShown.map((t=>i("stzh-radio",{onStzhChange:this.onRadioChange,value:t.value,disabled:typeof t.disabled!=="undefined"?t.disabled:false},i("stzh-text",{font:"heavy",size:"centi"},!this.showCalendar&&i("span",null,this.dateAdapter.format(t.start,"dateLong"),", "),this.dateAdapter.formatSpan(t.start,t.end,"time")),i("stzh-text",{size:"milli"},t.caption))))),this.showMoreLink&&i("stzh-link",{class:"stzh-appointments__more-link",size:"inherit",onClick:this.onMoreClick},a(this.localization.moreTextItems,this.moreItemsLeft>this.stepItems?this.stepItems:this.moreItemsLeft)))))))}get element(){return n(this)}static get watchers(){return{dateAdapter:["dateAdapterWatcher"],currentDate:["currentDateWatcher"],sortBy:["sortByWatcher"],value:["valueWatcher"],appointments:["appointmentsWatcher"]}}};m.style=r;export{m as stzh_appointments};
2
+ //# sourceMappingURL=p-82c53e4f.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,a as n,g as o}from"./p-c7bfac7a.js";import{j as r}from"./p-1b399113.js";import{c as a}from"./p-7183ba4d.js";import{g as s,S as c}from"./p-e30a5acc.js";import"./p-9b063923.js";var f=a((function(e){console.info(`\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 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.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n`);(function(t){if(typeof window==="undefined")return;var i=0,n,o=false,r=false,a="message",s=a.length,c="[iFrameSizer]",f=c.length,u=null,l=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),h={},m=null,p=Object.freeze({autoResize:true,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:true,inPageLinks:false,enablePublicMethods:true,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:false,maxHeight:Infinity,maxWidth:Infinity,minHeight:0,minWidth:0,mouseEvents:true,resizeFrom:"parent",scrolling:false,sizeHeight:true,sizeWidth:false,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return true},onClosed:function(){},onInit:function(){},onMessage:function(){I("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return true}});function w(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function g(e,t,i){e.addEventListener(t,i,false)}function v(e,t,i){e.removeEventListener(t,i,false)}function z(){var e=["moz","webkit","o","ms"];var t;for(t=0;t<e.length&&!l;t+=1){l=window[e[t]+"RequestAnimationFrame"]}if(l){l=l.bind(window)}else{x("setup","RequestAnimationFrame not supported")}}function b(e){var t="Host page: "+e;if(window.top!==window.self){t=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e}return t}function y(e){return c+"["+b(e)+"]"}function k(e){return h[e]?h[e].log:o}function x(e,t){T("log",e,t,k(e))}function _(e,t){T("info",e,t,k(e))}function I(e,t){T("warn",e,t,true)}function T(e,t,i,n){if(true===n&&"object"===typeof window.console){console[e](y(t),i)}}function M(e){function t(){function e(){j(Q);E(G);H("onResized",Q)}r("Height");r("Width");A(e,Q,"init")}function i(){var e=B.slice(f).split(":");var t=e[1]?parseInt(e[1],10):0;var i=h[e[0]]&&h[e[0]].iframe;var r=getComputedStyle(i);return{iframe:i,id:e[0],height:t+n(r)+o(r),width:e[2],type:e[3]}}function n(e){if(e.boxSizing!=="border-box"){return 0}var t=e.paddingTop?parseInt(e.paddingTop,10):0;var i=e.paddingBottom?parseInt(e.paddingBottom,10):0;return t+i}function o(e){if(e.boxSizing!=="border-box"){return 0}var t=e.borderTopWidth?parseInt(e.borderTopWidth,10):0;var i=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return t+i}function r(e){var t=Number(h[G]["max"+e]),i=Number(h[G]["min"+e]),n=e.toLowerCase(),o=Number(Q[n]);x(G,"Checking "+n+" is in range "+i+"-"+t);if(o<i){o=i;x(G,"Set "+n+" to min value")}if(o>t){o=t;x(G,"Set "+n+" to max value")}Q[n]=""+o}function a(){function t(){function e(){var e=0,t=false;x(G,"Checking connection is from allowed list of origins: "+n);for(;e<n.length;e++){if(n[e]===i){t=true;break}}return t}function t(){var e=h[G]&&h[G].remoteHost;x(G,"Checking connection is from: "+e);return i===e}return n.constructor===Array?e():t()}var i=e.origin,n=h[G]&&h[G].checkOrigin;if(n&&""+i!=="null"&&!t()){throw new Error("Unexpected message received from: "+i+" for "+Q.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.")}return true}function l(){return c===(""+B).slice(0,f)&&B.slice(f).split(":")[0]in h}function d(){var e=Q.type in{true:1,false:1,undefined:1};if(e){x(G,"Ignoring init message from meta parent page")}return e}function m(e){return B.slice(B.indexOf(":")+s+e)}function p(e){x(G,"onMessage passed: {iframe: "+Q.iframe.id+", message: "+e+"}");H("onMessage",{iframe:Q.iframe,message:JSON.parse(e)});x(G,"--")}function w(){var e=document.body.getBoundingClientRect(),t=Q.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:t.height,iframeWidth:t.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(t.top-e.top,10),offsetLeft:parseInt(t.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}function z(e,t){function i(){P("Send Page Info","pageInfo:"+w(),e,t)}$(i,32,t)}function b(){function e(e,i){function o(){if(h[n]){z(h[n].iframe,n)}else{t()}}["scroll","resize"].forEach((function(t){x(n,e+t+" listener for sendPageInfo");i(window,t,o)}))}function t(){e("Remove ",v)}function i(){e("Add ",g)}var n=G;i();if(h[n]){h[n].stopPageInfo=t}}function y(){if(h[G]&&h[G].stopPageInfo){h[G].stopPageInfo();delete h[G].stopPageInfo}}function k(){var e=true;if(null===Q.iframe){I(G,"IFrame ("+Q.id+") not found");e=false}return e}function T(e){var t=e.getBoundingClientRect();R(G);return{x:Math.floor(Number(t.left)+Number(u.x)),y:Math.floor(Number(t.top)+Number(u.y))}}function M(e){function t(){u=r;O();x(G,"--")}function i(){return{x:Number(Q.width)+o.x,y:Number(Q.height)+o.y}}function n(){if(window.parentIFrame){window.parentIFrame["scrollTo"+(e?"Offset":"")](r.x,r.y)}else{I(G,"Unable to scroll to requested position, window.parentIFrame not found")}}var o=e?T(Q.iframe):{x:0,y:0},r=i();x(G,"Reposition requested from iFrame (offset x:"+o.x+" y:"+o.y+")");if(window.top===window.self){t()}else{n()}}function O(){if(false===H("onScroll",u)){F()}else{E(G)}}function L(e){function t(){var e=T(r);x(G,"Moving to in page link (#"+n+") at x: "+e.x+" y: "+e.y);u={x:e.x,y:e.y};O();x(G,"--")}function i(){if(window.parentIFrame){window.parentIFrame.moveToAnchor(n)}else{x(G,"In page link #"+n+" not found and window.parentIFrame not found")}}var n=e.split("#")[1]||"",o=decodeURIComponent(n),r=document.getElementById(o)||document.getElementsByName(o)[0];if(r){t()}else if(window.top===window.self){x(G,"In page link #"+n+" not found")}else{i()}}function W(e){var t={};if(Number(Q.width)===0&&Number(Q.height)===0){var i=m(9).split(":");t={x:i[1],y:i[0]}}else{t={x:Q.width,y:Q.height}}H(e,{iframe:Q.iframe,screenX:Number(t.x),screenY:Number(t.y),type:Q.type})}function H(e,t){return S(G,e,t)}function V(){if(h[G]&&h[G].firstRun)U();switch(Q.type){case"close":{N(Q.iframe);break}case"message":{p(m(6));break}case"mouseenter":{W("onMouseEnter");break}case"mouseleave":{W("onMouseLeave");break}case"autoResize":{h[G].autoResize=JSON.parse(m(9));break}case"scrollTo":{M(false);break}case"scrollToOffset":{M(true);break}case"pageInfo":{z(h[G]&&h[G].iframe,G);b();break}case"pageInfoStop":{y();break}case"inPageLink":{L(m(9));break}case"reset":{C(Q);break}case"init":{t();H("onInit",Q.iframe);break}default:{if(Number(Q.width)===0&&Number(Q.height)===0){I("Unsupported message received ("+Q.type+"), this is likely due to the iframe containing a later "+"version of iframe-resizer than the parent page")}else{t()}}}}function q(e){var t=true;if(!h[e]){t=false;I(Q.type+" No settings for "+e+". Message was: "+B)}return t}function J(){for(var e in h){P("iFrame requested init",D(e),h[e].iframe,e)}}function U(){if(h[G]){h[G].firstRun=false}}var B=e.data,Q={},G=null;if("[iFrameResizerChild]Ready"===B){J()}else if(l()){Q=i();G=Q.id;if(h[G]){h[G].loaded=true}if(!d()&&q(G)){x(G,"Received: "+B);if(k()&&a()){V()}}}else{_(G,"Ignored: "+B)}}function S(e,t,i){var n=null,o=null;if(h[e]){n=h[e][t];if("function"===typeof n){o=n(i)}else{throw new TypeError(t+" on iFrame["+e+"] is not a function")}}return o}function O(e){var t=e.id;delete h[t]}function N(e){var t=e.id;if(S(t,"onClose",t)===false){x(t,"Close iframe cancelled by onClose event");return}x(t,"Removing iFrame: "+t);try{if(e.parentNode){e.parentNode.removeChild(e)}}catch(e){I(e)}S(t,"onClosed",t);x(t,"--");O(e);if(n){n.disconnect();n=null}}function R(e){if(null===u){u={x:window.pageXOffset===t?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===t?document.documentElement.scrollTop:window.pageYOffset};x(e,"Get page position: "+u.x+","+u.y)}}function E(e){if(null!==u){window.scrollTo(u.x,u.y);x(e,"Set page position: "+u.x+","+u.y);F()}}function F(){u=null}function C(e){function t(){j(e);P("reset","reset",e.iframe,e.id)}x(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame"));R(e.id);A(t,e,"reset")}function j(e){function t(t){if(!e.id){x("undefined","messageData id not set");return}e.iframe.style[t]=e[t]+"px";x(e.id,"IFrame ("+o+") "+t+" set to "+e[t]+"px")}function i(t){if(!r&&"0"===e[t]){r=true;x(o,"Hidden iFrame detected, creating visibility listener");q()}}function n(e){t(e);i(e)}var o=e.iframe.id;if(h[o]){if(h[o].sizeHeight){n("height")}if(h[o].sizeWidth){n("width")}}}function A(e,t,i){if(i!==t.type&&l&&!window.jasmine){x(t.id,"Requesting animation frame");l(e)}else{e()}}function P(e,t,i,n,o){function r(){var o=h[n]&&h[n].targetOrigin;x(n,"["+e+"] Sending msg to iframe["+n+"] ("+t+") targetOrigin: "+o);i.contentWindow.postMessage(c+t,o)}function a(){I(n,"["+e+"] IFrame("+n+") not found")}function s(){if(i&&"contentWindow"in i&&null!==i.contentWindow){r()}else{a()}}function f(){function e(){if(h[n]&&!h[n].loaded&&!u){u=true;I(n,"IFrame has not responded within "+h[n].warningTimeout/1e3+" 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.")}}if(!!o&&h[n]&&!!h[n].warningTimeout){h[n].msgTimeout=setTimeout(e,h[n].warningTimeout)}}var u=false;n=n||i.id;if(h[n]){s();f()}}function D(e){return e+":"+h[e].bodyMarginV1+":"+h[e].sizeWidth+":"+h[e].log+":"+h[e].interval+":"+h[e].enablePublicMethods+":"+h[e].autoResize+":"+h[e].bodyMargin+":"+h[e].heightCalculationMethod+":"+h[e].bodyBackground+":"+h[e].bodyPadding+":"+h[e].tolerance+":"+h[e].inPageLinks+":"+h[e].resizeFrom+":"+h[e].widthCalculationMethod+":"+h[e].mouseEvents}function L(e){return typeof e==="number"}function W(e,r){function a(){function t(t){var i=h[M][t];if(Infinity!==i&&0!==i){e.style[t]=L(i)?i+"px":i;x(M,"Set "+t+" = "+e.style[t])}}function i(e){if(h[M]["min"+e]>h[M]["max"+e]){throw new Error("Value for min"+e+" can not be greater than max"+e)}}i("Height");i("Width");t("maxHeight");t("minHeight");t("maxWidth");t("minWidth")}function s(){var e=r&&r.id||p.id+i++;if(null!==document.getElementById(e)){e+=i++}return e}function c(t){if(typeof t!=="string"){throw new TypeError("Invaild id for iFrame. Expected String")}if(""===t){e.id=t=s();o=(r||{}).log;x(t,"Added missing iframe ID: "+t+" ("+e.src+")")}return t}function f(){x(M,"IFrame scrolling "+(h[M]&&h[M].scrolling?"enabled":"disabled")+" for "+M);e.style.overflow=false===(h[M]&&h[M].scrolling)?"hidden":"auto";switch(h[M]&&h[M].scrolling){case"omit":{break}case true:{e.scrolling="yes";break}case false:{e.scrolling="no";break}default:{e.scrolling=h[M]?h[M].scrolling:"no"}}}function u(){if("number"===typeof(h[M]&&h[M].bodyMargin)||"0"===(h[M]&&h[M].bodyMargin)){h[M].bodyMarginV1=h[M].bodyMargin;h[M].bodyMargin=""+h[M].bodyMargin+"px"}}function l(){var t=h[M]&&h[M].firstRun,i=h[M]&&h[M].heightCalculationMethod in d;if(!t&&i){C({iframe:e,height:0,width:0,type:"init"})}}function m(){if(h[M]){h[M].iframe.iFrameResizer={close:N.bind(null,h[M].iframe),removeListeners:O.bind(null,h[M].iframe),resize:P.bind(null,"Window resize","resize",h[M].iframe),moveToAnchor:function(e){P("Move to anchor","moveToAnchor:"+e,h[M].iframe,M)},sendMessage:function(e){e=JSON.stringify(e);P("Send Message","message:"+e,h[M].iframe,M)}}}}function v(i){function o(){P("iFrame.onload",i,e,t,true);l()}function r(t){if(!e.parentNode){return null}var i=new t((function(t){t.forEach((function(t){var i=Array.prototype.slice.call(t.removedNodes);i.forEach((function(t){if(t===e){N(e)}}))}))}));i.observe(e.parentNode,{childList:true});return i}var a=w();if(a){n=r(a)}g(e,"load",o);P("init",i,e,t,true)}function z(e){if("object"!==typeof e){throw new TypeError("Options is not an object")}}function b(e){for(var t in p){if(Object.prototype.hasOwnProperty.call(p,t)){h[M][t]=Object.prototype.hasOwnProperty.call(e,t)?e[t]:p[t]}}}function y(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}function k(e){var t=e.split("Callback");if(t.length===2){var i="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[i]=this[e];delete this[e];I(M,"Deprecated: '"+e+"' has been renamed '"+i+"'. The old method will be removed in the next major version.")}}function _(t){t=t||{};h[M]=Object.create(null);h[M].iframe=e;h[M].firstRun=true;h[M].remoteHost=e.src&&e.src.split("/").slice(0,3).join("/");z(t);Object.keys(t).forEach(k,t);b(t);if(h[M]){h[M].targetOrigin=true===h[M].checkOrigin?y(h[M].remoteHost):"*"}}function T(){return M in h&&"iFrameResizer"in e}var M=c(e.id);if(T()){I(M,"Ignored iFrame, already setup.")}else{_(r);f();a();u();v(D(M));m()}}function H(e,t){if(null===m){m=setTimeout((function(){m=null;e()}),t)}}var V={};function $(e,t,i){if(!V[i]){V[i]=setTimeout((function(){V[i]=null;e()}),t)}}function q(){function e(){function e(e){function t(t){return"0px"===(h[e]&&h[e].iframe.style[t])}function i(e){return null!==e.offsetParent}if(h[e]&&i(h[e].iframe)&&(t("height")||t("width"))){P("Visibility change","resize",h[e].iframe,e)}}Object.keys(h).forEach((function(t){e(t)}))}function t(t){x("window","Mutation observed: "+t[0].target+" "+t[0].type);H(e,16)}function i(){var e=document.querySelector("body"),i={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true},o=new n(t);o.observe(e,i)}var n=w();if(n){i()}}function J(e){function t(){B("Window "+e,"resize")}x("window","Trigger event: "+e);H(t,16)}function U(){function e(){B("Tab Visible","resize")}if("hidden"!==document.visibilityState){x("document","Trigger event: Visibility change");H(e,16)}}function B(e,t){function i(e){return h[e]&&"parent"===h[e].resizeFrom&&h[e].autoResize&&!h[e].firstRun}Object.keys(h).forEach((function(n){if(i(n)){P(e,t,h[n].iframe,n)}}))}function Q(){g(window,"message",M);g(window,"resize",(function(){J("resize")}));g(document,"visibilitychange",U);g(document,"-webkit-visibilitychange",U)}function G(){function e(e,t){function i(){if(!t.tagName){throw new TypeError("Object is not a valid DOM element")}else if("IFRAME"!==t.tagName.toUpperCase()){throw new TypeError("Expected <IFRAME> tag, found <"+t.tagName+">")}}if(t){i();W(t,e);n.push(t)}}function i(e){if(e&&e.enablePublicMethods){I("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}}var n;z();Q();return function o(r,a){n=[];i(r);switch(typeof a){case"undefined":case"string":{Array.prototype.forEach.call(document.querySelectorAll(a||"iframe"),e.bind(t,r));break}case"object":{e(r,a);break}default:{throw new TypeError("Unexpected data type ("+typeof a+")")}}return n}}function X(e){if(!e.fn){_("","Unable to bind to jQuery, it is not fully loaded.")}else if(!e.fn.iFrameResize){e.fn.iFrameResize=function e(t){function i(e,i){W(i,t)}return this.filter("iframe").each(i).end()}}}if(window.jQuery!==t){X(window.jQuery)}if(typeof t==="function"&&t.amd){t([],G)}else{e.exports=G()}window.iFrameResize=window.iFrameResize||G()})()}));var u=a((function(e){(function(t){if(typeof window==="undefined")return;var i=true,n=10,o="",r=0,a="",s=null,c="",f=false,u={resize:1,click:1},l=128,d=true,h=1,m="bodyOffset",p=m,w=true,g="",v={},z=32,b=null,y=false,k=false,x="[iFrameSizer]",_=x.length,I="",T={max:1,min:1,bodyScroll:1,documentElementScroll:1},M="child",S=window.parent,O="*",N=0,R=false,E=null,F=16,C=1,j="scroll",A=j,P=window,D=function(){Z("onMessage function not defined")},L=function(){},W=function(){},H={height:function(){Z("Custom height calculation function not defined");return document.documentElement.offsetHeight},width:function(){Z("Custom width calculation function not defined");return document.body.scrollWidth}},V={},$=false;function q(){}try{var J=Object.create({},{passive:{get:function(){$=true}}});window.addEventListener("test",q,J);window.removeEventListener("test",q,J)}catch(e){}function U(e,t,i,n){e.addEventListener(t,i,$?n||{}:false)}function B(e,t,i){e.removeEventListener(t,i,false)}function Q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function G(e){var t,i,n,o=null,r=0,a=function(){r=Date.now();o=null;n=e.apply(t,i);if(!o){t=i=null}};return function(){var s=Date.now();if(!r){r=s}var c=F-(s-r);t=this;i=arguments;if(c<=0||c>F){if(o){clearTimeout(o);o=null}r=s;n=e.apply(t,i);if(!o){t=i=null}}else if(!o){o=setTimeout(a,c)}return n}}function X(e){return x+"["+I+"] "+e}function Y(e){if(y&&"object"===typeof window.console){console.log(X(e))}}function Z(e){if("object"===typeof window.console){console.warn(X(e))}}function K(){ee();Y("Initialising iFrame ("+window.location.href+")");ie();re();oe("background",o);oe("padding",c);pe();ue();le();ae();ve();ge();de();v=we();Ee("init","Init message from host page");L()}function ee(){function e(e){return"true"===e}var n=g.slice(_).split(":");I=n[0];r=t===n[1]?r:Number(n[1]);f=t===n[2]?f:e(n[2]);y=t===n[3]?y:e(n[3]);z=t===n[4]?z:Number(n[4]);i=t===n[6]?i:e(n[6]);a=n[7];p=t===n[8]?p:n[8];o=n[9];c=n[10];N=t===n[11]?N:Number(n[11]);v.enable=t===n[12]?false:e(n[12]);M=t===n[13]?M:n[13];A=t===n[14]?A:n[14];k=t===n[15]?k:e(n[15])}function te(e){var t=e.split("Callback");if(t.length===2){var i="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[i]=this[e];delete this[e];Z("Deprecated: '"+e+"' has been renamed '"+i+"'. The old method will be removed in the next major version.")}}function ie(){function e(){var e=window.iFrameResizer;Y("Reading data from page: "+JSON.stringify(e));Object.keys(e).forEach(te,e);D="onMessage"in e?e.onMessage:D;L="onReady"in e?e.onReady:L;O="targetOrigin"in e?e.targetOrigin:O;p="heightCalculationMethod"in e?e.heightCalculationMethod:p;A="widthCalculationMethod"in e?e.widthCalculationMethod:A}function t(e,t){if("function"===typeof e){Y("Setup custom "+t+"CalcMethod");H[t]=e;e="custom"}return e}if("iFrameResizer"in window&&Object===window.iFrameResizer.constructor){e();p=t(p,"height");A=t(A,"width")}Y("TargetOrigin for parent set to: "+O)}function ne(e,t){if(-1!==t.indexOf("-")){Z("Negative CSS value ignored for "+e);t=""}return t}function oe(e,i){if(t!==i&&""!==i&&"null"!==i){document.body.style[e]=i;Y("Body "+e+' set to "'+i+'"')}}function re(){if(t===a){a=r+"px"}oe("margin",ne("margin",a))}function ae(){document.documentElement.style.height="";document.body.style.height="";Y('HTML & body height set to "auto"')}function se(e){var t={add:function(t){function i(){Ee(e.eventName,e.eventType)}V[t]=i;U(window,t,i,{passive:true})},remove:function(e){var t=V[e];delete V[e];B(window,e,t)}};if(e.eventNames&&Array.prototype.map){e.eventName=e.eventNames[0];e.eventNames.map(t[e.method])}else{t[e.method](e.eventName)}Y(Q(e.method)+" event listener: "+e.eventType)}function ce(e){se({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]});se({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]});se({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]});se({method:e,eventType:"Input",eventName:"input"});se({method:e,eventType:"Mouse Up",eventName:"mouseup"});se({method:e,eventType:"Mouse Down",eventName:"mousedown"});se({method:e,eventType:"Orientation Change",eventName:"orientationchange"});se({method:e,eventType:"Print",eventNames:["afterprint","beforeprint"]});se({method:e,eventType:"Ready State Change",eventName:"readystatechange"});se({method:e,eventType:"Touch Start",eventName:"touchstart"});se({method:e,eventType:"Touch End",eventName:"touchend"});se({method:e,eventType:"Touch Cancel",eventName:"touchcancel"});se({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]});se({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]});se({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]});if("child"===M){se({method:e,eventType:"IFrame Resized",eventName:"resize"})}}function fe(e,t,i,n){if(t!==e){if(!(e in i)){Z(e+" is not a valid option for "+n+"CalculationMethod.");e=t}Y(n+' calculation method set to "'+e+'"')}return e}function ue(){p=fe(p,m,Se,"height")}function le(){A=fe(A,j,Oe,"width")}function de(){if(true===i){ce("add");ye()}else{Y("Auto Resize disabled")}}function he(){if(null!==s){s.disconnect()}}function me(){ce("remove");he();clearInterval(b)}function pe(){var e=document.createElement("div");e.style.clear="both";e.style.display="block";e.style.height="0";document.body.appendChild(e)}function we(){function e(){return{x:window.pageXOffset===t?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===t?document.documentElement.scrollTop:window.pageYOffset}}function i(t){var i=t.getBoundingClientRect(),n=e();return{x:parseInt(i.left,10)+parseInt(n.x,10),y:parseInt(i.top,10)+parseInt(n.y,10)}}function n(e){function n(e){var t=i(e);Y("Moving to in page link (#"+o+") at x: "+t.x+" y: "+t.y);Ae(t.y,t.x,"scrollToOffset")}var o=e.split("#")[1]||e,r=decodeURIComponent(o),a=document.getElementById(r)||document.getElementsByName(r)[0];if(t===a){Y("In page link (#"+o+") not found in iFrame, so sending to parent");Ae(0,0,"inPageLink","#"+o)}else{n(a)}}function o(){var e=window.location.hash;var t=window.location.href;if(""!==e&&"#"!==e){n(t)}}function r(){function e(e){function t(e){e.preventDefault();n(this.getAttribute("href"))}if("#"!==e.getAttribute("href")){U(e,"click",t)}}Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),e)}function a(){U(window,"hashchange",o)}function s(){setTimeout(o,l)}function c(){if(Array.prototype.forEach&&document.querySelectorAll){Y("Setting up location.hash handlers");r();a();s()}else{Z("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}}if(v.enable){c()}else{Y("In page linking not enabled")}return{findTarget:n}}function ge(){if(k!==true)return;function e(e){Ae(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,i){Y("Add event listener: "+i);U(window.document,t,e)}t("mouseenter","Mouse Enter");t("mouseleave","Mouse Leave")}function ve(){Y("Enable public methods");P.parentIFrame={autoResize:function e(t){if(true===t&&false===i){i=true;de()}else if(false===t&&true===i){i=false;me()}Ae(0,0,"autoResize",JSON.stringify(i));return i},close:function e(){Ae(0,0,"close")},getId:function e(){return I},getPageInfo:function e(t){if("function"===typeof t){W=t;Ae(0,0,"pageInfo")}else{W=function(){};Ae(0,0,"pageInfoStop")}},moveToAnchor:function e(t){v.findTarget(t)},reset:function e(){je("parentIFrame.reset")},scrollTo:function e(t,i){Ae(i,t,"scrollTo")},scrollToOffset:function e(t,i){Ae(i,t,"scrollToOffset")},sendMessage:function e(t,i){Ae(0,0,"message",JSON.stringify(t),i)},setHeightCalculationMethod:function e(t){p=t;ue()},setWidthCalculationMethod:function e(t){A=t;le()},setTargetOrigin:function e(t){Y("Set targetOrigin: "+t);O=t},size:function e(t,i){var n=""+(t||"")+(i?","+i:"");Ee("size","parentIFrame.size("+n+")",t,i)}}}function ze(){if(0!==z){Y("setInterval: "+z+"ms");b=setInterval((function(){Ee("interval","setInterval: "+z)}),Math.abs(z))}}function be(){function e(e){function t(e){if(false===e.complete){Y("Attach listeners to "+e.src);e.addEventListener("load",o,false);e.addEventListener("error",r,false);c.push(e)}}if(e.type==="attributes"&&e.attributeName==="src"){t(e.target)}else if(e.type==="childList"){Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}}function t(e){c.splice(c.indexOf(e),1)}function i(e){Y("Remove listeners from "+e.src);e.removeEventListener("load",o,false);e.removeEventListener("error",r,false);t(e)}function n(e,t,n){i(e.target);Ee(t,n+": "+e.target.src)}function o(e){n(e,"imageLoad","Image loaded")}function r(e){n(e,"imageLoadFailed","Image load failed")}function a(t){Ee("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type);t.forEach(e)}function s(){var e=document.querySelector("body"),t={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true};u=new f(a);Y("Create body MutationObserver");u.observe(e,t);return u}var c=[],f=window.MutationObserver||window.WebKitMutationObserver,u=s();return{disconnect:function(){if("disconnect"in u){Y("Disconnect body MutationObserver");u.disconnect();c.forEach(i)}}}}function ye(){var e=0>z;if(window.MutationObserver||window.WebKitMutationObserver){if(e){ze()}else{s=be()}}else{Y("MutationObserver not supported in this browser!");ze()}}function ke(e,t){var i=0;t=t||document.body;i=document.defaultView.getComputedStyle(t,null);i=null===i?0:i[e];return parseInt(i,n)}function xe(e){if(e>F/2){F=2*e;Y("Event throttle increased to "+F+"ms")}}function _e(e,t){var i=t.length,n=0,o=0,r=Q(e),a=Date.now();for(var s=0;s<i;s++){n=t[s].getBoundingClientRect()[e]+ke("margin"+r,t[s]);if(n>o){o=n}}a=Date.now()-a;Y("Parsed "+i+" HTML elements");Y("Element position calculated in "+a+"ms");xe(a);return o}function Ie(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function Te(e,t){function i(){Z("No tagged elements ("+t+") found on page");return document.querySelectorAll("body *")}var n=document.querySelectorAll("["+t+"]");if(n.length===0)i();return _e(e,n)}function Me(){return document.querySelectorAll("body *")}var Se={bodyOffset:function e(){return document.body.offsetHeight+ke("marginTop")+ke("marginBottom")},offset:function(){return Se.bodyOffset()},bodyScroll:function e(){return document.body.scrollHeight},custom:function e(){return H.height()},documentElementOffset:function e(){return document.documentElement.offsetHeight},documentElementScroll:function e(){return document.documentElement.scrollHeight},max:function e(){return Math.max.apply(null,Ie(Se))},min:function e(){return Math.min.apply(null,Ie(Se))},grow:function e(){return Se.max()},lowestElement:function e(){return Math.max(Se.bodyOffset()||Se.documentElementOffset(),_e("bottom",Me()))},taggedElement:function e(){return Te("bottom","data-iframe-height")}},Oe={bodyScroll:function e(){return document.body.scrollWidth},bodyOffset:function e(){return document.body.offsetWidth},custom:function e(){return H.width()},documentElementScroll:function e(){return document.documentElement.scrollWidth},documentElementOffset:function e(){return document.documentElement.offsetWidth},scroll:function e(){return Math.max(Oe.bodyScroll(),Oe.documentElementScroll())},max:function e(){return Math.max.apply(null,Ie(Oe))},min:function e(){return Math.min.apply(null,Ie(Oe))},rightMostElement:function e(){return _e("right",Me())},taggedElement:function e(){return Te("right","data-iframe-width")}};function Ne(e,i,n,o){function r(){h=d;C=m;Ae(h,C,e)}function a(){function e(e,t){var i=Math.abs(e-t)<=N;return!i}d=t===n?Se[p]():n;m=t===o?Oe[A]():o;return e(h,d)||f&&e(C,m)}function s(){return!(e in{init:1,interval:1,size:1})}function c(){return p in T||f&&A in T}function u(){Y("No change in size detected")}function l(){if(s()&&c()){je(i)}else if(!(e in{interval:1})){u()}}var d,m;if(a()||"init"===e){Fe();r()}else{l()}}var Re=G(Ne);function Ee(e,t,i,n){function o(){if(!(e in{reset:1,resetPage:1,init:1})){Y("Trigger event: "+t)}}function r(){return R&&e in u}if(r()){Y("Trigger event cancelled: "+e)}else{o();if(e==="init"){Ne(e,t,i,n)}else{Re(e,t,i,n)}}}function Fe(){if(!R){R=true;Y("Trigger event lock on")}clearTimeout(E);E=setTimeout((function(){R=false;Y("Trigger event lock off");Y("--")}),l)}function Ce(e){h=Se[p]();C=Oe[A]();Ae(h,C,e)}function je(e){var t=p;p=m;Y("Reset trigger event: "+e);Fe();Ce("reset");p=t}function Ae(e,i,n,o,r){function a(){if(t===r){r=O}else{Y("Message targetOrigin: "+r)}}function s(){var a=e+":"+i,s=I+":"+a+":"+n+(t===o?"":":"+o);Y("Sending message to host page ("+s+")");S.postMessage(x+s,r)}{a();s()}}function Pe(i){var n={init:function e(){g=i.data;S=i.source;K();d=false;setTimeout((function(){w=false}),l)},reset:function e(){if(w){Y("Page reset ignored by init")}else{Y("Page size reset by host page");Ce("resetPage")}},resize:function e(){Ee("resizeParent","Parent window requested size check")},moveToAnchor:function e(){v.findTarget(a())},inPageLink:function e(){this.moveToAnchor()},pageInfo:function e(){var t=a();Y("PageInfoFromParent called from parent: "+t);W(JSON.parse(t));Y(" --")},message:function e(){var t=a();Y("onMessage called from parent: "+t);D(JSON.parse(t));Y(" --")}};function o(){return x===(""+i.data).slice(0,_)}function r(){return i.data.split("]")[1].split(":")[0]}function a(){return i.data.slice(i.data.indexOf(":")+1)}function s(){return!e.exports&&"iFrameResize"in window||window.jQuery!==t&&"iFrameResize"in window.jQuery.prototype}function c(){return i.data.split(":")[2]in{true:1,false:1}}function f(){var e=r();if(e in n){n[e]()}else if(!s()&&!c()){Z("Unexpected message ("+i.data+")")}}function u(){if(false===d){f()}else if(c()){n.init()}else{Y('Ignored message of type "'+r()+'". Received before initialization.')}}if(o()){u()}}function De(){if("loading"!==document.readyState){window.parent.postMessage("[iFrameResizerChild]Ready","*")}}if(!("iframeResizer"in window)){window.iframeChildListener=function(e){Pe({data:e,sameDomian:true})};U(window,"message",Pe);U(window,"readystatechange",De);De()}})()}));var l={iframeResize:f,iframeResizer:f,contentWindow:u};const d='.sc-stzh-iframe-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-iframe-h{display:none}.sc-stzh-iframe-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-iframe-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-iframe-h *.sc-stzh-iframe,.sc-stzh-iframe-h *.sc-stzh-iframe::before,.sc-stzh-iframe-h *.sc-stzh-iframe::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-iframe-h .has-focus.sc-stzh-iframe{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-iframe-h .stzh-fylingfocus-focused.sc-stzh-iframe{outline-style:none !important}.sc-stzh-iframe-h .stzh-fylingfocus-focused.sc-stzh-iframe::-moz-focus-inner{border:0 !important}.sc-stzh-iframe-h{position:relative}.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=preview-logo]{width:100%}.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=preview-image]{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=cookiewall-text]{margin:0}.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=cookiewall-text] p{margin:0}.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=cookiewall-text] p:not(:last-child){margin-bottom:var(--stzh-space-small)}@media screen and (min-width: 900px){.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=cookiewall-text] p:not(:last-child){margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.sc-stzh-iframe-h .sc-stzh-iframe-s>[slot=cookiewall-text] p:not(:last-child){margin-bottom:var(--stzh-space-large)}}.stzh-iframe.sc-stzh-iframe{width:100%;height:100%}.stzh-iframe__iframe.sc-stzh-iframe{width:100%}.stzh-iframe__cookiewall.sc-stzh-iframe,.stzh-iframe__preview.sc-stzh-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.stzh-iframe__iframe.sc-stzh-iframe,.stzh-iframe__preview.sc-stzh-iframe{border:none}.stzh-iframe__preview.sc-stzh-iframe,.stzh-iframe__cookiewall.sc-stzh-iframe{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--stzh-space-medium);visibility:hidden}.stzh-iframe__preview.is-visible.sc-stzh-iframe,.stzh-iframe__cookiewall.is-visible.sc-stzh-iframe{visibility:visible}.stzh-iframe__preview.sc-stzh-iframe{z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:var(--stzh-color-grey20)}.stzh-iframe__preview-image-wrapper.sc-stzh-iframe:not(:empty)+.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{display:none}.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{top:var(--stzh-space-xlarge);left:var(--stzh-space-xlarge);position:absolute;width:45%}@media screen and (min-width: 900px){.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{top:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 900px){.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{left:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-iframe__preview-logo-wrapper.sc-stzh-iframe{left:var(--stzh-space-xxxlarge)}}.stzh-iframe__preview-run.sc-stzh-iframe{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:var(--stzh-color-primary);color:var(--stzh-color-white);display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--stzh-form-input-small-height);height:var(--stzh-form-input-small-height);visibility:hidden;transition:background-color var(--stzh-base-transition-animation-speed)}.stzh-iframe__preview-run.is-visible.sc-stzh-iframe{visibility:visible}@media screen and (min-width: 900px){.stzh-iframe__preview-run.sc-stzh-iframe{width:var(--stzh-form-input-height);height:var(--stzh-form-input-height)}}.stzh-iframe__preview.sc-stzh-iframe:hover .stzh-iframe__preview-run.sc-stzh-iframe{background-color:var(--stzh-color-secondary60)}@media screen and (min-width: 900px){.stzh-iframe__preview-run-icon.sc-stzh-iframe{--size:var(--stzh-icon-size-large)}}.stzh-iframe__cookiewall.sc-stzh-iframe{padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium);z-index:2;text-align:center;background-color:var(--stzh-color-black60op);color:var(--stzh-color-white)}@media screen and (min-width: 600px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-left:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-left:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-left:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-right:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-right:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-iframe__cookiewall.sc-stzh-iframe{padding-right:var(--stzh-space-xxlarge)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall.sc-stzh-iframe{-moz-column-gap:var(--stzh-grid-gutter);column-gap:var(--stzh-grid-gutter);display:grid;grid-template-areas:". content content content content content content .";grid-template-columns:repeat(8, minmax(0, 1fr));padding-left:0;padding-right:0}}@media screen and (min-width: 900px) and (min-width: 600px){.stzh-iframe__cookiewall.sc-stzh-iframe{-moz-column-gap:var(--stzh-grid-gutter-small);column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 900px) and (min-width: 900px){.stzh-iframe__cookiewall.sc-stzh-iframe{-moz-column-gap:var(--stzh-grid-gutter-medium);column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 900px) and (min-width: 1260px){.stzh-iframe__cookiewall.sc-stzh-iframe{-moz-column-gap:var(--stzh-grid-gutter-large);column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 900px) and (min-width: 1600px){.stzh-iframe__cookiewall.sc-stzh-iframe{-moz-column-gap:var(--stzh-grid-gutter-ultra);column-gap:var(--stzh-grid-gutter-ultra)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall-content.sc-stzh-iframe{grid-area:content}}.stzh-iframe__cookiewall-text.sc-stzh-iframe{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);padding-top:var(--stzh-space-small);padding-bottom:var(--stzh-space-small);margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 900px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{padding-top:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 600px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-iframe__cookiewall-text.sc-stzh-iframe{margin-bottom:var(--stzh-space-xxlarge)}}.stzh-iframe__cookiewall-close.sc-stzh-iframe{top:0;right:0;position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:flex;align-items:center;justify-content:center;padding:var(--stzh-space-xsmall);background-color:transparent;color:var(--stzh-color-white);cursor:pointer}';const h="stzh-components-iframe-confirm";let m=0;const p=class{constructor(i){e(this,i);this.stzhPreviewSkip=t(this,"stzhPreviewSkip",7);this.stzhViewChange=t(this,"stzhViewChange",7);this._src=null;this.updateFocus=false;this.handleIframeLoad=()=>{if(this.updateFocus){this.iframeElement.focus();this.updateFocus=false}this.initializeIframeResizing()};this.handleCookiewallCloseClick=()=>{this.updateFocus=true;this.view="preview";this.stzhViewChange.emit({component:"stzh-iframe",value:this.view})};this.handleCookiewallConfirmClick=()=>{r.set(`${h}-${this.cookie}`,"1",{expires:this.cookieExpires||null});this.updateFocus=true;this.view="iframe";this.stzhViewChange.emit({component:"stzh-iframe",value:this.view})};this.handlePreviewClick=()=>{const e=r.get(`${h}-${this.cookie}`)||false;this.updateFocus=true;if(!this.cookie||e){this.view="iframe"}else{this.view="cookiewall"}this.stzhViewChange.emit({component:"stzh-iframe",value:this.view})};this.localization=undefined;this.iframeId=undefined;this.iframeErrorText=undefined;this.iframeResizerVariant="None";this.iframeResizerHeightCorrection=undefined;this.iframeResizerSecondlevelDomain=undefined;this.name=undefined;this.sandbox=undefined;this.referrerpolicy=undefined;this.allow="autoplay; fullscreen";this.width="100%";this.height="100%";this.src="";this.cookie=undefined;this.cookieExpires=365;this.cookieConfirmIcon=undefined;this.cookieConfirmLabel=undefined;this.cookieConfirmText=undefined;this.previewLabel=undefined;this.previewIcon="external-link";this.skipPreviewIfCookieAccepted=false;this.skipPreview=false;this.view="preview"}srcWatcher(e){if(this.view==="iframe"){this._src=e}}viewWatcher(e){if(e==="iframe"){this._src=this.src}else{this._src=null}}initializeIframeResizing(){switch(this.iframeResizerVariant){case"None":return;case"PostMessage":console.log("iFrameResizeModule",l);l.iframeResize({log:s()!==c.PROD,checkOrigin:false},this.iframeElement);break;case"SameSecondLevelDomain":if(!this.iframeResizerSecondlevelDomain){console.log("stzh-iframe:","property 'iframeSecondlevelDomain' not filled out.")}this.setupIframeAutoSizing({frameId:this.iframeId,heightCorrection:this.iframeResizerHeightCorrection||0,hasSameDomain:false,secondLevelDomain:this.iframeResizerSecondlevelDomain});break}}setupIframeAutoSizing(e){const t=(e,t)=>()=>{var i;try{const n=((i=e.contentWindow)===null||i===void 0?void 0:i.document.body.scrollHeight)||0;if(n>0){e.style.height=`${n+t.heightCorrection}px`}}catch(e){console.warn("stzh-iframe:","Resizing not possible, perhaps due to cross-domain restrictions:",e)}};if(!e.hasSameDomain){document.domain=e.secondLevelDomain}const i=document.getElementById(e.frameId);if(!i){console.error(`Iframe with ID ${e.frameId} not found`);return}const n=t(i,e);window.addEventListener("resize",n);i.addEventListener("load",n);i.addEventListener("blur",n);i.addEventListener("readystatechange",n);try{n()}catch(e){console.warn("Initial resize failed, likely due to iframe not being fully loaded yet:",e)}}async componentWillLoad(){this.internalId=`stzh-iframe-${m++}`;const e=r.get(`${h}-${this.cookie}`)||false;if((!this.cookie||e)&&(this.skipPreviewIfCookieAccepted||this.skipPreview)||!this.cookie&&this.skipPreview){this.stzhPreviewSkip.emit({component:"stzh-iframe"});this.view="iframe"}else if(this.cookie&&this.skipPreview){this.view="cookiewall"}this.viewWatcher(this.view);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"iframe")}}async componentDidRender(){if(this.updateFocus){if(this.view==="iframe");else if(this.view==="preview"){this.previewButtonElement.focus();this.updateFocus=false}else if(this.view==="cookiewall"){this.confirmButtonElement.focus();this.updateFocus=false}}}render(){const e={"stzh-iframe":true};return i(n,null,i("div",{class:e},this.view==="iframe"&&i("iframe",{id:this.iframeId,name:this.name,sandbox:this.sandbox,referrerPolicy:this.referrerpolicy,width:this.width,height:this.height,ref:e=>this.iframeElement=e,class:"stzh-iframe__iframe",src:this._src,allow:this.allow,onLoad:this.handleIframeLoad},this.iframeErrorText),i("button",{ref:e=>this.previewButtonElement=e,onClick:this.handlePreviewClick,"aria-label":this.previewLabel||this.localization.defaultPreviewLabel,class:{"stzh-iframe__preview":true,"is-visible":this.view==="preview"||this.view==="cookiewall"}},i("div",{class:"stzh-iframe__preview-image-wrapper"},i("slot",{name:"preview-image"})),i("div",{class:"stzh-iframe__preview-logo-wrapper"},i("slot",{name:"preview-logo"})),this.previewIcon&&i("div",{class:{"stzh-iframe__preview-run":true,"is-visible":this.view==="preview"}},i("stzh-icon",{class:"stzh-iframe__preview-run-icon",name:this.previewIcon}))),this.cookie&&i("div",{class:{"stzh-iframe__cookiewall":true,"is-visible":this.view==="cookiewall"}},i("div",{class:"stzh-iframe__cookiewall-content"},i("div",{class:"stzh-iframe__cookiewall-text",id:`${this.internalId}-cookiewall-text`},this.cookieConfirmText?this.cookieConfirmText:i("slot",{name:"cookiewall-text"})),i("stzh-button",{ref:e=>this.confirmButtonElement=e,class:"stzh-iframe__cookiewall-button",size:"small",a11yDescribedby:`${this.internalId}-cookiewall-text`,icon:this.cookieConfirmIcon,label:this.cookieConfirmLabel||this.localization.defaultConfirmLabel,onClick:this.handleCookiewallConfirmClick})),!this.skipPreview&&i("button",{class:"stzh-iframe__cookiewall-close",onClick:this.handleCookiewallCloseClick,"aria-label":this.localization.confirmCloseLabel},i("stzh-icon",{class:"stzh-iframe__cookiewall-close-icon",name:"close"})))))}get element(){return o(this)}static get watchers(){return{src:["srcWatcher"],view:["viewWatcher"]}}};p.style=d;export{p as stzh_iframe};
2
+ //# sourceMappingURL=p-85143b35.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["console","info","undefined","window","count","destroyObserver","logEnabled","hiddenCheckEnabled","msgHeader","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","Object","freeze","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","license","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","mouseEvents","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onMouseEnter","onMouseLeave","onResized","onScroll","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","setupRequestAnimationFrame","vendors","x","bind","getMyID","iframeId","retStr","top","self","parentIFrame","getId","formatLogHeader","isLogEnabled","msg","output","type","enabled","iFrameListener","event","resizeIFrame","resize","setSize","messageData","setPagePosition","on","ensureInRange","syncResize","processMsg","data","slice","split","height","parseInt","iframe","compStyle","getComputedStyle","getPaddingEnds","getBorderEnds","width","boxSizing","paddingTop","bot","paddingBottom","borderTopWidth","borderBottomWidth","Dimension","Number","min","dimension","toLowerCase","size","isMessageFromIFrame","checkAllowedOrigin","checkList","i","retCode","origin","checkSingle","remoteHost","constructor","Array","Error","isMessageForUs","isMessageFromMetaParent","true","false","getMsgBody","offset","indexOf","forwardMsgFromIFrame","msgBody","message","JSON","parse","getPageInfo","bodyPosition","document","body","getBoundingClientRect","iFramePosition","stringify","iframeHeight","iframeWidth","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","sendPageInfoToIframe","debouncedTrigger","trigger","debounceFrameEvents","startPageInfoMonitor","setListener","sendPageInfo","stop","forEach","start","stopPageInfo","stopPageInfoMonitor","checkIFrameExists","retBool","getElementPosition","target","getPagePosition","floor","y","scrollRequestFromChild","addOffset","reposition","newPosition","scrollTo","calcOffset","scrollParent","unsetPagePosition","findTarget","location","jumpToTarget","jumpPosition","hash","jumpToParent","moveToAnchor","hashData","decodeURIComponent","getElementById","getElementsByName","onMouse","mousePos","screenX","screenY","funcName","val","chkEvent","actionMsg","firstRun","closeIFrame","resetIFrame","hasSettings","iFrameReadyMsgReceived","createOutgoingMsg","loaded","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","disconnect","reset","setDimension","style","chkZero","fixHiddenIFrames","processDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","postMessageToIFrame","targetOrigin","contentWindow","postMessage","iFrameNotFound","chkAndSend","warnOnNoResponse","warning","errorShown","msgTimeout","setTimeout","isNumber","value","setupIFrame","options","setLimits","addStyle","styleValue","chkMinMax","newId","ensureHasId","src","setScrolling","overflow","setupBodyMarginValues","checkReset","resetRequertMethod","setupIFrameObject","iFrameResizer","close","removeListeners","anchor","sendMessage","init","iFrameLoaded","createDestroyObserver","mutations","mutation","removedNodes","prototype","call","removedNode","observe","childList","checkOptions","copyOptions","option","hasOwnProperty","getTargetOrigin","match","depricate","key","splitName","name","charAt","toUpperCase","this","processOptions","create","join","keys","beenHere","debouce","fn","time","frameTimer","frameId","checkIFrames","checkIFrame","settingId","chkDimension","isVisible","offsetParent","mutationObserved","createMutationObserver","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","subtree","observer","resizeIFrames","sendTriggerMsg","tabVisible","visibilityState","eventName","isIFrameResizeEnabled","setupEventListeners","factory","element","chkType","tagName","iFrames","push","warnDeprecatedOptions","iFrameResizeF","querySelectorAll","createJQueryPublicMethod","$","iFrameResize","$iFrameResizeF","index","filter","each","end","jQuery","define","amd","module","exports","base","bodyMarginStr","bodyObserver","calculateWidth","doubleEventList","click","eventCancelTimer","heightCalcModeDefault","heightCalcMode","initLock","initMsg","intervalTimer","logging","msgID","myID","parent","targetOriginDefault","triggerLocked","triggerLockedTimer","throttledTimer","widthCalcModeDefault","widthCalcMode","win","onReady","onPageInfo","customCalcMethods","offsetHeight","scrollWidth","eventHandlersByName","passiveSupported","noop","passive","get","capitalizeFirstLetter","string","throttle","context","args","result","timeout","previous","later","Date","now","apply","remaining","arguments","clearTimeout","formatLogMsg","readDataFromParent","href","readDataFromPage","setMargin","setBodyStyle","injectClearFixIntoBodyElement","checkHeightMode","checkWidthMode","stopInfiniteResizingOfIFrame","setupPublicMethods","setupMouseEvents","startEventListeners","setupInPageLinks","sendSize","strBool","str","enable","readData","setupCustomCalcMethods","calcMode","calcFunc","chkCSS","attr","manageTriggerEvent","listener","add","handleEvent","eventType","remove","eventNames","map","method","manageEventListeners","checkCalcMode","calcModeDefault","modes","getHeight","getWidth","setupMutationObserver","disconnectMutationObserver","stopEventListeners","clearInterval","clearFix","createElement","clear","display","appendChild","elPosition","sendMsg","checkLocationHash","bindAnchors","setupLink","linkClicked","e","preventDefault","getAttribute","bindLocationHash","initCheck","enableInPageLinks","sendMouse","addMouseListener","autoResizeF","closeF","getIdF","getPageInfoF","callback","moveToAnchorF","resetF","scrollToF","scrollToOffset","sendMessageF","setHeightCalculationMethod","setHeightCalculationMethodF","setWidthCalculationMethod","setWidthCalculationMethodF","setTargetOrigin","setTargetOriginF","sizeF","customHeight","customWidth","valString","initInterval","setInterval","abs","setupBodyMutationObserver","addImageLoadListners","addImageLoadListener","complete","imageLoaded","imageError","elements","attributeName","removeFromArray","splice","removeImageLoadListener","imageEventTriggered","typeDesc","forceIntervalTimer","prop","defaultView","chkEventThottle","getMaxElement","side","elementsLength","elVal","maxVal","Side","getAllMeasurements","dimensions","bodyOffset","documentElementOffset","getTaggedElements","tag","noTaggedElementsFound","getAllElements","getBodyOffsetHeight","getBodyScrollHeight","scrollHeight","custom","getCustomWidth","getDEOffsetHeight","getDEScrollHeight","getMaxHeight","getMinHeight","grow","growHeight","lowestElement","getBestHeight","taggedElement","getTaggedElementsHeight","getBodyScrollWidth","getBodyOffsetWidth","offsetWidth","getDEScrollWidth","getDEOffsetWidth","getMaxWidth","getMinWidth","rightMostElement","getTaggedElementsWidth","sizeIFrame","triggerEvent","triggerEventDesc","currentHeight","currentWidth","isSizeChangeDetected","checkTolarance","a","b","isForceResizableEvent","isForceResizableCalcMode","logIgnored","checkDownSizing","lockTrigger","sizeIFrameThrottled","recordTrigger","resetPage","isDoubleFiredEvent","triggerReset","hcm","sendToParent","receiver","processRequestFromParent","initFromParent","source","resetFromParent","resizeFromParent","getData","inPageLink","inPageLinkF","pageInfo","pageInfoFromParent","messageFromParent","getMessageType","isMiddleTier","isInitMsg","callFromParent","messageType","processMessage","chkLateLoaded","readyState","iframeChildListener","sameDomian","iframeResizer","iframeResize","require$$0","stzhIframeCss","COOKIE_PREFIX_CONFIRM","iframeCounter","StzhIframe","_src","updateFocus","handleIframeLoad","iframeElement","focus","initializeIframeResizing","handleCookiewallCloseClick","view","stzhViewChange","emit","component","handleCookiewallConfirmClick","Cookies","set","cookie","expires","cookieExpires","handlePreviewClick","cookieAccepted","srcWatcher","newValue","viewWatcher","iframeResizerVariant","iFrameResizeModule","getStzhEnvironment","StzhEnvironmentEnum","PROD","iframeResizerSecondlevelDomain","setupIframeAutoSizing","heightCorrection","iframeResizerHeightCorrection","hasSameDomain","secondLevelDomain","createResizer","newHeight","_a","domain","resizer","componentWillLoad","internalId","skipPreviewIfCookieAccepted","skipPreview","stzhPreviewSkip","localization","stzhComponents","utils","fetchTranslations","componentDidRender","previewButtonElement","confirmButtonElement","render","classes","h","Host","class","sandbox","referrerPolicy","referrerpolicy","ref","allow","onLoad","iframeErrorText","onClick","previewLabel","defaultPreviewLabel","previewIcon","cookieConfirmText","a11yDescribedby","icon","cookieConfirmIcon","label","cookieConfirmLabel","defaultConfirmLabel","confirmCloseLabel"],"sources":["node_modules/iframe-resizer/js/iframeResizer.js","node_modules/iframe-resizer/js/iframeResizer.contentWindow.js","node_modules/iframe-resizer/index.js","src/components/stzh-iframe/stzh-iframe.scss?tag=stzh-iframe&encapsulation=scoped","src/components/stzh-iframe/stzh-iframe.tsx"],"sourcesContent":["/*\n * File: iframeResizer.js\n * Desc: Force iframes to size to content.\n * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.\n * Doc: https://iframe-resizer.com\n * Author: David J. Bradshaw - info@iframe-resizer.com\n */\n\nconsole.info(`\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 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.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n`)\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n // var VERSION = '4.3.11'\n\n var count = 0,\n destroyObserver,\n logEnabled = false,\n hiddenCheckEnabled = false,\n msgHeader = 'message',\n msgHeaderLen = msgHeader.length,\n msgId = '[iFrameSizer]', // Must match iframe msg ID\n msgIdLen = msgId.length,\n pagePosition = null,\n requestAnimationFrame = window.requestAnimationFrame,\n resetRequiredMethods = Object.freeze({\n max: 1,\n scroll: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n }),\n settings = {},\n timer = null,\n defaults = Object.freeze({\n autoResize: true,\n bodyBackground: null,\n bodyMargin: null,\n bodyMarginV1: 8,\n bodyPadding: null,\n checkOrigin: true,\n inPageLinks: false,\n enablePublicMethods: true,\n heightCalculationMethod: 'bodyOffset',\n id: 'iFrameResizer',\n interval: 32,\n license: '1jqr0si6pnt',\n log: false,\n maxHeight: Infinity,\n maxWidth: Infinity,\n minHeight: 0,\n minWidth: 0,\n mouseEvents: true,\n resizeFrom: 'parent',\n scrolling: false,\n sizeHeight: true,\n sizeWidth: false,\n warningTimeout: 5000,\n tolerance: 0,\n widthCalculationMethod: 'scroll',\n onClose: function () {\n return true\n },\n onClosed: function () {},\n onInit: function () {},\n onMessage: function () {\n warn('onMessage function not defined')\n },\n onMouseEnter: function () {},\n onMouseLeave: function () {},\n onResized: function () {},\n onScroll: function () {\n return true\n }\n })\n\n function getMutationObserver() {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n )\n }\n\n function addEventListener(el, evt, func) {\n el.addEventListener(evt, func, false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function setupRequestAnimationFrame() {\n var vendors = ['moz', 'webkit', 'o', 'ms']\n var x\n\n // Remove vendor prefixing if prefixed and break early if not\n for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {\n requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']\n }\n\n if (requestAnimationFrame) {\n // Firefox extension content-scripts have a globalThis object that is not the same as window.\n // Binding `requestAnimationFrame` to window allows the function to work and prevents errors\n // being thrown when run in that context, and should be a no-op in every other context.\n requestAnimationFrame = requestAnimationFrame.bind(window)\n } else {\n log('setup', 'RequestAnimationFrame not supported')\n }\n }\n\n function getMyID(iframeId) {\n var retStr = 'Host page: ' + iframeId\n\n if (window.top !== window.self) {\n retStr =\n window.parentIFrame && window.parentIFrame.getId\n ? window.parentIFrame.getId() + ': ' + iframeId\n : 'Nested host page: ' + iframeId\n }\n\n return retStr\n }\n\n function formatLogHeader(iframeId) {\n return msgId + '[' + getMyID(iframeId) + ']'\n }\n\n function isLogEnabled(iframeId) {\n return settings[iframeId] ? settings[iframeId].log : logEnabled\n }\n\n function log(iframeId, msg) {\n output('log', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function info(iframeId, msg) {\n output('info', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function warn(iframeId, msg) {\n output('warn', iframeId, msg, true)\n }\n\n function output(type, iframeId, msg, enabled) {\n if (true === enabled && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console[type](formatLogHeader(iframeId), msg)\n }\n }\n\n function iFrameListener(event) {\n function resizeIFrame() {\n function resize() {\n setSize(messageData)\n setPagePosition(iframeId)\n on('onResized', messageData)\n }\n\n ensureInRange('Height')\n ensureInRange('Width')\n\n syncResize(resize, messageData, 'init')\n }\n\n function processMsg() {\n var data = msg.slice(msgIdLen).split(':')\n var height = data[1] ? parseInt(data[1], 10) : 0\n var iframe = settings[data[0]] && settings[data[0]].iframe\n var compStyle = getComputedStyle(iframe)\n\n return {\n iframe: iframe,\n id: data[0],\n height: height + getPaddingEnds(compStyle) + getBorderEnds(compStyle),\n width: data[2],\n type: data[3]\n }\n }\n\n function getPaddingEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.paddingTop ? parseInt(compStyle.paddingTop, 10) : 0\n var bot = compStyle.paddingBottom\n ? parseInt(compStyle.paddingBottom, 10)\n : 0\n return top + bot\n }\n\n function getBorderEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.borderTopWidth\n ? parseInt(compStyle.borderTopWidth, 10)\n : 0\n var bot = compStyle.borderBottomWidth\n ? parseInt(compStyle.borderBottomWidth, 10)\n : 0\n return top + bot\n }\n\n function ensureInRange(Dimension) {\n var max = Number(settings[iframeId]['max' + Dimension]),\n min = Number(settings[iframeId]['min' + Dimension]),\n dimension = Dimension.toLowerCase(),\n size = Number(messageData[dimension])\n\n log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max)\n\n if (size < min) {\n size = min\n log(iframeId, 'Set ' + dimension + ' to min value')\n }\n\n if (size > max) {\n size = max\n log(iframeId, 'Set ' + dimension + ' to max value')\n }\n\n messageData[dimension] = '' + size\n }\n\n function isMessageFromIFrame() {\n function checkAllowedOrigin() {\n function checkList() {\n var i = 0,\n retCode = false\n\n log(\n iframeId,\n 'Checking connection is from allowed list of origins: ' +\n checkOrigin\n )\n\n for (; i < checkOrigin.length; i++) {\n if (checkOrigin[i] === origin) {\n retCode = true\n break\n }\n }\n return retCode\n }\n\n function checkSingle() {\n var remoteHost = settings[iframeId] && settings[iframeId].remoteHost\n log(iframeId, 'Checking connection is from: ' + remoteHost)\n return origin === remoteHost\n }\n\n return checkOrigin.constructor === Array ? checkList() : checkSingle()\n }\n\n var origin = event.origin,\n checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin\n\n if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) {\n throw new Error(\n 'Unexpected message received from: ' +\n origin +\n ' for ' +\n messageData.iframe.id +\n '. Message was: ' +\n event.data +\n '. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.'\n )\n }\n\n return true\n }\n\n function isMessageForUs() {\n return (\n msgId === ('' + msg).slice(0, msgIdLen) &&\n msg.slice(msgIdLen).split(':')[0] in settings\n ) // ''+Protects against non-string msg\n }\n\n function isMessageFromMetaParent() {\n // Test if this message is from a parent above us. This is an ugly test, however, updating\n // the message format would break backwards compatibility.\n var retCode = messageData.type in { true: 1, false: 1, undefined: 1 }\n\n if (retCode) {\n log(iframeId, 'Ignoring init message from meta parent page')\n }\n\n return retCode\n }\n\n function getMsgBody(offset) {\n return msg.slice(msg.indexOf(':') + msgHeaderLen + offset)\n }\n\n function forwardMsgFromIFrame(msgBody) {\n log(\n iframeId,\n 'onMessage passed: {iframe: ' +\n messageData.iframe.id +\n ', message: ' +\n msgBody +\n '}'\n )\n\n on('onMessage', {\n iframe: messageData.iframe,\n message: JSON.parse(msgBody)\n })\n\n log(iframeId, '--')\n }\n\n function getPageInfo() {\n var bodyPosition = document.body.getBoundingClientRect(),\n iFramePosition = messageData.iframe.getBoundingClientRect()\n\n return JSON.stringify({\n iframeHeight: iFramePosition.height,\n iframeWidth: iFramePosition.width,\n clientHeight: Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n ),\n clientWidth: Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n ),\n offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10),\n offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10),\n scrollTop: window.pageYOffset,\n scrollLeft: window.pageXOffset,\n documentHeight: document.documentElement.clientHeight,\n documentWidth: document.documentElement.clientWidth,\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth\n })\n }\n\n function sendPageInfoToIframe(iframe, iframeId) {\n function debouncedTrigger() {\n trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId)\n }\n debounceFrameEvents(debouncedTrigger, 32, iframeId)\n }\n\n function startPageInfoMonitor() {\n function setListener(type, func) {\n function sendPageInfo() {\n if (settings[id]) {\n sendPageInfoToIframe(settings[id].iframe, id)\n } else {\n stop()\n }\n }\n\n ;['scroll', 'resize'].forEach(function (evt) {\n log(id, type + evt + ' listener for sendPageInfo')\n func(window, evt, sendPageInfo)\n })\n }\n\n function stop() {\n setListener('Remove ', removeEventListener)\n }\n\n function start() {\n setListener('Add ', addEventListener)\n }\n\n var id = iframeId // Create locally scoped copy of iFrame ID\n\n start()\n\n if (settings[id]) {\n settings[id].stopPageInfo = stop\n }\n }\n\n function stopPageInfoMonitor() {\n if (settings[iframeId] && settings[iframeId].stopPageInfo) {\n settings[iframeId].stopPageInfo()\n delete settings[iframeId].stopPageInfo\n }\n }\n\n function checkIFrameExists() {\n var retBool = true\n\n if (null === messageData.iframe) {\n warn(iframeId, 'IFrame (' + messageData.id + ') not found')\n retBool = false\n }\n return retBool\n }\n\n function getElementPosition(target) {\n var iFramePosition = target.getBoundingClientRect()\n\n getPagePosition(iframeId)\n\n return {\n x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)),\n y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y))\n }\n }\n\n function scrollRequestFromChild(addOffset) {\n /* istanbul ignore next */ // Not testable in Karma\n function reposition() {\n pagePosition = newPosition\n scrollTo()\n log(iframeId, '--')\n }\n\n function calcOffset() {\n return {\n x: Number(messageData.width) + offset.x,\n y: Number(messageData.height) + offset.y\n }\n }\n\n function scrollParent() {\n if (window.parentIFrame) {\n window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')](\n newPosition.x,\n newPosition.y\n )\n } else {\n warn(\n iframeId,\n 'Unable to scroll to requested position, window.parentIFrame not found'\n )\n }\n }\n\n var offset = addOffset\n ? getElementPosition(messageData.iframe)\n : { x: 0, y: 0 },\n newPosition = calcOffset()\n\n log(\n iframeId,\n 'Reposition requested from iFrame (offset x:' +\n offset.x +\n ' y:' +\n offset.y +\n ')'\n )\n\n if (window.top === window.self) {\n reposition()\n } else {\n scrollParent()\n }\n }\n\n function scrollTo() {\n if (false === on('onScroll', pagePosition)) {\n unsetPagePosition()\n } else {\n setPagePosition(iframeId)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget() {\n var jumpPosition = getElementPosition(target)\n\n log(\n iframeId,\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n pagePosition = {\n x: jumpPosition.x,\n y: jumpPosition.y\n }\n\n scrollTo()\n log(iframeId, '--')\n }\n\n function jumpToParent() {\n if (window.parentIFrame) {\n window.parentIFrame.moveToAnchor(hash)\n } else {\n log(\n iframeId,\n 'In page link #' +\n hash +\n ' not found and window.parentIFrame not found'\n )\n }\n }\n\n var hash = location.split('#')[1] || '',\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (target) {\n jumpToTarget()\n } else if (window.top === window.self) {\n log(iframeId, 'In page link #' + hash + ' not found')\n } else {\n jumpToParent()\n }\n }\n\n function onMouse(event) {\n var mousePos = {}\n\n if (Number(messageData.width) === 0 && Number(messageData.height) === 0) {\n var data = getMsgBody(9).split(':')\n mousePos = {\n x: data[1],\n y: data[0]\n }\n } else {\n mousePos = {\n x: messageData.width,\n y: messageData.height\n }\n }\n\n on(event, {\n iframe: messageData.iframe,\n screenX: Number(mousePos.x),\n screenY: Number(mousePos.y),\n type: messageData.type\n })\n }\n\n function on(funcName, val) {\n return chkEvent(iframeId, funcName, val)\n }\n\n function actionMsg() {\n if (settings[iframeId] && settings[iframeId].firstRun) firstRun()\n\n switch (messageData.type) {\n case 'close': {\n closeIFrame(messageData.iframe)\n break\n }\n\n case 'message': {\n forwardMsgFromIFrame(getMsgBody(6))\n break\n }\n\n case 'mouseenter': {\n onMouse('onMouseEnter')\n break\n }\n\n case 'mouseleave': {\n onMouse('onMouseLeave')\n break\n }\n\n case 'autoResize': {\n settings[iframeId].autoResize = JSON.parse(getMsgBody(9))\n break\n }\n\n case 'scrollTo': {\n scrollRequestFromChild(false)\n break\n }\n\n case 'scrollToOffset': {\n scrollRequestFromChild(true)\n break\n }\n\n case 'pageInfo': {\n sendPageInfoToIframe(\n settings[iframeId] && settings[iframeId].iframe,\n iframeId\n )\n startPageInfoMonitor()\n break\n }\n\n case 'pageInfoStop': {\n stopPageInfoMonitor()\n break\n }\n\n case 'inPageLink': {\n findTarget(getMsgBody(9))\n break\n }\n\n case 'reset': {\n resetIFrame(messageData)\n break\n }\n\n case 'init': {\n resizeIFrame()\n on('onInit', messageData.iframe)\n break\n }\n\n default: {\n if (\n Number(messageData.width) === 0 &&\n Number(messageData.height) === 0\n ) {\n warn(\n 'Unsupported message received (' +\n messageData.type +\n '), this is likely due to the iframe containing a later ' +\n 'version of iframe-resizer than the parent page'\n )\n } else {\n resizeIFrame()\n }\n }\n }\n }\n\n function hasSettings(iframeId) {\n var retBool = true\n\n if (!settings[iframeId]) {\n retBool = false\n warn(\n messageData.type +\n ' No settings for ' +\n iframeId +\n '. Message was: ' +\n msg\n )\n }\n\n return retBool\n }\n\n function iFrameReadyMsgReceived() {\n // eslint-disable-next-line no-restricted-syntax, guard-for-in\n for (var iframeId in settings) {\n trigger(\n 'iFrame requested init',\n createOutgoingMsg(iframeId),\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n\n function firstRun() {\n if (settings[iframeId]) {\n settings[iframeId].firstRun = false\n }\n }\n\n var msg = event.data,\n messageData = {},\n iframeId = null\n\n if ('[iFrameResizerChild]Ready' === msg) {\n iFrameReadyMsgReceived()\n } else if (isMessageForUs()) {\n messageData = processMsg()\n iframeId = messageData.id\n if (settings[iframeId]) {\n settings[iframeId].loaded = true\n }\n\n if (!isMessageFromMetaParent() && hasSettings(iframeId)) {\n log(iframeId, 'Received: ' + msg)\n\n if (checkIFrameExists() && isMessageFromIFrame()) {\n actionMsg()\n }\n }\n } else {\n info(iframeId, 'Ignored: ' + msg)\n }\n }\n\n function chkEvent(iframeId, funcName, val) {\n var func = null,\n retVal = null\n\n if (settings[iframeId]) {\n func = settings[iframeId][funcName]\n\n if ('function' === typeof func) {\n retVal = func(val)\n } else {\n throw new TypeError(\n funcName + ' on iFrame[' + iframeId + '] is not a function'\n )\n }\n }\n\n return retVal\n }\n\n function removeIframeListeners(iframe) {\n var iframeId = iframe.id\n delete settings[iframeId]\n }\n\n function closeIFrame(iframe) {\n var iframeId = iframe.id\n if (chkEvent(iframeId, 'onClose', iframeId) === false) {\n log(iframeId, 'Close iframe cancelled by onClose event')\n return\n }\n log(iframeId, 'Removing iFrame: ' + iframeId)\n\n try {\n // Catch race condition error with React\n if (iframe.parentNode) {\n iframe.parentNode.removeChild(iframe)\n }\n } catch (error) {\n warn(error)\n }\n\n chkEvent(iframeId, 'onClosed', iframeId)\n log(iframeId, '--')\n removeIframeListeners(iframe)\n if (destroyObserver) {\n destroyObserver.disconnect()\n destroyObserver = null\n }\n }\n\n function getPagePosition(iframeId) {\n if (null === pagePosition) {\n pagePosition = {\n x:\n window.pageXOffset === undefined\n ? document.documentElement.scrollLeft\n : window.pageXOffset,\n y:\n window.pageYOffset === undefined\n ? document.documentElement.scrollTop\n : window.pageYOffset\n }\n log(\n iframeId,\n 'Get page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n }\n }\n\n function setPagePosition(iframeId) {\n if (null !== pagePosition) {\n window.scrollTo(pagePosition.x, pagePosition.y)\n log(\n iframeId,\n 'Set page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n unsetPagePosition()\n }\n }\n\n function unsetPagePosition() {\n pagePosition = null\n }\n\n function resetIFrame(messageData) {\n function reset() {\n setSize(messageData)\n trigger('reset', 'reset', messageData.iframe, messageData.id)\n }\n\n log(\n messageData.id,\n 'Size reset requested by ' +\n ('init' === messageData.type ? 'host page' : 'iFrame')\n )\n getPagePosition(messageData.id)\n syncResize(reset, messageData, 'reset')\n }\n\n function setSize(messageData) {\n function setDimension(dimension) {\n if (!messageData.id) {\n log('undefined', 'messageData id not set')\n return\n }\n messageData.iframe.style[dimension] = messageData[dimension] + 'px'\n log(\n messageData.id,\n 'IFrame (' +\n iframeId +\n ') ' +\n dimension +\n ' set to ' +\n messageData[dimension] +\n 'px'\n )\n }\n\n function chkZero(dimension) {\n // FireFox sets dimension of hidden iFrames to zero.\n // So if we detect that set up an event to check for\n // when iFrame becomes visible.\n\n /* istanbul ignore next */ // Not testable in PhantomJS\n if (!hiddenCheckEnabled && '0' === messageData[dimension]) {\n hiddenCheckEnabled = true\n log(iframeId, 'Hidden iFrame detected, creating visibility listener')\n fixHiddenIFrames()\n }\n }\n\n function processDimension(dimension) {\n setDimension(dimension)\n chkZero(dimension)\n }\n\n var iframeId = messageData.iframe.id\n\n if (settings[iframeId]) {\n if (settings[iframeId].sizeHeight) {\n processDimension('height')\n }\n if (settings[iframeId].sizeWidth) {\n processDimension('width')\n }\n }\n }\n\n function syncResize(func, messageData, doNotSync) {\n /* istanbul ignore if */ // Not testable in PhantomJS\n if (\n doNotSync !== messageData.type &&\n requestAnimationFrame &&\n // including check for jasmine because had trouble getting spy to work in unit test using requestAnimationFrame\n !window.jasmine\n ) {\n log(messageData.id, 'Requesting animation frame')\n requestAnimationFrame(func)\n } else {\n func()\n }\n }\n\n function trigger(calleeMsg, msg, iframe, id, noResponseWarning) {\n function postMessageToIFrame() {\n var target = settings[id] && settings[id].targetOrigin\n log(\n id,\n '[' +\n calleeMsg +\n '] Sending msg to iframe[' +\n id +\n '] (' +\n msg +\n ') targetOrigin: ' +\n target\n )\n iframe.contentWindow.postMessage(msgId + msg, target)\n }\n\n function iFrameNotFound() {\n warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found')\n }\n\n function chkAndSend() {\n if (\n iframe &&\n 'contentWindow' in iframe &&\n null !== iframe.contentWindow\n ) {\n // Null test for PhantomJS\n postMessageToIFrame()\n } else {\n iFrameNotFound()\n }\n }\n\n function warnOnNoResponse() {\n function warning() {\n if (settings[id] && !settings[id].loaded && !errorShown) {\n errorShown = true\n warn(\n id,\n 'IFrame has not responded within ' +\n settings[id].warningTimeout / 1000 +\n ' 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.'\n )\n }\n }\n\n if (\n !!noResponseWarning &&\n settings[id] &&\n !!settings[id].warningTimeout\n ) {\n settings[id].msgTimeout = setTimeout(\n warning,\n settings[id].warningTimeout\n )\n }\n }\n\n var errorShown = false\n\n id = id || iframe.id\n\n if (settings[id]) {\n chkAndSend()\n warnOnNoResponse()\n }\n }\n\n function createOutgoingMsg(iframeId) {\n return (\n iframeId +\n ':' +\n settings[iframeId].bodyMarginV1 +\n ':' +\n settings[iframeId].sizeWidth +\n ':' +\n settings[iframeId].log +\n ':' +\n settings[iframeId].interval +\n ':' +\n settings[iframeId].enablePublicMethods +\n ':' +\n settings[iframeId].autoResize +\n ':' +\n settings[iframeId].bodyMargin +\n ':' +\n settings[iframeId].heightCalculationMethod +\n ':' +\n settings[iframeId].bodyBackground +\n ':' +\n settings[iframeId].bodyPadding +\n ':' +\n settings[iframeId].tolerance +\n ':' +\n settings[iframeId].inPageLinks +\n ':' +\n settings[iframeId].resizeFrom +\n ':' +\n settings[iframeId].widthCalculationMethod +\n ':' +\n settings[iframeId].mouseEvents\n )\n }\n\n function isNumber(value) {\n return typeof value === 'number'\n }\n\n function setupIFrame(iframe, options) {\n function setLimits() {\n function addStyle(style) {\n var styleValue = settings[iframeId][style]\n if (Infinity !== styleValue && 0 !== styleValue) {\n iframe.style[style] = isNumber(styleValue)\n ? styleValue + 'px'\n : styleValue\n log(iframeId, 'Set ' + style + ' = ' + iframe.style[style])\n }\n }\n\n function chkMinMax(dimension) {\n if (\n settings[iframeId]['min' + dimension] >\n settings[iframeId]['max' + dimension]\n ) {\n throw new Error(\n 'Value for min' +\n dimension +\n ' can not be greater than max' +\n dimension\n )\n }\n }\n\n chkMinMax('Height')\n chkMinMax('Width')\n\n addStyle('maxHeight')\n addStyle('minHeight')\n addStyle('maxWidth')\n addStyle('minWidth')\n }\n\n function newId() {\n var id = (options && options.id) || defaults.id + count++\n if (null !== document.getElementById(id)) {\n id += count++\n }\n return id\n }\n\n function ensureHasId(iframeId) {\n if (typeof iframeId !== 'string') {\n throw new TypeError('Invaild id for iFrame. Expected String')\n }\n\n if ('' === iframeId) {\n // eslint-disable-next-line no-multi-assign\n iframe.id = iframeId = newId()\n logEnabled = (options || {}).log\n log(\n iframeId,\n 'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')'\n )\n }\n\n return iframeId\n }\n\n function setScrolling() {\n log(\n iframeId,\n 'IFrame scrolling ' +\n (settings[iframeId] && settings[iframeId].scrolling\n ? 'enabled'\n : 'disabled') +\n ' for ' +\n iframeId\n )\n iframe.style.overflow =\n false === (settings[iframeId] && settings[iframeId].scrolling)\n ? 'hidden'\n : 'auto'\n switch (settings[iframeId] && settings[iframeId].scrolling) {\n case 'omit': {\n break\n }\n\n case true: {\n iframe.scrolling = 'yes'\n break\n }\n\n case false: {\n iframe.scrolling = 'no'\n break\n }\n\n default: {\n iframe.scrolling = settings[iframeId]\n ? settings[iframeId].scrolling\n : 'no'\n }\n }\n }\n\n // The V1 iFrame script expects an int, where as in V2 expects a CSS\n // string value such as '1px 3em', so if we have an int for V2, set V1=V2\n // and then convert V2 to a string PX value.\n function setupBodyMarginValues() {\n if (\n 'number' ===\n typeof (settings[iframeId] && settings[iframeId].bodyMargin) ||\n '0' === (settings[iframeId] && settings[iframeId].bodyMargin)\n ) {\n settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin\n settings[iframeId].bodyMargin =\n '' + settings[iframeId].bodyMargin + 'px'\n }\n }\n\n function checkReset() {\n // Reduce scope of firstRun to function, because IE8's JS execution\n // context stack is borked and this value gets externally\n // changed midway through running this function!!!\n var firstRun = settings[iframeId] && settings[iframeId].firstRun,\n resetRequertMethod =\n settings[iframeId] &&\n settings[iframeId].heightCalculationMethod in resetRequiredMethods\n\n if (!firstRun && resetRequertMethod) {\n resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' })\n }\n }\n\n function setupIFrameObject() {\n if (settings[iframeId]) {\n settings[iframeId].iframe.iFrameResizer = {\n close: closeIFrame.bind(null, settings[iframeId].iframe),\n\n removeListeners: removeIframeListeners.bind(\n null,\n settings[iframeId].iframe\n ),\n\n resize: trigger.bind(\n null,\n 'Window resize',\n 'resize',\n settings[iframeId].iframe\n ),\n\n moveToAnchor: function (anchor) {\n trigger(\n 'Move to anchor',\n 'moveToAnchor:' + anchor,\n settings[iframeId].iframe,\n iframeId\n )\n },\n\n sendMessage: function (message) {\n message = JSON.stringify(message)\n trigger(\n 'Send Message',\n 'message:' + message,\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n }\n }\n\n // We have to call trigger twice, as we can not be sure if all\n // iframes have completed loading when this code runs. The\n // event listener also catches the page changing in the iFrame.\n function init(msg) {\n function iFrameLoaded() {\n trigger('iFrame.onload', msg, iframe, undefined, true)\n checkReset()\n }\n\n function createDestroyObserver(MutationObserver) {\n if (!iframe.parentNode) {\n return null\n }\n\n var destroyObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n var removedNodes = Array.prototype.slice.call(mutation.removedNodes) // Transform NodeList into an Array\n removedNodes.forEach(function (removedNode) {\n if (removedNode === iframe) {\n closeIFrame(iframe)\n }\n })\n })\n })\n destroyObserver.observe(iframe.parentNode, {\n childList: true\n })\n return destroyObserver\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n destroyObserver = createDestroyObserver(MutationObserver)\n }\n\n addEventListener(iframe, 'load', iFrameLoaded)\n trigger('init', msg, iframe, undefined, true)\n }\n\n function checkOptions(options) {\n if ('object' !== typeof options) {\n throw new TypeError('Options is not an object')\n }\n }\n\n function copyOptions(options) {\n // eslint-disable-next-line no-restricted-syntax\n for (var option in defaults) {\n if (Object.prototype.hasOwnProperty.call(defaults, option)) {\n settings[iframeId][option] = Object.prototype.hasOwnProperty.call(\n options,\n option\n )\n ? options[option]\n : defaults[option]\n }\n }\n }\n\n function getTargetOrigin(remoteHost) {\n return '' === remoteHost ||\n null !== remoteHost.match(/^(about:blank|javascript:|file:\\/\\/)/)\n ? '*'\n : remoteHost\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n iframeId,\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function processOptions(options) {\n options = options || {}\n\n settings[iframeId] = Object.create(null) // Protect against prototype attacks\n settings[iframeId].iframe = iframe\n settings[iframeId].firstRun = true\n settings[iframeId].remoteHost =\n iframe.src && iframe.src.split('/').slice(0, 3).join('/')\n\n checkOptions(options)\n Object.keys(options).forEach(depricate, options)\n copyOptions(options)\n\n if (settings[iframeId]) {\n settings[iframeId].targetOrigin =\n true === settings[iframeId].checkOrigin\n ? getTargetOrigin(settings[iframeId].remoteHost)\n : '*'\n }\n }\n\n function beenHere() {\n return iframeId in settings && 'iFrameResizer' in iframe\n }\n\n var iframeId = ensureHasId(iframe.id)\n\n if (beenHere()) {\n warn(iframeId, 'Ignored iFrame, already setup.')\n } else {\n processOptions(options)\n setScrolling()\n setLimits()\n setupBodyMarginValues()\n init(createOutgoingMsg(iframeId))\n setupIFrameObject()\n }\n }\n\n function debouce(fn, time) {\n if (null === timer) {\n timer = setTimeout(function () {\n timer = null\n fn()\n }, time)\n }\n }\n\n var frameTimer = {}\n function debounceFrameEvents(fn, time, frameId) {\n if (!frameTimer[frameId]) {\n frameTimer[frameId] = setTimeout(function () {\n frameTimer[frameId] = null\n fn()\n }, time)\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n\n function fixHiddenIFrames() {\n function checkIFrames() {\n function checkIFrame(settingId) {\n function chkDimension(dimension) {\n return (\n '0px' ===\n (settings[settingId] && settings[settingId].iframe.style[dimension])\n )\n }\n\n function isVisible(el) {\n return null !== el.offsetParent\n }\n\n if (\n settings[settingId] &&\n isVisible(settings[settingId].iframe) &&\n (chkDimension('height') || chkDimension('width'))\n ) {\n trigger(\n 'Visibility change',\n 'resize',\n settings[settingId].iframe,\n settingId\n )\n }\n }\n\n Object.keys(settings).forEach(function (key) {\n checkIFrame(key)\n })\n }\n\n function mutationObserved(mutations) {\n log(\n 'window',\n 'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type\n )\n debouce(checkIFrames, 16)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n },\n observer = new MutationObserver(mutationObserved)\n\n observer.observe(target, config)\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n createMutationObserver()\n }\n }\n\n function resizeIFrames(event) {\n function resize() {\n sendTriggerMsg('Window ' + event, 'resize')\n }\n\n log('window', 'Trigger event: ' + event)\n debouce(resize, 16)\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function tabVisible() {\n function resize() {\n sendTriggerMsg('Tab Visible', 'resize')\n }\n\n if ('hidden' !== document.visibilityState) {\n log('document', 'Trigger event: Visibility change')\n debouce(resize, 16)\n }\n }\n\n function sendTriggerMsg(eventName, event) {\n function isIFrameResizeEnabled(iframeId) {\n return (\n settings[iframeId] &&\n 'parent' === settings[iframeId].resizeFrom &&\n settings[iframeId].autoResize &&\n !settings[iframeId].firstRun\n )\n }\n\n Object.keys(settings).forEach(function (iframeId) {\n if (isIFrameResizeEnabled(iframeId)) {\n trigger(eventName, event, settings[iframeId].iframe, iframeId)\n }\n })\n }\n\n function setupEventListeners() {\n addEventListener(window, 'message', iFrameListener)\n\n addEventListener(window, 'resize', function () {\n resizeIFrames('resize')\n })\n\n addEventListener(document, 'visibilitychange', tabVisible)\n\n addEventListener(document, '-webkit-visibilitychange', tabVisible)\n }\n\n function factory() {\n function init(options, element) {\n function chkType() {\n if (!element.tagName) {\n throw new TypeError('Object is not a valid DOM element')\n } else if ('IFRAME' !== element.tagName.toUpperCase()) {\n throw new TypeError(\n 'Expected <IFRAME> tag, found <' + element.tagName + '>'\n )\n }\n }\n\n if (element) {\n chkType()\n setupIFrame(element, options)\n iFrames.push(element)\n }\n }\n\n function warnDeprecatedOptions(options) {\n if (options && options.enablePublicMethods) {\n warn(\n 'enablePublicMethods option has been removed, public methods are now always available in the iFrame'\n )\n }\n }\n\n var iFrames\n\n setupRequestAnimationFrame()\n setupEventListeners()\n\n return function iFrameResizeF(options, target) {\n iFrames = [] // Only return iFrames past in on this call\n\n warnDeprecatedOptions(options)\n\n switch (typeof target) {\n case 'undefined':\n case 'string': {\n Array.prototype.forEach.call(\n document.querySelectorAll(target || 'iframe'),\n init.bind(undefined, options)\n )\n break\n }\n\n case 'object': {\n init(options, target)\n break\n }\n\n default: {\n throw new TypeError('Unexpected data type (' + typeof target + ')')\n }\n }\n\n return iFrames\n }\n }\n\n function createJQueryPublicMethod($) {\n if (!$.fn) {\n info('', 'Unable to bind to jQuery, it is not fully loaded.')\n } else if (!$.fn.iFrameResize) {\n $.fn.iFrameResize = function $iFrameResizeF(options) {\n function init(index, element) {\n setupIFrame(element, options)\n }\n\n return this.filter('iframe').each(init).end()\n }\n }\n }\n\n if (window.jQuery !== undefined) {\n createJQueryPublicMethod(window.jQuery)\n }\n\n if (typeof define === 'function' && define.amd) {\n define([], factory)\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n // Node for browserfy\n module.exports = factory()\n }\n window.iFrameResize = window.iFrameResize || factory()\n})()\n","/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://iframe-resizer.com\n * Author: David J. Bradshaw - info@iframe-resizer.com\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n mouseEvents = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n // eslint-disable-next-line getter-return\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = Date.now()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = Date.now()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + window.location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n setupMouseEvents()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.slice(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined === data[1] ? bodyMargin : Number(data[1]) // For V1 compatibility\n calculateWidth = undefined === data[2] ? calculateWidth : strBool(data[2])\n logging = undefined === data[3] ? logging : strBool(data[3])\n interval = undefined === data[4] ? interval : Number(data[4])\n autoResize = undefined === data[6] ? autoResize : strBool(data[6])\n bodyMarginStr = data[7]\n heightCalcMode = undefined === data[8] ? heightCalcMode : data[8]\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined === data[11] ? tolerance : Number(data[11])\n inPageLinks.enable = undefined === data[12] ? false : strBool(data[12])\n resizeFrom = undefined === data[13] ? resizeFrom : data[13]\n widthCalcMode = undefined === data[14] ? widthCalcMode : data[14]\n mouseEvents = undefined === data[15] ? mouseEvents : strBool(data[15])\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventNames: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset === undefined\n ? document.documentElement.scrollLeft\n : window.pageXOffset,\n y:\n window.pageYOffset === undefined\n ? document.documentElement.scrollTop\n : window.pageYOffset\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined === target) {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n } else {\n jumpToTarget(target)\n }\n }\n\n function checkLocationHash() {\n var hash = window.location.hash\n var href = window.location.href\n\n if ('' !== hash && '#' !== hash) {\n findTarget(href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupMouseEvents() {\n if (mouseEvents !== true) return\n\n function sendMouse(e) {\n sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX)\n }\n\n function addMouseListener(evt, name) {\n log('Add event listener: ' + name)\n addEventListener(window.document, evt, sendMouse)\n }\n\n addMouseListener('mouseenter', 'Mouse Enter')\n addMouseListener('mouseleave', 'Mouse Leave')\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null === retVal ? 0 : retVal[prop]\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = Date.now()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = Date.now() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimensions) {\n return [\n dimensions.bodyOffset(),\n dimensions.bodyScroll(),\n dimensions.documentElementOffset(),\n dimensions.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (elements.length === 0) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatibility\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined === customHeight ? getHeight[heightCalcMode]() : customHeight\n currentWidth =\n undefined === customWidth ? getWidth[widthCalcMode]() : customWidth\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (isDoubleFiredEvent()) {\n log('Trigger event cancelled: ' + triggerEvent)\n } else {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined === msg ? '' : ':' + msg)\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (initLock) {\n log('Page reset ignored by init')\n } else {\n log('Page size reset by host page')\n triggerReset('resetPage')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatibility\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).slice(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.slice(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n (window.jQuery !== undefined &&\n 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibility.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n // Setup if not already running\n if (!('iframeResizer' in window)) {\n window.iframeChildListener = function (data) {\n receiver({ data, sameDomian: true })\n }\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n }\n\n \n})()\n","const iframeResize = require('./js/iframeResizer')\n\nmodule.exports = {\n iframeResize: iframeResize,\n iframeResizer: iframeResize, // Backwards compatibility\n contentWindow: require('./js/iframeResizer.contentWindow')\n}\n",":host {\n position: relative;\n\n ::slotted([slot=\"preview-logo\"]) {\n width: 100%;\n }\n\n ::slotted([slot=\"preview-image\"]) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n ::slotted([slot=\"cookiewall-text\"]) {\n margin: 0;\n\n p {\n margin: 0;\n\n &:not(:last-child) {\n @include spaceCurve('margin-bottom', 'small');\n }\n }\n }\n}\n\n.stzh-iframe {\n width: 100%;\n height: 100%;\n\n &__iframe {\n width: 100%;\n }\n\n &__cookiewall,\n &__preview {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n &__iframe,\n &__preview {\n border: none;\n }\n\n &__preview,\n &__cookiewall {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: space('medium');\n visibility: hidden;\n\n &.is-visible {\n visibility: visible;\n }\n }\n\n &__preview {\n z-index: 1;\n appearance: none;\n cursor: pointer;\n background-color: $colorGrey20;\n }\n\n &__preview-image-wrapper:not(:empty) + &__preview-logo-wrapper {\n display: none;\n }\n\n &__preview-logo-wrapper {\n @include spaceCurve('top', 'medium');\n @include spaceCurve('left', 'medium');\n position: absolute;\n width: 45%;\n }\n\n &__preview-run {\n position: relative;\n z-index: 1;\n appearance: none;\n border: none;\n background-color: $colorPrimary;\n color: $colorWhite;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: $formInputHeightSmall;\n height: $formInputHeightSmall;\n visibility: hidden;\n transition: background-color $baseTransitionAnimationSpeed;\n\n &.is-visible {\n visibility: visible;\n }\n\n @include mq($from: medium) {\n width: $formInputHeight;\n height: $formInputHeight;\n }\n }\n\n &__preview:hover &__preview-run {\n background-color: $colorSecondary60;\n }\n\n &__preview-run-icon {\n @include mq($from: medium) {\n --size: #{iconSize('large')};\n }\n }\n\n &__cookiewall {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n z-index: 2;\n text-align: center;\n background-color: $colorBlack60op;\n color: $colorWhite;\n\n @include mq($from: medium) {\n @include gridGutter;\n display: grid;\n grid-template-areas: \". content content content content content content .\";\n grid-template-columns: repeat(8, minmax(0, 1fr));\n padding-left: 0;\n padding-right: 0;\n }\n }\n\n &__cookiewall-content {\n @include mq($from: medium) {\n grid-area: content;\n }\n }\n\n &__cookiewall-text {\n @include fontSize('milli');\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__cookiewall-close {\n top: 0;\n right: 0;\n position: absolute;\n appearance: none;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: space('xsmall');\n background-color: transparent;\n color: $colorWhite;\n cursor: pointer;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport { StzhIframePreviewSkipEvent, StzhIframeView, StzhIframeViewChangeEvent } from \"../../index\";\nimport { StzhIframeLocalizedText } from \"./stzh-iframe.localization\";\n\nimport Cookies from \"js-cookie\";\nimport iFrameResizeModule from \"iframe-resizer\";\nimport { getStzhEnvironment, StzhEnvironmentEnum } from \"../../utils/utils\";\n\nconst COOKIE_PREFIX_CONFIRM = \"stzh-components-iframe-confirm\";\n\nlet iframeCounter = 0;\n\n/**\n * @slot preview-logo - Slot for logo\n * @slot preview-image - Slot for preview image\n * @slot cookiewall-text - Slot for cookiewall text\n */\n@Component({\n tag: \"stzh-iframe\",\n styleUrl: \"stzh-iframe.scss\",\n scoped: true,\n})\nexport class StzhIframe {\n /** Translation strings */\n @Prop() localization: StzhIframeLocalizedText;\n\n /** Id of iframe */\n @Prop() iframeId: string;\n\n /** Error text of iframe if couldn't be loaded */\n @Prop() iframeErrorText: string;\n\n /** Automatic height resizing of iFrame */\n @Prop() iframeResizerVariant: \"None\" | \"PostMessage\" | \"SameSecondLevelDomain\" = \"None\";\n\n /** Height correction for automatically resized iFrames */\n @Prop() iframeResizerHeightCorrection: number;\n\n /** Second level domain for automatically resized iFrames */\n @Prop() iframeResizerSecondlevelDomain: string;\n\n /**\n * Name of iframe\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe?retiredLocale=de#name\n */\n @Prop() name: string;\n\n /**\n * Sandbox of iframe\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe?retiredLocale=de#sandbox\n */\n @Prop() sandbox: string;\n\n /**\n * ReferrerPolicy of Iframe\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe?retiredLocale=de#referrerpolicy\n */\n @Prop() referrerpolicy:\n | \"no-referrer\"\n | \"no-referrer-when-downgrade\"\n | \"origin\"\n | \"origin-when-cross-origin\"\n | \"same-origin\"\n | \"strict-origin\"\n | \"strict-origin-when-cross-origin\"\n | \"unsafe-url\";\n\n /**\n * Allow of Iframe\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe?retiredLocale=de#allow\n */\n @Prop() allow: string = \"autoplay; fullscreen\";\n\n /** Width of iframe */\n @Prop() width: string = \"100%\";\n\n /** Width of iframe */\n @Prop() height: string = \"100%\";\n\n /** `src` of iframe */\n @Prop() src: string = \"\";\n private _src: string | null = null;\n\n /**\n * Cookie name (if not empty, the user will be shown a cookie wall)\n * Will be prefixed with `stzh-components-iframe-confirm-`.\n */\n @Prop() cookie: string;\n\n /**\n * Number of days the cookie is valid for.\n * If omitted or set to null, the cookie expires when browser is closed.\n * Maximum is on year (365 days, is default).\n */\n @Prop() cookieExpires: number | null = 365;\n\n /** Confirm button icon */\n @Prop() cookieConfirmIcon: string;\n\n /** Confirm button label */\n @Prop() cookieConfirmLabel: string;\n\n /** Confirm text (use instead of `cookiewall-text` slot) */\n @Prop() cookieConfirmText: string;\n\n /** Preview label */\n @Prop() previewLabel: string;\n\n /** Preview icon */\n @Prop() previewIcon: string = \"external-link\";\n\n /** Whether preview should be skipped, if user has passed the cookiewall before */\n @Prop() skipPreviewIfCookieAccepted: boolean = false;\n\n /** Whether preview should always be skipped */\n @Prop() skipPreview: boolean = false;\n\n @Element() element: HTMLStzhIframeElement;\n\n @State() view: StzhIframeView = \"preview\";\n\n /** Preview skip (only gets executed if it goes directly to iframe and not cookiewall) */\n @Event() stzhPreviewSkip: EventEmitter<StzhIframePreviewSkipEvent>;\n\n /** View change */\n @Event() stzhViewChange: EventEmitter<StzhIframeViewChangeEvent>;\n\n @Watch(\"src\")\n srcWatcher(newValue: string) {\n if (this.view === \"iframe\") {\n this._src = newValue;\n }\n }\n\n @Watch(\"view\")\n viewWatcher(newValue: StzhIframeView) {\n if (newValue === \"iframe\") {\n this._src = this.src;\n } else {\n this._src = null;\n }\n }\n\n private internalId: string;\n private iframeElement: HTMLIFrameElement;\n private previewButtonElement: HTMLButtonElement;\n private confirmButtonElement: HTMLStzhButtonElement;\n private updateFocus: boolean = false;\n\n private handleIframeLoad = () => {\n if (this.updateFocus) {\n this.iframeElement.focus();\n this.updateFocus = false;\n }\n this.initializeIframeResizing();\n };\n\n private initializeIframeResizing() {\n switch (this.iframeResizerVariant) {\n case \"None\":\n return;\n case \"PostMessage\":\n console.log(\"iFrameResizeModule\", iFrameResizeModule);\n iFrameResizeModule.iframeResize(\n { log: getStzhEnvironment() !== StzhEnvironmentEnum.PROD, checkOrigin: false },\n this.iframeElement\n );\n break;\n case \"SameSecondLevelDomain\":\n if (!this.iframeResizerSecondlevelDomain) {\n console.log(\"stzh-iframe:\", \"property 'iframeSecondlevelDomain' not filled out.\");\n }\n this.setupIframeAutoSizing({\n frameId: this.iframeId,\n heightCorrection: this.iframeResizerHeightCorrection || 0,\n hasSameDomain: false,\n secondLevelDomain: this.iframeResizerSecondlevelDomain,\n });\n break;\n }\n }\n\n private setupIframeAutoSizing(config: {\n frameId: string;\n heightCorrection: number;\n hasSameDomain: boolean;\n secondLevelDomain: string;\n }) {\n const createResizer = (iframe: HTMLIFrameElement, config: { heightCorrection: number }) => {\n return () => {\n try {\n const newHeight = iframe.contentWindow?.document.body.scrollHeight || 0;\n if (newHeight > 0) {\n iframe.style.height = `${newHeight + config.heightCorrection}px`;\n }\n } catch (error) {\n console.warn(\"stzh-iframe:\", \"Resizing not possible, perhaps due to cross-domain restrictions:\", error);\n }\n };\n };\n\n if (!config.hasSameDomain) {\n document.domain = config.secondLevelDomain;\n }\n\n const iframe = document.getElementById(config.frameId) as HTMLIFrameElement;\n if (!iframe) {\n console.error(`Iframe with ID ${config.frameId} not found`);\n return;\n }\n\n const resizer = createResizer(iframe, config);\n window.addEventListener(\"resize\", resizer);\n iframe.addEventListener(\"load\", resizer);\n iframe.addEventListener(\"blur\", resizer);\n iframe.addEventListener(\"readystatechange\", resizer); // hack for internet explorer...\n\n try {\n // this might go wrong on IE, if iframe hasn't fully loaded yet, but it doesn't matter.\n resizer();\n } catch (error) {\n console.warn(\"Initial resize failed, likely due to iframe not being fully loaded yet:\", error);\n }\n }\n\n private handleCookiewallCloseClick = () => {\n this.updateFocus = true;\n this.view = \"preview\";\n\n this.stzhViewChange.emit({\n component: \"stzh-iframe\",\n value: this.view,\n });\n };\n\n private handleCookiewallConfirmClick = () => {\n Cookies.set(`${COOKIE_PREFIX_CONFIRM}-${this.cookie}`, \"1\", {\n expires: this.cookieExpires || null,\n });\n\n this.updateFocus = true;\n this.view = \"iframe\";\n\n this.stzhViewChange.emit({\n component: \"stzh-iframe\",\n value: this.view,\n });\n };\n\n private handlePreviewClick = () => {\n const cookieAccepted = Cookies.get(`${COOKIE_PREFIX_CONFIRM}-${this.cookie}`) || false;\n this.updateFocus = true;\n\n if (!this.cookie || cookieAccepted) {\n this.view = \"iframe\";\n } else {\n this.view = \"cookiewall\";\n }\n\n this.stzhViewChange.emit({\n component: \"stzh-iframe\",\n value: this.view,\n });\n };\n\n async componentWillLoad() {\n this.internalId = `stzh-iframe-${iframeCounter++}`;\n\n const cookieAccepted = Cookies.get(`${COOKIE_PREFIX_CONFIRM}-${this.cookie}`) || false;\n\n if (\n ((!this.cookie || cookieAccepted) && (this.skipPreviewIfCookieAccepted || this.skipPreview)) ||\n (!this.cookie && this.skipPreview)\n ) {\n this.stzhPreviewSkip.emit({\n component: \"stzh-iframe\",\n });\n\n this.view = \"iframe\";\n } else if (this.cookie && this.skipPreview) {\n this.view = \"cookiewall\";\n }\n\n this.viewWatcher(this.view);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"iframe\");\n }\n }\n\n async componentDidRender() {\n if (this.updateFocus) {\n if (this.view === \"iframe\") {\n // wait for iframe load event (handleIframeLoad)\n } else if (this.view === \"preview\") {\n this.previewButtonElement.focus();\n this.updateFocus = false;\n } else if (this.view === \"cookiewall\") {\n this.confirmButtonElement.focus();\n this.updateFocus = false;\n }\n }\n }\n\n render() {\n const classes = {\n \"stzh-iframe\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n {this.view === \"iframe\" && (\n <iframe\n id={this.iframeId}\n name={this.name}\n sandbox={this.sandbox}\n referrerPolicy={this.referrerpolicy}\n width={this.width}\n height={this.height}\n ref={el => (this.iframeElement = el as HTMLIFrameElement)}\n class=\"stzh-iframe__iframe\"\n src={this._src}\n allow={this.allow}\n onLoad={this.handleIframeLoad}\n >\n {this.iframeErrorText}\n </iframe>\n )}\n\n <button\n ref={el => (this.previewButtonElement = el as HTMLButtonElement)}\n onClick={this.handlePreviewClick}\n aria-label={this.previewLabel || this.localization.defaultPreviewLabel}\n // disabled={this.view === \"cookiewall\"}\n class={{\n \"stzh-iframe__preview\": true,\n \"is-visible\": this.view === \"preview\" || this.view === \"cookiewall\",\n }}\n >\n <div class=\"stzh-iframe__preview-image-wrapper\">\n <slot name=\"preview-image\"></slot>\n </div>\n\n <div class=\"stzh-iframe__preview-logo-wrapper\">\n <slot name=\"preview-logo\"></slot>\n </div>\n\n {this.previewIcon && (\n <div\n class={{\n \"stzh-iframe__preview-run\": true,\n \"is-visible\": this.view === \"preview\",\n }}\n >\n <stzh-icon class=\"stzh-iframe__preview-run-icon\" name={this.previewIcon}></stzh-icon>\n </div>\n )}\n </button>\n\n {this.cookie && (\n <div\n class={{\n \"stzh-iframe__cookiewall\": true,\n \"is-visible\": this.view === \"cookiewall\",\n }}\n >\n <div class=\"stzh-iframe__cookiewall-content\">\n <div class=\"stzh-iframe__cookiewall-text\" id={`${this.internalId}-cookiewall-text`}>\n {this.cookieConfirmText ? this.cookieConfirmText : <slot name=\"cookiewall-text\"></slot>}\n </div>\n\n <stzh-button\n ref={el => (this.confirmButtonElement = el as HTMLStzhButtonElement)}\n class=\"stzh-iframe__cookiewall-button\"\n size=\"small\"\n a11yDescribedby={`${this.internalId}-cookiewall-text`}\n icon={this.cookieConfirmIcon}\n label={this.cookieConfirmLabel || this.localization.defaultConfirmLabel}\n onClick={this.handleCookiewallConfirmClick}\n ></stzh-button>\n </div>\n\n {!this.skipPreview && (\n <button\n class=\"stzh-iframe__cookiewall-close\"\n onClick={this.handleCookiewallCloseClick}\n aria-label={this.localization.confirmCloseLabel}\n >\n <stzh-icon class=\"stzh-iframe__cookiewall-close-icon\" name=\"close\"></stzh-icon>\n </button>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s,a as i,g as e}from"./p-c7bfac7a.js";import{h as r}from"./p-7e304ea3.js";import"./p-9b063923.js";const o=".sc-stzh-figure-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-figure-h{display:none}.sc-stzh-figure-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-figure-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-figure-h *.sc-stzh-figure,.sc-stzh-figure-h *.sc-stzh-figure::before,.sc-stzh-figure-h *.sc-stzh-figure::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-figure-h .has-focus.sc-stzh-figure{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-figure-h .stzh-fylingfocus-focused.sc-stzh-figure{outline-style:none !important}.sc-stzh-figure-h .stzh-fylingfocus-focused.sc-stzh-figure::-moz-focus-inner{border:0 !important}.sc-stzh-figure-h{--caption-opacity:1}.sc-stzh-figure-h .sc-stzh-figure-s>*{max-width:100%}.sc-stzh-figure-h[fullwidth]:not([fullwidth=false]) .sc-stzh-figure-s>*{width:100%}.stzh-figure.sc-stzh-figure{display:flex;flex-direction:column;margin:0}.stzh-figure__element.sc-stzh-figure{display:flex}@media print{.stzh-figure__element.sc-stzh-figure{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}}.stzh-figure__caption-wrapper.sc-stzh-figure{font-size:var(--stzh-font-curve-caption-default-font-size, var(--stzh-font-nano-font-size));line-height:var(--stzh-font-curve-caption-default-text-line-height, var(--stzh-font-nano-text-line-height));display:flex;flex-direction:column;opacity:var(--caption-opacity);transition:opacity var(--stzh-base-transition-animation-speed)}@media screen and (min-width: 900px){.stzh-figure__caption-wrapper.sc-stzh-figure{font-size:var(--stzh-font-curve-caption-medium-font-size, var(--stzh-font-micro-font-size));line-height:var(--stzh-font-curve-caption-medium-text-line-height, var(--stzh-font-micro-text-line-height))}}.stzh-figure__heading-wrapper.sc-stzh-figure{display:flow-root}.stzh-figure__counter.sc-stzh-figure{float:left;color:var(--stzh-color-secondary60)}.stzh-figure__counter.sc-stzh-figure:not(:empty){margin-right:var(--stzh-space-xsmall)}.stzh-figure__counter.sc-stzh-figure,.stzh-figure__heading.sc-stzh-figure{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);display:block}.stzh-figure__copyright.sc-stzh-figure{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);font-size:var(--stzh-font-femto-font-size);line-height:var(--stzh-font-femto-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);color:var(--stzh-color-grey80)}.stzh-figure__copyright.sc-stzh-figure:not(:empty){margin-top:var(--stzh-space-xxsmall)}.stzh-figure--has-caption.sc-stzh-figure .stzh-figure__caption-wrapper.sc-stzh-figure{margin-top:var(--stzh-space-small)}";const h=class{constructor(s){t(this,s);this.caption="";this.copyright="";this.counter="";this.heading="";this.fullwidth=true}render(){const t=r(this.element,"caption");const e=r(this.element,"copyright");const o=r(this.element,"counter");const h=r(this.element,"heading");const n={"stzh-figure":true,"stzh-figure--has-caption":!!this.caption||t||!!this.copyright||e||!!this.counter||o||!!this.heading||h};return s(i,null,s("figure",{class:n},s("div",{class:"stzh-figure__element"},s("slot",null)),s("figcaption",{class:"stzh-figure__caption-wrapper"},s("div",{class:"stzh-figure__heading-wrapper"},s("div",{class:"stzh-figure__counter"},this.counter?this.counter:s("slot",{name:"counter"})),s("div",{class:"stzh-figure__heading"},this.heading?this.heading:s("slot",{name:"heading"}))),s("div",{class:"stzh-figure__caption"},s("div",{class:"stzh-figure__caption-text"},this.caption?this.caption:s("slot",{name:"caption"})),s("div",{class:"stzh-figure__copyright"},this.copyright?this.copyright:s("slot",{name:"copyright"}))))))}get element(){return e(this)}};h.style=o;export{h as stzh_figure};
2
- //# sourceMappingURL=p-8e0a2441.entry.js.map
1
+ import{r as t,h as s,a as i,g as e}from"./p-c7bfac7a.js";import{h as r}from"./p-e30a5acc.js";import"./p-9b063923.js";const o=".sc-stzh-figure-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-figure-h{display:none}.sc-stzh-figure-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-figure-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-figure-h *.sc-stzh-figure,.sc-stzh-figure-h *.sc-stzh-figure::before,.sc-stzh-figure-h *.sc-stzh-figure::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-figure-h .has-focus.sc-stzh-figure{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-figure-h .stzh-fylingfocus-focused.sc-stzh-figure{outline-style:none !important}.sc-stzh-figure-h .stzh-fylingfocus-focused.sc-stzh-figure::-moz-focus-inner{border:0 !important}.sc-stzh-figure-h{--caption-opacity:1}.sc-stzh-figure-h .sc-stzh-figure-s>*{max-width:100%}.sc-stzh-figure-h[fullwidth]:not([fullwidth=false]) .sc-stzh-figure-s>*{width:100%}.stzh-figure.sc-stzh-figure{display:flex;flex-direction:column;margin:0}.stzh-figure__element.sc-stzh-figure{display:flex}@media print{.stzh-figure__element.sc-stzh-figure{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}}.stzh-figure__caption-wrapper.sc-stzh-figure{font-size:var(--stzh-font-curve-caption-default-font-size, var(--stzh-font-nano-font-size));line-height:var(--stzh-font-curve-caption-default-text-line-height, var(--stzh-font-nano-text-line-height));display:flex;flex-direction:column;opacity:var(--caption-opacity);transition:opacity var(--stzh-base-transition-animation-speed)}@media screen and (min-width: 900px){.stzh-figure__caption-wrapper.sc-stzh-figure{font-size:var(--stzh-font-curve-caption-medium-font-size, var(--stzh-font-micro-font-size));line-height:var(--stzh-font-curve-caption-medium-text-line-height, var(--stzh-font-micro-text-line-height))}}.stzh-figure__heading-wrapper.sc-stzh-figure{display:flow-root}.stzh-figure__counter.sc-stzh-figure{float:left;color:var(--stzh-color-secondary60)}.stzh-figure__counter.sc-stzh-figure:not(:empty){margin-right:var(--stzh-space-xsmall)}.stzh-figure__counter.sc-stzh-figure,.stzh-figure__heading.sc-stzh-figure{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);display:block}.stzh-figure__copyright.sc-stzh-figure{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);font-size:var(--stzh-font-femto-font-size);line-height:var(--stzh-font-femto-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);color:var(--stzh-color-grey80)}.stzh-figure__copyright.sc-stzh-figure:not(:empty){margin-top:var(--stzh-space-xxsmall)}.stzh-figure--has-caption.sc-stzh-figure .stzh-figure__caption-wrapper.sc-stzh-figure{margin-top:var(--stzh-space-small)}";const h=class{constructor(s){t(this,s);this.caption="";this.copyright="";this.counter="";this.heading="";this.fullwidth=true}render(){const t=r(this.element,"caption");const e=r(this.element,"copyright");const o=r(this.element,"counter");const h=r(this.element,"heading");const n={"stzh-figure":true,"stzh-figure--has-caption":!!this.caption||t||!!this.copyright||e||!!this.counter||o||!!this.heading||h};return s(i,null,s("figure",{class:n},s("div",{class:"stzh-figure__element"},s("slot",null)),s("figcaption",{class:"stzh-figure__caption-wrapper"},s("div",{class:"stzh-figure__heading-wrapper"},s("div",{class:"stzh-figure__counter"},this.counter?this.counter:s("slot",{name:"counter"})),s("div",{class:"stzh-figure__heading"},this.heading?this.heading:s("slot",{name:"heading"}))),s("div",{class:"stzh-figure__caption"},s("div",{class:"stzh-figure__caption-text"},this.caption?this.caption:s("slot",{name:"caption"})),s("div",{class:"stzh-figure__copyright"},this.copyright?this.copyright:s("slot",{name:"copyright"}))))))}get element(){return e(this)}};h.style=o;export{h as stzh_figure};
2
+ //# sourceMappingURL=p-87f3052b.entry.js.map