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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) 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/notification.css +1 -1
  59. package/assets/css/components/notification.css.map +1 -1
  60. package/assets/favicons/README.md +20 -20
  61. package/assets/favicons/browserconfig.xml +9 -9
  62. package/assets/favicons/manifest.json +31 -31
  63. package/assets/favicons/safari-pinned-tab.svg +35 -35
  64. package/assets/favicons/site.webmanifest +20 -20
  65. package/assets/js/components/accordion/accordion.component.js +14 -14
  66. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  67. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  68. package/assets/js/components/actionbar/actionbar.component.js +66 -66
  69. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  70. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  71. package/assets/js/components/address-lookup/address-lookup.component.js +58 -58
  72. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  73. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  74. package/assets/js/components/advanced-select/advanced-select.component.js +18 -18
  75. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  76. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  77. package/assets/js/components/applied-filters/applied-filters.component.js +6 -6
  78. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  79. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  80. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  81. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  82. package/assets/js/components/bento-grid/bento-grid.component.js +9 -9
  83. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  84. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
  85. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  86. package/assets/js/components/card/card.component.min.js +1 -1
  87. package/assets/js/components/card/card.component.min.js.map +1 -1
  88. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  89. package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -20
  90. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  91. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  92. package/assets/js/components/config/config.component.js +53 -53
  93. package/assets/js/components/config/config.component.min.js +1 -1
  94. package/assets/js/components/config/config.component.min.js.map +1 -1
  95. package/assets/js/components/content/content.component.js +9 -9
  96. package/assets/js/components/content/content.component.min.js +1 -1
  97. package/assets/js/components/content/content.component.min.js.map +1 -1
  98. package/assets/js/components/darkmode/darkmode.component.js +4 -4
  99. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  100. package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -1
  101. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  102. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  103. package/assets/js/components/fileupload/fileupload.component.js +16 -16
  104. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  105. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  106. package/assets/js/components/filter-card/filter-card.component.js +7 -7
  107. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  108. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  109. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  110. package/assets/js/components/form/form.component.js +4 -4
  111. package/assets/js/components/form/form.component.min.js +1 -1
  112. package/assets/js/components/form/form.component.min.js.map +1 -1
  113. package/assets/js/components/header/header.component.js +53 -53
  114. package/assets/js/components/header/header.component.min.js +1 -1
  115. package/assets/js/components/header/header.component.min.js.map +1 -1
  116. package/assets/js/components/inline-edit/inline-edit.component.js +16 -16
  117. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  119. package/assets/js/components/input/input.component.js +10 -10
  120. package/assets/js/components/input/input.component.min.js +1 -1
  121. package/assets/js/components/input/input.component.min.js.map +1 -1
  122. package/assets/js/components/input-range/input-range.component.js +8 -8
  123. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  124. package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
  125. package/assets/js/components/marketing/marketing.component.js +10 -10
  126. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  127. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  128. package/assets/js/components/menu/menu.component.js +6 -6
  129. package/assets/js/components/menu/menu.component.min.js +1 -1
  130. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  131. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  132. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  133. package/assets/js/components/modal/modal.component.js +21 -21
  134. package/assets/js/components/modal/modal.component.min.js +1 -1
  135. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  136. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  137. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +11 -11
  138. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  139. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
  140. package/assets/js/components/multiselect/multiselect.component.js +20 -20
  141. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  142. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  143. package/assets/js/components/nav/nav.component.js +45 -45
  144. package/assets/js/components/nav/nav.component.min.js +1 -1
  145. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  146. package/assets/js/components/notification/notification.component.js +14 -13
  147. package/assets/js/components/notification/notification.component.min.js +5 -4
  148. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  149. package/assets/js/components/pagination/pagination.component.js +39 -39
  150. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  151. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  152. package/assets/js/components/password/password.component.js +10 -10
  153. package/assets/js/components/password/password.component.min.js +1 -1
  154. package/assets/js/components/password/password.component.min.js.map +1 -1
  155. package/assets/js/components/popover/popover.component.js +7 -7
  156. package/assets/js/components/popover/popover.component.min.js +1 -1
  157. package/assets/js/components/popover/popover.component.min.js.map +1 -1
  158. package/assets/js/components/rank/rank.component.js +359 -359
  159. package/assets/js/components/rank/rank.component.min.js +1 -1
  160. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  161. package/assets/js/components/rankings/rankings.component.js +16 -16
  162. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  163. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  164. package/assets/js/components/rating/rating.component.js +9 -9
  165. package/assets/js/components/rating/rating.component.min.js +1 -1
  166. package/assets/js/components/rating/rating.component.min.js.map +1 -1
  167. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  168. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  169. package/assets/js/components/search/search.component.js +17 -17
  170. package/assets/js/components/search/search.component.min.js +1 -1
  171. package/assets/js/components/search/search.component.min.js.map +1 -1
  172. package/assets/js/components/slider/slider.component.js +12 -12
  173. package/assets/js/components/slider/slider.component.min.js +1 -1
  174. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  175. package/assets/js/components/split-button/split-button.component.js +18 -18
  176. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  177. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  178. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +113 -113
  179. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  180. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  181. package/assets/js/components/table/table.component.js +15 -15
  182. package/assets/js/components/table/table.component.min.js +1 -1
  183. package/assets/js/components/table/table.component.min.js.map +1 -1
  184. package/assets/js/components/table-ajax/table-ajax.component.js +15 -15
  185. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  186. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  187. package/assets/js/components/table-basic/table-basic.component.js +15 -15
  188. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  189. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  190. package/assets/js/components/table-no-submit/table-no-submit.component.js +15 -15
  191. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  192. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  193. package/assets/js/components/table-submit/table-submit.component.js +15 -15
  194. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  195. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  196. package/assets/js/components/tabs/tabs.component.js +17 -17
  197. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  198. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  199. package/assets/js/components/tag/tag.component.js +12 -12
  200. package/assets/js/components/tag/tag.component.min.js +1 -1
  201. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  202. package/assets/js/components/tooltip/tooltip.component.js +8 -8
  203. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  204. package/assets/js/components/tooltip/tooltip.component.min.js.map +1 -1
  205. package/assets/js/components/video/video.component.js +9 -9
  206. package/assets/js/components/video/video.component.min.js +1 -1
  207. package/assets/js/components/video/video.component.min.js.map +1 -1
  208. package/assets/js/components/video-card/video-card.component.js +12 -12
  209. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  210. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  211. package/assets/js/components/video-modal/video-modal.component.js +13 -13
  212. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  213. package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
  214. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  215. package/assets/js/modules/card.module.js +14 -14
  216. package/assets/js/modules/chart.module.js +4 -4
  217. package/assets/js/modules/integration-tests.js +3 -3
  218. package/assets/js/modules/table.js +2 -2
  219. package/assets/js/modules/videos.js +6 -6
  220. package/assets/js/scripts.bundle.js +1 -1
  221. package/assets/js/scripts.bundle.js.map +1 -1
  222. package/assets/js/scripts.bundle.min.js +1 -1
  223. package/assets/js/scripts.bundle.min.js.map +1 -1
  224. package/assets/sass/_bs_grid.scss +41 -41
  225. package/assets/sass/_bs_utilities.scss +51 -51
  226. package/assets/sass/_components.scss +162 -162
  227. package/assets/sass/_corefiles.scss +31 -31
  228. package/assets/sass/_elements.scss +30 -30
  229. package/assets/sass/_fonts.scss +28 -28
  230. package/assets/sass/_func.scss +2 -2
  231. package/assets/sass/_functions/bs_functions.scss +487 -487
  232. package/assets/sass/_functions/bs_mixins.scss +2103 -2103
  233. package/assets/sass/_functions/bs_utilities.scss +922 -922
  234. package/assets/sass/_functions/bs_variables.scss +1701 -1701
  235. package/assets/sass/_functions/functions.scss +48 -48
  236. package/assets/sass/_functions/mixins.scss +1 -1
  237. package/assets/sass/_grid.scss +320 -320
  238. package/assets/sass/_print.scss +64 -64
  239. package/assets/sass/_utilities.scss +35 -35
  240. package/assets/sass/components/actionbar.component.scss +421 -421
  241. package/assets/sass/components/actionbar.global.scss +115 -115
  242. package/assets/sass/components/address-lookup.component.scss +160 -160
  243. package/assets/sass/components/address-lookup.preload.scss +90 -90
  244. package/assets/sass/components/applied-filters.scss +19 -19
  245. package/assets/sass/components/barchart.component.scss +347 -347
  246. package/assets/sass/components/bento-grid.component.scss +109 -109
  247. package/assets/sass/components/bento-grid.global.scss +248 -248
  248. package/assets/sass/components/calendar.component.scss +1272 -1272
  249. package/assets/sass/components/calendar.config.scss +423 -423
  250. package/assets/sass/components/card.component.scss +187 -187
  251. package/assets/sass/components/card.module.scss +154 -154
  252. package/assets/sass/components/carousel.component.scss +631 -631
  253. package/assets/sass/components/carousel.config.scss +84 -84
  254. package/assets/sass/components/charts.config.scss +86 -86
  255. package/assets/sass/components/charts.module.scss +588 -588
  256. package/assets/sass/components/charts.scss +1298 -1298
  257. package/assets/sass/components/collapsible-side.scss +307 -307
  258. package/assets/sass/components/config.component.scss +235 -235
  259. package/assets/sass/components/content.component.scss +18 -18
  260. package/assets/sass/components/darkmode.component.scss +20 -20
  261. package/assets/sass/components/doughnutchart.component.scss +206 -206
  262. package/assets/sass/components/fileupload.scss +162 -162
  263. package/assets/sass/components/filter-card.component.scss +99 -99
  264. package/assets/sass/components/header.scss +251 -251
  265. package/assets/sass/components/inline-edit.preload.scss +203 -203
  266. package/assets/sass/components/inline-edit.scss +40 -40
  267. package/assets/sass/components/input-range.component.scss +46 -46
  268. package/assets/sass/components/input.component.scss +101 -101
  269. package/assets/sass/components/marketing.component.scss +65 -65
  270. package/assets/sass/components/menu.component.scss +161 -161
  271. package/assets/sass/components/menu.global.scss +82 -82
  272. package/assets/sass/components/milestone.scss +216 -216
  273. package/assets/sass/components/modal.component.scss +252 -252
  274. package/assets/sass/components/multi-step-modal.component.scss +255 -255
  275. package/assets/sass/components/multi-step-modal.global.scss +91 -91
  276. package/assets/sass/components/multi-step.component.scss +144 -144
  277. package/assets/sass/components/multiselect.preload.scss +8 -8
  278. package/assets/sass/components/multiselect.scss +238 -238
  279. package/assets/sass/components/nav.component.scss +718 -718
  280. package/assets/sass/components/nav.docs.scss +55 -55
  281. package/assets/sass/components/nav.global.scss +870 -870
  282. package/assets/sass/components/nav.preload.scss +54 -54
  283. package/assets/sass/components/notification.scss +204 -217
  284. package/assets/sass/components/pagination.scss +237 -237
  285. package/assets/sass/components/password.component.scss +55 -55
  286. package/assets/sass/components/popover.component.scss +28 -28
  287. package/assets/sass/components/property-searchbar.scss +139 -139
  288. package/assets/sass/components/rank.component.scss +275 -275
  289. package/assets/sass/components/rankings.component.scss +70 -70
  290. package/assets/sass/components/rankings.global.scss +140 -140
  291. package/assets/sass/components/rating.component.css +211 -211
  292. package/assets/sass/components/record-card.component.scss +191 -191
  293. package/assets/sass/components/slider.scss +127 -127
  294. package/assets/sass/components/snapshot.scss +65 -65
  295. package/assets/sass/components/split-button.component.scss +83 -83
  296. package/assets/sass/components/stepper.scss +157 -157
  297. package/assets/sass/components/table-basic.component.scss +136 -136
  298. package/assets/sass/components/table-basic.global.scss +676 -676
  299. package/assets/sass/components/table.component.scss +51 -51
  300. package/assets/sass/components/table.global.scss +398 -398
  301. package/assets/sass/components/tabs.component.scss +34 -34
  302. package/assets/sass/components/tabs.config.scss +258 -258
  303. package/assets/sass/components/tag.component.scss +59 -59
  304. package/assets/sass/components/tag.preload.scss +20 -20
  305. package/assets/sass/components/testimonial.scss +125 -125
  306. package/assets/sass/components/timeline.scss +92 -92
  307. package/assets/sass/components/tooltip.component.scss +148 -148
  308. package/assets/sass/components/video-card.component.scss +48 -48
  309. package/assets/sass/components/video-modal.component.scss +26 -26
  310. package/assets/sass/components/video.component.scss +74 -74
  311. package/assets/sass/components/word-count.component.scss +26 -26
  312. package/assets/sass/core.scss +4 -4
  313. package/assets/sass/elements/admin-panel.css +310 -310
  314. package/assets/sass/elements/badge-tag.css +101 -101
  315. package/assets/sass/elements/brand.css +80 -80
  316. package/assets/sass/elements/button__group.css +135 -135
  317. package/assets/sass/elements/buttons--action.css +71 -71
  318. package/assets/sass/elements/buttons--compact.css +168 -168
  319. package/assets/sass/elements/buttons--global.css +239 -239
  320. package/assets/sass/elements/buttons--secondary.css +18 -18
  321. package/assets/sass/elements/buttons--special.css +164 -164
  322. package/assets/sass/elements/buttons--tertiary.css +51 -51
  323. package/assets/sass/elements/buttons.scss +9 -9
  324. package/assets/sass/elements/code.css +45 -45
  325. package/assets/sass/elements/container.scss +118 -118
  326. package/assets/sass/elements/details.css +224 -224
  327. package/assets/sass/elements/dialog.scss +75 -75
  328. package/assets/sass/elements/dropdown.css +85 -85
  329. package/assets/sass/elements/feature.css +174 -174
  330. package/assets/sass/elements/forms.scss +1337 -1337
  331. package/assets/sass/elements/highlight.css +76 -76
  332. package/assets/sass/elements/hr.css +41 -41
  333. package/assets/sass/elements/icons.css +48 -48
  334. package/assets/sass/elements/input.scss +212 -212
  335. package/assets/sass/elements/label.css +20 -20
  336. package/assets/sass/elements/links--collapsible-side.scss +129 -129
  337. package/assets/sass/elements/links--global.scss +155 -155
  338. package/assets/sass/elements/links--video.scss +73 -73
  339. package/assets/sass/elements/links.scss +4 -4
  340. package/assets/sass/elements/lists--breadcrumbs.scss +26 -26
  341. package/assets/sass/elements/lists--steps.css +171 -171
  342. package/assets/sass/elements/lists--tick-list.scss +112 -112
  343. package/assets/sass/elements/lists.scss +99 -99
  344. package/assets/sass/elements/media.css +20 -20
  345. package/assets/sass/elements/modal.scss +411 -411
  346. package/assets/sass/elements/popover.scss +259 -259
  347. package/assets/sass/elements/prefix.scss +139 -139
  348. package/assets/sass/elements/progress.scss +208 -208
  349. package/assets/sass/elements/table.element.scss +144 -144
  350. package/assets/sass/elements/textarea.css +84 -84
  351. package/assets/sass/elements/toggle-button.css +49 -49
  352. package/assets/sass/elements/tooltips.scss +152 -152
  353. package/assets/sass/elements/type.css +166 -166
  354. package/assets/sass/email.scss +68 -68
  355. package/assets/sass/error.scss +31 -31
  356. package/assets/sass/foundations/animations.scss +2 -2
  357. package/assets/sass/foundations/colours.scss +104 -104
  358. package/assets/sass/foundations/reboot.scss +166 -166
  359. package/assets/sass/foundations/root.scss +269 -269
  360. package/assets/sass/main.scss +7 -7
  361. package/assets/sass/templates/auth.scss +106 -106
  362. package/assets/sass/templates/form.scss +95 -95
  363. package/assets/sass/utilities/align.css +24 -24
  364. package/assets/sass/utilities/border.css +65 -65
  365. package/assets/sass/utilities/clearfix.css +8 -8
  366. package/assets/sass/utilities/colours.scss +43 -43
  367. package/assets/sass/utilities/columns.css +61 -61
  368. package/assets/sass/utilities/display.scss +89 -89
  369. package/assets/sass/utilities/fixed.css +16 -16
  370. package/assets/sass/utilities/flex.scss +291 -291
  371. package/assets/sass/utilities/font-awesome-iso-fallbacks.css +43 -43
  372. package/assets/sass/utilities/gap.css +25 -25
  373. package/assets/sass/utilities/gradients.css +39 -39
  374. package/assets/sass/utilities/js-display.css +12 -12
  375. package/assets/sass/utilities/line-clamp.css +24 -24
  376. package/assets/sass/utilities/margins.scss +74 -74
  377. package/assets/sass/utilities/max-height.scss +93 -93
  378. package/assets/sass/utilities/opacity.css +20 -20
  379. package/assets/sass/utilities/order.css +104 -104
  380. package/assets/sass/utilities/overflow.css +16 -16
  381. package/assets/sass/utilities/paddings.scss +33 -33
  382. package/assets/sass/utilities/pointer-events.css +8 -8
  383. package/assets/sass/utilities/position.css +67 -67
  384. package/assets/sass/utilities/ratio.css +33 -33
  385. package/assets/sass/utilities/rounded.css +56 -56
  386. package/assets/sass/utilities/shadow.css +6 -6
  387. package/assets/sass/utilities/sizes.css +92 -92
  388. package/assets/sass/utilities/sticky.css +38 -38
  389. package/assets/sass/utilities/text-truncate.css +6 -6
  390. package/assets/sass/utilities/text.css +190 -190
  391. package/assets/sass/utilities/visible.css +8 -8
  392. package/assets/sass/utilities/visually-hidden.css +13 -13
  393. package/assets/sass/utilities/wider-colours.scss +8 -8
  394. package/assets/svg/illustrations/table.svg +165 -165
  395. package/assets/svg/logo.svg +56 -56
  396. package/assets/ts/components/accordion/accordion.component.ts +77 -77
  397. package/assets/ts/components/actionbar/actionbar.component.ts +567 -567
  398. package/assets/ts/components/address-lookup/address-lookup.component.ts +672 -672
  399. package/assets/ts/components/advanced-select/advanced-select.component.ts +116 -116
  400. package/assets/ts/components/applied-filters/applied-filters.component.ts +37 -37
  401. package/assets/ts/components/bento-grid/bento-grid.component.ts +88 -88
  402. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +165 -165
  403. package/assets/ts/components/config/config.component.ts +699 -699
  404. package/assets/ts/components/content/content.component.ts +78 -78
  405. package/assets/ts/components/darkmode/darkmode.component.ts +108 -108
  406. package/assets/ts/components/fileupload/fileupload.component.ts +74 -74
  407. package/assets/ts/components/filter-card/filter-card.component.ts +106 -106
  408. package/assets/ts/components/form/form.component.ts +102 -102
  409. package/assets/ts/components/header/header.component.ts +97 -97
  410. package/assets/ts/components/inline-edit/inline-edit.component.ts +212 -212
  411. package/assets/ts/components/input/input.component.ts +278 -278
  412. package/assets/ts/components/input-range/input-range.component.ts +78 -78
  413. package/assets/ts/components/marketing/marketing.component.ts +44 -44
  414. package/assets/ts/components/menu/menu.component.ts +212 -212
  415. package/assets/ts/components/modal/modal.component.ts +184 -184
  416. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +304 -304
  417. package/assets/ts/components/multiselect/multiselect.component.ts +349 -349
  418. package/assets/ts/components/nav/nav.component.ts +369 -369
  419. package/assets/ts/components/notification/notification.component.ts +173 -172
  420. package/assets/ts/components/pagination/pagination.component.ts +213 -213
  421. package/assets/ts/components/password/password.component.ts +118 -118
  422. package/assets/ts/components/popover/popover.component.ts +50 -50
  423. package/assets/ts/components/rank/rank.component.ts +394 -394
  424. package/assets/ts/components/rankings/rankings.component.ts +79 -79
  425. package/assets/ts/components/rating/rating.component.ts +86 -86
  426. package/assets/ts/components/search/search.component.ts +244 -244
  427. package/assets/ts/components/slider/slider.component.ts +170 -170
  428. package/assets/ts/components/split-button/split-button.component.ts +63 -63
  429. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +1919 -1919
  430. package/assets/ts/components/table/table.component.ts +94 -94
  431. package/assets/ts/components/table-ajax/table-ajax.component.ts +70 -70
  432. package/assets/ts/components/table-basic/table-basic.component.ts +56 -56
  433. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +130 -130
  434. package/assets/ts/components/table-submit/table-submit.component.ts +71 -71
  435. package/assets/ts/components/tabs/tabs.component.ts +70 -70
  436. package/assets/ts/components/tag/tag.component.ts +104 -104
  437. package/assets/ts/components/tooltip/tooltip.component.ts +98 -98
  438. package/assets/ts/components/video/video.component.ts +74 -74
  439. package/assets/ts/components/video-card/video-card.component.ts +129 -129
  440. package/assets/ts/components/video-modal/video-modal.component.ts +88 -88
  441. package/assets/ts/modules/advanced-select.ts +186 -186
  442. package/assets/ts/modules/applied-filters.ts +238 -238
  443. package/assets/ts/modules/card.module.ts +46 -46
  444. package/assets/ts/modules/chart.module.ts +594 -594
  445. package/assets/ts/modules/data-layer.md +71 -71
  446. package/assets/ts/modules/dialogs.ts +259 -259
  447. package/assets/ts/modules/dropdown.ts +216 -216
  448. package/assets/ts/modules/helper.test.ts +143 -143
  449. package/assets/ts/modules/helpers.ts +212 -212
  450. package/assets/ts/modules/integration-tests.ts +525 -525
  451. package/assets/ts/modules/modal.ts +45 -45
  452. package/assets/ts/modules/password.ts +82 -82
  453. package/assets/ts/modules/table.ts +1500 -1500
  454. package/assets/ts/modules/test.ts +22 -22
  455. package/assets/ts/modules/videos.ts +233 -233
  456. package/assets/ts/scripts.ts +111 -111
  457. package/dist/components.es.js +24 -24
  458. package/dist/components.umd.js +3 -2
  459. package/package.json +115 -115
  460. package/src/components/AdvancedSelect/AdvancedSelect.vue +28 -28
  461. package/src/components/Config/Config.vue +23 -23
  462. package/src/components/DarkMode/DarkMode.vue +19 -19
  463. package/src/components/Filterlist/Filterlist.vue +23 -23
  464. package/src/components/Form/Form.vue +22 -22
  465. package/src/components/Header/Header.vue +36 -36
  466. package/src/components/Input/Input.vue +22 -22
  467. package/src/components/InputRange/InputRange.vue +22 -22
  468. package/src/components/Modal/Modal.vue +22 -22
  469. package/src/components/MultiStepModal/MultiStepModal.vue +23 -23
  470. package/src/components/NoteFeed/NoteFeed.vue +82 -82
  471. package/src/components/Password/Password.vue +23 -23
  472. package/src/components/Popover/Popover.vue +22 -22
  473. package/src/components/PropertySearchbar/PropertySearchbar.vue +235 -235
  474. package/src/components/PropertySearchbar/README.md +25 -25
  475. package/src/components/Rating/Rating.vue +22 -22
  476. package/src/components/STDAddressLookup/STDAddressLookup.vue +22 -22
  477. package/src/components/Snapshot/Snapshot.vue +30 -30
  478. package/src/components/Tag/Tag.vue +22 -22
  479. package/src/components/Tooltip/Tooltip.vue +22 -22
  480. package/src/components/Video/Video.vue +22 -22
  481. package/src/components/VideoModal/VideoModal.vue +22 -22
  482. package/assets/bootstrap/dist/css/bootstrap-grid.css +0 -4124
  483. package/assets/bootstrap/dist/css/bootstrap-grid.css.map +0 -1
  484. package/assets/bootstrap/dist/css/bootstrap-grid.min.css +0 -7
  485. package/assets/bootstrap/dist/css/bootstrap-grid.min.css.map +0 -1
  486. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.css +0 -4123
  487. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.css.map +0 -1
  488. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -7
  489. package/assets/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map +0 -1
  490. package/assets/bootstrap/dist/css/bootstrap-reboot.css +0 -488
  491. package/assets/bootstrap/dist/css/bootstrap-reboot.css.map +0 -1
  492. package/assets/bootstrap/dist/css/bootstrap-reboot.min.css +0 -7
  493. package/assets/bootstrap/dist/css/bootstrap-reboot.min.css.map +0 -1
  494. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.css +0 -485
  495. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.css.map +0 -1
  496. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -7
  497. package/assets/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map +0 -1
  498. package/assets/bootstrap/dist/css/bootstrap-utilities.css +0 -4197
  499. package/assets/bootstrap/dist/css/bootstrap-utilities.css.map +0 -1
  500. package/assets/bootstrap/dist/css/bootstrap-utilities.min.css +0 -7
  501. package/assets/bootstrap/dist/css/bootstrap-utilities.min.css.map +0 -1
  502. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.css +0 -4188
  503. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.css.map +0 -1
  504. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -7
  505. package/assets/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map +0 -1
  506. package/assets/bootstrap/dist/css/bootstrap.css +0 -10907
  507. package/assets/bootstrap/dist/css/bootstrap.css.map +0 -1
  508. package/assets/bootstrap/dist/css/bootstrap.min.css +0 -7
  509. package/assets/bootstrap/dist/css/bootstrap.min.css.map +0 -1
  510. package/assets/bootstrap/dist/css/bootstrap.rtl.css +0 -10867
  511. package/assets/bootstrap/dist/css/bootstrap.rtl.css.map +0 -1
  512. package/assets/bootstrap/dist/css/bootstrap.rtl.min.css +0 -7
  513. package/assets/bootstrap/dist/css/bootstrap.rtl.min.css.map +0 -1
  514. package/assets/bootstrap/dist/js/bootstrap.bundle.js +0 -7066
  515. package/assets/bootstrap/dist/js/bootstrap.bundle.js.map +0 -1
  516. package/assets/bootstrap/dist/js/bootstrap.bundle.min.js +0 -7
  517. package/assets/bootstrap/dist/js/bootstrap.bundle.min.js.map +0 -1
  518. package/assets/bootstrap/dist/js/bootstrap.esm.js +0 -5204
  519. package/assets/bootstrap/dist/js/bootstrap.esm.js.map +0 -1
  520. package/assets/bootstrap/dist/js/bootstrap.esm.min.js +0 -7
  521. package/assets/bootstrap/dist/js/bootstrap.esm.min.js.map +0 -1
  522. package/assets/bootstrap/dist/js/bootstrap.js +0 -5251
  523. package/assets/bootstrap/dist/js/bootstrap.js.map +0 -1
  524. package/assets/bootstrap/dist/js/bootstrap.min.js +0 -7
  525. package/assets/bootstrap/dist/js/bootstrap.min.js.map +0 -1
  526. package/assets/bootstrap/js/dist/alert.js +0 -100
  527. package/assets/bootstrap/js/dist/alert.js.map +0 -1
  528. package/assets/bootstrap/js/dist/base-component.js +0 -100
  529. package/assets/bootstrap/js/dist/base-component.js.map +0 -1
  530. package/assets/bootstrap/js/dist/button.js +0 -82
  531. package/assets/bootstrap/js/dist/button.js.map +0 -1
  532. package/assets/bootstrap/js/dist/carousel.js +0 -471
  533. package/assets/bootstrap/js/dist/carousel.js.map +0 -1
  534. package/assets/bootstrap/js/dist/collapse.js +0 -311
  535. package/assets/bootstrap/js/dist/collapse.js.map +0 -1
  536. package/assets/bootstrap/js/dist/dom/data.js +0 -67
  537. package/assets/bootstrap/js/dist/dom/data.js.map +0 -1
  538. package/assets/bootstrap/js/dist/dom/event-handler.js +0 -284
  539. package/assets/bootstrap/js/dist/dom/event-handler.js.map +0 -1
  540. package/assets/bootstrap/js/dist/dom/manipulator.js +0 -85
  541. package/assets/bootstrap/js/dist/dom/manipulator.js.map +0 -1
  542. package/assets/bootstrap/js/dist/dom/selector-engine.js +0 -86
  543. package/assets/bootstrap/js/dist/dom/selector-engine.js.map +0 -1
  544. package/assets/bootstrap/js/dist/dropdown.js +0 -471
  545. package/assets/bootstrap/js/dist/dropdown.js.map +0 -1
  546. package/assets/bootstrap/js/dist/modal.js +0 -397
  547. package/assets/bootstrap/js/dist/modal.js.map +0 -1
  548. package/assets/bootstrap/js/dist/offcanvas.js +0 -298
  549. package/assets/bootstrap/js/dist/offcanvas.js.map +0 -1
  550. package/assets/bootstrap/js/dist/popover.js +0 -102
  551. package/assets/bootstrap/js/dist/popover.js.map +0 -1
  552. package/assets/bootstrap/js/dist/scrollspy.js +0 -308
  553. package/assets/bootstrap/js/dist/scrollspy.js.map +0 -1
  554. package/assets/bootstrap/js/dist/tab.js +0 -334
  555. package/assets/bootstrap/js/dist/tab.js.map +0 -1
  556. package/assets/bootstrap/js/dist/toast.js +0 -237
  557. package/assets/bootstrap/js/dist/toast.js.map +0 -1
  558. package/assets/bootstrap/js/dist/tooltip.js +0 -663
  559. package/assets/bootstrap/js/dist/tooltip.js.map +0 -1
  560. package/assets/bootstrap/js/dist/util/backdrop.js +0 -166
  561. package/assets/bootstrap/js/dist/util/backdrop.js.map +0 -1
  562. package/assets/bootstrap/js/dist/util/component-functions.js +0 -47
  563. package/assets/bootstrap/js/dist/util/component-functions.js.map +0 -1
  564. package/assets/bootstrap/js/dist/util/config.js +0 -80
  565. package/assets/bootstrap/js/dist/util/config.js.map +0 -1
  566. package/assets/bootstrap/js/dist/util/focustrap.js +0 -130
  567. package/assets/bootstrap/js/dist/util/focustrap.js.map +0 -1
  568. package/assets/bootstrap/js/dist/util/index.js +0 -351
  569. package/assets/bootstrap/js/dist/util/index.js.map +0 -1
  570. package/assets/bootstrap/js/dist/util/sanitizer.js +0 -123
  571. package/assets/bootstrap/js/dist/util/sanitizer.js.map +0 -1
  572. package/assets/bootstrap/js/dist/util/scrollbar.js +0 -139
  573. package/assets/bootstrap/js/dist/util/scrollbar.js.map +0 -1
  574. package/assets/bootstrap/js/dist/util/swipe.js +0 -156
  575. package/assets/bootstrap/js/dist/util/swipe.js.map +0 -1
  576. package/assets/bootstrap/js/dist/util/template-factory.js +0 -178
  577. package/assets/bootstrap/js/dist/util/template-factory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component.min.js","sources":["menu.component.js"],"sourcesContent":["class iamMenu 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 menuCSS = `@import \"${assetLocation}/css/components/menu.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style>\r\n ${menuCSS}\r\n </style>\r\n <div class=\"menu--inner\" part=\"inner\">\r\n <slot></slot>\r\n </div>`;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const menuID = this.hasAttribute('id') ? this.getAttribute('id') : false;\n const menuButton = document.querySelector(`[popovertarget=\"${menuID}\"]`);\n let topLevelmenuItems = this.querySelectorAll(':scope > a, :scope > button, :scope > details > summary');\n let menuItems = this.querySelectorAll('a, button');\n if (this.closest('.menu__wrapper')) {\n menuItems = this.shadowRoot.querySelector('slot').assignedElements({ flatten: true });\n topLevelmenuItems = menuItems;\n }\n const subMenus = this.querySelectorAll('details');\n let subNextIndex;\n let subPrevIndex;\n // Set the needed CSS styles to connect the ID attribute to the anchor name\n if (menuID && menuButton) {\n this.setAttribute('role', 'menu');\n this.setAttribute('popover', 'auto');\n this.style['position-anchor'] = `--${menuID}`;\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.setAttribute('aria-haspopup', 'true');\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.style['anchor-name'] = `--${menuID}`;\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.setAttribute('aria-controls', menuID);\n }\n menuItems.forEach((item, index) => {\n item.setAttribute('role', 'menuitem');\n item.setAttribute('tabindex', '0');\n if (index == 0) {\n item.setAttribute('autofocus', true);\n }\n });\n this.addEventListener('keydown', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n this.querySelector('details[open]').removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n this.querySelector('details[open]').removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n this.addEventListener('toggle', (e) => {\n var _a, _b, _c, _d;\n const updateEvent = new CustomEvent(e.newState, { detail: { id: this.getAttribute('id'), target: e.target } });\n this.dispatchEvent(updateEvent);\n // Fix the focus\n if (this.closest('.menu__wrapper')) {\n menuItems[0].focus();\n }\n if (this.hasAttribute('popover-open')) {\n e.preventDefault();\n this.removeAttribute('popover-open');\n this.hidePopover();\n }\n if (this.matches(':popover-open') && document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) {\n (_a = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-pressed', 'true');\n (_b = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _b === void 0 ? void 0 : _b.classList.add('active');\n }\n else {\n (_c = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-pressed');\n (_d = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _d === void 0 ? void 0 : _d.classList.remove('active');\n }\n });\n this.addEventListener('click', (event) => {\n if (event &&\n event.target instanceof HTMLElement &&\n event.target.closest('button:has(+ iam-menu:not([popover]))')) {\n const button = event.target.closest('button:has(+ iam-menu)');\n button === null || button === void 0 ? void 0 : button.classList.toggle('open');\n }\n else if (event && event.target instanceof HTMLElement && event.target.closest('button.selectable')) {\n const button = event.target.closest('button.selectable');\n if (this.hasAttribute('multiple')) {\n button.classList.toggle('selected');\n }\n else if (button === null || button === void 0 ? void 0 : button.classList.contains('selected')) {\n this.querySelectorAll('.selected').forEach((item) => {\n item.classList.remove('selected');\n });\n }\n else {\n this.querySelectorAll('.selected').forEach((item) => {\n item.classList.remove('selected');\n });\n button.classList.add('selected');\n }\n }\n });\n // safari and firefox anchor fix for cards\n if (!CSS.supports('top', 'anchor(top)')) {\n document.addEventListener('click', (event) => {\n if (event.originalTarget && event.originalTarget.matches('[popovertarget]')) {\n const button = event.originalTarget;\n const popoverID = button.getAttribute('popovertarget');\n const popover = document.getElementById(popoverID);\n const viewportOffset = button.getBoundingClientRect();\n const top = viewportOffset.top;\n const left = viewportOffset.left;\n popover.style.setProperty('top', top + 'px');\n popover.style.setProperty('left', left + button.clientWidth + 'px');\n }\n });\n }\n }\n}\nexport default iamMenu;\n"],"names":["iamMenu","template","menuID","menuButton","topLevelmenuItems","menuItems","subNextIndex","subPrevIndex","item","index","event","activeItem","prevIndex","nextIndex","subMenuItems","e","_a","_b","_c","_d","updateEvent","button","popoverID","popover","viewportOffset","top","left"],"mappings":"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"}
1
+ {"version":3,"file":"menu.component.min.js","sources":["menu.component.js"],"sourcesContent":["class iamMenu 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 menuCSS = `@import \"${assetLocation}/css/components/menu.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${menuCSS}\n </style>\n <div class=\"menu--inner\" part=\"inner\">\n <slot></slot>\n </div>`;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const menuID = this.hasAttribute('id') ? this.getAttribute('id') : false;\n const menuButton = document.querySelector(`[popovertarget=\"${menuID}\"]`);\n let topLevelmenuItems = this.querySelectorAll(':scope > a, :scope > button, :scope > details > summary');\n let menuItems = this.querySelectorAll('a, button');\n if (this.closest('.menu__wrapper')) {\n menuItems = this.shadowRoot.querySelector('slot').assignedElements({ flatten: true });\n topLevelmenuItems = menuItems;\n }\n const subMenus = this.querySelectorAll('details');\n let subNextIndex;\n let subPrevIndex;\n // Set the needed CSS styles to connect the ID attribute to the anchor name\n if (menuID && menuButton) {\n this.setAttribute('role', 'menu');\n this.setAttribute('popover', 'auto');\n this.style['position-anchor'] = `--${menuID}`;\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.setAttribute('aria-haspopup', 'true');\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.style['anchor-name'] = `--${menuID}`;\n menuButton === null || menuButton === void 0 ? void 0 : menuButton.setAttribute('aria-controls', menuID);\n }\n menuItems.forEach((item, index) => {\n item.setAttribute('role', 'menuitem');\n item.setAttribute('tabindex', '0');\n if (index == 0) {\n item.setAttribute('autofocus', true);\n }\n });\n this.addEventListener('keydown', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n this.querySelector('details[open]').removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n this.querySelector('details[open]').removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n this.addEventListener('toggle', (e) => {\n var _a, _b, _c, _d;\n const updateEvent = new CustomEvent(e.newState, { detail: { id: this.getAttribute('id'), target: e.target } });\n this.dispatchEvent(updateEvent);\n // Fix the focus\n if (this.closest('.menu__wrapper')) {\n menuItems[0].focus();\n }\n if (this.hasAttribute('popover-open')) {\n e.preventDefault();\n this.removeAttribute('popover-open');\n this.hidePopover();\n }\n if (this.matches(':popover-open') && document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) {\n (_a = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-pressed', 'true');\n (_b = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _b === void 0 ? void 0 : _b.classList.add('active');\n }\n else {\n (_c = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-pressed');\n (_d = document.querySelector(`[popovertarget=\"${this.getAttribute('id')}\"]`)) === null || _d === void 0 ? void 0 : _d.classList.remove('active');\n }\n });\n this.addEventListener('click', (event) => {\n if (event &&\n event.target instanceof HTMLElement &&\n event.target.closest('button:has(+ iam-menu:not([popover]))')) {\n const button = event.target.closest('button:has(+ iam-menu)');\n button === null || button === void 0 ? void 0 : button.classList.toggle('open');\n }\n else if (event && event.target instanceof HTMLElement && event.target.closest('button.selectable')) {\n const button = event.target.closest('button.selectable');\n if (this.hasAttribute('multiple')) {\n button.classList.toggle('selected');\n }\n else if (button === null || button === void 0 ? void 0 : button.classList.contains('selected')) {\n this.querySelectorAll('.selected').forEach((item) => {\n item.classList.remove('selected');\n });\n }\n else {\n this.querySelectorAll('.selected').forEach((item) => {\n item.classList.remove('selected');\n });\n button.classList.add('selected');\n }\n }\n });\n // safari and firefox anchor fix for cards\n if (!CSS.supports('top', 'anchor(top)')) {\n document.addEventListener('click', (event) => {\n if (event.originalTarget && event.originalTarget.matches('[popovertarget]')) {\n const button = event.originalTarget;\n const popoverID = button.getAttribute('popovertarget');\n const popover = document.getElementById(popoverID);\n const viewportOffset = button.getBoundingClientRect();\n const top = viewportOffset.top;\n const left = viewportOffset.left;\n popover.style.setProperty('top', top + 'px');\n popover.style.setProperty('left', left + button.clientWidth + 'px');\n }\n });\n }\n }\n}\nexport default iamMenu;\n"],"names":["iamMenu","template","menuID","menuButton","topLevelmenuItems","menuItems","subNextIndex","subPrevIndex","item","index","event","activeItem","prevIndex","nextIndex","subMenuItems","e","_a","_b","_c","_d","updateEvent","button","popoverID","popover","viewportOffset","top","left"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const l=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},m=(t,n,a)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:n}),a.forEach(e=>{t.addEventListener(e,function(s){const d={event:e,element:n,target:s.target};Object.keys(s.detail).forEach(o=>{const i=s.detail[o];d[o]=i}),window.dataLayer.push(d)})}),!0),p=function(t){const n=t.dataset.status;if(!n)return;const a=t.shadowRoot.querySelector(".milestone-wrap"),e=document.createElement("span");e.setAttribute("part","status"),e.classList.add("milestone-status"),e.innerHTML=`${n} Step`,n==="Current"&&t.classList.add("current"),a.insertAdjacentElement("afterbegin",e)},u=function(t){const n=t.shadowRoot.querySelector(".task-wrap"),a=t.dataset.items?JSON.parse(t.dataset.items):[];a.length&&(a.forEach(e=>{const s=document.createElement("details"),d=document.createElement("summary"),o=document.createElement("div"),i=document.createElement("p");o.classList.add("task-details"),d.innerHTML=e.name,e.date_completed&&d.classList.add("complete"),s.appendChild(d),e.description&&(i.innerHTML=e.description,o.appendChild(i)),e.actions.length&&o.appendChild(h(e.actions,d)),s.appendChild(o),n.insertAdjacentElement("beforeend",s),s.addEventListener("click",()=>{s?.hasAttribute("open")?r("milestone-item-closed",e.name,t):r("milestone-item-opened",e.name,t)})}),t.appendChild(n))},r=function(t,n,a){const e=new CustomEvent(t,{detail:{title:n}});a.dispatchEvent(e)},h=function(t,n){const a=document.createElement("ul"),e=t.length,d=t.filter(o=>o.date_completed).length||0;if(!(e<1))return n.innerHTML+=` (${d}/${e})`,t.forEach(o=>{const i=document.createElement("li"),c=document.createElement("span");o.date_completed&&(i.classList.add("complete"),c.classList.add("action-date"),c.innerHTML=o.date_completed),i.innerHTML=o.action,i.appendChild(c),a.appendChild(i)}),a},w=function(t){p(t),u(t)};l("iam-milestone");class L extends HTMLElement{constructor(){var n;super(),this.attachShadow({mode:"open"});const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const r=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},l=(t,s,e)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:s}),e.forEach(n=>{t.addEventListener(n,function(o){const a={event:n,element:s,target:o.target};Object.keys(o.detail).forEach(i=>{const d=o.detail[i];a[i]=d}),window.dataLayer.push(a)})}),!0),u=function(t){if(!t.dataset.showAllToggle)return;const e=document.createElement("button");e.innerHTML="Show next steps",e.classList.add("btn","btn-tertiary","show-all-toggle"),t.appendChild(e),e.addEventListener("click",()=>{t.classList.contains("show-all")?(e.innerHTML="Show next steps",t.classList.remove("show-all"),c("hide-future-items",t)):(e.innerHTML="Hide next steps",t.classList.add("show-all"),c("show-future-items",t))})},c=function(t,s){const e=new CustomEvent(t,{});s.dispatchEvent(e)},h=function(t){u(t)};r("iam-milestone-group");class m extends HTMLElement{constructor(){var s;super();const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",n=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
5
5
  <style>
@@ -10,25 +10,25 @@ class iamModal extends HTMLElement {
10
10
  : '/assets';
11
11
  const loadCSS = `@import "${assetLocation}/css/components/modal.component.css";`;
12
12
  const template = document.createElement('template');
13
- template.innerHTML = `
14
- <style>
15
- ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
16
-
17
- ${loadCSS}
18
- </style>
19
- <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
20
- <dialog>
21
- ${closeButtonHtml}
22
- <div class="scroll">
23
- <slot></slot>
24
- <div class="btn__group">
25
- <button class="btn btn-secondary" data-cancel>${this.hasAttribute('data-cancel-text') ? this.getAttribute('data-cancel-text') : 'Cancel'}</button>
26
- <slot name="agreed-button">
27
- <button class="btn btn-primary" data-agreed>${this.hasAttribute('data-agreed-text') ? this.getAttribute('data-agreed-text') : 'Submit'}</button>
28
- </slot>
29
- </div>
30
- </div>
31
- </dialog>
13
+ template.innerHTML = `
14
+ <style>
15
+ ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
16
+
17
+ ${loadCSS}
18
+ </style>
19
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
20
+ <dialog>
21
+ ${closeButtonHtml}
22
+ <div class="scroll">
23
+ <slot></slot>
24
+ <div class="btn__group">
25
+ <button class="btn btn-secondary" data-cancel>${this.hasAttribute('data-cancel-text') ? this.getAttribute('data-cancel-text') : 'Cancel'}</button>
26
+ <slot name="agreed-button">
27
+ <button class="btn btn-primary" data-agreed>${this.hasAttribute('data-agreed-text') ? this.getAttribute('data-agreed-text') : 'Submit'}</button>
28
+ </slot>
29
+ </div>
30
+ </div>
31
+ </dialog>
32
32
  `;
33
33
  this.shadowRoot.appendChild(template.content.cloneNode(true));
34
34
  }
@@ -127,8 +127,8 @@ class iamModal extends HTMLElement {
127
127
  }
128
128
  });
129
129
  if (modalType == 'transactional' || modalType == 'acknowledgement') {
130
- (_f = (_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.scroll')) === null || _f === void 0 ? void 0 : _f.insertAdjacentHTML('afterbegin', `<i class="fa-light fa-circle" aria-hidden="true">
131
- <i class="fa-regular fa-${this.hasAttribute('data-icon') ? this.getAttribute('data-icon') : 'info'}" aria-hidden="true"></i>
130
+ (_f = (_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.scroll')) === null || _f === void 0 ? void 0 : _f.insertAdjacentHTML('afterbegin', `<i class="fa-light fa-circle" aria-hidden="true">
131
+ <i class="fa-regular fa-${this.hasAttribute('data-icon') ? this.getAttribute('data-icon') : 'info'}" aria-hidden="true"></i>
132
132
  </i>`);
133
133
  }
134
134
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const w=i=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:i})},y=i=>{var o;const a=(o=i.shadowRoot)===null||o===void 0?void 0:o.querySelector("dialog"),n=i.hasAttribute("id")?i.getAttribute("id"):"unknown";a?.showModal(),a?.focus();const l=new CustomEvent("modal-opened",{bubbles:!0,cancelable:!0,detail:{modalId:n}});i.dispatchEvent(l),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:n})},d=i=>{var o;const a=(o=i.shadowRoot)===null||o===void 0?void 0:o.querySelector("dialog"),n=i.hasAttribute("id")?i.getAttribute("id"):"unknown";a?.close();const l=new CustomEvent("modal-closed",{bubbles:!0,cancelable:!0,detail:{modalId:n}});i.dispatchEvent(l),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:n})},k='<button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>';w("iam-card");class x extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"modal.component.min.js","sources":["../_global.js","../../modules/modal.js","modal.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","export const openModal = (modal) => {\n var _a;\n const dialog = (_a = modal.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const id = modal.hasAttribute('id') ? modal.getAttribute('id') : 'unknown';\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n modal.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n};\nexport const closeModal = (modal) => {\n var _a;\n const dialog = (_a = modal.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const id = modal.hasAttribute('id') ? modal.getAttribute('id') : 'unknown';\n dialog === null || dialog === void 0 ? void 0 : dialog.close();\n const closeEvent = new CustomEvent('modal-closed', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n modal.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'closeModal',\n id: id,\n });\n};\nexport const closeButtonHtml = `<button class=\"btn btn-compact btn-secondary fa-xmark-large\" data-close>Close</button>`;\n","import { trackComponentRegistered } from '../_global';\nimport { openModal, closeModal, closeButtonHtml } from '../../modules/modal';\ntrackComponentRegistered('iam-card');\nclass iamModal 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/modal.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\r\n <style>\r\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\r\n \r\n ${loadCSS}\r\n </style>\r\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\r\n <dialog>\r\n ${closeButtonHtml}\r\n <div class=\"scroll\">\r\n <slot></slot>\r\n <div class=\"btn__group\">\r\n <button class=\"btn btn-secondary\" data-cancel>${this.hasAttribute('data-cancel-text') ? this.getAttribute('data-cancel-text') : 'Cancel'}</button>\r\n <slot name=\"agreed-button\">\r\n <button class=\"btn btn-primary\" data-agreed>${this.hasAttribute('data-agreed-text') ? this.getAttribute('data-agreed-text') : 'Submit'}</button>\r\n </slot>\r\n </div>\r\n </div>\r\n </dialog>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f;\n const originalDialog = this.querySelector('dialog');\n const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.getAttribute('id');\n let dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const closeButton = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[data-close]');\n const cancelButton = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[data-cancel]');\n const agreedButton = this.querySelector('button[slot=\"agreed-button\"]') ? this.querySelector('button[slot=\"agreed-button\"]') : (_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('[data-agreed]');\n const modalType = this.hasAttribute('data-type') ? this.getAttribute('data-type') : 'passive';\n const agreed = () => {\n const agreedEvent = new CustomEvent('agreed', {\n detail: { modalId: id },\n });\n this.dispatchEvent(agreedEvent);\n closeModal(id, this);\n };\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"show-modal\"][commandfor=\"${id}\"]`) || e.target.matches(`[data-modal=\"${id}\"]`)) {\n openModal(this);\n }\n });\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"close\"][commandfor=\"${id}\"]`)) {\n closeModal(this);\n }\n });\n // Disable the original event \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n if (event.command == \"show-modal\") {\n e.preventDefault();\n }\n });\n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n e.preventDefault();\n if (event.command == \"close\") {\n closeModal(id, this);\n }\n });\n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('close', (e) => {\n e.preventDefault();\n closeModal(id, this);\n });\n // Move the submit button so that the slot functionality works\n if (originalDialog) {\n Array.from(originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.querySelectorAll('[slot]')).forEach((element) => {\n this.moveBefore(element, originalDialog);\n });\n }\n closeButton === null || closeButton === void 0 ? void 0 : closeButton.addEventListener('click', () => {\n closeModal(id, this);\n });\n cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.addEventListener('click', () => {\n closeModal(id, this);\n });\n agreedButton === null || agreedButton === void 0 ? void 0 : agreedButton.addEventListener('click', () => {\n agreed();\n });\n this.addEventListener('close-modal', () => {\n closeModal(id, this);\n });\n // Hijack the default form submission \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('submit', (e) => {\n if (e.submitter && e.submitter.hasAttribute('formmethod') && e.submitter.getAttribute('formmethod') == \"dialog\") {\n closeModal(id, this);\n }\n else {\n agreed();\n }\n });\n Array.from(this.querySelectorAll('button[type=\"submit\"]')).forEach((button) => {\n button.addEventListener('click', (e) => {\n if (!button.closest('form') && !button.hasAttribute('formmethod')) {\n agreed();\n }\n });\n });\n // Add click event on backdrop\n this.addEventListener('click', (event) => {\n // Small fix to make sure the dialog isn't a dialog inside of a dialog.\n const style = window.getComputedStyle(dialog);\n if (style.display === 'contents')\n dialog = dialog.parentNode.closest('dialog[open]');\n // Dont allow the backdrop to be clicked when transactional\n if (modalType != 'transactional' && modalType != 'acknowledgement') {\n const dialogDimensions = dialog.getBoundingClientRect();\n if (event.clientX < dialogDimensions.left ||\n event.clientX > dialogDimensions.right ||\n event.clientY < dialogDimensions.top ||\n event.clientY > dialogDimensions.bottom) {\n if (!event.target.closest('dialog *'))\n closeModal(id, this); // Weird bug when interacting with radio input fields within dialogs cuases it to close\n }\n }\n });\n if (modalType == 'transactional' || modalType == 'acknowledgement') {\n (_f = (_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.scroll')) === null || _f === void 0 ? void 0 : _f.insertAdjacentHTML('afterbegin', `<i class=\"fa-light fa-circle\" aria-hidden=\"true\">\r\n <i class=\"fa-regular fa-${this.hasAttribute('data-icon') ? this.getAttribute('data-icon') : 'info'}\" aria-hidden=\"true\"></i>\r\n </i>`);\n }\n }\n}\nexport default iamModal;\n"],"names":["trackComponentRegistered","componentName","openModal","modal","_a","dialog","id","closeEvent","closeModal","closeButtonHtml","iamModal","template","_b","_c","_d","_e","_f","originalDialog","closeButton","cancelButton","agreedButton","modalType","agreed","agreedEvent","e","element","button","event","dialogDimensions"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECPaC,EAAaC,GAAU,CAChC,IAAIC,EACJ,MAAMC,GAAUD,EAAKD,EAAM,cAAgB,MAAQC,IAAO,OAAS,OAASA,EAAG,cAAc,QAAQ,EAC/FE,EAAKH,EAAM,aAAa,IAAI,EAAIA,EAAM,aAAa,IAAI,EAAI,UACjBE,GAAO,UAAS,EAChBA,GAAO,MAAK,EAC5D,MAAME,EAAa,IAAI,YAAY,eAAgB,CAC/C,QAAS,GACT,WAAY,GACZ,OAAQ,CAAE,QAASD,CAAE,CAC7B,CAAK,EACDH,EAAM,cAAcI,CAAU,EAC9B,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,YACP,GAAID,CACZ,CAAK,CACL,EACaE,EAAcL,GAAU,CACjC,IAAIC,EACJ,MAAMC,GAAUD,EAAKD,EAAM,cAAgB,MAAQC,IAAO,OAAS,OAASA,EAAG,cAAc,QAAQ,EAC/FE,EAAKH,EAAM,aAAa,IAAI,EAAIA,EAAM,aAAa,IAAI,EAAI,UACjBE,GAAO,MAAK,EAC5D,MAAME,EAAa,IAAI,YAAY,eAAgB,CAC/C,QAAS,GACT,WAAY,GACZ,OAAQ,CAAE,QAASD,CAAE,CAC7B,CAAK,EACDH,EAAM,cAAcI,CAAU,EAC9B,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,aACP,GAAID,CACZ,CAAK,CACL,EACaG,EAAkB,yFCjC/BT,EAAyB,UAAU,EACnC,MAAMU,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,MAEvB,KAAK,aAAa,KAAK,EAAI,YAAY,KAAK,aAAa,KAAK,CAAC,KAAO,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMtEF,CAAe;AAAA;AAAA;AAAA;AAAA,0DAImC,KAAK,aAAa,kBAAkB,EAAI,KAAK,aAAa,kBAAkB,EAAI,QAAQ;AAAA;AAAA,0DAExF,KAAK,aAAa,kBAAkB,EAAI,KAAK,aAAa,kBAAkB,EAAI,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,MAM1I,KAAK,WAAW,YAAYE,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,IAAIP,EAAIQ,EAAIC,EAAIC,EAAIC,EAAIC,EACxB,MAAMC,EAAiB,KAAK,cAAc,QAAQ,EAC5CX,EAAK,KAAK,aAAa,IAAI,EAAI,KAAK,aAAa,IAAI,EAAoEW,GAAe,aAAa,IAAI,EAC/J,IAAIZ,GAAUD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,QAAQ,EAClG,MAAMc,GAAeN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,cAAc,EACzGO,GAAgBN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,eAAe,EAC3GO,EAAe,KAAK,cAAc,8BAA8B,EAAI,KAAK,cAAc,8BAA8B,GAAKN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,eAAe,EACrNO,EAAY,KAAK,aAAa,WAAW,EAAI,KAAK,aAAa,WAAW,EAAI,UAC9EC,EAAS,IAAM,CACjB,MAAMC,EAAc,IAAI,YAAY,SAAU,CAC1C,OAAQ,CAAE,QAASjB,CAAE,CACrC,CAAa,EACD,KAAK,cAAciB,CAAW,EAC9Bf,EAAWF,CAAQ,CACvB,EACA,SAAS,iBAAiB,QAAUkB,GAAM,EAClCA,EAAE,OAAO,QAAQ,sCAAsClB,CAAE,IAAI,GAAKkB,EAAE,OAAO,QAAQ,gBAAgBlB,CAAE,IAAI,IACzGJ,EAAU,IAAI,CAEtB,CAAC,EACD,SAAS,iBAAiB,QAAUsB,GAAM,CAClCA,EAAE,OAAO,QAAQ,iCAAiClB,CAAE,IAAI,GACxDE,EAAW,IAAI,CAEvB,CAAC,EAE+DS,GAAe,iBAAiB,UAAYO,GAAM,CAC1G,MAAM,SAAW,cACjBA,EAAE,eAAc,CAExB,CAAC,EAC+DP,GAAe,iBAAiB,UAAYO,GAAM,CAC9GA,EAAE,eAAc,EACZ,MAAM,SAAW,SACjBhB,EAAWF,CAAQ,CAE3B,CAAC,EAC+DW,GAAe,iBAAiB,QAAUO,GAAM,CAC5GA,EAAE,eAAc,EAChBhB,EAAWF,CAAQ,CACvB,CAAC,EAEGW,GACA,MAAM,KAAqEA,GAAe,iBAAiB,QAAQ,CAAC,EAAE,QAASQ,GAAY,CACvI,KAAK,WAAWA,EAASR,CAAc,CAC3C,CAAC,EAEqDC,GAAY,iBAAiB,QAAS,IAAM,CAClGV,EAAWF,CAAQ,CACvB,CAAC,EAC2Da,GAAa,iBAAiB,QAAS,IAAM,CACrGX,EAAWF,CAAQ,CACvB,CAAC,EAC2Dc,GAAa,iBAAiB,QAAS,IAAM,CACrGE,EAAM,CACV,CAAC,EACD,KAAK,iBAAiB,cAAe,IAAM,CACvCd,EAAWF,CAAQ,CACvB,CAAC,EAE+DW,GAAe,iBAAiB,SAAWO,GAAM,CACzGA,EAAE,WAAaA,EAAE,UAAU,aAAa,YAAY,GAAKA,EAAE,UAAU,aAAa,YAAY,GAAK,SACnGhB,EAAWF,CAAQ,EAGnBgB,EAAM,CAEd,CAAC,EACD,MAAM,KAAK,KAAK,iBAAiB,uBAAuB,CAAC,EAAE,QAASI,GAAW,CAC3EA,EAAO,iBAAiB,QAAUF,GAAM,CAChC,CAACE,EAAO,QAAQ,MAAM,GAAK,CAACA,EAAO,aAAa,YAAY,GAC5DJ,EAAM,CAEd,CAAC,CACL,CAAC,EAED,KAAK,iBAAiB,QAAUK,GAAU,CAMtC,GAJc,OAAO,iBAAiBtB,CAAM,EAClC,UAAY,aAClBA,EAASA,EAAO,WAAW,QAAQ,cAAc,GAEjDgB,GAAa,iBAAmBA,GAAa,kBAAmB,CAChE,MAAMO,EAAmBvB,EAAO,sBAAqB,GACjDsB,EAAM,QAAUC,EAAiB,MACjCD,EAAM,QAAUC,EAAiB,OACjCD,EAAM,QAAUC,EAAiB,KACjCD,EAAM,QAAUC,EAAiB,UAC5BD,EAAM,OAAO,QAAQ,UAAU,GAChCnB,EAAWF,CAAQ,EAE/B,CACJ,CAAC,GACGe,GAAa,iBAAmBA,GAAa,sBAC5CL,GAAMD,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,SAAS,KAAO,MAAQC,IAAO,QAAkBA,EAAG,mBAAmB,aAAc;AAAA,oCAChJ,KAAK,aAAa,WAAW,EAAI,KAAK,aAAa,WAAW,EAAI,MAAM;AAAA,aAC/F,EAET,CACJ"}
1
+ {"version":3,"file":"modal.component.min.js","sources":["../_global.js","../../modules/modal.js","modal.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","export const openModal = (modal) => {\n var _a;\n const dialog = (_a = modal.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const id = modal.hasAttribute('id') ? modal.getAttribute('id') : 'unknown';\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n modal.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n};\nexport const closeModal = (modal) => {\n var _a;\n const dialog = (_a = modal.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const id = modal.hasAttribute('id') ? modal.getAttribute('id') : 'unknown';\n dialog === null || dialog === void 0 ? void 0 : dialog.close();\n const closeEvent = new CustomEvent('modal-closed', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n modal.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'closeModal',\n id: id,\n });\n};\nexport const closeButtonHtml = `<button class=\"btn btn-compact btn-secondary fa-xmark-large\" data-close>Close</button>`;\n","import { trackComponentRegistered } from '../_global';\nimport { openModal, closeModal, closeButtonHtml } from '../../modules/modal';\ntrackComponentRegistered('iam-card');\nclass iamModal 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/modal.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n \n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <dialog>\n ${closeButtonHtml}\n <div class=\"scroll\">\n <slot></slot>\n <div class=\"btn__group\">\n <button class=\"btn btn-secondary\" data-cancel>${this.hasAttribute('data-cancel-text') ? this.getAttribute('data-cancel-text') : 'Cancel'}</button>\n <slot name=\"agreed-button\">\n <button class=\"btn btn-primary\" data-agreed>${this.hasAttribute('data-agreed-text') ? this.getAttribute('data-agreed-text') : 'Submit'}</button>\n </slot>\n </div>\n </div>\n </dialog>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f;\n const originalDialog = this.querySelector('dialog');\n const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.getAttribute('id');\n let dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const closeButton = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[data-close]');\n const cancelButton = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[data-cancel]');\n const agreedButton = this.querySelector('button[slot=\"agreed-button\"]') ? this.querySelector('button[slot=\"agreed-button\"]') : (_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('[data-agreed]');\n const modalType = this.hasAttribute('data-type') ? this.getAttribute('data-type') : 'passive';\n const agreed = () => {\n const agreedEvent = new CustomEvent('agreed', {\n detail: { modalId: id },\n });\n this.dispatchEvent(agreedEvent);\n closeModal(id, this);\n };\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"show-modal\"][commandfor=\"${id}\"]`) || e.target.matches(`[data-modal=\"${id}\"]`)) {\n openModal(this);\n }\n });\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"close\"][commandfor=\"${id}\"]`)) {\n closeModal(this);\n }\n });\n // Disable the original event \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n if (event.command == \"show-modal\") {\n e.preventDefault();\n }\n });\n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n e.preventDefault();\n if (event.command == \"close\") {\n closeModal(id, this);\n }\n });\n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('close', (e) => {\n e.preventDefault();\n closeModal(id, this);\n });\n // Move the submit button so that the slot functionality works\n if (originalDialog) {\n Array.from(originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.querySelectorAll('[slot]')).forEach((element) => {\n this.moveBefore(element, originalDialog);\n });\n }\n closeButton === null || closeButton === void 0 ? void 0 : closeButton.addEventListener('click', () => {\n closeModal(id, this);\n });\n cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.addEventListener('click', () => {\n closeModal(id, this);\n });\n agreedButton === null || agreedButton === void 0 ? void 0 : agreedButton.addEventListener('click', () => {\n agreed();\n });\n this.addEventListener('close-modal', () => {\n closeModal(id, this);\n });\n // Hijack the default form submission \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('submit', (e) => {\n if (e.submitter && e.submitter.hasAttribute('formmethod') && e.submitter.getAttribute('formmethod') == \"dialog\") {\n closeModal(id, this);\n }\n else {\n agreed();\n }\n });\n Array.from(this.querySelectorAll('button[type=\"submit\"]')).forEach((button) => {\n button.addEventListener('click', (e) => {\n if (!button.closest('form') && !button.hasAttribute('formmethod')) {\n agreed();\n }\n });\n });\n // Add click event on backdrop\n this.addEventListener('click', (event) => {\n // Small fix to make sure the dialog isn't a dialog inside of a dialog.\n const style = window.getComputedStyle(dialog);\n if (style.display === 'contents')\n dialog = dialog.parentNode.closest('dialog[open]');\n // Dont allow the backdrop to be clicked when transactional\n if (modalType != 'transactional' && modalType != 'acknowledgement') {\n const dialogDimensions = dialog.getBoundingClientRect();\n if (event.clientX < dialogDimensions.left ||\n event.clientX > dialogDimensions.right ||\n event.clientY < dialogDimensions.top ||\n event.clientY > dialogDimensions.bottom) {\n if (!event.target.closest('dialog *'))\n closeModal(id, this); // Weird bug when interacting with radio input fields within dialogs cuases it to close\n }\n }\n });\n if (modalType == 'transactional' || modalType == 'acknowledgement') {\n (_f = (_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.scroll')) === null || _f === void 0 ? void 0 : _f.insertAdjacentHTML('afterbegin', `<i class=\"fa-light fa-circle\" aria-hidden=\"true\">\n <i class=\"fa-regular fa-${this.hasAttribute('data-icon') ? this.getAttribute('data-icon') : 'info'}\" aria-hidden=\"true\"></i>\n </i>`);\n }\n }\n}\nexport default iamModal;\n"],"names":["trackComponentRegistered","componentName","openModal","modal","_a","dialog","id","closeEvent","closeModal","closeButtonHtml","iamModal","template","_b","_c","_d","_e","_f","originalDialog","closeButton","cancelButton","agreedButton","modalType","agreed","agreedEvent","e","element","button","event","dialogDimensions"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const g=c=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:c})},y=(c,e,u)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:e}),u.forEach(l=>{c.addEventListener(l,function(i){const n={event:l,element:e,target:i.target};Object.keys(i.detail).forEach(d=>{const t=i.detail[d];n[d]=t}),window.dataLayer.push(n)})}),!0);g("iam-multi-step");class h 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>
@@ -9,17 +9,17 @@ class iamMultiStepModal extends HTMLElement {
9
9
  : '/assets';
10
10
  const loadCSS = `@import "${assetLocation}/css/components/multi-step-modal.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
- <dialog>
18
- <button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>
19
- <div class="steps" parts="steps">
20
- </div>
21
- <slot></slot>
22
- </dialog>
12
+ template.innerHTML = `
13
+ <style>
14
+ ${loadCSS}
15
+ </style>
16
+ <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
17
+ <dialog>
18
+ <button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>
19
+ <div class="steps" parts="steps">
20
+ </div>
21
+ <slot></slot>
22
+ </dialog>
23
23
  `;
24
24
  this.shadowRoot.appendChild(template.content.cloneNode(true));
25
25
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */const z=b=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:b})},E=(b,n,c)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:n}),c.forEach(d=>{b.addEventListener(d,function(e){const i={event:d,element:n,target:e.target};Object.keys(e.detail).forEach(r=>{const p=e.detail[r];i[r]=p}),window.dataLayer.push(i)})}),!0);z("iam-multi-step-modal");class _ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const n=document.createElement("template");n.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"multi-step-modal.component.min.js","sources":["../_global.js","multi-step-modal.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 { trackComponent, trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-multi-step-modal');\nclass iamMultiStepModal 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/multi-step-modal.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 <dialog>\r\n <button class=\"btn btn-compact btn-secondary fa-xmark-large\" data-close>Close</button>\r\n <div class=\"steps\" parts=\"steps\">\r\n </div>\r\n <slot></slot>\r\n </dialog>\r\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b;\n const originalDialog = this.querySelector('dialog');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const MultiStepComponent = this;\n const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.getAttribute('id');\n const dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const closeButton = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[data-close]');\n const button = document.querySelector(`[data-modal=\"${id}\"]`);\n const steps = this.shadowRoot.querySelector('.steps');\n const form = this.querySelector('form');\n const openModal = () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n };\n // Disable the original event \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n if (event.command == \"show-modal\") {\n e.preventDefault();\n }\n });\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"show-modal\"][commandfor=\"${id}\"]`) || e.target.matches(`[data-modal=\"${id}\"]`)) {\n openModal();\n }\n });\n button === null || button === void 0 ? void 0 : button.addEventListener('click', () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n });\n const closeModal = () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.close();\n const closeEvent = new CustomEvent('modal-closed', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'closeModal',\n id: id,\n });\n };\n closeButton === null || closeButton === void 0 ? void 0 : closeButton.addEventListener('click', () => {\n closeModal();\n });\n const fieldsets = Array.from(MultiStepComponent.querySelectorAll('fieldset[data-title]'));\n fieldsets.forEach((fieldset, index) => {\n steps.insertAdjacentHTML('beforeend', `<button data-title=\"${fieldset.getAttribute('data-title')}\" type=\"button\" class=\"${index == 0 ? 'active' : ''}\" tabindex=\"-1\">${fieldset.getAttribute('data-title')}</button>`);\n if (index === 0)\n fieldset.classList.add('active');\n const btnWrapper = document.createElement('div');\n btnWrapper.classList.add('btn--wrapper');\n fieldset.appendChild(btnWrapper);\n if (index != 0)\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index - 1].getAttribute('data-title')}\" class=\"btn btn-secondary mb-0\" data-previous type=\"button\">Previous</button>`;\n if (index != fieldsets.length - 1)\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index + 1].getAttribute('data-title')}\" class=\"btn btn-primary mb-0\" data-next type=\"button\">Next</button>`;\n // Last fieldset\n if (index == fieldsets.length - 1) {\n if (form && form.querySelector(':scope > button[type=\"submit\"]')) {\n const existingButton = form.querySelector(':scope > button[type=\"submit\"]');\n existingButton.classList.add('mb-0');\n btnWrapper.insertAdjacentElement('beforeend', existingButton);\n }\n else\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index].getAttribute('data-title')}\" class=\"btn btn-primary mb-0\" data-next type=\"submit\">Submit</button>`;\n }\n });\n // Open the fieldset with an error inside\n const validatedFieldsets = Array.from(MultiStepComponent.querySelectorAll('fieldset.was-validated'));\n for (let i = 0; i < validatedFieldsets.length; i++) {\n const fieldset = validatedFieldsets[i];\n const fieldsetID = fieldset.getAttribute('data-title');\n if (fieldset.querySelector('.is-invalid')) {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${fieldsetID}\"]`)).forEach((element) => {\n element.classList.add('active');\n });\n break;\n }\n else {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${fieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n }\n }\n // Prevent the bubble messages\n MultiStepComponent.addEventListener('invalid', (function () {\n return function (e) {\n e.preventDefault();\n };\n })(), true);\n function validateFieldset(button) {\n const currentFieldset = MultiStepComponent.querySelector(`fieldset.active`)\n ? MultiStepComponent.querySelector(`fieldset.active`)\n : MultiStepComponent.querySelector(`fieldset[data-title]`);\n const currentFieldsetID = currentFieldset.getAttribute('data-title');\n let isFieldsetValid = true;\n currentFieldset.classList.add('was-validated');\n Array.from(currentFieldset.querySelectorAll('input')).forEach((input) => {\n if (!input.checkValidity())\n isFieldsetValid = false;\n });\n // If valid mode to next field set\n if (!isFieldsetValid) {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.remove('valid');\n });\n Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.remove('valid');\n });\n }\n else {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n }\n // Allow the previous button to navigate\n if (isFieldsetValid || !button.hasAttribute('data-next')) {\n const fieldset = MultiStepComponent.querySelector(`fieldset[data-title=\"${button.getAttribute('data-title')}\"]`);\n const step = MultiStepComponent.shadowRoot.querySelector(`.steps button[data-title=\"${button.getAttribute('data-title')}\"]`);\n Array.from(MultiStepComponent.querySelectorAll('button')).forEach((button) => {\n button.classList.remove('active');\n });\n Array.from(MultiStepComponent.querySelectorAll('fieldset')).forEach((button) => {\n button.classList.remove('active');\n });\n step.classList.add('active');\n fieldset.classList.add('active');\n }\n const fieldsetCount = Array.from(MultiStepComponent.querySelectorAll(`fieldset`)).length;\n const validFieldsetCount = Array.from(MultiStepComponent.querySelectorAll(`fieldset.valid`)).length;\n // update the progress bar\n MultiStepComponent.style.setProperty('--progress', `${(validFieldsetCount / (fieldsetCount - 1)) * 100}%`);\n }\n // remove error messages from server\n MultiStepComponent.addEventListener('keydown', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button')) {\n const button = event.target.closest('button');\n if (event.keyCode == 13 && button.getAttribute('type') != 'submit') {\n event.preventDefault();\n validateFieldset(button);\n }\n }\n if (event && event.target instanceof HTMLElement && event.target.closest('input')) {\n const input = event.target.closest('input');\n input.classList.remove('is-invalid');\n if (event.keyCode == 13) {\n event.preventDefault();\n }\n }\n });\n MultiStepComponent.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button[type=\"submit\"]')) {\n const form = event.target.closest('form');\n form.classList.add('was-validated');\n }\n return null;\n });\n MultiStepComponent.shadowRoot.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button[data-title]')) {\n const button = event.target.closest('button[data-title]');\n validateFieldset(button);\n }\n return null;\n });\n trackComponent(MultiStepComponent, 'iam-multi-step', []);\n }\n static get observedAttributes() {\n return ['data-image'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n switch (attrName) {\n case 'data-total': {\n if (this.shadowRoot.querySelector('.card__total'))\n this.shadowRoot.querySelector('.card__total').innerHTML = newVal;\n break;\n }\n }\n }\n}\nexport default iamMultiStepModal;\n"],"names":["trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamMultiStepModal","template","_a","_b","originalDialog","MultiStepComponent","id","dialog","closeButton","button","steps","form","openModal","closeEvent","e","closeModal","fieldsets","fieldset","index","btnWrapper","existingButton","validatedFieldsets","i","fieldsetID","element","validateFieldset","currentFieldset","currentFieldsetID","isFieldsetValid","input","step","fieldsetCount","validFieldsetCount","attrName","oldVal","newVal"],"mappings":"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"}
1
+ {"version":3,"file":"multi-step-modal.component.min.js","sources":["../_global.js","multi-step-modal.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 { trackComponent, trackComponentRegistered } from '../_global';\ntrackComponentRegistered('iam-multi-step-modal');\nclass iamMultiStepModal 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/multi-step-modal.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 <dialog>\n <button class=\"btn btn-compact btn-secondary fa-xmark-large\" data-close>Close</button>\n <div class=\"steps\" parts=\"steps\">\n </div>\n <slot></slot>\n </dialog>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b;\n const originalDialog = this.querySelector('dialog');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const MultiStepComponent = this;\n const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.getAttribute('id');\n const dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');\n const closeButton = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[data-close]');\n const button = document.querySelector(`[data-modal=\"${id}\"]`);\n const steps = this.shadowRoot.querySelector('.steps');\n const form = this.querySelector('form');\n const openModal = () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n };\n // Disable the original event \n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {\n if (event.command == \"show-modal\") {\n e.preventDefault();\n }\n });\n document.addEventListener('click', (e) => {\n if (e.target.matches(`[command=\"show-modal\"][commandfor=\"${id}\"]`) || e.target.matches(`[data-modal=\"${id}\"]`)) {\n openModal();\n }\n });\n button === null || button === void 0 ? void 0 : button.addEventListener('click', () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.showModal();\n dialog === null || dialog === void 0 ? void 0 : dialog.focus();\n const closeEvent = new CustomEvent('modal-opened', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'openModal',\n id: id,\n });\n });\n const closeModal = () => {\n dialog === null || dialog === void 0 ? void 0 : dialog.close();\n const closeEvent = new CustomEvent('modal-closed', {\n bubbles: true,\n cancelable: true,\n detail: { modalId: id },\n });\n this.dispatchEvent(closeEvent);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'closeModal',\n id: id,\n });\n };\n closeButton === null || closeButton === void 0 ? void 0 : closeButton.addEventListener('click', () => {\n closeModal();\n });\n const fieldsets = Array.from(MultiStepComponent.querySelectorAll('fieldset[data-title]'));\n fieldsets.forEach((fieldset, index) => {\n steps.insertAdjacentHTML('beforeend', `<button data-title=\"${fieldset.getAttribute('data-title')}\" type=\"button\" class=\"${index == 0 ? 'active' : ''}\" tabindex=\"-1\">${fieldset.getAttribute('data-title')}</button>`);\n if (index === 0)\n fieldset.classList.add('active');\n const btnWrapper = document.createElement('div');\n btnWrapper.classList.add('btn--wrapper');\n fieldset.appendChild(btnWrapper);\n if (index != 0)\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index - 1].getAttribute('data-title')}\" class=\"btn btn-secondary mb-0\" data-previous type=\"button\">Previous</button>`;\n if (index != fieldsets.length - 1)\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index + 1].getAttribute('data-title')}\" class=\"btn btn-primary mb-0\" data-next type=\"button\">Next</button>`;\n // Last fieldset\n if (index == fieldsets.length - 1) {\n if (form && form.querySelector(':scope > button[type=\"submit\"]')) {\n const existingButton = form.querySelector(':scope > button[type=\"submit\"]');\n existingButton.classList.add('mb-0');\n btnWrapper.insertAdjacentElement('beforeend', existingButton);\n }\n else\n btnWrapper.innerHTML += `<button data-title=\"${fieldsets[index].getAttribute('data-title')}\" class=\"btn btn-primary mb-0\" data-next type=\"submit\">Submit</button>`;\n }\n });\n // Open the fieldset with an error inside\n const validatedFieldsets = Array.from(MultiStepComponent.querySelectorAll('fieldset.was-validated'));\n for (let i = 0; i < validatedFieldsets.length; i++) {\n const fieldset = validatedFieldsets[i];\n const fieldsetID = fieldset.getAttribute('data-title');\n if (fieldset.querySelector('.is-invalid')) {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${fieldsetID}\"]`)).forEach((element) => {\n element.classList.add('active');\n });\n break;\n }\n else {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${fieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n }\n }\n // Prevent the bubble messages\n MultiStepComponent.addEventListener('invalid', (function () {\n return function (e) {\n e.preventDefault();\n };\n })(), true);\n function validateFieldset(button) {\n const currentFieldset = MultiStepComponent.querySelector(`fieldset.active`)\n ? MultiStepComponent.querySelector(`fieldset.active`)\n : MultiStepComponent.querySelector(`fieldset[data-title]`);\n const currentFieldsetID = currentFieldset.getAttribute('data-title');\n let isFieldsetValid = true;\n currentFieldset.classList.add('was-validated');\n Array.from(currentFieldset.querySelectorAll('input')).forEach((input) => {\n if (!input.checkValidity())\n isFieldsetValid = false;\n });\n // If valid mode to next field set\n if (!isFieldsetValid) {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.remove('valid');\n });\n Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.remove('valid');\n });\n }\n else {\n Array.from(MultiStepComponent.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title=\"${currentFieldsetID}\"]`)).forEach((element) => {\n element.classList.add('valid');\n });\n }\n // Allow the previous button to navigate\n if (isFieldsetValid || !button.hasAttribute('data-next')) {\n const fieldset = MultiStepComponent.querySelector(`fieldset[data-title=\"${button.getAttribute('data-title')}\"]`);\n const step = MultiStepComponent.shadowRoot.querySelector(`.steps button[data-title=\"${button.getAttribute('data-title')}\"]`);\n Array.from(MultiStepComponent.querySelectorAll('button')).forEach((button) => {\n button.classList.remove('active');\n });\n Array.from(MultiStepComponent.querySelectorAll('fieldset')).forEach((button) => {\n button.classList.remove('active');\n });\n step.classList.add('active');\n fieldset.classList.add('active');\n }\n const fieldsetCount = Array.from(MultiStepComponent.querySelectorAll(`fieldset`)).length;\n const validFieldsetCount = Array.from(MultiStepComponent.querySelectorAll(`fieldset.valid`)).length;\n // update the progress bar\n MultiStepComponent.style.setProperty('--progress', `${(validFieldsetCount / (fieldsetCount - 1)) * 100}%`);\n }\n // remove error messages from server\n MultiStepComponent.addEventListener('keydown', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button')) {\n const button = event.target.closest('button');\n if (event.keyCode == 13 && button.getAttribute('type') != 'submit') {\n event.preventDefault();\n validateFieldset(button);\n }\n }\n if (event && event.target instanceof HTMLElement && event.target.closest('input')) {\n const input = event.target.closest('input');\n input.classList.remove('is-invalid');\n if (event.keyCode == 13) {\n event.preventDefault();\n }\n }\n });\n MultiStepComponent.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button[type=\"submit\"]')) {\n const form = event.target.closest('form');\n form.classList.add('was-validated');\n }\n return null;\n });\n MultiStepComponent.shadowRoot.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('button[data-title]')) {\n const button = event.target.closest('button[data-title]');\n validateFieldset(button);\n }\n return null;\n });\n trackComponent(MultiStepComponent, 'iam-multi-step', []);\n }\n static get observedAttributes() {\n return ['data-image'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n switch (attrName) {\n case 'data-total': {\n if (this.shadowRoot.querySelector('.card__total'))\n this.shadowRoot.querySelector('.card__total').innerHTML = newVal;\n break;\n }\n }\n }\n}\nexport default iamMultiStepModal;\n"],"names":["trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamMultiStepModal","template","_a","_b","originalDialog","MultiStepComponent","id","dialog","closeButton","button","steps","form","openModal","closeEvent","e","closeModal","fieldsets","fieldset","index","btnWrapper","existingButton","validatedFieldsets","i","fieldsetID","element","validateFieldset","currentFieldset","currentFieldsetID","isFieldsetValid","input","step","fieldsetCount","validFieldsetCount","attrName","oldVal","newVal"],"mappings":"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"}
@@ -14,26 +14,26 @@ class iamMultiselect extends HTMLElement {
14
14
  : '/assets';
15
15
  const loadCSS = `@import "${assetLocation}/css/components/multiselect.css";`;
16
16
  const template = document.createElement('template');
17
- template.innerHTML = `
18
- <style>
19
-
20
- ${loadCSS}
21
- ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
22
- </style>
23
- <label for="search" class="mb-0"><span class="inner-label label"></span> <slot name="feedback"></slot>
24
- <div class="outer">
25
- <div class="wrapper">
26
-
27
- <slot name="checked"></slot>
28
- <input name="search" id="search" autocomplete="off" required part="search-input"/>
29
- <span class="admin-panel feedback">This field is required</span>
30
- <div class="admin-panel dropdown" part="dropdown">
31
- <slot></slot>
32
- </div>
33
- <button id="clear" class="btn btn-action "><span class="visually-hidden">Clear</span></button>
34
- </div>
35
- </div>
36
- </label>
17
+ template.innerHTML = `
18
+ <style>
19
+
20
+ ${loadCSS}
21
+ ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
22
+ </style>
23
+ <label for="search" class="mb-0"><span class="inner-label label"></span> <slot name="feedback"></slot>
24
+ <div class="outer">
25
+ <div class="wrapper">
26
+
27
+ <slot name="checked"></slot>
28
+ <input name="search" id="search" autocomplete="off" required part="search-input"/>
29
+ <span class="admin-panel feedback">This field is required</span>
30
+ <div class="admin-panel dropdown" part="dropdown">
31
+ <slot></slot>
32
+ </div>
33
+ <button id="clear" class="btn btn-action "><span class="visually-hidden">Clear</span></button>
34
+ </div>
35
+ </div>
36
+ </label>
37
37
  `;
38
38
  this.shadowRoot.appendChild(template.content.cloneNode(true));
39
39
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.7.1--beta6
2
+ * iamKey v7.7.1--beta7
3
3
  * Copyright 2022-2026 iamproperty
4
4
  *//*! js-cookie v3.0.5 | MIT */function g(n){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var d in o)n[d]=o[d]}return n}var y={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function f(n,e){function o(a,s,i){if(!(typeof document>"u")){i=g({},e,i),typeof i.expires=="number"&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&(i.expires=i.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var m="";for(var r in i)i[r]&&(m+="; "+r,i[r]!==!0&&(m+="="+i[r].split(";")[0]));return document.cookie=a+"="+n.write(s,a)+m}}function d(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var s=document.cookie?document.cookie.split("; "):[],i={},m=0;m<s.length;m++){var r=s[m].split("="),h=r.slice(1).join("=");try{var c=decodeURIComponent(r[0]);if(i[c]=n.read(h,c),a===c)break}catch{}}return a?i[a]:i}}return Object.create({set:o,get:d,remove:function(a,s){o(a,"",g({},s,{expires:-1}))},withAttributes:function(a){return f(this.converter,g({},this.attributes,a))},withConverter:function(a){return f(g({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(n)}})}var k=f(y,{path:"/"}),w=function(n,e,o,d){function a(s){return s instanceof o?s:new o(function(i){i(s)})}return new(o||(o=Promise))(function(s,i){function m(c){try{h(d.next(c))}catch(t){i(t)}}function r(c){try{h(d.throw(c))}catch(t){i(t)}}function h(c){c.done?s(c.value):a(c.value).then(m,r)}h((d=d.apply(n,e||[])).next())})};const v=(n,e)=>{Array.from(n.querySelectorAll('label:not([slot="checked"])')).forEach(o=>{const a=o.querySelector("input").value,s=o.textContent;a.toLowerCase().includes(e.value.toLowerCase())||s.toLowerCase().includes(e.value.toLowerCase())?o.removeAttribute("slot"):o.setAttribute("slot","notmatched")})},x=(n,e,o)=>w(void 0,void 0,void 0,function*(){const d=e.value,a=n.getAttribute("data-url"),s=n.querySelector("input");console.log(s);const i=s&&s.hasAttribute("type")?s.getAttribute("type"):"checkbox";let m=s&&s.hasAttribute("name")?s.getAttribute("name"):"tags";n.hasAttribute("data-name")&&(m=n.hasAttribute("data-name"));const r=`${a}?search_query=${encodeURI(d)}`;window.controller||(window.controller=[]),window.controller[r]&&window.controller[r].abort(),window.controller[r]=new AbortController;const{signal:h}=controller[r];try{yield fetch(r,{signal:h,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":k.get("XSRF-TOKEN")})}).then(c=>c.json()).then(c=>{let t="";for(let l=0;l<c.data.length;l++)n.querySelector(`[value="${c.data[l].value}"]`)||(t+=`<label class="tag dropdown__option"><input type="${i}" name="${n.hasAttribute("data-name")?n.getAttribute("data-name"):m}" value="${c.data[l].value}"/>${c.data[l].title}</label>`);return n.insertAdjacentHTML("beforeend",`${t}`),o(n,e),c})}catch(c){console.log(c)}}),A=(n,e)=>{e.addEventListener("keydown",o=>{var d;switch(o.keyCode){case 40:o.stopPropagation(),o.preventDefault(),(d=n.querySelector('label:not([slot="checked"]) input'))===null||d===void 0||d.focus();break}}),n.addEventListener("keydown",o=>{var d,a,s;const i=n.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input'),m=n.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');if(o&&o.target instanceof HTMLElement&&o.target.closest('a, button, summary, label:not([slot="checked"]) > input')){const r=document.activeElement,h=Array.from(i).indexOf(r)-1,c=Array.from(i).indexOf(r)+1;switch(o.keyCode){case 27:r.closest("details")?(o.stopPropagation(),o.preventDefault(),r.closest("details").removeAttribute("open"),r.closest("details").querySelector(":scope summary").focus()):o.stopPropagation();break;case 32:case 13:break;case 35:o.stopPropagation(),o.preventDefault(),(d=n.querySelector("details[open]"))===null||d===void 0||d.removeAttribute("open"),Array.from(m)[m.length-1].focus();break;case 36:o.stopPropagation(),o.preventDefault(),(a=n.querySelector("details[open]"))===null||a===void 0||a.removeAttribute("open"),Array.from(m)[0].focus();break;case 38:if(o.stopPropagation(),o.preventDefault(),Array.from(i).indexOf(r)>-1)Array.from(i)[h]!=null?Array.from(i)[h].focus():Array.from(i)[i.length-1].focus();else if(r.closest("details")){const t=r.closest("details").querySelectorAll("a, button, :scope details > summary");subPrevIndex=Array.from(t).indexOf(r)-1,Array.from(t)[subPrevIndex]!=null?Array.from(t)[subPrevIndex].focus():Array.from(t)[t.length-1].focus()}break;case 40:if(o.stopPropagation(),o.preventDefault(),Array.from(i).indexOf(r)>-1)Array.from(i)[c]!=null?Array.from(i)[c].focus():Array.from(i)[0].focus();else if(r.closest("details")){const t=(s=r.closest("details"))===null||s===void 0?void 0:s.querySelectorAll("a, button, :scope details > summary");subNextIndex=Array.from(t).indexOf(r)+1,Array.from(t)[subNextIndex]!=null?Array.from(t)[subNextIndex].focus():Array.from(t)[0].focus()}break}}})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"mutliselect"});class z 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>