@iamproperty/components 7.7.1--beta5 → 7.7.1--beta7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -1
  8. package/assets/css/components/calendar.component.css.map +1 -1
  9. package/assets/css/components/card.component.css +1 -1
  10. package/assets/css/components/card.component.css.map +1 -1
  11. package/assets/css/components/card.module.css +1 -1
  12. package/assets/css/components/card.module.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/charts.css +1 -1
  16. package/assets/css/components/charts.css.map +1 -1
  17. package/assets/css/components/collapsible-side.css +1 -1
  18. package/assets/css/components/collapsible-side.css.map +1 -1
  19. package/assets/css/components/config.component.css +1 -1
  20. package/assets/css/components/config.component.css.map +1 -1
  21. package/assets/css/components/content.component.css +1 -1
  22. package/assets/css/components/content.component.css.map +1 -1
  23. package/assets/css/components/doughnutchart.component.css +1 -1
  24. package/assets/css/components/doughnutchart.component.css.map +1 -1
  25. package/assets/css/components/fileupload.css +1 -1
  26. package/assets/css/components/fileupload.css.map +1 -1
  27. package/assets/css/components/filter-card.component.css +1 -1
  28. package/assets/css/components/filter-card.component.css.map +1 -1
  29. package/assets/css/components/header.css +1 -1
  30. package/assets/css/components/header.css.map +1 -1
  31. package/assets/css/components/input.component.css.map +1 -1
  32. package/assets/css/components/modal.component.css +1 -1
  33. package/assets/css/components/modal.component.css.map +1 -1
  34. package/assets/css/components/multi-step-modal.component.css +1 -1
  35. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  36. package/assets/css/components/multiselect.css +1 -1
  37. package/assets/css/components/multiselect.css.map +1 -1
  38. package/assets/css/components/nav.component.css +1 -1
  39. package/assets/css/components/nav.component.css.map +1 -1
  40. package/assets/css/components/notification.css +1 -1
  41. package/assets/css/components/notification.css.map +1 -1
  42. package/assets/css/components/pagination.css +1 -1
  43. package/assets/css/components/pagination.css.map +1 -1
  44. package/assets/css/components/record-card.component.css +1 -1
  45. package/assets/css/components/record-card.component.css.map +1 -1
  46. package/assets/css/components/slider.css +1 -1
  47. package/assets/css/components/slider.css.map +1 -1
  48. package/assets/css/components/split-button.component.css +1 -1
  49. package/assets/css/components/split-button.component.css.map +1 -1
  50. package/assets/css/components/tabs.component.css +1 -1
  51. package/assets/css/components/tabs.component.css.map +1 -1
  52. package/assets/css/components/tag.component.css +1 -1
  53. package/assets/css/components/tag.component.css.map +1 -1
  54. package/assets/css/components/video-card.component.css +1 -1
  55. package/assets/css/components/video-card.component.css.map +1 -1
  56. package/assets/css/components/video-modal.component.css +1 -1
  57. package/assets/css/components/video-modal.component.css.map +1 -1
  58. package/assets/css/components/video.component.css +1 -1
  59. package/assets/css/components/video.component.css.map +1 -1
  60. package/assets/css/core.min.css +1 -1
  61. package/assets/css/core.min.css.map +1 -1
  62. package/assets/css/elements/buttons--global.css +1 -1
  63. package/assets/css/elements/buttons--global.css.map +1 -1
  64. package/assets/css/elements/buttons--secondary.css +1 -1
  65. package/assets/css/elements/buttons--secondary.css.map +1 -1
  66. package/assets/css/elements/buttons--special.css +1 -1
  67. package/assets/css/elements/buttons--special.css.map +1 -1
  68. package/assets/css/elements/buttons--tertiary.css +1 -1
  69. package/assets/css/elements/buttons--tertiary.css.map +1 -1
  70. package/assets/css/elements/buttons.css +1 -1
  71. package/assets/css/elements/buttons.css.map +1 -1
  72. package/assets/css/elements/container.css +1 -1
  73. package/assets/css/elements/container.css.map +1 -1
  74. package/assets/css/elements/details.css +1 -1
  75. package/assets/css/elements/details.css.map +1 -1
  76. package/assets/css/elements/dialog.css.map +1 -1
  77. package/assets/css/elements/dropdown.css +1 -1
  78. package/assets/css/elements/dropdown.css.map +1 -1
  79. package/assets/css/elements/feature.css +1 -1
  80. package/assets/css/elements/feature.css.map +1 -1
  81. package/assets/css/elements/forms.css +1 -1
  82. package/assets/css/elements/forms.css.map +1 -1
  83. package/assets/css/elements/label.css +1 -1
  84. package/assets/css/elements/label.css.map +1 -1
  85. package/assets/css/elements/links--collapsible-side.css +1 -0
  86. package/assets/css/elements/links--collapsible-side.css.map +1 -0
  87. package/assets/css/elements/links--global.css +1 -0
  88. package/assets/css/elements/links--global.css.map +1 -0
  89. package/assets/css/elements/links--video.css +1 -0
  90. package/assets/css/elements/links--video.css.map +1 -0
  91. package/assets/css/elements/links.css +1 -1
  92. package/assets/css/elements/links.css.map +1 -1
  93. package/assets/css/elements/modal.css.map +1 -1
  94. package/assets/css/elements/progress.css.map +1 -1
  95. package/assets/css/elements/textarea.css +1 -1
  96. package/assets/css/elements/textarea.css.map +1 -1
  97. package/assets/css/elements/toggle-button.css +1 -1
  98. package/assets/css/elements/toggle-button.css.map +1 -1
  99. package/assets/css/elements/tooltips.css +1 -1
  100. package/assets/css/elements/tooltips.css.map +1 -1
  101. package/assets/css/style.min.css +1 -1
  102. package/assets/css/style.min.css.map +1 -1
  103. package/assets/js/components/accordion/accordion.component.js +1 -1
  104. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  105. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  106. package/assets/js/components/actionbar/actionbar.component.js +2 -2
  107. package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
  108. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  109. package/assets/js/components/address-lookup/address-lookup.component.js +2 -2
  110. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  111. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  112. package/assets/js/components/advanced-select/advanced-select.component.js +2 -2
  113. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  114. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  115. package/assets/js/components/applied-filters/applied-filters.component.js +1 -1
  116. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  117. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  118. package/assets/js/components/barchart/barchart.component.js +2 -2
  119. package/assets/js/components/barchart/barchart.component.min.js +6 -6
  120. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  121. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  122. package/assets/js/components/calendar/calendar.component.js +2 -2
  123. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  124. package/assets/js/components/calendar/calendar.component.min.js.map +1 -1
  125. package/assets/js/components/card/card.component.js +3 -3
  126. package/assets/js/components/card/card.component.min.js +2 -2
  127. package/assets/js/components/card/card.component.min.js.map +1 -1
  128. package/assets/js/components/carousel/carousel.component.js +2 -2
  129. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  130. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  131. package/assets/js/components/chart/chart.component.js +1 -1
  132. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  133. package/assets/js/components/config/config.component.js +1 -1
  134. package/assets/js/components/config/config.component.min.js +2 -2
  135. package/assets/js/components/config/config.component.min.js.map +1 -1
  136. package/assets/js/components/content/content.component.min.js +4 -4
  137. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  138. package/assets/js/components/doughnutchart/doughnutchart.component.js +2 -2
  139. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +4 -4
  140. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  141. package/assets/js/components/fileupload/fileupload.component.js +1 -1
  142. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  143. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  144. package/assets/js/components/filter-card/filter-card.component.js +2 -2
  145. package/assets/js/components/filter-card/filter-card.component.min.js +5 -5
  146. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  147. package/assets/js/components/filterlist/filterlist.component.js +1 -1
  148. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  149. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  150. package/assets/js/components/form/form.component.js +1 -1
  151. package/assets/js/components/form/form.component.min.js +1 -1
  152. package/assets/js/components/form/form.component.min.js.map +1 -1
  153. package/assets/js/components/header/header.component.min.js +2 -2
  154. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  155. package/assets/js/components/input/input.component.js +1 -1
  156. package/assets/js/components/input/input.component.min.js +1 -1
  157. package/assets/js/components/input/input.component.min.js.map +1 -1
  158. package/assets/js/components/input-range/input-range.component.js +1 -1
  159. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  160. package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
  161. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  162. package/assets/js/components/menu/menu.component.min.js +1 -1
  163. package/assets/js/components/milestone/milestone.component.js +2 -2
  164. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  165. package/assets/js/components/milestone/milestone.component.min.js.map +1 -1
  166. package/assets/js/components/milestone-group/milestone-group.component.js +2 -2
  167. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  168. package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -1
  169. package/assets/js/components/modal/modal.component.js +2 -2
  170. package/assets/js/components/modal/modal.component.min.js +4 -4
  171. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  172. package/assets/js/components/multi-step/multi-step.component.js +1 -1
  173. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  174. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -1
  175. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +1 -1
  176. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  177. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
  178. package/assets/js/components/multiselect/multiselect.component.js +1 -1
  179. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  180. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  181. package/assets/js/components/nav/nav.component.min.js +2 -2
  182. package/assets/js/components/notification/notification.component.js +4 -3
  183. package/assets/js/components/notification/notification.component.min.js +5 -4
  184. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  185. package/assets/js/components/pagination/pagination.component.min.js +3 -3
  186. package/assets/js/components/password/password.component.js +1 -1
  187. package/assets/js/components/password/password.component.min.js +1 -1
  188. package/assets/js/components/password/password.component.min.js.map +1 -1
  189. package/assets/js/components/popover/popover.component.js +1 -1
  190. package/assets/js/components/popover/popover.component.min.js +1 -1
  191. package/assets/js/components/popover/popover.component.min.js.map +1 -1
  192. package/assets/js/components/rank/rank.component.js +1 -1
  193. package/assets/js/components/rank/rank.component.min.js +1 -1
  194. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  195. package/assets/js/components/rankings/rankings.component.js +2 -2
  196. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  197. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  198. package/assets/js/components/rating/rating.component.js +1 -1
  199. package/assets/js/components/rating/rating.component.min.js +1 -1
  200. package/assets/js/components/rating/rating.component.min.js.map +1 -1
  201. package/assets/js/components/record-card/record-card.component.js +2 -2
  202. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  203. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  204. package/assets/js/components/search/search.component.js +2 -2
  205. package/assets/js/components/search/search.component.min.js +1 -1
  206. package/assets/js/components/search/search.component.min.js.map +1 -1
  207. package/assets/js/components/slider/slider.component.min.js +2 -2
  208. package/assets/js/components/split-button/split-button.component.js +1 -1
  209. package/assets/js/components/split-button/split-button.component.min.js +3 -3
  210. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  211. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +1 -1
  212. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +2 -2
  213. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  214. package/assets/js/components/table/table.component.js +2 -2
  215. package/assets/js/components/table/table.component.min.js +1 -1
  216. package/assets/js/components/table/table.component.min.js.map +1 -1
  217. package/assets/js/components/table-ajax/table-ajax.component.js +2 -2
  218. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  219. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  220. package/assets/js/components/table-basic/table-basic.component.js +1 -1
  221. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  222. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  223. package/assets/js/components/table-no-submit/table-no-submit.component.js +2 -2
  224. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  225. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  226. package/assets/js/components/table-submit/table-submit.component.js +2 -2
  227. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  228. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  229. package/assets/js/components/tabs/tabs.component.js +1 -1
  230. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  231. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  232. package/assets/js/components/tag/tag.component.js +2 -2
  233. package/assets/js/components/tag/tag.component.min.js +4 -4
  234. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  235. package/assets/js/components/tooltip/tooltip.component.js +1 -1
  236. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  237. package/assets/js/components/tooltip/tooltip.component.min.js.map +1 -1
  238. package/assets/js/components/video/video.component.js +2 -2
  239. package/assets/js/components/video/video.component.min.js +4 -4
  240. package/assets/js/components/video/video.component.min.js.map +1 -1
  241. package/assets/js/components/video-card/video-card.component.js +4 -4
  242. package/assets/js/components/video-card/video-card.component.min.js +6 -6
  243. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  244. package/assets/js/components/video-modal/video-modal.component.js +3 -3
  245. package/assets/js/components/video-modal/video-modal.component.min.js +5 -5
  246. package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
  247. package/assets/js/components/word-count/word-count.component.js +1 -1
  248. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  249. package/assets/js/components/word-count/word-count.component.min.js.map +1 -1
  250. package/assets/js/modules/chart.js +1 -1
  251. package/assets/js/modules/chart.module.js +1 -1
  252. package/assets/js/modules/helper.test.js +2 -2
  253. package/assets/js/modules/table.js +1 -1
  254. package/assets/js/modules/tabs.js +1 -1
  255. package/assets/js/scripts.bundle.js +1 -1
  256. package/assets/js/scripts.bundle.js.map +1 -1
  257. package/assets/js/scripts.bundle.min.js +1 -1
  258. package/assets/js/scripts.bundle.min.js.map +1 -1
  259. package/assets/js/scripts.js +4 -4
  260. package/assets/sass/_bs_grid.scss +7 -7
  261. package/assets/sass/_bs_utilities.scss +9 -9
  262. package/assets/sass/_components.scss +6 -6
  263. package/assets/sass/_corefiles.scss +5 -5
  264. package/assets/sass/_functions/bs_functions.scss +56 -56
  265. package/assets/sass/_functions/bs_mixins.scss +161 -161
  266. package/assets/sass/_functions/bs_utilities.scss +63 -63
  267. package/assets/sass/_functions/bs_variables.scss +276 -278
  268. package/assets/sass/_functions/functions.scss +2 -2
  269. package/assets/sass/_grid.scss +15 -15
  270. package/assets/sass/_print.scss +1 -1
  271. package/assets/sass/components/actionbar.component.scss +15 -15
  272. package/assets/sass/components/actionbar.global.scss +12 -12
  273. package/assets/sass/components/address-lookup.component.scss +5 -5
  274. package/assets/sass/components/address-lookup.preload.scss +1 -1
  275. package/assets/sass/components/barchart.component.scss +21 -21
  276. package/assets/sass/components/calendar.component.scss +33 -33
  277. package/assets/sass/components/calendar.config.scss +8 -8
  278. package/assets/sass/components/card.component.scss +18 -13
  279. package/assets/sass/components/card.module.scss +10 -7
  280. package/assets/sass/components/carousel.component.scss +27 -27
  281. package/assets/sass/components/carousel.config.scss +5 -5
  282. package/assets/sass/components/charts.config.scss +1 -1
  283. package/assets/sass/components/charts.module.scss +32 -32
  284. package/assets/sass/components/charts.scss +67 -67
  285. package/assets/sass/components/collapsible-side.scss +10 -10
  286. package/assets/sass/components/config.component.scss +15 -15
  287. package/assets/sass/components/doughnutchart.component.scss +6 -6
  288. package/assets/sass/components/fileupload.scss +4 -4
  289. package/assets/sass/components/filter-card.component.scss +4 -4
  290. package/assets/sass/components/header.scss +13 -18
  291. package/assets/sass/components/inline-edit.preload.scss +6 -6
  292. package/assets/sass/components/input.component.scss +7 -7
  293. package/assets/sass/components/menu.component.scss +7 -36
  294. package/assets/sass/components/menu.global.scss +2 -2
  295. package/assets/sass/components/modal.component.scss +8 -8
  296. package/assets/sass/components/multi-step-modal.component.scss +12 -12
  297. package/assets/sass/components/multi-step-modal.global.scss +2 -2
  298. package/assets/sass/components/multi-step.component.scss +3 -3
  299. package/assets/sass/components/multiselect.scss +1 -1
  300. package/assets/sass/components/nav.component.scss +24 -24
  301. package/assets/sass/components/nav.docs.scss +2 -2
  302. package/assets/sass/components/nav.global.scss +24 -24
  303. package/assets/sass/components/notification.scss +19 -32
  304. package/assets/sass/components/pagination.scss +8 -8
  305. package/assets/sass/components/password.component.scss +3 -3
  306. package/assets/sass/components/property-searchbar.scss +5 -5
  307. package/assets/sass/components/rank.component.scss +1 -1
  308. package/assets/sass/components/slider.scss +2 -2
  309. package/assets/sass/components/split-button.component.scss +4 -4
  310. package/assets/sass/components/table-basic.component.scss +8 -8
  311. package/assets/sass/components/table-basic.global.scss +22 -22
  312. package/assets/sass/components/table.component.scss +4 -4
  313. package/assets/sass/components/table.global.scss +21 -21
  314. package/assets/sass/components/tabs.config.scss +5 -5
  315. package/assets/sass/components/testimonial.scss +3 -3
  316. package/assets/sass/components/video-card.component.scss +2 -2
  317. package/assets/sass/components/word-count.component.scss +5 -5
  318. package/assets/sass/elements/{buttons--global.scss → buttons--global.css} +66 -77
  319. package/assets/sass/elements/{buttons--secondary.scss → buttons--secondary.css} +2 -8
  320. package/assets/sass/elements/{buttons--special.scss → buttons--special.css} +11 -18
  321. package/assets/sass/elements/{buttons--tertiary.scss → buttons--tertiary.css} +5 -11
  322. package/assets/sass/elements/buttons.scss +0 -5
  323. package/assets/sass/elements/container.scss +5 -42
  324. package/assets/sass/elements/{details.scss → details.css} +41 -44
  325. package/assets/sass/elements/dialog.scss +7 -18
  326. package/assets/sass/elements/{dropdown.scss → dropdown.css} +6 -8
  327. package/assets/sass/elements/{feature.scss → feature.css} +1 -7
  328. package/assets/sass/elements/forms.scss +78 -79
  329. package/assets/sass/elements/input.scss +42 -42
  330. package/assets/sass/elements/{label.scss → label.css} +1 -1
  331. package/assets/sass/elements/links--collapsible-side.scss +130 -0
  332. package/assets/sass/elements/links--global.scss +155 -0
  333. package/assets/sass/elements/links--video.scss +73 -0
  334. package/assets/sass/elements/links.scss +3 -368
  335. package/assets/sass/elements/lists--tick-list.scss +1 -1
  336. package/assets/sass/elements/modal.scss +16 -20
  337. package/assets/sass/elements/popover.scss +7 -7
  338. package/assets/sass/elements/prefix.scss +1 -1
  339. package/assets/sass/elements/progress.scss +6 -12
  340. package/assets/sass/elements/table.element.scss +11 -11
  341. package/assets/sass/elements/{textarea.scss → textarea.css} +5 -17
  342. package/assets/sass/elements/{toggle-button.scss → toggle-button.css} +2 -8
  343. package/assets/sass/elements/tooltips.scss +10 -9
  344. package/assets/sass/email.scss +3 -3
  345. package/assets/sass/error.scss +1 -3
  346. package/assets/sass/foundations/colours.scss +6 -6
  347. package/assets/sass/foundations/reboot.scss +10 -10
  348. package/assets/sass/foundations/root.scss +18 -18
  349. package/assets/sass/templates/form.scss +3 -3
  350. package/assets/sass/utilities/{border.scss → border.css} +0 -3
  351. package/assets/sass/utilities/gap.css +26 -0
  352. package/assets/sass/utilities/order.css +104 -0
  353. package/assets/sass/utilities/position.css +68 -0
  354. package/assets/sass/utilities/{shadow.scss → shadow.css} +2 -2
  355. package/assets/sass/utilities/{visually-hidden.scss → visually-hidden.css} +1 -1
  356. package/assets/ts/components/notification/notification.component.ts +2 -1
  357. package/dist/components.es.js +25 -25
  358. package/dist/components.umd.js +30 -29
  359. package/package.json +3 -4
  360. package/assets/sass/utilities/gap.scss +0 -8
  361. package/assets/sass/utilities/order.scss +0 -43
  362. package/assets/sass/utilities/position.scss +0 -52
  363. /package/assets/sass/utilities/{align.scss → align.css} +0 -0
  364. /package/assets/sass/utilities/{clearfix.scss → clearfix.css} +0 -0
  365. /package/assets/sass/utilities/{columns.scss → columns.css} +0 -0
  366. /package/assets/sass/utilities/{fixed.scss → fixed.css} +0 -0
  367. /package/assets/sass/utilities/{font-awesome-iso-fallbacks.scss → font-awesome-iso-fallbacks.css} +0 -0
  368. /package/assets/sass/utilities/{gradients.scss → gradients.css} +0 -0
  369. /package/assets/sass/utilities/{js-display.scss → js-display.css} +0 -0
  370. /package/assets/sass/utilities/{line-clamp.scss → line-clamp.css} +0 -0
  371. /package/assets/sass/utilities/{opacity.scss → opacity.css} +0 -0
  372. /package/assets/sass/utilities/{overflow.scss → overflow.css} +0 -0
  373. /package/assets/sass/utilities/{pointer-events.scss → pointer-events.css} +0 -0
  374. /package/assets/sass/utilities/{ratio.scss → ratio.css} +0 -0
  375. /package/assets/sass/utilities/{rounded.scss → rounded.css} +0 -0
  376. /package/assets/sass/utilities/{sizes.scss → sizes.css} +0 -0
  377. /package/assets/sass/utilities/{sticky.scss → sticky.css} +0 -0
  378. /package/assets/sass/utilities/{text-truncate.scss → text-truncate.css} +0 -0
  379. /package/assets/sass/utilities/{text.scss → text.css} +0 -0
  380. /package/assets/sass/utilities/{visible.scss → visible.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';\n let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';\n if (component.hasAttribute('data-name'))\n inputName = component.hasAttribute('data-name');\n const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag dropdown__option\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\nexport const addKeyboardEvents = (dropdown, search) => {\n search.addEventListener('keydown', (e) => {\n var _a;\n switch (e.keyCode) {\n case 40: // down\n e.stopPropagation();\n e.preventDefault();\n (_a = dropdown.querySelector('label:not([slot=\"checked\"]) input')) === null || _a === void 0 ? void 0 : _a.focus();\n break;\n }\n });\n dropdown.addEventListener('keydown', (event) => {\n var _a, _b, _c;\n const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot=\"checked\"]) > input');\n const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot=\"checked\"]) > input');\n const activeElement = document.activeElement;\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot=\"checked\"]) > input')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n //menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n};\n","import { trackComponentRegistered } from '../_global.js';\nimport { searchAjax, filterList, setTag, addKeyboardEvents } from '../../modules/dropdown.js';\ntrackComponentRegistered('iam-tag');\nclass iamTag extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n // Make sure the dropdown options are set\n Array.from(this.querySelectorAll(':scope > label')).forEach((label) => {\n label.classList.add('dropdown__option');\n });\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n addKeyboardEvents(this, search);\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","assign","target","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","i","parts","found","api","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","error","setTag","tag","input","tags","tagIndex","addKeyboardEvents","dropdown","_a","event","_b","_c","topLevelmenuItems","menuItems","activeItem","prevIndex","nextIndex","subMenuItems","iamTag","template","changeEvent"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';\n let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';\n if (component.hasAttribute('data-name'))\n inputName = component.hasAttribute('data-name');\n const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag dropdown__option\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\nexport const addKeyboardEvents = (dropdown, search) => {\n search.addEventListener('keydown', (e) => {\n var _a;\n switch (e.keyCode) {\n case 40: // down\n e.stopPropagation();\n e.preventDefault();\n (_a = dropdown.querySelector('label:not([slot=\"checked\"]) input')) === null || _a === void 0 ? void 0 : _a.focus();\n break;\n }\n });\n dropdown.addEventListener('keydown', (event) => {\n var _a, _b, _c;\n const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot=\"checked\"]) > input');\n const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot=\"checked\"]) > input');\n const activeElement = document.activeElement;\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot=\"checked\"]) > input')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n //menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n};\n","import { trackComponentRegistered } from '../_global';\nimport { searchAjax, filterList, setTag, addKeyboardEvents } from '../../modules/dropdown';\ntrackComponentRegistered('iam-tag');\nclass iamTag extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n // Make sure the dropdown options are set\n Array.from(this.querySelectorAll(':scope > label')).forEach((label) => {\n label.classList.add('dropdown__option');\n });\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n addKeyboardEvents(this, search);\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","error","setTag","tag","input","tags","tagIndex","addKeyboardEvents","dropdown","_a","event","_b","_c","topLevelmenuItems","menuItems","activeItem","prevIndex","nextIndex","subMenuItems","iamTag","template","changeEvent"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,4 +1,4 @@
1
- import { trackComponentRegistered } from '../_global.js';
1
+ import { trackComponentRegistered } from '../_global';
2
2
  trackComponentRegistered('iam-tooltip');
3
3
  class iamTooltip extends HTMLElement {
4
4
  constructor() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta5
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const a=n=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:n})};a("iam-tooltip");class l extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.component.min.js","sources":["../_global.js","tooltip.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-tooltip');\nclass iamTooltip extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/popover.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <slot></slot>\n <div class=\"tooltip__anchor\">\n </div>\n <div class=\"tooltip__content\" id=\"tooltip\"></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c;\n const contentWrapper = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tooltip__content');\n const anchor = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tooltip__anchor');\n if (this.hasAttribute('data-heading'))\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.innerHTML += `<strong>${this.getAttribute('data-heading')}</strong>`;\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.innerHTML += this.getAttribute('title');\n this.removeAttribute('title');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n this === null || this === void 0 ? void 0 : this.addEventListener('mouseenter', (event) => {\n contentWrapper.showPopover();\n });\n this === null || this === void 0 ? void 0 : this.addEventListener('mouseleave', (event) => {\n if (!(contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.contains('show-popover')))\n contentWrapper.hidePopover();\n });\n // Check if th component sets the tooltip open by default\n if (this.classList.contains('show-popover')) {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.add('show-popover');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }\n this === null || this === void 0 ? void 0 : this.addEventListener('click', (event) => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.toggle('show-popover');\n if (contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.contains('show-popover')) {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }\n else {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n contentWrapper.hidePopover();\n }\n });\n // Used for documentation\n (_c = this === null || this === void 0 ? void 0 : this.parentNode) === null || _c === void 0 ? void 0 : _c.addEventListener('update', (event) => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n contentWrapper.hidePopover();\n setTimeout(() => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.add('show-popover');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }, 100);\n });\n }\n}\nexport default iamTooltip;\n"],"names":["trackComponentRegistered","componentName","iamTooltip","template","_a","_b","_c","contentWrapper","event"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,aAAa,EACtC,MAAME,UAAmB,WAAY,CACjC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,IAAIC,EAAIC,EAAIC,EACZ,MAAMC,GAAkBH,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,mBAAmB,GACvGC,EAAK,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,cAAc,kBAAkB,EAC1G,KAAK,aAAa,cAAc,IAChCE,GAAmB,OAA6CA,EAAe,WAAa,WAAW,KAAK,aAAa,cAAc,CAAC,cAC5IA,GAAmB,OAA6CA,EAAe,WAAa,KAAK,aAAa,OAAO,GACrH,KAAK,gBAAgB,OAAO,EACoCA,GAAe,aAAa,UAAW,MAAM,EAC7G,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,aAAeC,GAAU,CACvFD,EAAe,YAAW,CAC9B,CAAC,EACD,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,aAAeC,GAAU,CACjBD,GAAe,UAAU,SAAS,cAAc,GAClHA,EAAe,YAAW,CAClC,CAAC,EAEG,KAAK,UAAU,SAAS,cAAc,IAC0BA,GAAe,UAAU,IAAI,cAAc,EAC3CA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,GAE9B,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,QAAUC,GAAU,CAClBD,GAAe,UAAU,OAAO,cAAc,EAC1CA,GAAe,UAAU,SAAS,cAAc,GAChDA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,IAGsCA,GAAe,aAAa,UAAW,MAAM,EAC7GA,EAAe,YAAW,EAElC,CAAC,GAEAD,EAAK,OAAS,MAAQ,OAAS,OAAS,OAAS,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,iBAAiB,SAAWE,GAAU,CAC7ED,GAAe,aAAa,UAAW,MAAM,EAC7GA,EAAe,YAAW,EAC1B,WAAW,IAAM,CACmDA,GAAe,UAAU,IAAI,cAAc,EAC3CA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,CAC9B,EAAG,GAAG,CACV,CAAC,CACL,CACJ"}
1
+ {"version":3,"file":"tooltip.component.min.js","sources":["../_global.js","tooltip.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-tooltip');\nclass iamTooltip extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/popover.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <slot></slot>\n <div class=\"tooltip__anchor\">\n </div>\n <div class=\"tooltip__content\" id=\"tooltip\"></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c;\n const contentWrapper = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tooltip__content');\n const anchor = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.tooltip__anchor');\n if (this.hasAttribute('data-heading'))\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.innerHTML += `<strong>${this.getAttribute('data-heading')}</strong>`;\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.innerHTML += this.getAttribute('title');\n this.removeAttribute('title');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n this === null || this === void 0 ? void 0 : this.addEventListener('mouseenter', (event) => {\n contentWrapper.showPopover();\n });\n this === null || this === void 0 ? void 0 : this.addEventListener('mouseleave', (event) => {\n if (!(contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.contains('show-popover')))\n contentWrapper.hidePopover();\n });\n // Check if th component sets the tooltip open by default\n if (this.classList.contains('show-popover')) {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.add('show-popover');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }\n this === null || this === void 0 ? void 0 : this.addEventListener('click', (event) => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.toggle('show-popover');\n if (contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.contains('show-popover')) {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }\n else {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n contentWrapper.hidePopover();\n }\n });\n // Used for documentation\n (_c = this === null || this === void 0 ? void 0 : this.parentNode) === null || _c === void 0 ? void 0 : _c.addEventListener('update', (event) => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'auto');\n contentWrapper.hidePopover();\n setTimeout(() => {\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.classList.add('show-popover');\n contentWrapper === null || contentWrapper === void 0 ? void 0 : contentWrapper.setAttribute('popover', 'manual'); // Switch popover type first before showing popover\n contentWrapper.showPopover();\n }, 100);\n });\n }\n}\nexport default iamTooltip;\n"],"names":["trackComponentRegistered","componentName","iamTooltip","template","_a","_b","_c","contentWrapper","event"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,aAAa,EACtC,MAAME,UAAmB,WAAY,CACjC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,IAAIC,EAAIC,EAAIC,EACZ,MAAMC,GAAkBH,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,mBAAmB,GACvGC,EAAK,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,cAAc,kBAAkB,EAC1G,KAAK,aAAa,cAAc,IAChCE,GAAmB,OAA6CA,EAAe,WAAa,WAAW,KAAK,aAAa,cAAc,CAAC,cAC5IA,GAAmB,OAA6CA,EAAe,WAAa,KAAK,aAAa,OAAO,GACrH,KAAK,gBAAgB,OAAO,EACoCA,GAAe,aAAa,UAAW,MAAM,EAC7G,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,aAAeC,GAAU,CACvFD,EAAe,YAAW,CAC9B,CAAC,EACD,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,aAAeC,GAAU,CACjBD,GAAe,UAAU,SAAS,cAAc,GAClHA,EAAe,YAAW,CAClC,CAAC,EAEG,KAAK,UAAU,SAAS,cAAc,IAC0BA,GAAe,UAAU,IAAI,cAAc,EAC3CA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,GAE9B,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,QAAUC,GAAU,CAClBD,GAAe,UAAU,OAAO,cAAc,EAC1CA,GAAe,UAAU,SAAS,cAAc,GAChDA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,IAGsCA,GAAe,aAAa,UAAW,MAAM,EAC7GA,EAAe,YAAW,EAElC,CAAC,GAEAD,EAAK,OAAS,MAAQ,OAAS,OAAS,OAAS,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,iBAAiB,SAAWE,GAAU,CAC7ED,GAAe,aAAa,UAAW,MAAM,EAC7GA,EAAe,YAAW,EAC1B,WAAW,IAAM,CACmDA,GAAe,UAAU,IAAI,cAAc,EAC3CA,GAAe,aAAa,UAAW,QAAQ,EAC/GA,EAAe,YAAW,CAC9B,EAAG,GAAG,CACV,CAAC,CACL,CACJ"}
@@ -7,8 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { trackComponentRegistered } from '../_global.js';
11
- import { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos.js';
10
+ import { trackComponentRegistered } from '../_global';
11
+ import { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos';
12
12
  trackComponentRegistered('iam-video-modal');
13
13
  class iamVideo extends HTMLElement {
14
14
  constructor() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta5
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const p=n=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:n})};var m=function(n,t,r,o){function i(e){return e instanceof r?e:new r(function(c){c(e)})}return new(r||(r=Promise))(function(e,c){function l(a){try{s(o.next(a))}catch(u){c(u)}}function d(a){try{s(o.throw(a))}catch(u){c(u)}}function s(a){a.done?e(a.value):i(a.value).then(l,d)}s((o=o.apply(n,t||[])).next())})};const v=`<div class="video-wrapper">
5
5
  <slot name="video"></slot>
@@ -7,15 +7,15 @@
7
7
  <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" lazy="" />
8
8
  </picture>
9
9
  <button class="btn btn-compact fa-play m-0 colour-success">Play</button>
10
- </div>`,h=()=>m(void 0,void 0,void 0,function*(){return new Promise((n,t)=>{const r=new Image;r.onload=function(){const o=document.createElement("script");o.src="https://www.youtube.com/iframe_api";const i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(o,i),document.body.classList.add("youtubeLoaded"),n(!0)},r.onerror=function(){t(!1)},r.src="https://youtube.com/favicon.ico"})}),f=(n,t)=>m(void 0,void 0,void 0,function*(){if(typeof window.player>"u"&&(window.player=[]),typeof window.player[t]<"u"&&typeof window.player[t].pauseVideo=="function")return window.player[t].playVideo(),!1;console.log("hi2"),window.player[t]=new YT.Player(t,{height:"100%",width:"100%",videoId:t,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:r,onStateChange:i}});function r(e){e.target.playVideo()}let o=!1;function i(e){e.data==YT.PlayerState.PLAYING&&!o&&(document.getElementById(t).classList.add("player-ready"),o=!0)}}),g=n=>m(void 0,void 0,void 0,function*(){const t=n.shadowRoot.querySelector(".embed"),r=n.getAttribute("data-youtube");document.body.classList.contains("youtubeLoaded")||(yield h());const o=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:r}});n.dispatchEvent(o);const i=setInterval(()=>{typeof YT<"u"&&(clearInterval(i),f(t,r))},200);setTimeout(function(){clearInterval(i)},2e3)}),w=n=>m(void 0,void 0,void 0,function*(){const t=n.querySelector(".embed"),r=n.getAttribute("data-vimeo"),o=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:r}});n.dispatchEvent(o),window.dataLayer.push(o.detail),t.querySelector("iframe")||(t.innerHTML=`<iframe src="https://player.vimeo.com/video/${r}?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`)});var b=function(n,t,r,o){function i(e){return e instanceof r?e:new r(function(c){c(e)})}return new(r||(r=Promise))(function(e,c){function l(a){try{s(o.next(a))}catch(u){c(u)}}function d(a){try{s(o.throw(a))}catch(u){c(u)}}function s(a){a.done?e(a.value):i(a.value).then(l,d)}s((o=o.apply(n,t||[])).next())})};p("iam-video-modal");class y extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
10
+ </div>`,h=()=>m(void 0,void 0,void 0,function*(){return new Promise((n,t)=>{const r=new Image;r.onload=function(){const o=document.createElement("script");o.src="https://www.youtube.com/iframe_api";const i=document.getElementsByTagName("script")[0];i.parentNode.insertBefore(o,i),document.body.classList.add("youtubeLoaded"),n(!0)},r.onerror=function(){t(!1)},r.src="https://youtube.com/favicon.ico"})}),g=(n,t)=>m(void 0,void 0,void 0,function*(){if(typeof window.player>"u"&&(window.player=[]),typeof window.player[t]<"u"&&typeof window.player[t].pauseVideo=="function")return window.player[t].playVideo(),!1;console.log("hi2"),window.player[t]=new YT.Player(t,{height:"100%",width:"100%",videoId:t,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:r,onStateChange:i}});function r(e){e.target.playVideo()}let o=!1;function i(e){e.data==YT.PlayerState.PLAYING&&!o&&(document.getElementById(t).classList.add("player-ready"),o=!0)}}),f=n=>m(void 0,void 0,void 0,function*(){const t=n.shadowRoot.querySelector(".embed"),r=n.getAttribute("data-youtube");document.body.classList.contains("youtubeLoaded")||(yield h());const o=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:r}});n.dispatchEvent(o);const i=setInterval(()=>{typeof YT<"u"&&(clearInterval(i),g(t,r))},200);setTimeout(function(){clearInterval(i)},2e3)}),w=n=>m(void 0,void 0,void 0,function*(){const t=n.querySelector(".embed"),r=n.getAttribute("data-vimeo"),o=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:r}});n.dispatchEvent(o),window.dataLayer.push(o.detail),t.querySelector("iframe")||(t.innerHTML=`<iframe src="https://player.vimeo.com/video/${r}?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`)});var b=function(n,t,r,o){function i(e){return e instanceof r?e:new r(function(c){c(e)})}return new(r||(r=Promise))(function(e,c){function l(a){try{s(o.next(a))}catch(u){c(u)}}function d(a){try{s(o.throw(a))}catch(u){c(u)}}function s(a){a.done?e(a.value):i(a.value).then(l,d)}s((o=o.apply(n,t||[])).next())})};p("iam-video-modal");class y extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
11
11
  <style>
12
12
  ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
13
13
 
14
- @keyframes spin{to{rotate:1turn}}@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button}:is(button,[type=button],[type=reset],[type=submit]):not(:disabled){cursor:pointer}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 2px;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:bold;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.btn-complete{--colour: var(--colour-success);--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn-complete,.btn.btn-complete:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn-complete:before,.btn.btn-complete:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 7 Pro";margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn[class*=fa-]:before{content:var(--fa);font-family:"Font Awesome 7 Pro"}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{--fa-width: 1em;font-family:"Font Awesome 7 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]:not(:first-child){margin-left:1rem;margin-right:0}.btn.btn--prompt:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt:after,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active):after{margin-left:1.5rem;margin-right:-0.5rem}.btn-filter:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:"Font Awesome 7 Pro"}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:.5rem;text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;align-content:center;line-height:1 !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem;&:not(:last-child){margin-right:.5rem}&:before{content:var(--fa);position:absolute;display:block;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - .25rem);font-weight:900}[class*=fa-]:before{line-height:calc(var(--compact-size) - .25rem);@container style(--theme: dark){color:white}}&.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}&.btn-action{--compact-size: 2rem;font-size:1rem;&:before{font-size:1em;font-weight:400}}&.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:transparent;&:not([class*=colour-]){--colour: var(--colour-light)}}&.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour);&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}}&[data-number]{position:relative}&[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:white;letter-spacing:-0.1em;font-family:arial,sans-serif}}.btn-compact{&:is(.fa-left,.fa-chevron-left,.fa-right,.fa-chevron-right,.fa-up,.fa-chevron-up,.fa-down,.fa-chevron-down,.fa-plus,.fa-bars,.fa-edit,.fa-envelope,.fa-calendar){--iso-display: block;--iso-font-size: 1.5rem;--iso-border-radius: 50%;--iso-text-indent: -500px}}@container style(--font-body){.btn-compact{font-size:var(--iso-font-size, 0.6rem) !important;text-indent:var(--iso-text-indent, 0px);white-space:initial;&:not(.btn-action){border-radius:var(--iso-border-radius, 0.25rem) !important}&:before{display:var(--iso-display, none);font-family:monospace !important;content:var(--iso) !important}}}@container style(--fa-font-regular){.btn-compact{text-indent:-500px;font-size:1rem !important;&:not(.btn-action){border-radius:50% !important}&:before{font-family:"Font Awesome 7 Pro" !important;content:var(--fa) !important;display:block}}}}@layer utilities{.text-heading{color:var(--colour-heading) !important}.text-primary{color:var(--colour-primary) !important}.bg-primary{--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.hover-primary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.colour-primary{--colour: var(--colour-primary) !important}.text-secondary{color:var(--colour-secondary) !important}.bg-secondary{--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.hover-secondary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.colour-secondary{--colour: var(--colour-secondary) !important}.text-info{color:var(--colour-info) !important}.bg-info{--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.hover-info:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.colour-info{--colour: var(--colour-info) !important}.text-warning{color:var(--colour-warning) !important}.bg-warning{--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.hover-warning:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.colour-warning{--colour: var(--colour-warning) !important}.text-success{color:var(--colour-success) !important}.bg-success{--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.hover-success:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.colour-success{--colour: var(--colour-success) !important}.text-complete{color:var(--colour-complete) !important}.bg-complete{--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.hover-complete:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.colour-complete{--colour: var(--colour-complete) !important}.text-danger{color:var(--colour-danger) !important}.bg-danger{--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.hover-danger:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.colour-danger{--colour: var(--colour-danger) !important}.text-dark{color:var(--colour-dark) !important}.bg-dark{--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.hover-dark:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.colour-dark{--colour: var(--colour-dark) !important}.text-light{color:var(--colour-light) !important}.bg-light{--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.hover-light:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.colour-light{--colour: var(--colour-light) !important}.text-canvas{color:var(--colour-canvas) !important}.bg-canvas{--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.hover-canvas:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.colour-canvas{--colour: var(--colour-canvas) !important}.text-white{color:var(--colour-white) !important}.bg-white{--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.hover-white:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.colour-white{--colour: var(--colour-white) !important}.text-body{color:var(--colour-body)}}@layer components{.video-wrapper{display:block;position:relative;width:100%;height:auto;aspect-ratio:16/9;background-color:var(--colour-light);margin-bottom:2rem;cursor:pointer}.video-wrapper:before{font-family:"Font Awesome 7 Pro";content:"\uF3F4";position:absolute;font-weight:900;color:var(--colour-heading);animation:spin 1.5s infinite steps(10);font-size:1.5em;top:50%;left:50%;translate:-50% -50%;z-index:1}.video-wrapper img{position:absolute;inset:0;z-index:3;width:calc(100% + 2px);height:100%;object-fit:cover;margin-inline:-1px}.video-wrapper button{pointer-events:none;position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%, -50%)}.video-wrapper:is(:hover,:focus):not(:active) button{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.video-wrapper:is(:active) button{filter:brightness(85%)}dialog .video-wrapper{margin-bottom:0}}::slotted(.embed){position:absolute;inset:0;z-index:4;aspect-ratio:16/9;width:calc(100% + 2px);height:100%;margin-inline:-1px;margin-block:0}/*# sourceMappingURL=assets/css/components/video.component.css.map */
14
+ @keyframes spin{to{rotate:1turn}}@layer elements{button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit],[role=button]){-webkit-appearance:button;&:not(:disabled){cursor:pointer}}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 2px;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:bold;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap;&:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}&:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}&:not(:last-child){margin-right:var(--btn-margin)}}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.btn-complete{--colour: var(--colour-success);--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn-complete,.btn.btn-complete:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem;&:before{content:"\uF00C";font-family:"Font Awesome 7 Pro";margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn{&[class*=fa-]:before{content:var(--fa);font-family:"Font Awesome 7 Pro"}&[class*=fa-after]{padding-right:4rem}&[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}&:not(.btn-compact):before{margin-right:1rem}i[class*=fa-]{--fa-width: 1em;font-family:"Font Awesome 7 Pro";margin-right:1rem;line-height:1em;font-style:inherit;&:not(:first-child){margin-left:1rem;margin-right:0}}}.btn.btn--prompt{&:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active){&:after{margin-left:1.5rem;margin-right:-0.5rem}}.btn-filter{&:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:"Font Awesome 7 Pro"}}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:.5rem;text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;align-content:center;line-height:1 !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem;&:not(:last-child){margin-right:.5rem}&:before{content:var(--fa);position:absolute;display:block;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - .25rem);font-weight:900}[class*=fa-]:before{line-height:calc(var(--compact-size) - .25rem);@container style(--theme: dark){color:white}}&.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}&.btn-action{--compact-size: 2rem;font-size:1rem;&:before{font-size:1em;font-weight:400}}&.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:transparent;&:not([class*=colour-]){--colour: var(--colour-light)}}&.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour);&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}}&[data-number]{position:relative}&[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:white;letter-spacing:-0.1em;font-family:arial,sans-serif}}.btn-compact{&:is(.fa-left,.fa-chevron-left,.fa-right,.fa-chevron-right,.fa-up,.fa-chevron-up,.fa-down,.fa-chevron-down,.fa-plus,.fa-bars,.fa-edit,.fa-envelope,.fa-calendar){--iso-display: block;--iso-font-size: 1.5rem;--iso-border-radius: 50%;--iso-text-indent: -500px}}@container style(--font-body){.btn-compact{font-size:var(--iso-font-size, 0.6rem) !important;text-indent:var(--iso-text-indent, 0px);white-space:initial;&:not(.btn-action){border-radius:var(--iso-border-radius, 0.25rem) !important}&:before{display:var(--iso-display, none);font-family:monospace !important;content:var(--iso) !important}}}@container style(--fa-font-regular){.btn-compact{text-indent:-500px;font-size:1rem !important;&:not(.btn-action){border-radius:50% !important}&:before{font-family:"Font Awesome 7 Pro" !important;content:var(--fa) !important;display:block}}}}@layer utilities{.text-heading{color:var(--colour-heading) !important}.text-primary{color:var(--colour-primary) !important}.bg-primary{--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.hover-primary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.colour-primary{--colour: var(--colour-primary) !important}.text-secondary{color:var(--colour-secondary) !important}.bg-secondary{--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.hover-secondary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.colour-secondary{--colour: var(--colour-secondary) !important}.text-info{color:var(--colour-info) !important}.bg-info{--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.hover-info:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.colour-info{--colour: var(--colour-info) !important}.text-warning{color:var(--colour-warning) !important}.bg-warning{--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.hover-warning:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.colour-warning{--colour: var(--colour-warning) !important}.text-success{color:var(--colour-success) !important}.bg-success{--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.hover-success:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.colour-success{--colour: var(--colour-success) !important}.text-complete{color:var(--colour-complete) !important}.bg-complete{--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.hover-complete:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.colour-complete{--colour: var(--colour-complete) !important}.text-danger{color:var(--colour-danger) !important}.bg-danger{--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.hover-danger:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.colour-danger{--colour: var(--colour-danger) !important}.text-dark{color:var(--colour-dark) !important}.bg-dark{--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.hover-dark:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.colour-dark{--colour: var(--colour-dark) !important}.text-light{color:var(--colour-light) !important}.bg-light{--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.hover-light:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.colour-light{--colour: var(--colour-light) !important}.text-canvas{color:var(--colour-canvas) !important}.bg-canvas{--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.hover-canvas:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.colour-canvas{--colour: var(--colour-canvas) !important}.text-white{color:var(--colour-white) !important}.bg-white{--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.hover-white:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.colour-white{--colour: var(--colour-white) !important}.text-body{color:var(--colour-body)}}@layer components{.video-wrapper{display:block;position:relative;width:100%;height:auto;aspect-ratio:16/9;background-color:var(--colour-light);margin-bottom:2rem;cursor:pointer}.video-wrapper:before{font-family:"Font Awesome 7 Pro";content:"\uF3F4";position:absolute;font-weight:900;color:var(--colour-heading);animation:spin 1.5s infinite steps(10);font-size:1.5em;top:50%;left:50%;translate:-50% -50%;z-index:1}.video-wrapper img{position:absolute;inset:0;z-index:3;width:calc(100% + 2px);height:100%;object-fit:cover;margin-inline:-1px}.video-wrapper button{pointer-events:none;position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%, -50%)}.video-wrapper:is(:hover,:focus):not(:active) button{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.video-wrapper:is(:active) button{filter:brightness(85%)}dialog .video-wrapper{margin-bottom:0}}::slotted(.embed){position:absolute;inset:0;z-index:4;aspect-ratio:16/9;width:calc(100% + 2px);height:100%;margin-inline:-1px;margin-block:0}/*# sourceMappingURL=assets/css/components/video.component.css.map */
15
15
 
16
16
  </style>
17
17
 
18
18
  <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
19
19
  ${v}
20
- `,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){return b(this,void 0,void 0,function*(){var t,r;this.getAttribute("id");const o=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("button"),i=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelector(".video-wrapper"),e=this.shadowRoot.querySelector("img");this.innerHTML='<div class="embed" slot="video"></div>';const c=this.querySelector(".embed");if(i.tabIndex=6,o==null||(o.tabIndex=-1),this.hasAttribute("data-youtube")){const l=this.getAttribute("data-youtube");e.setAttribute("src",`http://img.youtube.com/vi/${l}/hqdefault.jpg`),i.addEventListener("click",d=>b(this,void 0,void 0,function*(){c?.setAttribute("id",l),g(this),o?.remove(),e?.remove()}))}else if(this.hasAttribute("data-vimeo")){const l=this.getAttribute("data-vimeo");e.setAttribute("src",`https://vumbnail.com/${l}.jpg`),i.addEventListener("click",d=>b(this,void 0,void 0,function*(){w(this),o?.remove(),e?.remove()}))}})}}export{y as default};
20
+ `,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){return b(this,void 0,void 0,function*(){var t,r;this.getAttribute("id");const o=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("button"),i=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelector(".video-wrapper"),e=this.shadowRoot.querySelector("img");this.innerHTML='<div class="embed" slot="video"></div>';const c=this.querySelector(".embed");if(i.tabIndex=6,o==null||(o.tabIndex=-1),this.hasAttribute("data-youtube")){const l=this.getAttribute("data-youtube");e.setAttribute("src",`http://img.youtube.com/vi/${l}/hqdefault.jpg`),i.addEventListener("click",d=>b(this,void 0,void 0,function*(){c?.setAttribute("id",l),f(this),o?.remove(),e?.remove()}))}else if(this.hasAttribute("data-vimeo")){const l=this.getAttribute("data-vimeo");e.setAttribute("src",`https://vumbnail.com/${l}.jpg`),i.addEventListener("click",d=>b(this,void 0,void 0,function*(){w(this),o?.remove(),e?.remove()}))}})}}export{y as default};
21
21
  //# sourceMappingURL=video.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.component.min.js","sources":["../_global.js","../../modules/videos.js","video.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst videoSupport = (body) => __awaiter(void 0, void 0, void 0, function* () {\n if (document.querySelector('.youtube-link[data-youtube]') && !document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n setTimeout(() => __awaiter(void 0, void 0, void 0, function* () {\n if (document.querySelector('.youtube-link[data-youtube]') && !document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n }), '2000');\n body.addEventListener('click', (event) => __awaiter(void 0, void 0, void 0, function* () {\n let target = event.target.closest('.youtube-link[data-youtube]');\n if (!target) {\n target = event.target.closest('.vimeo-link[data-vimeo]');\n }\n if (target && target.hasAttribute('data-youtube')) {\n event.preventDefault();\n if (!document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n const link_id = 'youtube-' + target.getAttribute('data-youtube');\n if (!document.getElementById(`${link_id}-dialog`)) {\n document.body.insertAdjacentHTML('beforeend', `<dialog id=\"${link_id}-dialog\"><div class=\"embed\" id=\"${link_id}\"></div></dialog>`);\n }\n const dialog = document.getElementById(`${link_id}-dialog`);\n const embed = document.getElementById(link_id);\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'YoutTube', ID: target.getAttribute('data-youtube') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n createYoutTubeVideo(embed, target.getAttribute('data-youtube'));\n dialog.showModal();\n dialog.addEventListener('close', () => {\n if (window.player[embed.getAttribute('id')] &&\n typeof window.player[embed.getAttribute('id')].pauseVideo == 'function') {\n window.player[embed.getAttribute('id')].pauseVideo();\n }\n const customEvent = new CustomEvent('close-video', {\n detail: { 'Video Type': 'YoutTube', ID: target.getAttribute('data-youtube') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n });\n }\n else if (target && target.hasAttribute('data-vimeo')) {\n event.preventDefault();\n const link_id = 'vimeo-' + target.getAttribute('data-youtube');\n if (!document.getElementById(`${link_id}-dialog`)) {\n document.body.insertAdjacentHTML('beforeend', `<dialog id=\"${link_id}-dialog\"><div class=\"embed\" id=\"${link_id}\"></div></dialog>`);\n }\n const dialog = document.getElementById(`${link_id}-dialog`);\n const embed = document.getElementById(link_id);\n const videoId = target.getAttribute('data-vimeo');\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'Vimeo', ID: videoId },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n if (!embed.querySelector('iframe'))\n embed.innerHTML = `<iframe src=\"https://player.vimeo.com/video/${videoId}?autoplay=1\" width=\"100%\" height=\"100%\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`;\n dialog.showModal();\n dialog.addEventListener('close', () => {\n embed.innerHTML = ``; // Remove the video since we cant pause it\n const customEvent = new CustomEvent('close-video', {\n detail: { 'Video Type': 'Vimeo', ID: target.getAttribute('data-vimeo') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n });\n }\n }));\n});\nexport const videoHTML = `<div class=\"video-wrapper\">\n <slot name=\"video\"></slot>\n <picture>\n <img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" lazy=\"\" />\n </picture>\n <button class=\"btn btn-compact fa-play m-0 colour-success\">Play</button>\n</div>`;\nexport const loadYouTubeScripts = () => __awaiter(void 0, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = function () {\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n document.body.classList.add('youtubeLoaded');\n resolve(true);\n };\n image.onerror = function () {\n reject(false);\n };\n image.src = 'https://youtube.com/favicon.ico';\n });\n});\nexport const createYoutTubeVideo = (target, video_id) => __awaiter(void 0, void 0, void 0, function* () {\n if (typeof window.player == 'undefined') {\n window.player = [];\n }\n //const link_id = target.getAttribute('id');\n if (typeof window.player[video_id] != 'undefined' && typeof window.player[video_id].pauseVideo == 'function') {\n window.player[video_id].playVideo();\n return false;\n }\n console.log('hi2');\n // This function creates an <iframe> (and YouTube player) after the API code downloads.\n //function onYouTubeIframeAPIReady() {\n window.player[video_id] = new YT.Player(video_id, {\n height: '100%',\n width: '100%',\n videoId: video_id,\n playerVars: {\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n },\n events: {\n onReady: onPlayerReady,\n onStateChange: onPlayerStateChange,\n },\n });\n //}\n //onYouTubeIframeAPIReady();\n // The API will call this function when the video player is ready.\n function onPlayerReady(event) {\n // Play the video straight away\n event.target.playVideo();\n }\n // The API calls this function when the player's state changes.\n // The function indicates that when playing a video (state=1)\n let done = false;\n function onPlayerStateChange(event) {\n if (event.data == YT.PlayerState.PLAYING && !done) {\n const link = document.getElementById(video_id);\n link.classList.add('player-ready');\n done = true;\n }\n }\n});\nexport const openYoutubeVideo = (component) => __awaiter(void 0, void 0, void 0, function* () {\n const embed = component.shadowRoot.querySelector('.embed');\n const youtubeId = component.getAttribute('data-youtube');\n let loaded;\n if (!document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n loaded = yield loadYouTubeScripts();\n }\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'YoutTube', ID: youtubeId },\n });\n component.dispatchEvent(customEvent);\n const interval = setInterval(() => {\n if (typeof YT != \"undefined\") {\n clearInterval(interval);\n createYoutTubeVideo(embed, youtubeId);\n }\n }, 200);\n // Limit the number of calls\n setTimeout(function () {\n clearInterval(interval);\n }, 2000);\n});\nexport const openVimeoVideo = (component) => __awaiter(void 0, void 0, void 0, function* () {\n const embed = component.querySelector('.embed');\n const vimeoId = component.getAttribute('data-vimeo');\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'Vimeo', ID: vimeoId },\n });\n component.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n if (!embed.querySelector('iframe'))\n embed.innerHTML = `<iframe src=\"https://player.vimeo.com/video/${vimeoId}?autoplay=1\" width=\"100%\" height=\"100%\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`;\n});\nexport default videoSupport;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { trackComponentRegistered } from '../_global.js';\nimport { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos.js';\ntrackComponentRegistered('iam-video-modal');\nclass iamVideo extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/video.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /*HTML*/ `\n <style>\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n \n ${loadCSS}\n </style>\n\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n ${videoHTML}\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const id = this.getAttribute('id');\n const button = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');\n const videoWrapper = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.video-wrapper');\n const img = this.shadowRoot.querySelector('img');\n this.innerHTML = `<div class=\"embed\" slot=\"video\"></div>`;\n const embed = this.querySelector('.embed');\n videoWrapper.tabIndex = 6;\n button === null || button === void 0 ? void 0 : button.tabIndex = -1;\n if (this.hasAttribute('data-youtube')) {\n const youtubeId = this.getAttribute('data-youtube');\n img.setAttribute('src', `http://img.youtube.com/vi/${youtubeId}/hqdefault.jpg`);\n videoWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n embed === null || embed === void 0 ? void 0 : embed.setAttribute('id', youtubeId);\n openYoutubeVideo(this);\n button === null || button === void 0 ? void 0 : button.remove();\n img === null || img === void 0 ? void 0 : img.remove();\n }));\n }\n else if (this.hasAttribute('data-vimeo')) {\n const vimeoId = this.getAttribute('data-vimeo');\n img.setAttribute('src', `https://vumbnail.com/${vimeoId}.jpg`);\n videoWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n openVimeoVideo(this);\n button === null || button === void 0 ? void 0 : button.remove();\n img === null || img === void 0 ? void 0 : img.remove();\n }));\n }\n });\n }\n}\nexport default iamVideo;\n"],"names":["trackComponentRegistered","componentName","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","videoHTML","loadYouTubeScripts","image","tag","firstScriptTag","createYoutTubeVideo","target","video_id","onPlayerReady","onPlayerStateChange","event","done","openYoutubeVideo","component","embed","youtubeId","customEvent","interval","openVimeoVideo","vimeoId","iamVideo","template","_a","_b","button","videoWrapper","img"],"mappings":"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"}
1
+ {"version":3,"file":"video.component.min.js","sources":["../_global.js","../../modules/videos.js","video.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst videoSupport = (body) => __awaiter(void 0, void 0, void 0, function* () {\n if (document.querySelector('.youtube-link[data-youtube]') && !document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n setTimeout(() => __awaiter(void 0, void 0, void 0, function* () {\n if (document.querySelector('.youtube-link[data-youtube]') && !document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n }), '2000');\n body.addEventListener('click', (event) => __awaiter(void 0, void 0, void 0, function* () {\n let target = event.target.closest('.youtube-link[data-youtube]');\n if (!target) {\n target = event.target.closest('.vimeo-link[data-vimeo]');\n }\n if (target && target.hasAttribute('data-youtube')) {\n event.preventDefault();\n if (!document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const loaded = yield loadYouTubeScripts();\n }\n const link_id = 'youtube-' + target.getAttribute('data-youtube');\n if (!document.getElementById(`${link_id}-dialog`)) {\n document.body.insertAdjacentHTML('beforeend', `<dialog id=\"${link_id}-dialog\"><div class=\"embed\" id=\"${link_id}\"></div></dialog>`);\n }\n const dialog = document.getElementById(`${link_id}-dialog`);\n const embed = document.getElementById(link_id);\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'YoutTube', ID: target.getAttribute('data-youtube') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n createYoutTubeVideo(embed, target.getAttribute('data-youtube'));\n dialog.showModal();\n dialog.addEventListener('close', () => {\n if (window.player[embed.getAttribute('id')] &&\n typeof window.player[embed.getAttribute('id')].pauseVideo == 'function') {\n window.player[embed.getAttribute('id')].pauseVideo();\n }\n const customEvent = new CustomEvent('close-video', {\n detail: { 'Video Type': 'YoutTube', ID: target.getAttribute('data-youtube') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n });\n }\n else if (target && target.hasAttribute('data-vimeo')) {\n event.preventDefault();\n const link_id = 'vimeo-' + target.getAttribute('data-youtube');\n if (!document.getElementById(`${link_id}-dialog`)) {\n document.body.insertAdjacentHTML('beforeend', `<dialog id=\"${link_id}-dialog\"><div class=\"embed\" id=\"${link_id}\"></div></dialog>`);\n }\n const dialog = document.getElementById(`${link_id}-dialog`);\n const embed = document.getElementById(link_id);\n const videoId = target.getAttribute('data-vimeo');\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'Vimeo', ID: videoId },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n if (!embed.querySelector('iframe'))\n embed.innerHTML = `<iframe src=\"https://player.vimeo.com/video/${videoId}?autoplay=1\" width=\"100%\" height=\"100%\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`;\n dialog.showModal();\n dialog.addEventListener('close', () => {\n embed.innerHTML = ``; // Remove the video since we cant pause it\n const customEvent = new CustomEvent('close-video', {\n detail: { 'Video Type': 'Vimeo', ID: target.getAttribute('data-vimeo') },\n });\n target.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n });\n }\n }));\n});\nexport const videoHTML = `<div class=\"video-wrapper\">\n <slot name=\"video\"></slot>\n <picture>\n <img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" lazy=\"\" />\n </picture>\n <button class=\"btn btn-compact fa-play m-0 colour-success\">Play</button>\n</div>`;\nexport const loadYouTubeScripts = () => __awaiter(void 0, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = function () {\n // This code loads the IFrame Player API code asynchronously.\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n const firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n document.body.classList.add('youtubeLoaded');\n resolve(true);\n };\n image.onerror = function () {\n reject(false);\n };\n image.src = 'https://youtube.com/favicon.ico';\n });\n});\nexport const createYoutTubeVideo = (target, video_id) => __awaiter(void 0, void 0, void 0, function* () {\n if (typeof window.player == 'undefined') {\n window.player = [];\n }\n //const link_id = target.getAttribute('id');\n if (typeof window.player[video_id] != 'undefined' && typeof window.player[video_id].pauseVideo == 'function') {\n window.player[video_id].playVideo();\n return false;\n }\n console.log('hi2');\n // This function creates an <iframe> (and YouTube player) after the API code downloads.\n //function onYouTubeIframeAPIReady() {\n window.player[video_id] = new YT.Player(video_id, {\n height: '100%',\n width: '100%',\n videoId: video_id,\n playerVars: {\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n },\n events: {\n onReady: onPlayerReady,\n onStateChange: onPlayerStateChange,\n },\n });\n //}\n //onYouTubeIframeAPIReady();\n // The API will call this function when the video player is ready.\n function onPlayerReady(event) {\n // Play the video straight away\n event.target.playVideo();\n }\n // The API calls this function when the player's state changes.\n // The function indicates that when playing a video (state=1)\n let done = false;\n function onPlayerStateChange(event) {\n if (event.data == YT.PlayerState.PLAYING && !done) {\n const link = document.getElementById(video_id);\n link.classList.add('player-ready');\n done = true;\n }\n }\n});\nexport const openYoutubeVideo = (component) => __awaiter(void 0, void 0, void 0, function* () {\n const embed = component.shadowRoot.querySelector('.embed');\n const youtubeId = component.getAttribute('data-youtube');\n let loaded;\n if (!document.body.classList.contains('youtubeLoaded')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n loaded = yield loadYouTubeScripts();\n }\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'YoutTube', ID: youtubeId },\n });\n component.dispatchEvent(customEvent);\n const interval = setInterval(() => {\n if (typeof YT != \"undefined\") {\n clearInterval(interval);\n createYoutTubeVideo(embed, youtubeId);\n }\n }, 200);\n // Limit the number of calls\n setTimeout(function () {\n clearInterval(interval);\n }, 2000);\n});\nexport const openVimeoVideo = (component) => __awaiter(void 0, void 0, void 0, function* () {\n const embed = component.querySelector('.embed');\n const vimeoId = component.getAttribute('data-vimeo');\n const customEvent = new CustomEvent('play-video', {\n detail: { 'Video Type': 'Vimeo', ID: vimeoId },\n });\n component.dispatchEvent(customEvent);\n window.dataLayer.push(customEvent.detail);\n if (!embed.querySelector('iframe'))\n embed.innerHTML = `<iframe src=\"https://player.vimeo.com/video/${vimeoId}?autoplay=1\" width=\"100%\" height=\"100%\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`;\n});\nexport default videoSupport;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { trackComponentRegistered } from '../_global';\nimport { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos';\ntrackComponentRegistered('iam-video-modal');\nclass iamVideo extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/video.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /*HTML*/ `\n <style>\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n \n ${loadCSS}\n </style>\n\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n ${videoHTML}\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const id = this.getAttribute('id');\n const button = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');\n const videoWrapper = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.video-wrapper');\n const img = this.shadowRoot.querySelector('img');\n this.innerHTML = `<div class=\"embed\" slot=\"video\"></div>`;\n const embed = this.querySelector('.embed');\n videoWrapper.tabIndex = 6;\n button === null || button === void 0 ? void 0 : button.tabIndex = -1;\n if (this.hasAttribute('data-youtube')) {\n const youtubeId = this.getAttribute('data-youtube');\n img.setAttribute('src', `http://img.youtube.com/vi/${youtubeId}/hqdefault.jpg`);\n videoWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n embed === null || embed === void 0 ? void 0 : embed.setAttribute('id', youtubeId);\n openYoutubeVideo(this);\n button === null || button === void 0 ? void 0 : button.remove();\n img === null || img === void 0 ? void 0 : img.remove();\n }));\n }\n else if (this.hasAttribute('data-vimeo')) {\n const vimeoId = this.getAttribute('data-vimeo');\n img.setAttribute('src', `https://vumbnail.com/${vimeoId}.jpg`);\n videoWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n openVimeoVideo(this);\n button === null || button === void 0 ? void 0 : button.remove();\n img === null || img === void 0 ? void 0 : img.remove();\n }));\n }\n });\n }\n}\nexport default iamVideo;\n"],"names":["trackComponentRegistered","componentName","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","videoHTML","loadYouTubeScripts","image","tag","firstScriptTag","createYoutTubeVideo","target","video_id","onPlayerReady","onPlayerStateChange","event","done","openYoutubeVideo","component","embed","youtubeId","customEvent","interval","openVimeoVideo","vimeoId","iamVideo","template","_a","_b","button","videoWrapper","img"],"mappings":"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"}
@@ -7,10 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { trackComponent, trackComponentRegistered } from '../_global.js';
11
- import { cardHTML, setupCard } from '../../modules/card.module.js';
12
- import { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos.js';
13
- import { openModal, closeModal, closeButtonHtml } from '../../modules/modal.js';
10
+ import { trackComponent, trackComponentRegistered } from '../_global';
11
+ import { cardHTML, setupCard } from '../../modules/card.module';
12
+ import { videoHTML, openYoutubeVideo, openVimeoVideo } from '../../modules/videos';
13
+ import { openModal, closeModal, closeButtonHtml } from '../../modules/modal';
14
14
  trackComponentRegistered('iam-video-card');
15
15
  class iamVideoCard extends HTMLElement {
16
16
  constructor() {