j1-template 2023.10.2 → 2024.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (629) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/_includes/themes/j1/layouts/content_generator_collection.html +1 -1
  4. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
  5. data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
  6. data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
  7. data/_includes/themes/j1/layouts/content_generator_raw.html +1 -1
  8. data/_includes/themes/j1/layouts/layout_metadata_generator.html +1 -1
  9. data/_includes/themes/j1/layouts/layout_module_generator.html +1 -1
  10. data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -1
  11. data/_includes/themes/j1/modules/attics/generator.html +1 -1
  12. data/_includes/themes/j1/modules/navigator/generator.html +8 -9
  13. data/_includes/themes/j1/modules/searcher/generator.html +7 -8
  14. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +1 -2
  15. data/_includes/themes/j1/procedures/blocks/footer/boxes/about_box.proc +1 -1
  16. data/_includes/themes/j1/procedures/blocks/footer/boxes/contacts_box.proc +1 -1
  17. data/_includes/themes/j1/procedures/blocks/footer/boxes/issue.proc +1 -1
  18. data/_includes/themes/j1/procedures/blocks/footer/boxes/legal_statements.proc +1 -1
  19. data/_includes/themes/j1/procedures/blocks/footer/boxes/links_box.proc +1 -1
  20. data/_includes/themes/j1/procedures/blocks/footer/boxes/news_box.proc +1 -1
  21. data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +1 -1
  22. data/_includes/themes/j1/procedures/blocks/get_wave.proc +1 -2
  23. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +6 -7
  24. data/_includes/themes/j1/procedures/collections/pager.proc +1 -1
  25. data/_includes/themes/j1/procedures/global/attributes_loader.proc +1 -1
  26. data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +8 -9
  27. data/_includes/themes/j1/procedures/global/collect_page_options.proc +8 -13
  28. data/_includes/themes/j1/procedures/global/create_bs_button.proc +7 -7
  29. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +7 -8
  30. data/_includes/themes/j1/procedures/global/date-german.proc +6 -7
  31. data/_includes/themes/j1/procedures/global/get_category.proc +6 -7
  32. data/_includes/themes/j1/procedures/global/get_category_item.proc +6 -7
  33. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +7 -7
  34. data/_includes/themes/j1/procedures/global/get_page_path.proc +6 -8
  35. data/_includes/themes/j1/procedures/global/get_page_url.proc +6 -7
  36. data/_includes/themes/j1/procedures/global/select_color.proc +6 -7
  37. data/_includes/themes/j1/procedures/global/select_font_size.proc +6 -7
  38. data/_includes/themes/j1/procedures/global/select_icon_size.proc +6 -7
  39. data/_includes/themes/j1/procedures/global/select_location.proc +7 -8
  40. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +1 -1
  41. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +7 -7
  42. data/_includes/themes/j1/procedures/global/set_image_block.proc +6 -6
  43. data/_includes/themes/j1/procedures/global/setup.proc +1 -1
  44. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -1
  45. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
  46. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  47. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +1 -1
  48. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  49. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  50. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +1 -1
  51. data/_includes/themes/j1/procedures/posts/create_ad_block.proc +1 -1
  52. data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
  53. data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
  54. data/_layouts/autopage_category.html +1 -2
  55. data/_layouts/autopage_collection.html +7 -8
  56. data/_layouts/autopage_collections_tags.html +7 -8
  57. data/_layouts/autopage_tags.html +7 -8
  58. data/_layouts/collection.html +7 -8
  59. data/_layouts/compress.html +11 -12
  60. data/_layouts/default.html +1 -2
  61. data/_layouts/home.html +8 -9
  62. data/_layouts/news_panel_posts.html +7 -8
  63. data/_layouts/page.html +7 -8
  64. data/_layouts/post.html +7 -8
  65. data/_layouts/raw.html +7 -8
  66. data/apps/public/cc/cc.yml +36 -35
  67. data/assets/data/authclient.html +1 -1
  68. data/assets/data/banner.html +1 -1
  69. data/assets/data/carousel.json +1 -1
  70. data/assets/data/cookieconsent.html +16 -107
  71. data/assets/data/docsearch.html +155 -0
  72. data/assets/data/fab.html +2 -2
  73. data/assets/data/footer.html +1 -1
  74. data/assets/data/galeries.html +11 -6
  75. data/assets/data/gallery_customizer.html +1 -1
  76. data/assets/data/iframes.html +96 -0
  77. data/assets/data/iso-639-language-codes.json +1 -1
  78. data/assets/data/j1_config.json +1 -1
  79. data/assets/data/masonry.html +1 -1
  80. data/assets/data/masterslider.html +1 -1
  81. data/assets/data/mdi_icons.json +1 -1
  82. data/assets/data/mdil_icons.json +1 -1
  83. data/assets/data/menu.html +1 -1
  84. data/assets/data/mmenu.html +1 -1
  85. data/assets/data/mmenu_sidebar.html +1 -1
  86. data/assets/data/mmenu_toc.html +1 -1
  87. data/assets/data/panel.html +1 -1
  88. data/assets/data/particles.yml +1 -1
  89. data/assets/data/private.json +1 -1
  90. data/assets/data/quicklinks.html +11 -1
  91. data/assets/data/rtext_resizer.html +1 -1
  92. data/assets/data/slick.html +1 -1
  93. data/assets/data/speak2me.html +5 -4
  94. data/assets/data/themes.bootswatch.json +1 -1
  95. data/assets/data/themes.json +1 -1
  96. data/assets/data/translator.html +28 -148
  97. data/assets/error_pages/HTTP204.html +1 -1
  98. data/assets/error_pages/HTTP400.html +1 -1
  99. data/assets/error_pages/HTTP401.html +1 -1
  100. data/assets/error_pages/HTTP403.html +1 -1
  101. data/assets/error_pages/HTTP404.html +1 -1
  102. data/assets/error_pages/HTTP444.html +1 -1
  103. data/assets/error_pages/HTTP445.html +1 -1
  104. data/assets/error_pages/HTTP446.html +1 -1
  105. data/assets/error_pages/HTTP447.html +1 -1
  106. data/assets/error_pages/HTTP448.html +1 -1
  107. data/assets/error_pages/HTTP500.html +1 -1
  108. data/assets/error_pages/HTTP501.html +1 -1
  109. data/assets/error_pages/HTTP502.html +1 -1
  110. data/assets/error_pages/HTTP503.html +1 -1
  111. data/assets/themes/j1/adapter/js/advertising.js +2 -2
  112. data/assets/themes/j1/adapter/js/algolia.js +2 -2
  113. data/assets/themes/j1/adapter/js/analytics.js +2 -2
  114. data/assets/themes/j1/adapter/js/asciidoctor.js +2 -2
  115. data/assets/themes/j1/adapter/js/attic.js +2 -2
  116. data/assets/themes/j1/adapter/js/bmd.js +2 -2
  117. data/assets/themes/j1/adapter/js/carousel.js +2 -2
  118. data/assets/themes/j1/adapter/js/chatbot.js +466 -0
  119. data/assets/themes/j1/adapter/js/clipboard.js +3 -3
  120. data/assets/themes/j1/adapter/js/comments.js +2 -2
  121. data/assets/themes/j1/adapter/js/cookieConsent.js +2 -2
  122. data/assets/themes/j1/adapter/js/customFunctions.js +2 -2
  123. data/assets/themes/j1/adapter/js/customModule.js +2 -2
  124. data/assets/themes/j1/adapter/js/docsearch.js +270 -0
  125. data/assets/themes/j1/adapter/js/dropdowns.js +2 -2
  126. data/assets/themes/j1/adapter/js/fab.js +5 -87
  127. data/assets/themes/j1/adapter/js/gallery.js +93 -8
  128. data/assets/themes/j1/adapter/js/iconPicker.js +2 -2
  129. data/assets/themes/j1/adapter/js/iframer.js +350 -0
  130. data/assets/themes/j1/adapter/js/j1.js +231 -111
  131. data/assets/themes/j1/adapter/js/lazyLoader.js +2 -2
  132. data/assets/themes/j1/adapter/js/lightbox.js +2 -2
  133. data/assets/themes/j1/adapter/js/logger.js +2 -2
  134. data/assets/themes/j1/adapter/js/lunr.js +2 -2
  135. data/assets/themes/j1/adapter/js/masonry.js +2 -2
  136. data/assets/themes/j1/adapter/js/masterslider.js +2 -2
  137. data/assets/themes/j1/adapter/js/mmenu.js +3 -3
  138. data/assets/themes/j1/adapter/js/navigator.js +6 -2
  139. data/assets/themes/j1/adapter/js/particles.js +2 -2
  140. data/assets/themes/j1/adapter/js/rangeSlider.js +2 -2
  141. data/assets/themes/j1/adapter/js/rouge.js +3 -3
  142. data/assets/themes/j1/adapter/js/rtable.js +2 -2
  143. data/assets/themes/j1/adapter/js/rtextResizer.js +2 -2
  144. data/assets/themes/j1/adapter/js/scroller.js +2 -2
  145. data/assets/themes/j1/adapter/js/slick.js +2 -2
  146. data/assets/themes/j1/adapter/js/speak2me.js +4 -4
  147. data/assets/themes/j1/adapter/js/themeToggler.js +2 -2
  148. data/assets/themes/j1/adapter/js/themer.js +2 -2
  149. data/assets/themes/j1/adapter/js/toccer.js +2 -2
  150. data/assets/themes/j1/adapter/js/translator.js +7 -2
  151. data/assets/themes/j1/adapter/js/waves.js +2 -2
  152. data/assets/themes/j1/core/country-flags/css/theme/uno.css +1 -1
  153. data/assets/themes/j1/core/country-flags/css/theme/uno.min.css +1 -1
  154. data/assets/themes/j1/core/css/animate.css +6 -6
  155. data/assets/themes/j1/core/css/animate.min.css +1 -1
  156. data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +2 -2
  157. data/assets/themes/j1/core/css/icon-fonts/iconify.css +5 -5
  158. data/assets/themes/j1/core/css/icon-fonts/mdi.css +9 -9
  159. data/assets/themes/j1/core/css/icon-fonts/mdib.css +7 -7
  160. data/assets/themes/j1/core/css/icon-fonts/mdil.css +10 -10
  161. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1 -1
  162. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +39 -39
  163. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +91 -94
  164. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  165. data/assets/themes/j1/core/css/vendor.css +14 -15
  166. data/assets/themes/j1/core/js/template.js +425 -148
  167. data/assets/themes/j1/core/js/template.min.js +9 -9
  168. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  169. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  170. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  171. data/assets/themes/j1/modules/bmd/js/bmd.js +1 -1
  172. data/assets/themes/j1/modules/bmd/js/bmd.min.js +1 -1
  173. data/assets/themes/j1/modules/carousel/css/carousel.css +1 -1
  174. data/assets/themes/j1/modules/carousel/css/carousel.min.css +1 -1
  175. data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +1 -1
  176. data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +1 -1
  177. data/assets/themes/j1/modules/carousel/css/theme/uno.css +1 -1
  178. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  179. data/assets/themes/j1/modules/chatbot/css/theme/uno.css +92 -0
  180. data/assets/themes/j1/modules/chatbot/css/theme/uno.min.css +16 -0
  181. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +1 -1
  182. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +1 -1
  183. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +1 -1
  184. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  185. data/assets/themes/j1/modules/dropdowns/css/theme/uno/dropdowns.css +1 -1
  186. data/assets/themes/j1/modules/dropdowns/css/theme/uno/dropdowns.min.css +1 -1
  187. data/assets/themes/j1/modules/dropdowns/js/cash.js +1 -1
  188. data/assets/themes/j1/modules/dropdowns/js/cash.min.js +1 -1
  189. data/assets/themes/j1/modules/dropdowns/js/dropdowns.js +1 -1
  190. data/assets/themes/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
  191. data/assets/themes/j1/modules/fab/js/cash.js +1 -1
  192. data/assets/themes/j1/modules/fab/js/cash.min.js +1 -1
  193. data/assets/themes/j1/modules/fab/js/fab.js +1 -1
  194. data/assets/themes/j1/modules/fab/js/fab.min.js +1 -1
  195. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.css +1 -1
  196. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.min.css +1 -1
  197. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +1 -1
  198. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.min.js +1 -1
  199. data/assets/themes/j1/modules/iframeResizer/LICENSE +1 -1
  200. data/assets/themes/j1/modules/iframeResizer/README.md +105 -0
  201. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.absolute.html +12 -11
  202. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.content.html +22 -28
  203. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.hover.html +9 -8
  204. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.nested.html +12 -12
  205. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.textarea.html +6 -8
  206. data/assets/themes/j1/modules/iframeResizer/{examples → example}/frame.tolerance.html +11 -11
  207. data/assets/themes/j1/modules/iframeResizer/{examples → example}/index.html +43 -19
  208. data/assets/themes/j1/modules/iframeResizer/{examples → example}/two.html +8 -11
  209. data/assets/themes/j1/modules/iframeResizer/js/client/iframeResizer.contentWindow.js +84 -68
  210. data/assets/themes/j1/modules/iframeResizer/js/client/iframeResizer.contentWindow.min.js +10 -8
  211. data/assets/themes/j1/modules/iframeResizer/js/resizer.js +149 -72
  212. data/assets/themes/j1/modules/iframeResizer/js/resizer.min.js +11 -7
  213. data/assets/themes/j1/modules/jquery/js/extensions/hasClass.js +1 -1
  214. data/assets/themes/j1/modules/jquery/js/extensions/hasClass.min.js +1 -1
  215. data/assets/themes/j1/modules/jquery/js/extensions/removeClass.js +1 -1
  216. data/assets/themes/j1/modules/jquery/js/extensions/removeClass.min.js +1 -1
  217. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
  218. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
  219. data/assets/themes/j1/modules/lightGallery/css/lg-transitions.css +1 -1
  220. data/assets/themes/j1/modules/lightGallery/css/lg-transitions.min.css +1 -1
  221. data/assets/themes/j1/modules/lightGallery/css/lightgallery-bundle.css +1 -1
  222. data/assets/themes/j1/modules/lightGallery/css/lightgallery-bundle.min.css +1 -1
  223. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-autoplay.css +1 -1
  224. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-comments.css +1 -1
  225. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-fullscreen.css +1 -1
  226. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-medium-zoom.css +1 -1
  227. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-pager.css +1 -1
  228. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-rotate.css +1 -1
  229. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-share.css +1 -1
  230. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-thumbnail.css +1 -1
  231. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-video.css +1 -1
  232. data/assets/themes/j1/modules/lightGallery/css/plugins/lg-zoom.css +1 -1
  233. data/assets/themes/j1/modules/lightGallery/css/themes/uno/uno.css +1 -1
  234. data/assets/themes/j1/modules/lightGallery/css/themes/uno/uno.min.css +1 -1
  235. data/assets/themes/j1/modules/lightGallery/js/lightgallery.js +1 -1
  236. data/assets/themes/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
  237. data/assets/themes/j1/modules/lightGallery/js/plugins/j1/j1-video.js +1 -1
  238. data/assets/themes/j1/modules/lightGallery/js/plugins/j1/j1-video.min.js +1 -1
  239. data/assets/themes/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
  240. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-autoplay.js +1 -1
  241. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +1 -1
  242. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-comment.js +1 -1
  243. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-comment.min.js +1 -1
  244. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +1 -1
  245. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +1 -1
  246. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-hash.js +1 -1
  247. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-hash.min.js +1 -1
  248. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +1 -1
  249. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +1 -1
  250. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-pager.js +1 -1
  251. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-pager.min.js +1 -1
  252. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-rotate.js +1 -1
  253. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +1 -1
  254. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-share.js +1 -1
  255. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-share.min.js +1 -1
  256. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +1 -1
  257. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +1 -1
  258. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +1 -1
  259. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
  260. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +1 -1
  261. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +1 -1
  262. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-zoom.js +1 -1
  263. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +1 -1
  264. data/assets/themes/j1/modules/lightbox/css/lightbox.css +1 -1
  265. data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +1 -1
  266. data/assets/themes/j1/modules/lightbox/css/theme/uno.css +1 -1
  267. data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +1 -1
  268. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  269. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
  270. data/assets/themes/j1/modules/lunr/css/j1.css +1 -1
  271. data/assets/themes/j1/modules/lunr/css/j1.min.css +1 -1
  272. data/assets/themes/j1/modules/lunr/js/j1.js +1 -1
  273. data/assets/themes/j1/modules/lunr/js/j1.min.js +1 -1
  274. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +1 -1
  275. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  276. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.css +1 -1
  277. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.min.css +1 -1
  278. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +1 -1
  279. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  280. data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +1 -1
  281. data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +1 -1
  282. data/assets/themes/j1/modules/msDropdown/css/flags.css +1 -1
  283. data/assets/themes/j1/modules/msDropdown/css/flags.min.css +1 -1
  284. data/assets/themes/j1/modules/msDropdown/css/msDropdown.css +1 -1
  285. data/assets/themes/j1/modules/msDropdown/css/msDropdown.min.css +1 -1
  286. data/assets/themes/j1/modules/msDropdown/css/themes/uno/msDropdown.css +1 -1
  287. data/assets/themes/j1/modules/msDropdown/css/themes/uno/msDropdown.min.css +1 -1
  288. data/assets/themes/j1/modules/msDropdown/js/msDropdown.js +1 -1
  289. data/assets/themes/j1/modules/msDropdown/js/msDropdown.min.js +1 -1
  290. data/assets/themes/j1/modules/rangeSlider/css/theme/uno/nouislider.css +1 -1
  291. data/assets/themes/j1/modules/rangeSlider/css/theme/uno/nouislider.min.css +1 -1
  292. data/assets/themes/j1/modules/rouge/css/base16/theme.css +1 -1
  293. data/assets/themes/j1/modules/rouge/css/base16/theme.min.css +1 -1
  294. data/assets/themes/j1/modules/rouge/css/base16.dark/theme.css +1 -1
  295. data/assets/themes/j1/modules/rouge/css/base16.dark/theme.min.css +1 -1
  296. data/assets/themes/j1/modules/rouge/css/base16.light/theme.css +1 -1
  297. data/assets/themes/j1/modules/rouge/css/base16.light/theme.min.css +1 -1
  298. data/assets/themes/j1/modules/rouge/css/base16.monokai/theme.css +1 -1
  299. data/assets/themes/j1/modules/rouge/css/base16.monokai/theme.min.css +1 -1
  300. data/assets/themes/j1/modules/rouge/css/base16.monokai.dark/theme.css +1 -1
  301. data/assets/themes/j1/modules/rouge/css/base16.monokai.dark/theme.min.css +1 -1
  302. data/assets/themes/j1/modules/rouge/css/base16.monokai.light/theme.css +1 -1
  303. data/assets/themes/j1/modules/rouge/css/base16.monokai.light/theme.min.css +1 -1
  304. data/assets/themes/j1/modules/rouge/css/base16.solarized/theme.css +1 -1
  305. data/assets/themes/j1/modules/rouge/css/base16.solarized/theme.min.css +1 -1
  306. data/assets/themes/j1/modules/rouge/css/base16.solarized.dark/theme.css +1 -1
  307. data/assets/themes/j1/modules/rouge/css/base16.solarized.dark/theme.min.css +1 -1
  308. data/assets/themes/j1/modules/rouge/css/base16.solarized.light/theme.css +1 -1
  309. data/assets/themes/j1/modules/rouge/css/base16.solarized.light/theme.min.css +1 -1
  310. data/assets/themes/j1/modules/rouge/css/colorful/theme.css +1 -1
  311. data/assets/themes/j1/modules/rouge/css/colorful/theme.min.css +1 -1
  312. data/assets/themes/j1/modules/rouge/css/github/theme.css +1 -1
  313. data/assets/themes/j1/modules/rouge/css/github/theme.min.css +1 -1
  314. data/assets/themes/j1/modules/rouge/css/gruvbox/theme.css +1 -1
  315. data/assets/themes/j1/modules/rouge/css/gruvbox/theme.min.css +1 -1
  316. data/assets/themes/j1/modules/rouge/css/gruvbox.dark/theme.css +1 -1
  317. data/assets/themes/j1/modules/rouge/css/gruvbox.dark/theme.min.css +1 -1
  318. data/assets/themes/j1/modules/rouge/css/gruvbox.light/theme.css +1 -1
  319. data/assets/themes/j1/modules/rouge/css/gruvbox.light/theme.min.css +1 -1
  320. data/assets/themes/j1/modules/rouge/css/igorpro/theme.css +1 -1
  321. data/assets/themes/j1/modules/rouge/css/igorpro/theme.min.css +1 -1
  322. data/assets/themes/j1/modules/rouge/css/molokai/theme.css +1 -1
  323. data/assets/themes/j1/modules/rouge/css/molokai/theme.min.css +1 -1
  324. data/assets/themes/j1/modules/rouge/css/monokai/theme.css +1 -1
  325. data/assets/themes/j1/modules/rouge/css/monokai/theme.min.css +1 -1
  326. data/assets/themes/j1/modules/rouge/css/monokai.sublime/theme.css +1 -1
  327. data/assets/themes/j1/modules/rouge/css/monokai.sublime/theme.min.css +1 -1
  328. data/assets/themes/j1/modules/rouge/css/pastie/theme.css +1 -1
  329. data/assets/themes/j1/modules/rouge/css/pastie/theme.min.css +1 -1
  330. data/assets/themes/j1/modules/rouge/css/thankful_eyes/theme.css +1 -1
  331. data/assets/themes/j1/modules/rouge/css/thankful_eyes/theme.min.css +1 -1
  332. data/assets/themes/j1/modules/rouge/css/themes.txt +1 -1
  333. data/assets/themes/j1/modules/rouge/css/tulip/theme.css +1 -1
  334. data/assets/themes/j1/modules/rouge/css/tulip/theme.min.css +1 -1
  335. data/assets/themes/j1/modules/rouge/css/uno.dark/theme.css +1 -1
  336. data/assets/themes/j1/modules/rouge/css/uno.dark/theme.min.css +1 -1
  337. data/assets/themes/j1/modules/rouge/css/uno.light/theme.css +1 -1
  338. data/assets/themes/j1/modules/rouge/css/uno.light/theme.min.css +1 -1
  339. data/assets/themes/j1/modules/rouge/js/select.js +1 -1
  340. data/assets/themes/j1/modules/rtable/css/theme/uno/rtable.css +1 -1
  341. data/assets/themes/j1/modules/rtable/css/theme/uno/rtable.min.css +1 -1
  342. data/assets/themes/j1/modules/rtable/js/rtable.js +1 -1
  343. data/assets/themes/j1/modules/rtable/js/rtable.min.js +1 -1
  344. data/assets/themes/j1/modules/scroller/css/theme/uno.css +3 -3
  345. data/assets/themes/j1/modules/scroller/css/theme/uno.min.css +3 -3
  346. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  347. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.css +1 -1
  348. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.min.css +1 -1
  349. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +1 -1
  350. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  351. data/assets/themes/j1/modules/spinner/css/spin.css +1 -1
  352. data/assets/themes/j1/modules/spinner/css/spin.min.css +1 -1
  353. data/assets/themes/j1/modules/spinner/js/spin.js +1 -1
  354. data/assets/themes/j1/modules/spinner/js/spin.min.js +1 -1
  355. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
  356. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  357. data/assets/themes/j1/modules/translator/css/translator.css +1 -1
  358. data/assets/themes/j1/modules/translator/css/translator.min.css +1 -1
  359. data/assets/themes/j1/modules/translator/js/translator.js +1 -1
  360. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  361. data/assets/themes/j1/modules/videojs/css/themes/uno.css +1 -1
  362. data/assets/themes/j1/modules/videojs/css/themes/uno.min.css +1 -1
  363. data/assets/themes/j1/modules/videojs/js/plugins/dm/api/dailymotion.min.js +1 -1
  364. data/assets/themes/j1/modules/videojs/js/plugins/dm/dailymotion.js +1 -1
  365. data/assets/themes/j1/modules/videojs/js/plugins/dm/dailymotion.min.js +1 -1
  366. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/player.min.js +1 -1
  367. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/vimeo.js +1 -1
  368. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/vimeo.min.js +1 -1
  369. data/assets/themes/j1/modules/videojs/js/plugins/vm/vimeo.js +1 -1
  370. data/assets/themes/j1/modules/videojs/js/plugins/vm/vimeo.min.js +1 -1
  371. data/assets/themes/j1/modules/videojs/js/plugins/wt/wistia.js +1 -1
  372. data/assets/themes/j1/modules/videojs/js/plugins/wt/wistia.min.js +1 -1
  373. data/assets/themes/j1/modules/videojs/js/plugins/yt/api/youtube.min.js +1 -1
  374. data/assets/themes/j1/modules/videojs/js/plugins/yt/youtube.js +1 -1
  375. data/assets/themes/j1/modules/videojs/js/plugins/yt/youtube.min.js +1 -1
  376. data/lib/j1/version.rb +1 -1
  377. data/lib/j1_app/j1_auth_manager/auth_manager.rb +1 -1
  378. data/lib/j1_app/j1_auth_manager/error_pages.rb +1 -1
  379. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +1 -1
  380. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +1 -1
  381. data/lib/j1_app/j1_auth_manager/helpers_github.rb +1 -1
  382. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +1 -1
  383. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +1 -1
  384. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +1 -1
  385. data/lib/j1_app/omniauth/strategies/disqus.rb +1 -1
  386. data/lib/j1_app/omniauth/strategies/facebook.rb +1 -1
  387. data/lib/j1_app/omniauth/strategies/github.rb +1 -1
  388. data/lib/j1_app/omniauth/strategies/patreon.rb +1 -1
  389. data/lib/j1_app/omniauth/strategies/twitter.rb +1 -1
  390. data/lib/starter_web/Gemfile +3 -3
  391. data/lib/starter_web/README.md +5 -5
  392. data/lib/starter_web/_config.yml +3 -3
  393. data/lib/starter_web/_data/_defaults/categories.yml +1 -1
  394. data/lib/starter_web/_data/_defaults/colors.yml +1 -1
  395. data/lib/starter_web/_data/_defaults/font_sizes.yml +1 -1
  396. data/lib/starter_web/_data/_defaults/j1_config.yml +1 -1
  397. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  398. data/lib/starter_web/_data/apps/defaults/justifiedGalleryCustomizer.yml +1 -1
  399. data/lib/starter_web/_data/apps/justifiedGalleryCustomizer.yml +1 -1
  400. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +1 -1
  401. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  402. data/lib/starter_web/_data/blocks/defaults/banner.yml +1 -1
  403. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  404. data/lib/starter_web/_data/blocks/defaults/panel.yml +1 -1
  405. data/lib/starter_web/_data/blocks/footer.yml +2 -2
  406. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  407. data/lib/starter_web/_data/categories.yml +2 -3
  408. data/lib/starter_web/_data/colors.yml +2 -3
  409. data/lib/starter_web/_data/font_sizes.yml +2 -3
  410. data/lib/starter_web/_data/j1_config.yml +1 -1
  411. data/lib/starter_web/_data/layouts/collection.yml +1 -1
  412. data/lib/starter_web/_data/layouts/default.yml +1 -1
  413. data/lib/starter_web/_data/layouts/home.yml +1 -1
  414. data/lib/starter_web/_data/layouts/news_panel_posts.yml +1 -1
  415. data/lib/starter_web/_data/layouts/page.yml +1 -1
  416. data/lib/starter_web/_data/layouts/post.yml +1 -1
  417. data/lib/starter_web/_data/layouts/raw.yml +1 -1
  418. data/lib/starter_web/_data/modules/_docsearch.yml +45 -0
  419. data/lib/starter_web/_data/modules/advertising.yml +1 -5
  420. data/lib/starter_web/_data/modules/analytics.yml +7 -7
  421. data/lib/starter_web/_data/modules/attics.yml +1 -2
  422. data/lib/starter_web/_data/modules/authentication.yml +1 -2
  423. data/lib/starter_web/_data/modules/blog_navigator.yml +1 -2
  424. data/lib/starter_web/_data/modules/carousel.yml +1 -1
  425. data/lib/starter_web/_data/modules/{framer.yml → chatbots.yml} +12 -11
  426. data/lib/starter_web/_data/modules/comments.yml +7 -7
  427. data/lib/starter_web/_data/modules/cookieconsent.yml +7 -7
  428. data/lib/starter_web/_data/modules/cookies.yml +7 -7
  429. data/lib/starter_web/_data/modules/defaults/advertising.yml +1 -2
  430. data/lib/starter_web/_data/modules/defaults/analytics.yml +2 -3
  431. data/lib/starter_web/_data/modules/defaults/attics.yml +1 -1
  432. data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -2
  433. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +1 -2
  434. data/lib/starter_web/_data/modules/defaults/carousel.yml +1 -1
  435. data/lib/starter_web/_data/modules/defaults/chatbots.yml +80 -0
  436. data/lib/starter_web/_data/modules/defaults/comments.yml +7 -7
  437. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +10 -82
  438. data/lib/starter_web/_data/modules/defaults/cookies.yml +8 -8
  439. data/lib/starter_web/_data/modules/defaults/docsearch.yml +87 -0
  440. data/lib/starter_web/_data/modules/defaults/dropdowns.yml +2 -3
  441. data/lib/starter_web/_data/modules/defaults/fab.yml +1 -2
  442. data/lib/starter_web/_data/modules/defaults/gallery.yml +1 -1
  443. data/lib/starter_web/_data/modules/defaults/iconPicker.yml +7 -7
  444. data/lib/starter_web/_data/modules/defaults/{framer.yml → iframer.yml} +57 -22
  445. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +1 -5
  446. data/lib/starter_web/_data/modules/defaults/lightbox.yml +1 -1
  447. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +1 -2
  448. data/lib/starter_web/_data/modules/defaults/log4r.yml +1 -1
  449. data/lib/starter_web/_data/modules/defaults/lunr.yml +7 -7
  450. data/lib/starter_web/_data/modules/defaults/masonry.yml +7 -7
  451. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  452. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -2
  453. data/lib/starter_web/_data/modules/defaults/particles.yml +1 -1
  454. data/lib/starter_web/_data/modules/defaults/rangeSlider.yml +1 -5
  455. data/lib/starter_web/_data/modules/defaults/rtable.yml +1 -5
  456. data/lib/starter_web/_data/modules/defaults/scroller.yml +2 -5
  457. data/lib/starter_web/_data/modules/defaults/slick.yml +1 -1
  458. data/lib/starter_web/_data/modules/defaults/speak2me.yml +7 -7
  459. data/lib/starter_web/_data/modules/defaults/theme_toggler.yml +7 -7
  460. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -2
  461. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  462. data/lib/starter_web/_data/modules/defaults/translator.yml +18 -59
  463. data/lib/starter_web/_data/modules/defaults/waves.yml +7 -7
  464. data/lib/starter_web/_data/modules/docsearch.yml +45 -0
  465. data/lib/starter_web/_data/modules/dropdowns.yml +1 -2
  466. data/lib/starter_web/_data/modules/fab.yml +1 -5
  467. data/lib/starter_web/_data/modules/gallery.yml +149 -80
  468. data/lib/starter_web/_data/modules/iconPicker.yml +7 -7
  469. data/lib/starter_web/_data/modules/iframer.yml +103 -0
  470. data/lib/starter_web/_data/modules/lazyLoader.yml +1 -2
  471. data/lib/starter_web/_data/modules/lightbox.yml +1 -1
  472. data/lib/starter_web/_data/modules/log4javascript.yml +1 -2
  473. data/lib/starter_web/_data/modules/log4r.yml +1 -1
  474. data/lib/starter_web/_data/modules/lunr.yml +7 -7
  475. data/lib/starter_web/_data/modules/masonry.yml +7 -7
  476. data/lib/starter_web/_data/modules/masterslider.yml +1 -1
  477. data/lib/starter_web/_data/modules/navigator.yml +1 -1
  478. data/lib/starter_web/_data/modules/navigator_menu.yml +44 -11
  479. data/lib/starter_web/_data/modules/particles.yml +1 -1
  480. data/lib/starter_web/_data/modules/rangeSlider.yml +1 -5
  481. data/lib/starter_web/_data/modules/rtable.yml +1 -5
  482. data/lib/starter_web/_data/modules/scroller.yml +2 -1
  483. data/lib/starter_web/_data/modules/slick.yml +1 -1
  484. data/lib/starter_web/_data/modules/speak2me.yml +7 -7
  485. data/lib/starter_web/_data/modules/theme_toggler.yml +7 -7
  486. data/lib/starter_web/_data/modules/themer.yml +1 -2
  487. data/lib/starter_web/_data/modules/toccer.yml +1 -1
  488. data/lib/starter_web/_data/modules/translator.yml +7 -7
  489. data/lib/starter_web/_data/modules/waves.yml +8 -8
  490. data/lib/starter_web/_data/plugins/defaults/feed.yml +1 -1
  491. data/lib/starter_web/_data/plugins/defaults/paginator.yml +1 -1
  492. data/lib/starter_web/_data/plugins/defaults/seo-tags.yml +1 -1
  493. data/lib/starter_web/_data/plugins/defaults/sitemap.yml +1 -1
  494. data/lib/starter_web/_data/plugins/feed.yml +7 -7
  495. data/lib/starter_web/_data/plugins/paginator.yml +1 -1
  496. data/lib/starter_web/_data/plugins/seo-tags.yml +7 -7
  497. data/lib/starter_web/_data/plugins/sitemap.yml +7 -7
  498. data/lib/starter_web/_data/private.yml +1 -1
  499. data/lib/starter_web/_data/resources.yml +60 -14
  500. data/lib/starter_web/_data/templates/feed.xml +2 -2
  501. data/lib/starter_web/_data/templates/robots.txt +1 -1
  502. data/lib/starter_web/_data/templates/seo-tags.html +1 -1
  503. data/lib/starter_web/_data/templates/sitemap.xml +1 -1
  504. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +1 -1
  505. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  506. data/lib/starter_web/_includes/attributes.asciidoc +3 -1
  507. data/lib/starter_web/_includes/custom/static/bs5_accordion.html +6 -7
  508. data/lib/starter_web/_includes/custom/templates/bs5_accordion.html +6 -7
  509. data/lib/starter_web/_includes/custom/templates/collection_panel.html +6 -7
  510. data/lib/starter_web/_includes/custom/templates/custom_header.html +6 -7
  511. data/lib/starter_web/_includes/custom/templates/people_panel.html +6 -7
  512. data/lib/starter_web/_includes/google/static/google_ad__your-slot-id.html +6 -7
  513. data/lib/starter_web/_includes/google/templates/google_ads.html +6 -7
  514. data/lib/starter_web/_plugins/asciidoctor/admonition-block-answer.rb +1 -2
  515. data/lib/starter_web/_plugins/asciidoctor/admonition-block-question.rb +1 -2
  516. data/lib/starter_web/_plugins/asciidoctor/banner.rb +1 -2
  517. data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -2
  518. data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +1 -2
  519. data/lib/starter_web/_plugins/asciidoctor/conum.rb +1 -2
  520. data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -2
  521. data/lib/starter_web/_plugins/asciidoctor/fab-icon-inline.rb +1 -2
  522. data/lib/starter_web/_plugins/asciidoctor/fas-icon-inline.rb +1 -2
  523. data/lib/starter_web/_plugins/asciidoctor/flag-icon-inline.rb +1 -1
  524. data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +1 -1
  525. data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +1 -2
  526. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -2
  527. data/lib/starter_web/_plugins/asciidoctor/iconify-icon-inline.rb +1 -2
  528. data/lib/starter_web/_plugins/asciidoctor/iframe-block.rb +46 -0
  529. data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -2
  530. data/lib/starter_web/_plugins/asciidoctor/lorem_inline.rb +1 -1
  531. data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -2
  532. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -2
  533. data/lib/starter_web/_plugins/asciidoctor/mdi-icon-inline.rb +1 -2
  534. data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +1 -2
  535. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -2
  536. data/lib/starter_web/_plugins/asciidoctor/panel.rb +1 -2
  537. data/lib/starter_web/_plugins/asciidoctor/placeholder-inline.rb +1 -2
  538. data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -2
  539. data/lib/starter_web/_plugins/asciidoctor/shout-block.rb +1 -2
  540. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -2
  541. data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -2
  542. data/lib/starter_web/_plugins/asciidoctor/twitter-emoji-inline.rb +1 -2
  543. data/lib/starter_web/_plugins/asciidoctor/video-block.rb +1 -2
  544. data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +1 -2
  545. data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +1 -2
  546. data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -2
  547. data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +1 -2
  548. data/lib/starter_web/_plugins/filter/debug.rb +1 -1
  549. data/lib/starter_web/_plugins/filter/encodeBase64.rb +1 -1
  550. data/lib/starter_web/_plugins/filter/encryptAES.rb +1 -1
  551. data/lib/starter_web/_plugins/filter/filters.rb +1 -1
  552. data/lib/starter_web/_plugins/filter/liquify.rb +1 -1
  553. data/lib/starter_web/_plugins/filter/minifyJS.rb +1 -1
  554. data/lib/starter_web/_plugins/filter/minifyJSON.rb +1 -1
  555. data/lib/starter_web/_plugins/filter/prettify.rb +1 -1
  556. data/lib/starter_web/_plugins/filter/xml_prettify.rb +1 -1
  557. data/lib/starter_web/_plugins/helper/symlink_watcher.rb +1 -1
  558. data/lib/starter_web/_plugins/i18n/date.rb +1 -1
  559. data/lib/starter_web/_plugins/index/lunr.rb +3 -2
  560. data/lib/starter_web/_plugins/seo/j1-feed.rb +1 -1
  561. data/lib/starter_web/_plugins/seo/j1-seo-tags.rb +1 -1
  562. data/lib/starter_web/_plugins/seo/j1-sitemap.rb +1 -1
  563. data/lib/starter_web/assets/images/modules/gallery/mega_cities/{author.txt → info/authors.txt} +8 -5
  564. data/lib/starter_web/config.ru +1 -1
  565. data/lib/starter_web/dot.gitattributes +1 -2
  566. data/lib/starter_web/dot.nojekyll +1 -2
  567. data/lib/starter_web/package.json +74 -75
  568. data/lib/starter_web/pages/public/about/reporting_issues.adoc +4 -1
  569. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +1 -1
  570. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
  571. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +5 -2
  572. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/111_about_the_converter.asciidoc +4 -2
  573. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +7 -3
  574. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/211_language_overview.asciidoc +0 -1
  575. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/212_values.asciidoc +29 -9
  576. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/213_fonts.asciidoc +37 -13
  577. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.bat +3 -3
  578. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/a2p.sh +3 -4
  579. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.a2p +10 -11
  580. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -1
  581. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.pdf +27727 -0
  582. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +4 -2
  583. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/tables/serve_command_options.asciidoc +5 -2
  584. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +1 -1
  585. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +12 -6
  586. data/lib/starter_web/pages/public/features/general.adoc +5 -2
  587. data/lib/starter_web/pages/public/features/template.adoc +5 -2
  588. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +7 -1
  589. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +7 -1
  590. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +7 -1
  591. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +3 -0
  592. data/lib/starter_web/pages/public/learn/bookshelf/{article_previewer/viewer_all_books.adoc → viewer_all_books.adoc} +8 -2
  593. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +26 -12
  594. data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +1 -1
  595. data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +1 -1
  596. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +1 -1
  597. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +2 -2
  598. data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +2 -2
  599. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +49 -40
  600. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +72 -216
  601. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +1 -1
  602. data/lib/starter_web/pages/public/learn/roundtrip/typography.adoc +1 -1
  603. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  604. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +1 -1
  605. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
  606. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +1 -1
  607. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -1
  608. data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
  609. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.hover.html +69 -0
  610. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.nested.html +75 -0
  611. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/frame.textarea.html +57 -0
  612. data/lib/starter_web/pages/public/tools/previewer/_includes/documents/my.content.html +112 -0
  613. data/lib/starter_web/pages/public/tools/previewer/iframer_documents/iframe.content.html +51 -0
  614. data/lib/starter_web/pages/public/tools/previewer/iframer_documents/iframe.docsearch.info.html +84 -0
  615. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +2 -2
  616. data/lib/starter_web/pages/public/tools/previewer/preview_docsearch.adoc +92 -0
  617. data/lib/starter_web/pages/public/tools/previewer/preview_iframer.adoc +106 -0
  618. metadata +37 -25
  619. data/_layouts/_home.html +0 -88
  620. data/assets/themes/j1/adapter/js/framer.js +0 -237
  621. data/assets/themes/j1/adapter/js/lightGallery.js +0 -459
  622. data/lib/starter_web/_data/_defaults/private.yml +0 -129
  623. data/lib/starter_web/_data/modules/defaults/lightGallery.yml +0 -119
  624. data/lib/starter_web/_data/modules/lightGallery.yml +0 -41
  625. data/lib/starter_web/_data/modules/nbinteract.yml +0 -476
  626. data/lib/starter_web/assets/images/modules/gallery/mega_cities/oskars-sylwan_b.jpg +0 -0
  627. data/lib/starter_web/utilsrv/_defaults/package.json +0 -57
  628. data/lib/starter_web/utilsrv/package.json +0 -57
  629. data/lib/starter_web/utilsrv/server.js +0 -775
@@ -1,9 +1,11 @@
1
- /*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v4.2.11 - 2020-06-02
2
- * Desc: Include this file in any page being loaded into an iframe
3
- * to force the iframe to resize to the content size.
4
- * Requires: iframeResizer.min.js on host page.
5
- * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
6
- * License: MIT
7
- */
1
+ /*
2
+ * File: iframeResizer.contentWindow.min.js
3
+ * v4.3.7
4
+ * Desc: Include this file in any page being loaded into an iframe
5
+ * to force the iframe to resize to the content size.
6
+ * Requires: iframeResizer.js on host page.
7
+ * Doc: https://github.com/davidjbradshaw/iframe-resizer
8
+ * Author: David J. Bradshaw - dave@bradshaw.net
9
+ */
8
10
 
9
- !function(d){if("undefined"!=typeof window){var n=!0,o=10,i="",r=0,a="",t=null,u="",c=!1,s={resize:1,click:1},l=128,f=!0,m=1,h="bodyOffset",g=h,p=!0,v="",y={},b=32,w=null,T=!1,E="[iFrameSizer]",O=E.length,S="",M={max:1,min:1,bodyScroll:1,documentElementScroll:1},I="child",N=!0,A=window.parent,C="*",z=0,k=!1,e=null,R=16,x=1,L="scroll",F=L,P=window,D=function(){re("onMessage function not defined")},j=function(){},q=function(){},H={height:function(){return re("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return re("Custom width calculation function not defined"),document.body.scrollWidth}},W={},B=!1;try{var J=Object.create({},{passive:{get:function(){B=!0}}});window.addEventListener("test",ee,J),window.removeEventListener("test",ee,J)}catch(e){}var U,V,K,Q,X,Y,G=Date.now||function(){return(new Date).getTime()},Z={bodyOffset:function(){return document.body.offsetHeight+pe("marginTop")+pe("marginBottom")},offset:function(){return Z.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return H.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,ye(Z))},min:function(){return Math.min.apply(null,ye(Z))},grow:function(){return Z.max()},lowestElement:function(){return Math.max(Z.bodyOffset()||Z.documentElementOffset(),ve("bottom",we()))},taggedElement:function(){return be("bottom","data-iframe-height")}},$={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return H.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max($.bodyScroll(),$.documentElementScroll())},max:function(){return Math.max.apply(null,ye($))},min:function(){return Math.min.apply(null,ye($))},rightMostElement:function(){return ve("right",we())},taggedElement:function(){return be("right","data-iframe-width")}},_=(U=Te,X=null,Y=0,function(){var e=G(),t=R-(e-(Y=Y||e));return V=this,K=arguments,t<=0||R<t?(X&&(clearTimeout(X),X=null),Y=e,Q=U.apply(V,K),X||(V=K=null)):X=X||setTimeout(Ee,t),Q});te(window,"message",function(t){var n={init:function(){v=t.data,A=t.source,ae(),f=!1,setTimeout(function(){p=!1},l)},reset:function(){p?ie("Page reset ignored by init"):(ie("Page size reset by host page"),Me("resetPage"))},resize:function(){Oe("resizeParent","Parent window requested size check")},moveToAnchor:function(){y.findTarget(i())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=i();ie("PageInfoFromParent called from parent: "+e),q(JSON.parse(e)),ie(" --")},message:function(){var e=i();ie("onMessage called from parent: "+e),D(JSON.parse(e)),ie(" --")}};function o(){return t.data.split("]")[1].split(":")[0]}function i(){return t.data.substr(t.data.indexOf(":")+1)}function r(){return t.data.split(":")[2]in{true:1,false:1}}function e(){var e=o();e in n?n[e]():("undefined"==typeof module||!module.exports)&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype||r()||re("Unexpected message ("+t.data+")")}E===(""+t.data).substr(0,O)&&(!1===f?e():r()?n.init():ie('Ignored message of type "'+o()+'". Received before initialization.'))}),te(window,"readystatechange",Ae),Ae()}function ee(){}function te(e,t,n,o){e.addEventListener(t,n,!!B&&(o||{}))}function ne(e){return e.charAt(0).toUpperCase()+e.slice(1)}function oe(e){return E+"["+S+"] "+e}function ie(e){T&&"object"==typeof window.console&&console.log(oe(e))}function re(e){"object"==typeof window.console&&console.warn(oe(e))}function ae(){!function(){function e(e){return"true"===e}var t=v.substr(O).split(":");S=t[0],r=d!==t[1]?Number(t[1]):r,c=d!==t[2]?e(t[2]):c,T=d!==t[3]?e(t[3]):T,b=d!==t[4]?Number(t[4]):b,n=d!==t[6]?e(t[6]):n,a=t[7],g=d!==t[8]?t[8]:g,i=t[9],u=t[10],z=d!==t[11]?Number(t[11]):z,y.enable=d!==t[12]&&e(t[12]),I=d!==t[13]?t[13]:I,F=d!==t[14]?t[14]:F}(),ie("Initialising iFrame ("+location.href+")"),function(){function e(e,t){return"function"==typeof e&&(ie("Setup custom "+t+"CalcMethod"),H[t]=e,e="custom"),e}"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(function(){var e=window.iFrameResizer;ie("Reading data from page: "+JSON.stringify(e)),Object.keys(e).forEach(ue,e),D="onMessage"in e?e.onMessage:D,j="onReady"in e?e.onReady:j,C="targetOrigin"in e?e.targetOrigin:C,g="heightCalculationMethod"in e?e.heightCalculationMethod:g,F="widthCalculationMethod"in e?e.widthCalculationMethod:F}(),g=e(g,"height"),F=e(F,"width"));ie("TargetOrigin for parent set to: "+C)}(),function(){d===a&&(a=r+"px");ce("margin",function(e,t){-1!==t.indexOf("-")&&(re("Negative CSS value ignored for "+e),t="");return t}("margin",a))}(),ce("background",i),ce("padding",u),function(){var e=document.createElement("div");e.style.clear="both",e.style.display="block",e.style.height="0",document.body.appendChild(e)}(),fe(),me(),document.documentElement.style.height="",document.body.style.height="",ie('HTML & body height set to "auto"'),ie("Enable public methods"),P.parentIFrame={autoResize:function(e){return!0===e&&!1===n?(n=!0,he()):!1===e&&!0===n&&(n=!1,de("remove"),null!==t&&t.disconnect(),clearInterval(w)),Ne(0,0,"autoResize",JSON.stringify(n)),n},close:function(){Ne(0,0,"close")},getId:function(){return S},getPageInfo:function(e){"function"==typeof e?(q=e,Ne(0,0,"pageInfo")):(q=function(){},Ne(0,0,"pageInfoStop"))},moveToAnchor:function(e){y.findTarget(e)},reset:function(){Ie("parentIFrame.reset")},scrollTo:function(e,t){Ne(t,e,"scrollTo")},scrollToOffset:function(e,t){Ne(t,e,"scrollToOffset")},sendMessage:function(e,t){Ne(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){g=e,fe()},setWidthCalculationMethod:function(e){F=e,me()},setTargetOrigin:function(e){ie("Set targetOrigin: "+e),C=e},size:function(e,t){Oe("size","parentIFrame.size("+((e||"")+(t?","+t:""))+")",e,t)}},he(),y=function(){function r(e){var t=e.getBoundingClientRect(),n={x:window.pageXOffset!==d?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==d?window.pageYOffset:document.documentElement.scrollTop};return{x:parseInt(t.left,10)+parseInt(n.x,10),y:parseInt(t.top,10)+parseInt(n.y,10)}}function t(e){var t,n=e.split("#")[1]||e,o=decodeURIComponent(n),i=document.getElementById(o)||document.getElementsByName(o)[0];d!==i?(t=r(i),ie("Moving to in page link (#"+n+") at x: "+t.x+" y: "+t.y),Ne(t.y,t.x,"scrollToOffset")):(ie("In page link (#"+n+") not found in iFrame, so sending to parent"),Ne(0,0,"inPageLink","#"+n))}function e(){""!==location.hash&&"#"!==location.hash&&t(location.href)}function n(){Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),function(e){"#"!==e.getAttribute("href")&&te(e,"click",function(e){e.preventDefault(),t(this.getAttribute("href"))})})}y.enable?Array.prototype.forEach&&document.querySelectorAll?(ie("Setting up location.hash handlers"),n(),te(window,"hashchange",e),setTimeout(e,l)):re("In page linking not fully supported in this browser! (See README.md for IE8 workaround)"):ie("In page linking not enabled");return{findTarget:t}}(),Oe("init","Init message from host page"),j()}function ue(e){var t=e.split("Callback");if(2===t.length){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e],delete this[e],re("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function ce(e,t){d!==t&&""!==t&&"null"!==t&&ie("Body "+e+' set to "'+(document.body.style[e]=t)+'"')}function se(n){var e={add:function(e){function t(){Oe(n.eventName,n.eventType)}W[e]=t,te(window,e,t,{passive:!0})},remove:function(e){var t=W[e];delete W[e],function(e,t,n){e.removeEventListener(t,n,!1)}(window,e,t)}};n.eventNames&&Array.prototype.map?(n.eventName=n.eventNames[0],n.eventNames.map(e[n.method])):e[n.method](n.eventName),ie(ne(n.method)+" event listener: "+n.eventType)}function de(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",eventName:["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"]}),"child"===I&&se({method:e,eventType:"IFrame Resized",eventName:"resize"})}function le(e,t,n,o){return t!==e&&(e in n||(re(e+" is not a valid option for "+o+"CalculationMethod."),e=t),ie(o+' calculation method set to "'+e+'"')),e}function fe(){g=le(g,h,Z,"height")}function me(){F=le(F,L,$,"width")}function he(){!0===n?(de("add"),function(){var e=b<0;window.MutationObserver||window.WebKitMutationObserver?e?ge():t=function(){function t(e){function t(e){!1===e.complete&&(ie("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",r,!1),u.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function o(e){ie("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",r,!1),function(e){u.splice(u.indexOf(e),1)}(e)}function n(e,t,n){o(e.target),Oe(t,n+": "+e.target.src,d,d)}function i(e){n(e,"imageLoad","Image loaded")}function r(e){n(e,"imageLoadFailed","Image load failed")}function a(e){Oe("mutationObserver","mutationObserver: "+e[0].target+" "+e[0].type),e.forEach(t)}var u=[],c=window.MutationObserver||window.WebKitMutationObserver,s=function(){var e=document.querySelector("body");return s=new c(a),ie("Create body MutationObserver"),s.observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}),s}();return{disconnect:function(){"disconnect"in s&&(ie("Disconnect body MutationObserver"),s.disconnect(),u.forEach(o))}}}():(ie("MutationObserver not supported in this browser!"),ge())}()):ie("Auto Resize disabled")}function ge(){0!==b&&(ie("setInterval: "+b+"ms"),w=setInterval(function(){Oe("interval","setInterval: "+b)},Math.abs(b)))}function pe(e,t){var n=0;return t=t||document.body,n=null!==(n=document.defaultView.getComputedStyle(t,null))?n[e]:0,parseInt(n,o)}function ve(e,t){for(var n=t.length,o=0,i=0,r=ne(e),a=G(),u=0;u<n;u++)i<(o=t[u].getBoundingClientRect()[e]+pe("margin"+r,t[u]))&&(i=o);return a=G()-a,ie("Parsed "+n+" HTML elements"),ie("Element position calculated in "+a+"ms"),function(e){R/2<e&&ie("Event throttle increased to "+(R=2*e)+"ms")}(a),i}function ye(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function be(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(re("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),ve(e,n)}function we(){return document.querySelectorAll("body *")}function Te(e,t,n,o){var i,r;function a(e,t){return!(Math.abs(e-t)<=z)}i=d!==n?n:Z[g](),r=d!==o?o:$[F](),a(m,i)||c&&a(x,r)||"init"===e?(Se(),Ne(m=i,x=r,e)):e in{init:1,interval:1,size:1}||!(g in M||c&&F in M)?e in{interval:1}||ie("No change in size detected"):Ie(t)}function Ee(){Y=G(),X=null,Q=U.apply(V,K),X||(V=K=null)}function Oe(e,t,n,o){k&&e in s?ie("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||ie("Trigger event: "+t),"init"===e?Te(e,t,n,o):_(e,t,n,o))}function Se(){k||(k=!0,ie("Trigger event lock on")),clearTimeout(e),e=setTimeout(function(){k=!1,ie("Trigger event lock off"),ie("--")},l)}function Me(e){m=Z[g](),x=$[F](),Ne(m,x,e)}function Ie(e){var t=g;g=h,ie("Reset trigger event: "+e),Se(),Me("reset"),g=t}function Ne(e,t,n,o,i){var r;!0===N&&(d===i?i=C:ie("Message targetOrigin: "+i),ie("Sending message to host page ("+(r=S+":"+(e+":"+t)+":"+n+(d!==o?":"+o:""))+")"),A.postMessage(E+r,i))}function Ae(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}();
11
+ !function(a){if("undefined"!=typeof window){var r=!0,P="",u=0,c="",s=null,D="",d=!1,j={resize:1,click:1},l=128,q=!0,f=1,n="bodyOffset",m=n,H=!0,W="",h={},g=32,B=null,p=!1,v=!1,y="[iFrameSizer]",J=y.length,w="",U={max:1,min:1,bodyScroll:1,documentElementScroll:1},b="child",V=!0,X=window.parent,T="*",E=0,i=!1,Y=null,O=16,S=1,K="scroll",M=K,Q=window,G=function(){x("onMessage function not defined")},Z=function(){},$=function(){},_={height:function(){return x("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return x("Custom width calculation function not defined"),document.body.scrollWidth}},ee={},te=!1;try{var ne=Object.create({},{passive:{get:function(){te=!0}}});window.addEventListener("test",ae,ne),window.removeEventListener("test",ae,ne)}catch(e){}var oe,o,I,ie,N,A,C={bodyOffset:function(){return document.body.offsetHeight+ye("marginTop")+ye("marginBottom")},offset:function(){return C.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return _.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,e(C))},min:function(){return Math.min.apply(null,e(C))},grow:function(){return C.max()},lowestElement:function(){return Math.max(C.bodyOffset()||C.documentElementOffset(),we("bottom",Te()))},taggedElement:function(){return be("bottom","data-iframe-height")}},z={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return _.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max(z.bodyScroll(),z.documentElementScroll())},max:function(){return Math.max.apply(null,e(z))},min:function(){return Math.min.apply(null,e(z))},rightMostElement:function(){return we("right",Te())},taggedElement:function(){return be("right","data-iframe-width")}},re=(oe=Ee,N=null,A=0,function(){var e=Date.now(),t=O-(e-(A=A||e));return o=this,I=arguments,t<=0||O<t?(N&&(clearTimeout(N),N=null),A=e,ie=oe.apply(o,I),N||(o=I=null)):N=N||setTimeout(Oe,t),ie});k(window,"message",function(t){var n={init:function(){W=t.data,X=t.source,se(),q=!1,setTimeout(function(){H=!1},l)},reset:function(){H?R("Page reset ignored by init"):(R("Page size reset by host page"),Me("resetPage"))},resize:function(){L("resizeParent","Parent window requested size check")},moveToAnchor:function(){h.findTarget(i())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=i();R("PageInfoFromParent called from parent: "+e),$(JSON.parse(e)),R(" --")},message:function(){var e=i();R("onMessage called from parent: "+e),G(JSON.parse(e)),R(" --")}};function o(){return t.data.split("]")[1].split(":")[0]}function i(){return t.data.slice(t.data.indexOf(":")+1)}function r(){return t.data.split(":")[2]in{true:1,false:1}}function e(){var e=o();e in n?n[e]():("undefined"==typeof module||!module.exports)&&"iFrameResize"in window||window.jQuery!==a&&"iFrameResize"in window.jQuery.prototype||r()||x("Unexpected message ("+t.data+")")}y===(""+t.data).slice(0,J)&&(!1===q?e():r()?n.init():R('Ignored message of type "'+o()+'". Received before initialization.'))}),k(window,"readystatechange",Ne),Ne()}function ae(){}function k(e,t,n,o){e.addEventListener(t,n,!!te&&(o||{}))}function ue(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ce(e){return y+"["+w+"] "+e}function R(e){p&&"object"==typeof window.console&&console.log(ce(e))}function x(e){"object"==typeof window.console&&console.warn(ce(e))}function se(){function e(e){return"true"===e}function t(e,t){return"function"==typeof e&&(R("Setup custom "+t+"CalcMethod"),_[t]=e,e="custom"),e}{var n;n=W.slice(J).split(":"),w=n[0],u=a===n[1]?u:Number(n[1]),d=a===n[2]?d:e(n[2]),p=a===n[3]?p:e(n[3]),g=a===n[4]?g:Number(n[4]),r=a===n[6]?r:e(n[6]),c=n[7],m=a===n[8]?m:n[8],P=n[9],D=n[10],E=a===n[11]?E:Number(n[11]),h.enable=a!==n[12]&&e(n[12]),b=a===n[13]?b:n[13],M=a===n[14]?M:n[14],v=a===n[15]?v:e(n[15]),R("Initialising iFrame ("+window.location.href+")"),"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(n=window.iFrameResizer,R("Reading data from page: "+JSON.stringify(n)),Object.keys(n).forEach(de,n),G="onMessage"in n?n.onMessage:G,Z="onReady"in n?n.onReady:Z,T="targetOrigin"in n?n.targetOrigin:T,m="heightCalculationMethod"in n?n.heightCalculationMethod:m,M="widthCalculationMethod"in n?n.widthCalculationMethod:M,m=t(m,"height"),M=t(M,"width"))}function o(e){F(0,0,e.type,e.screenY+":"+e.screenX)}function i(e,t){R("Add event listener: "+t),k(window.document,e,o)}R("TargetOrigin for parent set to: "+T),le("margin",function(e,t){-1!==t.indexOf("-")&&(x("Negative CSS value ignored for "+e),t="");return t}("margin",c=a===c?u+"px":c)),le("background",P),le("padding",D),(n=document.createElement("div")).style.clear="both",n.style.display="block",n.style.height="0",document.body.appendChild(n),he(),ge(),document.documentElement.style.height="",document.body.style.height="",R('HTML & body height set to "auto"'),R("Enable public methods"),Q.parentIFrame={autoResize:function(e){return!0===e&&!1===r?(r=!0,pe()):!1===e&&!0===r&&(r=!1,fe("remove"),null!==s&&s.disconnect(),clearInterval(B)),F(0,0,"autoResize",JSON.stringify(r)),r},close:function(){F(0,0,"close")},getId:function(){return w},getPageInfo:function(e){"function"==typeof e?($=e,F(0,0,"pageInfo")):($=function(){},F(0,0,"pageInfoStop"))},moveToAnchor:function(e){h.findTarget(e)},reset:function(){Ie("parentIFrame.reset")},scrollTo:function(e,t){F(t,e,"scrollTo")},scrollToOffset:function(e,t){F(t,e,"scrollToOffset")},sendMessage:function(e,t){F(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){m=e,he()},setWidthCalculationMethod:function(e){M=e,ge()},setTargetOrigin:function(e){R("Set targetOrigin: "+e),T=e},size:function(e,t){L("size","parentIFrame.size("+((e||"")+(t?","+t:""))+")",e,t)}},!0===v&&(i("mouseenter","Mouse Enter"),i("mouseleave","Mouse Leave")),pe(),h=function(){function n(e){var e=e.getBoundingClientRect(),t={x:window.pageXOffset===a?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===a?document.documentElement.scrollTop:window.pageYOffset};return{x:parseInt(e.left,10)+parseInt(t.x,10),y:parseInt(e.top,10)+parseInt(t.y,10)}}function o(e){var e=e.split("#")[1]||e,t=decodeURIComponent(e),t=document.getElementById(t)||document.getElementsByName(t)[0];a===t?(R("In page link (#"+e+") not found in iFrame, so sending to parent"),F(0,0,"inPageLink","#"+e)):(t=n(t=t),R("Moving to in page link (#"+e+") at x: "+t.x+" y: "+t.y),F(t.y,t.x,"scrollToOffset"))}function e(){var e=window.location.hash,t=window.location.href;""!==e&&"#"!==e&&o(t)}function t(){Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),function(e){"#"!==e.getAttribute("href")&&k(e,"click",function(e){e.preventDefault(),o(this.getAttribute("href"))})})}function i(){Array.prototype.forEach&&document.querySelectorAll?(R("Setting up location.hash handlers"),t(),k(window,"hashchange",e),setTimeout(e,l)):x("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}h.enable?i():R("In page linking not enabled");return{findTarget:o}}(),L("init","Init message from host page"),Z()}function de(e){var t=e.split("Callback");2===t.length&&(this[t="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1)]=this[e],delete this[e],x("Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version."))}function le(e,t){a!==t&&""!==t&&"null"!==t&&R("Body "+e+' set to "'+(document.body.style[e]=t)+'"')}function t(n){var e={add:function(e){function t(){L(n.eventName,n.eventType)}ee[e]=t,k(window,e,t,{passive:!0})},remove:function(e){var t=ee[e];delete ee[e],window.removeEventListener(e,t,!1)}};n.eventNames&&Array.prototype.map?(n.eventName=n.eventNames[0],n.eventNames.map(e[n.method])):e[n.method](n.eventName),R(ue(n.method)+" event listener: "+n.eventType)}function fe(e){t({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),t({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),t({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),t({method:e,eventType:"Input",eventName:"input"}),t({method:e,eventType:"Mouse Up",eventName:"mouseup"}),t({method:e,eventType:"Mouse Down",eventName:"mousedown"}),t({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),t({method:e,eventType:"Print",eventNames:["afterprint","beforeprint"]}),t({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),t({method:e,eventType:"Touch Start",eventName:"touchstart"}),t({method:e,eventType:"Touch End",eventName:"touchend"}),t({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),t({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),t({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),t({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===b&&t({method:e,eventType:"IFrame Resized",eventName:"resize"})}function me(e,t,n,o){return t!==e&&(e in n||(x(e+" is not a valid option for "+o+"CalculationMethod."),e=t),R(o+' calculation method set to "'+e+'"')),e}function he(){m=me(m,n,C,"height")}function ge(){M=me(M,K,z,"width")}function pe(){var e;!0===r?(fe("add"),e=g<0,window.MutationObserver||window.WebKitMutationObserver?e?ve():s=function(){function t(e){function t(e){!1===e.complete&&(R("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",r,!1),u.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function o(e){R("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",r,!1),u.splice(u.indexOf(e),1)}function n(e,t,n){o(e.target),L(t,n+": "+e.target.src)}function i(e){n(e,"imageLoad","Image loaded")}function r(e){n(e,"imageLoadFailed","Image load failed")}function a(e){L("mutationObserver","mutationObserver: "+e[0].target+" "+e[0].type),e.forEach(t)}var u=[],c=window.MutationObserver||window.WebKitMutationObserver,s=function(){var e=document.querySelector("body");return s=new c(a),R("Create body MutationObserver"),s.observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}),s}();return{disconnect:function(){"disconnect"in s&&(R("Disconnect body MutationObserver"),s.disconnect(),u.forEach(o))}}}():(R("MutationObserver not supported in this browser!"),ve())):R("Auto Resize disabled")}function ve(){0!==g&&(R("setInterval: "+g+"ms"),B=setInterval(function(){L("interval","setInterval: "+g)},Math.abs(g)))}function ye(e,t){return t=t||document.body,t=null===(t=document.defaultView.getComputedStyle(t,null))?0:t[e],parseInt(t,10)}function we(e,t){for(var n,o=t.length,i=0,r=ue(e),a=Date.now(),u=0;u<o;u++)i<(n=t[u].getBoundingClientRect()[e]+ye("margin"+r,t[u]))&&(i=n);return a=Date.now()-a,R("Parsed "+o+" HTML elements"),R("Element position calculated in "+a+"ms"),O/2<(a=a)&&R("Event throttle increased to "+(O=2*a)+"ms"),i}function e(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function be(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(x("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),we(e,n)}function Te(){return document.querySelectorAll("body *")}function Ee(e,t,n,o){function i(){e in{init:1,interval:1,size:1}||!(m in U||d&&M in U)?e in{interval:1}||R("No change in size detected"):Ie(t)}function r(e,t){return!(Math.abs(e-t)<=E)}n=a===n?C[m]():n,o=a===o?z[M]():o,r(f,n)||d&&r(S,o)||"init"===e?(Se(),F(f=n,S=o,e)):i()}function Oe(){A=Date.now(),N=null,ie=oe.apply(o,I),N||(o=I=null)}function L(e,t,n,o){i&&e in j?R("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||R("Trigger event: "+t),("init"===e?Ee:re)(e,t,n,o))}function Se(){i||(i=!0,R("Trigger event lock on")),clearTimeout(Y),Y=setTimeout(function(){i=!1,R("Trigger event lock off"),R("--")},l)}function Me(e){f=C[m](),S=z[M](),F(f,S,e)}function Ie(e){var t=m;m=n,R("Reset trigger event: "+e),Se(),Me("reset"),m=t}function F(e,t,n,o,i){!0===V&&(a===i?i=T:R("Message targetOrigin: "+i),R("Sending message to host page ("+(e=w+":"+(e+":"+t)+":"+n+(a===o?"":":"+o))+")"),X.postMessage(y+e,i))}function Ne(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}();
@@ -1,12 +1,13 @@
1
1
  /*
2
2
  * File: iframeResizer.js
3
+ * v4.3.7
3
4
  * Desc: Force iframes to size to content.
4
5
  * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.
5
6
  * Doc: https://github.com/davidjbradshaw/iframe-resizer
6
7
  * Author: David J. Bradshaw - dave@bradshaw.net
7
8
  * Contributor: Jure Mav - jure.mav@gmail.com
8
9
  * Contributor: Reed Dadoune - reed@dadoune.com
9
- */
10
+ */
10
11
 
11
12
  // eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names
12
13
  ;(function (undefined) {
@@ -21,15 +22,15 @@
21
22
  msgIdLen = msgId.length,
22
23
  pagePosition = null,
23
24
  requestAnimationFrame = window.requestAnimationFrame,
24
- resetRequiredMethods = {
25
+ resetRequiredMethods = Object.freeze({
25
26
  max: 1,
26
27
  scroll: 1,
27
28
  bodyScroll: 1,
28
29
  documentElementScroll: 1
29
- },
30
+ }),
30
31
  settings = {},
31
32
  timer = null,
32
- defaults = {
33
+ defaults = Object.freeze({
33
34
  autoResize: true,
34
35
  bodyBackground: null,
35
36
  bodyMargin: null,
@@ -46,6 +47,7 @@
46
47
  maxWidth: Infinity,
47
48
  minHeight: 0,
48
49
  minWidth: 0,
50
+ mouseEvents: true,
49
51
  resizeFrom: 'parent',
50
52
  scrolling: false,
51
53
  sizeHeight: true,
@@ -61,11 +63,13 @@
61
63
  onMessage: function () {
62
64
  warn('onMessage function not defined')
63
65
  },
66
+ onMouseEnter: function () {},
67
+ onMouseLeave: function () {},
64
68
  onResized: function () {},
65
69
  onScroll: function () {
66
70
  return true
67
71
  }
68
- }
72
+ })
69
73
 
70
74
  function getMutationObserver() {
71
75
  return (
@@ -92,13 +96,13 @@
92
96
  requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']
93
97
  }
94
98
 
95
- if (!requestAnimationFrame) {
96
- log('setup', 'RequestAnimationFrame not supported')
97
- } else {
99
+ if (requestAnimationFrame) {
98
100
  // Firefox extension content-scripts have a globalThis object that is not the same as window.
99
101
  // Binding `requestAnimationFrame` to window allows the function to work and prevents errors
100
102
  // being thrown when run in that context, and should be a no-op in every other context.
101
103
  requestAnimationFrame = requestAnimationFrame.bind(window)
104
+ } else {
105
+ log('setup', 'RequestAnimationFrame not supported')
102
106
  }
103
107
  }
104
108
 
@@ -106,11 +110,10 @@
106
110
  var retStr = 'Host page: ' + iframeId
107
111
 
108
112
  if (window.top !== window.self) {
109
- if (window.parentIFrame && window.parentIFrame.getId) {
110
- retStr = window.parentIFrame.getId() + ': ' + iframeId
111
- } else {
112
- retStr = 'Nested host page: ' + iframeId
113
- }
113
+ retStr =
114
+ window.parentIFrame && window.parentIFrame.getId
115
+ ? window.parentIFrame.getId() + ': ' + iframeId
116
+ : 'Nested host page: ' + iframeId
114
117
  }
115
118
 
116
119
  return retStr
@@ -158,7 +161,7 @@
158
161
  }
159
162
 
160
163
  function processMsg() {
161
- var data = msg.substr(msgIdLen).split(':')
164
+ var data = msg.slice(msgIdLen).split(':')
162
165
  var height = data[1] ? parseInt(data[1], 10) : 0
163
166
  var iframe = settings[data[0]] && settings[data[0]].iframe
164
167
  var compStyle = getComputedStyle(iframe)
@@ -267,14 +270,14 @@
267
270
 
268
271
  function isMessageForUs() {
269
272
  return (
270
- msgId === ('' + msg).substr(0, msgIdLen) &&
271
- msg.substr(msgIdLen).split(':')[0] in settings
273
+ msgId === ('' + msg).slice(0, msgIdLen) &&
274
+ msg.slice(msgIdLen).split(':')[0] in settings
272
275
  ) // ''+Protects against non-string msg
273
276
  }
274
277
 
275
278
  function isMessageFromMetaParent() {
276
279
  // Test if this message is from a parent above us. This is an ugly test, however, updating
277
- // the message format would break backwards compatibity.
280
+ // the message format would break backwards compatibility.
278
281
  var retCode = messageData.type in { true: 1, false: 1, undefined: 1 }
279
282
 
280
283
  if (retCode) {
@@ -285,7 +288,7 @@
285
288
  }
286
289
 
287
290
  function getMsgBody(offset) {
288
- return msg.substr(msg.indexOf(':') + msgHeaderLen + offset)
291
+ return msg.slice(msg.indexOf(':') + msgHeaderLen + offset)
289
292
  }
290
293
 
291
294
  function forwardMsgFromIFrame(msgBody) {
@@ -297,10 +300,12 @@
297
300
  msgBody +
298
301
  '}'
299
302
  )
303
+
300
304
  on('onMessage', {
301
305
  iframe: messageData.iframe,
302
306
  message: JSON.parse(msgBody)
303
307
  })
308
+
304
309
  log(iframeId, '--')
305
310
  }
306
311
 
@@ -441,18 +446,18 @@
441
446
  ')'
442
447
  )
443
448
 
444
- if (window.top !== window.self) {
445
- scrollParent()
446
- } else {
449
+ if (window.top === window.self) {
447
450
  reposition()
451
+ } else {
452
+ scrollParent()
448
453
  }
449
454
  }
450
455
 
451
456
  function scrollTo() {
452
- if (false !== on('onScroll', pagePosition)) {
453
- setPagePosition(iframeId)
454
- } else {
457
+ if (false === on('onScroll', pagePosition)) {
455
458
  unsetPagePosition()
459
+ } else {
460
+ setPagePosition(iframeId)
456
461
  }
457
462
  }
458
463
 
@@ -499,11 +504,35 @@
499
504
 
500
505
  if (target) {
501
506
  jumpToTarget()
502
- } else if (window.top !== window.self) {
507
+ } else if (window.top === window.self) {
508
+ log(iframeId, 'In page link #' + hash + ' not found')
509
+ } else {
503
510
  jumpToParent()
511
+ }
512
+ }
513
+
514
+ function onMouse(event) {
515
+ var mousePos = {}
516
+
517
+ if (Number(messageData.width) === 0 && Number(messageData.height) === 0) {
518
+ var data = getMsgBody(9).split(':')
519
+ mousePos = {
520
+ x: data[1],
521
+ y: data[0]
522
+ }
504
523
  } else {
505
- log(iframeId, 'In page link #' + hash + ' not found')
524
+ mousePos = {
525
+ x: messageData.width,
526
+ y: messageData.height
527
+ }
506
528
  }
529
+
530
+ on(event, {
531
+ iframe: messageData.iframe,
532
+ screenX: Number(mousePos.x),
533
+ screenY: Number(mousePos.y),
534
+ type: messageData.type
535
+ })
507
536
  }
508
537
 
509
538
  function on(funcName, val) {
@@ -514,53 +543,86 @@
514
543
  if (settings[iframeId] && settings[iframeId].firstRun) firstRun()
515
544
 
516
545
  switch (messageData.type) {
517
- case 'close':
546
+ case 'close': {
518
547
  closeIFrame(messageData.iframe)
519
548
  break
549
+ }
520
550
 
521
- case 'message':
551
+ case 'message': {
522
552
  forwardMsgFromIFrame(getMsgBody(6))
523
553
  break
554
+ }
555
+
556
+ case 'mouseenter': {
557
+ onMouse('onMouseEnter')
558
+ break
559
+ }
560
+
561
+ case 'mouseleave': {
562
+ onMouse('onMouseLeave')
563
+ break
564
+ }
524
565
 
525
- case 'autoResize':
566
+ case 'autoResize': {
526
567
  settings[iframeId].autoResize = JSON.parse(getMsgBody(9))
527
568
  break
569
+ }
528
570
 
529
- case 'scrollTo':
571
+ case 'scrollTo': {
530
572
  scrollRequestFromChild(false)
531
573
  break
574
+ }
532
575
 
533
- case 'scrollToOffset':
576
+ case 'scrollToOffset': {
534
577
  scrollRequestFromChild(true)
535
578
  break
579
+ }
536
580
 
537
- case 'pageInfo':
581
+ case 'pageInfo': {
538
582
  sendPageInfoToIframe(
539
583
  settings[iframeId] && settings[iframeId].iframe,
540
584
  iframeId
541
585
  )
542
586
  startPageInfoMonitor()
543
587
  break
588
+ }
544
589
 
545
- case 'pageInfoStop':
590
+ case 'pageInfoStop': {
546
591
  stopPageInfoMonitor()
547
592
  break
593
+ }
548
594
 
549
- case 'inPageLink':
595
+ case 'inPageLink': {
550
596
  findTarget(getMsgBody(9))
551
597
  break
598
+ }
552
599
 
553
- case 'reset':
600
+ case 'reset': {
554
601
  resetIFrame(messageData)
555
602
  break
603
+ }
556
604
 
557
- case 'init':
605
+ case 'init': {
558
606
  resizeIFrame()
559
607
  on('onInit', messageData.iframe)
560
608
  break
609
+ }
561
610
 
562
- default:
563
- resizeIFrame()
611
+ default: {
612
+ if (
613
+ Number(messageData.width) === 0 &&
614
+ Number(messageData.height) === 0
615
+ ) {
616
+ warn(
617
+ 'Unsupported message received (' +
618
+ messageData.type +
619
+ '), this is likely due to the iframe containing a later ' +
620
+ 'version of iframe-resizer than the parent page'
621
+ )
622
+ } else {
623
+ resizeIFrame()
624
+ }
625
+ }
564
626
  }
565
627
  }
566
628
 
@@ -674,13 +736,13 @@
674
736
  if (null === pagePosition) {
675
737
  pagePosition = {
676
738
  x:
677
- window.pageXOffset !== undefined
678
- ? window.pageXOffset
679
- : document.documentElement.scrollLeft,
739
+ window.pageXOffset === undefined
740
+ ? document.documentElement.scrollLeft
741
+ : window.pageXOffset,
680
742
  y:
681
- window.pageYOffset !== undefined
682
- ? window.pageYOffset
683
- : document.documentElement.scrollTop
743
+ window.pageYOffset === undefined
744
+ ? document.documentElement.scrollTop
745
+ : window.pageYOffset
684
746
  }
685
747
  log(
686
748
  iframeId,
@@ -882,22 +944,25 @@
882
944
  ':' +
883
945
  settings[iframeId].resizeFrom +
884
946
  ':' +
885
- settings[iframeId].widthCalculationMethod
947
+ settings[iframeId].widthCalculationMethod +
948
+ ':' +
949
+ settings[iframeId].mouseEvents
886
950
  )
887
951
  }
888
952
 
953
+ function isNumber(value) {
954
+ return typeof value === 'number'
955
+ }
956
+
889
957
  function setupIFrame(iframe, options) {
890
958
  function setLimits() {
891
959
  function addStyle(style) {
892
- if (
893
- Infinity !== settings[iframeId][style] &&
894
- 0 !== settings[iframeId][style]
895
- ) {
896
- iframe.style[style] = settings[iframeId][style] + 'px'
897
- log(
898
- iframeId,
899
- 'Set ' + style + ' = ' + settings[iframeId][style] + 'px'
900
- )
960
+ var styleValue = settings[iframeId][style]
961
+ if (Infinity !== styleValue && 0 !== styleValue) {
962
+ iframe.style[style] = isNumber(styleValue)
963
+ ? styleValue + 'px'
964
+ : styleValue
965
+ log(iframeId, 'Set ' + style + ' = ' + iframe.style[style])
901
966
  }
902
967
  }
903
968
 
@@ -933,6 +998,10 @@
933
998
  }
934
999
 
935
1000
  function ensureHasId(iframeId) {
1001
+ if (typeof iframeId !== 'string') {
1002
+ throw new TypeError('Invaild id for iFrame. Expected String')
1003
+ }
1004
+
936
1005
  if ('' === iframeId) {
937
1006
  // eslint-disable-next-line no-multi-assign
938
1007
  iframe.id = iframeId = newId()
@@ -961,21 +1030,25 @@
961
1030
  ? 'hidden'
962
1031
  : 'auto'
963
1032
  switch (settings[iframeId] && settings[iframeId].scrolling) {
964
- case 'omit':
1033
+ case 'omit': {
965
1034
  break
1035
+ }
966
1036
 
967
- case true:
1037
+ case true: {
968
1038
  iframe.scrolling = 'yes'
969
1039
  break
1040
+ }
970
1041
 
971
- case false:
1042
+ case false: {
972
1043
  iframe.scrolling = 'no'
973
1044
  break
1045
+ }
974
1046
 
975
- default:
1047
+ default: {
976
1048
  iframe.scrolling = settings[iframeId]
977
1049
  ? settings[iframeId].scrolling
978
1050
  : 'no'
1051
+ }
979
1052
  }
980
1053
  }
981
1054
 
@@ -1133,11 +1206,12 @@
1133
1206
 
1134
1207
  function processOptions(options) {
1135
1208
  options = options || {}
1136
- settings[iframeId] = {
1137
- firstRun: true,
1138
- iframe: iframe,
1139
- remoteHost: iframe.src && iframe.src.split('/').slice(0, 3).join('/')
1140
- }
1209
+
1210
+ settings[iframeId] = Object.create(null) // Protect against prototype attacks
1211
+ settings[iframeId].iframe = iframe
1212
+ settings[iframeId].firstRun = true
1213
+ settings[iframeId].remoteHost =
1214
+ iframe.src && iframe.src.split('/').slice(0, 3).join('/')
1141
1215
 
1142
1216
  checkOptions(options)
1143
1217
  Object.keys(options).forEach(depricate, options)
@@ -1157,15 +1231,15 @@
1157
1231
 
1158
1232
  var iframeId = ensureHasId(iframe.id)
1159
1233
 
1160
- if (!beenHere()) {
1234
+ if (beenHere()) {
1235
+ warn(iframeId, 'Ignored iFrame, already setup.')
1236
+ } else {
1161
1237
  processOptions(options)
1162
1238
  setScrolling()
1163
1239
  setLimits()
1164
1240
  setupBodyMarginValues()
1165
1241
  init(createOutgoingMsg(iframeId))
1166
1242
  setupIFrameObject()
1167
- } else {
1168
- warn(iframeId, 'Ignored iFrame, already setup.')
1169
1243
  }
1170
1244
  }
1171
1245
 
@@ -1266,11 +1340,11 @@
1266
1340
  /* istanbul ignore next */
1267
1341
  function tabVisible() {
1268
1342
  function resize() {
1269
- sendTriggerMsg('Tab Visable', 'resize')
1343
+ sendTriggerMsg('Tab Visible', 'resize')
1270
1344
  }
1271
1345
 
1272
1346
  if ('hidden' !== document.visibilityState) {
1273
- log('document', 'Trigger event: Visiblity change')
1347
+ log('document', 'Trigger event: Visibility change')
1274
1348
  debouce(resize, 16)
1275
1349
  }
1276
1350
  }
@@ -1343,19 +1417,22 @@
1343
1417
 
1344
1418
  switch (typeof target) {
1345
1419
  case 'undefined':
1346
- case 'string':
1420
+ case 'string': {
1347
1421
  Array.prototype.forEach.call(
1348
1422
  document.querySelectorAll(target || 'iframe'),
1349
1423
  init.bind(undefined, options)
1350
1424
  )
1351
1425
  break
1426
+ }
1352
1427
 
1353
- case 'object':
1428
+ case 'object': {
1354
1429
  init(options, target)
1355
1430
  break
1431
+ }
1356
1432
 
1357
- default:
1433
+ default: {
1358
1434
  throw new TypeError('Unexpected data type (' + typeof target + ')')
1435
+ }
1359
1436
  }
1360
1437
 
1361
1438
  return iFrames
@@ -1376,7 +1453,7 @@
1376
1453
  }
1377
1454
  }
1378
1455
 
1379
- if (window.jQuery) {
1456
+ if (window.jQuery !== undefined) {
1380
1457
  createJQueryPublicMethod(window.jQuery)
1381
1458
  }
1382
1459
 
@@ -1,8 +1,12 @@
1
- /*! iFrame Resizer (iframeSizer.min.js ) - v4.2.11 - 2020-06-02
2
- * Desc: Force cross domain iframes to size to content.
3
- * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
4
- * Copyright: (c) 2020 David J. Bradshaw - dave@bradshaw.net
5
- * License: MIT
6
- */
1
+ /*
2
+ * File: iframeResizer.min.js
3
+ * v4.3.7
4
+ * Desc: Force iframes to size to content.
5
+ * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.
6
+ * Doc: https://github.com/davidjbradshaw/iframe-resizer
7
+ * Author: David J. Bradshaw - dave@bradshaw.net
8
+ * Contributor: Jure Mav - jure.mav@gmail.com
9
+ * Contributor: Reed Dadoune - reed@dadoune.com
10
+ */
7
11
 
8
- !function(l){if("undefined"!=typeof window){var e,m=0,g=!1,o=!1,v="message".length,I="[iFrameSizer]",x=I.length,F=null,r=window.requestAnimationFrame,h={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},M={},i=null,w={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){E("onMessage function not defined")},onResized:function(){},onScroll:function(){return!0}},k={};window.jQuery&&((e=window.jQuery).fn?e.fn.iFrameResize||(e.fn.iFrameResize=function(i){return this.filter("iframe").each(function(e,n){d(n,i)}).end()}):T("","Unable to bind to jQuery, it is not fully loaded.")),"function"==typeof define&&define.amd?define([],q):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=q()),window.iFrameResize=window.iFrameResize||q()}function p(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function z(e,n,i){e.addEventListener(n,i,!1)}function O(e,n,i){e.removeEventListener(n,i,!1)}function a(e){return I+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}function t(e){return M[e]?M[e].log:g}function R(e,n){s("log",e,n,t(e))}function T(e,n){s("info",e,n,t(e))}function E(e,n){s("warn",e,n,!0)}function s(e,n,i,t){!0===t&&"object"==typeof window.console&&console[e](a(n),i)}function n(n){function e(){i("Height"),i("Width"),A(function(){P(b),S(y),d("onResized",b)},b,"init")}function i(e){var n=Number(M[y]["max"+e]),i=Number(M[y]["min"+e]),t=e.toLowerCase(),o=Number(b[t]);R(y,"Checking "+t+" is in range "+i+"-"+n),o<i&&(o=i,R(y,"Set "+t+" to min value")),n<o&&(o=n,R(y,"Set "+t+" to max value")),b[t]=""+o}function t(e){return p.substr(p.indexOf(":")+v+e)}function a(e,n){!function(e,n,i){k[i]||(k[i]=setTimeout(function(){k[i]=null,e()},n))}(function(){B("Send Page Info","pageInfo:"+function(){var e=document.body.getBoundingClientRect(),n=b.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:n.height,iframeWidth:n.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(n.top-e.top,10),offsetLeft:parseInt(n.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}(),e,n)},32,n)}function r(e){var n=e.getBoundingClientRect();return N(y),{x:Math.floor(Number(n.left)+Number(F.x)),y:Math.floor(Number(n.top)+Number(F.y))}}function o(e){var n=e?r(b.iframe):{x:0,y:0},i={x:Number(b.width)+n.x,y:Number(b.height)+n.y};R(y,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top!==window.self?window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](i.x,i.y):E(y,"Unable to scroll to requested position, window.parentIFrame not found"):(F=i,s(),R(y,"--"))}function s(){!1!==d("onScroll",F)?S(y):H()}function d(e,n){return W(y,e,n)}var c,u,f,l,m,g,h,w,p=n.data,b={},y=null;"[iFrameResizerChild]Ready"===p?function(){for(var e in M)B("iFrame requested init",L(e),M[e].iframe,e)}():I===(""+p).substr(0,x)&&p.substr(x).split(":")[0]in M?(m=p.substr(x).split(":"),g=m[1]?parseInt(m[1],10):0,h=M[m[0]]&&M[m[0]].iframe,w=getComputedStyle(h),b={iframe:h,id:m[0],height:g+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.paddingTop?parseInt(e.paddingTop,10):0,i=e.paddingBottom?parseInt(e.paddingBottom,10):0;return n+i}(w)+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.borderTopWidth?parseInt(e.borderTopWidth,10):0,i=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return n+i}(w),width:m[2],type:m[3]},y=b.id,M[y]&&(M[y].loaded=!0),(l=b.type in{true:1,false:1,undefined:1})&&R(y,"Ignoring init message from meta parent page"),!l&&(f=!0,M[u=y]||(f=!1,E(b.type+" No settings for "+u+". Message was: "+p)),f)&&(R(y,"Received: "+p),c=!0,null===b.iframe&&(E(y,"IFrame ("+b.id+") not found"),c=!1),c&&function(){var e,i=n.origin,t=M[y]&&M[y].checkOrigin;if(t&&""+i!="null"&&!(t.constructor===Array?function(){var e=0,n=!1;for(R(y,"Checking connection is from allowed list of origins: "+t);e<t.length;e++)if(t[e]===i){n=!0;break}return n}():(e=M[y]&&M[y].remoteHost,R(y,"Checking connection is from: "+e),i===e)))throw new Error("Unexpected message received from: "+i+" for "+b.iframe.id+". Message was: "+n.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(M[y]&&M[y].firstRun&&M[y]&&(M[y].firstRun=!1),b.type){case"close":C(b.iframe);break;case"message":!function(e){R(y,"onMessage passed: {iframe: "+b.iframe.id+", message: "+e+"}"),d("onMessage",{iframe:b.iframe,message:JSON.parse(e)}),R(y,"--")}(t(6));break;case"autoResize":M[y].autoResize=JSON.parse(t(9));break;case"scrollTo":o(!1);break;case"scrollToOffset":o(!0);break;case"pageInfo":a(M[y]&&M[y].iframe,y),function(){function e(n,i){function t(){M[r]?a(M[r].iframe,r):o()}["scroll","resize"].forEach(function(e){R(r,n+e+" listener for sendPageInfo"),i(window,e,t)})}function o(){e("Remove ",O)}var r=y;e("Add ",z),M[r]&&(M[r].stopPageInfo=o)}();break;case"pageInfoStop":M[y]&&M[y].stopPageInfo&&(M[y].stopPageInfo(),delete M[y].stopPageInfo);break;case"inPageLink":!function(e){var n,i=e.split("#")[1]||"",t=decodeURIComponent(i),o=document.getElementById(t)||document.getElementsByName(t)[0];o?(n=r(o),R(y,"Moving to in page link (#"+i+") at x: "+n.x+" y: "+n.y),F={x:n.x,y:n.y},s(),R(y,"--")):window.top!==window.self?window.parentIFrame?window.parentIFrame.moveToAnchor(i):R(y,"In page link #"+i+" not found and window.parentIFrame not found"):R(y,"In page link #"+i+" not found")}(t(9));break;case"reset":j(b);break;case"init":e(),d("onInit",b.iframe);break;default:e()}}())):T(y,"Ignored: "+p)}function W(e,n,i){var t=null,o=null;if(M[e]){if("function"!=typeof(t=M[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=t(i)}return o}function b(e){var n=e.id;delete M[n]}function C(e){var n=e.id;if(!1!==W(n,"onClose",n)){R(n,"Removing iFrame: "+n);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){E(e)}W(n,"onClosed",n),R(n,"--"),b(e)}else R(n,"Close iframe cancelled by onClose event")}function N(e){null===F&&R(e,"Get page position: "+(F={x:window.pageXOffset!==l?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==l?window.pageYOffset:document.documentElement.scrollTop}).x+","+F.y)}function S(e){null!==F&&(window.scrollTo(F.x,F.y),R(e,"Set page position: "+F.x+","+F.y),H())}function H(){F=null}function j(e){R(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),N(e.id),A(function(){P(e),B("reset","reset",e.iframe,e.id)},e,"reset")}function P(n){function i(e){o||"0"!==n[e]||(o=!0,R(t,"Hidden iFrame detected, creating visibility listener"),function(){function n(){Object.keys(M).forEach(function(e){!function(n){function e(e){return"0px"===(M[n]&&M[n].iframe.style[e])}M[n]&&null!==M[n].iframe.offsetParent&&(e("height")||e("width"))&&B("Visibility change","resize",M[n].iframe,n)}(e)})}function i(e){R("window","Mutation observed: "+e[0].target+" "+e[0].type),c(n,16)}var t=p();t&&function(){var e=document.querySelector("body");new t(i).observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0})}()}())}function e(e){!function(e){n.id?(n.iframe.style[e]=n[e]+"px",R(n.id,"IFrame ("+t+") "+e+" set to "+n[e]+"px")):R("undefined","messageData id not set")}(e),i(e)}var t=n.iframe.id;M[t]&&(M[t].sizeHeight&&e("height"),M[t].sizeWidth&&e("width"))}function A(e,n,i){i!==n.type&&r&&!window.jasmine?(R(n.id,"Requesting animation frame"),r(e)):e()}function B(e,n,i,t,o){var r,a=!1;t=t||i.id,M[t]&&(i&&"contentWindow"in i&&null!==i.contentWindow?(r=M[t]&&M[t].targetOrigin,R(t,"["+e+"] Sending msg to iframe["+t+"] ("+n+") targetOrigin: "+r),i.contentWindow.postMessage(I+n,r)):E(t,"["+e+"] IFrame("+t+") not found"),o&&M[t]&&M[t].warningTimeout&&(M[t].msgTimeout=setTimeout(function(){!M[t]||M[t].loaded||a||(a=!0,E(t,"IFrame has not responded within "+M[t].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."))},M[t].warningTimeout)))}function L(e){return e+":"+M[e].bodyMarginV1+":"+M[e].sizeWidth+":"+M[e].log+":"+M[e].interval+":"+M[e].enablePublicMethods+":"+M[e].autoResize+":"+M[e].bodyMargin+":"+M[e].heightCalculationMethod+":"+M[e].bodyBackground+":"+M[e].bodyPadding+":"+M[e].tolerance+":"+M[e].inPageLinks+":"+M[e].resizeFrom+":"+M[e].widthCalculationMethod}function d(i,e){function n(e){var n=e.split("Callback");if(2===n.length){var i="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[i]=this[e],delete this[e],E(c,"Deprecated: '"+e+"' has been renamed '"+i+"'. The old method will be removed in the next major version.")}}var t,o,r,a,s,d,c=(""===(o=i.id)&&(i.id=(t=e&&e.id||w.id+m++,null!==document.getElementById(t)&&(t+=m++),o=t),g=(e||{}).log,R(o,"Added missing iframe ID: "+o+" ("+i.src+")")),o);function u(e){1/0!==M[c][e]&&0!==M[c][e]&&(i.style[e]=M[c][e]+"px",R(c,"Set "+e+" = "+M[c][e]+"px"))}function f(e){if(M[c]["min"+e]>M[c]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}c in M&&"iFrameResizer"in i?E(c,"Ignored iFrame, already setup."):(d=(d=e)||{},M[c]={firstRun:!0,iframe:i,remoteHost:i.src&&i.src.split("/").slice(0,3).join("/")},function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(d),Object.keys(d).forEach(n,d),function(e){for(var n in w)Object.prototype.hasOwnProperty.call(w,n)&&(M[c][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:w[n])}(d),M[c]&&(M[c].targetOrigin=!0===M[c].checkOrigin?function(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}(M[c].remoteHost):"*"),function(){switch(R(c,"IFrame scrolling "+(M[c]&&M[c].scrolling?"enabled":"disabled")+" for "+c),i.style.overflow=!1===(M[c]&&M[c].scrolling)?"hidden":"auto",M[c]&&M[c].scrolling){case"omit":break;case!0:i.scrolling="yes";break;case!1:i.scrolling="no";break;default:i.scrolling=M[c]?M[c].scrolling:"no"}}(),f("Height"),f("Width"),u("maxHeight"),u("minHeight"),u("maxWidth"),u("minWidth"),"number"!=typeof(M[c]&&M[c].bodyMargin)&&"0"!==(M[c]&&M[c].bodyMargin)||(M[c].bodyMarginV1=M[c].bodyMargin,M[c].bodyMargin=M[c].bodyMargin+"px"),r=L(c),(s=p())&&(a=s,i.parentNode&&new a(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===i&&C(i)})})}).observe(i.parentNode,{childList:!0})),z(i,"load",function(){B("iFrame.onload",r,i,l,!0),function(){var e=M[c]&&M[c].firstRun,n=M[c]&&M[c].heightCalculationMethod in h;!e&&n&&j({iframe:i,height:0,width:0,type:"init"})}()}),B("init",r,i,l,!0),M[c]&&(M[c].iframe.iFrameResizer={close:C.bind(null,M[c].iframe),removeListeners:b.bind(null,M[c].iframe),resize:B.bind(null,"Window resize","resize",M[c].iframe),moveToAnchor:function(e){B("Move to anchor","moveToAnchor:"+e,M[c].iframe,c)},sendMessage:function(e){B("Send Message","message:"+(e=JSON.stringify(e)),M[c].iframe,c)}}))}function c(e,n){null===i&&(i=setTimeout(function(){i=null,e()},n))}function u(){"hidden"!==document.visibilityState&&(R("document","Trigger event: Visiblity change"),c(function(){f("Tab Visable","resize")},16))}function f(n,i){Object.keys(M).forEach(function(e){!function(e){return M[e]&&"parent"===M[e].resizeFrom&&M[e].autoResize&&!M[e].firstRun}(e)||B(n,i,M[e].iframe,e)})}function y(){z(window,"message",n),z(window,"resize",function(){!function(e){R("window","Trigger event: "+e),c(function(){f("Window "+e,"resize")},16)}("resize")}),z(document,"visibilitychange",u),z(document,"-webkit-visibilitychange",u)}function q(){function i(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),d(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!r;e+=1)r=window[n[e]+"RequestAnimationFrame"];r?r=r.bind(window):R("setup","RequestAnimationFrame not supported")}(),y(),function(e,n){switch(t=[],function(e){e&&e.enablePublicMethods&&E("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(e),typeof n){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(n||"iframe"),i.bind(l,e));break;case"object":i(e,n);break;default:throw new TypeError("Unexpected data type ("+typeof n+")")}return t}}}();
12
+ !function(d){var c,u,a,v,x,I,M,r,f,k,i,l,z;function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function F(e,n,i){e.addEventListener(n,i,!1)}function B(e,n,i){e.removeEventListener(n,i,!1)}function p(e){return x+"["+(n="Host page: "+(e=e),n=window.top!==window.self?window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e:n)+"]";var n}function t(e){return k[e]?k[e].log:u}function O(e,n){o("log",e,n,t(e))}function E(e,n){o("info",e,n,t(e))}function R(e,n){o("warn",e,n,!0)}function o(e,n,i,t){!0===t&&"object"==typeof window.console&&console[e](p(n),i)}function w(e){function i(){t("Height"),t("Width"),P(function(){H(w),C(b),l("onResized",w)},w,"init")}function n(){var e=p.slice(I).split(":"),n=e[1]?parseInt(e[1],10):0,i=k[e[0]]&&k[e[0]].iframe,t=getComputedStyle(i);return{iframe:i,id:e[0],height:n+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.paddingTop?parseInt(e.paddingTop,10):0,e=e.paddingBottom?parseInt(e.paddingBottom,10):0;return n+e}(t)+function(e){if("border-box"!==e.boxSizing)return 0;var n=e.borderTopWidth?parseInt(e.borderTopWidth,10):0,e=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return n+e}(t),width:e[2],type:e[3]}}function t(e){var n=Number(k[b]["max"+e]),i=Number(k[b]["min"+e]),e=e.toLowerCase(),t=Number(w[e]);O(b,"Checking "+e+" is in range "+i+"-"+n),t<i&&(t=i,O(b,"Set "+e+" to min value")),n<t&&(t=n,O(b,"Set "+e+" to max value")),w[e]=""+t}function o(){var t=e.origin,o=k[b]&&k[b].checkOrigin;if(o&&""+t!="null"&&!function(){if(o.constructor!==Array)return e=k[b]&&k[b].remoteHost,O(b,"Checking connection is from: "+e),t===e;var e,n=0,i=!1;for(O(b,"Checking connection is from allowed list of origins: "+o);n<o.length;n++)if(o[n]===t){i=!0;break}return i}())throw new Error("Unexpected message received from: "+t+" for "+w.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 1}function a(e){return p.slice(p.indexOf(":")+v+e)}function s(i,t){var e,n,o;e=function(){var e,n;A("Send Page Info","pageInfo:"+(e=document.body.getBoundingClientRect(),n=w.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:n.height,iframeWidth:n.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(n.top-e.top,10),offsetLeft:parseInt(n.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),i,t)},n=32,z[o=t]||(z[o]=setTimeout(function(){z[o]=null,e()},n))}function r(e){e=e.getBoundingClientRect();return W(b),{x:Math.floor(Number(e.left)+Number(M.x)),y:Math.floor(Number(e.top)+Number(M.y))}}function d(e){var n=e?r(w.iframe):{x:0,y:0},i={x:Number(w.width)+n.x,y:Number(w.height)+n.y};O(b,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(M=i,c(),O(b,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](i.x,i.y):R(b,"Unable to scroll to requested position, window.parentIFrame not found")}function c(){!1===l("onScroll",M)?S():C(b)}function u(e){var e=e.split("#")[1]||"",n=decodeURIComponent(e),n=document.getElementById(n)||document.getElementsByName(n)[0];n?(n=r(n),O(b,"Moving to in page link (#"+e+") at x: "+n.x+" y: "+n.y),M={x:n.x,y:n.y},c(),O(b,"--")):window.top===window.self?O(b,"In page link #"+e+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(e):O(b,"In page link #"+e+" not found and window.parentIFrame not found")}function f(e){var n,i={};i=0===Number(w.width)&&0===Number(w.height)?{x:(n=a(9).split(":"))[1],y:n[0]}:{x:w.width,y:w.height},l(e,{iframe:w.iframe,screenX:Number(i.x),screenY:Number(i.y),type:w.type})}function l(e,n){return T(b,e,n)}function m(){switch(k[b]&&k[b].firstRun&&k[b]&&(k[b].firstRun=!1),w.type){case"close":N(w.iframe);break;case"message":n=a(6),O(b,"onMessage passed: {iframe: "+w.iframe.id+", message: "+n+"}"),l("onMessage",{iframe:w.iframe,message:JSON.parse(n)}),O(b,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":k[b].autoResize=JSON.parse(a(9));break;case"scrollTo":d(!1);break;case"scrollToOffset":d(!0);break;case"pageInfo":s(k[b]&&k[b].iframe,b),r=b,e("Add ",F),k[r]&&(k[r].stopPageInfo=o);break;case"pageInfoStop":k[b]&&k[b].stopPageInfo&&(k[b].stopPageInfo(),delete k[b].stopPageInfo);break;case"inPageLink":u(a(9));break;case"reset":j(w);break;case"init":i(),l("onInit",w.iframe);break;default:0===Number(w.width)&&0===Number(w.height)?R("Unsupported message received ("+w.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):i()}function e(n,i){function t(){k[r]?s(k[r].iframe,r):o()}["scroll","resize"].forEach(function(e){O(r,n+e+" listener for sendPageInfo"),i(window,e,t)})}function o(){e("Remove ",B)}var r,n}var g,h,p=e.data,w={},b=null;if("[iFrameResizerChild]Ready"===p)for(var y in k)A("iFrame requested init",L(y),k[y].iframe,y);else x===(""+p).slice(0,I)&&p.slice(I).split(":")[0]in k?(w=n(),b=w.id,k[b]&&(k[b].loaded=!0),(h=w.type in{true:1,false:1,undefined:1})&&O(b,"Ignoring init message from meta parent page"),!h&&(h=!0,k[g=b]||(h=!1,R(w.type+" No settings for "+g+". Message was: "+p)),h)&&(O(b,"Received: "+p),g=!0,null===w.iframe&&(R(b,"IFrame ("+w.id+") not found"),g=!1),g&&o()&&m())):E(b,"Ignored: "+p)}function T(e,n,i){var t=null,o=null;if(k[e]){if("function"!=typeof(t=k[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=t(i)}return o}function g(e){e=e.id;delete k[e]}function N(e){var n=e.id;if(!1===T(n,"onClose",n))O(n,"Close iframe cancelled by onClose event");else{O(n,"Removing iFrame: "+n);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){R(e)}T(n,"onClosed",n),O(n,"--"),g(e)}}function W(e){null===M&&O(e,"Get page position: "+(M={x:window.pageXOffset===d?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===d?document.documentElement.scrollTop:window.pageYOffset}).x+","+M.y)}function C(e){null!==M&&(window.scrollTo(M.x,M.y),O(e,"Set page position: "+M.x+","+M.y),S())}function S(){M=null}function j(e){O(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),W(e.id),P(function(){H(e),A("reset","reset",e.iframe,e.id)},e,"reset")}function H(o){function i(e){var n;function i(){Object.keys(k).forEach(function(e){function n(e){return"0px"===(k[i]&&k[i].iframe.style[e])}var i;k[i=e]&&null!==k[i].iframe.offsetParent&&(n("height")||n("width"))&&A("Visibility change","resize",k[i].iframe,i)})}function t(e){O("window","Mutation observed: "+e[0].target+" "+e[0].type),h(i,16)}!a&&"0"===o[e]&&(a=!0,O(r,"Hidden iFrame detected, creating visibility listener"),e=m())&&(n=document.querySelector("body"),new e(t).observe(n,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}function e(e){var n;n=e,o.id?(o.iframe.style[n]=o[n]+"px",O(o.id,"IFrame ("+r+") "+n+" set to "+o[n]+"px")):O("undefined","messageData id not set"),i(e)}var r=o.iframe.id;k[r]&&(k[r].sizeHeight&&e("height"),k[r].sizeWidth)&&e("width")}function P(e,n,i){i!==n.type&&r&&!window.jasmine?(O(n.id,"Requesting animation frame"),r(e)):e()}function A(n,i,t,o,e){function r(){var e;t&&"contentWindow"in t&&null!==t.contentWindow?(e=k[o]&&k[o].targetOrigin,O(o,"["+n+"] Sending msg to iframe["+o+"] ("+i+") targetOrigin: "+e),t.contentWindow.postMessage(x+i,e)):R(o,"["+n+"] IFrame("+o+") not found")}function a(){e&&k[o]&&k[o].warningTimeout&&(k[o].msgTimeout=setTimeout(function(){!k[o]||k[o].loaded||s||(s=!0,R(o,"IFrame has not responded within "+k[o].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."))},k[o].warningTimeout))}var s=!1;o=o||t.id,k[o]&&(r(),a())}function L(e){return e+":"+k[e].bodyMarginV1+":"+k[e].sizeWidth+":"+k[e].log+":"+k[e].interval+":"+k[e].enablePublicMethods+":"+k[e].autoResize+":"+k[e].bodyMargin+":"+k[e].heightCalculationMethod+":"+k[e].bodyBackground+":"+k[e].bodyPadding+":"+k[e].tolerance+":"+k[e].inPageLinks+":"+k[e].resizeFrom+":"+k[e].widthCalculationMethod+":"+k[e].mouseEvents}function s(t,i){function e(i){var e=m();e&&(e=e,t.parentNode)&&new e(function(e){e.forEach(function(e){Array.prototype.slice.call(e.removedNodes).forEach(function(e){e===t&&N(t)})})}).observe(t.parentNode,{childList:!0}),F(t,"load",function(){var e,n;A("iFrame.onload",i,t,d,!0),e=k[r]&&k[r].firstRun,n=k[r]&&k[r].heightCalculationMethod in f,!e&&n&&j({iframe:t,height:0,width:0,type:"init"})}),A("init",i,t,d,!0)}function o(e){var n=e.split("Callback");2===n.length&&(this[n="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1)]=this[e],delete this[e],R(r,"Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version."))}function n(e){if(e=e||{},k[r]=Object.create(null),k[r].iframe=t,k[r].firstRun=!0,k[r].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),"object"!=typeof e)throw new TypeError("Options is not an object");Object.keys(e).forEach(o,e);var n,i=e;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(k[r][n]=(Object.prototype.hasOwnProperty.call(i,n)?i:l)[n]);k[r]&&(k[r].targetOrigin=!0!==k[r].checkOrigin||""===(e=k[r].remoteHost)||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e)}var r=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=i&&i.id||l.id+c++,null!==document.getElementById(n)&&(n+=c++),e=n),u=(i||{}).log,O(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);if(r in k&&"iFrameResizer"in t)R(r,"Ignored iFrame, already setup.");else{switch(n(i),O(r,"IFrame scrolling "+(k[r]&&k[r].scrolling?"enabled":"disabled")+" for "+r),t.style.overflow=!1===(k[r]&&k[r].scrolling)?"hidden":"auto",k[r]&&k[r].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=k[r]?k[r].scrolling:"no"}s("Height"),s("Width"),a("maxHeight"),a("minHeight"),a("maxWidth"),a("minWidth"),"number"!=typeof(k[r]&&k[r].bodyMargin)&&"0"!==(k[r]&&k[r].bodyMargin)||(k[r].bodyMarginV1=k[r].bodyMargin,k[r].bodyMargin=k[r].bodyMargin+"px"),e(L(r)),k[r]&&(k[r].iframe.iFrameResizer={close:N.bind(null,k[r].iframe),removeListeners:g.bind(null,k[r].iframe),resize:A.bind(null,"Window resize","resize",k[r].iframe),moveToAnchor:function(e){A("Move to anchor","moveToAnchor:"+e,k[r].iframe,r)},sendMessage:function(e){A("Send Message","message:"+(e=JSON.stringify(e)),k[r].iframe,r)}})}function a(e){var n=k[r][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,O(r,"Set "+e+" = "+t.style[e]))}function s(e){if(k[r]["min"+e]>k[r]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}}function h(e,n){null===i&&(i=setTimeout(function(){i=null,e()},n))}function e(){"hidden"!==document.visibilityState&&(O("document","Trigger event: Visibility change"),h(function(){b("Tab Visible","resize")},16))}function b(i,t){Object.keys(k).forEach(function(e){var n;k[n=e]&&"parent"===k[n].resizeFrom&&k[n].autoResize&&!k[n].firstRun&&A(i,t,k[e].iframe,e)})}function y(){F(window,"message",w),F(window,"resize",function(){var e;O("window","Trigger event: "+(e="resize")),h(function(){b("Window "+e,"resize")},16)}),F(document,"visibilitychange",e),F(document,"-webkit-visibilitychange",e)}function n(){function t(e,n){if(n){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">");s(n,e),o.push(n)}}for(var o,e=["moz","webkit","o","ms"],n=0;n<e.length&&!r;n+=1)r=window[e[n]+"RequestAnimationFrame"];return r?r=r.bind(window):O("setup","RequestAnimationFrame not supported"),y(),function(e,n){var i;switch(o=[],(i=e)&&i.enablePublicMethods&&R("enablePublicMethods option has been removed, public methods are now always available in the iFrame"),typeof n){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(n||"iframe"),t.bind(d,e));break;case"object":t(e,n);break;default:throw new TypeError("Unexpected data type ("+typeof n+")")}return o}}function q(e){e.fn?e.fn.iFrameResize||(e.fn.iFrameResize=function(i){return this.filter("iframe").each(function(e,n){s(n,i)}).end()}):E("","Unable to bind to jQuery, it is not fully loaded.")}"undefined"!=typeof window&&(c=0,a=u=!1,v="message".length,I=(x="[iFrameSizer]").length,M=null,r=window.requestAnimationFrame,f=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),k={},i=null,l=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){R("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),z={},window.jQuery!==d&&q(window.jQuery),"function"==typeof define&&define.amd?define([],n):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=n()),window.iFrameResize=window.iFrameResize||n())}();