@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":"carousel.component.min.js","sources":["../../modules/carousel.js","../_global.js","carousel.component.js"],"sourcesContent":["export const generateThumbnailList = function (carouselComponent) {\n const thumbnailImages = [];\n Array.from(carouselComponent.querySelectorAll(':scope > div')).forEach((slide, index) => {\n if (slide.hasAttribute('data-thumbnail')) {\n thumbnailImages[index] = slide.getAttribute('data-thumbnail');\n }\n });\n return thumbnailImages;\n};\nexport const generatePipsHTML = function (carouselComponent, thumbnailImages) {\n const itemCount = carouselComponent.querySelectorAll(':scope > div').length;\n let pips = '';\n for (let i = 1; i <= itemCount; i++) {\n let pipContent = null;\n let pipClass = '';\n if (thumbnailImages.length && thumbnailImages[i - 1]) {\n pipClass = 'has-thumbnail';\n pipContent = `<img src=\"${thumbnailImages[i - 1]}\" alt=\"Slide ${i}\" height=\"148\"/>`;\n }\n else {\n pipContent = `Slide ${i}`;\n }\n pips += `<button class=\"control-${i} ${pipClass}\" data-slide=\"${i}\" ${i == 1 ? 'aria-current' : ''}>${pipContent}</button>`;\n }\n return pips;\n};\nexport const getProgressMax = function (itemCount, visibleItems) {\n if (visibleItems == 1) {\n return itemCount;\n }\n const max = Math.ceil(itemCount / visibleItems) * visibleItems - visibleItems;\n return max + 1;\n};\nconst getProgressPercent = function (value, max) {\n return ((value - 1) / (max - 1)) * 100;\n};\nexport const carousel = function (carouselComponent) {\n let scrollTimeout;\n const carouselElement = carouselComponent.shadowRoot.querySelector('.carousel');\n const carouselInner = carouselElement.querySelector('.carousel__inner');\n const carouselControls = carouselElement.querySelector('.carousel__controls');\n const carouselProgress = carouselElement.querySelector('.carousel__progress [type=\"range\"]');\n const itemCount = carouselComponent.querySelectorAll(':scope > div').length;\n let scrollArea = carouselInner.clientWidth;\n let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n let visibleItems = Math.round(scrollArea / itemWidth);\n carouselProgress.setAttribute('min', 1);\n carouselProgress.setAttribute('step', visibleItems);\n let progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n carouselProgress.value = 1;\n let percent = getProgressPercent(1, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n // On scroll we need to make sure the buttons get corrected and the next testimonial is shown\n carouselInner.addEventListener('scroll', function () {\n clearTimeout(scrollTimeout);\n scrollTimeout = setTimeout(function () {\n const scrollArea = carouselInner.clientWidth;\n const scrollWidth = carouselInner.scrollWidth;\n const scrollLeft = carouselInner.scrollLeft;\n let targetSlide = Math.round((scrollLeft / scrollWidth) * itemCount) + 1;\n const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;\n //+60px here is to account for when the next offscreen slide is visible beneath the next arrow\n const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;\n const visibleItems = Math.round(scrollArea / itemWidth);\n //Check if theres room for more slides than we have\n const leftOverSpace = Math.ceil(itemCount / visibleItems) * visibleItems - itemCount;\n carouselProgress.setAttribute('step', visibleItems);\n if (leftOverSpace > 0 && lastItemInView) {\n targetSlide = Math.floor(itemCount / visibleItems) * visibleItems + 1;\n }\n Array.from(carouselElement.querySelectorAll('.carousel__controls button')).forEach((button) => {\n button.removeAttribute('aria-current');\n });\n carouselElement.querySelector('.control-' + targetSlide).setAttribute('aria-current', true);\n // Disable the previous button\n if (targetSlide == 1)\n carouselElement.querySelector('.btn-prev').setAttribute('disabled', 'disabled');\n else\n carouselElement.querySelector('.btn-prev').removeAttribute('disabled');\n // Disable the next button if the last item is in view\n if (targetSlide > itemCount - visibleItems)\n carouselElement.querySelector('.btn-next').setAttribute('disabled', 'disabled');\n else\n carouselElement.querySelector('.btn-next').removeAttribute('disabled');\n carouselProgress.value = targetSlide;\n progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n percent = (targetSlide / progressMax) * 100;\n percent = getProgressPercent(targetSlide, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n }, 100);\n }, false);\n // when the buttons are used we need to make sure the carousel scrolls to the correct place\n carouselControls.addEventListener('click', function (e) {\n for (let target = e.target; target && target != this; target = target.parentNode) {\n if (typeof target.matches == 'function' && target.matches('button')) {\n e.preventDefault();\n Array.from(carouselControls.querySelectorAll('button')).forEach((button) => {\n button.removeAttribute('aria-current');\n });\n target.setAttribute('aria-current', true);\n const customEvent = new CustomEvent('pip-clicked', {\n detail: {\n slide: target.getAttribute('data-slide'),\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n const el = carouselComponent.querySelector(`:scope > *:nth-child(${target.getAttribute('data-slide')})`);\n carouselInner.scroll({\n top: 0,\n left: el.offsetLeft - carouselInner.getBoundingClientRect().left,\n behavior: 'smooth',\n });\n break;\n }\n }\n }, false);\n carouselElement.addEventListener('click', function (e) {\n const scrollArea = carouselInner.clientWidth;\n //const scrollWidth = carouselInner.scrollWidth;\n const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n const visibleItems = Math.round(scrollArea / itemWidth);\n const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;\n const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;\n //Check if theres room for more slides than we have\n const leftOverSpace = Math.ceil(itemCount / visibleItems) * visibleItems - itemCount;\n /*\n When the last slide isn't filled with items, we only want to move back the number of items on the slide,\n rather than the total number of possible visible items\n */\n const spacesToMove = visibleItems - leftOverSpace;\n //Only want to change the amount of movement if the last item is visible\n const movement = lastItemInView && leftOverSpace > 0 ? spacesToMove * itemWidth : carouselInner.clientWidth;\n for (let target = e.target; target && target != this; target = target.parentNode) {\n if (typeof target.matches == 'function' && target.matches('.btn-next, .btn-prev')) {\n const direction = target.matches('.btn-next') ? 'next' : 'prev';\n const customEvent = new CustomEvent(`${direction}-clicked`, {\n detail: {\n slide: target.getAttribute('data-go'),\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n e.preventDefault();\n const scrollTo = target.classList.contains('btn-prev')\n ? carouselInner.scrollLeft - movement\n : carouselInner.scrollLeft + carouselInner.clientWidth;\n carouselInner.scroll({\n top: 0,\n left: scrollTo,\n behavior: 'smooth',\n });\n break;\n }\n }\n }, false);\n carouselProgress.addEventListener(stepperStart, function () {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n scrollArea = carouselInner.clientWidth;\n itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n visibleItems = Math.round(scrollArea / itemWidth);\n carouselProgress.setAttribute('step', visibleItems);\n progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n percent = getProgressPercent(carouselProgress.value, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n }, 10);\n });\n carouselProgress.addEventListener(stepperEvent, function () {\n clearInterval(stepperInterval);\n });\n carouselProgress.addEventListener('change', function () {\n clearInterval(stepperInterval);\n const target = carouselComponent.querySelector(`:scope > *:nth-child(${carouselProgress.value})`);\n carouselInner.scroll({\n top: 0,\n left: target ? target.offsetLeft - carouselInner.getBoundingClientRect().left : 0,\n behavior: 'smooth',\n });\n //const direction = target.matches('.btn-next') ? 'next' : 'prev';\n const customEvent = new CustomEvent(`slider-changed`, {\n detail: {\n slide: carouselProgress.value,\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n }, false);\n};\nexport default carousel;\n","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 { generateThumbnailList, generatePipsHTML, carousel } from '../../modules/carousel.js';\nimport { trackComponent, trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-carousel');\nclass iamCarousel 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/carousel.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /* HTML */ `\n <style>\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <div class=\"carousel\" part=\"carousel\">\n <div class=\"carousel__wrapper\">\n <div class=\"carousel__inner\">\n <div class=\"carousel__content\" part=\"content\">\n <slot></slot>\n </div>\n </div>\n </div>\n <div class=\"carousel__btns\" part=\"btns\">\n <button class=\"btn btn-secondary btn-compact fa-plus-large btn-prev\" data-go=\"0\" disabled part=\"prev\">\n Prev\n </button>\n <button class=\"btn btn-secondary btn-compact fa-plus-large btn-next\" data-go=\"2\" part=\"next\">Next</button>\n </div>\n\n <div class=\"carousel__controls\" part=\"controls\"></div>\n\n <div class=\"carousel__progress\" part=\"progress\">\n <input type=\"range\" min=\"0\" max=\"100\" value=\"1\" step=\"1\" />\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const carouselComponent = this;\n //const carouselElement = this.shadowRoot.querySelector('.carousel');\n //const row = this.shadowRoot.querySelector('.row');\n let thumbnailImages = [];\n const carouselControls = this.shadowRoot.querySelector('.carousel__controls');\n if (carouselComponent.querySelector('[data-thumbnail]')) {\n thumbnailImages = generateThumbnailList(carouselComponent);\n carouselComponent.classList.add('thumbnails');\n }\n // populate the pips\n carouselControls.innerHTML = generatePipsHTML(carouselComponent, thumbnailImages);\n Array.from(carouselComponent.querySelectorAll(':scope > div > img:first-child:last-child, :scope > div > picture:first-child:last-child img')).forEach((image) => {\n image.style.inset = '0 0.5rem 0 0.5rem';\n image.style.position = 'absolute';\n image.style.width = 'calc(100% - 1rem)';\n image.style.height = '100%';\n image.style['object-fit'] = 'cover';\n image.closest('div').classList.add('image__wrapper');\n });\n carousel(carouselComponent);\n trackComponent(carouselComponent, 'iam-carousel', [\n 'pip-clicked',\n 'next-clicked',\n 'prev-clicked',\n 'slider-changed',\n ]);\n }\n}\nexport default iamCarousel;\n"],"names":["generateThumbnailList","carouselComponent","thumbnailImages","slide","index","generatePipsHTML","itemCount","pips","i","pipContent","pipClass","getProgressMax","visibleItems","getProgressPercent","value","max","carousel","scrollTimeout","carouselElement","carouselInner","carouselControls","carouselProgress","scrollArea","itemWidth","progressMax","percent","stepperInterval","stepperEvent","stepperStart","scrollWidth","scrollLeft","targetSlide","lastItemOffset","lastItemInView","leftOverSpace","button","e","target","customEvent","el","spacesToMove","movement","direction","scrollTo","trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamCarousel","template","image"],"mappings":"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"}
1
+ {"version":3,"file":"carousel.component.min.js","sources":["../../modules/carousel.js","../_global.js","carousel.component.js"],"sourcesContent":["export const generateThumbnailList = function (carouselComponent) {\n const thumbnailImages = [];\n Array.from(carouselComponent.querySelectorAll(':scope > div')).forEach((slide, index) => {\n if (slide.hasAttribute('data-thumbnail')) {\n thumbnailImages[index] = slide.getAttribute('data-thumbnail');\n }\n });\n return thumbnailImages;\n};\nexport const generatePipsHTML = function (carouselComponent, thumbnailImages) {\n const itemCount = carouselComponent.querySelectorAll(':scope > div').length;\n let pips = '';\n for (let i = 1; i <= itemCount; i++) {\n let pipContent = null;\n let pipClass = '';\n if (thumbnailImages.length && thumbnailImages[i - 1]) {\n pipClass = 'has-thumbnail';\n pipContent = `<img src=\"${thumbnailImages[i - 1]}\" alt=\"Slide ${i}\" height=\"148\"/>`;\n }\n else {\n pipContent = `Slide ${i}`;\n }\n pips += `<button class=\"control-${i} ${pipClass}\" data-slide=\"${i}\" ${i == 1 ? 'aria-current' : ''}>${pipContent}</button>`;\n }\n return pips;\n};\nexport const getProgressMax = function (itemCount, visibleItems) {\n if (visibleItems == 1) {\n return itemCount;\n }\n const max = Math.ceil(itemCount / visibleItems) * visibleItems - visibleItems;\n return max + 1;\n};\nconst getProgressPercent = function (value, max) {\n return ((value - 1) / (max - 1)) * 100;\n};\nexport const carousel = function (carouselComponent) {\n let scrollTimeout;\n const carouselElement = carouselComponent.shadowRoot.querySelector('.carousel');\n const carouselInner = carouselElement.querySelector('.carousel__inner');\n const carouselControls = carouselElement.querySelector('.carousel__controls');\n const carouselProgress = carouselElement.querySelector('.carousel__progress [type=\"range\"]');\n const itemCount = carouselComponent.querySelectorAll(':scope > div').length;\n let scrollArea = carouselInner.clientWidth;\n let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n let visibleItems = Math.round(scrollArea / itemWidth);\n carouselProgress.setAttribute('min', 1);\n carouselProgress.setAttribute('step', visibleItems);\n let progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n carouselProgress.value = 1;\n let percent = getProgressPercent(1, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n // On scroll we need to make sure the buttons get corrected and the next testimonial is shown\n carouselInner.addEventListener('scroll', function () {\n clearTimeout(scrollTimeout);\n scrollTimeout = setTimeout(function () {\n const scrollArea = carouselInner.clientWidth;\n const scrollWidth = carouselInner.scrollWidth;\n const scrollLeft = carouselInner.scrollLeft;\n let targetSlide = Math.round((scrollLeft / scrollWidth) * itemCount) + 1;\n const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;\n //+60px here is to account for when the next offscreen slide is visible beneath the next arrow\n const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;\n const visibleItems = Math.round(scrollArea / itemWidth);\n //Check if theres room for more slides than we have\n const leftOverSpace = Math.ceil(itemCount / visibleItems) * visibleItems - itemCount;\n carouselProgress.setAttribute('step', visibleItems);\n if (leftOverSpace > 0 && lastItemInView) {\n targetSlide = Math.floor(itemCount / visibleItems) * visibleItems + 1;\n }\n Array.from(carouselElement.querySelectorAll('.carousel__controls button')).forEach((button) => {\n button.removeAttribute('aria-current');\n });\n carouselElement.querySelector('.control-' + targetSlide).setAttribute('aria-current', true);\n // Disable the previous button\n if (targetSlide == 1)\n carouselElement.querySelector('.btn-prev').setAttribute('disabled', 'disabled');\n else\n carouselElement.querySelector('.btn-prev').removeAttribute('disabled');\n // Disable the next button if the last item is in view\n if (targetSlide > itemCount - visibleItems)\n carouselElement.querySelector('.btn-next').setAttribute('disabled', 'disabled');\n else\n carouselElement.querySelector('.btn-next').removeAttribute('disabled');\n carouselProgress.value = targetSlide;\n progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n percent = (targetSlide / progressMax) * 100;\n percent = getProgressPercent(targetSlide, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n }, 100);\n }, false);\n // when the buttons are used we need to make sure the carousel scrolls to the correct place\n carouselControls.addEventListener('click', function (e) {\n for (let target = e.target; target && target != this; target = target.parentNode) {\n if (typeof target.matches == 'function' && target.matches('button')) {\n e.preventDefault();\n Array.from(carouselControls.querySelectorAll('button')).forEach((button) => {\n button.removeAttribute('aria-current');\n });\n target.setAttribute('aria-current', true);\n const customEvent = new CustomEvent('pip-clicked', {\n detail: {\n slide: target.getAttribute('data-slide'),\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n const el = carouselComponent.querySelector(`:scope > *:nth-child(${target.getAttribute('data-slide')})`);\n carouselInner.scroll({\n top: 0,\n left: el.offsetLeft - carouselInner.getBoundingClientRect().left,\n behavior: 'smooth',\n });\n break;\n }\n }\n }, false);\n carouselElement.addEventListener('click', function (e) {\n const scrollArea = carouselInner.clientWidth;\n //const scrollWidth = carouselInner.scrollWidth;\n const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n const visibleItems = Math.round(scrollArea / itemWidth);\n const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;\n const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;\n //Check if theres room for more slides than we have\n const leftOverSpace = Math.ceil(itemCount / visibleItems) * visibleItems - itemCount;\n /*\n When the last slide isn't filled with items, we only want to move back the number of items on the slide,\n rather than the total number of possible visible items\n */\n const spacesToMove = visibleItems - leftOverSpace;\n //Only want to change the amount of movement if the last item is visible\n const movement = lastItemInView && leftOverSpace > 0 ? spacesToMove * itemWidth : carouselInner.clientWidth;\n for (let target = e.target; target && target != this; target = target.parentNode) {\n if (typeof target.matches == 'function' && target.matches('.btn-next, .btn-prev')) {\n const direction = target.matches('.btn-next') ? 'next' : 'prev';\n const customEvent = new CustomEvent(`${direction}-clicked`, {\n detail: {\n slide: target.getAttribute('data-go'),\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n e.preventDefault();\n const scrollTo = target.classList.contains('btn-prev')\n ? carouselInner.scrollLeft - movement\n : carouselInner.scrollLeft + carouselInner.clientWidth;\n carouselInner.scroll({\n top: 0,\n left: scrollTo,\n behavior: 'smooth',\n });\n break;\n }\n }\n }, false);\n carouselProgress.addEventListener(stepperStart, function () {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n scrollArea = carouselInner.clientWidth;\n itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;\n visibleItems = Math.round(scrollArea / itemWidth);\n carouselProgress.setAttribute('step', visibleItems);\n progressMax = getProgressMax(itemCount, visibleItems);\n carouselProgress.setAttribute('max', progressMax);\n percent = getProgressPercent(carouselProgress.value, progressMax);\n carouselProgress.style.setProperty('--percent', percent + '%');\n }, 10);\n });\n carouselProgress.addEventListener(stepperEvent, function () {\n clearInterval(stepperInterval);\n });\n carouselProgress.addEventListener('change', function () {\n clearInterval(stepperInterval);\n const target = carouselComponent.querySelector(`:scope > *:nth-child(${carouselProgress.value})`);\n carouselInner.scroll({\n top: 0,\n left: target ? target.offsetLeft - carouselInner.getBoundingClientRect().left : 0,\n behavior: 'smooth',\n });\n //const direction = target.matches('.btn-next') ? 'next' : 'prev';\n const customEvent = new CustomEvent(`slider-changed`, {\n detail: {\n slide: carouselProgress.value,\n },\n });\n carouselComponent.dispatchEvent(customEvent);\n }, false);\n};\nexport default carousel;\n","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 { generateThumbnailList, generatePipsHTML, carousel } from '../../modules/carousel';\nimport { trackComponent, trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-carousel');\nclass iamCarousel 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/carousel.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /* HTML */ `\n <style>\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <div class=\"carousel\" part=\"carousel\">\n <div class=\"carousel__wrapper\">\n <div class=\"carousel__inner\">\n <div class=\"carousel__content\" part=\"content\">\n <slot></slot>\n </div>\n </div>\n </div>\n <div class=\"carousel__btns\" part=\"btns\">\n <button class=\"btn btn-secondary btn-compact fa-plus-large btn-prev\" data-go=\"0\" disabled part=\"prev\">\n Prev\n </button>\n <button class=\"btn btn-secondary btn-compact fa-plus-large btn-next\" data-go=\"2\" part=\"next\">Next</button>\n </div>\n\n <div class=\"carousel__controls\" part=\"controls\"></div>\n\n <div class=\"carousel__progress\" part=\"progress\">\n <input type=\"range\" min=\"0\" max=\"100\" value=\"1\" step=\"1\" />\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const carouselComponent = this;\n //const carouselElement = this.shadowRoot.querySelector('.carousel');\n //const row = this.shadowRoot.querySelector('.row');\n let thumbnailImages = [];\n const carouselControls = this.shadowRoot.querySelector('.carousel__controls');\n if (carouselComponent.querySelector('[data-thumbnail]')) {\n thumbnailImages = generateThumbnailList(carouselComponent);\n carouselComponent.classList.add('thumbnails');\n }\n // populate the pips\n carouselControls.innerHTML = generatePipsHTML(carouselComponent, thumbnailImages);\n Array.from(carouselComponent.querySelectorAll(':scope > div > img:first-child:last-child, :scope > div > picture:first-child:last-child img')).forEach((image) => {\n image.style.inset = '0 0.5rem 0 0.5rem';\n image.style.position = 'absolute';\n image.style.width = 'calc(100% - 1rem)';\n image.style.height = '100%';\n image.style['object-fit'] = 'cover';\n image.closest('div').classList.add('image__wrapper');\n });\n carousel(carouselComponent);\n trackComponent(carouselComponent, 'iam-carousel', [\n 'pip-clicked',\n 'next-clicked',\n 'prev-clicked',\n 'slider-changed',\n ]);\n }\n}\nexport default iamCarousel;\n"],"names":["generateThumbnailList","carouselComponent","thumbnailImages","slide","index","generatePipsHTML","itemCount","pips","i","pipContent","pipClass","getProgressMax","visibleItems","getProgressPercent","value","max","carousel","scrollTimeout","carouselElement","carouselInner","carouselControls","carouselProgress","scrollArea","itemWidth","progressMax","percent","stepperInterval","stepperEvent","stepperStart","scrollWidth","scrollLeft","targetSlide","lastItemOffset","lastItemInView","leftOverSpace","button","e","target","customEvent","el","spacesToMove","movement","direction","scrollTo","trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamCarousel","template","image"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { setupChart, setEventObservers } from '../../modules/chart.js';
1
+ import { setupChart, setEventObservers } from '../../modules/chart';
2
2
  class iamChart extends HTMLElement {
3
3
  constructor() {
4
4
  super();
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta5
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
- */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"collapsible side menu"});class m extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
4
+ */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"collapsible side menu"});class c extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
5
5
  <style class="styles">
6
- @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-secondary{color:var(--colour-btn-secondary)}.btn-secondary:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:rgba(0,0,0,0);border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}@layer elements{.btn-action{--btn-border-width: 1px;--btn-padding-block: 0.3125rem /* 5px */;--btn-padding-inline: 0.3125rem /* 5px */;--btn-margin: 0.5rem;border-radius:.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem;&:not(.btn-primary){color:var(--colour-heading)}&:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}&.btn[class*=fa-]:before{content:var(--fa);margin-right:.375rem}&.icon-only{position:relative;text-indent:-300vw;overflow:hidden;min-width:1.75rem;&:before{position:absolute;left:0;top:0;min-width:1.75rem;text-align:center;text-indent:0;padding-inline:.25rem;line-height:1.85rem}}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) &,&:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}.btn-action:not(.btn-compact).fa-compact-only:before{display:none !important}}@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 elements{.btn[popovertarget]{position:relative;anchor-name:--button2}.btn[popovertarget]>.fa-chevron-down{display:none}.btn[popovertarget]:not(:has(i)):after{content:"";display:inline-block;margin-right:.25em;margin-left:1em;height:.8em;width:.8em;z-index:var(--index-focus);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%;transform:rotate(90deg)}.btn[popovertarget][aria-pressed]:after{transform:rotate(270deg)}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content}.btn:has(select) select{all:unset !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:calc(var(--btn-padding-inline) + 2rem) !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;outline:none;font-weight:inherit !important;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important;field-sizing:content !important;appearance:base-select !important}.btn:has(select) select option{font-size:1rem;text-align:left;color:var(--colour-primary);padding-inline:var(--menu-item-padding, 0.5rem);padding-block:var(--menu-item-padding, 0.5rem) !important;border-radius:.25rem !important}.btn:has(select) select option:not(:last-child){margin:var(--menu-item-margin, 0 0 0.25rem 0) !important}.btn:has(select) select option:hover{background:var(--colour-light) !important}.btn:has(select) select option:after{content:attr(data-email)}.btn:has(select) select::picker-icon{display:none}.btn:has(select) select::picker(select){appearance:base-select;background:var(--menu-bg, canvas);margin-block:var(--menu-margin, 0.25rem);padding:var(--menu-padding, 0.5rem) !important;border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);font-size:1rem}.btn:has(select) hr{height:1px !important;background-color:var(--menu-hr-border-color, var(--border-color, grey)) !important;width:100%;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding:0 !important}.btn:has(select) select option::checkmark{display:none}.btn:has(select) select selectedcontent span{display:none}.btn:has(select):after{position:absolute;top:.625rem;right:1.5rem;content:"";height:1.5rem;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;transform:rotate(90deg);pointer-events:none}.btn-action:has(select){padding-block:0;padding-right:2rem;font-size:1em}.btn-action:has(select) select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}.btn-action:has(select):after{top:.2rem;right:.5rem}}@layer elements{.btn__group{display:flex;flex-direction:column;row-gap:var(--gap);reading-flow:source-order;margin-bottom:1.5rem;.btn-compact{max-width:fit-content;margin-inline:auto}}:where(.btn__group,iam-modal){reading-flow:source-order;.btn{margin-inline-end:0;width:100%;max-width:100%;text-align:center;white-space:normal;margin:0;&:not(:last-child){margin-right:0}}.btn-tertiary{max-width:fit-content;margin-block:0 !important;margin-inline:auto !important;order:3;reading-order:3}.btn-secondary{order:2;reading-order:2}.btn-primary{order:1;reading-order:1;margin:0;&:not(:last-child){margin:0}}}:is(iam-form,form) .btn__group{padding-top:1rem}@container (min-width: 36em){.btn__group{flex-direction:row;row-gap:0;gap:var(--gap);flex-wrap:wrap;.btn-tertiary{max-width:fit-content;margin-inline:0 !important;margin-block:auto;order:1}.btn-secondary{order:2}.btn-primary{order:3}.btn-compact{margin-inline:0;margin-block:auto}}:where(iam-modal,.btn__group){.btn{max-width:fit-content;white-space:nowrap;margin-block:auto}}.btn__group{.btn-tertiary{reading-order:1}.btn-secondary{reading-order:2}.btn-primary{reading-order:3}}iam-modal{.btn-tertiary{reading-order:3;order:1}.btn-secondary{order:2;reading-order:2}.btn-primary{order:3;reading-order:1}}.btn__group.text-end{justify-content:flex-end}:is(iam-form,form) .btn__group{justify-content:flex-end;padding-top:3rem}iam-modal .btn__group:last-child .btn,dialog .btn__group:last-child .btn{margin-bottom:0}}}@layer elements{.container{display:block;margin-left:auto;margin-right:auto;container-type:inline-size;width:100%}.container:not([class*=col-]){grid-column:container !important;padding:var(--container-padding)}.container:not(:has(.row)):has([class*=col-]){display:grid;grid-template-columns:[content-start col-1-start] 1fr [col-1-end col-2-start] 1fr [col-2-end col-3-start] 1fr [col-3-end col-4-start] 1fr [col-4-end col-5-start] 1fr [col-5-end col-6-start] 1fr [col-6-end col-7-start] 1fr [col-7-end col-8-start] 1fr [col-8-end col-9-start] 1fr [col-9-end col-10-start] 1fr [col-10-end col-11-start] 1fr [col-11-end col-12-start] 1fr [col-12-end content-end];column-gap:1rem}.container [class*=col-span-]:not([class*=-col-span-]):not(:first-child){--col-start: auto}@media screen and (min-width: 36em){.container [class*=sm-col-span-]:not(:first-child){--col-start: auto}}@media screen and (min-width: 62em){.container [class*=md-col-span-]:not(:first-child){--col-start: auto}}.container:not(.container-fluid){max-width:var(--container-max-width)}.container .container:not(.container-xs-breakout){padding-left:0;padding-right:0;padding-bottom:0;padding-top:0}.container[class*=bg-]{padding-top:3rem;padding-bottom:2rem}.container[class*=bg-]+.container:not([class*=bg-]){padding-top:2rem}.container:before{display:table;clear:both;content:""}.container:after{display:table;clear:both;content:""}.container.container-xs-breakout{margin-left:-1.25rem;margin-right:-1.25rem;width:calc(100% + 2.5rem)}@media screen and (min-width: 36em){.container.container-xs-breakout{margin-left:auto;margin-right:auto;width:100%}}:host .container{display:block;margin-left:auto;margin-right:auto;padding:var(--container-padding);width:100%}main>.row{padding-bottom:1rem}main>.row[class*=bg-]{padding-top:3rem;padding-bottom:2rem}main>.row[class*=bg-]+:is(.row,.container):not([class*=bg-]){padding-top:2rem}.container:has(.circle){position:relative;z-index:1}.container>.circle{position:absolute;z-index:var(--index-below);border-width:3px}.container:not([class*=circle-pattern-])>.circle{font-size:18.75rem;top:-4.6875rem;left:-12.5rem}.container:not([class*=circle-pattern-])>.circle~.circle{font-size:21.875rem;top:auto;left:auto;right:-6.25rem;bottom:-12.5rem}}@layer elements{:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4){margin-top:0;margin-bottom:0;font-family:var(--font-heading);font-style:normal;font-weight:bold;color:var(--colour-heading);clear:both;display:block;& [class*=fa-]{margin-right:.5rem}}:is(.h1,h1){font-size:var(--h1-fs);line-height:var(--h1-lh);padding-bottom:var(--h1-pb);font-weight:900}:is(h2,.h2){font-size:var(--h2-fs);line-height:var(--h2-lh);padding-bottom:var(--h2-pb);font-weight:900}:is(h3,.h3){font-size:var(--h3-fs);line-height:var(--h3-lh);padding-bottom:var(--h3-pb);max-width:var(--content-max-width)}:is(.h4,h4,.h5,h5,.h6,h6){font-size:var(--h4-fs);line-height:var(--h4-lh);padding-bottom:var(--h4-pb);max-width:var(--content-max-width)}p{margin-top:0;font-size:var(--body-fs);line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);margin-bottom:0}p:has(+p){padding-bottom:1.5rem}:is(.lead,.strapline){font-size:1.125rem;line-height:1.75rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:700}small,.small{font-size:.875rem;line-height:1.5rem;padding-bottom:2rem;max-width:var(--content-max-width);font-weight:normal}.x-small{font-size:.625rem;line-height:1.5rem;padding-bottom:1rem;max-width:var(--content-max-width);font-weight:normal}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}strong{font-weight:bolder;font-family:var(--font-heading);color:var(--colour-heading)}address{margin-bottom:1rem;font-style:normal;line-height:inherit}blockquote{margin:0;quotes:"\u201C" "\u201D" "\u2018" "\u2019";padding-bottom:3rem;overflow:hidden;& p{font-size:1.5rem;line-height:2rem;padding-bottom:0}& p:first-child:before{content:open-quote}& p:last-of-type:after{content:close-quote}& cite{font-size:1.125rem;line-height:2rem;padding-bottom:0;font-weight:bold;font-style:normal}}mark{padding:.1875em;background-color:yellow}.stat{font-size:4rem;line-height:4.5rem;font-weight:bold;color:var(--colour-heading);display:block;text-decoration:underline;text-underline-offset:.75rem;text-decoration-color:var(--colour-secondary);text-decoration-thickness:.25rem;margin-bottom:4rem}}:host{--side-link-hover: light-dark(#eeeeee,var(--colour-canvas-2));grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.container.inline .side-menu{position:absolute;top:0}.side-menu{position:absolute;z-index:20;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:4.375rem;height:calc(100% - var(--nav-height));padding:0 2.5rem 0 0;transition:width 1s}.side-menu:before{content:"";position:absolute;z-index:1;top:0;right:2.5rem;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:21.5rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"\uF023" !important;transform:rotate(0)}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:2.5rem;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;transition:opacity .2s}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"\uF053" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x) + 2.5rem)}@media screen and (min-width: 36em){.side-menu:is(.open){width:26.375rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:21.5rem}}.side-menu .side-menu-content{position:absolute;top:0;right:2.5rem;padding:2rem 2.5rem 2.5rem 0;width:21.9375rem;background-color:var(--colour-canvas);opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%;scrollbar-width:thin}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content .h3{padding-left:2.5rem}.side-menu .side-menu-content{width:23.875rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}.main-content{position:relative;z-index:10;padding-top:1.5rem;padding-left:3.75rem}@media screen and (min-width: 36em){.main-content{padding-left:5rem}}@media screen and (min-width: 62em){.main-content{padding-top:2.5rem !important;padding-left:0}}.main-content>span.h3{padding-top:.75rem;border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important}@media screen and (min-width: 62em){.main-content>span.h3{display:none}}::slotted(.main-content__title){border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important;max-width:100% !important;display:block}@media screen and (min-width: 62em){::slotted(.main-content__title){display:none}}@media screen and (min-width: 62em){.container:has(.side-menu.open){padding-left:2rem !important;margin-left:max(19rem,50% - var(--container-max-width)/2);margin-right:0;max-width:min(var(--container-max-width),100% - 19rem)}}@media screen and (min-width: 62em){:host([open-always]){--btn-display: none}}:host([inline]){width:100%;max-width:100%}@media screen and (min-width: 62em){:host([inline]){max-width:min(var(--container-max-width),100% - 19rem)}}:host([menu-right]) .container{padding-right:0 !important}@media screen and (min-width: 62em){:host([menu-right]) .container{padding-right:5.25rem !important}}@media screen and (min-width: 62em){:host([menu-right]) .container:has(.side-menu.open){margin-right:max(19rem,50% - var(--container-max-width)/2);margin-left:0}}:host([menu-right]) .side-menu{left:auto;right:-2.5rem;padding:0 0 0 2.5rem}@media screen and (min-width: 62em){:host([menu-right]) .side-menu{right:0}}:host([menu-right]) .side-menu::before{right:100%}:host([menu-right]) .side-menu .btn{right:100%}:host([menu-right]) .side-menu .btn:before{transform:rotate(180deg)}:host([menu-right]) .main-content{padding-left:var(--container-padding-x);padding-right:3.75rem}@media screen and (min-width: 36em){:host([menu-right]) .main-content{padding-right:5rem}}@media screen and (min-width: 62em){:host([menu-right]) .main-content{padding-right:0}}/*# sourceMappingURL=assets/css/components/collapsible-side.css.map */
6
+ @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-secondary{color:var(--colour-btn-secondary);&:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:transparent;border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative;&:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}&.text-decoration-none:after{width:0%}&[class*=fa-]{margin-left:0;margin-right:.5rem}&[class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}&:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active){&:after{width:60% !important}}&:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}}@layer elements{.btn-action{--btn-border-width: 1px;--btn-padding-block: 0.3125rem /* 5px */;--btn-padding-inline: 0.3125rem /* 5px */;--btn-margin: 0.5rem;border-radius:.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem;&:not(.btn-primary){color:var(--colour-heading)}&:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}&.btn[class*=fa-]:before{content:var(--fa);margin-right:.375rem}&.icon-only{position:relative;text-indent:-300vw;overflow:hidden;min-width:1.75rem;&:before{position:absolute;left:0;top:0;min-width:1.75rem;text-align:center;text-indent:0;padding-inline:.25rem;line-height:1.85rem}}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) &,&:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}.btn-action:not(.btn-compact).fa-compact-only:before{display:none !important}}@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 elements{.btn[popovertarget]{position:relative;anchor-name:--button2;&>.fa-chevron-down{display:none}&:not(:has(i)):after{content:"";display:inline-block;margin-right:.25em;margin-left:1em;height:.8em;width:.8em;z-index:var(--index-focus);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%;transform:rotate(90deg)}&[aria-pressed]:after{transform:rotate(270deg)}}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content;select{all:unset !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:calc(var(--btn-padding-inline) + 2rem) !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;outline:none;font-weight:inherit !important;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important;field-sizing:content !important;appearance:base-select !important;option{font-size:1rem;text-align:left;color:var(--colour-primary);padding-inline:var(--menu-item-padding, 0.5rem);padding-block:var(--menu-item-padding, 0.5rem) !important;border-radius:.25rem !important;&:not(:last-child){margin:var(--menu-item-margin, 0 0 0.25rem 0) !important}&:hover{background:var(--colour-light) !important}&:after{content:attr(data-email)}}}select::picker-icon{display:none}select::picker(select){appearance:base-select;background:var(--menu-bg, canvas);margin-block:var(--menu-margin, 0.25rem);padding:var(--menu-padding, 0.5rem) !important;border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0, 0, 0, 0.1);font-size:1rem}hr{height:1px !important;background-color:var(--menu-hr-border-color, var(--border-color, grey)) !important;width:100%;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding:0 !important}select option::checkmark{display:none}select selectedcontent span{display:none}&:after{position:absolute;top:.625rem;right:1.5rem;content:"";height:1.5rem;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;transform:rotate(90deg);pointer-events:none}}.btn-action:has(select){padding-block:0;padding-right:2rem;font-size:1em;select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}&:after{top:.2rem;right:.5rem}}}@layer elements{.btn__group{display:flex;flex-direction:column;row-gap:var(--gap);reading-flow:source-order;margin-bottom:1.5rem;.btn-compact{max-width:fit-content;margin-inline:auto}}:where(.btn__group,iam-modal){reading-flow:source-order;.btn{margin-inline-end:0;width:100%;max-width:100%;text-align:center;white-space:normal;margin:0;&:not(:last-child){margin-right:0}}.btn-tertiary{max-width:fit-content;margin-block:0 !important;margin-inline:auto !important;order:3;reading-order:3}.btn-secondary{order:2;reading-order:2}.btn-primary{order:1;reading-order:1;margin:0;&:not(:last-child){margin:0}}}:is(iam-form,form) .btn__group{padding-top:1rem}@container (min-width: 36em){.btn__group{flex-direction:row;row-gap:0;gap:var(--gap);flex-wrap:wrap;.btn-tertiary{max-width:fit-content;margin-inline:0 !important;margin-block:auto;order:1}.btn-secondary{order:2}.btn-primary{order:3}.btn-compact{margin-inline:0;margin-block:auto}}:where(iam-modal,.btn__group){.btn{max-width:fit-content;white-space:nowrap;margin-block:auto}}.btn__group{.btn-tertiary{reading-order:1}.btn-secondary{reading-order:2}.btn-primary{reading-order:3}}iam-modal{.btn-tertiary{reading-order:3;order:1}.btn-secondary{order:2;reading-order:2}.btn-primary{order:3;reading-order:1}}.btn__group.text-end{justify-content:flex-end}:is(iam-form,form) .btn__group{justify-content:flex-end;padding-top:3rem}iam-modal .btn__group:last-child .btn,dialog .btn__group:last-child .btn{margin-bottom:0}}}@layer elements{.container{display:block;margin-left:auto;margin-right:auto;container-type:inline-size;width:100%}.container:not([class*=col-]){grid-column:container !important;padding:var(--container-padding)}.container:not(:has(.row)):has([class*=col-]){display:grid;grid-template-columns:[content-start col-1-start] 1fr [col-1-end col-2-start] 1fr [col-2-end col-3-start] 1fr [col-3-end col-4-start] 1fr [col-4-end col-5-start] 1fr [col-5-end col-6-start] 1fr [col-6-end col-7-start] 1fr [col-7-end col-8-start] 1fr [col-8-end col-9-start] 1fr [col-9-end col-10-start] 1fr [col-10-end col-11-start] 1fr [col-11-end col-12-start] 1fr [col-12-end content-end];column-gap:1rem}.container [class*=col-span-]:not([class*=-col-span-]):not(:first-child){--col-start: auto}@media screen and (min-width: 36em){.container [class*=sm-col-span-]:not(:first-child){--col-start: auto}}@media screen and (min-width: 62em){.container [class*=md-col-span-]:not(:first-child){--col-start: auto}}.container:not(.container-fluid){max-width:var(--container-max-width)}.container .container:not(.container-xs-breakout){padding-left:0;padding-right:0;padding-bottom:0;padding-top:0}.container[class*=bg-]{padding-top:3rem;padding-bottom:2rem}.container[class*=bg-]+.container:not([class*=bg-]){padding-top:2rem}.container:before{display:table;clear:both;content:""}.container:after{display:table;clear:both;content:""}.container.container-xs-breakout{margin-left:-1.25rem;margin-right:-1.25rem;width:calc(100% + 2.5rem)}@media screen and (min-width: 36em){.container.container-xs-breakout{margin-left:auto;margin-right:auto;width:100%}}:host .container{display:block;margin-left:auto;margin-right:auto;padding:var(--container-padding);width:100%}main>.row{padding-bottom:1rem}main>.row[class*=bg-]{padding-top:3rem;padding-bottom:2rem}main>.row[class*=bg-]+:is(.row,.container):not([class*=bg-]){padding-top:2rem}}@layer elements{:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4){margin-top:0;margin-bottom:0;font-family:var(--font-heading);font-style:normal;font-weight:bold;color:var(--colour-heading);clear:both;display:block;& [class*=fa-]{margin-right:.5rem}}:is(.h1,h1){font-size:var(--h1-fs);line-height:var(--h1-lh);padding-bottom:var(--h1-pb);font-weight:900}:is(h2,.h2){font-size:var(--h2-fs);line-height:var(--h2-lh);padding-bottom:var(--h2-pb);font-weight:900}:is(h3,.h3){font-size:var(--h3-fs);line-height:var(--h3-lh);padding-bottom:var(--h3-pb);max-width:var(--content-max-width)}:is(.h4,h4,.h5,h5,.h6,h6){font-size:var(--h4-fs);line-height:var(--h4-lh);padding-bottom:var(--h4-pb);max-width:var(--content-max-width)}p{margin-top:0;font-size:var(--body-fs);line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);margin-bottom:0}p:has(+p){padding-bottom:1.5rem}:is(.lead,.strapline){font-size:1.125rem;line-height:1.75rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:700}small,.small{font-size:.875rem;line-height:1.5rem;padding-bottom:2rem;max-width:var(--content-max-width);font-weight:normal}.x-small{font-size:.625rem;line-height:1.5rem;padding-bottom:1rem;max-width:var(--content-max-width);font-weight:normal}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}strong{font-weight:bolder;font-family:var(--font-heading);color:var(--colour-heading)}address{margin-bottom:1rem;font-style:normal;line-height:inherit}blockquote{margin:0;quotes:"\u201C" "\u201D" "\u2018" "\u2019";padding-bottom:3rem;overflow:hidden;& p{font-size:1.5rem;line-height:2rem;padding-bottom:0}& p:first-child:before{content:open-quote}& p:last-of-type:after{content:close-quote}& cite{font-size:1.125rem;line-height:2rem;padding-bottom:0;font-weight:bold;font-style:normal}}mark{padding:.1875em;background-color:yellow}.stat{font-size:4rem;line-height:4.5rem;font-weight:bold;color:var(--colour-heading);display:block;text-decoration:underline;text-underline-offset:.75rem;text-decoration-color:var(--colour-secondary);text-decoration-thickness:.25rem;margin-bottom:4rem}}:host{--side-link-hover: light-dark(#eeeeee,var(--colour-canvas-2));grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.container.inline .side-menu{position:absolute;top:0}.side-menu{position:absolute;z-index:20;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:4.375rem;height:calc(100% - var(--nav-height));padding:0 2.5rem 0 0;transition:width 1s}.side-menu:before{content:"";position:absolute;z-index:1;top:0;right:2.5rem;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:21.5rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"\uF023" !important;transform:rotate(0)}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:2.5rem;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;transition:opacity .2s}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"\uF053" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x) + 2.5rem)}@media screen and (min-width: 36em){.side-menu:is(.open){width:26.375rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:21.5rem}}.side-menu .side-menu-content{position:absolute;top:0;right:2.5rem;padding:2rem 2.5rem 2.5rem 0;width:21.9375rem;background-color:var(--colour-canvas);opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%;scrollbar-width:thin}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content .h3{padding-left:2.5rem}.side-menu .side-menu-content{width:23.875rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}.main-content{position:relative;z-index:10;padding-top:1.5rem;padding-left:3.75rem}@media screen and (min-width: 36em){.main-content{padding-left:5rem}}@media screen and (min-width: 62em){.main-content{padding-top:2.5rem !important;padding-left:0}}.main-content>span.h3{padding-top:.75rem;border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important}@media screen and (min-width: 62em){.main-content>span.h3{display:none}}::slotted(.main-content__title){border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important;max-width:100% !important;display:block}@media screen and (min-width: 62em){::slotted(.main-content__title){display:none}}@media screen and (min-width: 62em){.container:has(.side-menu.open){padding-left:2rem !important;margin-left:max(19rem,50% - var(--container-max-width)/2);margin-right:0;max-width:min(var(--container-max-width),100% - 19rem)}}@media screen and (min-width: 62em){:host([open-always]){--btn-display: none}}:host([inline]){width:100%;max-width:100%}@media screen and (min-width: 62em){:host([inline]){max-width:min(var(--container-max-width),100% - 19rem)}}:host([menu-right]) .container{padding-right:0 !important}@media screen and (min-width: 62em){:host([menu-right]) .container{padding-right:5.25rem !important}}@media screen and (min-width: 62em){:host([menu-right]) .container:has(.side-menu.open){margin-right:max(19rem,50% - var(--container-max-width)/2);margin-left:0}}:host([menu-right]) .side-menu{left:auto;right:-2.5rem;padding:0 0 0 2.5rem}@media screen and (min-width: 62em){:host([menu-right]) .side-menu{right:0}}:host([menu-right]) .side-menu::before{right:100%}:host([menu-right]) .side-menu .btn{right:100%}:host([menu-right]) .side-menu .btn:before{transform:rotate(180deg)}:host([menu-right]) .main-content{padding-left:var(--container-padding-x);padding-right:3.75rem}@media screen and (min-width: 36em){:host([menu-right]) .main-content{padding-right:5rem}}@media screen and (min-width: 62em){:host([menu-right]) .main-content{padding-right:0}}/*# sourceMappingURL=assets/css/components/collapsible-side.css.map */
7
7
 
8
8
  </style>
9
9
  <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
@@ -22,5 +22,5 @@
22
22
  </div>
23
23
 
24
24
  </div>
25
- `,this.shadowRoot&&this.shadowRoot.appendChild(o.content.cloneNode(!0))}connectedCallback(){if(!this.shadowRoot)return;const o=this.shadowRoot.querySelector(".container"),t=this.shadowRoot.querySelector(".side-menu"),n=this.shadowRoot.querySelector(".side-menu-content"),s=this.shadowRoot.querySelector(".main-content"),i=this.shadowRoot.querySelector(".side-menu > .btn");if(!t||!n||!s||!i)return;if(this.hasAttribute("data-css")){const e=this.shadowRoot.querySelector(".styles");e&&e.insertAdjacentHTML("beforeend",`@import "${this.getAttribute("data-css")}";`)}this.hasAttribute("data-title")||this.setAttribute("data-title","configuration"),n.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),s.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`);const d=this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)");d&&d.classList.add("h4","main-content__title"),this.hasAttribute("open")&&window.innerWidth>992&&(t.classList.add("open"),i.setAttribute("aria-expanded","true")),this.hasAttribute("inline")&&o.classList.add("inline"),this.hasAttribute("menu-right")&&t.classList.add("menu-right"),i.addEventListener("click",()=>{t.classList.contains("open")?(t.classList.remove("open"),i.removeAttribute("aria-expanded"),setTimeout(function(){n.classList.add("closed")},1e3),t.classList.add("pe-none"),setTimeout(function(){t.classList.remove("pe-none")},1e3)):(n.classList.remove("closed"),setTimeout(function(){t.classList.add("open"),i.setAttribute("aria-expanded","true")},100))}),t.addEventListener("mouseenter",()=>{window.innerWidth>992&&(t.classList.contains("open")||n.classList.remove("closed"),t.classList.add("hover"))}),t.addEventListener("mousemove",()=>{window.innerWidth>992&&(t.classList.contains("open")||n.classList.remove("closed"))}),t.addEventListener("mouseleave",()=>{window.innerWidth>992&&(t.classList.remove("hover"),t.classList.contains("open")||setTimeout(function(){n.classList.add("closed")},1e3))});const r=this.querySelectorAll(".parent"),a=this.querySelectorAll(".parent > li:first-of-type");a?.forEach(e=>{e.addEventListener("click",()=>{if(!e||!e.parentElement)return!1;e.parentElement.classList.contains("reveal")?e.parentElement.classList.remove("reveal"):(r?.forEach(c=>{c.classList.remove("reveal")}),e.parentElement.classList.add("reveal"))})})}}export{m as default};
25
+ `,this.shadowRoot&&this.shadowRoot.appendChild(o.content.cloneNode(!0))}connectedCallback(){if(!this.shadowRoot)return;const o=this.shadowRoot.querySelector(".container"),t=this.shadowRoot.querySelector(".side-menu"),n=this.shadowRoot.querySelector(".side-menu-content"),d=this.shadowRoot.querySelector(".main-content"),i=this.shadowRoot.querySelector(".side-menu > .btn");if(!t||!n||!d||!i)return;if(this.hasAttribute("data-css")){const e=this.shadowRoot.querySelector(".styles");e&&e.insertAdjacentHTML("beforeend",`@import "${this.getAttribute("data-css")}";`)}this.hasAttribute("data-title")||this.setAttribute("data-title","configuration"),n.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),d.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`);const s=this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)");s&&s.classList.add("h4","main-content__title"),this.hasAttribute("open")&&window.innerWidth>992&&(t.classList.add("open"),i.setAttribute("aria-expanded","true")),this.hasAttribute("inline")&&o.classList.add("inline"),this.hasAttribute("menu-right")&&t.classList.add("menu-right"),i.addEventListener("click",()=>{t.classList.contains("open")?(t.classList.remove("open"),i.removeAttribute("aria-expanded"),setTimeout(function(){n.classList.add("closed")},1e3),t.classList.add("pe-none"),setTimeout(function(){t.classList.remove("pe-none")},1e3)):(n.classList.remove("closed"),setTimeout(function(){t.classList.add("open"),i.setAttribute("aria-expanded","true")},100))}),t.addEventListener("mouseenter",()=>{window.innerWidth>992&&(t.classList.contains("open")||n.classList.remove("closed"),t.classList.add("hover"))}),t.addEventListener("mousemove",()=>{window.innerWidth>992&&(t.classList.contains("open")||n.classList.remove("closed"))}),t.addEventListener("mouseleave",()=>{window.innerWidth>992&&(t.classList.remove("hover"),t.classList.contains("open")||setTimeout(function(){n.classList.add("closed")},1e3))});const r=this.querySelectorAll(".parent"),a=this.querySelectorAll(".parent > li:first-of-type");a?.forEach(e=>{e.addEventListener("click",()=>{if(!e||!e.parentElement)return!1;e.parentElement.classList.contains("reveal")?e.parentElement.classList.remove("reveal"):(r?.forEach(m=>{m.classList.remove("reveal")}),e.parentElement.classList.add("reveal"))})})}}export{c as default};
26
26
  //# sourceMappingURL=collapsible-side.component.min.js.map
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';
11
- import { trackComponentRegistered } from '../_global.js';
11
+ import { trackComponentRegistered } from '../_global';
12
12
  trackComponentRegistered('iam-config');
13
13
  class iamConfig extends HTMLElement {
14
14
  constructor() {