@iamproperty/components 7.7.1--beta6 → 7.7.1--beta8

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 (593) hide show
  1. package/README.md +4 -4
  2. package/assets/bootstrap/README.md +247 -247
  3. package/assets/bootstrap/js/index.esm.js +19 -19
  4. package/assets/bootstrap/js/index.umd.js +34 -34
  5. package/assets/bootstrap/js/src/alert.js +87 -87
  6. package/assets/bootstrap/js/src/base-component.js +85 -85
  7. package/assets/bootstrap/js/src/button.js +72 -72
  8. package/assets/bootstrap/js/src/carousel.js +475 -475
  9. package/assets/bootstrap/js/src/collapse.js +302 -302
  10. package/assets/bootstrap/js/src/dom/data.js +55 -55
  11. package/assets/bootstrap/js/src/dom/event-handler.js +320 -320
  12. package/assets/bootstrap/js/src/dom/manipulator.js +71 -71
  13. package/assets/bootstrap/js/src/dom/selector-engine.js +83 -83
  14. package/assets/bootstrap/js/src/dropdown.js +445 -445
  15. package/assets/bootstrap/js/src/modal.js +373 -373
  16. package/assets/bootstrap/js/src/offcanvas.js +283 -283
  17. package/assets/bootstrap/js/src/popover.js +97 -97
  18. package/assets/bootstrap/js/src/scrollspy.js +290 -290
  19. package/assets/bootstrap/js/src/tab.js +307 -307
  20. package/assets/bootstrap/js/src/toast.js +220 -220
  21. package/assets/bootstrap/js/src/tooltip.js +651 -651
  22. package/assets/bootstrap/js/src/util/backdrop.js +149 -149
  23. package/assets/bootstrap/js/src/util/component-functions.js +34 -34
  24. package/assets/bootstrap/js/src/util/config.js +66 -66
  25. package/assets/bootstrap/js/src/util/focustrap.js +115 -115
  26. package/assets/bootstrap/js/src/util/index.js +336 -336
  27. package/assets/bootstrap/js/src/util/sanitizer.js +118 -118
  28. package/assets/bootstrap/js/src/util/scrollbar.js +114 -114
  29. package/assets/bootstrap/js/src/util/swipe.js +146 -146
  30. package/assets/bootstrap/js/src/util/template-factory.js +160 -160
  31. package/assets/bootstrap/package.json +180 -180
  32. package/assets/bootstrap/scss/_accordion.scss +146 -146
  33. package/assets/bootstrap/scss/_button-group.scss +142 -142
  34. package/assets/bootstrap/scss/_buttons.scss +186 -186
  35. package/assets/bootstrap/scss/_carousel.scss +229 -229
  36. package/assets/bootstrap/scss/_dropdown.scss +248 -248
  37. package/assets/bootstrap/scss/_functions.scss +302 -302
  38. package/assets/bootstrap/scss/_list-group.scss +191 -191
  39. package/assets/bootstrap/scss/_modal.scss +237 -237
  40. package/assets/bootstrap/scss/_nav.scss +172 -172
  41. package/assets/bootstrap/scss/_navbar.scss +276 -276
  42. package/assets/bootstrap/scss/_offcanvas.scss +143 -143
  43. package/assets/bootstrap/scss/_pagination.scss +109 -109
  44. package/assets/bootstrap/scss/_popover.scss +196 -196
  45. package/assets/bootstrap/scss/_toasts.scss +70 -70
  46. package/assets/bootstrap/scss/_variables-dark.scss +87 -87
  47. package/assets/bootstrap/scss/_variables.scss +1633 -1633
  48. package/assets/bootstrap/scss/bootstrap-utilities.scss +15 -15
  49. package/assets/bootstrap/scss/forms/_floating-labels.scss +74 -74
  50. package/assets/bootstrap/scss/forms/_input-group.scss +129 -129
  51. package/assets/bootstrap/scss/helpers/_focus-ring.scss +5 -5
  52. package/assets/bootstrap/scss/helpers/_icon-link.scss +25 -25
  53. package/assets/bootstrap/scss/mixins/_banner.scss +9 -9
  54. package/assets/bootstrap/scss/mixins/_color-mode.scss +21 -21
  55. package/assets/bootstrap/scss/mixins/_forms.scss +152 -152
  56. package/assets/bootstrap/scss/mixins/_table-variants.scss +24 -24
  57. package/assets/bootstrap/scss/mixins/_utilities.scss +97 -97
  58. package/assets/css/components/{header.css → header.component.css} +1 -1
  59. package/assets/css/components/header.component.css.map +1 -0
  60. package/assets/css/components/header.preload.css +1 -0
  61. package/assets/css/components/header.preload.css.map +1 -0
  62. package/assets/css/components/nav.component.css +1 -1
  63. package/assets/css/components/nav.component.css.map +1 -1
  64. package/assets/css/components/notification.css +1 -1
  65. package/assets/css/components/notification.css.map +1 -1
  66. package/assets/css/components/table-basic.global.css +1 -1
  67. package/assets/css/components/table-basic.global.css.map +1 -1
  68. package/assets/css/components/table.global.css +1 -1
  69. package/assets/css/components/table.global.css.map +1 -1
  70. package/assets/css/core.min.css +1 -1
  71. package/assets/css/core.min.css.map +1 -1
  72. package/assets/css/style.min.css +1 -1
  73. package/assets/css/style.min.css.map +1 -1
  74. package/assets/favicons/README.md +20 -20
  75. package/assets/favicons/browserconfig.xml +9 -9
  76. package/assets/favicons/manifest.json +31 -31
  77. package/assets/favicons/safari-pinned-tab.svg +35 -35
  78. package/assets/favicons/site.webmanifest +20 -20
  79. package/assets/js/components/accordion/accordion.component.js +14 -14
  80. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  81. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  82. package/assets/js/components/actionbar/actionbar.component.js +66 -66
  83. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  84. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  85. package/assets/js/components/address-lookup/address-lookup.component.js +58 -58
  86. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  87. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  88. package/assets/js/components/advanced-select/advanced-select.component.js +18 -18
  89. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  90. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  91. package/assets/js/components/applied-filters/applied-filters.component.js +6 -6
  92. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  93. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  94. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  95. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  96. package/assets/js/components/bento-grid/bento-grid.component.js +9 -9
  97. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  98. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
  99. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  100. package/assets/js/components/card/card.component.min.js +1 -1
  101. package/assets/js/components/card/card.component.min.js.map +1 -1
  102. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  103. package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -20
  104. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  105. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  106. package/assets/js/components/config/config.component.js +53 -53
  107. package/assets/js/components/config/config.component.min.js +1 -1
  108. package/assets/js/components/config/config.component.min.js.map +1 -1
  109. package/assets/js/components/content/content.component.js +9 -9
  110. package/assets/js/components/content/content.component.min.js +1 -1
  111. package/assets/js/components/content/content.component.min.js.map +1 -1
  112. package/assets/js/components/darkmode/darkmode.component.js +4 -4
  113. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  114. package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -1
  115. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  116. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  117. package/assets/js/components/fileupload/fileupload.component.js +16 -16
  118. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  119. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  120. package/assets/js/components/filter-card/filter-card.component.js +7 -7
  121. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  122. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  123. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  124. package/assets/js/components/form/form.component.js +4 -4
  125. package/assets/js/components/form/form.component.min.js +1 -1
  126. package/assets/js/components/form/form.component.min.js.map +1 -1
  127. package/assets/js/components/header/header.component.js +54 -54
  128. package/assets/js/components/header/header.component.min.js +2 -2
  129. package/assets/js/components/header/header.component.min.js.map +1 -1
  130. package/assets/js/components/inline-edit/inline-edit.component.js +16 -16
  131. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  132. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  133. package/assets/js/components/input/input.component.js +10 -10
  134. package/assets/js/components/input/input.component.min.js +1 -1
  135. package/assets/js/components/input/input.component.min.js.map +1 -1
  136. package/assets/js/components/input-range/input-range.component.js +8 -8
  137. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  138. package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
  139. package/assets/js/components/marketing/marketing.component.js +10 -10
  140. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  141. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  142. package/assets/js/components/menu/menu.component.js +6 -6
  143. package/assets/js/components/menu/menu.component.min.js +1 -1
  144. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  145. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  146. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  147. package/assets/js/components/modal/modal.component.js +21 -21
  148. package/assets/js/components/modal/modal.component.min.js +1 -1
  149. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  150. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  151. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +11 -11
  152. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  153. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
  154. package/assets/js/components/multiselect/multiselect.component.js +20 -20
  155. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  156. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  157. package/assets/js/components/nav/nav.component.js +45 -45
  158. package/assets/js/components/nav/nav.component.min.js +2 -2
  159. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  160. package/assets/js/components/notification/notification.component.js +14 -13
  161. package/assets/js/components/notification/notification.component.min.js +5 -4
  162. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  163. package/assets/js/components/pagination/pagination.component.js +39 -39
  164. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  165. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  166. package/assets/js/components/password/password.component.js +10 -10
  167. package/assets/js/components/password/password.component.min.js +1 -1
  168. package/assets/js/components/password/password.component.min.js.map +1 -1
  169. package/assets/js/components/popover/popover.component.js +7 -7
  170. package/assets/js/components/popover/popover.component.min.js +1 -1
  171. package/assets/js/components/popover/popover.component.min.js.map +1 -1
  172. package/assets/js/components/rank/rank.component.js +359 -359
  173. package/assets/js/components/rank/rank.component.min.js +1 -1
  174. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  175. package/assets/js/components/rankings/rankings.component.js +16 -16
  176. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  177. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  178. package/assets/js/components/rating/rating.component.js +9 -9
  179. package/assets/js/components/rating/rating.component.min.js +1 -1
  180. package/assets/js/components/rating/rating.component.min.js.map +1 -1
  181. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  182. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  183. package/assets/js/components/search/search.component.js +17 -17
  184. package/assets/js/components/search/search.component.min.js +1 -1
  185. package/assets/js/components/search/search.component.min.js.map +1 -1
  186. package/assets/js/components/slider/slider.component.js +12 -12
  187. package/assets/js/components/slider/slider.component.min.js +1 -1
  188. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  189. package/assets/js/components/split-button/split-button.component.js +18 -18
  190. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  191. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  192. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +113 -113
  193. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  194. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  195. package/assets/js/components/table/table.component.js +15 -15
  196. package/assets/js/components/table/table.component.min.js +2 -2
  197. package/assets/js/components/table/table.component.min.js.map +1 -1
  198. package/assets/js/components/table-ajax/table-ajax.component.js +15 -15
  199. package/assets/js/components/table-ajax/table-ajax.component.min.js +2 -2
  200. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  201. package/assets/js/components/table-basic/table-basic.component.js +15 -15
  202. package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
  203. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  204. package/assets/js/components/table-no-submit/table-no-submit.component.js +15 -15
  205. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +2 -2
  206. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  207. package/assets/js/components/table-submit/table-submit.component.js +15 -15
  208. package/assets/js/components/table-submit/table-submit.component.min.js +2 -2
  209. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  210. package/assets/js/components/tabs/tabs.component.js +17 -17
  211. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  212. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  213. package/assets/js/components/tag/tag.component.js +12 -12
  214. package/assets/js/components/tag/tag.component.min.js +1 -1
  215. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  216. package/assets/js/components/tooltip/tooltip.component.js +8 -8
  217. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  218. package/assets/js/components/tooltip/tooltip.component.min.js.map +1 -1
  219. package/assets/js/components/video/video.component.js +9 -9
  220. package/assets/js/components/video/video.component.min.js +1 -1
  221. package/assets/js/components/video/video.component.min.js.map +1 -1
  222. package/assets/js/components/video-card/video-card.component.js +12 -12
  223. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  224. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  225. package/assets/js/components/video-modal/video-modal.component.js +13 -13
  226. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  227. package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
  228. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  229. package/assets/js/modules/card.module.js +14 -14
  230. package/assets/js/modules/chart.module.js +4 -4
  231. package/assets/js/modules/integration-tests.js +3 -3
  232. package/assets/js/modules/table.js +2 -2
  233. package/assets/js/modules/videos.js +6 -6
  234. package/assets/js/scripts.bundle.js +1 -1
  235. package/assets/js/scripts.bundle.js.map +1 -1
  236. package/assets/js/scripts.bundle.min.js +1 -1
  237. package/assets/js/scripts.bundle.min.js.map +1 -1
  238. package/assets/sass/_bs_grid.scss +41 -41
  239. package/assets/sass/_bs_utilities.scss +51 -51
  240. package/assets/sass/_components.scss +151 -162
  241. package/assets/sass/_corefiles.scss +31 -31
  242. package/assets/sass/_elements.scss +30 -30
  243. package/assets/sass/_fonts.scss +28 -28
  244. package/assets/sass/_func.scss +2 -2
  245. package/assets/sass/_functions/bs_functions.scss +487 -487
  246. package/assets/sass/_functions/bs_mixins.scss +2103 -2103
  247. package/assets/sass/_functions/bs_utilities.scss +922 -922
  248. package/assets/sass/_functions/bs_variables.scss +1701 -1701
  249. package/assets/sass/_functions/functions.scss +48 -48
  250. package/assets/sass/_functions/mixins.scss +1 -1
  251. package/assets/sass/_grid.scss +320 -320
  252. package/assets/sass/_print.scss +64 -64
  253. package/assets/sass/_utilities.scss +35 -35
  254. package/assets/sass/components/actionbar.component.scss +421 -421
  255. package/assets/sass/components/actionbar.global.scss +115 -115
  256. package/assets/sass/components/address-lookup.component.scss +160 -160
  257. package/assets/sass/components/address-lookup.preload.scss +90 -90
  258. package/assets/sass/components/applied-filters.scss +19 -19
  259. package/assets/sass/components/barchart.component.scss +347 -347
  260. package/assets/sass/components/bento-grid.component.scss +109 -109
  261. package/assets/sass/components/bento-grid.global.scss +248 -248
  262. package/assets/sass/components/calendar.component.scss +1272 -1272
  263. package/assets/sass/components/calendar.config.scss +423 -423
  264. package/assets/sass/components/card.component.scss +187 -187
  265. package/assets/sass/components/card.module.scss +154 -154
  266. package/assets/sass/components/carousel.component.scss +631 -631
  267. package/assets/sass/components/carousel.config.scss +84 -84
  268. package/assets/sass/components/charts.config.scss +86 -86
  269. package/assets/sass/components/charts.module.scss +588 -588
  270. package/assets/sass/components/charts.scss +1298 -1298
  271. package/assets/sass/components/collapsible-side.scss +307 -307
  272. package/assets/sass/components/config.component.scss +235 -235
  273. package/assets/sass/components/content.component.scss +18 -18
  274. package/assets/sass/components/darkmode.component.scss +20 -20
  275. package/assets/sass/components/doughnutchart.component.scss +206 -206
  276. package/assets/sass/components/fileupload.scss +162 -162
  277. package/assets/sass/components/filter-card.component.scss +99 -99
  278. package/assets/sass/components/{header.scss → header.component.scss} +249 -251
  279. package/assets/sass/components/header.preload.scss +26 -0
  280. package/assets/sass/components/inline-edit.preload.scss +203 -203
  281. package/assets/sass/components/inline-edit.scss +40 -40
  282. package/assets/sass/components/input-range.component.scss +46 -46
  283. package/assets/sass/components/input.component.scss +101 -101
  284. package/assets/sass/components/marketing.component.scss +65 -65
  285. package/assets/sass/components/menu.component.scss +161 -161
  286. package/assets/sass/components/menu.global.scss +82 -82
  287. package/assets/sass/components/milestone.scss +216 -216
  288. package/assets/sass/components/modal.component.scss +252 -252
  289. package/assets/sass/components/multi-step-modal.component.scss +255 -255
  290. package/assets/sass/components/multi-step-modal.global.scss +91 -91
  291. package/assets/sass/components/multi-step.component.scss +144 -144
  292. package/assets/sass/components/multiselect.preload.scss +8 -8
  293. package/assets/sass/components/multiselect.scss +238 -238
  294. package/assets/sass/components/nav.component.scss +718 -718
  295. package/assets/sass/components/nav.docs.scss +55 -55
  296. package/assets/sass/components/nav.global.scss +870 -870
  297. package/assets/sass/components/nav.preload.scss +54 -54
  298. package/assets/sass/components/notification.scss +204 -217
  299. package/assets/sass/components/pagination.scss +237 -237
  300. package/assets/sass/components/password.component.scss +55 -55
  301. package/assets/sass/components/popover.component.scss +28 -28
  302. package/assets/sass/components/property-searchbar.scss +139 -139
  303. package/assets/sass/components/rank.component.scss +275 -275
  304. package/assets/sass/components/rankings.component.scss +70 -70
  305. package/assets/sass/components/rankings.global.scss +140 -140
  306. package/assets/sass/components/rating.component.css +211 -211
  307. package/assets/sass/components/record-card.component.scss +191 -191
  308. package/assets/sass/components/slider.scss +127 -127
  309. package/assets/sass/components/snapshot.scss +65 -65
  310. package/assets/sass/components/split-button.component.scss +83 -83
  311. package/assets/sass/components/stepper.scss +157 -157
  312. package/assets/sass/components/table-basic.component.scss +136 -136
  313. package/assets/sass/components/table-basic.global.scss +676 -676
  314. package/assets/sass/components/table.component.scss +51 -51
  315. package/assets/sass/components/table.global.scss +399 -398
  316. package/assets/sass/components/tabs.component.scss +34 -34
  317. package/assets/sass/components/tabs.config.scss +258 -258
  318. package/assets/sass/components/tag.component.scss +59 -59
  319. package/assets/sass/components/tag.preload.scss +20 -20
  320. package/assets/sass/components/testimonial.scss +125 -125
  321. package/assets/sass/components/timeline.scss +92 -92
  322. package/assets/sass/components/tooltip.component.scss +148 -148
  323. package/assets/sass/components/video-card.component.scss +48 -48
  324. package/assets/sass/components/video-modal.component.scss +26 -26
  325. package/assets/sass/components/video.component.scss +74 -74
  326. package/assets/sass/components/word-count.component.scss +26 -26
  327. package/assets/sass/core.scss +4 -4
  328. package/assets/sass/elements/admin-panel.css +310 -310
  329. package/assets/sass/elements/badge-tag.css +101 -101
  330. package/assets/sass/elements/brand.css +80 -80
  331. package/assets/sass/elements/button__group.css +135 -135
  332. package/assets/sass/elements/buttons--action.css +71 -71
  333. package/assets/sass/elements/buttons--compact.css +168 -168
  334. package/assets/sass/elements/buttons--global.css +239 -239
  335. package/assets/sass/elements/buttons--secondary.css +18 -18
  336. package/assets/sass/elements/buttons--special.css +164 -164
  337. package/assets/sass/elements/buttons--tertiary.css +51 -51
  338. package/assets/sass/elements/buttons.scss +9 -9
  339. package/assets/sass/elements/code.css +45 -45
  340. package/assets/sass/elements/container.scss +118 -118
  341. package/assets/sass/elements/details.css +224 -224
  342. package/assets/sass/elements/dialog.scss +75 -75
  343. package/assets/sass/elements/dropdown.css +85 -85
  344. package/assets/sass/elements/feature.css +174 -174
  345. package/assets/sass/elements/forms.scss +1337 -1337
  346. package/assets/sass/elements/highlight.css +76 -76
  347. package/assets/sass/elements/hr.css +41 -41
  348. package/assets/sass/elements/icons.css +48 -48
  349. package/assets/sass/elements/input.scss +212 -212
  350. package/assets/sass/elements/label.css +20 -20
  351. package/assets/sass/elements/links--collapsible-side.scss +129 -129
  352. package/assets/sass/elements/links--global.scss +155 -155
  353. package/assets/sass/elements/links--video.scss +73 -73
  354. package/assets/sass/elements/links.scss +4 -4
  355. package/assets/sass/elements/lists--breadcrumbs.scss +26 -26
  356. package/assets/sass/elements/lists--steps.css +171 -171
  357. package/assets/sass/elements/lists--tick-list.scss +112 -112
  358. package/assets/sass/elements/lists.scss +99 -99
  359. package/assets/sass/elements/media.css +20 -20
  360. package/assets/sass/elements/modal.scss +411 -411
  361. package/assets/sass/elements/popover.scss +259 -259
  362. package/assets/sass/elements/prefix.scss +139 -139
  363. package/assets/sass/elements/progress.scss +208 -208
  364. package/assets/sass/elements/table.element.scss +144 -144
  365. package/assets/sass/elements/textarea.css +84 -84
  366. package/assets/sass/elements/toggle-button.css +49 -49
  367. package/assets/sass/elements/tooltips.scss +152 -152
  368. package/assets/sass/elements/type.css +166 -166
  369. package/assets/sass/email.scss +68 -68
  370. package/assets/sass/error.scss +31 -31
  371. package/assets/sass/foundations/animations.scss +2 -2
  372. package/assets/sass/foundations/colours.scss +104 -104
  373. package/assets/sass/foundations/reboot.scss +166 -166
  374. package/assets/sass/foundations/root.scss +269 -269
  375. package/assets/sass/main.scss +7 -7
  376. package/assets/sass/templates/auth.scss +106 -106
  377. package/assets/sass/templates/form.scss +95 -95
  378. package/assets/sass/utilities/align.css +24 -24
  379. package/assets/sass/utilities/border.css +65 -65
  380. package/assets/sass/utilities/clearfix.css +8 -8
  381. package/assets/sass/utilities/colours.scss +43 -43
  382. package/assets/sass/utilities/columns.css +61 -61
  383. package/assets/sass/utilities/display.scss +89 -89
  384. package/assets/sass/utilities/fixed.css +16 -16
  385. package/assets/sass/utilities/flex.scss +291 -291
  386. package/assets/sass/utilities/font-awesome-iso-fallbacks.css +43 -43
  387. package/assets/sass/utilities/gap.css +25 -25
  388. package/assets/sass/utilities/gradients.css +39 -39
  389. package/assets/sass/utilities/js-display.css +12 -12
  390. package/assets/sass/utilities/line-clamp.css +24 -24
  391. package/assets/sass/utilities/margins.scss +74 -74
  392. package/assets/sass/utilities/max-height.scss +93 -93
  393. package/assets/sass/utilities/opacity.css +20 -20
  394. package/assets/sass/utilities/order.css +104 -104
  395. package/assets/sass/utilities/overflow.css +16 -16
  396. package/assets/sass/utilities/paddings.scss +33 -33
  397. package/assets/sass/utilities/pointer-events.css +8 -8
  398. package/assets/sass/utilities/position.css +67 -67
  399. package/assets/sass/utilities/ratio.css +33 -33
  400. package/assets/sass/utilities/rounded.css +56 -56
  401. package/assets/sass/utilities/shadow.css +6 -6
  402. package/assets/sass/utilities/sizes.css +92 -92
  403. package/assets/sass/utilities/sticky.css +38 -38
  404. package/assets/sass/utilities/text-truncate.css +6 -6
  405. package/assets/sass/utilities/text.css +190 -190
  406. package/assets/sass/utilities/visible.css +8 -8
  407. package/assets/sass/utilities/visually-hidden.css +13 -13
  408. package/assets/sass/utilities/wider-colours.scss +8 -8
  409. package/assets/svg/illustrations/table.svg +165 -165
  410. package/assets/svg/logo.svg +56 -56
  411. package/assets/ts/components/accordion/accordion.component.ts +77 -77
  412. package/assets/ts/components/actionbar/actionbar.component.ts +567 -567
  413. package/assets/ts/components/address-lookup/address-lookup.component.ts +672 -672
  414. package/assets/ts/components/advanced-select/advanced-select.component.ts +116 -116
  415. package/assets/ts/components/applied-filters/applied-filters.component.ts +37 -37
  416. package/assets/ts/components/bento-grid/bento-grid.component.ts +88 -88
  417. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +165 -165
  418. package/assets/ts/components/config/config.component.ts +699 -699
  419. package/assets/ts/components/content/content.component.ts +78 -78
  420. package/assets/ts/components/darkmode/darkmode.component.ts +108 -108
  421. package/assets/ts/components/fileupload/fileupload.component.ts +74 -74
  422. package/assets/ts/components/filter-card/filter-card.component.ts +106 -106
  423. package/assets/ts/components/form/form.component.ts +102 -102
  424. package/assets/ts/components/header/header.component.ts +97 -97
  425. package/assets/ts/components/inline-edit/inline-edit.component.ts +212 -212
  426. package/assets/ts/components/input/input.component.ts +278 -278
  427. package/assets/ts/components/input-range/input-range.component.ts +78 -78
  428. package/assets/ts/components/marketing/marketing.component.ts +44 -44
  429. package/assets/ts/components/menu/menu.component.ts +212 -212
  430. package/assets/ts/components/modal/modal.component.ts +184 -184
  431. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +304 -304
  432. package/assets/ts/components/multiselect/multiselect.component.ts +349 -349
  433. package/assets/ts/components/nav/nav.component.ts +369 -369
  434. package/assets/ts/components/notification/notification.component.ts +173 -172
  435. package/assets/ts/components/pagination/pagination.component.ts +213 -213
  436. package/assets/ts/components/password/password.component.ts +118 -118
  437. package/assets/ts/components/popover/popover.component.ts +50 -50
  438. package/assets/ts/components/rank/rank.component.ts +394 -394
  439. package/assets/ts/components/rankings/rankings.component.ts +79 -79
  440. package/assets/ts/components/rating/rating.component.ts +86 -86
  441. package/assets/ts/components/search/search.component.ts +244 -244
  442. package/assets/ts/components/slider/slider.component.ts +170 -170
  443. package/assets/ts/components/split-button/split-button.component.ts +63 -63
  444. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +1919 -1919
  445. package/assets/ts/components/table/table.component.ts +94 -94
  446. package/assets/ts/components/table-ajax/table-ajax.component.ts +70 -70
  447. package/assets/ts/components/table-basic/table-basic.component.ts +56 -56
  448. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +130 -130
  449. package/assets/ts/components/table-submit/table-submit.component.ts +71 -71
  450. package/assets/ts/components/tabs/tabs.component.ts +70 -70
  451. package/assets/ts/components/tag/tag.component.ts +104 -104
  452. package/assets/ts/components/tooltip/tooltip.component.ts +98 -98
  453. package/assets/ts/components/video/video.component.ts +74 -74
  454. package/assets/ts/components/video-card/video-card.component.ts +129 -129
  455. package/assets/ts/components/video-modal/video-modal.component.ts +88 -88
  456. package/assets/ts/modules/advanced-select.ts +186 -186
  457. package/assets/ts/modules/applied-filters.ts +238 -238
  458. package/assets/ts/modules/card.module.ts +46 -46
  459. package/assets/ts/modules/chart.module.ts +594 -594
  460. package/assets/ts/modules/data-layer.md +71 -71
  461. package/assets/ts/modules/dialogs.ts +259 -259
  462. package/assets/ts/modules/dropdown.ts +216 -216
  463. package/assets/ts/modules/helper.test.ts +143 -143
  464. package/assets/ts/modules/helpers.ts +212 -212
  465. package/assets/ts/modules/integration-tests.ts +525 -525
  466. package/assets/ts/modules/modal.ts +45 -45
  467. package/assets/ts/modules/password.ts +82 -82
  468. package/assets/ts/modules/table.ts +1500 -1500
  469. package/assets/ts/modules/test.ts +22 -22
  470. package/assets/ts/modules/videos.ts +233 -233
  471. package/assets/ts/scripts.ts +111 -111
  472. package/dist/components.es.js +25 -25
  473. package/dist/components.umd.js +10 -9
  474. package/package.json +115 -115
  475. package/src/components/AdvancedSelect/AdvancedSelect.vue +28 -28
  476. package/src/components/Config/Config.vue +23 -23
  477. package/src/components/DarkMode/DarkMode.vue +19 -19
  478. package/src/components/Filterlist/Filterlist.vue +23 -23
  479. package/src/components/Form/Form.vue +22 -22
  480. package/src/components/Header/Header.vue +36 -36
  481. package/src/components/Input/Input.vue +22 -22
  482. package/src/components/InputRange/InputRange.vue +22 -22
  483. package/src/components/Modal/Modal.vue +22 -22
  484. package/src/components/MultiStepModal/MultiStepModal.vue +23 -23
  485. package/src/components/NoteFeed/NoteFeed.vue +82 -82
  486. package/src/components/Password/Password.vue +23 -23
  487. package/src/components/Popover/Popover.vue +22 -22
  488. package/src/components/PropertySearchbar/PropertySearchbar.vue +235 -235
  489. package/src/components/PropertySearchbar/README.md +25 -25
  490. package/src/components/Rating/Rating.vue +22 -22
  491. package/src/components/STDAddressLookup/STDAddressLookup.vue +22 -22
  492. package/src/components/Snapshot/Snapshot.vue +30 -30
  493. package/src/components/Tag/Tag.vue +22 -22
  494. package/src/components/Tooltip/Tooltip.vue +22 -22
  495. package/src/components/Video/Video.vue +22 -22
  496. package/src/components/VideoModal/VideoModal.vue +22 -22
  497. package/assets/bootstrap/dist/css/bootstrap-grid.css +0 -4124
  498. package/assets/bootstrap/dist/css/bootstrap-grid.css.map +0 -1
  499. package/assets/bootstrap/dist/css/bootstrap-grid.min.css +0 -7
  500. package/assets/bootstrap/dist/css/bootstrap-grid.min.css.map +0 -1
  501. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.css +0 -4123
  502. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.css.map +0 -1
  503. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -7
  504. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map +0 -1
  505. package/assets/bootstrap/dist/css/bootstrap-reboot.css +0 -488
  506. package/assets/bootstrap/dist/css/bootstrap-reboot.css.map +0 -1
  507. package/assets/bootstrap/dist/css/bootstrap-reboot.min.css +0 -7
  508. package/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map +0 -1
  509. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.css +0 -485
  510. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.css.map +0 -1
  511. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -7
  512. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map +0 -1
  513. package/assets/bootstrap/dist/css/bootstrap-utilities.css +0 -4197
  514. package/assets/bootstrap/dist/css/bootstrap-utilities.css.map +0 -1
  515. package/assets/bootstrap/dist/css/bootstrap-utilities.min.css +0 -7
  516. package/assets/bootstrap/dist/css/bootstrap-utilities.min.css.map +0 -1
  517. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.css +0 -4188
  518. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.css.map +0 -1
  519. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -7
  520. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map +0 -1
  521. package/assets/bootstrap/dist/css/bootstrap.css +0 -10907
  522. package/assets/bootstrap/dist/css/bootstrap.css.map +0 -1
  523. package/assets/bootstrap/dist/css/bootstrap.min.css +0 -7
  524. package/assets/bootstrap/dist/css/bootstrap.min.css.map +0 -1
  525. package/assets/bootstrap/dist/css/bootstrap.rtl.css +0 -10867
  526. package/assets/bootstrap/dist/css/bootstrap.rtl.css.map +0 -1
  527. package/assets/bootstrap/dist/css/bootstrap.rtl.min.css +0 -7
  528. package/assets/bootstrap/dist/css/bootstrap.rtl.min.css.map +0 -1
  529. package/assets/bootstrap/dist/js/bootstrap.bundle.js +0 -7066
  530. package/assets/bootstrap/dist/js/bootstrap.bundle.js.map +0 -1
  531. package/assets/bootstrap/dist/js/bootstrap.bundle.min.js +0 -7
  532. package/assets/bootstrap/dist/js/bootstrap.bundle.min.js.map +0 -1
  533. package/assets/bootstrap/dist/js/bootstrap.esm.js +0 -5204
  534. package/assets/bootstrap/dist/js/bootstrap.esm.js.map +0 -1
  535. package/assets/bootstrap/dist/js/bootstrap.esm.min.js +0 -7
  536. package/assets/bootstrap/dist/js/bootstrap.esm.min.js.map +0 -1
  537. package/assets/bootstrap/dist/js/bootstrap.js +0 -5251
  538. package/assets/bootstrap/dist/js/bootstrap.js.map +0 -1
  539. package/assets/bootstrap/dist/js/bootstrap.min.js +0 -7
  540. package/assets/bootstrap/dist/js/bootstrap.min.js.map +0 -1
  541. package/assets/bootstrap/js/dist/alert.js +0 -100
  542. package/assets/bootstrap/js/dist/alert.js.map +0 -1
  543. package/assets/bootstrap/js/dist/base-component.js +0 -100
  544. package/assets/bootstrap/js/dist/base-component.js.map +0 -1
  545. package/assets/bootstrap/js/dist/button.js +0 -82
  546. package/assets/bootstrap/js/dist/button.js.map +0 -1
  547. package/assets/bootstrap/js/dist/carousel.js +0 -471
  548. package/assets/bootstrap/js/dist/carousel.js.map +0 -1
  549. package/assets/bootstrap/js/dist/collapse.js +0 -311
  550. package/assets/bootstrap/js/dist/collapse.js.map +0 -1
  551. package/assets/bootstrap/js/dist/dom/data.js +0 -67
  552. package/assets/bootstrap/js/dist/dom/data.js.map +0 -1
  553. package/assets/bootstrap/js/dist/dom/event-handler.js +0 -284
  554. package/assets/bootstrap/js/dist/dom/event-handler.js.map +0 -1
  555. package/assets/bootstrap/js/dist/dom/manipulator.js +0 -85
  556. package/assets/bootstrap/js/dist/dom/manipulator.js.map +0 -1
  557. package/assets/bootstrap/js/dist/dom/selector-engine.js +0 -86
  558. package/assets/bootstrap/js/dist/dom/selector-engine.js.map +0 -1
  559. package/assets/bootstrap/js/dist/dropdown.js +0 -471
  560. package/assets/bootstrap/js/dist/dropdown.js.map +0 -1
  561. package/assets/bootstrap/js/dist/modal.js +0 -397
  562. package/assets/bootstrap/js/dist/modal.js.map +0 -1
  563. package/assets/bootstrap/js/dist/offcanvas.js +0 -298
  564. package/assets/bootstrap/js/dist/offcanvas.js.map +0 -1
  565. package/assets/bootstrap/js/dist/popover.js +0 -102
  566. package/assets/bootstrap/js/dist/popover.js.map +0 -1
  567. package/assets/bootstrap/js/dist/scrollspy.js +0 -308
  568. package/assets/bootstrap/js/dist/scrollspy.js.map +0 -1
  569. package/assets/bootstrap/js/dist/tab.js +0 -334
  570. package/assets/bootstrap/js/dist/tab.js.map +0 -1
  571. package/assets/bootstrap/js/dist/toast.js +0 -237
  572. package/assets/bootstrap/js/dist/toast.js.map +0 -1
  573. package/assets/bootstrap/js/dist/tooltip.js +0 -663
  574. package/assets/bootstrap/js/dist/tooltip.js.map +0 -1
  575. package/assets/bootstrap/js/dist/util/backdrop.js +0 -166
  576. package/assets/bootstrap/js/dist/util/backdrop.js.map +0 -1
  577. package/assets/bootstrap/js/dist/util/component-functions.js +0 -47
  578. package/assets/bootstrap/js/dist/util/component-functions.js.map +0 -1
  579. package/assets/bootstrap/js/dist/util/config.js +0 -80
  580. package/assets/bootstrap/js/dist/util/config.js.map +0 -1
  581. package/assets/bootstrap/js/dist/util/focustrap.js +0 -130
  582. package/assets/bootstrap/js/dist/util/focustrap.js.map +0 -1
  583. package/assets/bootstrap/js/dist/util/index.js +0 -351
  584. package/assets/bootstrap/js/dist/util/index.js.map +0 -1
  585. package/assets/bootstrap/js/dist/util/sanitizer.js +0 -123
  586. package/assets/bootstrap/js/dist/util/sanitizer.js.map +0 -1
  587. package/assets/bootstrap/js/dist/util/scrollbar.js +0 -139
  588. package/assets/bootstrap/js/dist/util/scrollbar.js.map +0 -1
  589. package/assets/bootstrap/js/dist/util/swipe.js +0 -156
  590. package/assets/bootstrap/js/dist/util/swipe.js.map +0 -1
  591. package/assets/bootstrap/js/dist/util/template-factory.js +0 -178
  592. package/assets/bootstrap/js/dist/util/template-factory.js.map +0 -1
  593. package/assets/css/components/header.css.map +0 -1
@@ -11,61 +11,61 @@ class iamHeader extends HTMLElement {
11
11
  const assetLocation = document.body.hasAttribute('data-assets-location')
12
12
  ? document.body.getAttribute('data-assets-location')
13
13
  : '/assets';
14
- const loadCSS = `@import "${assetLocation}/css/components/header.css";`;
14
+ const loadCSS = `@import "${assetLocation}/css/components/header.component.css";`;
15
15
  const template = document.createElement('template');
16
- template.innerHTML = /*HTML*/ `
17
- <style>
18
- ${loadCSS}
19
- </style>
20
- <div class="header-banner">
21
- <div class="gradient-overflow">
22
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 776.72 776.73" class="gradient-background">
23
- <defs>
24
- <style>
25
- .cls-1 {
26
- fill: url(#linear-gradient-2);
27
- opacity: .15;
28
- }
29
-
30
- .cls-2 {
31
- fill: url(#linear-gradient-3);
32
- opacity: .2;
33
- }
34
-
35
- .cls-3 {
36
- fill: url(#linear-gradient);
37
- opacity: .1;
38
- }
39
- </style>
40
- <linearGradient id="linear-gradient" x1="113.75" y1="113.75" x2="662.98" y2="662.98" gradientUnits="userSpaceOnUse">
41
- <stop offset="0" stop-color="#54ffff" stop-opacity="0"/>
42
- <stop offset="1" stop-color="#54ffff"/>
43
- </linearGradient>
44
- <linearGradient id="linear-gradient-2" x1="610.21" y1="166.51" x2="166.51" y2="610.21" xlink:href="#linear-gradient"/>
45
- <linearGradient id="linear-gradient-3" x1="388.36" y1="177.95" x2="388.36" y2="598.78" xlink:href="#linear-gradient"/>
46
- </defs>
47
- <g id="Layer_1-2" data-name="Layer 1">
48
- <g>
49
- <path class="cls-3" d="M113.75,662.98c151.66,151.67,397.56,151.66,549.23,0,151.67-151.67,151.66-397.56,0-549.23-151.67-151.66-397.56-151.66-549.23,0-151.66,151.67-151.66,397.56,0,549.23"/>
50
- <path class="cls-1" d="M74.62,388.36c0,173.27,140.47,313.74,313.74,313.74s313.74-140.47,313.74-313.74S561.64,74.62,388.36,74.62,74.62,215.09,74.62,388.36"/>
51
- <path class="cls-2" d="M239.58,239.58c-82.17,82.17-82.17,215.4,0,297.57,82.17,82.17,215.4,82.17,297.57,0,82.17-82.17,82.17-215.4,0-297.57-82.17-82.17-215.4-82.17-297.57,0"/>
52
- </g>
53
- </g>
54
- </svg>
55
- </div>
56
- <div class="picture-overflow">
57
- <picture>
58
- <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" lazy="" />
59
- </picture>
60
- </div>
61
- <div class="container">
62
- <slot name="before"></slot>
63
- <slot></slot>
64
- <slot name="badge"></slot>
65
- <slot name="panel" class="admin-panel"></slot>
66
- <slot name="toolbox" class="admin-panel"></slot>
67
- </div>
68
- </div>
16
+ template.innerHTML = /*HTML*/ `
17
+ <style>
18
+ ${loadCSS}
19
+ </style>
20
+ <div class="header-banner">
21
+ <div class="gradient-overflow">
22
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 776.72 776.73" class="gradient-background">
23
+ <defs>
24
+ <style>
25
+ .cls-1 {
26
+ fill: url(#linear-gradient-2);
27
+ opacity: .15;
28
+ }
29
+
30
+ .cls-2 {
31
+ fill: url(#linear-gradient-3);
32
+ opacity: .2;
33
+ }
34
+
35
+ .cls-3 {
36
+ fill: url(#linear-gradient);
37
+ opacity: .1;
38
+ }
39
+ </style>
40
+ <linearGradient id="linear-gradient" x1="113.75" y1="113.75" x2="662.98" y2="662.98" gradientUnits="userSpaceOnUse">
41
+ <stop offset="0" stop-color="#54ffff" stop-opacity="0"/>
42
+ <stop offset="1" stop-color="#54ffff"/>
43
+ </linearGradient>
44
+ <linearGradient id="linear-gradient-2" x1="610.21" y1="166.51" x2="166.51" y2="610.21" xlink:href="#linear-gradient"/>
45
+ <linearGradient id="linear-gradient-3" x1="388.36" y1="177.95" x2="388.36" y2="598.78" xlink:href="#linear-gradient"/>
46
+ </defs>
47
+ <g id="Layer_1-2" data-name="Layer 1">
48
+ <g>
49
+ <path class="cls-3" d="M113.75,662.98c151.66,151.67,397.56,151.66,549.23,0,151.67-151.67,151.66-397.56,0-549.23-151.67-151.66-397.56-151.66-549.23,0-151.66,151.67-151.66,397.56,0,549.23"/>
50
+ <path class="cls-1" d="M74.62,388.36c0,173.27,140.47,313.74,313.74,313.74s313.74-140.47,313.74-313.74S561.64,74.62,388.36,74.62,74.62,215.09,74.62,388.36"/>
51
+ <path class="cls-2" d="M239.58,239.58c-82.17,82.17-82.17,215.4,0,297.57,82.17,82.17,215.4,82.17,297.57,0,82.17-82.17,82.17-215.4,0-297.57-82.17-82.17-215.4-82.17-297.57,0"/>
52
+ </g>
53
+ </g>
54
+ </svg>
55
+ </div>
56
+ <div class="picture-overflow">
57
+ <picture>
58
+ <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" lazy="" />
59
+ </picture>
60
+ </div>
61
+ <div class="container">
62
+ <slot name="before"></slot>
63
+ <slot></slot>
64
+ <slot name="badge"></slot>
65
+ <slot name="panel" class="admin-panel"></slot>
66
+ <slot name="toolbox" class="admin-panel"></slot>
67
+ </div>
68
+ </div>
69
69
  `;
70
70
  this.shadowRoot.appendChild(template.content.cloneNode(true));
71
71
  }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta8
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class o extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
5
5
  <style>
6
- @layer elements{.container{display:block;margin-left:auto;margin-right:auto;container-type:inline-size;width:100%}.container:not([class*=col-]){grid-column:container !important;padding:var(--container-padding)}.container:not(:has(.row)):has([class*=col-]){display:grid;grid-template-columns:[content-start col-1-start] 1fr [col-1-end col-2-start] 1fr [col-2-end col-3-start] 1fr [col-3-end col-4-start] 1fr [col-4-end col-5-start] 1fr [col-5-end col-6-start] 1fr [col-6-end col-7-start] 1fr [col-7-end col-8-start] 1fr [col-8-end col-9-start] 1fr [col-9-end col-10-start] 1fr [col-10-end col-11-start] 1fr [col-11-end col-12-start] 1fr [col-12-end content-end];column-gap:1rem}.container [class*=col-span-]:not([class*=-col-span-]):not(:first-child){--col-start: auto}@media screen and (min-width: 36em){.container [class*=sm-col-span-]:not(:first-child){--col-start: auto}}@media screen and (min-width: 62em){.container [class*=md-col-span-]:not(:first-child){--col-start: auto}}.container:not(.container-fluid){max-width:var(--container-max-width)}.container .container:not(.container-xs-breakout){padding-left:0;padding-right:0;padding-bottom:0;padding-top:0}.container[class*=bg-]{padding-top:3rem;padding-bottom:2rem}.container[class*=bg-]+.container:not([class*=bg-]){padding-top:2rem}.container:before{display:table;clear:both;content:""}.container:after{display:table;clear:both;content:""}.container.container-xs-breakout{margin-left:-1.25rem;margin-right:-1.25rem;width:calc(100% + 2.5rem)}@media screen and (min-width: 36em){.container.container-xs-breakout{margin-left:auto;margin-right:auto;width:100%}}:host .container{display:block;margin-left:auto;margin-right:auto;padding:var(--container-padding);width:100%}main>.row{padding-bottom:1rem}main>.row[class*=bg-]{padding-top:3rem;padding-bottom:2rem}main>.row[class*=bg-]+:is(.row,.container):not([class*=bg-]){padding-top:2rem}}@layer elements{.admin-panel{--padding-x: 1.5rem;--padding-top: 1rem;--padding-bottom: 1rem;--mh-modifier: 4.5rem;--mh-padding-inline: var(--padding-x);display:block;padding:var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);box-shadow:0px 6px 12px rgba(0, 0, 0, 0.11);background-color:var(--colour-canvas-2);border-radius:.5rem;margin-bottom:1.5rem;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);overflow:hidden;&:has(:is([class*=cols-],[class*=col-start-],[class*=col-end-],[class*=col-span-])){display:grid;>*{grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}&:empty{display:none}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child{--gradient-direction: -90deg !important;background-color:var(--colour-success);&:not([class*=bg-]){color:var(--colour-primary-theme);background-image:linear-gradient(var(--gradient-direction), var(--colour-info) 0, transparent 100%)}margin:calc(var(--padding-top)*-1) calc(var(--padding-x)*-1) var(--padding-top) calc(var(--padding-x)*-1);display:block;border-top-left-radius:.5rem;border-top-right-radius:.5rem}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child,.admin-panel__heading>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead){font-size:1.125rem;line-height:1.5rem;font-weight:bold;padding:1rem 1.5rem;max-width:unset}>:is(.admin-panel__heading):first-child{display:flex !important;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.5rem;>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){padding:0;margin-inline-end:auto}.btn{--btn-margin: 0;margin-bottom:0}.dialog__wrapper+.btn{--btn-margin: 0.25rem;margin-inline-end:0}@media(prefers-color-scheme: light){.btn-action,.dialog__wrapper{--colour-canvas-2: #ffffff;--colour-heading: var(--colour-primary);--colour-btn-action-hover-bg: var(--colour-light);--colour-btn-hover: var(--colour-primary);--colour-border: #d8d8d8}}}:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax,.iam-table){margin:0 0 2rem 0;padding:0;box-shadow:none;background:none}&>*:not([class*=mb-]):not(.btn__group):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}& p{max-width:100%;padding-bottom:1.5rem}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){overflow:auto;&:before{top:100% !important}}&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child+:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){padding-top:var(--padding-top);margin-top:calc(var(--padding-top)*-1)}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child{padding-bottom:var(--padding-bottom);margin-bottom:calc(var(--padding-bottom)*-1) !important;&>*:not([class*=mb-]):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}}&>iam-pagination{margin-top:-1rem}&:has(.mh-fluid){max-height:100%;display:flex;flex-direction:column}&.grid{display:grid !important;grid-template-columns:subgrid !important;>*:not(:first-child){grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}&>hr{margin-inline:calc(var(--padding-x)*-1)}}@container style(--theme: dark){.admin-panel{background-color:var(--colour-canvas-2);color:var(--colour-body);.bg-white{background-color:transparent !important;color:var(--white) !important}}}[class*=col].admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid)){min-height:calc(100% - 1.5rem)}.admin-panel:has(iam-actionbar){&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child{margin-bottom:0}iam-actionbar{background:var(--colour-canvas);margin-inline:calc(var(--padding-x)*-1);margin-bottom:var(--padding-top);&:first-child{margin-top:calc(var(--padding-top)*-1)}&:not(:first-child){border-radius:0}}&>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax){overflow:visible;&:first-child{margin-top:calc(var(--padding-top)*-1)}iam-actionbar{margin-top:0 !important;border-radius:0;box-shadow:none}}}details.admin-panel{summary:after{content:"\uF077";font-weight:bold;margin-left:0;height:2rem;width:2rem;text-align:center;line-height:2rem;margin-right:-0.5rem}summary:not(:has(.btn:hover)):hover:after{background:var(--colour-light);border-radius:50%}summary:not(:has(.btn:hover)):active:after{background:var(--colour-light);filter:brightness(85%);border-radius:50%}}details.admin-panel:not([open]){padding-bottom:0;summary:first-child{margin-bottom:0}summary:after{content:"\uF078"}}.admin-panel__footer:last-child{background-color:var(--wider-colour);padding-top:var(--padding-top);margin-inline:calc(var(--padding-x)*-1);padding-inline:var(--padding-x);padding-bottom:0;&>*:last-child{margin-bottom:0;padding-bottom:var(--padding-bottom);align-self:center}}.admin-panel__footer:not([class*=mb-]):last-child{margin-bottom:calc(var(--padding-bottom)*-1) !important}.sub-panel{background:var(--colour-canvas);padding:var(--spacer-1);border:1px solid var(--colour-border);border-radius:.25rem;font-weight:normal;margin-bottom:1rem;&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){font-size:1rem;line-height:1;margin-bottom:0;padding-bottom:.5rem;font-weight:normal}strong{font-weight:normal}.logo{height:1.5rem;width:1.5rem;object-fit:contain;padding:0;margin:0 auto .25rem auto;display:block}}}*,*::before,*::after{box-sizing:border-box}.container{box-sizing:border-box;position:relative;z-index:4}:host{padding-top:0 !important;margin-bottom:2rem;display:block !important}.header-banner{padding-top:2.75rem;max-width:120rem;margin-inline:auto;display:block;position:relative;height:auto}.header-banner>.picture-overflow{overflow:hidden;position:absolute;inset:0;z-index:3}.header-banner>.picture-overflow picture{display:block;position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none;overflow:hidden;min-height:25rem;max-height:25rem}.header-banner>.picture-overflow picture img{display:block;position:absolute;z-index:1;inset:0;object-fit:cover;object-position:50% 50%;width:100%;height:100%}.header-banner>.picture-overflow picture:after{content:"";display:block;position:absolute;z-index:2;inset:0;background:linear-gradient(300deg, rgb(30, 190, 230) 0%, rgb(0, 49, 60) 100%);opacity:.85}:host(.header--contain) .header-banner{padding-bottom:2rem}:host(.header--contain) .header-banner>picture{max-height:100%}::slotted(.breadcrumb){margin-top:1.5rem !important;margin-bottom:-0.5rem !important}@media screen and (min-width: 62em){::slotted(.breadcrumb){position:absolute !important;top:0 !important;left:5.25rem !important}}:host(.has-breadcrumbs) .header-banner{padding-top:1rem}:host(.has-breadcrumbs) ::slotted(.breadcrumbs){margin-bottom:2rem !important}slot[name=badge]{display:block;position:absolute;top:0;left:0}:host(.has-panel) [name=panel]{display:block;text-align:center;margin-bottom:1rem;max-height:fit-content}::slotted([slot=panel]){color-scheme:light !important;--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);--colour-underline: var(--colour-secondary-theme);color:var(--colour-primary-theme)}::slotted(img[slot=panel]){max-width:4.75rem !important}:host(.has-panel) slot[name=panel]{container-type:inline-size;anchor-name:--anchor}:host(.has-panel) slot[name=badge]{position-anchor:--anchor;top:calc(anchor(top) + 1rem);left:calc(anchor(left) + 1rem);z-index:999}@media screen and (min-width: 62em){:host(.has-panel) .container{display:grid;column-gap:var(--gap);grid-template-columns:repeat(12, 1fr)}:host(.has-panel) slot:not([name]){display:block;grid-column-start:1;grid-column-end:7}:host(.has-panel) slot[name=before]{display:block;grid-column-start:1;grid-column-end:13}:host(.has-panel) slot[name=panel]{display:block;grid-column-start:8;grid-column-end:13}:host(.has-panel) .admin-panel{text-align:center}}:host(.has-toolbox){margin-bottom:4rem}:host(.has-toolbox) [name=toolbox]{display:flex;flex-wrap:wrap;text-align:center;margin-bottom:-3rem;width:fit-content;margin-inline:auto;gap:.5rem}::slotted([slot=toolbox]){margin:0 !important;color-scheme:light !important;--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);--colour-underline: var(--colour-secondary-theme);color:var(--colour-primary-theme)}::slotted(hr[slot=toolbox]){display:inline-block;vertical-align:top !important;margin-top:-0.25rem !important;margin-bottom:-0.25rem !important;background-color:var(--colour-muted) !important;width:1px !important;height:2.5rem !important}.gradient-overflow{overflow:hidden;position:absolute;inset:0;z-index:2}.gradient-background{position:absolute;left:75%;top:50%;transform:translate(-50%, -50%);width:54rem;aspect-ratio:1/1}/*# sourceMappingURL=assets/css/components/header.css.map */
6
+ @layer elements{.container{display:block;margin-left:auto;margin-right:auto;container-type:inline-size;width:100%}.container:not([class*=col-]){grid-column:container !important;padding:var(--container-padding)}.container:not(:has(.row)):has([class*=col-]){display:grid;grid-template-columns:[content-start col-1-start] 1fr [col-1-end col-2-start] 1fr [col-2-end col-3-start] 1fr [col-3-end col-4-start] 1fr [col-4-end col-5-start] 1fr [col-5-end col-6-start] 1fr [col-6-end col-7-start] 1fr [col-7-end col-8-start] 1fr [col-8-end col-9-start] 1fr [col-9-end col-10-start] 1fr [col-10-end col-11-start] 1fr [col-11-end col-12-start] 1fr [col-12-end content-end];column-gap:1rem}.container [class*=col-span-]:not([class*=-col-span-]):not(:first-child){--col-start: auto}@media screen and (min-width: 36em){.container [class*=sm-col-span-]:not(:first-child){--col-start: auto}}@media screen and (min-width: 62em){.container [class*=md-col-span-]:not(:first-child){--col-start: auto}}.container:not(.container-fluid){max-width:var(--container-max-width)}.container .container:not(.container-xs-breakout){padding-left:0;padding-right:0;padding-bottom:0;padding-top:0}.container[class*=bg-]{padding-top:3rem;padding-bottom:2rem}.container[class*=bg-]+.container:not([class*=bg-]){padding-top:2rem}.container:before{display:table;clear:both;content:""}.container:after{display:table;clear:both;content:""}.container.container-xs-breakout{margin-left:-1.25rem;margin-right:-1.25rem;width:calc(100% + 2.5rem)}@media screen and (min-width: 36em){.container.container-xs-breakout{margin-left:auto;margin-right:auto;width:100%}}:host .container{display:block;margin-left:auto;margin-right:auto;padding:var(--container-padding);width:100%}main>.row{padding-bottom:1rem}main>.row[class*=bg-]{padding-top:3rem;padding-bottom:2rem}main>.row[class*=bg-]+:is(.row,.container):not([class*=bg-]){padding-top:2rem}}@layer elements{.admin-panel{--padding-x: 1.5rem;--padding-top: 1rem;--padding-bottom: 1rem;--mh-modifier: 4.5rem;--mh-padding-inline: var(--padding-x);display:block;padding:var(--padding-top) var(--padding-x) var(--padding-bottom) var(--padding-x);box-shadow:0px 6px 12px rgba(0, 0, 0, 0.11);background-color:var(--colour-canvas-2);border-radius:.5rem;margin-bottom:1.5rem;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);overflow:hidden;&:has(:is([class*=cols-],[class*=col-start-],[class*=col-end-],[class*=col-span-])){display:grid;>*{grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}&:empty{display:none}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.admin-panel__heading):not(.lead):first-child{--gradient-direction: -90deg !important;background-color:var(--colour-success);&:not([class*=bg-]){color:var(--colour-primary-theme);background-image:linear-gradient(var(--gradient-direction), var(--colour-info) 0, transparent 100%)}margin:calc(var(--padding-top)*-1) calc(var(--padding-x)*-1) var(--padding-top) calc(var(--padding-x)*-1);display:block;border-top-left-radius:.5rem;border-top-right-radius:.5rem}>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child,.admin-panel__heading>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead){font-size:1.125rem;line-height:1.5rem;font-weight:bold;padding:1rem 1.5rem;max-width:unset}>:is(.admin-panel__heading):first-child{display:flex !important;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.5rem;>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){padding:0;margin-inline-end:auto}.btn{--btn-margin: 0;margin-bottom:0}.dialog__wrapper+.btn{--btn-margin: 0.25rem;margin-inline-end:0}@media(prefers-color-scheme: light){.btn-action,.dialog__wrapper{--colour-canvas-2: #ffffff;--colour-heading: var(--colour-primary);--colour-btn-action-hover-bg: var(--colour-light);--colour-btn-hover: var(--colour-primary);--colour-border: #d8d8d8}}}:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax,.iam-table){margin:0 0 2rem 0;padding:0;box-shadow:none;background:none}&>*:not([class*=mb-]):not(.btn__group):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}& p{max-width:100%;padding-bottom:1.5rem}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){overflow:auto;&:before{top:100% !important}}&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child+:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid){padding-top:var(--padding-top);margin-top:calc(var(--padding-top)*-1)}&>:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):last-child{padding-bottom:var(--padding-bottom);margin-bottom:calc(var(--padding-bottom)*-1) !important;&>*:not([class*=mb-]):last-child{margin-bottom:0 !important}&>*:is(p):last-child{padding-bottom:0 !important}}&>iam-pagination{margin-top:-1rem}&:has(.mh-fluid){max-height:100%;display:flex;flex-direction:column}&.grid{display:grid !important;grid-template-columns:subgrid !important;>*:not(:first-child){grid-column:var(--col-start, col-1-start)/var(--col-end, col-12-end)}}&>hr{margin-inline:calc(var(--padding-x)*-1)}}@container style(--theme: dark){.admin-panel{background-color:var(--colour-canvas-2);color:var(--colour-body);.bg-white{background-color:transparent !important;color:var(--white) !important}}}[class*=col].admin-panel:first-child:last-child:not(:has(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid)){min-height:calc(100% - 1.5rem)}.admin-panel:has(iam-actionbar){&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):not(.lead):first-child{margin-bottom:0}iam-actionbar{background:var(--colour-canvas);margin-inline:calc(var(--padding-x)*-1);margin-bottom:var(--padding-top);&:first-child{margin-top:calc(var(--padding-top)*-1)}&:not(:first-child){border-radius:0}}&>:is(iam-table,iam-table-basic,iam-table-no-submit,iam-table-submit,iam-table-ajax){overflow:visible;&:first-child{margin-top:calc(var(--padding-top)*-1)}iam-actionbar{margin-top:0 !important;border-radius:0;box-shadow:none}}}details.admin-panel{summary:after{content:"\uF077";font-weight:bold;margin-left:0;height:2rem;width:2rem;text-align:center;line-height:2rem;margin-right:-0.5rem}summary:not(:has(.btn:hover)):hover:after{background:var(--colour-light);border-radius:50%}summary:not(:has(.btn:hover)):active:after{background:var(--colour-light);filter:brightness(85%);border-radius:50%}}details.admin-panel:not([open]){padding-bottom:0;summary:first-child{margin-bottom:0}summary:after{content:"\uF078"}}.admin-panel__footer:last-child{background-color:var(--wider-colour);padding-top:var(--padding-top);margin-inline:calc(var(--padding-x)*-1);padding-inline:var(--padding-x);padding-bottom:0;&>*:last-child{margin-bottom:0;padding-bottom:var(--padding-bottom);align-self:center}}.admin-panel__footer:not([class*=mb-]):last-child{margin-bottom:calc(var(--padding-bottom)*-1) !important}.sub-panel{background:var(--colour-canvas);padding:var(--spacer-1);border:1px solid var(--colour-border);border-radius:.25rem;font-weight:normal;margin-bottom:1rem;&>:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){font-size:1rem;line-height:1;margin-bottom:0;padding-bottom:.5rem;font-weight:normal}strong{font-weight:normal}.logo{height:1.5rem;width:1.5rem;object-fit:contain;padding:0;margin:0 auto .25rem auto;display:block}}}*,*::before,*::after{box-sizing:border-box}.container{box-sizing:border-box;position:relative;z-index:4}:host{padding-top:0 !important;display:block !important}:host .container{padding-bottom:var(--padding-bottom) !important}.header-banner{padding-top:var(--padding-top);max-width:120rem;margin-inline:auto;display:block;position:relative;height:auto}.header-banner>.picture-overflow{overflow:hidden;position:absolute;inset:0;z-index:3}.header-banner>.picture-overflow picture{display:block;position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none;overflow:hidden;min-height:25rem;max-height:25rem}.header-banner>.picture-overflow picture img{display:block;position:absolute;z-index:1;inset:0;object-fit:cover;object-position:50% 50%;width:100%;height:100%}.header-banner>.picture-overflow picture:after{content:"";display:block;position:absolute;z-index:2;inset:0;background:linear-gradient(300deg, rgb(30, 190, 230) 0%, rgb(0, 49, 60) 100%);opacity:.85}:host(.header--contain) .header-banner{padding-bottom:2rem}:host(.header--contain) .header-banner>picture{max-height:100%}::slotted(.breadcrumb){margin-top:1.5rem !important;margin-bottom:-0.5rem !important}@media screen and (min-width: 62em){::slotted(.breadcrumb){position:absolute !important;top:0 !important;left:5.25rem !important}}:host(.has-breadcrumbs) .header-banner{padding-top:1rem}:host(.has-breadcrumbs) ::slotted(.breadcrumbs){margin-bottom:2rem !important}slot[name=badge]{display:block;position:absolute;top:0;left:0}:host(.has-panel) [name=panel]{display:block;text-align:center;margin-bottom:1rem;max-height:fit-content}::slotted([slot=panel]){color-scheme:light !important;--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);--colour-underline: var(--colour-secondary-theme);color:var(--colour-primary-theme)}::slotted(img[slot=panel]){max-width:4.75rem !important}:host(.has-panel) slot[name=panel]{container-type:inline-size;anchor-name:--anchor}:host(.has-panel) slot[name=badge]{position-anchor:--anchor;top:calc(anchor(top) + 1rem);left:calc(anchor(left) + 1rem);z-index:999}@media screen and (min-width: 62em){:host(.has-panel) .container{display:grid;column-gap:var(--gap);grid-template-columns:repeat(12, 1fr)}:host(.has-panel) slot:not([name]){display:block;grid-column-start:1;grid-column-end:7}:host(.has-panel) slot[name=before]{display:block;grid-column-start:1;grid-column-end:13}:host(.has-panel) slot[name=panel]{display:block;grid-column-start:8;grid-column-end:13}:host(.has-panel) .admin-panel{text-align:center}}:host(.has-toolbox){--padding-bottom: 1rem!important;margin-bottom:4rem !important}:host(.has-toolbox) [name=toolbox]{display:flex;flex-wrap:wrap;text-align:center;margin-bottom:-3rem;width:fit-content;margin-inline:auto;gap:.5rem}::slotted([slot=toolbox]){margin:0 !important;color-scheme:light !important;--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);--colour-underline: var(--colour-secondary-theme);color:var(--colour-primary-theme)}::slotted(hr[slot=toolbox]){display:inline-block;vertical-align:top !important;margin-top:-0.25rem !important;margin-bottom:-0.25rem !important;background-color:var(--colour-muted) !important;width:1px !important;height:2.5rem !important}.gradient-overflow{overflow:hidden;position:absolute;inset:0;z-index:2}.gradient-background{position:absolute;left:75%;top:50%;transform:translate(-50%, -50%);width:54rem;aspect-ratio:1/1}/*# sourceMappingURL=assets/css/components/header.component.css.map */
7
7
 
8
8
  </style>
9
9
  <div class="header-banner">
@@ -1 +1 @@
1
- {"version":3,"file":"header.component.min.js","sources":["header.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'header',\n});\nclass iamHeader extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/header.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /*HTML*/ `\r\n <style>\r\n ${loadCSS}\r\n </style>\r\n <div class=\"header-banner\">\r\n <div class=\"gradient-overflow\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 776.72 776.73\" class=\"gradient-background\">\r\n <defs>\r\n <style>\r\n .cls-1 {\r\n fill: url(#linear-gradient-2);\r\n opacity: .15;\r\n }\r\n\r\n .cls-2 {\r\n fill: url(#linear-gradient-3);\r\n opacity: .2;\r\n }\r\n\r\n .cls-3 {\r\n fill: url(#linear-gradient);\r\n opacity: .1;\r\n }\r\n </style>\r\n <linearGradient id=\"linear-gradient\" x1=\"113.75\" y1=\"113.75\" x2=\"662.98\" y2=\"662.98\" gradientUnits=\"userSpaceOnUse\">\r\n <stop offset=\"0\" stop-color=\"#54ffff\" stop-opacity=\"0\"/>\r\n <stop offset=\"1\" stop-color=\"#54ffff\"/>\r\n </linearGradient>\r\n <linearGradient id=\"linear-gradient-2\" x1=\"610.21\" y1=\"166.51\" x2=\"166.51\" y2=\"610.21\" xlink:href=\"#linear-gradient\"/>\r\n <linearGradient id=\"linear-gradient-3\" x1=\"388.36\" y1=\"177.95\" x2=\"388.36\" y2=\"598.78\" xlink:href=\"#linear-gradient\"/>\r\n </defs>\r\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\r\n <g>\r\n <path class=\"cls-3\" d=\"M113.75,662.98c151.66,151.67,397.56,151.66,549.23,0,151.67-151.67,151.66-397.56,0-549.23-151.67-151.66-397.56-151.66-549.23,0-151.66,151.67-151.66,397.56,0,549.23\"/>\r\n <path class=\"cls-1\" d=\"M74.62,388.36c0,173.27,140.47,313.74,313.74,313.74s313.74-140.47,313.74-313.74S561.64,74.62,388.36,74.62,74.62,215.09,74.62,388.36\"/>\r\n <path class=\"cls-2\" d=\"M239.58,239.58c-82.17,82.17-82.17,215.4,0,297.57,82.17,82.17,215.4,82.17,297.57,0,82.17-82.17,82.17-215.4,0-297.57-82.17-82.17-215.4-82.17-297.57,0\"/>\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"picture-overflow\">\r\n <picture>\r\n <img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" lazy=\"\" />\r\n </picture>\r\n </div>\r\n <div class=\"container\">\r\n <slot name=\"before\"></slot>\r\n <slot></slot>\r\n <slot name=\"badge\"></slot>\r\n <slot name=\"panel\" class=\"admin-panel\"></slot>\r\n <slot name=\"toolbox\" class=\"admin-panel\"></slot>\r\n </div>\r\n </div>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n this.classList.add('bg-primary');\n const picture = this.shadowRoot.querySelector('picture');\n const source = this.shadowRoot.querySelector('picture img');\n if (this.hasAttribute('image'))\n source.setAttribute('src', this.getAttribute('image'));\n else\n picture.remove();\n if (this.querySelector('[slot=\"panel\"]'))\n this.classList.add('has-panel');\n if (this.querySelector('[slot=\"toolbox\"]'))\n this.classList.add('has-toolbox');\n if (this.querySelector('.breadcrumbs:first-child'))\n this.classList.add('has-breadcrumbs');\n }\n}\nexport default iamHeader;\n"],"names":["iamHeader","template","picture","source"],"mappings":";;;IACA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,QACb,CAAC,EACD,MAAMA,UAAkB,WAAY,CAChC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsD9B,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,KAAK,UAAU,IAAI,YAAY,EAC/B,MAAMC,EAAU,KAAK,WAAW,cAAc,SAAS,EACjDC,EAAS,KAAK,WAAW,cAAc,aAAa,EACtD,KAAK,aAAa,OAAO,EACzBA,EAAO,aAAa,MAAO,KAAK,aAAa,OAAO,CAAC,EAErDD,EAAQ,OAAM,EACd,KAAK,cAAc,gBAAgB,GACnC,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,cAAc,kBAAkB,GACrC,KAAK,UAAU,IAAI,aAAa,EAChC,KAAK,cAAc,0BAA0B,GAC7C,KAAK,UAAU,IAAI,iBAAiB,CAC5C,CACJ"}
1
+ {"version":3,"file":"header.component.min.js","sources":["header.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'header',\n});\nclass iamHeader extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/header.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = /*HTML*/ `\n <style>\n ${loadCSS}\n </style>\n <div class=\"header-banner\">\n <div class=\"gradient-overflow\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 776.72 776.73\" class=\"gradient-background\">\n <defs>\n <style>\n .cls-1 {\n fill: url(#linear-gradient-2);\n opacity: .15;\n }\n\n .cls-2 {\n fill: url(#linear-gradient-3);\n opacity: .2;\n }\n\n .cls-3 {\n fill: url(#linear-gradient);\n opacity: .1;\n }\n </style>\n <linearGradient id=\"linear-gradient\" x1=\"113.75\" y1=\"113.75\" x2=\"662.98\" y2=\"662.98\" gradientUnits=\"userSpaceOnUse\">\n <stop offset=\"0\" stop-color=\"#54ffff\" stop-opacity=\"0\"/>\n <stop offset=\"1\" stop-color=\"#54ffff\"/>\n </linearGradient>\n <linearGradient id=\"linear-gradient-2\" x1=\"610.21\" y1=\"166.51\" x2=\"166.51\" y2=\"610.21\" xlink:href=\"#linear-gradient\"/>\n <linearGradient id=\"linear-gradient-3\" x1=\"388.36\" y1=\"177.95\" x2=\"388.36\" y2=\"598.78\" xlink:href=\"#linear-gradient\"/>\n </defs>\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\n <g>\n <path class=\"cls-3\" d=\"M113.75,662.98c151.66,151.67,397.56,151.66,549.23,0,151.67-151.67,151.66-397.56,0-549.23-151.67-151.66-397.56-151.66-549.23,0-151.66,151.67-151.66,397.56,0,549.23\"/>\n <path class=\"cls-1\" d=\"M74.62,388.36c0,173.27,140.47,313.74,313.74,313.74s313.74-140.47,313.74-313.74S561.64,74.62,388.36,74.62,74.62,215.09,74.62,388.36\"/>\n <path class=\"cls-2\" d=\"M239.58,239.58c-82.17,82.17-82.17,215.4,0,297.57,82.17,82.17,215.4,82.17,297.57,0,82.17-82.17,82.17-215.4,0-297.57-82.17-82.17-215.4-82.17-297.57,0\"/>\n </g>\n </g>\n </svg>\n </div>\n <div class=\"picture-overflow\">\n <picture>\n <img src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"\" lazy=\"\" />\n </picture>\n </div>\n <div class=\"container\">\n <slot name=\"before\"></slot>\n <slot></slot>\n <slot name=\"badge\"></slot>\n <slot name=\"panel\" class=\"admin-panel\"></slot>\n <slot name=\"toolbox\" class=\"admin-panel\"></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n this.classList.add('bg-primary');\n const picture = this.shadowRoot.querySelector('picture');\n const source = this.shadowRoot.querySelector('picture img');\n if (this.hasAttribute('image'))\n source.setAttribute('src', this.getAttribute('image'));\n else\n picture.remove();\n if (this.querySelector('[slot=\"panel\"]'))\n this.classList.add('has-panel');\n if (this.querySelector('[slot=\"toolbox\"]'))\n this.classList.add('has-toolbox');\n if (this.querySelector('.breadcrumbs:first-child'))\n this.classList.add('has-breadcrumbs');\n }\n}\nexport default iamHeader;\n"],"names":["iamHeader","template","picture","source"],"mappings":";;;IACA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,QACb,CAAC,EACD,MAAMA,UAAkB,WAAY,CAChC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsD9B,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,KAAK,UAAU,IAAI,YAAY,EAC/B,MAAMC,EAAU,KAAK,WAAW,cAAc,SAAS,EACjDC,EAAS,KAAK,WAAW,cAAc,aAAa,EACtD,KAAK,aAAa,OAAO,EACzBA,EAAO,aAAa,MAAO,KAAK,aAAa,OAAO,CAAC,EAErDD,EAAQ,OAAM,EACd,KAAK,cAAc,gBAAgB,GACnC,KAAK,UAAU,IAAI,WAAW,EAC9B,KAAK,cAAc,kBAAkB,GACrC,KAAK,UAAU,IAAI,aAAa,EAChC,KAAK,cAAc,0BAA0B,GAC7C,KAAK,UAAU,IAAI,iBAAiB,CAC5C,CACJ"}
@@ -13,22 +13,22 @@ class iamInlineEdit extends HTMLElement {
13
13
  : '/assets';
14
14
  const loadCSS = `@import "${assetLocation}/css/components/inline-edit.css";`;
15
15
  const template = document.createElement('template');
16
- template.innerHTML = `
17
- <style class="styles">
18
-
19
- ${loadCSS}
20
- </style>
21
- <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
22
-
23
- <slot></slot>
24
- <div class="btns" part="btns">
25
- <button class="btn btn-action" id="save" part="save-btn"><i class="fa-regular fa-save m-0"></i> Save</button><button class="btn btn-action" id="cancel" part="cancel-btn">Cancel</button>
26
- </div>
27
- <div class="status pe-none" part="status">
28
- <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saving"><i class="fa-regular fa-spinner fa-spin me-1"></i> Saving...</span>
29
- <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saved"><i class="fa-regular fa-check me-1"></i> Saved</span>
30
- <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="notsaved"><i class="fa-regular fa-circle-info me-1"></i> Not Saved</span>
31
- </div>
16
+ template.innerHTML = `
17
+ <style class="styles">
18
+
19
+ ${loadCSS}
20
+ </style>
21
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
22
+
23
+ <slot></slot>
24
+ <div class="btns" part="btns">
25
+ <button class="btn btn-action" id="save" part="save-btn"><i class="fa-regular fa-save m-0"></i> Save</button><button class="btn btn-action" id="cancel" part="cancel-btn">Cancel</button>
26
+ </div>
27
+ <div class="status pe-none" part="status">
28
+ <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saving"><i class="fa-regular fa-spinner fa-spin me-1"></i> Saving...</span>
29
+ <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saved"><i class="fa-regular fa-check me-1"></i> Saved</span>
30
+ <span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="notsaved"><i class="fa-regular fa-circle-info me-1"></i> Not Saved</span>
31
+ </div>
32
32
  `;
33
33
  shadowRoot.appendChild(template.content.cloneNode(true));
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta8
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"inline edit"});class v extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
5
5
  <style class="styles">
@@ -1 +1 @@
1
- {"version":3,"file":"inline-edit.component.min.js","sources":["inline-edit.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'inline edit',\n});\nclass iamInlineEdit extends HTMLElement {\n constructor() {\n super();\n const shadowRoot = 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/inline-edit.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style class=\"styles\">\r\n \r\n ${loadCSS}\r\n </style>\r\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\r\n \r\n <slot></slot>\r\n <div class=\"btns\" part=\"btns\">\r\n <button class=\"btn btn-action\" id=\"save\" part=\"save-btn\"><i class=\"fa-regular fa-save m-0\"></i> Save</button><button class=\"btn btn-action\" id=\"cancel\" part=\"cancel-btn\">Cancel</button>\r\n </div>\r\n <div class=\"status pe-none\" part=\"status\">\r\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"saving\"><i class=\"fa-regular fa-spinner fa-spin me-1\"></i> Saving...</span>\r\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"saved\"><i class=\"fa-regular fa-check me-1\"></i> Saved</span>\r\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"notsaved\"><i class=\"fa-regular fa-circle-info me-1\"></i> Not Saved</span>\r\n </div>\r\n `;\n shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const inlineEdit = this;\n const saveButton = this.shadowRoot.querySelector('#save');\n const cancelButton = this.shadowRoot.querySelector('#cancel');\n const input = this.querySelector('input, textarea, select');\n const preview = this.querySelector('.preview');\n const statusSaving = this.shadowRoot.querySelector('#saving');\n const statusSaved = this.shadowRoot.querySelector('#saved');\n const statusNotSaved = this.shadowRoot.querySelector('#notsaved');\n // Save the original value for later\n let originalValue = input ? input.value : '';\n // cancel\n cancelButton.addEventListener('click', () => {\n if (input) {\n input.value = originalValue;\n input.blur();\n }\n inlineEdit.blur();\n inlineEdit.classList.remove('was-validated');\n statusNotSaved.classList.add('d-none');\n const cancelEvent = new CustomEvent('inline-edit-cancel', {\n detail: { name: input.getAttribute('name') },\n });\n inlineEdit.dispatchEvent(cancelEvent);\n });\n // Save\n saveButton.addEventListener('click', () => {\n if (inlineEdit.querySelector(':invalid')) {\n inlineEdit.classList.add('was-validated');\n return false;\n }\n originalValue = input.value;\n // dispatch save event\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n inlineEdit.blur();\n statusSaving.classList.remove('d-none');\n if (input) {\n input.disabled = true;\n input.blur();\n if (preview) {\n preview.innerHTML = input.value;\n }\n }\n });\n if (input) {\n // Save\n if (input.tagName === 'INPUT') {\n input.addEventListener('keydown', (event) => {\n switch (event.key // change to event.key to key to use the above variable\n ) {\n case 'Enter':\n event.stopPropagation();\n event.preventDefault();\n saveButton.click();\n break;\n }\n });\n }\n // enter key saves\n if (input.tagName === 'SELECT') {\n input.addEventListener('change', () => {\n originalValue = input.value;\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n inlineEdit.setAttribute('data-saving', 'true');\n input.disabled = true;\n input.blur();\n });\n }\n if (input.tagName != 'SELECT') {\n input.addEventListener('focus', () => {\n input.select();\n });\n }\n //blur it should autosave\n input.addEventListener('blur', () => {\n if (input.value != originalValue) {\n if (inlineEdit.hasAttribute('data-autosave')) {\n originalValue = input.value;\n const saveEvent = new CustomEvent('inline-edit-autosave', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n statusSaving.classList.remove('d-none');\n if (preview) {\n preview.innerHTML = input.value;\n }\n }\n else if (!inlineEdit.querySelector('.inline-feedback')) {\n statusNotSaved.classList.remove('d-none');\n }\n }\n });\n }\n // Saved\n inlineEdit.addEventListener('inline-edit-saved', () => {\n setTimeout(() => {\n statusSaving.classList.add('d-none');\n statusSaved.classList.remove('d-none');\n const confirmEvent = new CustomEvent('inline-edit-confirmed', {\n detail: { name: input.getAttribute('name') },\n });\n inlineEdit.dispatchEvent(confirmEvent);\n }, 100);\n // Reset to normal\n setTimeout(() => {\n input.disabled = false;\n inlineEdit.removeAttribute('data-saving');\n statusSaving.classList.add('d-none');\n statusSaved.classList.add('d-none');\n statusNotSaved.classList.add('d-none');\n }, 1000);\n });\n // checkboxes\n inlineEdit.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"checkbox\"]')) {\n let saveValue = '';\n Array.from(inlineEdit.querySelectorAll(`label input[type=\"checkbox\"]:checked`)).forEach((checkbox, index) => {\n if (index != 0)\n saveValue += ', ';\n saveValue += checkbox.value;\n });\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: {\n name: event.target.closest('input[type=\"checkbox\"]').getAttribute('name'),\n value: saveValue,\n },\n });\n inlineEdit.dispatchEvent(saveEvent);\n }\n });\n }\n}\nexport default iamInlineEdit;\n"],"names":["iamInlineEdit","shadowRoot","template","inlineEdit","saveButton","cancelButton","input","preview","statusSaving","statusSaved","statusNotSaved","originalValue","cancelEvent","saveEvent","event","confirmEvent","saveValue","checkbox","index"],"mappings":"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"}
1
+ {"version":3,"file":"inline-edit.component.min.js","sources":["inline-edit.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'inline edit',\n});\nclass iamInlineEdit extends HTMLElement {\n constructor() {\n super();\n const shadowRoot = 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/inline-edit.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style class=\"styles\">\n \n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\n \n <slot></slot>\n <div class=\"btns\" part=\"btns\">\n <button class=\"btn btn-action\" id=\"save\" part=\"save-btn\"><i class=\"fa-regular fa-save m-0\"></i> Save</button><button class=\"btn btn-action\" id=\"cancel\" part=\"cancel-btn\">Cancel</button>\n </div>\n <div class=\"status pe-none\" part=\"status\">\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"saving\"><i class=\"fa-regular fa-spinner fa-spin me-1\"></i> Saving...</span>\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"saved\"><i class=\"fa-regular fa-check me-1\"></i> Saved</span>\n <span class=\"btn btn-action border-0 bg-transparent prevent-invert d-none\" id=\"notsaved\"><i class=\"fa-regular fa-circle-info me-1\"></i> Not Saved</span>\n </div>\n `;\n shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const inlineEdit = this;\n const saveButton = this.shadowRoot.querySelector('#save');\n const cancelButton = this.shadowRoot.querySelector('#cancel');\n const input = this.querySelector('input, textarea, select');\n const preview = this.querySelector('.preview');\n const statusSaving = this.shadowRoot.querySelector('#saving');\n const statusSaved = this.shadowRoot.querySelector('#saved');\n const statusNotSaved = this.shadowRoot.querySelector('#notsaved');\n // Save the original value for later\n let originalValue = input ? input.value : '';\n // cancel\n cancelButton.addEventListener('click', () => {\n if (input) {\n input.value = originalValue;\n input.blur();\n }\n inlineEdit.blur();\n inlineEdit.classList.remove('was-validated');\n statusNotSaved.classList.add('d-none');\n const cancelEvent = new CustomEvent('inline-edit-cancel', {\n detail: { name: input.getAttribute('name') },\n });\n inlineEdit.dispatchEvent(cancelEvent);\n });\n // Save\n saveButton.addEventListener('click', () => {\n if (inlineEdit.querySelector(':invalid')) {\n inlineEdit.classList.add('was-validated');\n return false;\n }\n originalValue = input.value;\n // dispatch save event\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n inlineEdit.blur();\n statusSaving.classList.remove('d-none');\n if (input) {\n input.disabled = true;\n input.blur();\n if (preview) {\n preview.innerHTML = input.value;\n }\n }\n });\n if (input) {\n // Save\n if (input.tagName === 'INPUT') {\n input.addEventListener('keydown', (event) => {\n switch (event.key // change to event.key to key to use the above variable\n ) {\n case 'Enter':\n event.stopPropagation();\n event.preventDefault();\n saveButton.click();\n break;\n }\n });\n }\n // enter key saves\n if (input.tagName === 'SELECT') {\n input.addEventListener('change', () => {\n originalValue = input.value;\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n inlineEdit.setAttribute('data-saving', 'true');\n input.disabled = true;\n input.blur();\n });\n }\n if (input.tagName != 'SELECT') {\n input.addEventListener('focus', () => {\n input.select();\n });\n }\n //blur it should autosave\n input.addEventListener('blur', () => {\n if (input.value != originalValue) {\n if (inlineEdit.hasAttribute('data-autosave')) {\n originalValue = input.value;\n const saveEvent = new CustomEvent('inline-edit-autosave', {\n detail: { name: input.getAttribute('name'), value: input.value },\n });\n inlineEdit.dispatchEvent(saveEvent);\n statusSaving.classList.remove('d-none');\n if (preview) {\n preview.innerHTML = input.value;\n }\n }\n else if (!inlineEdit.querySelector('.inline-feedback')) {\n statusNotSaved.classList.remove('d-none');\n }\n }\n });\n }\n // Saved\n inlineEdit.addEventListener('inline-edit-saved', () => {\n setTimeout(() => {\n statusSaving.classList.add('d-none');\n statusSaved.classList.remove('d-none');\n const confirmEvent = new CustomEvent('inline-edit-confirmed', {\n detail: { name: input.getAttribute('name') },\n });\n inlineEdit.dispatchEvent(confirmEvent);\n }, 100);\n // Reset to normal\n setTimeout(() => {\n input.disabled = false;\n inlineEdit.removeAttribute('data-saving');\n statusSaving.classList.add('d-none');\n statusSaved.classList.add('d-none');\n statusNotSaved.classList.add('d-none');\n }, 1000);\n });\n // checkboxes\n inlineEdit.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"checkbox\"]')) {\n let saveValue = '';\n Array.from(inlineEdit.querySelectorAll(`label input[type=\"checkbox\"]:checked`)).forEach((checkbox, index) => {\n if (index != 0)\n saveValue += ', ';\n saveValue += checkbox.value;\n });\n const saveEvent = new CustomEvent('inline-edit-save', {\n detail: {\n name: event.target.closest('input[type=\"checkbox\"]').getAttribute('name'),\n value: saveValue,\n },\n });\n inlineEdit.dispatchEvent(saveEvent);\n }\n });\n }\n}\nexport default iamInlineEdit;\n"],"names":["iamInlineEdit","shadowRoot","template","inlineEdit","saveButton","cancelButton","input","preview","statusSaving","statusSaved","statusNotSaved","originalValue","cancelEvent","saveEvent","event","confirmEvent","saveValue","checkbox","index"],"mappings":"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"}
@@ -9,16 +9,16 @@ class iamInput extends HTMLElement {
9
9
  : '/assets';
10
10
  const loadCSS = `@import "${assetLocation}/css/components/input.component.css";`;
11
11
  const template = document.createElement('template');
12
- template.innerHTML = `
13
- <style>
14
- ${loadCSS}
15
- </style>
16
- <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
17
- <div class="wrapper" part="wrapper">
18
- <span part="prefix"><slot name="prefix"></slot></span>
19
- <slot part="input-wrapper"></slot>
20
- <slot part="suffix"><slot name="suffix"></slot></slot>
21
- </div>
12
+ template.innerHTML = `
13
+ <style>
14
+ ${loadCSS}
15
+ </style>
16
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
17
+ <div class="wrapper" part="wrapper">
18
+ <span part="prefix"><slot name="prefix"></slot></span>
19
+ <slot part="input-wrapper"></slot>
20
+ <slot part="suffix"><slot name="suffix"></slot></slot>
21
+ </div>
22
22
  `;
23
23
  this.shadowRoot.appendChild(template.content.cloneNode(true));
24
24
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta8
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const q=k=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:k})};q("iam-iamPrefix");class _ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const s=document.createElement("template");s.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"input.component.min.js","sources":["../_global.js","input.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamInput extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style>\r\n ${loadCSS}\r\n </style>\r\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\r\n <div class=\"wrapper\" part=\"wrapper\">\r\n <span part=\"prefix\"><slot name=\"prefix\"></slot></span>\r\n <slot part=\"input-wrapper\"></slot>\r\n <slot part=\"suffix\"><slot name=\"suffix\"></slot></slot>\r\n </div>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const component = this;\n const input = this.querySelector('input');\n const inputType = (input === null || input === void 0 ? void 0 : input.hasAttribute('type')) ? input === null || input === void 0 ? void 0 : input.getAttribute('type') : 'text';\n const prefixIcon = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part=\"prefix\"]');\n const suffixIcon = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[part=\"suffix\"]');\n if (this.closest('label'))\n this.classList.add('mb-0');\n const setIcon = (inputType) => {\n // Pre set the icons\n switch (inputType) {\n case \"date\":\n case \"datetime-local\":\n case \"year\":\n case \"month\":\n case \"week\":\n this.setAttribute('data-suffix-icon', 'calendar');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n case \"time\":\n this.setAttribute('data-suffix-icon', 'clock');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n default:\n this.removeAttribute('data-suffix-icon');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('role');\n break;\n }\n };\n setIcon(inputType);\n const setCurrencyRules = () => {\n let originalValue = input.value.replace(',', '');\n input === null || input === void 0 ? void 0 : input.setAttribute('data-value', originalValue);\n input.setAttribute('type', 'text');\n originalValue = new Intl.NumberFormat(\"en-GB\", {\n style: \"currency\",\n currency: \"GBP\",\n minimumFractionDigits: Number.isInteger(originalValue) ? 0 : 2,\n maximumFractionDigits: Number.isInteger(originalValue) ? 0 : 2,\n trailingZeroDisplay: 'stripIfInteger' // Strip zeros if it's an integer\n }).format(originalValue).replace(\"£\", \"\");\n input.value = originalValue;\n };\n // Currency type\n if (component === null || component === void 0 ? void 0 : component.hasAttribute('data-currency')) {\n // Pre set the icons\n switch (component === null || component === void 0 ? void 0 : component.hasAttribute('data-currency')) {\n case \"dollar\":\n component.setAttribute('data-prefix-icon', 'dollar-sign');\n break;\n case \"euro\":\n component.setAttribute('data-prefix-icon', 'euro-sign');\n break;\n default:\n component.setAttribute('data-prefix-icon', 'sterling-sign');\n break;\n }\n setCurrencyRules();\n input === null || input === void 0 ? void 0 : input.addEventListener('focus', (event) => {\n input.setAttribute('type', 'number');\n input.value = input.getAttribute('data-value');\n input.setAttribute('value', input.getAttribute('data-value'));\n });\n input === null || input === void 0 ? void 0 : input.addEventListener('input', (event) => {\n input === null || input === void 0 ? void 0 : input.setAttribute('data-value', input.value);\n });\n input === null || input === void 0 ? void 0 : input.addEventListener('blur', (event) => {\n setCurrencyRules();\n });\n }\n // Colour input field\n if (input === null || input === void 0 ? void 0 : input.matches('[type=\"color\"]')) {\n this.insertAdjacentHTML('beforeend', `<output></output>`);\n input.addEventListener('input', () => {\n input.nextElementSibling.value = input.value;\n });\n }\n if (this.hasAttribute('data-prefix-icon')) {\n prefixIcon === null || prefixIcon === void 0 ? void 0 : prefixIcon.className = `prefix fa-${this.hasAttribute('data-prefix-weight') ? this.getAttribute('data-prefix-weight') : 'regular'} fa-${this.getAttribute('data-prefix-icon')}`;\n (_c = this.querySelector('input')) === null || _c === void 0 ? void 0 : _c.classList.add('has-prefix');\n }\n if (this.hasAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n (_d = this.querySelector('input')) === null || _d === void 0 ? void 0 : _d.classList.add('has-suffix');\n }\n if ((_e = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _e === void 0 ? void 0 : _e.assignedElements().length) {\n (_f = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _f === void 0 ? void 0 : _f.classList.add('prefix');\n (_g = this.querySelector('input')) === null || _g === void 0 ? void 0 : _g.classList.add('has-prefix');\n }\n if ((_h = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _h === void 0 ? void 0 : _h.assignedElements().length) {\n (_j = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _j === void 0 ? void 0 : _j.classList.add('suffix');\n (_k = this.querySelector('input')) === null || _k === void 0 ? void 0 : _k.classList.add('has-suffix');\n }\n // Change type\n if (this.querySelector('[data-change-type]')) {\n const select = this.querySelector('[data-change-type]');\n select.addEventListener('change', () => {\n input.setAttribute('type', select.value);\n setIcon(select.value);\n if (this.getAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n input === null || input === void 0 ? void 0 : input.classList.add('has-suffix');\n }\n else {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('class');\n input === null || input === void 0 ? void 0 : input.classList.remove('has-suffix');\n }\n });\n }\n // #region Date restrictions\n const today = new Date();\n function formatDate(date, type = \"date\") {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n if (type == \"datetime-local\")\n return `${year}-${month}-${day}T00:00:00`;\n return `${year}-${month}-${day}`;\n }\n const checkDayAllowed = (input, allowedDays) => {\n const day = new Date(input.value).getUTCDay();\n if (allowedDays.includes(day))\n input.setCustomValidity('');\n else\n input.setCustomValidity('That day of the week is not allowed');\n };\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"date\"], [type=\"datetime-local\"]')) && this.hasAttribute('data-allowed-days')) {\n const allowedDays = JSON.parse(`[${this.getAttribute('data-allowed-days')}]`);\n checkDayAllowed(input, allowedDays);\n input.addEventListener('input', () => { checkDayAllowed(input, allowedDays); });\n }\n // #endregion\n suffixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"suffix\"]')))\n input.showPicker();\n });\n prefixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"prefix\"]')))\n input.showPicker();\n });\n // Duplicate input watches\n if (component.hasAttribute('data-duplicate')) {\n const id = component.getAttribute('data-duplicate');\n const watchedInputs = document.querySelectorAll(`[name=\"${id}\"], [id=\"${id}\"]`);\n input.addEventListener('change', (event) => {\n var _a;\n if (input.closest('iam-modal'))\n return false;\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n watchedInput.checked = event.target.checked;\n if (!event.detail && !((_a = event.detail) === null || _a === void 0 ? void 0 : _a.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.dispatchEvent(changeEvent);\n }\n }\n });\n Array.from(watchedInputs).forEach((watchedInput) => {\n watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.addEventListener('change', (event) => {\n var _a, _b;\n // If both the duplicate input and the watched input are checkboxes\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n input.checked = event.target.checked;\n if (!event.detail && !((_a = event.detail) === null || _a === void 0 ? void 0 : _a.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n input === null || input === void 0 ? void 0 : input.dispatchEvent(changeEvent);\n }\n }\n // if input is not a checkbox BUT the watched input is\n // Then we need to create the input's value\n if (!(input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n let computedValue = '';\n Array.from(document.querySelectorAll(`[name=\"${id}\"]:checked`)).forEach((loopInput) => {\n computedValue += (computedValue == '' ? '' : ',') + loopInput.value;\n });\n input.value = computedValue;\n if (!event.detail && !((_b = event.detail) === null || _b === void 0 ? void 0 : _b.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n input === null || input === void 0 ? void 0 : input.dispatchEvent(changeEvent);\n }\n }\n });\n });\n }\n }\n}\nexport default iamInput;\n"],"names":["trackComponentRegistered","componentName","iamInput","template","_a","_b","_c","_d","_e","_f","_g","_h","_j","_k","component","input","inputType","prefixIcon","suffixIcon","setIcon","setCurrencyRules","originalValue","event","select","checkDayAllowed","allowedDays","day","id","watchedInputs","changeEvent","watchedInput","computedValue","loopInput"],"mappings":"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"}
1
+ {"version":3,"file":"input.component.min.js","sources":["../_global.js","input.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamInput extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\n <div class=\"wrapper\" part=\"wrapper\">\n <span part=\"prefix\"><slot name=\"prefix\"></slot></span>\n <slot part=\"input-wrapper\"></slot>\n <slot part=\"suffix\"><slot name=\"suffix\"></slot></slot>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const component = this;\n const input = this.querySelector('input');\n const inputType = (input === null || input === void 0 ? void 0 : input.hasAttribute('type')) ? input === null || input === void 0 ? void 0 : input.getAttribute('type') : 'text';\n const prefixIcon = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part=\"prefix\"]');\n const suffixIcon = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[part=\"suffix\"]');\n if (this.closest('label'))\n this.classList.add('mb-0');\n const setIcon = (inputType) => {\n // Pre set the icons\n switch (inputType) {\n case \"date\":\n case \"datetime-local\":\n case \"year\":\n case \"month\":\n case \"week\":\n this.setAttribute('data-suffix-icon', 'calendar');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n case \"time\":\n this.setAttribute('data-suffix-icon', 'clock');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n default:\n this.removeAttribute('data-suffix-icon');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('role');\n break;\n }\n };\n setIcon(inputType);\n const setCurrencyRules = () => {\n let originalValue = input.value.replace(',', '');\n input === null || input === void 0 ? void 0 : input.setAttribute('data-value', originalValue);\n input.setAttribute('type', 'text');\n originalValue = new Intl.NumberFormat(\"en-GB\", {\n style: \"currency\",\n currency: \"GBP\",\n minimumFractionDigits: Number.isInteger(originalValue) ? 0 : 2,\n maximumFractionDigits: Number.isInteger(originalValue) ? 0 : 2,\n trailingZeroDisplay: 'stripIfInteger' // Strip zeros if it's an integer\n }).format(originalValue).replace(\"£\", \"\");\n input.value = originalValue;\n };\n // Currency type\n if (component === null || component === void 0 ? void 0 : component.hasAttribute('data-currency')) {\n // Pre set the icons\n switch (component === null || component === void 0 ? void 0 : component.hasAttribute('data-currency')) {\n case \"dollar\":\n component.setAttribute('data-prefix-icon', 'dollar-sign');\n break;\n case \"euro\":\n component.setAttribute('data-prefix-icon', 'euro-sign');\n break;\n default:\n component.setAttribute('data-prefix-icon', 'sterling-sign');\n break;\n }\n setCurrencyRules();\n input === null || input === void 0 ? void 0 : input.addEventListener('focus', (event) => {\n input.setAttribute('type', 'number');\n input.value = input.getAttribute('data-value');\n input.setAttribute('value', input.getAttribute('data-value'));\n });\n input === null || input === void 0 ? void 0 : input.addEventListener('input', (event) => {\n input === null || input === void 0 ? void 0 : input.setAttribute('data-value', input.value);\n });\n input === null || input === void 0 ? void 0 : input.addEventListener('blur', (event) => {\n setCurrencyRules();\n });\n }\n // Colour input field\n if (input === null || input === void 0 ? void 0 : input.matches('[type=\"color\"]')) {\n this.insertAdjacentHTML('beforeend', `<output></output>`);\n input.addEventListener('input', () => {\n input.nextElementSibling.value = input.value;\n });\n }\n if (this.hasAttribute('data-prefix-icon')) {\n prefixIcon === null || prefixIcon === void 0 ? void 0 : prefixIcon.className = `prefix fa-${this.hasAttribute('data-prefix-weight') ? this.getAttribute('data-prefix-weight') : 'regular'} fa-${this.getAttribute('data-prefix-icon')}`;\n (_c = this.querySelector('input')) === null || _c === void 0 ? void 0 : _c.classList.add('has-prefix');\n }\n if (this.hasAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n (_d = this.querySelector('input')) === null || _d === void 0 ? void 0 : _d.classList.add('has-suffix');\n }\n if ((_e = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _e === void 0 ? void 0 : _e.assignedElements().length) {\n (_f = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _f === void 0 ? void 0 : _f.classList.add('prefix');\n (_g = this.querySelector('input')) === null || _g === void 0 ? void 0 : _g.classList.add('has-prefix');\n }\n if ((_h = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _h === void 0 ? void 0 : _h.assignedElements().length) {\n (_j = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _j === void 0 ? void 0 : _j.classList.add('suffix');\n (_k = this.querySelector('input')) === null || _k === void 0 ? void 0 : _k.classList.add('has-suffix');\n }\n // Change type\n if (this.querySelector('[data-change-type]')) {\n const select = this.querySelector('[data-change-type]');\n select.addEventListener('change', () => {\n input.setAttribute('type', select.value);\n setIcon(select.value);\n if (this.getAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n input === null || input === void 0 ? void 0 : input.classList.add('has-suffix');\n }\n else {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('class');\n input === null || input === void 0 ? void 0 : input.classList.remove('has-suffix');\n }\n });\n }\n // #region Date restrictions\n const today = new Date();\n function formatDate(date, type = \"date\") {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n if (type == \"datetime-local\")\n return `${year}-${month}-${day}T00:00:00`;\n return `${year}-${month}-${day}`;\n }\n const checkDayAllowed = (input, allowedDays) => {\n const day = new Date(input.value).getUTCDay();\n if (allowedDays.includes(day))\n input.setCustomValidity('');\n else\n input.setCustomValidity('That day of the week is not allowed');\n };\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"date\"], [type=\"datetime-local\"]')) && this.hasAttribute('data-allowed-days')) {\n const allowedDays = JSON.parse(`[${this.getAttribute('data-allowed-days')}]`);\n checkDayAllowed(input, allowedDays);\n input.addEventListener('input', () => { checkDayAllowed(input, allowedDays); });\n }\n // #endregion\n suffixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"suffix\"]')))\n input.showPicker();\n });\n prefixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"prefix\"]')))\n input.showPicker();\n });\n // Duplicate input watches\n if (component.hasAttribute('data-duplicate')) {\n const id = component.getAttribute('data-duplicate');\n const watchedInputs = document.querySelectorAll(`[name=\"${id}\"], [id=\"${id}\"]`);\n input.addEventListener('change', (event) => {\n var _a;\n if (input.closest('iam-modal'))\n return false;\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n watchedInput.checked = event.target.checked;\n if (!event.detail && !((_a = event.detail) === null || _a === void 0 ? void 0 : _a.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.dispatchEvent(changeEvent);\n }\n }\n });\n Array.from(watchedInputs).forEach((watchedInput) => {\n watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.addEventListener('change', (event) => {\n var _a, _b;\n // If both the duplicate input and the watched input are checkboxes\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n input.checked = event.target.checked;\n if (!event.detail && !((_a = event.detail) === null || _a === void 0 ? void 0 : _a.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n input === null || input === void 0 ? void 0 : input.dispatchEvent(changeEvent);\n }\n }\n // if input is not a checkbox BUT the watched input is\n // Then we need to create the input's value\n if (!(input === null || input === void 0 ? void 0 : input.matches('[type=\"checkbox\"]')) && (watchedInput === null || watchedInput === void 0 ? void 0 : watchedInput.matches('[type=\"checkbox\"]'))) {\n let computedValue = '';\n Array.from(document.querySelectorAll(`[name=\"${id}\"]:checked`)).forEach((loopInput) => {\n computedValue += (computedValue == '' ? '' : ',') + loopInput.value;\n });\n input.value = computedValue;\n if (!event.detail && !((_b = event.detail) === null || _b === void 0 ? void 0 : _b.triggered)) {\n const changeEvent = new CustomEvent('change', { detail: { triggered: true } });\n input === null || input === void 0 ? void 0 : input.dispatchEvent(changeEvent);\n }\n }\n });\n });\n }\n }\n}\nexport default iamInput;\n"],"names":["trackComponentRegistered","componentName","iamInput","template","_a","_b","_c","_d","_e","_f","_g","_h","_j","_k","component","input","inputType","prefixIcon","suffixIcon","setIcon","setCurrencyRules","originalValue","event","select","checkDayAllowed","allowedDays","day","id","watchedInputs","changeEvent","watchedInput","computedValue","loopInput"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,eAAe,EACxC,MAAME,UAAiB,WAAY,CAC/B,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAWrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACxC,MAAMC,EAAY,KACZC,EAAQ,KAAK,cAAc,OAAO,EAClCC,EAA2DD,GAAM,aAAa,MAAM,EAAmDA,GAAM,aAAa,MAAM,EAAI,OACpKE,GAAcb,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,iBAAiB,EAC3Gc,GAAcb,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,iBAAiB,EAC7G,KAAK,QAAQ,OAAO,GACpB,KAAK,UAAU,IAAI,MAAM,EAC7B,MAAMc,EAAWH,GAAc,CAE3B,OAAQA,EAAS,CACb,IAAK,OACL,IAAK,iBACL,IAAK,OACL,IAAK,QACL,IAAK,OACD,KAAK,aAAa,mBAAoB,UAAU,EACQE,GAAW,aAAa,OAAQ,QAAQ,EAChG,MACJ,IAAK,OACD,KAAK,aAAa,mBAAoB,OAAO,EACWA,GAAW,aAAa,OAAQ,QAAQ,EAChG,MACJ,QACI,KAAK,gBAAgB,kBAAkB,EACiBA,GAAW,gBAAgB,MAAM,EACzF,KACpB,CACQ,EACAC,EAAQH,CAAS,EACjB,MAAMI,EAAmB,IAAM,CAC3B,IAAIC,EAAgBN,EAAM,MAAM,QAAQ,IAAK,EAAE,EACDA,GAAM,aAAa,aAAcM,CAAa,EAC5FN,EAAM,aAAa,OAAQ,MAAM,EACjCM,EAAgB,IAAI,KAAK,aAAa,QAAS,CAC3C,MAAO,WACP,SAAU,MACV,sBAAuB,OAAO,UAAUA,CAAa,EAAI,EAAI,EAC7D,sBAAuB,OAAO,UAAUA,CAAa,EAAI,EAAI,EAC7D,oBAAqB,gBACrC,CAAa,EAAE,OAAOA,CAAa,EAAE,QAAQ,OAAK,EAAE,EACxCN,EAAM,MAAQM,CAClB,EAEA,GAA0DP,GAAU,aAAa,eAAe,EAAG,CAE/F,OAA8DA,GAAU,aAAa,eAAe,EAAC,CACjG,IAAK,SACDA,EAAU,aAAa,mBAAoB,aAAa,EACxD,MACJ,IAAK,OACDA,EAAU,aAAa,mBAAoB,WAAW,EACtD,MACJ,QACIA,EAAU,aAAa,mBAAoB,eAAe,EAC1D,KACpB,CACYM,EAAgB,EAC8BL,GAAM,iBAAiB,QAAUO,GAAU,CACrFP,EAAM,aAAa,OAAQ,QAAQ,EACnCA,EAAM,MAAQA,EAAM,aAAa,YAAY,EAC7CA,EAAM,aAAa,QAASA,EAAM,aAAa,YAAY,CAAC,CAChE,CAAC,EAC6CA,GAAM,iBAAiB,QAAUO,GAAU,CACvCP,GAAM,aAAa,aAAcA,EAAM,KAAK,CAC9F,CAAC,EAC6CA,GAAM,iBAAiB,OAASO,GAAU,CACpFF,EAAgB,CACpB,CAAC,CACL,CAyBA,GAvBkDL,GAAM,QAAQ,gBAAgB,IAC5E,KAAK,mBAAmB,YAAa,mBAAmB,EACxDA,EAAM,iBAAiB,QAAS,IAAM,CAClCA,EAAM,mBAAmB,MAAQA,EAAM,KAC3C,CAAC,GAED,KAAK,aAAa,kBAAkB,IACpCE,GAAe,OAAyCA,EAAW,UAAY,aAAa,KAAK,aAAa,oBAAoB,EAAI,KAAK,aAAa,oBAAoB,EAAI,SAAS,OAAO,KAAK,aAAa,kBAAkB,CAAC,KACpOX,EAAK,KAAK,cAAc,OAAO,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,YAAY,GAErG,KAAK,aAAa,kBAAkB,IACpCY,GAAe,OAAyCA,EAAW,UAAY,aAAa,KAAK,aAAa,oBAAoB,EAAI,KAAK,aAAa,oBAAoB,EAAI,SAAS,OAAO,KAAK,aAAa,kBAAkB,CAAC,KACpOX,EAAK,KAAK,cAAc,OAAO,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,YAAY,GAEpG,GAAAC,EAAK,KAAK,WAAW,cAAc,iBAAiB,KAAO,MAAQA,IAAO,SAAkBA,EAAG,iBAAgB,EAAG,UAClHC,EAAK,KAAK,WAAW,cAAc,iBAAiB,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,QAAQ,GACrHC,EAAK,KAAK,cAAc,OAAO,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,YAAY,GAEpG,GAAAC,EAAK,KAAK,WAAW,cAAc,iBAAiB,KAAO,MAAQA,IAAO,SAAkBA,EAAG,iBAAgB,EAAG,UAClHC,EAAK,KAAK,WAAW,cAAc,iBAAiB,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,QAAQ,GACrHC,EAAK,KAAK,cAAc,OAAO,KAAO,MAAQA,IAAO,QAAkBA,EAAG,UAAU,IAAI,YAAY,GAGrG,KAAK,cAAc,oBAAoB,EAAG,CAC1C,MAAMU,EAAS,KAAK,cAAc,oBAAoB,EACtDA,EAAO,iBAAiB,SAAU,IAAM,CACpCR,EAAM,aAAa,OAAQQ,EAAO,KAAK,EACvCJ,EAAQI,EAAO,KAAK,EAChB,KAAK,aAAa,kBAAkB,GACpCL,GAAe,OAAyCA,EAAW,UAAY,aAAa,KAAK,aAAa,oBAAoB,EAAI,KAAK,aAAa,oBAAoB,EAAI,SAAS,OAAO,KAAK,aAAa,kBAAkB,CAAC,IACvLH,GAAM,UAAU,IAAI,YAAY,IAGtBG,GAAW,gBAAgB,OAAO,EAC5CH,GAAM,UAAU,OAAO,YAAY,EAEzF,CAAC,CACL,CAWA,MAAMS,EAAkB,CAACT,EAAOU,IAAgB,CAC5C,MAAMC,EAAM,IAAI,KAAKX,EAAM,KAAK,EAAE,UAAS,EACvCU,EAAY,SAASC,CAAG,EACxBX,EAAM,kBAAkB,EAAE,EAE1BA,EAAM,kBAAkB,qCAAqC,CACrE,EACA,GAAmDA,GAAM,QAAQ,wCAAwC,GAAM,KAAK,aAAa,mBAAmB,EAAG,CACnJ,MAAMU,EAAc,KAAK,MAAM,IAAI,KAAK,aAAa,mBAAmB,CAAC,GAAG,EAC5ED,EAAgBT,EAAOU,CAAW,EAClCV,EAAM,iBAAiB,QAAS,IAAM,CAAES,EAAgBT,EAAOU,CAAW,CAAG,CAAC,CAClF,CAWA,GATAP,EAAW,iBAAiB,QAAS,UAAY,CACeJ,GAAU,cAAc,yCAAyC,GACzHC,EAAM,WAAU,CACxB,CAAC,EACDE,EAAW,iBAAiB,QAAS,UAAY,CACeH,GAAU,cAAc,yCAAyC,GACzHC,EAAM,WAAU,CACxB,CAAC,EAEGD,EAAU,aAAa,gBAAgB,EAAG,CAC1C,MAAMa,EAAKb,EAAU,aAAa,gBAAgB,EAC5Cc,EAAgB,SAAS,iBAAiB,UAAUD,CAAE,YAAYA,CAAE,IAAI,EAC9EZ,EAAM,iBAAiB,SAAWO,GAAU,CACxC,IAAIlB,EACJ,GAAIW,EAAM,QAAQ,WAAW,EACzB,MAAO,GACX,GAAmDA,GAAM,QAAQ,mBAAmB,IAAO,cAAiB,MAA2C,aAAa,QAAQ,mBAAmB,KAC3L,aAAa,QAAUO,EAAM,OAAO,QAChC,CAACA,EAAM,QAAU,EAAG,GAAAlB,EAAKkB,EAAM,UAAY,MAAQlB,IAAO,SAAkBA,EAAG,YAAY,CAC3F,MAAMyB,EAAc,IAAI,YAAY,SAAU,CAAE,OAAQ,CAAE,UAAW,EAAI,EAAI,EAC7E,cAAiB,MAA2C,aAAa,cAAcA,CAAW,CACtG,CAER,CAAC,EACD,MAAM,KAAKD,CAAa,EAAE,QAASE,GAAiB,CACYA,GAAa,iBAAiB,SAAWR,GAAU,CAC3G,IAAIlB,EAAIC,EAER,GAAmDU,GAAM,QAAQ,mBAAmB,GAAmEe,GAAa,QAAQ,mBAAmB,IAC3Lf,EAAM,QAAUO,EAAM,OAAO,QACzB,CAACA,EAAM,QAAU,EAAG,GAAAlB,EAAKkB,EAAM,UAAY,MAAQlB,IAAO,SAAkBA,EAAG,YAAY,CAC3F,MAAMyB,EAAc,IAAI,YAAY,SAAU,CAAE,OAAQ,CAAE,UAAW,EAAI,EAAI,EAC/Bd,GAAM,cAAcc,CAAW,CACjF,CAIJ,GAAI,CAAgDd,GAAM,QAAQ,mBAAmB,GAAmEe,GAAa,QAAQ,mBAAmB,EAAI,CAChM,IAAIC,EAAgB,GAKpB,GAJA,MAAM,KAAK,SAAS,iBAAiB,UAAUJ,CAAE,YAAY,CAAC,EAAE,QAASK,GAAc,CACnFD,IAAkBA,GAAiB,GAAK,GAAK,KAAOC,EAAU,KAClE,CAAC,EACDjB,EAAM,MAAQgB,EACV,CAACT,EAAM,QAAU,EAAG,GAAAjB,EAAKiB,EAAM,UAAY,MAAQjB,IAAO,SAAkBA,EAAG,WAAY,CAC3F,MAAMwB,EAAc,IAAI,YAAY,SAAU,CAAE,OAAQ,CAAE,UAAW,EAAI,EAAI,EAC/Bd,GAAM,cAAcc,CAAW,CACjF,CACJ,CACJ,CAAC,CACL,CAAC,CACL,CACJ,CACJ"}
@@ -9,14 +9,14 @@ class iamDaterange extends HTMLElement {
9
9
  : '/assets';
10
10
  const loadCSS = `@import "${assetLocation}/css/components/input-range.component.css";`;
11
11
  const template = document.createElement('template');
12
- template.innerHTML = `
13
- <style>
14
- ${loadCSS}
15
- </style>
16
- <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
17
- <div class="wrapper" part="wrapper">
18
- <slot></slot>
19
- </div>
12
+ template.innerHTML = `
13
+ <style>
14
+ ${loadCSS}
15
+ </style>
16
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous">
17
+ <div class="wrapper" part="wrapper">
18
+ <slot></slot>
19
+ </div>
20
20
  `;
21
21
  this.shadowRoot.appendChild(template.content.cloneNode(true));
22
22
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta8
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const o=s=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:s})};o("iam-iamPrefix");class i extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"input-range.component.min.js","sources":["../_global.js","input-range.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamDaterange extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input-range.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style>\r\n ${loadCSS}\r\n </style>\r\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\r\n <div class=\"wrapper\" part=\"wrapper\">\r\n <slot></slot>\r\n </div>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const inputs = this.querySelectorAll('input,select');\n if (inputs.length > 1) {\n const setMinMax = () => {\n const min = inputs[0].value;\n let max = inputs[1].value;\n // Make sure the second input/select is always higher than the first input/select\n if (parseInt(inputs[1].value) < parseInt(inputs[0].value)) {\n max = min;\n inputs[1].value = min;\n }\n // First input/select\n if (inputs[0].matches('input'))\n inputs[0].setAttribute('max', max);\n if (inputs[0].matches('select')) {\n Array.from(inputs[0].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) > max)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n }\n // Second input/select\n if (inputs[1].matches('input'))\n inputs[1].setAttribute('min', min);\n Array.from(inputs[1].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) < min)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n };\n setMinMax();\n this.addEventListener('change', () => {\n setMinMax();\n });\n }\n }\n}\nexport default iamDaterange;\n"],"names":["trackComponentRegistered","componentName","iamDaterange","template","inputs","setMinMax","min","max","option"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,eAAe,EACxC,MAAME,UAAqB,WAAY,CACnC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,MAAMC,EAAS,KAAK,iBAAiB,cAAc,EACnD,GAAIA,EAAO,OAAS,EAAG,CACnB,MAAMC,EAAY,IAAM,CACpB,MAAMC,EAAMF,EAAO,CAAC,EAAE,MACtB,IAAIG,EAAMH,EAAO,CAAC,EAAE,MAEhB,SAASA,EAAO,CAAC,EAAE,KAAK,EAAI,SAASA,EAAO,CAAC,EAAE,KAAK,IACpDG,EAAMD,EACNF,EAAO,CAAC,EAAE,MAAQE,GAGlBF,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOG,CAAG,EACjCH,EAAO,CAAC,EAAE,QAAQ,QAAQ,GAC1B,MAAM,KAAKA,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAID,EACzCC,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,EAGDJ,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOE,CAAG,EACrC,MAAM,KAAKF,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAIF,EACzCE,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,CACL,EACAH,EAAS,EACT,KAAK,iBAAiB,SAAU,IAAM,CAClCA,EAAS,CACb,CAAC,CACL,CACJ,CACJ"}
1
+ {"version":3,"file":"input-range.component.min.js","sources":["../_global.js","input-range.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamDaterange extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input-range.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\">\n <div class=\"wrapper\" part=\"wrapper\">\n <slot></slot>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const inputs = this.querySelectorAll('input,select');\n if (inputs.length > 1) {\n const setMinMax = () => {\n const min = inputs[0].value;\n let max = inputs[1].value;\n // Make sure the second input/select is always higher than the first input/select\n if (parseInt(inputs[1].value) < parseInt(inputs[0].value)) {\n max = min;\n inputs[1].value = min;\n }\n // First input/select\n if (inputs[0].matches('input'))\n inputs[0].setAttribute('max', max);\n if (inputs[0].matches('select')) {\n Array.from(inputs[0].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) > max)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n }\n // Second input/select\n if (inputs[1].matches('input'))\n inputs[1].setAttribute('min', min);\n Array.from(inputs[1].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) < min)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n };\n setMinMax();\n this.addEventListener('change', () => {\n setMinMax();\n });\n }\n }\n}\nexport default iamDaterange;\n"],"names":["trackComponentRegistered","componentName","iamDaterange","template","inputs","setMinMax","min","max","option"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,eAAe,EACxC,MAAME,UAAqB,WAAY,CACnC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,MAAMC,EAAS,KAAK,iBAAiB,cAAc,EACnD,GAAIA,EAAO,OAAS,EAAG,CACnB,MAAMC,EAAY,IAAM,CACpB,MAAMC,EAAMF,EAAO,CAAC,EAAE,MACtB,IAAIG,EAAMH,EAAO,CAAC,EAAE,MAEhB,SAASA,EAAO,CAAC,EAAE,KAAK,EAAI,SAASA,EAAO,CAAC,EAAE,KAAK,IACpDG,EAAMD,EACNF,EAAO,CAAC,EAAE,MAAQE,GAGlBF,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOG,CAAG,EACjCH,EAAO,CAAC,EAAE,QAAQ,QAAQ,GAC1B,MAAM,KAAKA,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAID,EACzCC,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,EAGDJ,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOE,CAAG,EACrC,MAAM,KAAKF,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAIF,EACzCE,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,CACL,EACAH,EAAS,EACT,KAAK,iBAAiB,SAAU,IAAM,CAClCA,EAAS,CACb,CAAC,CACL,CACJ,CACJ"}
@@ -13,16 +13,16 @@ class iamMarketing extends HTMLElement {
13
13
  : '/assets';
14
14
  const loadCSS = `@import "${assetLocation}/css/components/marketing.component.css";`;
15
15
  const template = document.createElement('template');
16
- template.innerHTML = `
17
- <style>
18
- ${loadCSS}
19
-
20
- </style>
21
- <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
22
- <div class="marketing">
23
-
24
- <slot></slot>
25
- </div>
16
+ template.innerHTML = `
17
+ <style>
18
+ ${loadCSS}
19
+
20
+ </style>
21
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
22
+ <div class="marketing">
23
+
24
+ <slot></slot>
25
+ </div>
26
26
  `;
27
27
  this.shadowRoot.appendChild(template.content.cloneNode(true));
28
28
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta8
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Marketing"});class e extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"marketing.component.min.js","sources":["marketing.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Marketing',\n});\nclass iamMarketing extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/marketing.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style>\r\n ${loadCSS}\r\n \r\n </style>\r\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\r\n <div class=\"marketing\">\r\n \r\n <slot></slot>\r\n </div>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n this.classList.add('invert-colours');\n if (this.hasAttribute('data-img')) {\n this.shadowRoot\n .querySelector('.marketing')\n .insertAdjacentHTML('afterbegin', `<figure><img src=\"${this.getAttribute('data-img')}\" alt=\"\" /></figure>`);\n }\n }\n}\nexport default iamMarketing;\n"],"names":["iamMarketing","template"],"mappings":";;;IACA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,WACb,CAAC,EACD,MAAMA,UAAqB,WAAY,CACnC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAWrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,KAAK,UAAU,IAAI,gBAAgB,EAC/B,KAAK,aAAa,UAAU,GAC5B,KAAK,WACA,cAAc,YAAY,EAC1B,mBAAmB,aAAc,qBAAqB,KAAK,aAAa,UAAU,CAAC,sBAAsB,CAEtH,CACJ"}
1
+ {"version":3,"file":"marketing.component.min.js","sources":["marketing.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Marketing',\n});\nclass iamMarketing extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/marketing.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=\"marketing\">\n \n <slot></slot>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n this.classList.add('invert-colours');\n if (this.hasAttribute('data-img')) {\n this.shadowRoot\n .querySelector('.marketing')\n .insertAdjacentHTML('afterbegin', `<figure><img src=\"${this.getAttribute('data-img')}\" alt=\"\" /></figure>`);\n }\n }\n}\nexport default iamMarketing;\n"],"names":["iamMarketing","template"],"mappings":";;;IACA,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAAS,WACb,CAAC,EACD,MAAMA,UAAqB,WAAY,CACnC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAWrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,KAAK,UAAU,IAAI,gBAAgB,EAC/B,KAAK,aAAa,UAAU,GAC5B,KAAK,WACA,cAAc,YAAY,EAC1B,mBAAmB,aAAc,qBAAqB,KAAK,aAAa,UAAU,CAAC,sBAAsB,CAEtH,CACJ"}
@@ -7,12 +7,12 @@ class iamMenu extends HTMLElement {
7
7
  : '/assets';
8
8
  const menuCSS = `@import "${assetLocation}/css/components/menu.component.css";`;
9
9
  const template = document.createElement('template');
10
- template.innerHTML = `
11
- <style>
12
- ${menuCSS}
13
- </style>
14
- <div class="menu--inner" part="inner">
15
- <slot></slot>
10
+ template.innerHTML = `
11
+ <style>
12
+ ${menuCSS}
13
+ </style>
14
+ <div class="menu--inner" part="inner">
15
+ <slot></slot>
16
16
  </div>`;
17
17
  this.shadowRoot.appendChild(template.content.cloneNode(true));
18
18
  }