@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":"address-lookup.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/advanced-select.js","../../modules/helpers.js","address-lookup.component.js"],"sourcesContent":["/*! 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","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\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","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';\nimport advancedSelect from '../../modules/advanced-select.js';\nimport { isValidPostcode } from '../../modules/helpers.js';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\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/address-lookup.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"matched d-none\">\n <div class=\"inner\">\n <p><span class=\"matched-address\"></span></p>\n <button class=\"link use-matched\">Yes, use this address</button>\n <button class=\"link use-entered\">No, use the address I entered</button>\n </div>\n <span class=\"invalid-feedback\">We found a matching address based on the details you entered. Is this address correct?</span>\n </div>\n <div class=\"postcode-lookup was-validated\">\n <div>\n <label class=\"mb-1\"><span class=\"title text-lowercase\"></span>\n <span>\n <input type=\"text\" name=\"postcode\" class=\"${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}\" list=\"address-lookup__addressess\" autocomplete=\"one-time-code\" aria-autocomplete=\"none\" placeholder=\"${(this === null || this === void 0 ? void 0 : this.hasAttribute('data-placeholder')) ? this === null || this === void 0 ? void 0 : this.getAttribute('data-placeholder') : 'Postcode'}\" value=\"${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}\" part=\"input\" />\n <button id=\"postcode__submit\" class=\"suffix fa-regular fa-search\" part=\"suffix\"></button>\n </span>\n </label>\n <span class=\"invalid-feedback mb-2\" id=\"invalid-feedback-address-lookup\">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>\n\n <div class=\"datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}\" tabindex=\"0\" part=\"list-wrapper\">\n <slot name=\"beforeList\"></slot>\n <slot name=\"preloadedList\"></slot>\n <datalist id=\"address-lookup__addressess\" class=\"\"></datalist>\n <div id=\"paginationWrapper\"></div>\n <slot name=\"afterList\"></slot>\n </div>\n </div>\n <slot name=\"hint\"></slot>\n <div class=\"actions\">\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\" part=\"manualButton\">Or enter address manually</button>\n <slot name=\"actions\"></slot>\n </div>\n </div>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot part=\"contents\"></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\" part=\"button\">${this.hasAttribute('data-postcode-lookup-label') ? this.getAttribute('data-postcode-lookup-label') : 'Use postcode lookup'}</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled p-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"edit-button\">\n <i class=\"fa-regular fa-pen-to-square m-0\"></i> <span class=\"visually-hidden\">Edit</span>\n </button>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"remove-button\">\n <i class=\"fa-regular fa-trash m-0\"></i> <span class=\"visually-hidden\">Remove</span>\n </button>\n <slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.querySelector('datalist[slot=\"preloadedList\"]')\n ? this.querySelector('datalist[slot=\"preloadedList\"]')\n : this.shadowRoot.querySelector('.datalist__wrapper datalist');\n const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Find an address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('[part=\"edit-button\"]');\n const preFilledAddressRemoveBtn = this.shadowRoot.querySelector('[part=\"remove-button\"]');\n const dataDisplayText = this.hasAttribute('data-display-text');\n const postcodeSubmit = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#postcode__submit');\n const errorMsg = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#invalid-feedback-address-lookup');\n const paginationWrapper = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#paginationWrapper');\n const minChars = this.hasAttribute('data-min-chars') ? parseInt(this.getAttribute('data-min-chars')) : 3;\n let pageNumber = 1;\n const atleastone = this.querySelector('.atleastone');\n const matchedAddress = this.shadowRoot.querySelector('.matched-address');\n const matchedAddressWrapper = this.shadowRoot.querySelector('.matched');\n const matchedAddressUse = this.shadowRoot.querySelector('.matched .use-matched');\n const matchedAddressEntered = this.shadowRoot.querySelector('.matched .use-entered');\n let cacheSearchQuery = '';\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n // #region functions\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n let value = input.hasAttribute('data-value') ? input.getAttribute('data-value') : input.value;\n if (input.tagName == 'SELECT' && component.querySelector(`[value=\"${input.value}\"][data-value]`))\n value = component.querySelector(`[value=\"${input.value}\"][data-value]`).getAttribute('data-value');\n if (!value) {\n if (input.closest('.atleastone')) {\n if (!atleastone.querySelector('input:valid, input.is-valid')) {\n preFilled = false;\n }\n }\n else {\n preFilled = false;\n }\n }\n else {\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n }\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n // If has label then use that\n if (preFilled) {\n if (component.querySelector('[name=\"label\"]'))\n preFilledAddress.innerHTML = component.querySelector('[name=\"label\"]').value;\n // If has label then use that\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n const atleastoneValidate = () => {\n if (atleastone.querySelector('input:valid, input.is-valid')) {\n Array.from(atleastone.querySelectorAll('input')).forEach((element) => {\n element.removeAttribute('required');\n });\n }\n else {\n Array.from(atleastone.querySelectorAll('input')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n };\n const fillInputs = (values) => {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Object.keys(values).forEach((key) => {\n const value = values[key];\n let input = false;\n if (this.querySelector(`[data-name=\"${key}\"]`))\n input = this.querySelector(`[data-name=\"${key}\"]`);\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`))\n input = this.querySelector(`[data-name-alt=\"${key}\"]`);\n else if (this.querySelector(`[name=\"${key}\"]`))\n input = this.querySelector(`[name=\"${key}\"]`);\n if (input && input.tagName == 'SELECT' && value.id) {\n input.value = value.id;\n }\n else if (input && value != '') {\n input.value = value;\n if (input.hasAttribute('data-readonly')) {\n input.setAttribute('readonly', true);\n input.classList.add('is-valid');\n }\n }\n else if (value != '') {\n this.insertAdjacentHTML('beforeend', `<input type=\"hidden\" class=\"inserted\" data-hidden name=\"${key}\" value=\"${value}\" />`);\n }\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (atleastone) {\n atleastoneValidate();\n }\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n };\n const search = (searchValue_1, ...args_1) => __awaiter(this, [searchValue_1, ...args_1], void 0, function* (searchValue, paginate = false) {\n var _a, _b;\n if (!paginate && searchValue === cacheSearchQuery) {\n if ((_a = list === null || list === void 0 ? void 0 : list.children) === null || _a === void 0 ? void 0 : _a.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_b = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _b === void 0 ? void 0 : _b.focus();\n return true;\n }\n }\n // check if postcode is valid\n const limit = this.hasAttribute('data-limit') ? parseInt(this.getAttribute('data-limit')) : 100;\n if (paginate)\n pageNumber++;\n else\n pageNumber = 1;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchValue)}&page[number]=${pageNumber}&page[size]=${limit}`;\n if (this.hasAttribute('data-url-2')) {\n ajaxURL += this.getAttribute('data-url-2');\n }\n const postcode = searchValue; // TODO: remove when postcode comes from response\n if (this.hasAttribute('data-postcode')) {\n if (!isValidPostcode(searchValue)) {\n return 'Invalid postcode, please enter a valid postcode';\n }\n else {\n if (!paginate)\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.add('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n Array.from(this.querySelectorAll('[data-readonly]')).forEach((input) => {\n input.removeAttribute('readonly');\n input.classList.remove('is-valid');\n });\n Array.from(this.querySelectorAll('.inserted')).forEach((input) => {\n input.remove();\n });\n }\n }\n this.classList.add('searched');\n this.classList.add('was-validated');\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[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = window.controller[ajaxURL];\n try {\n return yield fetch(ajaxURL, {\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 var _a;\n // populate datalist\n let listString = '';\n const addresses = response['data'] ? response['data'] : response;\n addresses.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.attributes == 'object' && address.attributes.label) {\n const attributes = {};\n if (address.id)\n address.attributes.id = address.id;\n if (address.relationships)\n address.attributes = Object.assign(address.attributes, address.relationships);\n Object.keys(address.attributes).forEach((key) => {\n const attribute = address.attributes[key];\n if (typeof attribute == 'object') {\n attributes[key] = attribute === null || attribute === void 0 ? void 0 : attribute.id;\n }\n else {\n attributes[key] = attribute;\n }\n });\n const values = JSON.stringify(attributes);\n listString += `<option data-values='${values}' >${address.attributes.label}</option>`;\n }\n else if (typeof address.value == 'object') {\n if (address.id)\n address.attributes.id = address.id;\n if (address.relationships)\n address.attributes = Object.assign(address.attributes, address.relationships);\n const values = JSON.stringify(address.value);\n listString += `<option data-values='${values}'>${address['label']}, ${postcode}</option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option data-values='${values}'>${address[dataDisplayText]}, ${postcode}</option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title' && key != 'group')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option data-values='${values}'>${itemString}, ${postcode}</option>`; // TODO postcode should come from the response\n }\n }\n });\n if (paginate)\n list.innerHTML += listString;\n else\n list.innerHTML = listString;\n // Cache the search value to prevent further calls\n cacheSearchQuery = searchValue;\n if (addresses.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n }\n else {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.add('noresults');\n }\n // pagination\n if (response.meta &&\n response.meta.current_page &&\n response.meta.total_pages &&\n response.meta.total_pages > response.meta.current_page) {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-${response.meta.current_page * limit} of ${response.meta.total_results} addresses <br /><button type=\"button\" data-next=\"${response.meta.current_page + 1}\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n }\n else {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = '';\n }\n if (response.meta && response.meta.welsh_language) {\n list === null || list === void 0 ? void 0 : list.classList.add('show-welsh-banner');\n }\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_a = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _a === void 0 ? void 0 : _a.focus();\n return true;\n });\n }\n catch (error) {\n if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError') {\n return true;\n }\n console.log(error);\n return 'There has been a problem. Please try again in a few moments.';\n }\n });\n let searchTimer;\n const triggerSearch = (raw, paginate = false, immediate = false) => {\n const value = (raw !== null && raw !== void 0 ? raw : '').trim();\n if (value.length < minChars)\n return;\n if (immediate) {\n if (searchTimer)\n window.clearTimeout(searchTimer);\n void search(value, paginate);\n return;\n }\n if (searchTimer)\n window.clearTimeout(searchTimer);\n searchTimer = window.setTimeout(() => {\n void search(value, paginate);\n }, 200);\n };\n // #endregion\n // #region check attributes and trigger functions\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n this.addEventListener('filled', () => {\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n if (this.hasAttribute('data-use-default')) {\n lookupWrapper.querySelector('[name=\"use\"]').checked = true;\n const values = JSON.parse(this.getAttribute('data-use'));\n fillInputs(values);\n }\n }\n if (this.hasAttribute('data-manual')) {\n fillInputs({});\n }\n if (this.classList.contains('show-pagination'))\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-500 of 585 addresses <br /><button type=\"button\" data-next=\"2\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n if (this.classList.contains('scroll-to-bottom-results'))\n paginationWrapper.scrollIntoView({ container: 'nearest' });\n // #endregion\n // #region event listeners\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n preFilledAddressRemoveBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n lookup.value = '';\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hasAttribute('data-placeholder'))\n lookup.setAttribute('placeholder', lookup === null || lookup === void 0 ? void 0 : lookup.getAttribute('data-placeholder'));\n // empty fields\n Array.from(this.querySelectorAll('input, select')).forEach((input) => {\n input.value = '';\n });\n lookup.value = \"\";\n // uncheck box\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n this.addEventListener('open-manual', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (e) => {\n if (e.keyCode === 13) {\n triggerSearch(lookup.value, false, true);\n }\n });\n lookup.addEventListener('input', () => {\n var _a;\n lookup.classList.remove('is-invalid');\n if (errorMsg)\n errorMsg.innerHTML = '';\n const v = ((_a = lookup.value) !== null && _a !== void 0 ? _a : '').trim();\n if (v.length < minChars) {\n list.innerHTML = '';\n if (paginationWrapper) {\n paginationWrapper.innerHTML = '';\n }\n list === null || list === void 0 ? void 0 : list.classList.remove('loading', 'noresults');\n cacheSearchQuery = '';\n return;\n }\n triggerSearch(v);\n });\n list.addEventListener('click', (e) => {\n if (e.target.tagName == 'OPTION') {\n const values = JSON.parse(e.target.getAttribute('data-values'));\n fillInputs(values);\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n });\n atleastone === null || atleastone === void 0 ? void 0 : atleastone.addEventListener('input', (e) => {\n Array.from(atleastone.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n atleastoneValidate();\n });\n postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => {\n triggerSearch(lookup.value, false, true);\n });\n this === null || this === void 0 ? void 0 : this.addEventListener('close-button-pressed', () => {\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n });\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => {\n if (e.target.tagName === 'BUTTON') {\n triggerSearch(lookup.value, true, true);\n }\n });\n // #endregion\n // #region Matched address\n if (this.hasAttribute('data-matched')) {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.classList.remove('d-none');\n if (this.hasAttribute('data-matched-label'))\n matchedAddress === null || matchedAddress === void 0 ? void 0 : matchedAddress.innerHTML = this.getAttribute('data-matched-label');\n matchedAddressEntered === null || matchedAddressEntered === void 0 ? void 0 : matchedAddressEntered.addEventListener('click', () => {\n var _a;\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const useCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[name=\"use\"]');\n useCheckbox.checked = true;\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n checkFilled(this);\n });\n matchedAddressUse === null || matchedAddressUse === void 0 ? void 0 : matchedAddressUse.addEventListener('click', () => {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const values = JSON.parse(this.getAttribute('data-matched'));\n fillInputs(values);\n checkFilled(this);\n });\n }\n else {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n }\n // #endregion\n advancedSelect(this, lookup, list, true);\n if (this.hasAttribute('data-disabled'))\n lookup === null || lookup === void 0 ? void 0 : lookup.setAttribute('disabled', 'disabled');\n });\n }\n static get observedAttributes() {\n return ['data-disabled'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n switch (attrName) {\n case 'data-disabled': {\n if (oldVal != newVal && newVal == 'disabled') {\n lookup === null || lookup === void 0 ? void 0 : lookup.setAttribute('disabled', 'disabled');\n }\n else if (oldVal != newVal) {\n lookup === null || lookup === void 0 ? void 0 : lookup.removeAttribute('disabled');\n }\n break;\n }\n }\n }\n}\nexport default iamAddressLookup;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","e","addActive","x","removeActive","emptyField","updateEvent","isValidPostcode","searchValue","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","iamAddressLookup","_a","template","_b","_c","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","listWrapper","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","preFilledAddressRemoveBtn","dataDisplayText","postcodeSubmit","errorMsg","paginationWrapper","minChars","pageNumber","atleastone","matchedAddress","matchedAddressWrapper","matchedAddressUse","matchedAddressEntered","cacheSearchQuery","titleElement","checkFilled","component","preFilledAddress","preFilled","input","openManualWrapper","atleastoneValidate","element","fillInputs","values","search","searchValue_1","args_1","paginate","limit","ajaxURL","postcode","signal","Cookies","response","listString","addresses","address","attribute","itemString","error","searchTimer","triggerSearch","raw","immediate","useCheckbox","v","attrName","oldVal","newVal"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"address-lookup.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/advanced-select.js","../../modules/helpers.js","address-lookup.component.js"],"sourcesContent":["/*! 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","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\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","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';\nimport advancedSelect from '../../modules/advanced-select.js';\nimport { isValidPostcode } from '../../modules/helpers.js';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\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/address-lookup.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"matched d-none\">\n <div class=\"inner\">\n <p><span class=\"matched-address\"></span></p>\n <button class=\"link use-matched\">Yes, use this address</button>\n <button class=\"link use-entered\">No, use the address I entered</button>\n </div>\n <span class=\"invalid-feedback\">We found a matching address based on the details you entered. Is this address correct?</span>\n </div>\n <div class=\"postcode-lookup was-validated\">\n <div>\n <label class=\"mb-1\"><span class=\"title text-lowercase\"></span>\n <span>\n <input type=\"text\" name=\"postcode\" class=\"${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}\" list=\"address-lookup__addressess\" autocomplete=\"one-time-code\" aria-autocomplete=\"none\" placeholder=\"${(this === null || this === void 0 ? void 0 : this.hasAttribute('data-placeholder')) ? this === null || this === void 0 ? void 0 : this.getAttribute('data-placeholder') : 'Postcode'}\" value=\"${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}\" part=\"input\" />\n <button id=\"postcode__submit\" class=\"suffix fa-regular fa-search\" part=\"suffix\"></button>\n </span>\n </label>\n <span class=\"invalid-feedback mb-2\" id=\"invalid-feedback-address-lookup\">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>\n\n <div class=\"datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}\" tabindex=\"0\" part=\"list-wrapper\">\n <slot name=\"beforeList\"></slot>\n <slot name=\"preloadedList\"></slot>\n <datalist id=\"address-lookup__addressess\" class=\"\"></datalist>\n <div id=\"paginationWrapper\"></div>\n <slot name=\"afterList\"></slot>\n </div>\n </div>\n <slot name=\"hint\"></slot>\n <div class=\"actions\">\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\" part=\"manualButton\">Or enter address manually</button>\n <slot name=\"actions\"></slot>\n </div>\n </div>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot part=\"contents\"></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\" part=\"button\">${this.hasAttribute('data-postcode-lookup-label') ? this.getAttribute('data-postcode-lookup-label') : 'Use postcode lookup'}</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled p-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"edit-button\">\n <i class=\"fa-regular fa-pen-to-square m-0\"></i> <span class=\"visually-hidden\">Edit</span>\n </button>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"remove-button\">\n <i class=\"fa-regular fa-trash m-0\"></i> <span class=\"visually-hidden\">Remove</span>\n </button>\n <slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.querySelector('datalist[slot=\"preloadedList\"]')\n ? this.querySelector('datalist[slot=\"preloadedList\"]')\n : this.shadowRoot.querySelector('.datalist__wrapper datalist');\n const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Find an address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('[part=\"edit-button\"]');\n const preFilledAddressRemoveBtn = this.shadowRoot.querySelector('[part=\"remove-button\"]');\n const dataDisplayText = this.hasAttribute('data-display-text');\n const postcodeSubmit = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#postcode__submit');\n const errorMsg = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#invalid-feedback-address-lookup');\n const paginationWrapper = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#paginationWrapper');\n const minChars = this.hasAttribute('data-min-chars') ? parseInt(this.getAttribute('data-min-chars')) : 3;\n let pageNumber = 1;\n const atleastone = this.querySelector('.atleastone');\n const matchedAddress = this.shadowRoot.querySelector('.matched-address');\n const matchedAddressWrapper = this.shadowRoot.querySelector('.matched');\n const matchedAddressUse = this.shadowRoot.querySelector('.matched .use-matched');\n const matchedAddressEntered = this.shadowRoot.querySelector('.matched .use-entered');\n let cacheSearchQuery = '';\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n // #region functions\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n let value = input.hasAttribute('data-value') ? input.getAttribute('data-value') : input.value;\n if (input.tagName == 'SELECT' && component.querySelector(`[value=\"${input.value}\"][data-value]`))\n value = component.querySelector(`[value=\"${input.value}\"][data-value]`).getAttribute('data-value');\n if (!value) {\n if (input.closest('.atleastone')) {\n if (!atleastone.querySelector('input:valid, input.is-valid')) {\n preFilled = false;\n }\n }\n else {\n preFilled = false;\n }\n }\n else {\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n }\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n // If has label then use that\n if (preFilled) {\n if (component.querySelector('[name=\"label\"]'))\n preFilledAddress.innerHTML = component.querySelector('[name=\"label\"]').value;\n // If has label then use that\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n const atleastoneValidate = () => {\n if (atleastone.querySelector('input:valid, input.is-valid')) {\n Array.from(atleastone.querySelectorAll('input')).forEach((element) => {\n element.removeAttribute('required');\n });\n }\n else {\n Array.from(atleastone.querySelectorAll('input')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n };\n const fillInputs = (values) => {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Object.keys(values).forEach((key) => {\n const value = values[key];\n let input = false;\n if (this.querySelector(`[data-name=\"${key}\"]`))\n input = this.querySelector(`[data-name=\"${key}\"]`);\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`))\n input = this.querySelector(`[data-name-alt=\"${key}\"]`);\n else if (this.querySelector(`[name=\"${key}\"]`))\n input = this.querySelector(`[name=\"${key}\"]`);\n if (input && input.tagName == 'SELECT' && value.id) {\n input.value = value.id;\n }\n else if (input && value != '') {\n input.value = value;\n if (input.hasAttribute('data-readonly')) {\n input.setAttribute('readonly', true);\n input.classList.add('is-valid');\n }\n }\n else if (value != '') {\n this.insertAdjacentHTML('beforeend', `<input type=\"hidden\" class=\"inserted\" data-hidden name=\"${key}\" value=\"${value}\" />`);\n }\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (atleastone) {\n atleastoneValidate();\n }\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n };\n const search = (searchValue_1, ...args_1) => __awaiter(this, [searchValue_1, ...args_1], void 0, function* (searchValue, paginate = false) {\n var _a, _b;\n if (!paginate && searchValue === cacheSearchQuery) {\n if ((_a = list === null || list === void 0 ? void 0 : list.children) === null || _a === void 0 ? void 0 : _a.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_b = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _b === void 0 ? void 0 : _b.focus();\n return true;\n }\n }\n // check if postcode is valid\n const limit = this.hasAttribute('data-limit') ? parseInt(this.getAttribute('data-limit')) : 100;\n if (paginate)\n pageNumber++;\n else\n pageNumber = 1;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchValue)}&page[number]=${pageNumber}&page[size]=${limit}`;\n if (this.hasAttribute('data-url-2')) {\n ajaxURL += this.getAttribute('data-url-2');\n }\n const postcode = searchValue; // TODO: remove when postcode comes from response\n if (this.hasAttribute('data-postcode')) {\n if (!isValidPostcode(searchValue)) {\n return 'Invalid postcode, please enter a valid postcode';\n }\n else {\n if (!paginate)\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.add('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n Array.from(this.querySelectorAll('[data-readonly]')).forEach((input) => {\n input.removeAttribute('readonly');\n input.classList.remove('is-valid');\n });\n Array.from(this.querySelectorAll('.inserted')).forEach((input) => {\n input.remove();\n });\n }\n }\n this.classList.add('searched');\n this.classList.add('was-validated');\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[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = window.controller[ajaxURL];\n try {\n return yield fetch(ajaxURL, {\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 var _a;\n // populate datalist\n let listString = '';\n const addresses = response['data'] ? response['data'] : response;\n addresses.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.attributes == 'object' && address.attributes.label) {\n const attributes = {};\n if (address.id)\n address.attributes.id = address.id;\n if (address.relationships)\n address.attributes = Object.assign(address.attributes, address.relationships);\n Object.keys(address.attributes).forEach((key) => {\n const attribute = address.attributes[key];\n if (typeof attribute == 'object') {\n attributes[key] = attribute === null || attribute === void 0 ? void 0 : attribute.id;\n }\n else {\n attributes[key] = attribute;\n }\n });\n const values = JSON.stringify(attributes);\n listString += `<option data-values='${values}' >${address.attributes.label}</option>`;\n }\n else if (typeof address.value == 'object') {\n if (address.id)\n address.attributes.id = address.id;\n if (address.relationships)\n address.attributes = Object.assign(address.attributes, address.relationships);\n const values = JSON.stringify(address.value);\n listString += `<option data-values='${values}'>${address['label']}, ${postcode}</option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option data-values='${values}'>${address[dataDisplayText]}, ${postcode}</option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title' && key != 'group')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option data-values='${values}'>${itemString}, ${postcode}</option>`; // TODO postcode should come from the response\n }\n }\n });\n if (paginate)\n list.innerHTML += listString;\n else\n list.innerHTML = listString;\n // Cache the search value to prevent further calls\n cacheSearchQuery = searchValue;\n if (addresses.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n }\n else {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.add('noresults');\n }\n // pagination\n if (response.meta &&\n response.meta.current_page &&\n response.meta.total_pages &&\n response.meta.total_pages > response.meta.current_page) {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-${response.meta.current_page * limit} of ${response.meta.total_results} addresses <br /><button type=\"button\" data-next=\"${response.meta.current_page + 1}\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n }\n else {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = '';\n }\n if (response.meta && response.meta.welsh_language) {\n list === null || list === void 0 ? void 0 : list.classList.add('show-welsh-banner');\n }\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_a = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _a === void 0 ? void 0 : _a.focus();\n return true;\n });\n }\n catch (error) {\n if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError') {\n return true;\n }\n console.log(error);\n return 'There has been a problem. Please try again in a few moments.';\n }\n });\n let searchTimer;\n const triggerSearch = (raw, paginate = false, immediate = false) => {\n const value = (raw !== null && raw !== void 0 ? raw : '').trim();\n if (value.length < minChars)\n return;\n if (immediate) {\n if (searchTimer)\n window.clearTimeout(searchTimer);\n void search(value, paginate);\n return;\n }\n if (searchTimer)\n window.clearTimeout(searchTimer);\n searchTimer = window.setTimeout(() => {\n void search(value, paginate);\n }, 200);\n };\n // #endregion\n // #region check attributes and trigger functions\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n this.addEventListener('filled', () => {\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n if (this.hasAttribute('data-use-default')) {\n lookupWrapper.querySelector('[name=\"use\"]').checked = true;\n const values = JSON.parse(this.getAttribute('data-use'));\n fillInputs(values);\n }\n }\n if (this.hasAttribute('data-manual')) {\n fillInputs({});\n }\n if (this.classList.contains('show-pagination'))\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-500 of 585 addresses <br /><button type=\"button\" data-next=\"2\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n if (this.classList.contains('scroll-to-bottom-results'))\n paginationWrapper.scrollIntoView({ container: 'nearest' });\n // #endregion\n // #region event listeners\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n preFilledAddressRemoveBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n lookup.value = '';\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hasAttribute('data-placeholder'))\n lookup.setAttribute('placeholder', lookup === null || lookup === void 0 ? void 0 : lookup.getAttribute('data-placeholder'));\n // empty fields\n Array.from(this.querySelectorAll('input, select')).forEach((input) => {\n input.value = '';\n });\n lookup.value = \"\";\n // uncheck box\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n this.addEventListener('open-manual', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (e) => {\n if (e.keyCode === 13) {\n triggerSearch(lookup.value, false, true);\n }\n });\n lookup.addEventListener('input', () => {\n var _a;\n lookup.classList.remove('is-invalid');\n if (errorMsg)\n errorMsg.innerHTML = '';\n const v = ((_a = lookup.value) !== null && _a !== void 0 ? _a : '').trim();\n if (v.length < minChars) {\n list.innerHTML = '';\n if (paginationWrapper) {\n paginationWrapper.innerHTML = '';\n }\n list === null || list === void 0 ? void 0 : list.classList.remove('loading', 'noresults');\n cacheSearchQuery = '';\n return;\n }\n triggerSearch(v);\n });\n list.addEventListener('click', (e) => {\n if (e.target.tagName == 'OPTION') {\n const values = JSON.parse(e.target.getAttribute('data-values'));\n fillInputs(values);\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n });\n atleastone === null || atleastone === void 0 ? void 0 : atleastone.addEventListener('input', (e) => {\n Array.from(atleastone.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n atleastoneValidate();\n });\n postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => {\n triggerSearch(lookup.value, false, true);\n });\n this === null || this === void 0 ? void 0 : this.addEventListener('close-button-pressed', () => {\n list.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = '';\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n });\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => {\n if (e.target.tagName === 'BUTTON') {\n triggerSearch(lookup.value, true, true);\n }\n });\n // #endregion\n // #region Matched address\n if (this.hasAttribute('data-matched')) {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.classList.remove('d-none');\n if (this.hasAttribute('data-matched-label'))\n matchedAddress === null || matchedAddress === void 0 ? void 0 : matchedAddress.innerHTML = this.getAttribute('data-matched-label');\n matchedAddressEntered === null || matchedAddressEntered === void 0 ? void 0 : matchedAddressEntered.addEventListener('click', () => {\n var _a;\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const useCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[name=\"use\"]');\n useCheckbox.checked = true;\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n checkFilled(this);\n });\n matchedAddressUse === null || matchedAddressUse === void 0 ? void 0 : matchedAddressUse.addEventListener('click', () => {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const values = JSON.parse(this.getAttribute('data-matched'));\n fillInputs(values);\n checkFilled(this);\n });\n }\n else {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n }\n // #endregion\n advancedSelect(this, lookup, list, true);\n if (this.hasAttribute('data-disabled'))\n lookup === null || lookup === void 0 ? void 0 : lookup.setAttribute('disabled', 'disabled');\n });\n }\n static get observedAttributes() {\n return ['data-disabled'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n switch (attrName) {\n case 'data-disabled': {\n if (oldVal != newVal && newVal == 'disabled') {\n lookup === null || lookup === void 0 ? void 0 : lookup.setAttribute('disabled', 'disabled');\n }\n else if (oldVal != newVal) {\n lookup === null || lookup === void 0 ? void 0 : lookup.removeAttribute('disabled');\n }\n break;\n }\n }\n }\n}\nexport default iamAddressLookup;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","e","addActive","x","removeActive","emptyField","updateEvent","isValidPostcode","searchValue","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","iamAddressLookup","_a","template","_b","_c","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","listWrapper","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","preFilledAddressRemoveBtn","dataDisplayText","postcodeSubmit","errorMsg","paginationWrapper","minChars","pageNumber","atleastone","matchedAddress","matchedAddressWrapper","matchedAddressUse","matchedAddressEntered","cacheSearchQuery","titleElement","checkFilled","component","preFilledAddress","preFilled","input","openManualWrapper","atleastoneValidate","element","fillInputs","values","search","searchValue_1","args_1","paginate","limit","ajaxURL","postcode","signal","Cookies","response","listString","addresses","address","attribute","itemString","error","searchTimer","triggerSearch","raw","immediate","useCheckbox","v","attrName","oldVal","newVal"],"mappings":";;;IAAA,6BAEA,SAASA,EAAQC,EAAQ,CACvB,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAS,UAAUD,CAAC,EACxB,QAASE,KAAOD,EACdF,EAAOG,CAAG,EAAID,EAAOC,CAAG,CAE5B,CACA,OAAOH,CACT,CAIA,IAAII,GAAmB,CACrB,KAAM,SAAUC,EAAO,CACrB,OAAIA,EAAM,CAAC,IAAM,MACfA,EAAQA,EAAM,MAAM,EAAG,EAAE,GAEpBA,EAAM,QAAQ,mBAAoB,kBAAkB,CAC7D,EACA,MAAO,SAAUA,EAAO,CACtB,OAAO,mBAAmBA,CAAK,EAAE,QAC/B,2CACA,kBACN,CACE,CACF,EAKA,SAASC,EAAMC,EAAWC,EAAmB,CAC3C,SAASC,EAAKC,EAAML,EAAOM,EAAY,CACrC,GAAI,SAAO,SAAa,KAIxB,CAAAA,EAAaZ,EAAO,GAAIS,EAAmBG,CAAU,EAEjD,OAAOA,EAAW,SAAY,WAChCA,EAAW,QAAU,IAAI,KAAK,KAAK,MAAQA,EAAW,QAAU,KAAK,GAEnEA,EAAW,UACbA,EAAW,QAAUA,EAAW,QAAQ,YAAW,GAGrDD,EAAO,mBAAmBA,CAAI,EAC3B,QAAQ,uBAAwB,kBAAkB,EAClD,QAAQ,QAAS,MAAM,EAE1B,IAAIE,EAAwB,GAC5B,QAASC,KAAiBF,EACnBA,EAAWE,CAAa,IAI7BD,GAAyB,KAAOC,EAE5BF,EAAWE,CAAa,IAAM,KAWlCD,GAAyB,IAAMD,EAAWE,CAAa,EAAE,MAAM,GAAG,EAAE,CAAC,IAGvE,OAAQ,SAAS,OACfH,EAAO,IAAMH,EAAU,MAAMF,EAAOK,CAAI,EAAIE,EAChD,CAEA,SAASE,EAAKJ,EAAM,CAClB,GAAI,SAAO,SAAa,KAAgB,UAAU,QAAU,CAACA,GAQ7D,SAFIK,EAAU,SAAS,OAAS,SAAS,OAAO,MAAM,IAAI,EAAI,CAAA,EAC1DC,EAAM,CAAA,EACDf,EAAI,EAAGA,EAAIc,EAAQ,OAAQd,IAAK,CACvC,IAAIgB,EAAQF,EAAQd,CAAC,EAAE,MAAM,GAAG,EAC5BI,EAAQY,EAAM,MAAM,CAAC,EAAE,KAAK,GAAG,EAEnC,GAAI,CACF,IAAIC,EAAQ,mBAAmBD,EAAM,CAAC,CAAC,EAGvC,GAFAD,EAAIE,CAAK,EAAIX,EAAU,KAAKF,EAAOa,CAAK,EAEpCR,IAASQ,EACX,KAEJ,MAAY,CAAC,CACf,CAEA,OAAOR,EAAOM,EAAIN,CAAI,EAAIM,EAC5B,CAEA,OAAO,OAAO,OACZ,CACE,IAAAP,EACA,IAAAK,EACA,OAAQ,SAAUJ,EAAMC,EAAY,CAClCF,EACEC,EACA,GACAX,EAAO,CAAA,EAAIY,EAAY,CACrB,QAAS,EACrB,CAAW,CACX,CACM,EACA,eAAgB,SAAUA,EAAY,CACpC,OAAOL,EAAK,KAAK,UAAWP,EAAO,CAAA,EAAI,KAAK,WAAYY,CAAU,CAAC,CACrE,EACA,cAAe,SAAUJ,EAAW,CAClC,OAAOD,EAAKP,EAAO,GAAI,KAAK,UAAWQ,CAAS,EAAG,KAAK,UAAU,CACpE,CACN,EACI,CACE,WAAY,CAAE,MAAO,OAAO,OAAOC,CAAiB,CAAC,EACrD,UAAW,CAAE,MAAO,OAAO,OAAOD,CAAS,CAAC,CAClD,CACA,CACA,CAEA,IAAIY,GAAMb,EAAKF,GAAkB,CAAE,KAAM,GAAG,CAAE,EClI9C,SAASgB,GAAeA,EAAgBC,EAAmBC,EAAUC,EAAW,GAAO,CACnF,IAAIC,EAAe,GACKF,EAAS,QAAQ,oBAAoB,GAAIA,EAAS,QAAQ,oBAAoB,EAEtGD,EAAkB,aAAa,YAAaA,EAAkB,aAAa,MAAM,CAAC,EAClFA,EAAkB,aAAa,OAAQ,EAAE,EACrCA,EAAkB,aAAa,aAAa,GAC5CA,EAAkB,aAAa,mBAAoBA,EAAkB,aAAa,aAAa,CAAC,EAChGA,EAAkB,aAAa,aAAa,GAC5CA,EAAkB,aAAa,4BAA6BA,EAAkB,aAAa,aAAa,CAAC,EAC7GA,EAAkB,iBAAiB,QAAS,UAAY,CAChDA,EAAkB,OAAS,KAC3BA,EAAkB,aAAa,cAAeA,EAAkB,KAAK,EACrEA,EAAkB,aAAa,aAAcA,EAAkB,KAAK,GAExEA,EAAkB,MAAQ,EAC9B,CAAC,EACDA,EAAkB,iBAAiB,QAAS,UAAY,CAChDA,EAAkB,OAAS,IAC3BA,EAAkB,aAAa,aAAcA,EAAkB,KAAK,CAE5E,CAAC,EACDA,EAAkB,iBAAiB,OAAQ,UAAY,CAC/CA,EAAkB,aAAa,YAAY,IAC3CA,EAAkB,MAAQA,EAAkB,aAAa,YAAY,GAErEA,EAAkB,aAAa,kBAAkB,GACjDA,EAAkB,aAAa,cAAeA,EAAkB,aAAa,kBAAkB,CAAC,CACxG,CAAC,EACD,UAAWI,KAAUH,EAAS,QACtBG,EAAO,WAAa,KACpBA,EAAO,UAAYA,EAAO,OAElCH,EAAS,iBAAiB,QAAS,SAAUI,EAAO,CAChD,GAAIA,GAASA,EAAM,kBAAkB,aAAeA,EAAM,OAAO,QAAQ,QAAQ,EAAG,CAChF,MAAMD,EAASC,EAAM,OAAO,QAAQ,QAAQ,EAC5CL,EAAkB,MAAQI,EAAO,MAC7B,OAAO,OAAO,qBAAuB,YACrC,OAAO,oBAAoBJ,CAAiB,EAChD,UAAWM,KAAeL,EAAS,QAC/BK,EAAY,UAAU,OAAO,QAAQ,EAEzCF,EAAO,UAAU,IAAI,QAAQ,CACjC,CACJ,CAAC,EACDJ,EAAkB,iBAAiB,QAAS,UAAY,CAGpD,GAFAA,EAAkB,gBAAgB,YAAY,EAC9CG,EAAe,GACXJ,EAAe,SAAW,qBAAsB,CAChD,MAAMQ,EAAOP,EAAkB,MAAM,YAAW,EAChD,UAAWI,KAAUH,EAAS,QACtBG,EAAO,MAAM,YAAW,EAAG,QAAQG,CAAI,EAAI,IAC3CH,EAAO,MAAM,QAAU,QACvBA,EAAO,UAAU,OAAO,MAAM,IAG9BA,EAAO,MAAM,QAAU,OACvBA,EAAO,UAAU,IAAI,MAAM,EAGvC,CACJ,CAAC,EACDL,EAAe,iBAAiB,UAAW,SAAUS,EAAG,CAChDA,EAAE,SAAW,IACbL,IACAM,EAAUR,EAAS,OAAO,GAErBO,EAAE,SAAW,IAClBL,IACAM,EAAUR,EAAS,OAAO,GAErBO,EAAE,SAAW,KAClBA,EAAE,eAAc,EACZL,EAAe,IAEXF,EAAS,SACTA,EAAS,QAAQE,CAAY,EAAE,MAAK,EAGpD,CAAC,EACD,SAASM,EAAUC,EAAG,CAClB,GAAI,CAACA,EACD,MAAO,GACXC,EAAaD,CAAC,EACVP,GAAgBO,EAAE,SAClBP,EAAe,GACfA,EAAe,IACfA,EAAeO,EAAE,OAAS,GAC9BA,EAAEP,CAAY,EAAE,UAAU,IAAI,QAAQ,CAC1C,CACA,SAASQ,EAAaD,EAAG,CACrB,GAAI,CAACA,EACD,MAAO,GACX,QAAS9B,EAAI,EAAGA,EAAI8B,EAAE,OAAQ9B,IAC1B8B,EAAE9B,CAAC,EAAE,UAAU,OAAO,QAAQ,CAEtC,CAEAoB,EACK,QAAQ,OAAO,EACf,mBAAmB,YAAa,oGAAoG,EACzI,MAAMY,EAAa,IAAM,CACrBZ,EAAkB,gBAAgB,aAAa,EAC3CA,EAAkB,aAAa,2BAA2B,GAC1DA,EAAkB,aAAa,cAAeA,EAAkB,aAAa,2BAA2B,CAAC,EAC7GA,EAAkB,gBAAgB,YAAY,EAC9CA,EAAkB,MAAQ,GAC1B,UAAWM,KAAeL,EAAS,QAC/BK,EAAY,UAAU,OAAO,QAAQ,EACrCA,EAAY,gBAAgB,OAAO,EAEvC,MAAMO,EAAc,IAAI,YAAY,sBAAsB,EAC1Dd,EAAe,cAAcc,CAAW,CAC5C,GACiBd,EAAe,cAAc,QAAQ,EAAIA,EAAe,cAAc,QAAQ,EAAIA,EAAe,WAAW,cAAc,QAAQ,GAC1I,iBAAiB,QAAS,SAAUS,EAAG,CAC5CI,EAAU,CACd,CAAC,EACDb,EAAe,iBAAiB,QAAS,SAAUS,EAAG,CAClDI,EAAU,CACd,CAAC,CACL,CCqDO,MAAME,GAAmBC,GACb,gEACD,KAAKA,EAAY,KAAI,CAAE,EChLzC,IAAIC,EAAwC,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMrC,EAAO,CAAE,OAAOA,aAAiBmC,EAAInC,EAAQ,IAAImC,EAAE,SAAUG,EAAS,CAAEA,EAAQtC,CAAK,CAAG,CAAC,CAAG,CAC3G,OAAO,IAAKmC,IAAMA,EAAI,UAAU,SAAUG,EAASC,EAAQ,CACvD,SAASC,EAAUxC,EAAO,CAAE,GAAI,CAAEyC,EAAKL,EAAU,KAAKpC,CAAK,CAAC,CAAG,OAASwB,EAAG,CAAEe,EAAOf,CAAC,CAAG,CAAE,CAC1F,SAASkB,EAAS1C,EAAO,CAAE,GAAI,CAAEyC,EAAKL,EAAU,MAASpC,CAAK,CAAC,CAAG,OAASwB,EAAG,CAAEe,EAAOf,CAAC,CAAG,CAAE,CAC7F,SAASiB,EAAKE,EAAQ,CAAEA,EAAO,KAAOL,EAAQK,EAAO,KAAK,EAAIN,EAAMM,EAAO,KAAK,EAAE,KAAKH,EAAWE,CAAQ,CAAG,CAC7GD,GAAML,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CACxE,CAAC,CACL,EAIA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,gBACb,CAAC,EACD,MAAMU,WAAyB,WAAY,CACvC,aAAc,CACV,IAAIC,EACJ,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sDAoByB,KAAK,aAAa,kBAAkB,EAAI,KAAK,aAAa,kBAAkB,EAAI,EAAE,0GAA2G,SAAS,MAAQ,OAAS,SAAkB,KAAK,aAAa,kBAAkB,EAAK,OAAS,MAAQ,OAAS,OAAS,OAAS,KAAK,aAAa,kBAAkB,EAAI,UAAU,YAAY,KAAK,aAAa,qBAAqB,EAAI,KAAK,aAAa,qBAAqB,EAAI,EAAE;AAAA;AAAA;AAAA;AAAA,qFAIrb,KAAK,aAAa,gBAAgB,EAAI,KAAK,aAAa,gBAAgB,EAAI,yBAAyB;AAAA;AAAA,0CAEhJ,KAAK,aAAa,iBAAiB,EAAI,KAAK,aAAa,iBAAiB,EAAI,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4FAiB9B,KAAK,aAAa,4BAA4B,EAAI,KAAK,aAAa,4BAA4B,EAAI,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAgB5MD,EAAK,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,YAAYC,EAAS,QAAQ,UAAU,EAAI,CAAC,CAC/G,CACA,mBAAoB,CAChB,OAAOd,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,IAAIa,EAAIE,EAAIC,EACZ,MAAMC,EAAS,KAAK,WAAW,cAAc,mBAAmB,EAC1DC,EAAgB,KAAK,WAAW,cAAc,kBAAkB,EAChEC,EAAgB,KAAK,WAAW,cAAc,iBAAiB,EAC/DC,EAAmB,KAAK,WAAW,cAAc,aAAa,EAC9DC,EAAO,KAAK,cAAc,gCAAgC,EAC1D,KAAK,cAAc,gCAAgC,EACnD,KAAK,WAAW,cAAc,6BAA6B,EAC3DC,EAAc,KAAK,WAAW,cAAc,oBAAoB,EAChEC,EAAkB,KAAK,WAAW,cAAc,uBAAuB,EACvEC,EAAkB,KAAK,WAAW,cAAc,uBAAuB,EACvEC,EAAQ,KAAK,aAAa,YAAY,EAAI,KAAK,aAAa,YAAY,EAAI,kBAC5EC,EAAsB,KAAK,WAAW,cAAc,sBAAsB,EAC1EC,GAA4B,KAAK,WAAW,cAAc,wBAAwB,EAClFC,EAAkB,KAAK,aAAa,mBAAmB,EACvDC,GAAkBhB,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,mBAAmB,EACjHiB,GAAYf,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,kCAAkC,EAC1HgB,GAAqBf,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,oBAAoB,EACrHgB,EAAW,KAAK,aAAa,gBAAgB,EAAI,SAAS,KAAK,aAAa,gBAAgB,CAAC,EAAI,EACvG,IAAIC,EAAa,EACjB,MAAMC,EAAa,KAAK,cAAc,aAAa,EAC7CC,EAAiB,KAAK,WAAW,cAAc,kBAAkB,EACjEC,EAAwB,KAAK,WAAW,cAAc,UAAU,EAChEC,EAAoB,KAAK,WAAW,cAAc,uBAAuB,EACzEC,EAAwB,KAAK,WAAW,cAAc,uBAAuB,EACnF,IAAIC,EAAmB,GACvB,MAAM,KAAK,KAAK,WAAW,iBAAiB,QAAQ,CAAC,EAAE,QAASC,GAAiB,CAC7EA,EAAa,UAAYf,CAC7B,CAAC,EAED,SAASgB,EAAYC,EAAW,CAC5B,MAAMC,EAAmBD,EAAU,WAAW,cAAc,qBAAqB,EACjF,IAAIE,EAAY,GAChBD,EAAiB,UAAY,GAC7B,MAAM,KAAKD,EAAU,iBAAiB,6EAA6E,CAAC,EAAE,QAASG,GAAU,CACrI,IAAI7E,EAAQ6E,EAAM,aAAa,YAAY,EAAIA,EAAM,aAAa,YAAY,EAAIA,EAAM,MACpFA,EAAM,SAAW,UAAYH,EAAU,cAAc,WAAWG,EAAM,KAAK,gBAAgB,IAC3F7E,EAAQ0E,EAAU,cAAc,WAAWG,EAAM,KAAK,gBAAgB,EAAE,aAAa,YAAY,GAChG7E,EAWD2E,EAAiB,WAAa3E,GAAS,UAAU,KAAKA,CAAK,EAAI,IAAM,MAVjE6E,EAAM,QAAQ,aAAa,GACtBX,EAAW,cAAc,6BAA6B,IACvDU,EAAY,GAU5B,CAAC,EACDD,EAAiB,UAAYA,EAAiB,UAAU,MAAM,EAAG,EAAE,EAE/DC,IACIF,EAAU,cAAc,gBAAgB,IACxCC,EAAiB,UAAYD,EAAU,cAAc,gBAAgB,EAAE,OAE3EtB,EAAiB,UAAU,OAAO,SAAS,EAC3CF,EAAc,UAAU,IAAI,SAAS,EACrCC,EAAc,UAAU,IAAI,SAAS,EAE7C,CACA,SAAS2B,GAAoB,CACzB5B,EAAc,UAAU,IAAI,SAAS,EACrCC,EAAc,UAAU,OAAO,SAAS,EACxC,MAAM,KAAKA,EAAc,iBAAiB,iBAAiB,CAAC,EAAE,QAAS0B,GAAU,CAC7EA,EAAM,aAAa,WAAY,MAAM,CACzC,CAAC,EACD1B,EAAc,eAAc,CAChC,CACA,MAAM4B,EAAqB,IAAM,CACzBb,EAAW,cAAc,6BAA6B,EACtD,MAAM,KAAKA,EAAW,iBAAiB,OAAO,CAAC,EAAE,QAASc,GAAY,CAClEA,EAAQ,gBAAgB,UAAU,CACtC,CAAC,EAGD,MAAM,KAAKd,EAAW,iBAAiB,OAAO,CAAC,EAAE,QAASW,GAAU,CAChEA,EAAM,aAAa,WAAY,MAAM,CACzC,CAAC,CAET,EACMI,EAAcC,GAAW,CAC3BhC,EAAc,UAAU,IAAI,SAAS,EACrCC,EAAc,UAAU,OAAO,SAAS,EACxC,OAAO,KAAK+B,CAAM,EAAE,QAASpF,GAAQ,CACjC,MAAME,EAAQkF,EAAOpF,CAAG,EACxB,IAAI+E,EAAQ,GACR,KAAK,cAAc,eAAe/E,CAAG,IAAI,EACzC+E,EAAQ,KAAK,cAAc,eAAe/E,CAAG,IAAI,EAC5C,KAAK,cAAc,mBAAmBA,CAAG,IAAI,EAClD+E,EAAQ,KAAK,cAAc,mBAAmB/E,CAAG,IAAI,EAChD,KAAK,cAAc,UAAUA,CAAG,IAAI,IACzC+E,EAAQ,KAAK,cAAc,UAAU/E,CAAG,IAAI,GAC5C+E,GAASA,EAAM,SAAW,UAAY7E,EAAM,GAC5C6E,EAAM,MAAQ7E,EAAM,GAEf6E,GAAS7E,GAAS,IACvB6E,EAAM,MAAQ7E,EACV6E,EAAM,aAAa,eAAe,IAClCA,EAAM,aAAa,WAAY,EAAI,EACnCA,EAAM,UAAU,IAAI,UAAU,IAG7B7E,GAAS,IACd,KAAK,mBAAmB,YAAa,2DAA2DF,CAAG,YAAYE,CAAK,MAAM,EAE1H,KAAK,cAAc,iBAAiBF,CAAG,IAAI,IAC3C,KAAK,cAAc,iBAAiBA,CAAG,IAAI,EAAE,OAAS,IAAME,EACpE,CAAC,EACD,MAAM,KAAK,KAAK,iBAAiB,iBAAiB,CAAC,EAAE,QAAS6E,GAAU,CACpEA,EAAM,aAAa,WAAY,MAAM,CACzC,CAAC,EACD5B,EAAO,gBAAgB,UAAU,EAC7BiB,GACAa,EAAkB,EAEjB,KAAK,aAAa,mBAAmB,GACtCN,EAAY,IAAI,CACxB,EACMU,EAAS,CAACC,KAAkBC,IAAWrD,EAAU,KAAM,CAACoD,EAAe,GAAGC,CAAM,EAAG,OAAQ,UAAWtD,EAAauD,EAAW,GAAO,CACvI,IAAIzC,EAAIE,EACR,GAAI,CAACuC,GAAYvD,IAAgBwC,GACxB,GAAA1B,EAAiDQ,GAAK,YAAc,MAAQR,IAAO,SAAkBA,EAAG,OACzG,OAA4CQ,GAAK,UAAU,OAAO,SAAS,EAC/BA,GAAK,UAAU,OAAO,WAAW,EACnBC,GAAY,MAAK,GAC1EP,EAAiDM,GAAK,cAAc,QAAQ,KAAO,MAAQN,IAAO,QAAkBA,EAAG,MAAK,EACtH,GAIf,MAAMwC,EAAQ,KAAK,aAAa,YAAY,EAAI,SAAS,KAAK,aAAa,YAAY,CAAC,EAAI,IACxFD,EACArB,IAEAA,EAAa,EACjB,IAAIuB,EAAU,KAAK,aAAa,UAAU,EAC1CA,GAAW,GAAG,UAAUzD,CAAW,CAAC,iBAAiBkC,CAAU,eAAesB,CAAK,GAC/E,KAAK,aAAa,YAAY,IAC9BC,GAAW,KAAK,aAAa,YAAY,GAE7C,MAAMC,EAAW1D,EACjB,GAAI,KAAK,aAAa,eAAe,EACjC,GAAKD,GAAgBC,CAAW,EAIvBuD,IACDjC,EAAK,UAAY,IACuBA,GAAK,UAAU,IAAI,SAAS,EAC5BA,GAAK,UAAU,OAAO,WAAW,EAC7BJ,GAAO,UAAU,OAAO,YAAY,EACpFa,GAAa,OAAuCA,EAAS,UAAY,IAC7BT,GAAK,UAAU,OAAO,mBAAmB,EACrF,MAAM,KAAK,KAAK,iBAAiB,iBAAiB,CAAC,EAAE,QAASwB,GAAU,CACpEA,EAAM,gBAAgB,UAAU,CACpC,CAAC,EACD,MAAM,KAAK,KAAK,iBAAiB,iBAAiB,CAAC,EAAE,QAASA,GAAU,CACpEA,EAAM,gBAAgB,UAAU,EAChCA,EAAM,UAAU,OAAO,UAAU,CACrC,CAAC,EACD,MAAM,KAAK,KAAK,iBAAiB,WAAW,CAAC,EAAE,QAASA,GAAU,CAC9DA,EAAM,OAAM,CAChB,CAAC,MAnBD,OAAO,kDAsBf,KAAK,UAAU,IAAI,UAAU,EAC7B,KAAK,UAAU,IAAI,eAAe,EAE7B,OAAO,aACR,OAAO,WAAa,CAAA,GAEpB,OAAO,WAAWW,CAAO,GACzB,OAAO,WAAWA,CAAO,EAAE,MAAK,EAEpC,OAAO,WAAWA,CAAO,EAAI,IAAI,gBACjC,KAAM,CAAE,OAAAE,EAAM,EAAK,OAAO,WAAWF,CAAO,EAC5C,GAAI,CACA,OAAO,MAAM,MAAMA,EAAS,CACxB,OAAQE,GACR,OAAQ,MACR,YAAa,cACb,QAAS,IAAI,QAAQ,CACjB,eAAgB,mBAChB,OAAQ,mBACR,mBAAoB,iBACpB,eAAgBC,GAAQ,IAAI,YAAY,CACpE,CAAyB,CACzB,CAAqB,EACI,KAAMC,GAAaA,EAAS,KAAI,CAAE,EAClC,KAAMA,GAAa,CACpB,IAAI/C,EAEJ,IAAIgD,EAAa,GACjB,MAAMC,EAAYF,EAAS,KAAUA,EAAS,KAAUA,EACxD,OAAAE,EAAU,QAASC,GAAY,CAE3B,GAAI,OAAOA,EAAQ,YAAc,UAAYA,EAAQ,WAAW,MAAO,CACnE,MAAMzF,EAAa,CAAA,EACfyF,EAAQ,KACRA,EAAQ,WAAW,GAAKA,EAAQ,IAChCA,EAAQ,gBACRA,EAAQ,WAAa,OAAO,OAAOA,EAAQ,WAAYA,EAAQ,aAAa,GAChF,OAAO,KAAKA,EAAQ,UAAU,EAAE,QAASjG,GAAQ,CAC7C,MAAMkG,EAAYD,EAAQ,WAAWjG,CAAG,EACpC,OAAOkG,GAAa,SACpB1F,EAAWR,CAAG,EAA0DkG,GAAU,GAGlF1F,EAAWR,CAAG,EAAIkG,CAE1B,CAAC,EACD,MAAMd,EAAS,KAAK,UAAU5E,CAAU,EACxCuF,GAAc,wBAAwBX,CAAM,MAAMa,EAAQ,WAAW,KAAK,WAC9E,SACS,OAAOA,EAAQ,OAAS,SAAU,CACnCA,EAAQ,KACRA,EAAQ,WAAW,GAAKA,EAAQ,IAChCA,EAAQ,gBACRA,EAAQ,WAAa,OAAO,OAAOA,EAAQ,WAAYA,EAAQ,aAAa,GAChF,MAAMb,EAAS,KAAK,UAAUa,EAAQ,KAAK,EAC3CF,GAAc,wBAAwBX,CAAM,KAAKa,EAAQ,KAAQ,KAAKN,CAAQ,WAClF,KACK,CACD,MAAMP,EAAS,KAAK,UAAUa,CAAO,EACrC,GAAInC,EACAiC,GAAc,wBAAwBX,CAAM,KAAKa,EAAQnC,CAAe,CAAC,KAAK6B,CAAQ,gBAErF,CACD,IAAIQ,EAAa,GACjB,SAAW,CAACnG,EAAKE,CAAK,IAAK,OAAO,QAAQ+F,CAAO,EACzCjG,GAAO,sBACPmG,GAAc,GAAGjG,CAAK,IACjBF,GAAO,YAAcA,GAAO,iBAAmBA,GAAO,UAC3DmG,GAAc,GAAGjG,CAAK,GAAG,UAAU,KAAKA,CAAK,EAAI,GAAK,GAAG,KAEjE6F,GAAc,wBAAwBX,CAAM,KAAKe,CAAU,KAAKR,CAAQ,WAC5E,CACJ,CACJ,CAAC,EACGH,EACAjC,EAAK,WAAawC,EAElBxC,EAAK,UAAYwC,EAErBtB,EAAmBxC,EACf+D,EAAU,OACkCzC,GAAK,UAAU,OAAO,SAAS,GAG/BA,GAAK,UAAU,OAAO,SAAS,EAC/BA,GAAK,UAAU,IAAI,WAAW,GAG1EuC,EAAS,MACTA,EAAS,KAAK,cACdA,EAAS,KAAK,aACdA,EAAS,KAAK,YAAcA,EAAS,KAAK,aAC1C7B,GAAsB,OAAgDA,EAAkB,UAAY,kEAAkE6B,EAAS,KAAK,aAAeL,CAAK,OAAOK,EAAS,KAAK,aAAa,qDAAqDA,EAAS,KAAK,aAAe,CAAC,mHAG7T7B,GAAsB,OAAgDA,EAAkB,UAAY,IAEpG6B,EAAS,MAAQA,EAAS,KAAK,gBACavC,GAAK,UAAU,IAAI,mBAAmB,EAE5BC,GAAY,MAAK,GAC1ET,EAAiDQ,GAAK,cAAc,QAAQ,KAAO,MAAQR,IAAO,QAAkBA,EAAG,MAAK,EACtH,EACX,CAAC,CACL,OACOqD,EAAO,CACV,OAAmDA,GAAM,OAAU,aACxD,IAEX,QAAQ,IAAIA,CAAK,EACV,+DACX,CACJ,CAAC,EACD,IAAIC,EACJ,MAAMC,EAAgB,CAACC,EAAKf,EAAW,GAAOgB,EAAY,KAAU,CAChE,MAAMtG,GAASqG,GAAuC,IAAI,KAAI,EAC9D,GAAI,EAAArG,EAAM,OAASgE,GAEnB,IAAIsC,EAAW,CACPH,GACA,OAAO,aAAaA,CAAW,EAC9BhB,EAAOnF,EAAOsF,CAAQ,EAC3B,MACJ,CACIa,GACA,OAAO,aAAaA,CAAW,EACnCA,EAAc,OAAO,WAAW,IAAM,CAC7BhB,EAAOnF,EAAOsF,CAAQ,CAC/B,EAAG,GAAG,EACV,EASA,GANK,KAAK,aAAa,mBAAmB,GACtCb,EAAY,IAAI,EACpB,KAAK,iBAAiB,SAAU,IAAM,CAC7B,KAAK,aAAa,mBAAmB,GACtCA,EAAY,IAAI,CACxB,CAAC,EACG,KAAK,aAAa,UAAU,EAAG,CAE/B,MAAM8B,EAAc,gFADH,KAAK,aAAa,gBAAgB,EAAI,KAAK,aAAa,gBAAgB,EAAI,mBACe,iBAmB5G,GAlBArD,EAAc,mBAAmB,aAAcqD,CAAW,EAC1D,KAAK,WAAW,iBAAiB,SAAWlF,GAAU,CAClD,GAAIA,GAASA,EAAM,kBAAkB,aAAeA,EAAM,OAAO,QAAQ,cAAc,GAClEA,EAAM,OAAO,QAAQ,cAAc,EACvC,QAAS,CAClB6B,EAAc,UAAU,IAAI,SAAS,EACrCC,EAAc,UAAU,OAAO,SAAS,EACxC,MAAM+B,EAAS,KAAK,MAAM,KAAK,aAAa,UAAU,CAAC,EACvD,OAAO,KAAKA,CAAM,EAAE,QAASpF,GAAQ,CACjC,MAAME,EAAQkF,EAAOpF,CAAG,EACpB,KAAK,cAAc,eAAeA,CAAG,IAAI,EACzC,KAAK,cAAc,eAAeA,CAAG,IAAI,EAAE,MAAQE,EAC9C,KAAK,cAAc,UAAUF,CAAG,IAAI,IACzC,KAAK,cAAc,UAAUA,CAAG,IAAI,EAAE,MAAQE,EACtD,CAAC,CACL,CAER,CAAC,EACG,KAAK,aAAa,kBAAkB,EAAG,CACvCkD,EAAc,cAAc,cAAc,EAAE,QAAU,GACtD,MAAMgC,EAAS,KAAK,MAAM,KAAK,aAAa,UAAU,CAAC,EACvDD,EAAWC,CAAM,CACrB,CACJ,CACI,KAAK,aAAa,aAAa,GAC/BD,EAAW,CAAA,CAAE,EAEb,KAAK,UAAU,SAAS,iBAAiB,IACzClB,GAAsB,OAAgDA,EAAkB,UAAY,gPACpG,KAAK,UAAU,SAAS,0BAA0B,GAClDA,EAAkB,eAAe,CAAE,UAAW,SAAS,CAAE,EAG7DL,EAAoB,iBAAiB,QAAS,IAAM,CAChDN,EAAiB,UAAU,IAAI,SAAS,EACxC0B,EAAiB,CACrB,CAAC,EACDnB,GAA0B,iBAAiB,QAAS,IAAM,CACtDP,EAAiB,UAAU,IAAI,SAAS,EACxCF,EAAc,UAAU,OAAO,SAAS,EACxCC,EAAc,UAAU,IAAI,SAAS,EACrCE,EAAK,UAAY,GAC2BA,GAAK,UAAU,OAAO,SAAS,EAC/BA,GAAK,UAAU,OAAO,WAAW,EAC7BJ,GAAO,UAAU,OAAO,YAAY,EACpFa,GAAa,OAAuCA,EAAS,UAAY,IAC7BT,GAAK,UAAU,OAAO,mBAAmB,EACrFJ,EAAO,MAAK,EACZA,EAAO,MAAQ,GACqCA,GAAO,aAAa,kBAAkB,GACtFA,EAAO,aAAa,cAA+DA,GAAO,aAAa,kBAAkB,CAAC,EAE9H,MAAM,KAAK,KAAK,iBAAiB,eAAe,CAAC,EAAE,QAAS4B,GAAU,CAClEA,EAAM,MAAQ,EAClB,CAAC,EACD5B,EAAO,MAAQ,GAEX,KAAK,WAAW,cAAc,cAAc,IAC5C,KAAK,WAAW,cAAc,cAAc,EAAE,QAAU,IAC5D,MAAMpB,EAAc,IAAI,YAAY,kBAAkB,EACtD,KAAK,cAAcA,CAAW,EAC9BqB,EAAc,eAAc,CAChC,CAAC,EACDK,EAAgB,iBAAiB,QAAS,IAAM,CAC5CuB,EAAiB,CACrB,CAAC,EACD,KAAK,iBAAiB,cAAe,IAAM,CACvCA,EAAiB,CACrB,CAAC,EACDtB,EAAgB,iBAAiB,QAAS,IAAM,CAC5CN,EAAc,UAAU,OAAO,SAAS,EACxCC,EAAc,UAAU,IAAI,SAAS,EACrC,MAAMtB,EAAc,IAAI,YAAY,kBAAkB,EACtD,KAAK,cAAcA,CAAW,EAC9BqB,EAAc,eAAc,CAChC,CAAC,EACDD,EAAO,iBAAiB,QAAUzB,GAAM,CAChCA,EAAE,UAAY,IACd4E,EAAcnD,EAAO,MAAO,GAAO,EAAI,CAE/C,CAAC,EACDA,EAAO,iBAAiB,QAAS,IAAM,CACnC,IAAIJ,EACJI,EAAO,UAAU,OAAO,YAAY,EAChCa,IACAA,EAAS,UAAY,IACzB,MAAM0C,IAAM3D,EAAKI,EAAO,SAAW,MAAQJ,IAAO,OAASA,EAAK,IAAI,KAAI,EACxE,GAAI2D,EAAE,OAASxC,EAAU,CACrBX,EAAK,UAAY,GACbU,IACAA,EAAkB,UAAY,IAEUV,GAAK,UAAU,OAAO,UAAW,WAAW,EACxFkB,EAAmB,GACnB,MACJ,CACA6B,EAAcI,CAAC,CACnB,CAAC,EACDnD,EAAK,iBAAiB,QAAU7B,GAAM,CAClC,GAAIA,EAAE,OAAO,SAAW,SAAU,CAC9B,MAAM0D,EAAS,KAAK,MAAM1D,EAAE,OAAO,aAAa,aAAa,CAAC,EAC9DyD,EAAWC,CAAM,EACb,KAAK,WAAW,cAAc,cAAc,IAC5C,KAAK,WAAW,cAAc,cAAc,EAAE,QAAU,GAChE,CACJ,CAAC,EACuDhB,GAAW,iBAAiB,QAAU1C,GAAM,CAChG,MAAM,KAAK0C,EAAW,iBAAiB,iBAAiB,CAAC,EAAE,QAASW,GAAU,CAC1EA,EAAM,aAAa,WAAY,MAAM,CACzC,CAAC,EACDE,EAAkB,CACtB,CAAC,EAC+DlB,GAAe,iBAAiB,QAAS,IAAM,CAC3GuC,EAAcnD,EAAO,MAAO,GAAO,EAAI,CAC3C,CAAC,EACD,OAAS,MAAQ,OAAS,QAAkB,KAAK,iBAAiB,uBAAwB,IAAM,CAC5FI,EAAK,UAAY,GAC2BA,GAAK,UAAU,OAAO,SAAS,EAC/BA,GAAK,UAAU,OAAO,WAAW,EAC7BJ,GAAO,UAAU,OAAO,YAAY,EACpFa,GAAa,OAAuCA,EAAS,UAAY,IAC7BT,GAAK,UAAU,OAAO,mBAAmB,EACrFJ,EAAO,MAAK,CAChB,CAAC,EACqEc,GAAkB,iBAAiB,QAAUvC,GAAM,CACjHA,EAAE,OAAO,UAAY,UACrB4E,EAAcnD,EAAO,MAAO,GAAM,EAAI,CAE9C,CAAC,EAGG,KAAK,aAAa,cAAc,GAC8CmB,GAAsB,UAAU,OAAO,QAAQ,EACzH,KAAK,aAAa,oBAAoB,IACtCD,GAAmB,OAA6CA,EAAe,UAAY,KAAK,aAAa,oBAAoB,IACvDG,GAAsB,iBAAiB,QAAS,IAAM,CAChI,IAAIzB,EAC0EuB,GAAsB,OAAM,EAC1G,MAAMmC,GAAe1D,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,cAAc,EAC/G0D,EAAY,QAAU,GACtBrD,EAAc,UAAU,IAAI,SAAS,EACrCC,EAAc,UAAU,OAAO,SAAS,EACxC,MAAM+B,EAAS,KAAK,MAAM,KAAK,aAAa,UAAU,CAAC,EACvD,OAAO,KAAKA,CAAM,EAAE,QAASpF,GAAQ,CACjC,MAAME,EAAQkF,EAAOpF,CAAG,EACpB,KAAK,cAAc,eAAeA,CAAG,IAAI,EACzC,KAAK,cAAc,eAAeA,CAAG,IAAI,EAAE,MAAQE,EAC9C,KAAK,cAAc,UAAUF,CAAG,IAAI,IACzC,KAAK,cAAc,UAAUA,CAAG,IAAI,EAAE,MAAQE,EACtD,CAAC,EACDyE,EAAY,IAAI,CACpB,CAAC,EACqEJ,GAAkB,iBAAiB,QAAS,IAAM,CACtCD,GAAsB,OAAM,EAC1G,MAAMc,EAAS,KAAK,MAAM,KAAK,aAAa,cAAc,CAAC,EAC3DD,EAAWC,CAAM,EACjBT,EAAY,IAAI,CACpB,CAAC,GAG6EL,GAAsB,OAAM,EAG9GrD,GAAe,KAAMkC,EAAQI,EAAM,EAAI,EACnC,KAAK,aAAa,eAAe,GACeJ,GAAO,aAAa,WAAY,UAAU,CAClG,CAAC,CACL,CACA,WAAW,oBAAqB,CAC5B,MAAO,CAAC,eAAe,CAC3B,CACA,yBAAyBwD,EAAUC,EAAQC,EAAQ,CAC/C,MAAM1D,EAAS,KAAK,WAAW,cAAc,mBAAmB,EAChE,OAAQwD,EAAQ,CACZ,IAAK,gBAAiB,CACdC,GAAUC,GAAUA,GAAU,WACkB1D,GAAO,aAAa,WAAY,UAAU,EAErFyD,GAAUC,GACiC1D,GAAO,gBAAgB,UAAU,EAErF,KACJ,CACZ,CACI,CACJ","x_google_ignoreList":[0]}
@@ -33,7 +33,7 @@ class iamAdvancedSelect extends HTMLElement {
33
33
  display: none !important;
34
34
  }
35
35
  </style>
36
- <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
36
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
37
37
  <slot></slot>
38
38
  `;
39
39
  this.shadowRoot.appendChild(template.content.cloneNode(true));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta8
2
+ * iamKey v7.7.0
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */function l(r,t,o,s=!1){let a=-1;o.closest(".datalist__wrapper")&&o.closest(".datalist__wrapper"),t.setAttribute("data-list",t.getAttribute("list")),t.setAttribute("list",""),t.hasAttribute("placeholder")&&t.setAttribute("data-placeholder",t.getAttribute("placeholder")),t.hasAttribute("placeholder")&&t.setAttribute("data-original-placeholder",t.getAttribute("placeholder")),t.addEventListener("focus",function(){t.value!=""&&(t.setAttribute("placeholder",t.value),t.setAttribute("data-value",t.value)),t.value=""}),t.addEventListener("keyup",function(){t.value!=""&&t.setAttribute("data-value",t.value)}),t.addEventListener("blur",function(){t.hasAttribute("data-value")&&(t.value=t.getAttribute("data-value")),t.hasAttribute("data-placeholder")&&t.setAttribute("placeholder",t.getAttribute("data-placeholder"))});for(const e of o.options)e.innerHTML==""&&(e.innerHTML=e.value);o.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest("option")){const n=e.target.closest("option");t.value=n.value,typeof window.triggerDynamicEvent=="function"&&window.triggerDynamicEvent(t);for(const f of o.options)f.classList.remove("active");n.classList.add("active")}}),t.addEventListener("input",function(){if(t.removeAttribute("data-value"),a=-1,r.tagName!="IAM-ADDRESS-LOOKUP"){const e=t.value.toUpperCase();for(const n of o.options)n.value.toUpperCase().indexOf(e)>-1?(n.style.display="block",n.classList.remove("hide")):(n.style.display="none",n.classList.add("hide"))}}),r.addEventListener("keydown",function(e){e.keyCode==40?(a++,c(o.options)):e.keyCode==38?(a--,c(o.options)):e.keyCode==13&&(e.preventDefault(),a>-1&&o.options&&o.options[a].click())});function c(e){if(!e)return!1;u(e),a>=e.length&&(a=0),a<0&&(a=e.length-1),e[a].classList.add("active")}function u(e){if(!e)return!1;for(let n=0;n<e.length;n++)e[n].classList.remove("active")}t.closest("label").insertAdjacentHTML("beforeend",'<button class="empty btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>');const i=()=>{t.removeAttribute("placeholder"),t.hasAttribute("data-original-placeholder")&&t.setAttribute("placeholder",t.getAttribute("data-original-placeholder")),t.removeAttribute("data-value"),t.value="";for(const n of o.options)n.classList.remove("active"),n.removeAttribute("style");const e=new CustomEvent("close-button-pressed");r.dispatchEvent(e)};(r.querySelector(".empty")?r.querySelector(".empty"):r.shadowRoot.querySelector(".empty")).addEventListener("click",function(e){i()}),r.addEventListener("empty",function(e){i()})}const b=r=>r.replace(/ /g,"_"),m=function(r){return r=r.toLowerCase(),r=b(r),r=r.replace(/\W/g,""),r};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Advanced select"});class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
5
5
  <style>
@@ -17,7 +17,7 @@
17
17
  display: none !important;
18
18
  }
19
19
  </style>
20
- <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
20
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
21
21
  <slot></slot>
22
22
  `,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){const t=this.querySelector("input"),o=t.cloneNode();o.setAttribute("name",`${t.getAttribute("name")}Alt`),t.removeAttribute("data-change-events"),o.removeAttribute("id");let s=this.querySelector("datalist");if(t.after(o),t.setAttribute("type","hidden"),!s){s=document.createElement("datalist");const a=m("list");s.setAttribute("id",a),searchWrapper.appendChild(s),o.setAttribute("list",a)}l(this,o,s)}}export{v as default};
23
23
  //# sourceMappingURL=advanced-select.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-select.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","advanced-select.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\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 advancedSelect from '../../modules/advanced-select.js';\nimport { safeID } from '../../modules/helpers.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Advanced select',\n});\nclass iamAdvancedSelect 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 coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Clone original input field, re-name and use for display purposes\n const inputField = this.querySelector('input');\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n let datalist = this.querySelector('datalist');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n advancedSelect(this, displayInputField, datalist);\n }\n}\nexport default iamAdvancedSelect;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","addActive","x","removeActive","i","emptyField","updateEvent","snake","str","safeID","iamAdvancedSelect","assetLocation","coreCSS","template","inputField","listID"],"mappings":"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"}
1
+ {"version":3,"file":"advanced-select.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","advanced-select.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\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 advancedSelect from '../../modules/advanced-select.js';\nimport { safeID } from '../../modules/helpers.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Advanced select',\n});\nclass iamAdvancedSelect 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 coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Clone original input field, re-name and use for display purposes\n const inputField = this.querySelector('input');\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n let datalist = this.querySelector('datalist');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n advancedSelect(this, displayInputField, datalist);\n }\n}\nexport default iamAdvancedSelect;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","addActive","x","removeActive","i","emptyField","updateEvent","snake","str","safeID","iamAdvancedSelect","assetLocation","coreCSS","template","inputField","listID"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta8
2
+ * iamKey v7.7.0
3
3
  * Copyright 2022-2026 iamproperty
4
- */function E(t,m){const g=t.closest("dialog"),b=(e,r,o=!1)=>{let s=!1,a=r.getAttribute("name");if(!a)return!1;a.includes("[]")&&(a=a.replace("[]",`[${r.value}]`));let l=e.querySelector(`[data-name="${a}"]`);l&&r.getAttribute("type")=="checkbox"&&(s=!r.checked);const c=r.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),e.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.classList.add("tag"),o||l.classList.add("tag--not-set"),l.setAttribute("data-name",a),l.innerHTML=c.replace("$value",r.value),(!r.value||s)&&l.remove(),r.parentNode.closest("[data-filter-text]")){const i=r.parentNode.closest("[data-filter-text]");let f=!0;if(a="",i.querySelectorAll("input").forEach((u,d)=>{const p=u.getAttribute("name");if(a+=`${d!=0?",":""}${p}`,e.querySelector(`[data-name="${p}"]`)&&e.querySelector(`[data-name="${p}"]`).remove(),u.value){const n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.classList.add("tag"),o||l.classList.add("tag--not-set"),n.setAttribute("data-name",p),n.innerHTML=c.replace("$value",u.value),e.appendChild(n)}else f=!1}),e.querySelector(`[data-name="${a}"]`)&&e.querySelector(`[data-name="${a}"]`).remove(),f){let u=i.getAttribute("data-filter-text");i.querySelectorAll("input").forEach((p,n)=>{const y=p.getAttribute("name");e.querySelector(`[data-name="${y}"]`)&&e.querySelector(`[data-name="${y}"]`).remove(),u=u.replace(`$${n+1}`,p.value)});const d=document.createElement("button");d.setAttribute("type","button"),d.classList.add("filter"),d.classList.add("tag"),o||l.classList.add("tag--not-set"),d.setAttribute("data-name",a),d.innerHTML=u,e.appendChild(d)}}},v=(e=!1)=>{m.innerHTML="",Array.from(t.querySelectorAll('input:is([type="checkbox"],[type="radio"]):checked, input:not([type="checkbox"], [type="radio"])')).forEach(r=>{b(m,r,e)})};v(!0),Array.from(t.querySelectorAll("input[data-filter-text]")).forEach(e=>{e.addEventListener("change",function(r){var o;const s=!t.closest("dialog");if(!t.hasAttribute("data-keep-same")&&!t.querySelector("dialog")&&b(m,e,s),s){const a=new CustomEvent("update");(o=t.parentElement.closest("iam-applied-filters"))===null||o===void 0||o.dispatchEvent(a)}})});const h=e=>{if(!e?.hasAttribute("data-name"))return!1;const r=e.getAttribute("data-name").split(",");for(let o=0;o<r.length;o++){const s=r[o];let a=`[name="${s}"]`;s.match(/\[(.*)\]/)&&(a=`[value="${s.replace(/.*\[(.*)\]/,"$1")}"]`);const l=t.querySelectorAll(a);for(let c=0;c<l.length;c++){const i=l[c];i.getAttribute("type")!="radio"&&i.getAttribute("type")!="checkbox"?i.value="":i.checked=!1;const f=new CustomEvent("change");i?.dispatchEvent(f)}}e.remove(),v()};if(m.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){const r=e.target.closest(".filter"),o=r.getAttribute("data-name");h(r);const s=new CustomEvent("filter-clicked",{detail:o});if(t.dispatchEvent(s),t.querySelector("dialog iam-applied-filters")){const a=new CustomEvent("filter",{detail:o});t.querySelector("dialog iam-applied-filters").dispatchEvent(a)}}},!1),t.addEventListener("filter",e=>{const r=t.shadowRoot.querySelector(`[data-name="${e.detail}"]`);h(r)}),t.addEventListener("set-filters",e=>{v(!0)}),g){const e=t.querySelector(".btn-primary")?t.querySelector(".btn-primary"):t.shadowRoot.querySelector(".btn-primary");e?.addEventListener("click",r=>{const o=new CustomEvent("update"),s=new CustomEvent("submit");if(t.dispatchEvent(s),t.parentElement.closest("iam-applied-filters")&&t.parentElement.closest("iam-applied-filters").dispatchEvent(o),t.parentElement&&t.parentElement.closest("iam-applied-filters")&&!t.parentElement.closest("iam-applied-filters").closest("dialog")){const a=new CustomEvent("set-filters");t.parentElement.closest("iam-applied-filters").dispatchEvent(a)}if(v(!0),!t.querySelector(".btn-primary").hasAttribute("command")){g.close();const a=new Event("close");g.dispatchEvent(a)}})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const m=this.classList.toString(),g=document.createElement("template");g.innerHTML=`
4
+ */function E(t,m){const g=t.closest("dialog"),b=(e,o,r=!1)=>{let s=!1,a=o.getAttribute("name");if(!a)return!1;a.includes("[]")&&(a=a.replace("[]",`[${o.value}]`));let l=e.querySelector(`[data-name="${a}"]`);l&&o.getAttribute("type")=="checkbox"&&(s=!o.checked);const c=o.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),e.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.classList.add("tag"),r||l.classList.add("tag--not-set"),l.setAttribute("data-name",a),l.innerHTML=c.replace("$value",o.value),(!o.value||s)&&l.remove(),o.parentNode.closest("[data-filter-text]")){const i=o.parentNode.closest("[data-filter-text]");let v=!0;if(a="",i.querySelectorAll("input").forEach((u,n)=>{const p=u.getAttribute("name");if(a+=`${n!=0?",":""}${p}`,e.querySelector(`[data-name="${p}"]`)&&e.querySelector(`[data-name="${p}"]`).remove(),u.value){const d=document.createElement("button");d.setAttribute("type","button"),d.classList.add("filter"),d.classList.add("tag"),r||l.classList.add("tag--not-set"),d.setAttribute("data-name",p),d.innerHTML=c.replace("$value",u.value),e.appendChild(d)}else v=!1}),e.querySelector(`[data-name="${a}"]`)&&e.querySelector(`[data-name="${a}"]`).remove(),v){let u=i.getAttribute("data-filter-text");i.querySelectorAll("input").forEach((p,d)=>{const y=p.getAttribute("name");e.querySelector(`[data-name="${y}"]`)&&e.querySelector(`[data-name="${y}"]`).remove(),u=u.replace(`$${d+1}`,p.value)});const n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.classList.add("tag"),r||l.classList.add("tag--not-set"),n.setAttribute("data-name",a),n.innerHTML=u,e.appendChild(n)}}},f=(e=!1)=>{m.innerHTML="",Array.from(t.querySelectorAll('input:is([type="checkbox"],[type="radio"]):checked, input:not([type="checkbox"], [type="radio"])')).forEach(o=>{b(m,o,e)})};f(!0),Array.from(t.querySelectorAll("input[data-filter-text]")).forEach(e=>{e.addEventListener("change",function(o){var r;const s=!t.closest("dialog");if(!t.hasAttribute("data-keep-same")&&!t.querySelector("dialog")&&b(m,e,s),s){const a=new CustomEvent("update");(r=t.parentElement.closest("iam-applied-filters"))===null||r===void 0||r.dispatchEvent(a)}})});const h=e=>{if(!e?.hasAttribute("data-name"))return!1;const o=e.getAttribute("data-name").split(",");for(let r=0;r<o.length;r++){const s=o[r];let a=`[name="${s}"]`;s.match(/\[(.*)\]/)&&(a=`[value="${s.replace(/.*\[(.*)\]/,"$1")}"]`);const l=t.querySelectorAll(a);for(let c=0;c<l.length;c++){const i=l[c];i.getAttribute("type")!="radio"&&i.getAttribute("type")!="checkbox"?i.value="":i.checked=!1;const v=new CustomEvent("change");i?.dispatchEvent(v)}}e.remove(),f()};if(m.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){const o=e.target.closest(".filter"),r=o.getAttribute("data-name");h(o);const s=new CustomEvent("filter-clicked",{detail:r});if(t.dispatchEvent(s),t.querySelector("dialog iam-applied-filters")){const a=new CustomEvent("filter",{detail:r});t.querySelector("dialog iam-applied-filters").dispatchEvent(a)}}},!1),t.addEventListener("filter",e=>{const o=t.shadowRoot.querySelector(`[data-name="${e.detail}"]`);h(o)}),t.addEventListener("set-filters",e=>{f(!0)}),g){const e=t.querySelector(".btn-primary")?t.querySelector(".btn-primary"):t.shadowRoot.querySelector(".btn-primary");e?.addEventListener("click",o=>{const r=new CustomEvent("update"),s=new CustomEvent("submit");if(t.dispatchEvent(s),t.parentElement.closest("iam-applied-filters")&&t.parentElement.closest("iam-applied-filters").dispatchEvent(r),t.parentElement&&t.parentElement.closest("iam-applied-filters")&&!t.parentElement.closest("iam-applied-filters").closest("dialog")){const a=new CustomEvent("set-filters");t.parentElement.closest("iam-applied-filters").dispatchEvent(a)}if(f(!0),!t.querySelector(".btn-primary").hasAttribute("command")){g.close();const a=new Event("close");g.dispatchEvent(a)}})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class k extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const m=this.classList.toString(),g=document.createElement("template");g.innerHTML=`
5
5
  <style>
6
- @layer elements{:is(.badge,.tag){font-size:1rem;line-height:1.625rem;border:none !important;margin:0;display:inline-block;text-align:center;white-space:nowrap;max-width:fit-content;color:#262626;position:relative;background:var(--wider-colour, var(--wider-colour-1));margin-bottom:1rem}:is(.badge,.tag):has(+:is(.badge,.tag)){margin-right:0.375rem}:is(.badge,.tag):empty{display:none}:is(.badge,.tag):is(.bg-primary,.bg-dark,.bg-danger){color:#fcfcfc !important}.badge{border-radius:0.375rem;padding:0 .5rem}.badge--rounded{border-radius:1rem;min-width:1.625rem;padding:0}.tag{border-radius:1rem;padding:0 1rem}.tag i{margin-left:.5rem}.tag:is(:hover,:focus,.hover,:focus-within,:focus-visible){background:var(--wider-colour-hover, var(--wider-colour-1-hover))}.tag:is(:active,.active){background:var(--wider-colour-active, var(--wider-colour-1-active))}.tag:has(input:disabled),.tag:disabled{background:var(--wider-colour-1) !important;color:#99adb1 !important}.tag:has([readonly]){pointer-events:none}.tag:has([readonly]):after{display:none !important}iam-multiselect:not(:defined) .tag,.tag.tag--toggle{background:var(--colour-canvas);outline:1px solid var(--colour-border)}.tag.tag--toggle:after{display:none}.tag.tag--toggle:is(:hover,:focus){background:#eee}.tag.tag--toggle:is(:active){background:#e0e0e0}.tag.tag--toggle:has(input:checked),.tag.tag--toggle.selected{background:#e9f9fd;outline:1px solid #1ebee6}.btn :is(.badge,.tag){position:relative;top:-1px}}.applied-filters:not(:empty){padding:1px 1px 1rem 1px}:host(.applied-filters--show-set) .tag--not-set{display:none}.tag:not(.tag--not-set){background:var(--wider-colour-3)}.tag.tag--not-set{background:var(--colour-canvas);outline:1px solid var(--colour-border)}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
6
+ @layer elements{:is(.badge,.tag){font-size:1rem;line-height:1.625rem;border:none !important;margin:0;display:inline-block;text-align:center;white-space:nowrap;max-width:fit-content;color:#262626;position:relative;background:var(--wider-colour, var(--wider-colour-1));margin-bottom:1rem;&:has(+:is(.badge,.tag)){margin-right:.375rem}&:empty{display:none}&:is(.bg-primary,.bg-dark,.bg-danger){color:#fcfcfc !important}}.badge{border-radius:.375rem;padding:0 .5rem}.badge--rounded{border-radius:1rem;min-width:1.625rem;padding:0}.tag{border-radius:1rem;padding:0 1rem;i{margin-left:.5rem}&:is(:hover,:focus,.hover,:focus-within,:focus-visible){background:color-mix(in oklab, var(--colour), #000000 5%)}&:is(:active,.active){background:color-mix(in oklab, var(--colour), #000000 10%)}&:has(input:disabled),&:disabled{background:var(--wider-colour-1) !important;color:#99adb1 !important}&:has([readonly]){pointer-events:none}&:has([readonly]):after{display:none !important}}iam-multiselect:not(:defined) .tag,.tag.tag--toggle{background:var(--colour-canvas);outline:1px solid var(--colour-border)}.tag.tag--toggle{&:after{display:none}&:is(:hover,:focus){background:#eee}&:is(:active){background:#e0e0e0}&:has(input:checked),&.selected{background:#e9f9fd;outline:1px solid #1ebee6}}.btn :is(.badge,.tag){position:relative;top:-1px}}.applied-filters:not(:empty){padding:1px 1px 1rem 1px}:host(.applied-filters--show-set) .tag--not-set{display:none}.tag:not(.tag--not-set){background:var(--wider-colour-3)}.tag.tag--not-set{background:var(--colour-canvas);outline:1px solid var(--colour-border)}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
7
7
 
8
8
  </style>
9
9
  <div class="applied-filters ${m}"></div>
10
10
  <slot></slot>
11
- `,this.shadowRoot.appendChild(g.content.cloneNode(!0))}connectedCallback(){E(this,this.shadowRoot.querySelector(".applied-filters"))}}export{w as default};
11
+ `,this.shadowRoot.appendChild(g.content.cloneNode(!0))}connectedCallback(){E(this,this.shadowRoot.querySelector(".applied-filters"))}}export{k as default};
12
12
  //# sourceMappingURL=applied-filters.component.min.js.map