@iamproperty/components 7.6.4--beta8 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) 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/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/address-lookup.component.css +1 -1
  6. package/assets/css/components/address-lookup.component.css.map +1 -1
  7. package/assets/css/components/applied-filters.css +1 -1
  8. package/assets/css/components/applied-filters.css.map +1 -1
  9. package/assets/css/components/barchart.component.css +1 -1
  10. package/assets/css/components/barchart.component.css.map +1 -1
  11. package/assets/css/components/bento-grid.global.css +1 -1
  12. package/assets/css/components/calendar.component.css +1 -1
  13. package/assets/css/components/calendar.component.css.map +1 -1
  14. package/assets/css/components/calendar.config.css +1 -1
  15. package/assets/css/components/card.component.css +1 -1
  16. package/assets/css/components/card.component.css.map +1 -1
  17. package/assets/css/components/card.module.css +1 -1
  18. package/assets/css/components/carousel.component.css +1 -1
  19. package/assets/css/components/carousel.component.css.map +1 -1
  20. package/assets/css/components/charts.config.css +1 -1
  21. package/assets/css/components/charts.css +1 -1
  22. package/assets/css/components/charts.css.map +1 -1
  23. package/assets/css/components/charts.module.css +1 -1
  24. package/assets/css/components/charts.module.css.map +1 -1
  25. package/assets/css/components/collapsible-side.css +1 -1
  26. package/assets/css/components/collapsible-side.css.map +1 -1
  27. package/assets/css/components/config.component.css +1 -1
  28. package/assets/css/components/config.component.css.map +1 -1
  29. package/assets/css/components/content.component.css +1 -1
  30. package/assets/css/components/content.component.css.map +1 -1
  31. package/assets/css/components/doughnutchart.component.css +1 -1
  32. package/assets/css/components/doughnutchart.component.css.map +1 -1
  33. package/assets/css/components/fileupload.css +1 -1
  34. package/assets/css/components/fileupload.css.map +1 -1
  35. package/assets/css/components/filter-card.component.css +1 -1
  36. package/assets/css/components/header.css +1 -1
  37. package/assets/css/components/header.css.map +1 -1
  38. package/assets/css/components/inline-edit.css +1 -1
  39. package/assets/css/components/inline-edit.css.map +1 -1
  40. package/assets/css/components/input.component.css +1 -1
  41. package/assets/css/components/input.component.css.map +1 -1
  42. package/assets/css/components/menu.component.css +1 -1
  43. package/assets/css/components/menu.component.css.map +1 -1
  44. package/assets/css/components/milestone.css +1 -1
  45. package/assets/css/components/modal.component.css +1 -1
  46. package/assets/css/components/modal.component.css.map +1 -1
  47. package/assets/css/components/multi-step-modal.component.css +1 -1
  48. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  49. package/assets/css/components/multiselect.css +1 -1
  50. package/assets/css/components/multiselect.css.map +1 -1
  51. package/assets/css/components/nav.component.css +1 -1
  52. package/assets/css/components/nav.component.css.map +1 -1
  53. package/assets/css/components/nav.global.css +1 -1
  54. package/assets/css/components/nav.global.css.map +1 -1
  55. package/assets/css/components/notification.css +1 -1
  56. package/assets/css/components/notification.css.map +1 -1
  57. package/assets/css/components/pagination.css +1 -1
  58. package/assets/css/components/pagination.css.map +1 -1
  59. package/assets/css/components/password.component.css +1 -1
  60. package/assets/css/components/password.component.css.map +1 -1
  61. package/assets/css/components/property-searchbar.css +1 -1
  62. package/assets/css/components/property-searchbar.css.map +1 -1
  63. package/assets/css/components/rank.component.css +1 -1
  64. package/assets/css/components/rank.component.css.map +1 -1
  65. package/assets/css/components/record-card.component.css +1 -1
  66. package/assets/css/components/record-card.component.css.map +1 -1
  67. package/assets/css/components/slider.css +1 -1
  68. package/assets/css/components/slider.css.map +1 -1
  69. package/assets/css/components/split-button.component.css +1 -1
  70. package/assets/css/components/split-button.component.css.map +1 -1
  71. package/assets/css/components/table-basic.component.css +1 -1
  72. package/assets/css/components/table-basic.component.css.map +1 -1
  73. package/assets/css/components/table-basic.global.css +1 -1
  74. package/assets/css/components/table-basic.global.css.map +1 -1
  75. package/assets/css/components/table.component.css +1 -1
  76. package/assets/css/components/table.component.css.map +1 -1
  77. package/assets/css/components/table.global.css +1 -1
  78. package/assets/css/components/table.global.css.map +1 -1
  79. package/assets/css/components/tabs.component.css +1 -1
  80. package/assets/css/components/tabs.component.css.map +1 -1
  81. package/assets/css/components/tag.component.css +1 -1
  82. package/assets/css/components/tag.component.css.map +1 -1
  83. package/assets/css/components/tooltip.component.css +1 -1
  84. package/assets/css/components/tooltip.component.css.map +1 -1
  85. package/assets/css/components/video-card.component.css +1 -1
  86. package/assets/css/components/video-modal.component.css +1 -1
  87. package/assets/css/components/video-modal.component.css.map +1 -1
  88. package/assets/css/core.min.css +1 -1
  89. package/assets/css/core.min.css.map +1 -1
  90. package/assets/css/style.min.css +1 -1
  91. package/assets/css/style.min.css.map +1 -1
  92. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  93. package/assets/js/components/actionbar/actionbar.component.js +1 -1
  94. package/assets/js/components/actionbar/actionbar.component.min.js +7 -7
  95. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  96. package/assets/js/components/address-lookup/address-lookup.component.js +1 -1
  97. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  98. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  99. package/assets/js/components/advanced-select/advanced-select.component.js +1 -1
  100. package/assets/js/components/advanced-select/advanced-select.component.min.js +2 -2
  101. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  102. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  103. package/assets/js/components/barchart/barchart.component.min.js +6 -6
  104. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  105. package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
  106. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  107. package/assets/js/components/card/card.component.min.js +7 -7
  108. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  109. package/assets/js/components/collapsible-side/collapsible-side.component.js +1 -1
  110. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +5 -5
  111. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  112. package/assets/js/components/config/config.component.min.js +9 -9
  113. package/assets/js/components/content/content.component.min.js +4 -4
  114. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  115. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
  116. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  117. package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
  118. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  119. package/assets/js/components/form/form.component.min.js +1 -1
  120. package/assets/js/components/header/header.component.js +39 -1
  121. package/assets/js/components/header/header.component.min.js +40 -4
  122. package/assets/js/components/header/header.component.min.js.map +1 -1
  123. package/assets/js/components/inline-edit/inline-edit.component.js +1 -1
  124. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  125. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  126. package/assets/js/components/input/input.component.js +1 -1
  127. package/assets/js/components/input/input.component.min.js +3 -3
  128. package/assets/js/components/input/input.component.min.js.map +1 -1
  129. package/assets/js/components/input-range/input-range.component.js +1 -1
  130. package/assets/js/components/input-range/input-range.component.min.js +2 -2
  131. package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
  132. package/assets/js/components/marketing/marketing.component.js +1 -1
  133. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  134. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  135. package/assets/js/components/menu/menu.component.min.js +2 -2
  136. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  137. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  138. package/assets/js/components/modal/modal.component.js +1 -1
  139. package/assets/js/components/modal/modal.component.min.js +5 -5
  140. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  141. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  142. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +1 -1
  143. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +5 -5
  144. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
  145. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  146. package/assets/js/components/nav/nav.component.js +1 -1
  147. package/assets/js/components/nav/nav.component.min.js +6 -6
  148. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  149. package/assets/js/components/notification/notification.component.min.js +2 -2
  150. package/assets/js/components/pagination/pagination.component.js +1 -1
  151. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  152. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  153. package/assets/js/components/password/password.component.js +1 -1
  154. package/assets/js/components/password/password.component.min.js +5 -5
  155. package/assets/js/components/password/password.component.min.js.map +1 -1
  156. package/assets/js/components/popover/popover.component.min.js +1 -1
  157. package/assets/js/components/rank/rank.component.min.js +1 -1
  158. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  159. package/assets/js/components/rating/rating.component.min.js +1 -1
  160. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  161. package/assets/js/components/search/search.component.js +1 -1
  162. package/assets/js/components/search/search.component.min.js +2 -2
  163. package/assets/js/components/search/search.component.min.js.map +1 -1
  164. package/assets/js/components/slider/slider.component.min.js +2 -2
  165. package/assets/js/components/split-button/split-button.component.js +0 -4
  166. package/assets/js/components/split-button/split-button.component.min.js +6 -7
  167. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  168. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +41 -11
  169. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +9 -17
  170. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  171. package/assets/js/components/table/table.component.min.js +4 -4
  172. package/assets/js/components/table-ajax/table-ajax.component.min.js +7 -7
  173. package/assets/js/components/table-basic/table-basic.component.min.js +5 -5
  174. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
  175. package/assets/js/components/table-submit/table-submit.component.min.js +7 -7
  176. package/assets/js/components/tabs/tabs.component.js +1 -1
  177. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  178. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  179. package/assets/js/components/tag/tag.component.min.js +4 -4
  180. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  181. package/assets/js/components/tooltip/tooltip.component.min.js +2 -2
  182. package/assets/js/components/video-card/video-card.component.min.js +2 -2
  183. package/assets/js/components/video-modal/video-modal.component.js +1 -1
  184. package/assets/js/components/video-modal/video-modal.component.min.js +4 -4
  185. package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
  186. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  187. package/assets/js/modules/helper.test.js +84 -0
  188. package/assets/js/modules/test.js +19 -0
  189. package/assets/js/scripts.bundle.js +1 -1
  190. package/assets/js/scripts.bundle.min.js +1 -1
  191. package/assets/sass/_components.scss +7 -7
  192. package/assets/sass/_corefiles.scss +8 -7
  193. package/assets/sass/_elements.scss +16 -16
  194. package/assets/sass/_functions/bs_mixins.scss +3 -3
  195. package/assets/sass/_utilities.scss +4 -3
  196. package/assets/sass/components/actionbar.component.scss +25 -25
  197. package/assets/sass/components/actionbar.global.scss +4 -4
  198. package/assets/sass/components/address-lookup.component.scss +7 -7
  199. package/assets/sass/components/applied-filters.scss +2 -2
  200. package/assets/sass/components/barchart.component.scss +6 -6
  201. package/assets/sass/components/bento-grid.component.scss +2 -2
  202. package/assets/sass/components/bento-grid.global.scss +3 -3
  203. package/assets/sass/components/calendar.component.scss +14 -14
  204. package/assets/sass/components/calendar.config.scss +4 -4
  205. package/assets/sass/components/card.component.scss +10 -10
  206. package/assets/sass/components/card.module.scss +2 -2
  207. package/assets/sass/components/carousel.component.scss +8 -8
  208. package/assets/sass/components/carousel.config.scss +2 -2
  209. package/assets/sass/components/charts.config.scss +3 -3
  210. package/assets/sass/components/charts.module.scss +4 -18
  211. package/assets/sass/components/charts.scss +3 -3
  212. package/assets/sass/components/collapsible-side.scss +16 -16
  213. package/assets/sass/components/config.component.scss +5 -5
  214. package/assets/sass/components/content.component.scss +1 -1
  215. package/assets/sass/components/darkmode.component.scss +1 -1
  216. package/assets/sass/components/doughnutchart.component.scss +11 -10
  217. package/assets/sass/components/fileupload.scss +9 -9
  218. package/assets/sass/components/filter-card.component.scss +3 -3
  219. package/assets/sass/components/header.scss +121 -23
  220. package/assets/sass/components/inline-edit.preload.scss +1 -1
  221. package/assets/sass/components/inline-edit.scss +1 -1
  222. package/assets/sass/components/input.component.scss +2 -1
  223. package/assets/sass/components/marketing.component.scss +1 -1
  224. package/assets/sass/components/menu.component.scss +10 -10
  225. package/assets/sass/components/milestone.scss +2 -2
  226. package/assets/sass/components/modal.component.scss +22 -22
  227. package/assets/sass/components/multi-step-modal.component.scss +15 -15
  228. package/assets/sass/components/multi-step-modal.global.scss +1 -1
  229. package/assets/sass/components/multi-step.component.scss +3 -3
  230. package/assets/sass/components/multiselect.scss +9 -9
  231. package/assets/sass/components/nav.component.scss +24 -24
  232. package/assets/sass/components/nav.docs.scss +1 -1
  233. package/assets/sass/components/nav.global.scss +120 -119
  234. package/assets/sass/components/nav.preload.scss +1 -1
  235. package/assets/sass/components/notification.scss +34 -7
  236. package/assets/sass/components/pagination.scss +7 -7
  237. package/assets/sass/components/password.component.scss +1 -1
  238. package/assets/sass/components/popover.component.scss +3 -3
  239. package/assets/sass/components/property-searchbar.scss +1 -1
  240. package/assets/sass/components/rank.component.scss +19 -19
  241. package/assets/sass/components/rankings.component.scss +1 -1
  242. package/assets/sass/components/rankings.global.scss +2 -2
  243. package/assets/sass/components/record-card.component.scss +15 -15
  244. package/assets/sass/components/slider.scss +4 -4
  245. package/assets/sass/components/snapshot.scss +1 -1
  246. package/assets/sass/components/split-button.component.scss +2 -2
  247. package/assets/sass/components/table-basic.component.scss +3 -3
  248. package/assets/sass/components/table-basic.global.scss +30 -10
  249. package/assets/sass/components/table.component.scss +27 -16
  250. package/assets/sass/components/table.global.scss +51 -49
  251. package/assets/sass/components/tabs.component.scss +3 -3
  252. package/assets/sass/components/tabs.config.scss +1 -1
  253. package/assets/sass/components/tag.component.scss +2 -2
  254. package/assets/sass/components/testimonial.scss +2 -2
  255. package/assets/sass/components/timeline.scss +3 -3
  256. package/assets/sass/components/tooltip.component.scss +13 -8
  257. package/assets/sass/components/video-card.component.scss +2 -2
  258. package/assets/sass/components/video-modal.component.scss +1 -1
  259. package/assets/sass/components/word-count.component.scss +1 -1
  260. package/assets/sass/core.scss +1 -1
  261. package/assets/sass/elements/{admin-panel.scss → admin-panel.css} +17 -24
  262. package/assets/sass/elements/{badge-tag.scss → badge-tag.css} +11 -19
  263. package/assets/sass/elements/button__group.css +3 -2
  264. package/assets/sass/elements/{buttons--action.scss → buttons--action.css} +11 -19
  265. package/assets/sass/elements/{buttons--compact.scss → buttons--compact.css} +8 -36
  266. package/assets/sass/elements/buttons--global.scss +12 -18
  267. package/assets/sass/elements/buttons--special.scss +1 -1
  268. package/assets/sass/elements/buttons.scss +6 -6
  269. package/assets/sass/elements/container.scss +6 -6
  270. package/assets/sass/elements/details.scss +13 -13
  271. package/assets/sass/elements/dialog.scss +7 -7
  272. package/assets/sass/elements/dropdown.scss +1 -1
  273. package/assets/sass/elements/feature.scss +114 -6
  274. package/assets/sass/elements/forms.scss +24 -25
  275. package/assets/sass/elements/icons.css +1 -1
  276. package/assets/sass/elements/links.scss +5 -5
  277. package/assets/sass/elements/lists--tick-list.scss +18 -6
  278. package/assets/sass/elements/modal.scss +24 -24
  279. package/assets/sass/elements/popover.scss +14 -14
  280. package/assets/sass/elements/prefix.scss +18 -4
  281. package/assets/sass/elements/progress.scss +14 -14
  282. package/assets/sass/elements/table.element.scss +9 -5
  283. package/assets/sass/elements/tooltips.scss +4 -4
  284. package/assets/sass/email.scss +1 -1
  285. package/assets/sass/foundations/animations.scss +2 -0
  286. package/assets/sass/foundations/colours.scss +1 -1
  287. package/assets/sass/foundations/reboot.scss +1 -1
  288. package/assets/sass/foundations/root.scss +29 -92
  289. package/assets/sass/templates/auth.scss +7 -7
  290. package/assets/sass/templates/form.scss +8 -8
  291. package/assets/sass/utilities/border.scss +6 -18
  292. package/assets/sass/utilities/font-awesome-iso-fallbacks.scss +6 -0
  293. package/assets/sass/utilities/shadow.scss +7 -0
  294. package/assets/sass/utilities/wider-colours.scss +0 -2
  295. package/assets/ts/components/actionbar/actionbar.component.ts +1 -1
  296. package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -1
  297. package/assets/ts/components/advanced-select/advanced-select.component.ts +1 -1
  298. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -1
  299. package/assets/ts/components/header/header.component.ts +40 -1
  300. package/assets/ts/components/inline-edit/inline-edit.component.ts +1 -1
  301. package/assets/ts/components/input/input.component.ts +1 -1
  302. package/assets/ts/components/input-range/input-range.component.ts +1 -1
  303. package/assets/ts/components/marketing/marketing.component.ts +1 -1
  304. package/assets/ts/components/modal/modal.component.ts +1 -1
  305. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +1 -1
  306. package/assets/ts/components/nav/nav.component.ts +1 -1
  307. package/assets/ts/components/pagination/pagination.component.ts +1 -1
  308. package/assets/ts/components/password/password.component.ts +1 -1
  309. package/assets/ts/components/search/search.component.ts +1 -1
  310. package/assets/ts/components/split-button/split-button.component.ts +0 -4
  311. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +46 -12
  312. package/assets/ts/components/tabs/tabs.component.ts +1 -1
  313. package/assets/ts/components/video-modal/video-modal.component.ts +1 -1
  314. package/assets/ts/modules/helper.test.ts +143 -0
  315. package/assets/ts/modules/test.ts +22 -0
  316. package/dist/components.es.js +29 -29
  317. package/dist/components.umd.js +293 -266
  318. package/package.json +9 -21
  319. package/assets/js/tests/helpers.spec.js +0 -79
  320. package/assets/js/ui-tests/card.spec.js +0 -14
  321. package/assets/js/ui-tests/carousel.spec.js +0 -60
  322. package/assets/js/ui-tests/chart.spec.js +0 -59
  323. package/assets/js/ui-tests/fileupload.spec.js +0 -22
  324. package/assets/js/ui-tests/filterlist.spec.js +0 -22
  325. package/assets/js/ui-tests/multistep.spec.js +0 -68
  326. package/assets/js/ui-tests/slider.spec.js +0 -20
  327. package/assets/js/ui-tests/table.spec.js +0 -81
  328. package/assets/ts/tests/helpers.spec.ts +0 -137
  329. package/assets/ts/ui-tests/card.spec.ts +0 -19
  330. package/assets/ts/ui-tests/carousel.spec.ts +0 -66
  331. package/assets/ts/ui-tests/chart.spec.ts +0 -71
  332. package/assets/ts/ui-tests/data-layer.spec.js +0 -68
  333. package/assets/ts/ui-tests/fileupload.spec.ts +0 -30
  334. package/assets/ts/ui-tests/filterlist.spec.ts +0 -26
  335. package/assets/ts/ui-tests/multistep.spec.ts +0 -78
  336. package/assets/ts/ui-tests/slider.spec.ts +0 -27
  337. package/assets/ts/ui-tests/table.spec.ts +0 -91
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.component.min.js","sources":["../../modules/helpers.js","../../modules/tabs.js","tabs.component.js"],"sourcesContent":["/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n }\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","import { getSwipeDirection } from './helpers.js';\nexport const createTabsLinks = function (tabsElement) {\n const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');\n let tabLinks = tabsElement.querySelector(':scope > .tabs__links');\n let tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');\n if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))\n tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');\n if (!tabLinks) {\n tabLinks = document.createElement('div');\n tabLinks.classList.add('tabs__links');\n const tabLinksWrapper = document.createElement('div');\n tabLinksWrapper.classList.add('tabs__links__wrapper');\n tabLinksWrapper.prepend(tabLinks);\n tabsElement.prepend(tabLinksWrapper);\n }\n if (!tabDropdown) {\n tabDropdown = document.createElement('select');\n tabDropdown.classList.add('tabs__dropdown');\n tabsElement.prepend(tabDropdown);\n }\n // Create the tab buttons from the summary titles\n let tabindex = 0;\n detailsORLinks.forEach((element) => {\n let button = document.createElement('button');\n const dropdownOpt = document.createElement('option');\n if (element.matches('details')) {\n const summary = element.querySelector(':scope > summary');\n const isDisabled = summary.classList.contains('disabled');\n summary.classList.add('visually-hidden');\n if (element.hasAttribute('id'))\n button.setAttribute('data-id', `${element.getAttribute('id')}`);\n if (element.hasAttribute('open')) {\n button.setAttribute('aria-pressed', true);\n }\n button.innerHTML = `${summary.innerText}`;\n button.classList.add('link');\n button.setAttribute('data-index', tabindex);\n button.setAttribute('part', 'tab-link');\n dropdownOpt.innerHTML = `${summary.innerText}`;\n dropdownOpt.value = summary.innerText.replace(/\\s+/g, '-').toLowerCase();\n dropdownOpt.setAttribute('data-index', tabindex);\n element.setAttribute('tabindex', '-1');\n if (isDisabled) {\n button.classList.add('disabled');\n }\n tabindex++;\n }\n else if (element.matches('a')) {\n button = element;\n }\n button.classList.add('link');\n tabLinks.appendChild(button);\n tabDropdown.appendChild(dropdownOpt);\n });\n};\nexport const setTabsEventHandlers = function (tabsElement) {\n const details = tabsElement.querySelectorAll(':scope > details');\n const summaries = tabsElement.querySelectorAll(':scope > details > summary');\n let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');\n let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');\n const tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');\n let nextButton = tabsElement.querySelector(':scope .tabs__next');\n let scrollTimeout;\n window.isClicked = false;\n window.isScrolling = false;\n if (tabsElement.shadowRoot) {\n buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');\n buttonWrapper = tabsElement.shadowRoot.querySelector('.tabs__links');\n nextButton = tabsElement.shadowRoot.querySelector('.tabs__next');\n }\n // Set the on click for the tab buttons, these will open the details box it matches too\n buttons.forEach((button) => {\n button.addEventListener('click', (e) => {\n e.preventDefault();\n window.isClicked = true;\n if (button.classList.contains('disabled'))\n return false;\n buttons.forEach((buttonLoopItem) => {\n const buttonPressed = buttonLoopItem == button ? true : false;\n buttonLoopItem.setAttribute('aria-pressed', buttonPressed);\n });\n buttonWrapper.scroll({\n top: 0,\n left: button.offsetLeft,\n behavior: 'smooth',\n });\n //Handles showing correct content\n toggleTab(details, button);\n // Data layer Open Event\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openTab',\n tabTitle: button.textContent,\n });\n if (button.matches(':last-child')) {\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.setAttribute('disabled', 'disabled');\n }\n else {\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.removeAttribute('disabled');\n }\n });\n dropdownTabSelector(details, tabDropdown);\n });\n buttonWrapper.addEventListener('scrollend', () => {\n clearTimeout(scrollTimeout);\n scrollTimeout = setTimeout(function () {\n let buttonToClick = buttons[0];\n let closestOffset = Math.abs(buttonToClick.getBoundingClientRect().left);\n buttons.forEach((button) => {\n if (Math.abs(button.getBoundingClientRect().left) < closestOffset) {\n closestOffset = Math.abs(button.getBoundingClientRect().left);\n buttonToClick = button;\n }\n });\n if (window.isClicked) {\n window.isClicked = false;\n return false;\n }\n else {\n buttonToClick.click();\n }\n buttonToClick.focus();\n }, 500);\n });\n // Make sure we dont loose existing summary functionality\n summaries.forEach((summary, index) => {\n summary.addEventListener('click', (e) => {\n e.preventDefault();\n buttons[index].click();\n });\n });\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.addEventListener('click', (e) => {\n e.preventDefault();\n const currentTab = buttonWrapper.querySelector('[aria-pressed=\"true\"]');\n const nextTab = currentTab.nextSibling;\n if (nextTab)\n nextTab.click();\n });\n if (tabsElement.classList.contains('tabs--guided')) {\n let touchstartX = 0;\n let touchstartY = 0;\n let touchendX = 0;\n let touchendY = 0;\n details.forEach((detail) => {\n detail.addEventListener('touchstart', (event) => {\n event.stopPropagation();\n touchstartX = event.changedTouches[0].screenX;\n touchstartY = event.changedTouches[0].screenY;\n });\n detail.addEventListener('touchend', (event) => {\n event.stopPropagation();\n touchendX = event.changedTouches[0].screenX;\n touchendY = event.changedTouches[0].screenY;\n const direction = getSwipeDirection(touchstartX, touchstartY, touchendX, touchendY);\n const currentTab = buttonWrapper.querySelector('[aria-pressed=\"true\"]');\n const nextTab = currentTab.nextSibling;\n const prevTab = currentTab.previousSibling;\n switch (direction) {\n case 'left':\n if (nextTab)\n nextTab.click();\n break;\n case 'right':\n if (prevTab)\n prevTab.click();\n break;\n }\n });\n });\n }\n};\nexport const toggleTab = function (details, button) {\n details.forEach((detail, detailsIndex) => {\n const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;\n if (detailsOpen)\n detail.setAttribute('open', detailsOpen);\n else\n detail.removeAttribute('open');\n });\n};\nexport const dropdownTabSelector = function (details, dropdown) {\n dropdown.addEventListener('change', (e) => {\n e.preventDefault();\n const selected = dropdown.options[dropdown.selectedIndex];\n toggleTab(details, selected);\n // Data layer Open Event\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openTab',\n tabTitle: selected.innerText,\n });\n });\n};\nexport const openFirstTab = function (tabsElement) {\n if (!tabsElement.querySelector(':scope > details'))\n return false;\n const details = tabsElement.querySelectorAll(':scope > details');\n const buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');\n if (location.hash &&\n tabsElement.shadowRoot.querySelector(`.tabs__links [data-id=\"${location.hash.replace('#', '')}\"]`)) {\n tabsElement.shadowRoot\n .querySelector(`[data-id=\"${location.hash.replace('#', '')}\"]`)\n .setAttribute('aria-pressed', true);\n tabsElement.querySelector(`details[id=\"${location.hash.replace('#', '')}\"]`).setAttribute('open', true);\n }\n else if (!tabsElement.querySelector(`details[open]`)) {\n details[0].setAttribute('open', true);\n buttons[0].setAttribute('aria-pressed', true);\n }\n};\nconst tabs = function (tabsElement) {\n createTabsLinks(tabsElement);\n setTabsEventHandlers(tabsElement);\n openFirstTab(tabsElement);\n};\nexport default tabs;\n","import tabs from '../../modules/tabs.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'tabs',\n});\nclass iamTabs 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/tabs.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n \n ${loadCSS}\n \n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\">\n <div class=\"tabs\" part=\"tabs\">\n <div class=\"tabs__dropdown\" part=\"tab-dropdown\"></div>\n\n <div class=\"tabs__links__wrapper\" part=\"wrapper\">\n <div class=\"tabs__links\" part=\"tab-links\"></div>\n </div>\n <slot></slot>\n <button part=\"next-button\" class=\"btn btn-secondary btn-sm btn-compact fa-regular fa-chevron-right tabs__next\">Next</button>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const classList = this.classList.toString().replace('container', '');\n this.shadowRoot.querySelector('.tabs').setAttribute('class', `tabs ${classList}`);\n tabs(this);\n }\n}\nexport default iamTabs;\n"],"names":["getSwipeDirection","touchstartX","touchstartY","touchendX","touchendY","limit","pageWidth","treshold","x","y","xy","yx","createTabsLinks","tabsElement","detailsORLinks","tabLinks","tabDropdown","tabLinksWrapper","tabindex","element","button","dropdownOpt","summary","isDisabled","setTabsEventHandlers","details","summaries","buttonWrapper","buttons","nextButton","scrollTimeout","e","buttonLoopItem","buttonPressed","toggleTab","dropdownTabSelector","buttonToClick","closestOffset","index","nextTab","detail","event","direction","currentTab","prevTab","detailsIndex","detailsOpen","dropdown","selected","openFirstTab","tabs","iamTabs","template","classList"],"mappings":";;;IA4IO,MAAMA,EAAoB,CAACC,EAAaC,EAAaC,EAAWC,IAAc,CACjF,MAAMC,EAAQ,KAAK,IAAM,KAAmB,KAAK,EAAE,EAC7CC,EAAY,OAAO,YAAc,SAAS,KAAK,YAC/CC,EAAW,KAAK,IAAI,EAAG,KAAK,MAAM,IAAOD,CAAS,CAAC,EACnDE,EAAIL,EAAYF,EAChBQ,EAAIL,EAAYF,EAChBQ,EAAK,KAAK,IAAIF,EAAIC,CAAC,EACnBE,EAAK,KAAK,IAAIF,EAAID,CAAC,EACzB,GAAI,KAAK,IAAIA,CAAC,EAAID,GAAY,KAAK,IAAIE,CAAC,EAAIF,EAAU,CAClD,GAAII,GAAMN,EACN,OAAIG,EAAI,EACG,OAGA,QAGf,GAAIE,GAAML,EACN,OAAII,EAAI,EACG,MAGA,QAGnB,KAEI,OAAO,KAEf,ECxKaG,EAAkB,SAAUC,EAAa,CAClD,MAAMC,EAAiBD,EAAY,iBAAiB,8BAA8B,EAClF,IAAIE,EAAWF,EAAY,cAAc,uBAAuB,EAC5DG,EAAcH,EAAY,cAAc,wBAAwB,EAGpE,GAFIA,EAAY,YAAcA,EAAY,WAAW,cAAc,cAAc,IAC7EE,EAAWF,EAAY,WAAW,cAAc,cAAc,GAC9D,CAACE,EAAU,CACXA,EAAW,SAAS,cAAc,KAAK,EACvCA,EAAS,UAAU,IAAI,aAAa,EACpC,MAAME,EAAkB,SAAS,cAAc,KAAK,EACpDA,EAAgB,UAAU,IAAI,sBAAsB,EACpDA,EAAgB,QAAQF,CAAQ,EAChCF,EAAY,QAAQI,CAAe,CACvC,CACKD,IACDA,EAAc,SAAS,cAAc,QAAQ,EAC7CA,EAAY,UAAU,IAAI,gBAAgB,EAC1CH,EAAY,QAAQG,CAAW,GAGnC,IAAIE,EAAW,EACfJ,EAAe,QAASK,GAAY,CAChC,IAAIC,EAAS,SAAS,cAAc,QAAQ,EAC5C,MAAMC,EAAc,SAAS,cAAc,QAAQ,EACnD,GAAIF,EAAQ,QAAQ,SAAS,EAAG,CAC5B,MAAMG,EAAUH,EAAQ,cAAc,kBAAkB,EAClDI,EAAaD,EAAQ,UAAU,SAAS,UAAU,EACxDA,EAAQ,UAAU,IAAI,iBAAiB,EACnCH,EAAQ,aAAa,IAAI,GACzBC,EAAO,aAAa,UAAW,GAAGD,EAAQ,aAAa,IAAI,CAAC,EAAE,EAC9DA,EAAQ,aAAa,MAAM,GAC3BC,EAAO,aAAa,eAAgB,EAAI,EAE5CA,EAAO,UAAY,GAAGE,EAAQ,SAAS,GACvCF,EAAO,UAAU,IAAI,MAAM,EAC3BA,EAAO,aAAa,aAAcF,CAAQ,EAC1CE,EAAO,aAAa,OAAQ,UAAU,EACtCC,EAAY,UAAY,GAAGC,EAAQ,SAAS,GAC5CD,EAAY,MAAQC,EAAQ,UAAU,QAAQ,OAAQ,GAAG,EAAE,YAAW,EACtED,EAAY,aAAa,aAAcH,CAAQ,EAC/CC,EAAQ,aAAa,WAAY,IAAI,EACjCI,GACAH,EAAO,UAAU,IAAI,UAAU,EAEnCF,GACJ,MACSC,EAAQ,QAAQ,GAAG,IACxBC,EAASD,GAEbC,EAAO,UAAU,IAAI,MAAM,EAC3BL,EAAS,YAAYK,CAAM,EAC3BJ,EAAY,YAAYK,CAAW,CACvC,CAAC,CACL,EACaG,EAAuB,SAAUX,EAAa,CACvD,MAAMY,EAAUZ,EAAY,iBAAiB,kBAAkB,EACzDa,EAAYb,EAAY,iBAAiB,4BAA4B,EAC3E,IAAIc,EAAgBd,EAAY,cAAc,qBAAqB,EAC/De,EAAUf,EAAY,iBAAiB,8BAA8B,EACzE,MAAMG,EAAcH,EAAY,cAAc,wBAAwB,EACtE,IAAIgB,EAAahB,EAAY,cAAc,oBAAoB,EAC3DiB,EA4EJ,GA3EA,OAAO,UAAY,GACnB,OAAO,YAAc,GACjBjB,EAAY,aACZe,EAAUf,EAAY,WAAW,iBAAiB,uBAAuB,EACzEc,EAAgBd,EAAY,WAAW,cAAc,cAAc,EACnEgB,EAAahB,EAAY,WAAW,cAAc,aAAa,GAGnEe,EAAQ,QAASR,GAAW,CACxBA,EAAO,iBAAiB,QAAUW,GAAM,CAGpC,GAFAA,EAAE,eAAc,EAChB,OAAO,UAAY,GACfX,EAAO,UAAU,SAAS,UAAU,EACpC,MAAO,GACXQ,EAAQ,QAASI,GAAmB,CAChC,MAAMC,EAAgBD,GAAkBZ,EACxCY,EAAe,aAAa,eAAgBC,CAAa,CAC7D,CAAC,EACDN,EAAc,OAAO,CACjB,IAAK,EACL,KAAMP,EAAO,WACb,SAAU,QAC1B,CAAa,EAEDc,EAAUT,EAASL,CAAM,EAEzB,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,UACP,SAAUA,EAAO,WACjC,CAAa,EACGA,EAAO,QAAQ,aAAa,EAC4BS,GAAW,aAAa,WAAY,UAAU,EAG9CA,GAAW,gBAAgB,UAAU,CAErG,CAAC,EACDM,EAAoBV,EAAST,CAAW,CAC5C,CAAC,EACDW,EAAc,iBAAiB,YAAa,IAAM,CAC9C,aAAaG,CAAa,EAC1BA,EAAgB,WAAW,UAAY,CACnC,IAAIM,EAAgBR,EAAQ,CAAC,EACzBS,EAAgB,KAAK,IAAID,EAAc,sBAAqB,EAAG,IAAI,EAOvE,GANAR,EAAQ,QAASR,GAAW,CACpB,KAAK,IAAIA,EAAO,sBAAqB,EAAG,IAAI,EAAIiB,IAChDA,EAAgB,KAAK,IAAIjB,EAAO,sBAAqB,EAAG,IAAI,EAC5DgB,EAAgBhB,EAExB,CAAC,EACG,OAAO,UACP,cAAO,UAAY,GACZ,GAGPgB,EAAc,MAAK,EAEvBA,EAAc,MAAK,CACvB,EAAG,GAAG,CACV,CAAC,EAEDV,EAAU,QAAQ,CAACJ,EAASgB,IAAU,CAClChB,EAAQ,iBAAiB,QAAUS,GAAM,CACrCA,EAAE,eAAc,EAChBH,EAAQU,CAAK,EAAE,MAAK,CACxB,CAAC,CACL,CAAC,EACuDT,GAAW,iBAAiB,QAAU,GAAM,CAChG,EAAE,eAAc,EAEhB,MAAMU,EADaZ,EAAc,cAAc,uBAAuB,EAC3C,YACvBY,GACAA,EAAQ,MAAK,CACrB,CAAC,EACG1B,EAAY,UAAU,SAAS,cAAc,EAAG,CAChD,IAAIZ,EAAc,EACdC,EAAc,EACdC,EAAY,EACZC,EAAY,EAChBqB,EAAQ,QAASe,GAAW,CACxBA,EAAO,iBAAiB,aAAeC,GAAU,CAC7CA,EAAM,gBAAe,EACrBxC,EAAcwC,EAAM,eAAe,CAAC,EAAE,QACtCvC,EAAcuC,EAAM,eAAe,CAAC,EAAE,OAC1C,CAAC,EACDD,EAAO,iBAAiB,WAAaC,GAAU,CAC3CA,EAAM,gBAAe,EACrBtC,EAAYsC,EAAM,eAAe,CAAC,EAAE,QACpCrC,EAAYqC,EAAM,eAAe,CAAC,EAAE,QACpC,MAAMC,EAAY1C,EAAkBC,EAAaC,EAAaC,EAAWC,CAAS,EAC5EuC,EAAahB,EAAc,cAAc,uBAAuB,EAChEY,EAAUI,EAAW,YACrBC,EAAUD,EAAW,gBAC3B,OAAQD,EAAS,CACb,IAAK,OACGH,GACAA,EAAQ,MAAK,EACjB,MACJ,IAAK,QACGK,GACAA,EAAQ,MAAK,EACjB,KACxB,CACY,CAAC,CACL,CAAC,CACL,CACJ,EACaV,EAAY,SAAUT,EAASL,EAAQ,CAChDK,EAAQ,QAAQ,CAACe,EAAQK,IAAiB,CACtC,MAAMC,EAAc1B,EAAO,aAAa,YAAY,GAAKyB,EACrDC,EACAN,EAAO,aAAa,OAAQM,CAAW,EAEvCN,EAAO,gBAAgB,MAAM,CACrC,CAAC,CACL,EACaL,EAAsB,SAAUV,EAASsB,EAAU,CAC5DA,EAAS,iBAAiB,SAAWhB,GAAM,CACvCA,EAAE,eAAc,EAChB,MAAMiB,EAAWD,EAAS,QAAQA,EAAS,aAAa,EACxDb,EAAUT,EAASuB,CAAQ,EAE3B,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,UACP,SAAUA,EAAS,SAC/B,CAAS,CACL,CAAC,CACL,EACaC,EAAe,SAAUpC,EAAa,CAC/C,GAAI,CAACA,EAAY,cAAc,kBAAkB,EAC7C,MAAO,GACX,MAAMY,EAAUZ,EAAY,iBAAiB,kBAAkB,EACzDe,EAAUf,EAAY,WAAW,iBAAiB,uBAAuB,EAC3E,SAAS,MACTA,EAAY,WAAW,cAAc,0BAA0B,SAAS,KAAK,QAAQ,IAAK,EAAE,CAAC,IAAI,GACjGA,EAAY,WACP,cAAc,aAAa,SAAS,KAAK,QAAQ,IAAK,EAAE,CAAC,IAAI,EAC7D,aAAa,eAAgB,EAAI,EACtCA,EAAY,cAAc,eAAe,SAAS,KAAK,QAAQ,IAAK,EAAE,CAAC,IAAI,EAAE,aAAa,OAAQ,EAAI,GAEhGA,EAAY,cAAc,eAAe,IAC/CY,EAAQ,CAAC,EAAE,aAAa,OAAQ,EAAI,EACpCG,EAAQ,CAAC,EAAE,aAAa,eAAgB,EAAI,EAEpD,EACMsB,EAAO,SAAUrC,EAAa,CAChCD,EAAgBC,CAAW,EAC3BW,EAAqBX,CAAW,EAChCoC,EAAapC,CAAW,CAC5B,ECpNA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,MACb,CAAC,EACD,MAAMsC,UAAgB,WAAY,CAC9B,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvB,KAAK,aAAa,KAAK,EAAI,YAAY,KAAK,aAAa,KAAK,CAAC,KAAO,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAatE,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,MAAMC,EAAY,KAAK,UAAU,SAAQ,EAAG,QAAQ,YAAa,EAAE,EACnE,KAAK,WAAW,cAAc,OAAO,EAAE,aAAa,QAAS,QAAQA,CAAS,EAAE,EAChFH,EAAK,IAAI,CACb,CACJ"}
1
+ {"version":3,"file":"tabs.component.min.js","sources":["../../modules/helpers.js","../../modules/tabs.js","tabs.component.js"],"sourcesContent":["/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n }\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","import { getSwipeDirection } from './helpers.js';\nexport const createTabsLinks = function (tabsElement) {\n const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');\n let tabLinks = tabsElement.querySelector(':scope > .tabs__links');\n let tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');\n if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))\n tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');\n if (!tabLinks) {\n tabLinks = document.createElement('div');\n tabLinks.classList.add('tabs__links');\n const tabLinksWrapper = document.createElement('div');\n tabLinksWrapper.classList.add('tabs__links__wrapper');\n tabLinksWrapper.prepend(tabLinks);\n tabsElement.prepend(tabLinksWrapper);\n }\n if (!tabDropdown) {\n tabDropdown = document.createElement('select');\n tabDropdown.classList.add('tabs__dropdown');\n tabsElement.prepend(tabDropdown);\n }\n // Create the tab buttons from the summary titles\n let tabindex = 0;\n detailsORLinks.forEach((element) => {\n let button = document.createElement('button');\n const dropdownOpt = document.createElement('option');\n if (element.matches('details')) {\n const summary = element.querySelector(':scope > summary');\n const isDisabled = summary.classList.contains('disabled');\n summary.classList.add('visually-hidden');\n if (element.hasAttribute('id'))\n button.setAttribute('data-id', `${element.getAttribute('id')}`);\n if (element.hasAttribute('open')) {\n button.setAttribute('aria-pressed', true);\n }\n button.innerHTML = `${summary.innerText}`;\n button.classList.add('link');\n button.setAttribute('data-index', tabindex);\n button.setAttribute('part', 'tab-link');\n dropdownOpt.innerHTML = `${summary.innerText}`;\n dropdownOpt.value = summary.innerText.replace(/\\s+/g, '-').toLowerCase();\n dropdownOpt.setAttribute('data-index', tabindex);\n element.setAttribute('tabindex', '-1');\n if (isDisabled) {\n button.classList.add('disabled');\n }\n tabindex++;\n }\n else if (element.matches('a')) {\n button = element;\n }\n button.classList.add('link');\n tabLinks.appendChild(button);\n tabDropdown.appendChild(dropdownOpt);\n });\n};\nexport const setTabsEventHandlers = function (tabsElement) {\n const details = tabsElement.querySelectorAll(':scope > details');\n const summaries = tabsElement.querySelectorAll(':scope > details > summary');\n let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');\n let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');\n const tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');\n let nextButton = tabsElement.querySelector(':scope .tabs__next');\n let scrollTimeout;\n window.isClicked = false;\n window.isScrolling = false;\n if (tabsElement.shadowRoot) {\n buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');\n buttonWrapper = tabsElement.shadowRoot.querySelector('.tabs__links');\n nextButton = tabsElement.shadowRoot.querySelector('.tabs__next');\n }\n // Set the on click for the tab buttons, these will open the details box it matches too\n buttons.forEach((button) => {\n button.addEventListener('click', (e) => {\n e.preventDefault();\n window.isClicked = true;\n if (button.classList.contains('disabled'))\n return false;\n buttons.forEach((buttonLoopItem) => {\n const buttonPressed = buttonLoopItem == button ? true : false;\n buttonLoopItem.setAttribute('aria-pressed', buttonPressed);\n });\n buttonWrapper.scroll({\n top: 0,\n left: button.offsetLeft,\n behavior: 'smooth',\n });\n //Handles showing correct content\n toggleTab(details, button);\n // Data layer Open Event\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openTab',\n tabTitle: button.textContent,\n });\n if (button.matches(':last-child')) {\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.setAttribute('disabled', 'disabled');\n }\n else {\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.removeAttribute('disabled');\n }\n });\n dropdownTabSelector(details, tabDropdown);\n });\n buttonWrapper.addEventListener('scrollend', () => {\n clearTimeout(scrollTimeout);\n scrollTimeout = setTimeout(function () {\n let buttonToClick = buttons[0];\n let closestOffset = Math.abs(buttonToClick.getBoundingClientRect().left);\n buttons.forEach((button) => {\n if (Math.abs(button.getBoundingClientRect().left) < closestOffset) {\n closestOffset = Math.abs(button.getBoundingClientRect().left);\n buttonToClick = button;\n }\n });\n if (window.isClicked) {\n window.isClicked = false;\n return false;\n }\n else {\n buttonToClick.click();\n }\n buttonToClick.focus();\n }, 500);\n });\n // Make sure we dont loose existing summary functionality\n summaries.forEach((summary, index) => {\n summary.addEventListener('click', (e) => {\n e.preventDefault();\n buttons[index].click();\n });\n });\n nextButton === null || nextButton === void 0 ? void 0 : nextButton.addEventListener('click', (e) => {\n e.preventDefault();\n const currentTab = buttonWrapper.querySelector('[aria-pressed=\"true\"]');\n const nextTab = currentTab.nextSibling;\n if (nextTab)\n nextTab.click();\n });\n if (tabsElement.classList.contains('tabs--guided')) {\n let touchstartX = 0;\n let touchstartY = 0;\n let touchendX = 0;\n let touchendY = 0;\n details.forEach((detail) => {\n detail.addEventListener('touchstart', (event) => {\n event.stopPropagation();\n touchstartX = event.changedTouches[0].screenX;\n touchstartY = event.changedTouches[0].screenY;\n });\n detail.addEventListener('touchend', (event) => {\n event.stopPropagation();\n touchendX = event.changedTouches[0].screenX;\n touchendY = event.changedTouches[0].screenY;\n const direction = getSwipeDirection(touchstartX, touchstartY, touchendX, touchendY);\n const currentTab = buttonWrapper.querySelector('[aria-pressed=\"true\"]');\n const nextTab = currentTab.nextSibling;\n const prevTab = currentTab.previousSibling;\n switch (direction) {\n case 'left':\n if (nextTab)\n nextTab.click();\n break;\n case 'right':\n if (prevTab)\n prevTab.click();\n break;\n }\n });\n });\n }\n};\nexport const toggleTab = function (details, button) {\n details.forEach((detail, detailsIndex) => {\n const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;\n if (detailsOpen)\n detail.setAttribute('open', detailsOpen);\n else\n detail.removeAttribute('open');\n });\n};\nexport const dropdownTabSelector = function (details, dropdown) {\n dropdown.addEventListener('change', (e) => {\n e.preventDefault();\n const selected = dropdown.options[dropdown.selectedIndex];\n toggleTab(details, selected);\n // Data layer Open Event\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openTab',\n tabTitle: selected.innerText,\n });\n });\n};\nexport const openFirstTab = function (tabsElement) {\n if (!tabsElement.querySelector(':scope > details'))\n return false;\n const details = tabsElement.querySelectorAll(':scope > details');\n const buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');\n if (location.hash &&\n tabsElement.shadowRoot.querySelector(`.tabs__links [data-id=\"${location.hash.replace('#', '')}\"]`)) {\n tabsElement.shadowRoot\n .querySelector(`[data-id=\"${location.hash.replace('#', '')}\"]`)\n .setAttribute('aria-pressed', true);\n tabsElement.querySelector(`details[id=\"${location.hash.replace('#', '')}\"]`).setAttribute('open', true);\n }\n else if (!tabsElement.querySelector(`details[open]`)) {\n details[0].setAttribute('open', true);\n buttons[0].setAttribute('aria-pressed', true);\n }\n};\nconst tabs = function (tabsElement) {\n createTabsLinks(tabsElement);\n setTabsEventHandlers(tabsElement);\n openFirstTab(tabsElement);\n};\nexport default tabs;\n","import tabs from '../../modules/tabs.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'tabs',\n});\nclass iamTabs 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/tabs.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n \n ${loadCSS}\n \n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\n <div class=\"tabs\" part=\"tabs\">\n <div class=\"tabs__dropdown\" part=\"tab-dropdown\"></div>\n\n <div class=\"tabs__links__wrapper\" part=\"wrapper\">\n <div class=\"tabs__links\" part=\"tab-links\"></div>\n </div>\n <slot></slot>\n <button part=\"next-button\" class=\"btn btn-secondary btn-sm btn-compact fa-regular fa-chevron-right tabs__next\">Next</button>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const classList = this.classList.toString().replace('container', '');\n this.shadowRoot.querySelector('.tabs').setAttribute('class', `tabs ${classList}`);\n tabs(this);\n }\n}\nexport default iamTabs;\n"],"names":["getSwipeDirection","touchstartX","touchstartY","touchendX","touchendY","limit","pageWidth","treshold","x","y","xy","yx","createTabsLinks","tabsElement","detailsORLinks","tabLinks","tabDropdown","tabLinksWrapper","tabindex","element","button","dropdownOpt","summary","isDisabled","setTabsEventHandlers","details","summaries","buttonWrapper","buttons","nextButton","scrollTimeout","e","buttonLoopItem","buttonPressed","toggleTab","dropdownTabSelector","buttonToClick","closestOffset","index","nextTab","detail","event","direction","currentTab","prevTab","detailsIndex","detailsOpen","dropdown","selected","openFirstTab","tabs","iamTabs","template","classList"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta8
2
+ * iamKey v7.7.0
3
3
  * Copyright 2022-2026 iamproperty
4
- */const v=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})};/*! js-cookie v3.0.5 | MIT */function h(e){for(var i=1;i<arguments.length;i++){var t=arguments[i];for(var a in t)e[a]=t[a]}return e}var f={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function u(e,i){function t(o,l,n){if(!(typeof document>"u")){n=h({},i,n),typeof n.expires=="number"&&(n.expires=new Date(Date.now()+n.expires*864e5)),n.expires&&(n.expires=n.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var r in n)n[r]&&(c+="; "+r,n[r]!==!0&&(c+="="+n[r].split(";")[0]));return document.cookie=o+"="+e.write(l,o)+c}}function a(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var l=document.cookie?document.cookie.split("; "):[],n={},c=0;c<l.length;c++){var r=l[c].split("="),p=r.slice(1).join("=");try{var d=decodeURIComponent(r[0]);if(n[d]=e.read(p,d),o===d)break}catch{}}return o?n[o]:n}}return Object.create({set:t,get:a,remove:function(o,l){t(o,"",h({},l,{expires:-1}))},withAttributes:function(o){return u(this.converter,h({},this.attributes,o))},withConverter:function(o){return u(h({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(e)}})}var y=u(f,{path:"/"}),k=function(e,i,t,a){function o(l){return l instanceof t?l:new t(function(n){n(l)})}return new(t||(t=Promise))(function(l,n){function c(d){try{p(a.next(d))}catch(s){n(s)}}function r(d){try{p(a.throw(d))}catch(s){n(s)}}function p(d){d.done?l(d.value):o(d.value).then(c,r)}p((a=a.apply(e,i||[])).next())})};const b=(e,i)=>{Array.from(e.querySelectorAll('label:not([slot="checked"])')).forEach(t=>{const o=t.querySelector("input").value,l=t.textContent;o.toLowerCase().includes(i.value.toLowerCase())||l.toLowerCase().includes(i.value.toLowerCase())?t.removeAttribute("slot"):t.setAttribute("slot","notmatched")})},x=(e,i,t)=>k(void 0,void 0,void 0,function*(){const a=i.value,o=e.getAttribute("data-url"),l=e.querySelector("input");console.log(l);const n=l&&l.hasAttribute("type")?l.getAttribute("type"):"checkbox";let c=l&&l.hasAttribute("name")?l.getAttribute("name"):"tags";e.hasAttribute("data-name")&&(c=e.hasAttribute("data-name"));const r=`${o}?search_query=${encodeURI(a)}`;window.controller||(window.controller=[]),window.controller[r]&&window.controller[r].abort(),window.controller[r]=new AbortController;const{signal:p}=controller[r];try{yield fetch(r,{signal:p,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":y.get("XSRF-TOKEN")})}).then(d=>d.json()).then(d=>{let s="";for(let m=0;m<d.data.length;m++)e.querySelector(`[value="${d.data[m].value}"]`)||(s+=`<label class="tag dropdown__option"><input type="${n}" name="${e.hasAttribute("data-name")?e.getAttribute("data-name"):c}" value="${d.data[m].value}"/>${d.data[m].title}</label>`);return e.insertAdjacentHTML("beforeend",`${s}`),t(e,i),d})}catch(d){console.log(d)}}),g=e=>{const i=e.querySelector(":checked"),t=i?.getAttribute("name");e.setAttribute("slot","checked"),e.setAttribute("data-content",e.textContent);let a=[];localStorage.getItem("tags-"+t)!=null&&(a=JSON.parse(localStorage.getItem("tags-"+t))),a.includes(e.textContent)||(a.push(e.textContent),localStorage.setItem("tags-"+t,JSON.stringify(a)));let o=a.indexOf(e.textContent)+1;o>23&&(o=1),e?.classList.add(`wider-colour-${o+1}`)},w=(e,i)=>{i.addEventListener("keydown",t=>{var a;switch(t.keyCode){case 40:t.stopPropagation(),t.preventDefault(),(a=e.querySelector('label:not([slot="checked"]) input'))===null||a===void 0||a.focus();break}}),e.addEventListener("keydown",t=>{var a,o,l;const n=e.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input'),c=e.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');if(t&&t.target instanceof HTMLElement&&t.target.closest('a, button, summary, label:not([slot="checked"]) > input')){const r=document.activeElement,p=Array.from(n).indexOf(r)-1,d=Array.from(n).indexOf(r)+1;switch(t.keyCode){case 27:r.closest("details")?(t.stopPropagation(),t.preventDefault(),r.closest("details").removeAttribute("open"),r.closest("details").querySelector(":scope summary").focus()):t.stopPropagation();break;case 32:case 13:break;case 35:t.stopPropagation(),t.preventDefault(),(a=e.querySelector("details[open]"))===null||a===void 0||a.removeAttribute("open"),Array.from(c)[c.length-1].focus();break;case 36:t.stopPropagation(),t.preventDefault(),(o=e.querySelector("details[open]"))===null||o===void 0||o.removeAttribute("open"),Array.from(c)[0].focus();break;case 38:if(t.stopPropagation(),t.preventDefault(),Array.from(n).indexOf(r)>-1)Array.from(n)[p]!=null?Array.from(n)[p].focus():Array.from(n)[n.length-1].focus();else if(r.closest("details")){const s=r.closest("details").querySelectorAll("a, button, :scope details > summary");subPrevIndex=Array.from(s).indexOf(r)-1,Array.from(s)[subPrevIndex]!=null?Array.from(s)[subPrevIndex].focus():Array.from(s)[s.length-1].focus()}break;case 40:if(t.stopPropagation(),t.preventDefault(),Array.from(n).indexOf(r)>-1)Array.from(n)[d]!=null?Array.from(n)[d].focus():Array.from(n)[0].focus();else if(r.closest("details")){const s=(l=r.closest("details"))===null||l===void 0?void 0:l.querySelectorAll("a, button, :scope details > summary");subNextIndex=Array.from(s).indexOf(r)+1,Array.from(s)[subNextIndex]!=null?Array.from(s)[subNextIndex].focus():Array.from(s)[0].focus()}break}}})};v("iam-tag");class _ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const i=document.createElement("template");i.innerHTML=`
4
+ */const v=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})};/*! js-cookie v3.0.5 | MIT */function h(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var i in t)e[i]=t[i]}return e}var f={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function u(e,a){function t(o,l,r){if(!(typeof document>"u")){r=h({},a,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var n in r)r[n]&&(c+="; "+n,r[n]!==!0&&(c+="="+r[n].split(";")[0]));return document.cookie=o+"="+e.write(l,o)+c}}function i(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var l=document.cookie?document.cookie.split("; "):[],r={},c=0;c<l.length;c++){var n=l[c].split("="),p=n.slice(1).join("=");try{var d=decodeURIComponent(n[0]);if(r[d]=e.read(p,d),o===d)break}catch{}}return o?r[o]:r}}return Object.create({set:t,get:i,remove:function(o,l){t(o,"",h({},l,{expires:-1}))},withAttributes:function(o){return u(this.converter,h({},this.attributes,o))},withConverter:function(o){return u(h({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(a)},converter:{value:Object.freeze(e)}})}var y=u(f,{path:"/"}),k=function(e,a,t,i){function o(l){return l instanceof t?l:new t(function(r){r(l)})}return new(t||(t=Promise))(function(l,r){function c(d){try{p(i.next(d))}catch(s){r(s)}}function n(d){try{p(i.throw(d))}catch(s){r(s)}}function p(d){d.done?l(d.value):o(d.value).then(c,n)}p((i=i.apply(e,a||[])).next())})};const b=(e,a)=>{Array.from(e.querySelectorAll('label:not([slot="checked"])')).forEach(t=>{const o=t.querySelector("input").value,l=t.textContent;o.toLowerCase().includes(a.value.toLowerCase())||l.toLowerCase().includes(a.value.toLowerCase())?t.removeAttribute("slot"):t.setAttribute("slot","notmatched")})},x=(e,a,t)=>k(void 0,void 0,void 0,function*(){const i=a.value,o=e.getAttribute("data-url"),l=e.querySelector("input");console.log(l);const r=l&&l.hasAttribute("type")?l.getAttribute("type"):"checkbox";let c=l&&l.hasAttribute("name")?l.getAttribute("name"):"tags";e.hasAttribute("data-name")&&(c=e.hasAttribute("data-name"));const n=`${o}?search_query=${encodeURI(i)}`;window.controller||(window.controller=[]),window.controller[n]&&window.controller[n].abort(),window.controller[n]=new AbortController;const{signal:p}=controller[n];try{yield fetch(n,{signal:p,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":y.get("XSRF-TOKEN")})}).then(d=>d.json()).then(d=>{let s="";for(let m=0;m<d.data.length;m++)e.querySelector(`[value="${d.data[m].value}"]`)||(s+=`<label class="tag dropdown__option"><input type="${r}" name="${e.hasAttribute("data-name")?e.getAttribute("data-name"):c}" value="${d.data[m].value}"/>${d.data[m].title}</label>`);return e.insertAdjacentHTML("beforeend",`${s}`),t(e,a),d})}catch(d){console.log(d)}}),g=e=>{const a=e.querySelector(":checked"),t=a?.getAttribute("name");e.setAttribute("slot","checked"),e.setAttribute("data-content",e.textContent);let i=[];localStorage.getItem("tags-"+t)!=null&&(i=JSON.parse(localStorage.getItem("tags-"+t))),i.includes(e.textContent)||(i.push(e.textContent),localStorage.setItem("tags-"+t,JSON.stringify(i)));let o=i.indexOf(e.textContent)+1;o>23&&(o=1),e?.classList.add(`wider-colour-${o+1}`)},w=(e,a)=>{a.addEventListener("keydown",t=>{var i;switch(t.keyCode){case 40:t.stopPropagation(),t.preventDefault(),(i=e.querySelector('label:not([slot="checked"]) input'))===null||i===void 0||i.focus();break}}),e.addEventListener("keydown",t=>{var i,o,l;const r=e.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input'),c=e.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');if(t&&t.target instanceof HTMLElement&&t.target.closest('a, button, summary, label:not([slot="checked"]) > input')){const n=document.activeElement,p=Array.from(r).indexOf(n)-1,d=Array.from(r).indexOf(n)+1;switch(t.keyCode){case 27:n.closest("details")?(t.stopPropagation(),t.preventDefault(),n.closest("details").removeAttribute("open"),n.closest("details").querySelector(":scope summary").focus()):t.stopPropagation();break;case 32:case 13:break;case 35:t.stopPropagation(),t.preventDefault(),(i=e.querySelector("details[open]"))===null||i===void 0||i.removeAttribute("open"),Array.from(c)[c.length-1].focus();break;case 36:t.stopPropagation(),t.preventDefault(),(o=e.querySelector("details[open]"))===null||o===void 0||o.removeAttribute("open"),Array.from(c)[0].focus();break;case 38:if(t.stopPropagation(),t.preventDefault(),Array.from(r).indexOf(n)>-1)Array.from(r)[p]!=null?Array.from(r)[p].focus():Array.from(r)[r.length-1].focus();else if(n.closest("details")){const s=n.closest("details").querySelectorAll("a, button, :scope details > summary");subPrevIndex=Array.from(s).indexOf(n)-1,Array.from(s)[subPrevIndex]!=null?Array.from(s)[subPrevIndex].focus():Array.from(s)[s.length-1].focus()}break;case 40:if(t.stopPropagation(),t.preventDefault(),Array.from(r).indexOf(n)>-1)Array.from(r)[d]!=null?Array.from(r)[d].focus():Array.from(r)[0].focus();else if(n.closest("details")){const s=(l=n.closest("details"))===null||l===void 0?void 0:l.querySelectorAll("a, button, :scope details > summary");subNextIndex=Array.from(s).indexOf(n)+1,Array.from(s)[subNextIndex]!=null?Array.from(s)[subNextIndex].focus():Array.from(s)[0].focus()}break}}})};v("iam-tag");class z extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
5
5
  <style>
6
6
 
7
- @layer elements{:is(label:not(.tag),.label){font-size:1.125rem;line-height:1.3125rem;margin-bottom:.5rem;font-weight:normal;color:var(--colour-heading);display:block}:is(label:not(.tag),.label)>iam-rating{margin-top:.25rem !important}:is(label:not(.tag),.label).label--sm{--input-max-width: 15rem}}@layer elements{input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}::-moz-focus-inner{padding:0;border-style:none}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:normal;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-moz-color-swatch{border-radius:0;border:none}::-webkit-color-swatch{border-radius:0;border:none}::file-selector-button{font:inherit;-webkit-appearance:button}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output)::-webkit-date-and-time-value{height:1.5em}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}input[type=color]{padding:0 !important;max-width:3rem !important}[disabled] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output,select:not(.select--minimal,.btn)){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}[disabled] label{cursor:not-allowed;pointer-events:none}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])){max-width:var(--input-max-width)}}@layer elements{textarea{--textarea-height-scale: 3;margin:0;font-family:inherit;resize:vertical;display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;max-height:100%}textarea:not([rows]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}textarea[rows="1"]{--textarea-height-scale: 1}textarea[rows="2"]{--textarea-height-scale: 2}textarea:is([rows="2"],[rows="2"]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}textarea:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}textarea:is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}textarea:disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}[disabled] textarea{background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}label:not(.tag):has(textarea){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width)}label:not(.tag):has(textarea) textarea{margin-top:.5rem;margin-bottom:0 !important}}@layer elements{select,optgroup{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select{text-transform:none}select{word-wrap:normal}select:disabled{opacity:1}fieldset{min-width:0;padding:0;margin:0;border:0}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}:is(select:not(.select--minimal,.btn)){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(select:not(.select--minimal,.btn)):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}[disabled] :is(select:not(.select--minimal,.btn)){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}[disabled] label{cursor:not-allowed;pointer-events:none}fieldset{width:100%;position:relative}legend{font-family:var(--font-heading);font-style:normal;font-weight:var(--heading-weight);line-height:2rem;color:var(--colour-heading);margin:0;clear:both;display:block;float:none;font-size:var(--h4-fs);line-height:var(--heading-lh);padding-bottom:.5rem;max-width:var(--content-max-width);min-width:100%}div:has(>label:first-child):has(>input){position:relative;max-width:var(--input-max-width);margin-bottom:1.5rem}div:has(>label:first-child):has(>input) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),div:has(>label:first-child):has(>input) output,div:has(>label:first-child):has(>input) .prefix,div:has(>label:first-child):has(>input) .suffix{margin-bottom:0 !important}div:has(>label:first-child):has(>input){display:flex;flex-wrap:wrap;align-items:center}div:has(>label:first-child):has(>input)>*:not(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):not(output):not(.prefix):not(.suffix){flex-shrink:0;width:100%}div:has(>label:first-child):has(>input) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){flex-shrink:1;flex-grow:1;width:0}div:has(>label:first-child):has(>input) input~*:not(output){order:5;margin-top:.5rem}*:has(>:is(.form-control-sm,.input--sm)){--input-fs: 0.875rem;--input-lh: 1rem;--input-padding-block: 0.625rem;--input-padding-inline: 0.875rem}*:has(>:is(.form-control-lg,.input--lg)){--input-fs: 1.5rem;--input-lh: 1.8125rem;--input-padding-block: 1.25rem;--input-padding-inline: 1.375rem}*:has(>label:first-child):has(>input):has(>:is(.form-control-inline,.input--inline)) label{flex-shrink:0;white-space:nowrap;width:fit-content !important;margin:0;margin-inline-end:1rem}*:has(>input[readonly]){position:relative;max-width:var(--input-max-width)}*:has(>input[readonly]):after{font-family:"Font Awesome 6 Pro";font-weight:300;content:"\uF023";position:absolute;font-size:var(--input-lh, 1.25rem);height:var(--input-lh, 1.25rem);width:var(--input-lh, 1.25rem);bottom:calc(var(--input-padding-block, 0.75rem) + 2px);right:calc(var(--input-padding-block, 1rem) + 2px);text-align:center}@supports selector(:has(*)){.suffix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output),:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output):has(~.suffix){order:1;border-start-end-radius:0 !important;border-end-end-radius:0 !important}:is(input):has(~iam-password-indicator){border-start-end-radius:0 !important;border-end-end-radius:0 !important}}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)+label,.was-validated label:has(*:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)){--colour-check-border: var(--colour-danger);--colour-check-bg: #fcebec;border-color:var(--colour-danger)}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){border-color:var(--colour-danger) !important}.was-validated select:not(.btn):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,var(--icon-error) right var(--input-padding-block, 3.5rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat;padding-right:6rem !important}.was-validated input:is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background-image:var(--icon-error);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.was-validated *:not(button):is(:valid,.is-valid):not(.is-invalid){border-color:var(--colour-complete)}.was-validated input:is(:valid,.is-valid):not(:is(:invalid,.is-invalid)){background-image:var(--icon-tick);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.invalid-feedback{color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:none}iam-address-lookup:has([required]){--req-display: none}.was-validated :is(:invalid,.is-invalid)~.invalid-feedback{display:block}.was-validated iam-address-lookup:has([required]:invalid){--error-border: var(--colour-danger);--error-bg: var(--icon-error);--error-display: block;--error-hide: none}@supports selector(:has(*)){input:is([type=radio],[type=checkbox]){position:absolute;top:0;left:0;opacity:0;height:0;width:0;margin:0;pointer-events:none}:is(div,fieldset,label:not(.tag)):has(>input:is([type=radio],[type=checkbox])):not(:has(label input)){position:relative;margin-bottom:1.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=radio]){--border-radius: 50%;--outline-width: 0.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=checkbox]){--border-radius: 0.25rem;--outline-width: 0.25rem}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)){--tick-colour: transparent;color:var(--colour-heading);position:relative;font-size:1rem;line-height:1.25rem;padding-left:2.5rem;padding-top:0.625rem;padding-bottom:0.625rem;margin-bottom:1.5rem;margin-right:1.5rem;cursor:pointer}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+span),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+span){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+input),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+input){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):last-child,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):last-child{margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):before{content:"";border:2px solid var(--colour-check-border, var(--colour-primary));background:var(--colour-check-bg, transparent);border-radius:var(--border-radius);height:var(--radio-size, 1.5rem);width:var(--radio-size, 1.5rem);display:inline-block;position:absolute;top:0.5rem;left:var(--outline-width)}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)).btn:before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)).btn:before{opacity:0}input[type=radio]+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)):after{content:"" !important;background:var(--colour-info);border-radius:var(--border-radius);height:.875rem;width:.875rem;height:var(--radio-inner-size, 0.875rem);width:var(--radio-inner-size, 0.875rem);display:none;position:absolute;top:var(--radio-inner-top, 0.8125rem);left:var(--radio-inner-left, calc(0.3125rem + var(--outline-width)))}input[type=radio]+label:not(:has(>iam-card)).radio--tick:before,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:before{content:"\uF00C";position:absolute;font-size:1.5em;line-height:1;color:var(--tick-colour);font-family:"Font Awesome 6 Pro";background:none !important;border:none !important;outline:none !important;left:.25rem}input[type=radio]+label:not(:has(>iam-card)).radio--tick:after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:after{display:none}@media(forced-colors: active){input:is([type=radio],[type=checkbox]):not(:checked)+label.radio--tick:not(:has(>iam-card)):before,label:has(input:is([type=radio],[type=checkbox]):not(:checked)).radio--tick:not(:has(>iam-card)):before{display:none}}:is(div,fieldset):has(>:is(input[type=radio],input[type=checkbox]):nth-of-type(2)) label:not(.tag):not(:has(>iam-card)){margin-bottom:0rem}fieldset:has(label>input:is([type=radio],[type=checkbox])) label{margin-bottom:0 !important}fieldset:has(label>input:is([type=radio],[type=checkbox])){margin-bottom:1.5rem}input:is([type=radio],[type=checkbox]):checked+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):before{border-color:var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:after,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):after{display:inline-block}input:is([type=radio],[type=checkbox]):checked+label iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked) iam-card{--colour: var(--colour, var(--colour-info))}input[type=checkbox]:not([disabled]):checked+label:before,label:not(.tag):has(input[type=checkbox]:not([disabled]):checked):before{background:var(--colour-info) !important}input[type=checkbox]:checked+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=checkbox]:checked):after{content:"\uF00C";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 6 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input[type=checkbox]:indeterminate+label:before,label:not(.tag):has(input[type=checkbox]:indeterminate):before{background:var(--colour-info) !important;border-color:var(--colour-info) !important}input[type=checkbox]:indeterminate+label:after,label:not(.tag):has(input[type=checkbox]:indeterminate):after{content:"\uF068";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 6 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label,input:is([type=radio],[type=checkbox])+label.hover,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)){--tick-colour: var(--colour-muted)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label:before,input:is([type=radio],[type=checkbox])+label.hover:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)):before{background:var(--colour-check-bg, light-dark(var(--colour-light), #444444));outline:var(--outline-width) solid light-dark(var(--colour-light), #444444)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label,input:is([type=radio],[type=checkbox])+label.active,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)){--tick-colour: var(--colour-light)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label:before,input:is([type=radio],[type=checkbox])+label.active:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)):before{background:var(--colour-check-bg, #e0e0e0);outline:var(--outline-width) solid #e0e0e0}input:is([type=radio],[type=checkbox]):disabled+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled){opacity:.4;cursor:not-allowed}input:is([type=radio],[type=checkbox]):disabled+label>iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled)>iam-card{pointer-events:none}input:is([type=radio],[type=checkbox]):disabled+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled):before{background-color:none !important;outline:none !important;border-color:var(--colour-primary) !important}input[type=radio][disabled]:checked+label:after,label:not(.tag):has(input[type=radio][disabled]:checked):after{background-color:var(--colour-primary) !important}input[type=checkbox][disabled]:checked+label:before,label:not(.tag):has(input[type=checkbox][disabled]:checked):before{background:#e0e0e0 !important;border-color:#e0e0e0 !important}}.conditional{display:none}input:checked+.conditional,input:checked+label+.conditional,label:has(:checked)+.conditional,.was-validated .conditional:has(input[required]:invalid),.was-validated .conditional:focus-within{display:block;clear:both}input:not([class*=conditional-input-]):nth-of-type(1):checked~.conditional-1,input:not([class*=conditional-input-]):nth-of-type(2):checked~.conditional-2,input:not([class*=conditional-input-]):nth-of-type(3):checked~.conditional-3,input:not([class*=conditional-input-]):nth-of-type(4):checked~.conditional-4,input:not([class*=conditional-input-]):nth-of-type(5):checked~.conditional-5,input.conditional-input-1:checked~.conditional-1,input.conditional-input-2:checked~.conditional-2,input.conditional-input-3:checked~.conditional-3,input.conditional-input-4:checked~.conditional-4,input.conditional-input-5:checked~.conditional-5,label:has(input.conditional-input-1:checked)~.conditional-1,label:has(input.conditional-input-2:checked)~.conditional-2,label:has(input.conditional-input-3:checked)~.conditional-3,label:has(input.conditional-input-4:checked)~.conditional-4,label:has(input.conditional-input-5:checked)~.conditional-5{display:block;clear:both}select[multiple]{border-radius:.35rem}select[multiple]::-webkit-scrollbar{width:.7rem}select[multiple]::-webkit-scrollbar *{background-color:rgba(0,0,0,0)}select[multiple]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:.35rem}select:not(.select--minimal,.btn){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,linear-gradient(to right, var(--colour-canvas-2), var(--colour-canvas-2));padding-right:calc(var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem) + var(--input-lh, 1.25rem)) !important}select:not(.select--minimal,.btn) option{font-size:1.2em}select:not(.select--minimal,.btn){box-shadow:inset -2px 0px 0px var(--colour-primary-theme);max-width:var(--select-max-width)}select:not(.select--minimal,.btn)[multiple],select:not(.select--minimal,.btn)[size]:not([size="1"]){background:none;max-height:none !important}select:not(.select--minimal,.btn):disabled{background-color:gray;border-color:#000}select:not(.select--minimal,.btn):-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 inherit}div:has(>select){margin-bottom:1.5rem}div:has(>select) select{margin-bottom:0 !important}.select--minimal{all:unset;font-size:inherit;line-height:inherit;background:none;border:2px solid rgba(0,0,0,0);display:inline-block;padding:.4em calc(1em + .8ch) .4rem var(--select-padding-left, 0.4em) !important;font-weight:normal !important;margin:-0.4em 0 !important;border-radius:.25em;color:var(--colour-body);height:auto;cursor:pointer;font-family:var(--font-body) !important}.select--minimal option{background-color:var(--colour-canvas);padding-left:1em;font-size:inherit;line-height:inherit}.select--minimal:hover{background:var(--colour-light)}.select--minimal:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0;box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}*:has(>.select--minimal){position:relative;display:inline-block !important;width:auto !important;font-size:inherit !important;line-height:1 !important;padding:0 !important;margin:0 !important;font-family:var(--font-body) !important}*:has(>.select--minimal):after{font-size:.8em;line-height:1em;content:"\uF078";font-family:"Font Awesome 6 Pro";position:absolute;top:40%;transform:translate(0, -50%);right:.8ch;pointer-events:none;color:var(--colour-body)}iam-fileupload input{display:none}:is(label:not(.tag),.label):has(:is(input,select,textarea)){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width)}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input:not([type=range]),select){margin-top:.5rem;margin-bottom:0 !important}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input,select)~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(>:is(input,select))~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) .hint-text{all:initial;font-family:var(--font-body);color:var(--colour-body);margin-top:.5rem;display:block;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) .invalid-feedback{font-size:1rem;font-weight:normal;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(:is(input,select)){display:flex;width:100%}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(.suffix,.prefix):not(.mt-0){margin:.5rem 0 0 0 !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid){margin-bottom:1.5rem}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid):has(:is(:invalid,.is-invalid)):after{content:"This field is required";color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:block;width:100%;font-size:1rem;line-height:1.2}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select))[data-error]:has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid)[data-error]:has(:is(:invalid,.is-invalid)):after{content:attr(data-error) !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)).error-nowrap:after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid).error-nowrap:after{white-space:nowrap}input[type=range]{--track-size: 0.5rem;--track-colour: var(--colour-light);--thumb-colour: var(--colour-info);--thumb-size: 1.5rem;width:100%;background:rgba(0,0,0,0);cursor:pointer;margin-top:2rem;margin-bottom:2rem;height:2rem;border-radius:50%;accent-color:var(--thumb-colour);-webkit-appearance:none;appearance:none}*:has(>input[type=range]){position:relative;padding-bottom:6rem;max-width:var(--input-max-width)}label input[type=range]{position:absolute;top:1.5rem;left:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-moz-range-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-0.5rem;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]::-moz-range-thumb{border:none;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]:focus{outline:none}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:active::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.4)}input[type=range]:hover::-moz-range-thumb,input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.4)}iam-slider input::-webkit-outer-spin-button,iam-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:is(input[type=date],input[type=datetime-local],input[type=year],input[type=month],input[type=week],input[type=time]){position:relative;margin-right:-3rem;padding-right:3rem !important;background-position:right 4rem center;border-radius:.5rem !important}::-webkit-calendar-picker-indicator{background:rgba(0,0,0,0);bottom:0;color:rgba(0,0,0,0);cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;order:3;z-index:98}::-webkit-datetime-edit{position:relative;z-index:99;max-width:fit-content}}:is(iam-advanced-select,iam-search,.postcode-lookup){position:relative;display:block}:is(iam-advanced-select,iam-search,.postcode-lookup) label{position:relative}:is(iam-advanced-select,iam-search,.postcode-lookup) input{padding-right:3rem}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty{position:absolute;bottom:.5rem;right:3.5rem;margin:0;aspect-ratio:1/1;width:2rem;height:2rem;text-align:center;line-height:1}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty:not(:hover,:focus){border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty i{font-size:1.5rem}:is(iam-advanced-select,iam-search,.postcode-lookup):has([name=postcode][disabled]) .empty{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup):has(input:is([name$=Alt]):not([data-value],[data-placeholder])) .empty{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup) label:after,:is(iam-advanced-select,iam-search,.postcode-lookup) .hint-text{position:absolute;top:100%}:is(iam-advanced-select,iam-search,.postcode-lookup) label[for=use]:after{top:var(--checkbox-inner-top, 0.5rem)}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)){margin-bottom:2.5rem}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)) input,:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)) input{background:none !important}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:invalid,.is-invalid) .hint-text,:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:invalid,.is-invalid) .hint-text{display:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist:empty{display:none !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{z-index:100;top:100%;position:absolute;background-color:var(--colour-canvas);border-top:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist:not(:empty):has(option:not(.hide)){padding:.5rem}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{max-height:25rem;overflow-y:auto;width:100%;max-width:var(--input-max-width, 50rem);border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);display:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option{background-color:var(--colour-canvas);padding:.5rem;cursor:pointer;background:unset !important;border:unset !important;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.5rem !important;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding-block:var(--menu-item-padding, 0.25rem) !important;width:100% !important;max-width:100% !important;text-align:var(--menu-item-text-align, left) !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;text-overflow:ellipsis;overflow:clip}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option:is(:hover,:focus){background:var(--colour-light) !important;color:#595959 !important;border-radius:.25rem !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option:active{background:#e0e0e0 !important;border-radius:.25rem !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option.active{border-left:4px solid var(--colour-info) !important;border-radius:.25rem !important;background:hsl(from var(--colour-info) h s l/10%) !important}.dark-theme :is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{color-scheme:dark}@media(prefers-color-scheme: dark){html:not(.light-theme) :is(.bg-primary,.bg-danger,.bg-dark):not(iam-header){--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);color:var(--colour-primary-theme)}html:not(.light-theme) :is(.bg-primary,.bg-danger,.bg-dark):not(iam-header)>*{color-scheme:light}html:not(.light-theme) .bg-light{color-scheme:light}}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active),:active) datalist{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active),:active) datalist:empty{display:block !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper{top:100%;position:absolute;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);width:100% !important;z-index:100;display:none;max-height:25rem;overflow-y:auto;max-width:var(--input-max-width) !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper>datalist{border:none !important;box-shadow:none !important;position:relative;display:block !important;border-radius:0 !important;max-height:100% !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:focus{outline:none !important}iam-address-lookup [slot=preloadedList]{border:none !important;box-shadow:none !important;position:relative;display:block !important;border-radius:0 !important;max-height:100% !important}iam-address-lookup [slot=preloadedList].noresults{display:block !important}iam-address-lookup [slot=preloadedList].noresults:before{content:"No addresses found";background-color:#fff;padding:1rem .5rem;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;padding-block:var(--menu-item-padding, 1rem) !important;display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist:not(:empty)),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist.loading),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist.noresults),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:hover{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:has(datalist.noresults) datalist{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:has(datalist.noresults) datalist:before{content:"No addresses found";background-color:#fff;padding:.5rem;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;padding-block:var(--menu-item-padding, 0.5rem) !important;display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(option:active)) .datalist__wrapper:has(datalist.loading) datalist{height:5rem}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(option:active)) .datalist__wrapper:has(datalist.loading) datalist:before{content:"\uF021";font-family:"Font Awesome 6 Pro";font-size:1.75rem;font-weight:300;display:block;position:absolute;top:calc(50% - 1rem);left:calc(50% - 1rem);animation-name:spin;animation-duration:4000ms;animation-iteration-count:infinite;animation-timing-function:linear}@-ms-keyframes spin{from{-ms-transform:rotate(0deg)}to{-ms-transform:rotate(360deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}:is(iam-advanced-select,iam-search,.postcode-lookup) [name=beforeList]{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup) [name=beforeList]:has(+.show-welsh-banner){display:block}:is(iam-advanced-select,iam-search,.postcode-lookup) .datalist__wrapper.show-welsh-banner [name=beforeList]{display:block}@layer elements{.admin-panel{--padding-x: 1.5rem;--padding-top: 1rem;--padding-bottom: 1rem;--mh-modifier: 4.5rem;--mh-padding-inline: var(--padding-x);display:block;padding:var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);box-shadow:0px 6px 12px rgba(0,0,0,.11);background-color:var(--colour-canvas-2);border-radius:.5rem;margin-bottom:1.5rem;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);overflow:hidden}.admin-panel:has(:is([class*=cols-],[class*=col-start-],[class*=col-end-],[class*=col-span-])){display:grid}.admin-panel:has(:is([class*=cols-],[class*=col-start-],[class*=col-end-],[class*=col-span-]))>*{grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}@container style(--theme: dark){.admin-panel{background-color:var(--colour-canvas-2);color:var(--colour-body)}.admin-panel .bg-white{background-color:rgba(0,0,0,0) !important;color:var(--white) !important}}.admin-panel:empty{display:none}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child{--gradient-direction: -90deg !important;background-color:var(--colour-success)}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child:not([class*=bg-]){color:var(--colour-primary-theme);background-image:linear-gradient(var(--gradient-direction), var(--colour-info) 0, transparent 100%)}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child{margin:calc(var(--padding-top)*-1) calc(var(--padding-x)*-1) var(--padding-top) calc(var(--padding-x)*-1);display:block;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child,.admin-panel .admin-panel__heading>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead){font-size:1.125rem;line-height:1.5rem;font-weight:bold;padding:1rem 1.5rem;max-width:unset}.admin-panel>:is(.admin-panel__heading):first-child{display:flex !important;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.5rem}.admin-panel>:is(.admin-panel__heading):first-child>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){padding:0;margin-inline-end:auto}.admin-panel>:is(.admin-panel__heading):first-child .btn{--btn-margin: 0;margin-bottom:0}.admin-panel>:is(.admin-panel__heading):first-child .dialog__wrapper+.btn{--btn-margin: 0.25rem;margin-inline-end:0}@media(prefers-color-scheme: light){.admin-panel>:is(.admin-panel__heading):first-child .btn-action,.admin-panel>:is(.admin-panel__heading):first-child .dialog__wrapper{--colour-canvas-2: #ffffff;--colour-heading: var(--colour-primary);--colour-btn-action-hover-bg: var(--colour-light);--colour-btn-hover: var(--colour-primary);--colour-border: #d8d8d8}}.admin-panel :is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax,.iam-table){margin:0 0 2rem 0;padding:0;box-shadow:none;background:none}.admin-panel>*:not([class*=mb-]):last-child{margin-bottom:0 !important}.admin-panel>*:is(p):last-child{padding-bottom:0 !important}.admin-panel p{max-width:100%;padding-bottom:1.5rem}.admin-panel>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){overflow:auto}.admin-panel>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):before{top:100% !important}.admin-panel>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child+:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){padding-top:var(--padding-top);margin-top:calc(var(--padding-top)*-1)}.admin-panel>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child{padding-bottom:var(--padding-bottom);margin-bottom:calc(var(--padding-bottom)*-1) !important}.admin-panel>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child>*:not([class*=mb-]):last-child{margin-bottom:0 !important}.admin-panel>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child>*:is(p):last-child{padding-bottom:0 !important}.admin-panel>iam-pagination{margin-top:-1rem}.admin-panel:has(.mh-fluid){max-height:100%;display:flex;flex-direction:column}.admin-panel.grid{display:grid !important;grid-template-columns:subgrid !important}.admin-panel.grid>*:not(:first-child){grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}[class*=col].admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid)){min-height:calc(100% - 1.5rem)}.admin-panel:has(iam-actionbar)>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child{margin-bottom:0}.admin-panel:has(iam-actionbar) iam-actionbar{background:var(--colour-canvas);margin-inline:calc(var(--padding-x)*-1);margin-bottom:var(--padding-top)}.admin-panel:has(iam-actionbar) iam-actionbar:first-child{margin-top:calc(var(--padding-top)*-1)}.admin-panel:has(iam-actionbar) iam-actionbar:not(:first-child){border-radius:0}.admin-panel:has(iam-actionbar)>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax){overflow:visible}.admin-panel:has(iam-actionbar)>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax):first-child{margin-top:calc(var(--padding-top)*-1)}.admin-panel:has(iam-actionbar)>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax) iam-actionbar{margin-top:0 !important;border-radius:0;box-shadow:none}details.admin-panel summary:after{content:"\uF077";font-weight:bold;margin-left:0;height:2rem;width:2rem;text-align:center;line-height:2rem;margin-right:-0.5rem}details.admin-panel summary:not(:has(.btn:hover)):hover:after{background:var(--colour-light);border-radius:50%}details.admin-panel summary:not(:has(.btn:hover)):active:after{background:var(--colour-light);filter:brightness(85%);border-radius:50%}details.admin-panel:not([open]){padding-bottom:0}details.admin-panel:not([open]) summary:first-child{margin-bottom:0}details.admin-panel:not([open]) summary:after{content:"\uF078"}.admin-panel__footer:last-child{background-color:var(--wider-colour);padding-top:var(--padding-top);margin-inline:calc(var(--padding-x)*-1);padding-inline:var(--padding-x);padding-bottom:0}.admin-panel__footer:last-child>*:last-child{margin-bottom:0;padding-bottom:var(--padding-bottom);align-self:center}.admin-panel__footer:not([class*=mb-]):last-child{margin-bottom:calc(var(--padding-bottom)*-1) !important}}@layer elements{.dropdown{position:absolute;top:calc(100% + .5rem);padding:0;left:0;width:100%;margin:0;z-index:99;display:none;max-height:15.25rem !important;overflow:auto}.dropdown:before{display:none}:is(iam-tag,iam-multiselect):has(label:not([slot=checked])){--display-panel: block}:is(iam-tag,iam-multiselect):has(label[slot=checked]){--display-button: block}:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked],:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked] *{pointer-events:none !important}@container style(--theme: dark){:host :is(.tag,.badge):not([slot=checked]){color:var(--colour-heading)}}.dropdown__option[slot=checked]{order:var(--order, 1)}.dropdown__option:not([slot=checked]){display:block;width:100%;max-width:100%;margin:0;text-align:left;border-radius:0;padding-inline:1rem;outline:none;padding-block:.5rem;padding-bottom:.25em;text-overflow:ellipsis;overflow:hidden}.dropdown__option:not([slot=checked]):not(:hover,:focus,:active,:focus-within){background:none !important}.dropdown__option:not([slot=checked])::after{display:none}.dropdown__option:not([slot=checked])[data-email]::after{content:attr(data-email);display:block;line-height:1;padding-bottom:.25em;text-overflow:ellipsis;overflow:hidden}}@layer utilities{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}}@layer utilities{.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}@media screen and (min-width: 36em){.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}}@media screen and (min-width: 62em){.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}}}*,*::before,*::after{box-sizing:border-box}@layer components{.wrapper{position:relative;display:inline-block;margin-bottom:1rem}.wrapper input{position:absolute;min-height:unset;top:50%;left:0;transform:translate(0, -50%);z-index:-99;opacity:0}::slotted(*){margin-bottom:0 !important}input:focus{opacity:1;z-index:99}.wrapper:is(:focus-within) .dropdown{display:var(--display-panel, none)}@media(hover: hover){.wrapper .dropdown:hover{display:var(--display-panel, none)}}@media(hover: none){:host(.hover) .wrapper .dropdown{display:block}}}/*# sourceMappingURL=assets/css/components/tag.component.css.map */
7
+ @layer elements{:is(label:not(.tag),.label){font-size:1.125rem;line-height:1.3125rem;margin-bottom:.5rem;font-weight:normal;color:var(--colour-heading);display:block}:is(label:not(.tag),.label)>iam-rating{margin-top:.25rem !important}:is(label:not(.tag),.label).label--sm{--input-max-width: 15rem}}@layer elements{input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}::-moz-focus-inner{padding:0;border-style:none}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:normal;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-moz-color-swatch{border-radius:0;border:none}::-webkit-color-swatch{border-radius:0;border:none}::file-selector-button{font:inherit;-webkit-appearance:button}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output)::-webkit-date-and-time-value{height:1.5em}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}input[type=color]{padding:0 !important;max-width:3rem !important}[disabled] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output,select:not(.select--minimal,.btn)){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}[disabled] label{cursor:not-allowed;pointer-events:none}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])){max-width:var(--input-max-width)}}@layer elements{textarea{--textarea-height-scale: 3;margin:0;font-family:inherit;resize:vertical;display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;max-height:100%}textarea:not([rows]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}textarea[rows="1"]{--textarea-height-scale: 1}textarea[rows="2"]{--textarea-height-scale: 2}textarea:is([rows="2"],[rows="2"]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}textarea:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}textarea:is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}textarea:disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}[disabled] textarea{background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}label:not(.tag):has(textarea){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width)}label:not(.tag):has(textarea) textarea{margin-top:.5rem;margin-bottom:0 !important}}@layer elements{select,optgroup{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select{text-transform:none}select{word-wrap:normal}select:disabled{opacity:1}fieldset{min-width:0;padding:0;margin:0;border:0}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}:is(select:not(.select--minimal,.btn)){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(select:not(.select--minimal,.btn)):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}[disabled] :is(select:not(.select--minimal,.btn)){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}[disabled] label{cursor:not-allowed;pointer-events:none}fieldset{width:100%;position:relative}legend{font-family:var(--font-heading);font-style:normal;font-weight:var(--heading-weight);line-height:2rem;color:var(--colour-heading);margin:0;clear:both;display:block;float:none;font-size:var(--h4-fs);line-height:var(--heading-lh);padding-bottom:.5rem;max-width:var(--content-max-width);min-width:100%}div:has(>label:first-child):has(>input){position:relative;max-width:var(--input-max-width);margin-bottom:1.5rem}div:has(>label:first-child):has(>input) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),div:has(>label:first-child):has(>input) output,div:has(>label:first-child):has(>input) .prefix,div:has(>label:first-child):has(>input) .suffix{margin-bottom:0 !important}div:has(>label:first-child):has(>input){display:flex;flex-wrap:wrap;align-items:center}div:has(>label:first-child):has(>input)>*:not(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):not(output):not(.prefix):not(.suffix){flex-shrink:0;width:100%}div:has(>label:first-child):has(>input) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){flex-shrink:1;flex-grow:1;width:0}div:has(>label:first-child):has(>input) input~*:not(output){order:5;margin-top:.5rem}*:has(>:is(.form-control-sm,.input--sm)){--input-fs: 0.875rem;--input-lh: 1rem;--input-padding-block: 0.625rem;--input-padding-inline: 0.875rem}*:has(>:is(.form-control-lg,.input--lg)){--input-fs: 1.5rem;--input-lh: 1.8125rem;--input-padding-block: 1.25rem;--input-padding-inline: 1.375rem}*:has(>label:first-child):has(>input):has(>:is(.form-control-inline,.input--inline)) label{flex-shrink:0;white-space:nowrap;width:fit-content !important;margin:0;margin-inline-end:1rem}*:has(>input[readonly]){position:relative;max-width:var(--input-max-width)}*:has(>input[readonly]):after{font-family:"Font Awesome 7 Pro";font-weight:300;content:"\uF023";position:absolute;font-size:var(--input-lh, 1.25rem);height:var(--input-lh, 1.25rem);width:var(--input-lh, 1.25rem);bottom:calc(var(--input-padding-block, 0.75rem) + 2px);right:calc(var(--input-padding-block, 1rem) + 2px);text-align:center}@supports selector(:has(*)){.suffix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output),:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output):has(~.suffix){order:1;border-start-end-radius:0 !important;border-end-end-radius:0 !important}:is(input):has(~iam-password-indicator){border-start-end-radius:0 !important;border-end-end-radius:0 !important}}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)+label,.was-validated label:has(*:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)){--colour-check-border: var(--colour-danger);--colour-check-bg: #fcebec;border-color:var(--colour-danger)}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){border-color:var(--colour-danger) !important}.was-validated select:not(.btn):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,var(--icon-error) right var(--input-padding-block, 3.5rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat;padding-right:6rem !important}.was-validated input:is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background-image:var(--icon-error);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.was-validated *:not(button):is(:valid,.is-valid):not(.is-invalid){border-color:var(--colour-complete)}.was-validated input:is(:valid,.is-valid):not(:is(:invalid,.is-invalid)){background-image:var(--icon-tick);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.invalid-feedback{color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:none}iam-address-lookup:has([required]){--req-display: none}.was-validated :is(:invalid,.is-invalid)~.invalid-feedback{display:block}.was-validated iam-address-lookup:has([required]:invalid){--error-border: var(--colour-danger);--error-bg: var(--icon-error);--error-display: block;--error-hide: none}@supports selector(:has(*)){input:is([type=radio],[type=checkbox]){position:absolute;top:0;left:0;opacity:0;height:0;width:0;margin:0;pointer-events:none}:is(div,fieldset,label:not(.tag)):has(>input:is([type=radio],[type=checkbox])):not(:has(label input)){position:relative;margin-bottom:1.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=radio]){--border-radius: 50%;--outline-width: 0.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=checkbox]){--border-radius: 0.25rem;--outline-width: 0.25rem}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)){--tick-colour: transparent;color:var(--colour-heading);position:relative;font-size:1rem;line-height:1.25rem;padding-left:2.5rem;padding-top:.625rem;padding-bottom:.625rem;margin-bottom:1.5rem;margin-right:1.5rem;cursor:pointer}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+span),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+span){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+input),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+input){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):last-child,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):last-child{margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):before{content:"";border:2px solid var(--colour-check-border, var(--colour-primary));background:var(--colour-check-bg, transparent);border-radius:var(--border-radius);height:var(--radio-size, 1.5rem);width:var(--radio-size, 1.5rem);display:inline-block;position:absolute;top:.5rem;left:var(--outline-width)}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)).btn:before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)).btn:before{opacity:0}input[type=radio]+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)):after{content:"" !important;background:var(--colour-info);border-radius:var(--border-radius);height:.875rem;width:.875rem;height:var(--radio-inner-size, 0.875rem);width:var(--radio-inner-size, 0.875rem);display:none;position:absolute;top:var(--radio-inner-top, 0.8125rem);left:var(--radio-inner-left, calc(0.3125rem + var(--outline-width)))}input[type=radio]+label:not(:has(>iam-card)).radio--tick:before,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:before{content:"\uF00C";position:absolute;font-size:1.5em;line-height:1;color:var(--tick-colour);font-family:"Font Awesome 7 Pro";background:none !important;border:none !important;outline:none !important;left:.25rem}input[type=radio]+label:not(:has(>iam-card)).radio--tick:after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:after{display:none}@media(forced-colors: active){input:is([type=radio],[type=checkbox]):not(:checked)+label.radio--tick:not(:has(>iam-card)):before,label:has(input:is([type=radio],[type=checkbox]):not(:checked)).radio--tick:not(:has(>iam-card)):before{display:none}}:is(div,fieldset):has(>:is(input[type=radio],input[type=checkbox]):nth-of-type(2)) label:not(.tag):not(:has(>iam-card)){margin-bottom:0rem}fieldset:has(label>input:is([type=radio],[type=checkbox])) label{margin-bottom:0 !important}fieldset:has(label>input:is([type=radio],[type=checkbox])){margin-bottom:1.5rem}input:is([type=radio],[type=checkbox]):checked+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):before{border-color:var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:after,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):after{display:inline-block}input:is([type=radio],[type=checkbox]):checked+label iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked) iam-card{--colour: var(--colour, var(--colour-info))}input[type=checkbox]:not([disabled]):checked+label:before,label:not(.tag):has(input[type=checkbox]:not([disabled]):checked):before{background:var(--colour-info) !important}input[type=checkbox]:checked+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=checkbox]:checked):after{content:"\uF00C";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 7 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input[type=checkbox]:indeterminate+label:before,label:not(.tag):has(input[type=checkbox]:indeterminate):before{background:var(--colour-info) !important;border-color:var(--colour-info) !important}input[type=checkbox]:indeterminate+label:after,label:not(.tag):has(input[type=checkbox]:indeterminate):after{content:"\uF068";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 7 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label,input:is([type=radio],[type=checkbox])+label.hover,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)){--tick-colour: var(--colour-muted)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label:before,input:is([type=radio],[type=checkbox])+label.hover:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)):before{background:var(--colour-check-bg, light-dark(var(--colour-light), #444444));outline:var(--outline-width) solid light-dark(var(--colour-light), #444444)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label,input:is([type=radio],[type=checkbox])+label.active,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)){--tick-colour: var(--colour-light)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label:before,input:is([type=radio],[type=checkbox])+label.active:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)):before{background:var(--colour-check-bg, #e0e0e0);outline:var(--outline-width) solid #e0e0e0}input:is([type=radio],[type=checkbox]):disabled+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled){opacity:.4;cursor:not-allowed}input:is([type=radio],[type=checkbox]):disabled+label>iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled)>iam-card{pointer-events:none}input:is([type=radio],[type=checkbox]):disabled+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled):before{background-color:none !important;outline:none !important;border-color:var(--colour-primary) !important}input[type=radio][disabled]:checked+label:after,label:not(.tag):has(input[type=radio][disabled]:checked):after{background-color:var(--colour-primary) !important}input[type=checkbox][disabled]:checked+label:before,label:not(.tag):has(input[type=checkbox][disabled]:checked):before{background:#e0e0e0 !important;border-color:#e0e0e0 !important}}.conditional{display:none}input:checked+.conditional,input:checked+label+.conditional,label:has(:checked)+.conditional,.was-validated .conditional:has(input[required]:invalid),.was-validated .conditional:focus-within{display:block;clear:both}input:not([class*=conditional-input-]):nth-of-type(1):checked~.conditional-1,input:not([class*=conditional-input-]):nth-of-type(2):checked~.conditional-2,input:not([class*=conditional-input-]):nth-of-type(3):checked~.conditional-3,input:not([class*=conditional-input-]):nth-of-type(4):checked~.conditional-4,input:not([class*=conditional-input-]):nth-of-type(5):checked~.conditional-5,input.conditional-input-1:checked~.conditional-1,input.conditional-input-2:checked~.conditional-2,input.conditional-input-3:checked~.conditional-3,input.conditional-input-4:checked~.conditional-4,input.conditional-input-5:checked~.conditional-5,label:has(input.conditional-input-1:checked)~.conditional-1,label:has(input.conditional-input-2:checked)~.conditional-2,label:has(input.conditional-input-3:checked)~.conditional-3,label:has(input.conditional-input-4:checked)~.conditional-4,label:has(input.conditional-input-5:checked)~.conditional-5{display:block;clear:both}select[multiple]{border-radius:.35rem}select[multiple]::-webkit-scrollbar{width:.7rem}select[multiple]::-webkit-scrollbar *{background-color:rgba(0,0,0,0)}select[multiple]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:.35rem}select:not(.select--minimal,.btn){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,linear-gradient(to right, var(--colour-canvas-2), var(--colour-canvas-2));padding-right:calc(var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem) + var(--input-lh, 1.25rem)) !important}select:not(.select--minimal,.btn) option{font-size:1.2em}select:not(.select--minimal,.btn){box-shadow:inset -2px 0px 0px var(--colour-primary-theme);max-width:var(--select-max-width)}select:not(.select--minimal,.btn)[multiple],select:not(.select--minimal,.btn)[size]:not([size="1"]){background:none;max-height:none !important}select:not(.select--minimal,.btn):disabled{background-color:gray;border-color:#000}select:not(.select--minimal,.btn):-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 inherit}div:has(>select){margin-bottom:1.5rem}div:has(>select) select{margin-bottom:0 !important}.select--minimal{all:unset;font-size:inherit;line-height:inherit;background:none;border:2px solid rgba(0,0,0,0);display:inline-block;padding:.4em calc(1em + .8ch) .4rem var(--select-padding-left, 0.4em) !important;font-weight:normal !important;margin:-0.4em 0 !important;border-radius:.25em;color:var(--colour-body);height:auto;cursor:pointer;font-family:var(--font-body) !important}.select--minimal option{background-color:var(--colour-canvas);padding-left:1em;font-size:inherit;line-height:inherit}.select--minimal:hover{background:var(--colour-light)}.select--minimal:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0;box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}*:has(>.select--minimal){position:relative;display:inline-block !important;width:auto !important;font-size:inherit !important;line-height:1 !important;padding:0 !important;margin:0 !important;font-family:var(--font-body) !important}*:has(>.select--minimal):after{font-size:.8em;line-height:1em;content:"\uF078";font-family:"Font Awesome 7 Pro";position:absolute;top:40%;transform:translate(0, -50%);right:.8ch;pointer-events:none;color:var(--colour-body)}iam-fileupload input{display:none}:is(label:not(.tag),.label):has(:is(input,select,textarea)){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width)}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input:not([type=range]),select){margin-top:.5rem;margin-bottom:0 !important}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input,select)~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(>:is(input,select))~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) .hint-text{all:initial;font-family:var(--font-body);color:var(--colour-body);margin-top:.5rem;display:block;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) .invalid-feedback{font-size:1rem;font-weight:normal;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(:is(input,select)){display:flex;width:100%}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(.suffix,.prefix):not(.mt-0){margin:.5rem 0 0 0 !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid){margin-bottom:1.5rem}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid):has(:is(:invalid,.is-invalid)):after{content:"This field is required";color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:block;width:100%;font-size:1rem;line-height:1.2}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select))[data-error]:has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid)[data-error]:has(:is(:invalid,.is-invalid)):after{content:attr(data-error) !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)).error-nowrap:after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid).error-nowrap:after{white-space:nowrap}input[type=range]{--track-size: 0.5rem;--track-colour: var(--colour-light);--thumb-colour: var(--colour-info);--thumb-size: 1.5rem;width:100%;background:rgba(0,0,0,0);cursor:pointer;margin-top:2rem;margin-bottom:2rem;height:2rem;border-radius:50%;accent-color:var(--thumb-colour);-webkit-appearance:none;appearance:none}*:has(>input[type=range]){position:relative;padding-bottom:6rem;max-width:var(--input-max-width)}label input[type=range]{position:absolute;top:1.5rem;left:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-moz-range-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-0.5rem;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]::-moz-range-thumb{border:none;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]:focus{outline:none}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:active::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.4)}input[type=range]:hover::-moz-range-thumb,input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.4)}iam-slider input::-webkit-outer-spin-button,iam-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:is(input[type=date],input[type=datetime-local],input[type=year],input[type=month],input[type=week],input[type=time]){position:relative;margin-right:-3rem;padding-right:3rem !important;background-position:right 4rem center;border-radius:.5rem !important}::-webkit-calendar-picker-indicator{background:rgba(0,0,0,0);bottom:0;color:rgba(0,0,0,0);cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;order:3;z-index:98}::-webkit-datetime-edit{position:relative;z-index:99;max-width:fit-content}}:is(iam-advanced-select,iam-search,.postcode-lookup){position:relative;display:block}:is(iam-advanced-select,iam-search,.postcode-lookup) label{position:relative}:is(iam-advanced-select,iam-search,.postcode-lookup) input{padding-right:3rem}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty{position:absolute;bottom:.5rem;right:3.5rem;margin:0;aspect-ratio:1/1;width:2rem;height:2rem;text-align:center;line-height:1}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty:not(:hover,:focus){border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}:is(iam-advanced-select,iam-search,.postcode-lookup) .empty i{font-size:1.2rem}:is(iam-advanced-select,iam-search,.postcode-lookup):has([name=postcode][disabled]) .empty{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup):has(input:is([name$=Alt]):not([data-value],[data-placeholder])) .empty{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup) label:after,:is(iam-advanced-select,iam-search,.postcode-lookup) .hint-text{position:absolute;top:100%}:is(iam-advanced-select,iam-search,.postcode-lookup) label[for=use]:after{top:var(--checkbox-inner-top, 0.5rem)}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)){margin-bottom:2.5rem}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)) input,:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)) input{background:none !important}.was-validated :is(iam-advanced-select,iam-search,postcode-lookup) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:invalid,.is-invalid) .hint-text,:is(iam-advanced-select,iam-search,postcode-lookup).was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:invalid,.is-invalid) .hint-text{display:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist:empty{display:none !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{z-index:100;top:100%;position:absolute;background-color:var(--colour-canvas);border-top:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist:not(:empty):has(option:not(.hide)){padding:.5rem}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{max-height:25rem;overflow-y:auto;width:100%;max-width:var(--input-max-width, 50rem);border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);display:none}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option{background-color:var(--colour-canvas);padding:.5rem;cursor:pointer;background:unset !important;border:unset !important;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.5rem !important;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding-block:var(--menu-item-padding, 0.25rem) !important;width:100% !important;max-width:100% !important;text-align:var(--menu-item-text-align, left) !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;text-overflow:ellipsis;overflow:clip}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option:is(:hover,:focus){background:var(--colour-light) !important;color:#595959 !important;border-radius:.25rem !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option:active{background:#e0e0e0 !important;border-radius:.25rem !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist option.active{border-left:4px solid var(--colour-info) !important;border-radius:.25rem !important;background:hsl(from var(--colour-info) h s l/10%) !important}.dark-theme :is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup) datalist{color-scheme:dark}@media(prefers-color-scheme: dark){html:not(.light-theme) :is(.bg-primary,.bg-danger,.bg-dark):not(iam-header){--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);color:var(--colour-primary-theme)}html:not(.light-theme) :is(.bg-primary,.bg-danger,.bg-dark):not(iam-header)>*{color-scheme:light}html:not(.light-theme) .bg-light{color-scheme:light}}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active),:active) datalist{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active),:active) datalist:empty{display:block !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper{top:100%;position:absolute;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);width:100% !important;z-index:100;display:none;max-height:25rem;overflow-y:auto;max-width:var(--input-max-width) !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper>datalist{border:none !important;box-shadow:none !important;position:relative;display:block !important;border-radius:0 !important;max-height:100% !important}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:focus{outline:none !important}iam-address-lookup [slot=preloadedList]{border:none !important;box-shadow:none !important;position:relative;display:block !important;border-radius:0 !important;max-height:100% !important}iam-address-lookup [slot=preloadedList].noresults{display:block !important}iam-address-lookup [slot=preloadedList].noresults:before{content:"No addresses found";background-color:#fff;padding:1rem .5rem;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;padding-block:var(--menu-item-padding, 1rem) !important;display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist:not(:empty)),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist.loading),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(*:active)) .datalist__wrapper:has(datalist.noresults),:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:hover{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:has(datalist.noresults) datalist{display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div) .datalist__wrapper:has(datalist.noresults) datalist:before{content:"No addresses found";background-color:#fff;padding:.5rem;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;padding-block:var(--menu-item-padding, 0.5rem) !important;display:block}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(option:active)) .datalist__wrapper:has(datalist.loading) datalist{height:5rem}:is(iam-advanced-select,iam-search,iam-address-lookup,.postcode-lookup>div):is(:focus-within,:has(option:active)) .datalist__wrapper:has(datalist.loading) datalist:before{content:"\uF021";font-family:"Font Awesome 7 Pro";font-size:1.75rem;font-weight:300;display:block;position:absolute;top:calc(50% - 1rem);left:calc(50% - 1rem);animation-name:spin;animation-duration:4000ms;animation-iteration-count:infinite;animation-timing-function:linear}@-ms-keyframes spin{from{-ms-transform:rotate(0deg)}to{-ms-transform:rotate(360deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}:is(iam-advanced-select,iam-search,.postcode-lookup) [name=beforeList]{display:none}:is(iam-advanced-select,iam-search,.postcode-lookup) [name=beforeList]:has(+.show-welsh-banner){display:block}:is(iam-advanced-select,iam-search,.postcode-lookup) .datalist__wrapper.show-welsh-banner [name=beforeList]{display:block}@layer elements{.admin-panel{--padding-x: 1.5rem;--padding-top: 1rem;--padding-bottom: 1rem;--mh-modifier: 4.5rem;--mh-padding-inline: var(--padding-x);display:block;padding:var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);box-shadow:0px 6px 12px rgba(0, 0, 0, 0.11);background-color:var(--colour-canvas-2);border-radius:.5rem;margin-bottom:1.5rem;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);overflow:hidden;&:has(:is([class*=cols-],[class*=col-start-],[class*=col-end-],[class*=col-span-])){display:grid;>*{grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}&:empty{display:none}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child{--gradient-direction: -90deg !important;background-color:var(--colour-success);&:not([class*=bg-]){color:var(--colour-primary-theme);background-image:linear-gradient(var(--gradient-direction), var(--colour-info) 0, transparent 100%)}margin:calc(var(--padding-top)*-1) calc(var(--padding-x)*-1) var(--padding-top) calc(var(--padding-x)*-1);display:block;border-top-left-radius:.5rem;border-top-right-radius:.5rem}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child,.admin-panel__heading>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead){font-size:1.125rem;line-height:1.5rem;font-weight:bold;padding:1rem 1.5rem;max-width:unset}>:is(.admin-panel__heading):first-child{display:flex !important;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.5rem;>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){padding:0;margin-inline-end:auto}.btn{--btn-margin: 0;margin-bottom:0}.dialog__wrapper+.btn{--btn-margin: 0.25rem;margin-inline-end:0}}:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax,.iam-table){margin:0 0 2rem 0;padding:0;box-shadow:none;background:none}&>*:not([class*=mb-]):not(.btn__group):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}& p{max-width:100%;padding-bottom:1.5rem}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){overflow:auto;&:before{top:100% !important}}&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child+:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){padding-top:var(--padding-top);margin-top:calc(var(--padding-top)*-1)}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child{padding-bottom:var(--padding-bottom);margin-bottom:calc(var(--padding-bottom)*-1) !important;&>*:not([class*=mb-]):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}}&>iam-pagination{margin-top:-1rem}&:has(.mh-fluid){max-height:100%;display:flex;flex-direction:column}&.grid{display:grid !important;grid-template-columns:subgrid !important;>*:not(:first-child){grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}}@container style(--theme: dark){.admin-panel{background-color:var(--colour-canvas-2);color:var(--colour-body);.bg-white{background-color:transparent !important;color:var(--white) !important}}}@media(prefers-color-scheme: light){>:is(.admin-panel__heading):first-child{.btn-action,.dialog__wrapper{--colour-canvas-2: #ffffff;--colour-heading: var(--colour-primary);--colour-btn-action-hover-bg: var(--colour-light);--colour-btn-hover: var(--colour-primary);--colour-border: #d8d8d8}}}[class*=col].admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid)){min-height:calc(100% - 1.5rem)}.admin-panel:has(iam-actionbar){&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child{margin-bottom:0}iam-actionbar{background:var(--colour-canvas);margin-inline:calc(var(--padding-x)*-1);margin-bottom:var(--padding-top);&:first-child{margin-top:calc(var(--padding-top)*-1)}&:not(:first-child){border-radius:0}}&>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax){overflow:visible;&:first-child{margin-top:calc(var(--padding-top)*-1)}iam-actionbar{margin-top:0 !important;border-radius:0;box-shadow:none}}}details.admin-panel{summary:after{content:"\uF077";font-weight:bold;margin-left:0;height:2rem;width:2rem;text-align:center;line-height:2rem;margin-right:-0.5rem}summary:not(:has(.btn:hover)):hover:after{background:var(--colour-light);border-radius:50%}summary:not(:has(.btn:hover)):active:after{background:var(--colour-light);filter:brightness(85%);border-radius:50%}}details.admin-panel:not([open]){padding-bottom:0;summary:first-child{margin-bottom:0}summary:after{content:"\uF078"}}.admin-panel__footer:last-child{background-color:var(--wider-colour);padding-top:var(--padding-top);margin-inline:calc(var(--padding-x)*-1);padding-inline:var(--padding-x);padding-bottom:0;&>*:last-child{margin-bottom:0;padding-bottom:var(--padding-bottom);align-self:center}}.admin-panel__footer:not([class*=mb-]):last-child{margin-bottom:calc(var(--padding-bottom)*-1) !important}}@layer elements{.dropdown{position:absolute;top:calc(100% + .5rem);padding:0;left:0;width:100%;margin:0;z-index:99;display:none;max-height:15.25rem !important;overflow:auto}.dropdown:before{display:none}:is(iam-tag,iam-multiselect):has(label:not([slot=checked])){--display-panel: block}:is(iam-tag,iam-multiselect):has(label[slot=checked]){--display-button: block}:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked],:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked] *{pointer-events:none !important}@container style(--theme: dark){:host :is(.tag,.badge):not([slot=checked]){color:var(--colour-heading)}}.dropdown__option[slot=checked]{order:var(--order, 1)}.dropdown__option:not([slot=checked]){display:block;width:100%;max-width:100%;margin:0;text-align:left;border-radius:0;padding-inline:1rem;outline:none;padding-block:.5rem;padding-bottom:.25em;text-overflow:ellipsis;overflow:hidden}.dropdown__option:not([slot=checked]):not(:hover,:focus,:active,:focus-within){background:none !important}.dropdown__option:not([slot=checked])::after{display:none}.dropdown__option:not([slot=checked])[data-email]::after{content:attr(data-email);display:block;line-height:1;padding-bottom:.25em;text-overflow:ellipsis;overflow:hidden}}@layer utilities{.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}}@layer utilities{.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}@media screen and (min-width: 36em){.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}}@media screen and (min-width: 62em){.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}}}*,*::before,*::after{box-sizing:border-box}@layer components{.wrapper{position:relative;display:inline-block;margin-bottom:1rem}.wrapper input{position:absolute;min-height:unset;top:50%;left:0;transform:translate(0, -50%);z-index:-99;opacity:0}::slotted(*){margin-bottom:0 !important}input:focus{opacity:1;z-index:99}.wrapper:is(:focus-within) .dropdown{display:var(--display-panel, none)}@media(hover: hover){.wrapper .dropdown:hover{display:var(--display-panel, none)}}@media(hover: none){:host(.hover) .wrapper .dropdown{display:block}}}/*# sourceMappingURL=assets/css/components/tag.component.css.map */
8
8
 
9
9
  </style>
10
10
  <div class="wrapper">
@@ -14,5 +14,5 @@
14
14
  <slot></slot>
15
15
  </div>
16
16
  </div>
17
- `,this.shadowRoot.appendChild(i.content.cloneNode(!0))}connectedCallback(){const i=this.shadowRoot.querySelector("input"),t=this.querySelector(":checked");t?.getAttribute("name");let a=this.querySelector("label:has(:checked)");g(a),Array.from(this.querySelectorAll(":scope > label")).forEach(o=>{o.classList.add("dropdown__option")}),this.addEventListener("click",()=>{event&&event.target instanceof HTMLElement&&event.target.closest("label:has(:checked)")&&i.focus()}),i.addEventListener("input",()=>{this.hasAttribute("data-url")?i.value.length==3&&x(this,i,b):b(this,i)}),this.addEventListener("change",o=>{if(o&&o.target instanceof HTMLElement&&o.target.closest('input[type="radio"],input[type="checkbox"]')){o.target.closest('input[type="radio"],input[type="checkbox"]'),a.checked=!1,a.removeAttribute("slot"),a=this.querySelector("label:has(:checked)"),g(a),i?.blur(),i==null||(i.value=""),b(this,i);const l=new CustomEvent("tag-changed",{detail:{value:a?.querySelector(":checked").value,title:a?.textContent}});this===null||this===void 0||this.dispatchEvent(l)}}),w(this,i)}}export{_ as default};
17
+ `,this.shadowRoot.appendChild(a.content.cloneNode(!0))}connectedCallback(){const a=this.shadowRoot.querySelector("input"),t=this.querySelector(":checked");t?.getAttribute("name");let i=this.querySelector("label:has(:checked)");g(i),Array.from(this.querySelectorAll(":scope > label")).forEach(o=>{o.classList.add("dropdown__option")}),this.addEventListener("click",()=>{event&&event.target instanceof HTMLElement&&event.target.closest("label:has(:checked)")&&a.focus()}),a.addEventListener("input",()=>{this.hasAttribute("data-url")?a.value.length==3&&x(this,a,b):b(this,a)}),this.addEventListener("change",o=>{if(o&&o.target instanceof HTMLElement&&o.target.closest('input[type="radio"],input[type="checkbox"]')){o.target.closest('input[type="radio"],input[type="checkbox"]'),i.checked=!1,i.removeAttribute("slot"),i=this.querySelector("label:has(:checked)"),g(i),a?.blur(),a==null||(a.value=""),b(this,a);const l=new CustomEvent("tag-changed",{detail:{value:i?.querySelector(":checked").value,title:i?.textContent}});this===null||this===void 0||this.dispatchEvent(l)}}),w(this,a)}}export{z as default};
18
18
  //# sourceMappingURL=tag.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';\n let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';\n if (component.hasAttribute('data-name'))\n inputName = component.hasAttribute('data-name');\n const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag dropdown__option\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\nexport const addKeyboardEvents = (dropdown, search) => {\n search.addEventListener('keydown', (e) => {\n var _a;\n switch (e.keyCode) {\n case 40: // down\n e.stopPropagation();\n e.preventDefault();\n (_a = dropdown.querySelector('label:not([slot=\"checked\"]) input')) === null || _a === void 0 ? void 0 : _a.focus();\n break;\n }\n });\n dropdown.addEventListener('keydown', (event) => {\n var _a, _b, _c;\n const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot=\"checked\"]) > input');\n const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot=\"checked\"]) > input');\n const activeElement = document.activeElement;\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot=\"checked\"]) > input')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n //menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n};\n","import { trackComponentRegistered } from '../_global.js';\nimport { searchAjax, filterList, setTag, addKeyboardEvents } from '../../modules/dropdown.js';\ntrackComponentRegistered('iam-tag');\nclass iamTag extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n // Make sure the dropdown options are set\n Array.from(this.querySelectorAll(':scope > label')).forEach((label) => {\n label.classList.add('dropdown__option');\n });\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n addKeyboardEvents(this, search);\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","assign","target","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","i","parts","found","api","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","error","setTag","tag","input","tags","tagIndex","addKeyboardEvents","dropdown","_a","event","_b","_c","topLevelmenuItems","menuItems","activeItem","prevIndex","nextIndex","subMenuItems","iamTag","template","changeEvent"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';\n let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';\n if (component.hasAttribute('data-name'))\n inputName = component.hasAttribute('data-name');\n const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag dropdown__option\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\nexport const addKeyboardEvents = (dropdown, search) => {\n search.addEventListener('keydown', (e) => {\n var _a;\n switch (e.keyCode) {\n case 40: // down\n e.stopPropagation();\n e.preventDefault();\n (_a = dropdown.querySelector('label:not([slot=\"checked\"]) input')) === null || _a === void 0 ? void 0 : _a.focus();\n break;\n }\n });\n dropdown.addEventListener('keydown', (event) => {\n var _a, _b, _c;\n const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot=\"checked\"]) > input');\n const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot=\"checked\"]) > input');\n const activeElement = document.activeElement;\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot=\"checked\"]) > input')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n //menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n};\n","import { trackComponentRegistered } from '../_global.js';\nimport { searchAjax, filterList, setTag, addKeyboardEvents } from '../../modules/dropdown.js';\ntrackComponentRegistered('iam-tag');\nclass iamTag extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n // Make sure the dropdown options are set\n Array.from(this.querySelectorAll(':scope > label')).forEach((label) => {\n label.classList.add('dropdown__option');\n });\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n addKeyboardEvents(this, search);\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","error","setTag","tag","input","tags","tagIndex","addKeyboardEvents","dropdown","_a","event","_b","_c","topLevelmenuItems","menuItems","activeItem","prevIndex","nextIndex","subMenuItems","iamTag","template","changeEvent"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta8
2
+ * iamKey v7.7.0
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const a=n=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:n})};a("iam-tooltip");class l extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
6
- *,*::before,*::after{box-sizing:border-box}@layer components{:host{display:inline;position:relative;overflow-anchor:none;cursor:pointer;margin-right:.25rem}slot{display:inline}:host(:empty){display:inline-block;width:1rem;height:1lh;min-height:1rem;vertical-align:text-top;margin-right:0}.tooltip__anchor{anchor-name:--anchor;position:relative;display:inline-block}.tooltip__anchor{height:1rem;width:1rem;background-color:var(--colour, var(--colour-info));border-radius:50%;margin-bottom:calc((1lh - 1rem)/2);vertical-align:bottom}.tooltip__anchor:after{font-family:"Font Awesome 6 Pro";font-weight:900;content:"?";display:block;margin:0;line-height:1;color:var(--colour-primary);position:absolute;top:50%;left:50%;translate:-50% -50%;font-size:.6em;font-weight:bold}::slotted(i:first-child:last-child){height:1rem;width:1rem;background-color:var(--colour, var(--colour-info));color:var(--colour-primary);font-size:.6em;line-height:1rem !important;text-align:center;border-radius:50%}.tooltip__content{position:fixed;position-anchor:--anchor;position-area:center end;position-try-fallbacks:bottom span-all,top span-all,start;container-type:anchored;max-width:16.875rem;background:var(--colour-primary);color:var(--colour-white);padding:1.5rem;border:none;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.11);margin:.75rem;overflow:visible}.tooltip__content>strong:first-child{display:block;padding-bottom:1rem;color:inherit}@media screen and (min-width: 36em){.tooltip__content{max-width:20.9375rem}}@media screen and (min-width: 62em){.tooltip__content{max-width:22.5rem}}.tooltip__content::after{content:"";position:absolute;bottom:50%;left:-0.45rem;transform:translate(-50%, 0);border-width:.5rem;border-style:solid;border-color:rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0) rgba(0,0,0,0);margin-bottom:-0.5rem}@container anchored(fallback: top span-all){.tooltip__content::after{left:50%;bottom:auto;top:100%;border-color:var(--colour-primary) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);margin-bottom:-1px}}@container anchored(fallback: bottom span-all){.tooltip__content::after{top:auto;bottom:100%;left:50%;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0);margin-bottom:-1px}}@container anchored(fallback: start){.tooltip__content::after{display:none}}}/*# sourceMappingURL=assets/css/components/tooltip.component.css.map */
6
+ *,*::before,*::after{box-sizing:border-box}@layer components{:host{display:inline;position:relative;overflow-anchor:none;cursor:pointer;margin-right:.25rem}slot{display:inline}:host(:empty){display:inline-block;width:1rem;height:1lh;min-height:1rem;vertical-align:text-top;margin-right:0}.tooltip__anchor{anchor-name:--anchor;position:relative;display:inline-block}.tooltip__anchor{height:1rem;width:1rem;background-color:var(--icon-colour, var(--colour-info));border-radius:50%;margin-bottom:calc((1lh - 1rem)/2);vertical-align:bottom}.tooltip__anchor:after{font-family:"Font Awesome 7 Pro";font-weight:900;content:"?";display:block;margin:0;line-height:1;color:var(--colour-white);position:absolute;top:50%;left:50%;translate:-50% -50%;font-size:.6em;font-weight:bold}:host([data-type=info]) .tooltip__anchor:after{content:"\uF129"}::slotted(i:first-child:last-child){height:1rem;width:1rem;background-color:var(--icon-colour, var(--colour-info));color:var(--colour-primary);font-size:.6em;line-height:1rem !important;text-align:center;border-radius:50%}.tooltip__content{position:fixed;position-anchor:--anchor;position-area:center end;position-try-fallbacks:bottom span-all,top span-all,start;container-type:anchored;max-width:16.875rem;background:var(--colour-primary);color:var(--colour-white);padding:1.5rem;border:none;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.11);margin:.75rem;overflow:visible}.tooltip__content>strong:first-child{display:block;padding-bottom:1rem;color:inherit}@media screen and (min-width: 36em){.tooltip__content{max-width:20.9375rem}}@media screen and (min-width: 62em){.tooltip__content{max-width:22.5rem}}.tooltip__content::after{content:"";position:absolute;bottom:50%;left:-0.45rem;transform:translate(-50%, 0);border-width:.5rem;border-style:solid;border-color:rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0) rgba(0,0,0,0);margin-bottom:-0.5rem}@container anchored(fallback: top span-all){.tooltip__content::after{left:50%;bottom:auto;top:100%;border-color:var(--colour-primary) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);margin-bottom:-1px}}@container anchored(fallback: bottom span-all){.tooltip__content::after{top:auto;bottom:100%;left:50%;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0);margin-bottom:-1px}}@container anchored(fallback: start){.tooltip__content::after{display:none}}}/*# sourceMappingURL=assets/css/components/tooltip.component.css.map */
7
7
 
8
8
  </style>
9
9
  <slot></slot>