@iamproperty/components 7.5.1--beta5 → 7.5.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 (196) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/applied-filters.css +1 -1
  6. package/assets/css/components/applied-filters.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -1
  8. package/assets/css/components/calendar.component.css.map +1 -1
  9. package/assets/css/components/card.component.css +1 -1
  10. package/assets/css/components/card.component.css.map +1 -1
  11. package/assets/css/components/fileupload.css +1 -1
  12. package/assets/css/components/fileupload.css.map +1 -1
  13. package/assets/css/components/input-range.component.css +1 -0
  14. package/assets/css/components/input-range.component.css.map +1 -0
  15. package/assets/css/components/input.component.css +1 -0
  16. package/assets/css/components/input.component.css.map +1 -0
  17. package/assets/css/components/modal.component.css +1 -0
  18. package/assets/css/components/modal.component.css.map +1 -0
  19. package/assets/css/components/multi-step-modal.component.css +1 -0
  20. package/assets/css/components/multi-step-modal.component.css.map +1 -0
  21. package/assets/css/components/multi-step-modal.global.css +1 -0
  22. package/assets/css/components/multi-step-modal.global.css.map +1 -0
  23. package/assets/css/components/multiselect.css +1 -1
  24. package/assets/css/components/multiselect.css.map +1 -1
  25. package/assets/css/components/nav.component.css +1 -1
  26. package/assets/css/components/nav.component.css.map +1 -1
  27. package/assets/css/components/pagination.css +1 -1
  28. package/assets/css/components/pagination.css.map +1 -1
  29. package/assets/css/components/password.component.css +1 -0
  30. package/assets/css/components/password.component.css.map +1 -0
  31. package/assets/css/components/slider.css +1 -1
  32. package/assets/css/components/slider.css.map +1 -1
  33. package/assets/css/components/tabs.component.css +1 -1
  34. package/assets/css/components/tabs.component.css.map +1 -1
  35. package/assets/css/components/tabs.config.css +1 -1
  36. package/assets/css/components/tabs.config.css.map +1 -1
  37. package/assets/css/core.min.css +1 -1
  38. package/assets/css/core.min.css.map +1 -1
  39. package/assets/css/mobile-core.min.css +1 -1
  40. package/assets/css/mobile-core.min.css.map +1 -1
  41. package/assets/css/mobile.min.css +1 -1
  42. package/assets/css/mobile.min.css.map +1 -1
  43. package/assets/css/style.min.css +1 -1
  44. package/assets/css/style.min.css.map +1 -1
  45. package/assets/js/components/accordion/accordion.component.js +1 -1
  46. package/assets/js/components/accordion/accordion.component.min.js +3 -3
  47. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  48. package/assets/js/components/actionbar/actionbar.component.js +2 -4
  49. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  50. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  51. package/assets/js/components/address-lookup/address-lookup.component.js +45 -0
  52. package/assets/js/components/address-lookup/address-lookup.component.min.js +12 -4
  53. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  54. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  55. package/assets/js/components/applied-filters/applied-filters.component.js +0 -2
  56. package/assets/js/components/applied-filters/applied-filters.component.min.js +5 -7
  57. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  58. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  59. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  60. package/assets/js/components/calendar/calendar.component.min.js +5 -5
  61. package/assets/js/components/card/card.component.min.js +8 -8
  62. package/assets/js/components/card/card.component.min.js.map +1 -1
  63. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  64. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  65. package/assets/js/components/content/content.component.min.js +1 -1
  66. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  67. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  68. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  69. package/assets/js/components/filter-card/filter-card.component.js +19 -0
  70. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  71. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  72. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  73. package/assets/js/components/header/header.component.min.js +1 -1
  74. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  75. package/assets/js/components/input/input.component.js +128 -0
  76. package/assets/js/components/input/input.component.min.js +16 -0
  77. package/assets/js/components/input/input.component.min.js.map +1 -0
  78. package/assets/js/components/input-range/input-range.component.js +62 -0
  79. package/assets/js/components/input-range/input-range.component.min.js +14 -0
  80. package/assets/js/components/input-range/input-range.component.min.js.map +1 -0
  81. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  82. package/assets/js/components/menu/menu.component.min.js +1 -1
  83. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  84. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  85. package/assets/js/components/modal/modal.component.js +141 -0
  86. package/assets/js/components/modal/modal.component.min.js +28 -0
  87. package/assets/js/components/modal/modal.component.min.js.map +1 -0
  88. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  89. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +233 -0
  90. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +17 -0
  91. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -0
  92. package/assets/js/components/multiselect/multiselect.component.js +1 -1
  93. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  94. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  95. package/assets/js/components/nav/nav.component.min.js +5 -5
  96. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  97. package/assets/js/components/notification/notification.component.min.js +1 -1
  98. package/assets/js/components/pagination/pagination.component.min.js +3 -3
  99. package/assets/js/components/password/password.component.js +93 -0
  100. package/assets/js/components/password/password.component.min.js +17 -0
  101. package/assets/js/components/password/password.component.min.js.map +1 -0
  102. package/assets/js/components/rank/rank.component.min.js +1 -1
  103. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  104. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  105. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  106. package/assets/js/components/search/search.component.js +1 -1
  107. package/assets/js/components/search/search.component.min.js +5 -5
  108. package/assets/js/components/search/search.component.min.js.map +1 -1
  109. package/assets/js/components/slider/slider.component.min.js +3 -3
  110. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  111. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +5 -1
  112. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +22 -9
  113. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  114. package/assets/js/components/table/table.component.min.js +3 -3
  115. package/assets/js/components/table/table.component.min.js.map +1 -1
  116. package/assets/js/components/table-ajax/table-ajax.component.min.js +4 -4
  117. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  118. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  119. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  120. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  121. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  122. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  123. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  124. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  125. package/assets/js/components/video-card/video-card.component.min.js +4 -4
  126. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  127. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  128. package/assets/js/modules/applied-filters.js +78 -61
  129. package/assets/js/modules/card.module.js +6 -1
  130. package/assets/js/modules/dialogs.js +6 -2
  131. package/assets/js/modules/password.js +72 -0
  132. package/assets/js/modules/table.js +10 -6
  133. package/assets/js/scripts.bundle.js +2 -3
  134. package/assets/js/scripts.bundle.js.map +1 -1
  135. package/assets/js/scripts.bundle.min.js +2 -2
  136. package/assets/js/scripts.bundle.min.js.map +1 -1
  137. package/assets/js/scripts.js +0 -2
  138. package/assets/js/tests/helpers.spec.js +54 -1
  139. package/assets/sass/_components.scss +2 -0
  140. package/assets/sass/_elements.scss +2 -0
  141. package/assets/sass/components/actionbar.component.scss +1 -0
  142. package/assets/sass/components/address-lookup.component.scss +24 -0
  143. package/assets/sass/components/applied-filters.scss +10 -14
  144. package/assets/sass/components/input-range.component.scss +38 -0
  145. package/assets/sass/components/input.component.scss +102 -0
  146. package/assets/sass/components/modal.component.scss +269 -0
  147. package/assets/sass/components/multi-step-modal.component.scss +255 -0
  148. package/assets/sass/components/multi-step-modal.global.scss +92 -0
  149. package/assets/sass/components/multiselect.scss +2 -2
  150. package/assets/sass/components/password.component.scss +60 -0
  151. package/assets/sass/components/tabs.config.scss +2 -2
  152. package/assets/sass/elements/badge-tag.scss +0 -1
  153. package/assets/sass/elements/details.scss +12 -7
  154. package/assets/sass/elements/dialog.scss +46 -5
  155. package/assets/sass/elements/forms.scss +41 -177
  156. package/assets/sass/elements/hr.scss +1 -1
  157. package/assets/sass/elements/modal.scss +19 -21
  158. package/assets/sass/elements/prefix.scss +115 -0
  159. package/assets/ts/components/accordion/accordion.component.ts +1 -1
  160. package/assets/ts/components/actionbar/actionbar.component.ts +3 -10
  161. package/assets/ts/components/address-lookup/address-lookup.component.ts +60 -0
  162. package/assets/ts/components/applied-filters/applied-filters.component.ts +0 -2
  163. package/assets/ts/components/filter-card/filter-card.component.ts +27 -0
  164. package/assets/ts/components/input/input.component.ts +168 -0
  165. package/assets/ts/components/input-range/input-range.component.ts +78 -0
  166. package/assets/ts/components/modal/modal.component.ts +188 -0
  167. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +304 -0
  168. package/assets/ts/components/multiselect/multiselect.component.ts +1 -1
  169. package/assets/ts/components/password/password.component.ts +118 -0
  170. package/assets/ts/components/search/search.component.ts +1 -1
  171. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +5 -3
  172. package/assets/ts/modules/applied-filters.ts +107 -71
  173. package/assets/ts/modules/card.module.ts +9 -4
  174. package/assets/ts/modules/dialogs.ts +6 -2
  175. package/assets/ts/modules/password.ts +82 -0
  176. package/assets/ts/modules/table.ts +13 -6
  177. package/assets/ts/scripts.ts +2 -2
  178. package/assets/ts/tests/helpers.spec.ts +100 -1
  179. package/dist/components.es.js +641 -959
  180. package/dist/components.umd.js +281 -182
  181. package/package.json +2 -2
  182. package/src/components/Input/Input.vue +19 -363
  183. package/src/components/InputRange/InputRange.vue +22 -0
  184. package/src/components/Modal/Modal.vue +22 -0
  185. package/src/components/MultiStepModal/MultiStepModal.vue +23 -0
  186. package/src/components/{PasswordIndicator/PasswordIndicator.vue → Password/Password.vue} +23 -23
  187. package/assets/js/components/password-indicator/password-indicator.component.js +0 -19
  188. package/assets/js/components/password-indicator/password-indicator.component.min.js +0 -7
  189. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +0 -1
  190. package/assets/js/modules/form.js +0 -125
  191. package/assets/js/modules/inputs.js +0 -151
  192. package/assets/js/modules/password-indicator.js +0 -21
  193. package/assets/ts/components/password-indicator/password-indicator.component.ts +0 -24
  194. package/assets/ts/modules/form.ts +0 -166
  195. package/assets/ts/modules/inputs.ts +0 -181
  196. package/assets/ts/modules/password-indicator.ts +0 -29
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * iamKey v7.5.1--beta7
3
+ * Copyright 2022-2025 iamproperty
4
+ */const w=m=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:m})};w("iam-iamPrefix");class k 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
+ <style>
6
+ @layer elements{:is(.prefix,.suffix){display:none}:is(.prefix,.suffix){--fa-display: flex;display:inline-block;display:flex;flex-direction:column;justify-content:center;align-items:center;width:auto;padding:0 0.75rem;font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-body);background-color:var(--colour-primary-theme);border:2px solid var(--colour-primary);color:var(--colour-white);margin:0 !important;border-end-start-radius:0.5rem;border-start-start-radius:0.5rem;min-width:calc(2.75rem + 4px);overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;position:relative;height:stretch;flex-shrink:0}:is(.prefix,.suffix):after{display:inline-block;max-width:1.25rem}:is(.prefix,.suffix)[class*=fa-]{width:calc(2.75rem + 4px);padding-inline:0}:is(.prefix,.suffix) select{position:absolute;inset:0;opacity:0;cursor:pointer}:is(.prefix,.suffix) span{display:none}:is(.prefix,.suffix) select:has(option:nth-child(1):checked)~span:nth-of-type(1),:is(.prefix,.suffix) select:has(option:nth-child(2):checked)~span:nth-of-type(2),:is(.prefix,.suffix) select:has(option:nth-child(3):checked)~span:nth-of-type(3),:is(.prefix,.suffix) select:has(option:nth-child(4):checked)~span:nth-of-type(4),:is(.prefix,.suffix) select:has(option:nth-child(5):checked)~span:nth-of-type(5),:is(.prefix,.suffix) select:has(option:nth-child(6):checked)~span:nth-of-type(6),:is(.prefix,.suffix) select:has(option:nth-child(7):checked)~span:nth-of-type(7),:is(.prefix,.suffix) select:has(option:nth-child(8):checked)~span:nth-of-type(8),:is(.prefix,.suffix) select:has(option:nth-child(9):checked)~span:nth-of-type(9),:is(.prefix,.suffix) select:has(option:nth-child(10):checked)~span:nth-of-type(10){display:block}:is(.prefix,.suffix) select~span:after{content:" \uF078";font-family:"Font Awesome 6 Pro";font-size:.8em;display:inline-block;padding-left:1em}:is(.prefix,.suffix) select:focus-visible~span:after{content:"\uF077"}.prefix{border-right:none}.suffix{border-left:none;border-end-start-radius:0;border-start-start-radius:0;border-start-end-radius:0.5rem !important;border-end-end-radius:0.5rem !important;order:2}.prefix span{display:none}.prefix span small{font-size:.8em}.prefix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output){border-end-start-radius:0 !important;border-start-start-radius:0 !important}}*,*::before,*::after{box-sizing:border-box}.wrapper{display:flex;margin-top:.5rem}:host{display:block;max-width:var(--input-max-width, 50rem)}::slotted(input){margin:0 !important}::slotted(input.has-prefix){margin:0 !important;border-start-start-radius:0 !important;border-end-start-radius:0 !important}::slotted(input.has-suffix){border-start-end-radius:0 !important;border-end-end-radius:0 !important}::slotted(input[type=color]){width:3rem !important;flex-shrink:0 !important;flex-grow:0 !important;border-start-end-radius:0 !important;border-end-end-radius:0 !important;padding:0 !important;overflow:hidden}::slotted(input[type=color])::-webkit-color-swatch{border-radius:0;border:none}::slotted(output){border-left:none !important;border-end-start-radius:0 !important;border-start-start-radius:0 !important;margin:0 !important}@layer elements{::slotted(select:is([slot=prefix],[slot=suffix])){--option-colour: red;margin:0 !important;padding-top:0 !important;padding-left:.25rem !important;padding-bottom:0 !important;padding-right:2rem !important;margin-right:0rem !important;border:none !important;height:100% !important;max-height:100% !important;min-height:100% !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;background-position:center right !important;background-size:1.25rem !important;background-repeat:no-repeat !important;background-color:var(--colour-primary) !important;color:var(--colour-white) !important;field-sizing:content !important}}.suffix[role=button]{cursor:pointer}/*# sourceMappingURL=assets/css/components/input.component.css.map */
7
+
8
+ </style>
9
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
10
+ <div class="wrapper" part="wrapper">
11
+ <span part="prefix"><slot name="prefix"></slot></span>
12
+ <slot></slot>
13
+ <slot part="suffix"><slot name="suffix"></slot></slot>
14
+ </div>
15
+ `,this.shadowRoot.appendChild(o.content.cloneNode(!0))}connectedCallback(){var o,r,n,d,l,p,c,u,f,h;const s=this,t=this.querySelector("input"),b=t?.hasAttribute("type")?t?.getAttribute("type"):"text",a=(o=this.shadowRoot)===null||o===void 0?void 0:o.querySelector('[part="prefix"]'),e=(r=this.shadowRoot)===null||r===void 0?void 0:r.querySelector('[part="suffix"]');this.closest("label")&&this.classList.add("mb-0");const x=i=>{switch(i){case"date":case"datetime-local":case"year":case"month":case"week":this.setAttribute("data-suffix-icon","calendar"),e?.setAttribute("role","button");break;case"time":this.setAttribute("data-suffix-icon","clock"),e?.setAttribute("role","button");break;default:this.removeAttribute("data-suffix-icon"),e?.removeAttribute("role");break}};if(x(b),t?.matches('[type="color"]')&&(this.insertAdjacentHTML("beforeend","<output></output>"),t.addEventListener("input",()=>{t.nextElementSibling.value=t.value})),this.hasAttribute("data-prefix-icon")&&(a==null||(a.className=`prefix fa-${this.hasAttribute("data-prefix-weight")?this.getAttribute("data-prefix-weight"):"regular"} fa-${this.getAttribute("data-prefix-icon")}`),(n=this.querySelector("input"))===null||n===void 0||n.classList.add("has-prefix")),this.hasAttribute("data-suffix-icon")&&(e==null||(e.className=`suffix fa-${this.hasAttribute("data-suffix-weight")?this.getAttribute("data-suffix-weight"):"regular"} fa-${this.getAttribute("data-suffix-icon")}`),(d=this.querySelector("input"))===null||d===void 0||d.classList.add("has-suffix")),!((l=this.shadowRoot.querySelector('[name="prefix"]'))===null||l===void 0)&&l.assignedElements().length&&((p=this.shadowRoot.querySelector('[name="prefix"]'))===null||p===void 0||p.classList.add("prefix"),(c=this.querySelector("input"))===null||c===void 0||c.classList.add("has-prefix")),!((u=this.shadowRoot.querySelector('[name="suffix"]'))===null||u===void 0)&&u.assignedElements().length&&((f=this.shadowRoot.querySelector('[name="suffix"]'))===null||f===void 0||f.classList.add("suffix"),(h=this.querySelector("input"))===null||h===void 0||h.classList.add("has-suffix")),this.querySelector("[data-change-type]")){const i=this.querySelector("[data-change-type]");i.addEventListener("change",()=>{t.setAttribute("type",i.value),x(i.value),this.getAttribute("data-suffix-icon")?(e==null||(e.className=`suffix fa-${this.hasAttribute("data-suffix-weight")?this.getAttribute("data-suffix-weight"):"regular"} fa-${this.getAttribute("data-suffix-icon")}`),t?.classList.add("has-suffix")):(e?.removeAttribute("class"),t?.classList.remove("has-suffix"))})}const v=(i,y)=>{const g=new Date(i.value).getUTCDay();y.includes(g)?i.setCustomValidity(""):i.setCustomValidity("That day of the week is not allowed")};if(t?.matches('[type="date"], [type="datetime-local"]')&&this.hasAttribute("data-allowed-days")){const i=JSON.parse(`[${this.getAttribute("data-allowed-days")}]`);v(t,i),t.addEventListener("input",()=>{v(t,i)})}e.addEventListener("click",function(){s?.querySelector('select[data-change-type][slot="suffix"]')||t.showPicker()}),a.addEventListener("click",function(){s?.querySelector('select[data-change-type][slot="prefix"]')||t.showPicker()})}}export{k as default};
16
+ //# sourceMappingURL=input.component.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.component.min.js","sources":["../_global.js","input.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamInput extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\">\n <div class=\"wrapper\" part=\"wrapper\">\n <span part=\"prefix\"><slot name=\"prefix\"></slot></span>\n <slot></slot>\n <slot part=\"suffix\"><slot name=\"suffix\"></slot></slot>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const component = this;\n const input = this.querySelector('input');\n const inputType = (input === null || input === void 0 ? void 0 : input.hasAttribute('type')) ? input === null || input === void 0 ? void 0 : input.getAttribute('type') : 'text';\n const prefixIcon = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part=\"prefix\"]');\n const suffixIcon = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[part=\"suffix\"]');\n if (this.closest('label'))\n this.classList.add('mb-0');\n const setIcon = (inputType) => {\n // Pre set the icons\n switch (inputType) {\n case \"date\":\n case \"datetime-local\":\n case \"year\":\n case \"month\":\n case \"week\":\n this.setAttribute('data-suffix-icon', 'calendar');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n case \"time\":\n this.setAttribute('data-suffix-icon', 'clock');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.setAttribute('role', 'button');\n break;\n default:\n this.removeAttribute('data-suffix-icon');\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('role');\n break;\n }\n };\n setIcon(inputType);\n // Colour input field\n if (input === null || input === void 0 ? void 0 : input.matches('[type=\"color\"]')) {\n this.insertAdjacentHTML('beforeend', `<output></output>`);\n input.addEventListener('input', () => {\n input.nextElementSibling.value = input.value;\n });\n }\n if (this.hasAttribute('data-prefix-icon')) {\n prefixIcon === null || prefixIcon === void 0 ? void 0 : prefixIcon.className = `prefix fa-${this.hasAttribute('data-prefix-weight') ? this.getAttribute('data-prefix-weight') : 'regular'} fa-${this.getAttribute('data-prefix-icon')}`;\n (_c = this.querySelector('input')) === null || _c === void 0 ? void 0 : _c.classList.add('has-prefix');\n }\n if (this.hasAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n (_d = this.querySelector('input')) === null || _d === void 0 ? void 0 : _d.classList.add('has-suffix');\n }\n if ((_e = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _e === void 0 ? void 0 : _e.assignedElements().length) {\n (_f = this.shadowRoot.querySelector('[name=\"prefix\"]')) === null || _f === void 0 ? void 0 : _f.classList.add('prefix');\n (_g = this.querySelector('input')) === null || _g === void 0 ? void 0 : _g.classList.add('has-prefix');\n }\n if ((_h = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _h === void 0 ? void 0 : _h.assignedElements().length) {\n (_j = this.shadowRoot.querySelector('[name=\"suffix\"]')) === null || _j === void 0 ? void 0 : _j.classList.add('suffix');\n (_k = this.querySelector('input')) === null || _k === void 0 ? void 0 : _k.classList.add('has-suffix');\n }\n // Change type\n if (this.querySelector('[data-change-type]')) {\n const select = this.querySelector('[data-change-type]');\n select.addEventListener('change', () => {\n input.setAttribute('type', select.value);\n setIcon(select.value);\n if (this.getAttribute('data-suffix-icon')) {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.className = `suffix fa-${this.hasAttribute('data-suffix-weight') ? this.getAttribute('data-suffix-weight') : 'regular'} fa-${this.getAttribute('data-suffix-icon')}`;\n input === null || input === void 0 ? void 0 : input.classList.add('has-suffix');\n }\n else {\n suffixIcon === null || suffixIcon === void 0 ? void 0 : suffixIcon.removeAttribute('class');\n input === null || input === void 0 ? void 0 : input.classList.remove('has-suffix');\n }\n });\n }\n // #region Date restrictions\n const today = new Date();\n function formatDate(date, type = \"date\") {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n if (type == \"datetime-local\")\n return `${year}-${month}-${day}T00:00:00`;\n return `${year}-${month}-${day}`;\n }\n const checkDayAllowed = (input, allowedDays) => {\n const day = new Date(input.value).getUTCDay();\n if (allowedDays.includes(day))\n input.setCustomValidity('');\n else\n input.setCustomValidity('That day of the week is not allowed');\n };\n if ((input === null || input === void 0 ? void 0 : input.matches('[type=\"date\"], [type=\"datetime-local\"]')) && this.hasAttribute('data-allowed-days')) {\n const allowedDays = JSON.parse(`[${this.getAttribute('data-allowed-days')}]`);\n checkDayAllowed(input, allowedDays);\n input.addEventListener('input', () => { checkDayAllowed(input, allowedDays); });\n }\n // #endregion\n suffixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"suffix\"]')))\n input.showPicker();\n });\n prefixIcon.addEventListener('click', function () {\n if (!(component === null || component === void 0 ? void 0 : component.querySelector('select[data-change-type][slot=\"prefix\"]')))\n input.showPicker();\n });\n }\n}\nexport default iamInput;\n"],"names":["trackComponentRegistered","componentName","iamInput","template","_a","_b","_c","_d","_e","_f","_g","_h","_j","_k","component","input","inputType","prefixIcon","suffixIcon","setIcon","select","checkDayAllowed","allowedDays","day"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { trackComponentRegistered } from '../_global.js';
2
+ trackComponentRegistered('iam-iamPrefix');
3
+ class iamDaterange extends HTMLElement {
4
+ constructor() {
5
+ super();
6
+ this.attachShadow({ mode: 'open' });
7
+ const assetLocation = document.body.hasAttribute('data-assets-location')
8
+ ? document.body.getAttribute('data-assets-location')
9
+ : '/assets';
10
+ const loadCSS = `@import "${assetLocation}/css/components/input-range.component.css";`;
11
+ const template = document.createElement('template');
12
+ template.innerHTML = `
13
+ <style>
14
+ ${loadCSS}
15
+ </style>
16
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
17
+ <div class="wrapper" part="wrapper">
18
+ <slot></slot>
19
+ </div>
20
+ `;
21
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
22
+ }
23
+ connectedCallback() {
24
+ const inputs = this.querySelectorAll('input,select');
25
+ if (inputs.length > 1) {
26
+ const setMinMax = () => {
27
+ const min = inputs[0].value;
28
+ let max = inputs[1].value;
29
+ // Make sure the second input/select is always higher than the first input/select
30
+ if (parseInt(inputs[1].value) < parseInt(inputs[0].value)) {
31
+ max = min;
32
+ inputs[1].value = min;
33
+ }
34
+ // First input/select
35
+ if (inputs[0].matches('input'))
36
+ inputs[0].setAttribute('max', max);
37
+ if (inputs[0].matches('select')) {
38
+ Array.from(inputs[0].querySelectorAll('option')).forEach((option) => {
39
+ if (parseInt(option.getAttribute('value')) > max)
40
+ option.classList.add('d-none');
41
+ else
42
+ option.classList.remove('d-none');
43
+ });
44
+ }
45
+ // Second input/select
46
+ if (inputs[1].matches('input'))
47
+ inputs[1].setAttribute('min', min);
48
+ Array.from(inputs[1].querySelectorAll('option')).forEach((option) => {
49
+ if (parseInt(option.getAttribute('value')) < min)
50
+ option.classList.add('d-none');
51
+ else
52
+ option.classList.remove('d-none');
53
+ });
54
+ };
55
+ setMinMax();
56
+ this.addEventListener('change', () => {
57
+ setMinMax();
58
+ });
59
+ }
60
+ }
61
+ }
62
+ export default iamDaterange;
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * iamKey v7.5.1--beta7
3
+ * Copyright 2022-2025 iamproperty
4
+ */const n=r=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:r})};n("iam-iamPrefix");class i extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
5
+ <style>
6
+ :host{margin-bottom:1.5rem;display:block}.wrapper{display:flex;max-width:var(--input-max-width, 50rem);gap:calc(var(--gap, 1rem)/2);align-items:center}::slotted(*){flex-grow:1 !important;flex-shrink:1 !important;flex-basis:50% !important;margin-bottom:0 !important}::slotted(:first-child){order:1}::slotted(:last-child){order:3}.wrapper:before{content:"";order:2;width:calc(var(--gap, 1rem)*1.5);height:2px;background-color:var(--colour-border);margin-top:.5rem}/*# sourceMappingURL=assets/css/components/input-range.component.css.map */
7
+
8
+ </style>
9
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
10
+ <div class="wrapper" part="wrapper">
11
+ <slot></slot>
12
+ </div>
13
+ `,this.shadowRoot.appendChild(e.content.cloneNode(!0))}connectedCallback(){const e=this.querySelectorAll("input,select");if(e.length>1){const o=()=>{const a=e[0].value;let s=e[1].value;parseInt(e[1].value)<parseInt(e[0].value)&&(s=a,e[1].value=a),e[0].matches("input")&&e[0].setAttribute("max",s),e[0].matches("select")&&Array.from(e[0].querySelectorAll("option")).forEach(t=>{parseInt(t.getAttribute("value"))>s?t.classList.add("d-none"):t.classList.remove("d-none")}),e[1].matches("input")&&e[1].setAttribute("min",a),Array.from(e[1].querySelectorAll("option")).forEach(t=>{parseInt(t.getAttribute("value"))<a?t.classList.add("d-none"):t.classList.remove("d-none")})};o(),this.addEventListener("change",()=>{o()})}}}export{i as default};
14
+ //# sourceMappingURL=input-range.component.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-range.component.min.js","sources":["../_global.js","input-range.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-iamPrefix');\nclass iamDaterange extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/input-range.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\">\n <div class=\"wrapper\" part=\"wrapper\">\n <slot></slot>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const inputs = this.querySelectorAll('input,select');\n if (inputs.length > 1) {\n const setMinMax = () => {\n const min = inputs[0].value;\n let max = inputs[1].value;\n // Make sure the second input/select is always higher than the first input/select\n if (parseInt(inputs[1].value) < parseInt(inputs[0].value)) {\n max = min;\n inputs[1].value = min;\n }\n // First input/select\n if (inputs[0].matches('input'))\n inputs[0].setAttribute('max', max);\n if (inputs[0].matches('select')) {\n Array.from(inputs[0].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) > max)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n }\n // Second input/select\n if (inputs[1].matches('input'))\n inputs[1].setAttribute('min', min);\n Array.from(inputs[1].querySelectorAll('option')).forEach((option) => {\n if (parseInt(option.getAttribute('value')) < min)\n option.classList.add('d-none');\n else\n option.classList.remove('d-none');\n });\n };\n setMinMax();\n this.addEventListener('change', () => {\n setMinMax();\n });\n }\n }\n}\nexport default iamDaterange;\n"],"names":["trackComponentRegistered","componentName","iamDaterange","template","inputs","setMinMax","min","max","option"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,eAAe,EACxC,MAAME,UAAqB,WAAY,CACnC,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,MAAMC,EAAS,KAAK,iBAAiB,cAAc,EACnD,GAAIA,EAAO,OAAS,EAAG,CACnB,MAAMC,EAAY,IAAM,CACpB,MAAMC,EAAMF,EAAO,CAAC,EAAE,MACtB,IAAIG,EAAMH,EAAO,CAAC,EAAE,MAEhB,SAASA,EAAO,CAAC,EAAE,KAAK,EAAI,SAASA,EAAO,CAAC,EAAE,KAAK,IACpDG,EAAMD,EACNF,EAAO,CAAC,EAAE,MAAQE,GAGlBF,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOG,CAAG,EACjCH,EAAO,CAAC,EAAE,QAAQ,QAAQ,GAC1B,MAAM,KAAKA,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAID,EACzCC,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,EAGDJ,EAAO,CAAC,EAAE,QAAQ,OAAO,GACzBA,EAAO,CAAC,EAAE,aAAa,MAAOE,CAAG,EACrC,MAAM,KAAKF,EAAO,CAAC,EAAE,iBAAiB,QAAQ,CAAC,EAAE,QAASI,GAAW,CAC7D,SAASA,EAAO,aAAa,OAAO,CAAC,EAAIF,EACzCE,EAAO,UAAU,IAAI,QAAQ,EAE7BA,EAAO,UAAU,OAAO,QAAQ,CACxC,CAAC,CACL,EACAH,EAAS,EACT,KAAK,iBAAiB,SAAU,IAAM,CAClCA,EAAS,CACb,CAAC,CACL,CACJ,CACJ"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta7
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Marketing"});class e extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta7
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */class p 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,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta7
3
3
  * Copyright 2022-2025 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.5.1--beta5
2
+ * iamKey v7.5.1--beta7
3
3
  * Copyright 2022-2025 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>
@@ -0,0 +1,141 @@
1
+ import { trackComponentRegistered } from '../_global.js';
2
+ trackComponentRegistered('iam-card');
3
+ class iamModal extends HTMLElement {
4
+ constructor() {
5
+ super();
6
+ this.attachShadow({ mode: 'open' });
7
+ const assetLocation = document.body.hasAttribute('data-assets-location')
8
+ ? document.body.getAttribute('data-assets-location')
9
+ : '/assets';
10
+ const loadCSS = `@import "${assetLocation}/css/components/modal.component.css";`;
11
+ const template = document.createElement('template');
12
+ template.innerHTML = `
13
+ <style>
14
+ ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
15
+
16
+ ${loadCSS}
17
+ </style>
18
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
19
+ <dialog>
20
+ <button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>
21
+ <div class="scroll">
22
+ <i class="fa-light fa-circle" aria-hidden="true">
23
+ <i class="fa-regular fa-${this.hasAttribute('data-icon') ? this.getAttribute('data-icon') : 'info'}" aria-hidden="true"></i>
24
+ </i>
25
+ <slot></slot>
26
+ <div class="btn-group">
27
+ <button class="btn btn-secondary" data-cancel>Cancel</button>
28
+ <slot name="agreed-button">
29
+ <button class="btn btn-primary" data-agreed>${this.hasAttribute('data-agreed-text') ? this.getAttribute('data-agreed-text') : 'Ok'}</button>
30
+ </slot>
31
+ </div>
32
+ </div>
33
+ </dialog>
34
+ `;
35
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
36
+ }
37
+ connectedCallback() {
38
+ var _a, _b, _c, _d;
39
+ const originalDialog = this.querySelector('dialog');
40
+ const id = this.hasAttribute('id') ? this.getAttribute('id') : originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.getAttribute('id');
41
+ const dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dialog');
42
+ const closeButton = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[data-close]');
43
+ const cancelButton = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[data-cancel]');
44
+ const agreedButton = (_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('[data-agreed]');
45
+ const slottedAgreedButton = this.querySelector('button[slot="agreed-button"]');
46
+ const modalType = this.hasAttribute('data-type') ? this.getAttribute('data-type') : 'passive';
47
+ const openModal = () => {
48
+ dialog === null || dialog === void 0 ? void 0 : dialog.showModal();
49
+ dialog === null || dialog === void 0 ? void 0 : dialog.focus();
50
+ const closeEvent = new CustomEvent('modal-opened', {
51
+ bubbles: true,
52
+ cancelable: true,
53
+ detail: { modalId: id },
54
+ });
55
+ this.dispatchEvent(closeEvent);
56
+ window.dataLayer = window.dataLayer || [];
57
+ window.dataLayer.push({
58
+ event: 'openModal',
59
+ id: id,
60
+ });
61
+ };
62
+ document.addEventListener('click', (e) => {
63
+ if (e.target.matches(`[command="show-modal"][commandfor="${id}"]`) || e.target.matches(`[data-modal="${id}"]`)) {
64
+ openModal();
65
+ }
66
+ });
67
+ // Disable the original event
68
+ originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {
69
+ if (event.command == "show-modal") {
70
+ e.preventDefault();
71
+ }
72
+ });
73
+ originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('command', (e) => {
74
+ if (event.command == "close") {
75
+ closeModal();
76
+ }
77
+ });
78
+ originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('close', (e) => {
79
+ closeModal();
80
+ });
81
+ // Move the submit button so that the slot functionality works
82
+ Array.from(originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.querySelectorAll('[slot]')).forEach((element) => {
83
+ this.moveBefore(element, originalDialog);
84
+ });
85
+ const closeModal = () => {
86
+ dialog === null || dialog === void 0 ? void 0 : dialog.close();
87
+ const closeEvent = new CustomEvent('modal-closed', {
88
+ bubbles: true,
89
+ cancelable: true,
90
+ detail: { modalId: id },
91
+ });
92
+ this.dispatchEvent(closeEvent);
93
+ window.dataLayer = window.dataLayer || [];
94
+ window.dataLayer.push({
95
+ event: 'closeModal',
96
+ id: id,
97
+ });
98
+ };
99
+ closeButton === null || closeButton === void 0 ? void 0 : closeButton.addEventListener('click', () => {
100
+ closeModal();
101
+ });
102
+ cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.addEventListener('click', () => {
103
+ closeModal();
104
+ });
105
+ agreedButton === null || agreedButton === void 0 ? void 0 : agreedButton.addEventListener('click', () => {
106
+ const agreedEvent = new CustomEvent('agreed', {
107
+ detail: { modalId: id },
108
+ });
109
+ this.dispatchEvent(agreedEvent);
110
+ closeModal();
111
+ });
112
+ slottedAgreedButton === null || slottedAgreedButton === void 0 ? void 0 : slottedAgreedButton.addEventListener('click', () => {
113
+ const agreedEvent = new CustomEvent('agreed', {
114
+ detail: { modalId: id },
115
+ });
116
+ this.dispatchEvent(agreedEvent);
117
+ closeModal();
118
+ });
119
+ this.addEventListener('close-modal', () => {
120
+ closeModal();
121
+ });
122
+ this.addEventListener('click', (event) => {
123
+ // Small fix to make sure the dialog isn't a dialog inside of a dialog.
124
+ const style = window.getComputedStyle(dialog);
125
+ if (style.display === 'contents')
126
+ dialog = dialog.parentNode.closest('dialog[open]');
127
+ // Dont allow the backdrop to be clicked when transactional
128
+ if (modalType != 'transactional' && modalType != 'acknowledgement') {
129
+ const dialogDimensions = dialog.getBoundingClientRect();
130
+ if (event.clientX < dialogDimensions.left ||
131
+ event.clientX > dialogDimensions.right ||
132
+ event.clientY < dialogDimensions.top ||
133
+ event.clientY > dialogDimensions.bottom) {
134
+ if (!event.target.closest('dialog *'))
135
+ closeModal(); // Weird bug when interacting with radio input fields within dialogs cuases it to close
136
+ }
137
+ }
138
+ });
139
+ }
140
+ }
141
+ export default iamModal;
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * iamKey v7.5.1--beta7
3
+ * Copyright 2022-2025 iamproperty
4
+ */const u=h=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:h})};u("iam-card");class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const i=document.createElement("template");i.innerHTML=`
5
+ <style>
6
+ ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
7
+
8
+ @layer elements{body:not(.js-enabled) dialog:not([open]):target{display:block}dialog{--dialog-padding: 1.5rem;--mh-padding-inline: var(--dialog-padding);color:inherit;width:fit-content;height:fit-content;border:none;overscroll-behavior:contain;background:var(--colour-canvas-2);box-shadow:0px 2px 9px rgba(0,0,0,.11);border-radius:0.625rem;padding:var(--dialog-padding);outline:var(--contrast-outline-width, 0px) solid var(--colour-primary)}dialog>*:last-child{margin-bottom:0}dialog>:is(p):last-child{padding-bottom:0}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}dialog[open]{display:flex;flex-direction:column}*:not(.dialog__wrapper)>dialog[open]:not([popover]){overflow-y:auto;width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain}@media screen and (min-width: 36em){*:not(.dialog__wrapper)>dialog[open]:not([popover]){--dialog-padding: 2rem;padding:var(--dialog-padding);min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){*:not(.dialog__wrapper)>dialog[open]:not([popover]){min-width:28.375rem;width:fit-content;max-width:46rem}}details.bg-light{margin-inline:calc(var(--dialog-padding)*-1);padding-inline:var(--dialog-padding)}}@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 0.125rem;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:500;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.colour-success{--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success:before,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 6 Pro";margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn[class*=fa-]:before{content:var(--fa);font-family:"Font Awesome 6 Pro";line-height:1em}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:0.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{font-family:"Font Awesome 6 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]:not(:first-child){margin-left:1rem;margin-right:0}.btn.btn--prompt:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt:after,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active):after{margin-left:1.5rem;margin-right:-0.5rem}.btn:has(select){position:relative;padding-right:3.5rem}.btn:has(select) select{all:unset !important;margin:calc(-0.75rem) calc(-2.5rem) !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:3.5rem !important;margin-right:-3.5rem !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;max-width:100% !important;outline:none;font-weight:500;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important;field-sizing:content !important}.btn:has(select) select option{padding:0;text-align:left;color:var(--colour-primary)}.btn:has(select):after{position:absolute;top:0.625rem;right:2rem;content:"";height:1.5rem;width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem;transform:rotate(90deg);pointer-events:none}.btn:has(select).active:after{transform:rotate(-90deg)}.btn:has(select:focus):after{transform:rotate(-90deg)}.btn-filter:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:"Font Awesome 6 Pro"}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary)}.btn-secondary:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:rgba(0,0,0,0);border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}@layer elements{.btn-action{--btn-border-width: 0.0625rem;--btn-padding-block: 0.3125rem;--btn-padding-inline: 0.3125rem;--btn-margin: 0.5rem}.btn-action:not(.btn-primary){color:var(--colour-heading)}.btn-action:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}.btn-action{border-radius:0.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem}.btn-action.btn[class*=fa-]:before{content:var(--fa);margin-right:0.375rem}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) .btn-action,.btn-action:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}.btn-action:not(.btn-compact).fa-compact-only:before{display:none !important}.btn:has(select){padding-block:0;padding-right:2rem}.btn:has(select) select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important}.btn:has(select):after{top:.2rem;right:0.5rem}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:0.5rem}.btn-compact:not(:last-child){margin-right:0.5rem}.btn-compact{text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;line-height:var(--compact-size) !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem}.btn-compact:before{content:var(--fa);position:absolute;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - 0.25rem);font-weight:900}.btn-compact[class*=fa-]:before{line-height:calc(var(--compact-size) - 0.25rem)}@container style(--theme: dark){.btn-compact[class*=fa-]:before{color:#fff}}.btn-compact.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}.btn-compact.btn-action{--compact-size: 2rem;font-size:1rem}.btn-compact.btn-action:before{font-size:1em;font-weight:400}.btn-compact.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:rgba(0,0,0,0)}.btn-compact.btn-secondary:not([class*=colour-]){--colour: var(--colour-light)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse):is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}.btn-compact[data-number]{position:relative}.btn-compact[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:#fff;letter-spacing:-0.1em;font-family:arial,sans-serif}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse){background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse){background-color:rgba(0,0,0,0);border-color:var(--colour-inverted) !important;color:var(--colour-inverted)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary[disabled],.invert-colours .btn-compact.btn-secondary[disabled]{background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme) !important}}:host{overscroll-behavior:contain;display:block;container-type:inline-size}::slotted(dialog){display:contents !important}::slotted(button){margin:0 !important}dialog[open]{width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain;overflow-y:hidden}@media screen and (min-width: 36em){dialog[open]{--dialog-padding: 2rem;min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){dialog[open]{min-width:28.375rem;width:fit-content;max-width:46rem}}dialog[open]::before{content:"";top:.75rem;bottom:auto;left:0;right:6px;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(0deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog[open]::after{content:"";top:auto;bottom:.75rem;left:0;right:6px;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog[open] .scroll{margin-inline:calc(var(--dialog-padding)*-1);margin-block:calc((var(--dialog-padding) - .75rem)*-1);padding-inline:var(--dialog-padding);padding-block:calc(var(--dialog-padding) - .75rem);height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;position:relative;z-index:1}dialog[open] .scroll .fa-circle{display:none}dialog[open]>button:first-child{position:absolute;top:calc(var(--dialog-padding) - .75rem);right:6px;z-index:var(--index-floating);margin:0}dialog[open]>button:first-child:not(:hover,:focus,:active){background-color:Canvas}@container (min-width: 36em){dialog[open]>button:first-child{right:calc(var(--dialog-padding) - .75rem)}}dialog[open]:has(.youtube-embed){padding:0 !important}dialog[open].dialog--fullwidth{max-width:69.5rem}dialog[open] .btn-group{display:none}@media screen and (min-width: 36em){:host(.modal--sm) dialog[open]{min-width:20.9375rem;width:20.9375rem;max-width:20.9375rem}}@media screen and (min-width: 62em){:host(.modal--sm) dialog[open]{min-width:28.375rem;width:28.375rem;max-width:28.375rem}}@media screen and (min-width: 36em){:host(.modal--lg) dialog[open]{min-width:42.875rem;width:42.875rem;max-width:42.875rem}}@media screen and (min-width: 62em){:host(.modal--lg) dialog[open]{min-width:46rem;width:46rem;max-width:46rem}}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:rgba(0,0,0,0);border-top:4px solid rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background-color:#c1c1c1;width:6px;border-radius:3px}::slotted(p:last-child){padding-bottom:0 !important}::slotted(p:last-of-type){padding-bottom:0 !important}::slotted(:last-child){margin-bottom:0 !important}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]{text-align:center}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{display:var(--fa-display, block);line-height:1;font-size:3rem;height:3rem;width:3rem;margin-top:0;margin-bottom:1.5rem;line-height:1;color:var(--colour-heading);margin-inline:auto}@media screen and (min-width: 62em){:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{font-size:4rem;height:4rem;width:4rem}}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle:has(>i){position:relative}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle>i:before{position:absolute;top:0;left:50%;transform:scale(0.5) translate(-100%, 0)}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]>button:first-child{display:none}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn-group{display:flex;justify-content:center;gap:var(--gap);padding-top:2rem}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn-group button{margin:0}@container (max-width: 36em){:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn-group{display:flex;flex-direction:column-reverse}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn-group button{display:block;width:100%;max-width:100%;min-width:100%;text-align:center}}:host([data-type=acknowledgement]) dialog[open] .btn-group [data-cancel]{display:none}/*# sourceMappingURL=assets/css/components/modal.component.css.map */
9
+
10
+ </style>
11
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous" />
12
+ <dialog>
13
+ <button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>
14
+ <div class="scroll">
15
+ <i class="fa-light fa-circle" aria-hidden="true">
16
+ <i class="fa-regular fa-${this.hasAttribute("data-icon")?this.getAttribute("data-icon"):"info"}" aria-hidden="true"></i>
17
+ </i>
18
+ <slot></slot>
19
+ <div class="btn-group">
20
+ <button class="btn btn-secondary" data-cancel>Cancel</button>
21
+ <slot name="agreed-button">
22
+ <button class="btn btn-primary" data-agreed>${this.hasAttribute("data-agreed-text")?this.getAttribute("data-agreed-text"):"Ok"}</button>
23
+ </slot>
24
+ </div>
25
+ </div>
26
+ </dialog>
27
+ `,this.shadowRoot.appendChild(i.content.cloneNode(!0))}connectedCallback(){var i,d,c,l;const o=this.querySelector("dialog"),a=this.hasAttribute("id")?this.getAttribute("id"):o?.getAttribute("id"),e=(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector("dialog"),s=(d=this.shadowRoot)===null||d===void 0?void 0:d.querySelector("[data-close]"),b=(c=this.shadowRoot)===null||c===void 0?void 0:c.querySelector("[data-cancel]"),m=(l=this.shadowRoot)===null||l===void 0?void 0:l.querySelector("[data-agreed]"),g=this.querySelector('button[slot="agreed-button"]'),p=this.hasAttribute("data-type")?this.getAttribute("data-type"):"passive",v=()=>{e?.showModal(),e?.focus();const t=new CustomEvent("modal-opened",{bubbles:!0,cancelable:!0,detail:{modalId:a}});this.dispatchEvent(t),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:a})};document.addEventListener("click",t=>{(t.target.matches(`[command="show-modal"][commandfor="${a}"]`)||t.target.matches(`[data-modal="${a}"]`))&&v()}),o?.addEventListener("command",t=>{event.command=="show-modal"&&t.preventDefault()}),o?.addEventListener("command",t=>{event.command=="close"&&n()}),o?.addEventListener("close",t=>{n()}),Array.from(o?.querySelectorAll("[slot]")).forEach(t=>{this.moveBefore(t,o)});const n=()=>{e?.close();const t=new CustomEvent("modal-closed",{bubbles:!0,cancelable:!0,detail:{modalId:a}});this.dispatchEvent(t),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:a})};s?.addEventListener("click",()=>{n()}),b?.addEventListener("click",()=>{n()}),m?.addEventListener("click",()=>{const t=new CustomEvent("agreed",{detail:{modalId:a}});this.dispatchEvent(t),n()}),g?.addEventListener("click",()=>{const t=new CustomEvent("agreed",{detail:{modalId:a}});this.dispatchEvent(t),n()}),this.addEventListener("close-modal",()=>{n()}),this.addEventListener("click",t=>{if(window.getComputedStyle(e).display==="contents"&&(e=e.parentNode.closest("dialog[open]")),p!="transactional"&&p!="acknowledgement"){const r=e.getBoundingClientRect();(t.clientX<r.left||t.clientX>r.right||t.clientY<r.top||t.clientY>r.bottom)&&(t.target.closest("dialog *")||n())}})}}export{f as default};
28
+ //# sourceMappingURL=modal.component.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.component.min.js","sources":["../_global.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","import { trackComponentRegistered } from '../_global.js';\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/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <dialog>\n <button class=\"btn btn-compact btn-secondary fa-xmark-large\" data-close>Close</button>\n <div class=\"scroll\">\n <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 <slot></slot>\n <div class=\"btn-group\">\n <button class=\"btn btn-secondary\" data-cancel>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') : 'Ok'}</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;\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 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 cancelButton = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[data-cancel]');\n const agreedButton = (_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('[data-agreed]');\n const slottedAgreedButton = this.querySelector('button[slot=\"agreed-button\"]');\n const modalType = this.hasAttribute('data-type') ? this.getAttribute('data-type') : 'passive';\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 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 // 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 if (event.command == \"close\") {\n closeModal();\n }\n });\n originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.addEventListener('close', (e) => {\n closeModal();\n });\n // Move the submit button so that the slot functionality works\n Array.from(originalDialog === null || originalDialog === void 0 ? void 0 : originalDialog.querySelectorAll('[slot]')).forEach((element) => {\n this.moveBefore(element, originalDialog);\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 cancelButton === null || cancelButton === void 0 ? void 0 : cancelButton.addEventListener('click', () => {\n closeModal();\n });\n agreedButton === null || agreedButton === void 0 ? void 0 : agreedButton.addEventListener('click', () => {\n const agreedEvent = new CustomEvent('agreed', {\n detail: { modalId: id },\n });\n this.dispatchEvent(agreedEvent);\n closeModal();\n });\n slottedAgreedButton === null || slottedAgreedButton === void 0 ? void 0 : slottedAgreedButton.addEventListener('click', () => {\n const agreedEvent = new CustomEvent('agreed', {\n detail: { modalId: id },\n });\n this.dispatchEvent(agreedEvent);\n closeModal();\n });\n this.addEventListener('close-modal', () => {\n closeModal();\n });\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(); // Weird bug when interacting with radio input fields within dialogs cuases it to close\n }\n }\n });\n }\n}\nexport default iamModal;\n"],"names":["trackComponentRegistered","componentName","iamModal","template","_a","_b","_c","_d","originalDialog","id","dialog","closeButton","cancelButton","agreedButton","slottedAgreedButton","modalType","openModal","closeEvent","e","closeModal","element","agreedEvent","event","dialogDimensions"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECNAD,EAAyB,UAAU,EACnC,MAAME,UAAiB,WAAY,CAC/B,aAAc,CACV,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAGvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA,MAEvB,KAAK,aAAa,KAAK,EAAI,YAAY,KAAK,aAAa,KAAK,CAAC,KAAO,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAS1C,KAAK,aAAa,WAAW,EAAI,KAAK,aAAa,WAAW,EAAI,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0DAMlD,KAAK,aAAa,kBAAkB,EAAI,KAAK,aAAa,kBAAkB,EAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,MAMtI,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,CAChE,CACA,mBAAoB,CAChB,IAAIC,EAAIC,EAAIC,EAAIC,EAChB,MAAMC,EAAiB,KAAK,cAAc,QAAQ,EAC5CC,EAAK,KAAK,aAAa,IAAI,EAAI,KAAK,aAAa,IAAI,EAAoED,GAAe,aAAa,IAAI,EACzJE,GAAUN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,QAAQ,EAC9FO,GAAeN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,cAAc,EACzGO,GAAgBN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,eAAe,EAC3GO,GAAgBN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,eAAe,EAC3GO,EAAsB,KAAK,cAAc,8BAA8B,EACvEC,EAAY,KAAK,aAAa,WAAW,EAAI,KAAK,aAAa,WAAW,EAAI,UAC9EC,EAAY,IAAM,CAC4BN,GAAO,UAAS,EAChBA,GAAO,MAAK,EAC5D,MAAMO,EAAa,IAAI,YAAY,eAAgB,CAC/C,QAAS,GACT,WAAY,GACZ,OAAQ,CAAE,QAASR,CAAE,CACrC,CAAa,EACD,KAAK,cAAcQ,CAAU,EAC7B,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,YACP,GAAIR,CACpB,CAAa,CACL,EACA,SAAS,iBAAiB,QAAUS,GAAM,EAClCA,EAAE,OAAO,QAAQ,sCAAsCT,CAAE,IAAI,GAAKS,EAAE,OAAO,QAAQ,gBAAgBT,CAAE,IAAI,IACzGO,EAAS,CAEjB,CAAC,EAE+DR,GAAe,iBAAiB,UAAYU,GAAM,CAC1G,MAAM,SAAW,cACjBA,EAAE,eAAc,CAExB,CAAC,EAC+DV,GAAe,iBAAiB,UAAYU,GAAM,CAC1G,MAAM,SAAW,SACjBC,EAAU,CAElB,CAAC,EAC+DX,GAAe,iBAAiB,QAAUU,GAAM,CAC5GC,EAAU,CACd,CAAC,EAED,MAAM,KAAqEX,GAAe,iBAAiB,QAAQ,CAAC,EAAE,QAASY,GAAY,CACvI,KAAK,WAAWA,EAASZ,CAAc,CAC3C,CAAC,EACD,MAAMW,EAAa,IAAM,CAC2BT,GAAO,MAAK,EAC5D,MAAMO,EAAa,IAAI,YAAY,eAAgB,CAC/C,QAAS,GACT,WAAY,GACZ,OAAQ,CAAE,QAASR,CAAE,CACrC,CAAa,EACD,KAAK,cAAcQ,CAAU,EAC7B,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,aACP,GAAIR,CACpB,CAAa,CACL,EAC0DE,GAAY,iBAAiB,QAAS,IAAM,CAClGQ,EAAU,CACd,CAAC,EAC2DP,GAAa,iBAAiB,QAAS,IAAM,CACrGO,EAAU,CACd,CAAC,EAC2DN,GAAa,iBAAiB,QAAS,IAAM,CACrG,MAAMQ,EAAc,IAAI,YAAY,SAAU,CAC1C,OAAQ,CAAE,QAASZ,CAAE,CACrC,CAAa,EACD,KAAK,cAAcY,CAAW,EAC9BF,EAAU,CACd,CAAC,EACyEL,GAAoB,iBAAiB,QAAS,IAAM,CAC1H,MAAMO,EAAc,IAAI,YAAY,SAAU,CAC1C,OAAQ,CAAE,QAASZ,CAAE,CACrC,CAAa,EACD,KAAK,cAAcY,CAAW,EAC9BF,EAAU,CACd,CAAC,EACD,KAAK,iBAAiB,cAAe,IAAM,CACvCA,EAAU,CACd,CAAC,EACD,KAAK,iBAAiB,QAAUG,GAAU,CAMtC,GAJc,OAAO,iBAAiBZ,CAAM,EAClC,UAAY,aAClBA,EAASA,EAAO,WAAW,QAAQ,cAAc,GAEjDK,GAAa,iBAAmBA,GAAa,kBAAmB,CAChE,MAAMQ,EAAmBb,EAAO,sBAAqB,GACjDY,EAAM,QAAUC,EAAiB,MACjCD,EAAM,QAAUC,EAAiB,OACjCD,EAAM,QAAUC,EAAiB,KACjCD,EAAM,QAAUC,EAAiB,UAC5BD,EAAM,OAAO,QAAQ,UAAU,GAChCH,IAEZ,CACJ,CAAC,CACL,CACJ"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta7
3
3
  * Copyright 2022-2025 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>