@iamproperty/components 3.7.9-beta → 3.7.9

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 (33) hide show
  1. package/assets/css/components/dialog.css +1 -1
  2. package/assets/css/components/dialog.css.map +1 -1
  3. package/assets/css/core.min.css +1 -1
  4. package/assets/css/core.min.css.map +1 -1
  5. package/assets/css/style.min.css +1 -1
  6. package/assets/css/style.min.css.map +1 -1
  7. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  8. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  9. package/assets/js/components/card/card.component.js +2 -1
  10. package/assets/js/components/card/card.component.min.js +2 -2
  11. package/assets/js/components/card/card.component.min.js.map +1 -1
  12. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  13. package/assets/js/components/header/header.component.min.js +1 -1
  14. package/assets/js/components/notification/notification.component.min.js +1 -1
  15. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  16. package/assets/js/components/table/table.component.min.js +1 -1
  17. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  18. package/assets/js/dynamic.min.js +5 -5
  19. package/assets/js/dynamic.min.js.map +1 -1
  20. package/assets/js/modules/dialogs.js +94 -19
  21. package/assets/js/scripts.bundle.js +22 -22
  22. package/assets/js/scripts.bundle.js.map +1 -1
  23. package/assets/js/scripts.bundle.min.js +2 -2
  24. package/assets/js/scripts.bundle.min.js.map +1 -1
  25. package/assets/js/tests/filterlist.spec.js +1 -1
  26. package/assets/sass/components/dialog.scss +67 -4
  27. package/assets/ts/components/card/card.component.ts +2 -2
  28. package/assets/ts/modules/dialogs.ts +138 -23
  29. package/assets/ts/tests/dialogs.spec.js +50 -0
  30. package/assets/ts/tests/filterlist.spec.ts +1 -1
  31. package/dist/components.es.js +7 -7
  32. package/dist/components.umd.js +8 -8
  33. package/package.json +1 -1
@@ -12,7 +12,7 @@ const listHTML = `
12
12
  <li class="lead text-primary pb-1">Benjamin Lee</li>
13
13
  `;
14
14
  describe('addDataAttributes', () => {
15
- let list = document.createElement('ul');
15
+ let list = document.createElement('div');
16
16
  list.innerHTML = listHTML;
17
17
  filterTheList(list, "Lucas");
18
18
  test('should add a class of d-none to each item except the one containing Lucas Myers', () => {
@@ -279,7 +279,7 @@ dialog::backdrop {
279
279
  height: 2px;
280
280
  background: currentColor;
281
281
  z-index: 1;
282
- opacity: 0.5;
282
+ background: linear-gradient(90deg, var(--colour-success) 0%, var(--colour-success) var(--progress, 0%), rgba(255,255,255,0.5) var(--progress, 0%), rgba(255,255,255,0.5) 100%);
283
283
  }
284
284
 
285
285
  button {
@@ -287,7 +287,7 @@ dialog::backdrop {
287
287
  position: relative;
288
288
  background: transparent;
289
289
  border: none;
290
- color: inherit;
290
+ color: rgba($color: #ffffff, $alpha: 0.5);
291
291
  height: rem(24);
292
292
  line-height: rem(24);
293
293
  width: rem(24);
@@ -314,8 +314,35 @@ dialog::backdrop {
314
314
  border-radius: 50%;
315
315
  }
316
316
 
317
- &:not(.active):before {
318
- opacity: 0.5;
317
+ &:not(.active):not(.valid) {
318
+
319
+ pointer-events: none;
320
+
321
+ &:before {
322
+ opacity: 0.5;
323
+ }
324
+ }
325
+
326
+ &.active {
327
+ color: var(--colour-white);
328
+ }
329
+ &.valid {
330
+ color: var(--colour-success);
331
+ }
332
+ }
333
+
334
+ @media screen and (prefers-color-scheme: dark) {
335
+
336
+ button {
337
+
338
+ color: rgba($color: #000000, $alpha: 0.5);
339
+
340
+ &.active {
341
+ color: black;
342
+ }
343
+ &.valid {
344
+ color: var(--colour-complete);
345
+ }
319
346
  }
320
347
  }
321
348
  }
@@ -569,3 +596,39 @@ dialog::backdrop {
569
596
  display: none;
570
597
  }
571
598
  // #endregion
599
+
600
+ // #region mobile fullwidth view
601
+ @media screen and (max-width: 36em) {
602
+
603
+ dialog[open].dialog--sm-fullpage,
604
+ .js-enabled *:not(.dialog__wrapper) > dialog[open].dialog--multi {
605
+
606
+ min-width: 100%;
607
+ min-height: 100%;
608
+ border-radius: 0;
609
+ overflow-y: auto;
610
+
611
+ .btn--wrapper {
612
+ padding-top: rem(64);
613
+ }
614
+ }
615
+
616
+ dialog[open].dialog--sm-fullpage {
617
+
618
+ .mh-lg {
619
+ max-height: none!important;
620
+ overflow: visible;
621
+ }
622
+
623
+ &:before,
624
+ *:first-child {
625
+ margin-top: auto!important;
626
+ }
627
+
628
+ *:last-child {
629
+
630
+ margin-bottom: auto!important;
631
+ }
632
+ }
633
+ }
634
+ // #endregion
@@ -76,8 +76,8 @@ class iamCard extends HTMLElement {
76
76
  const inputName = input.getAttribute('name');
77
77
  const inputID = input.getAttribute('id');
78
78
 
79
- const inputs = Array.from(document.querySelectorAll(`[name="${inputName}"]:not([id="${inputID}"])`));
80
-
79
+ // Mimic radio button functionality
80
+ const inputs = Array.from(document.querySelectorAll(`[name="${inputName}"][type="radio"]:not([id="${inputID}"])`));
81
81
  inputs.forEach((input, index) => {
82
82
 
83
83
  const otherCard = document.querySelector(`[for="${input.getAttribute('id')}"] iam-card`);
@@ -3,6 +3,20 @@ import { createEmbed } from "./youtubevideo";
3
3
 
4
4
  const extendDialogs = (body) => {
5
5
 
6
+ Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog, index) => {
7
+
8
+ let parent = dialog.closest('.dialog__wrapper');
9
+
10
+ if(!parent){
11
+
12
+ dialog.removeAttribute('open');
13
+ dialog.showModal();
14
+ dialog.focus();
15
+
16
+ createDialog(dialog);
17
+ }
18
+ });
19
+
6
20
  // Dialogs/modals
7
21
  body.addEventListener('click', (event) => {
8
22
 
@@ -15,20 +29,6 @@ const extendDialogs = (body) => {
15
29
 
16
30
  createDialog(dialog);
17
31
 
18
-
19
- // Prevent the user from escaping the model when transactional
20
- if(dialog.querySelector(':scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child') && !dialog.classList.contains('dialog--multi')) {
21
- dialog.addEventListener("cancel", (e) => {
22
- e.preventDefault();
23
- });
24
- }
25
-
26
- // Create the video embed
27
- let videoButton = dialog.querySelector('.youtube-embed a');
28
- if (videoButton){
29
- createEmbed(videoButton)
30
- }
31
-
32
32
  // Open the modal!
33
33
  dialog.showModal();
34
34
  dialog.focus();
@@ -181,6 +181,19 @@ const extendDialogs = (body) => {
181
181
 
182
182
  export const createDialog = (dialog) => {
183
183
 
184
+ // Prevent the user from escaping the model when transactional
185
+ if(dialog.querySelector(':scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child') && !dialog.classList.contains('dialog--multi')) {
186
+ dialog.addEventListener("cancel", (e) => {
187
+ e.preventDefault();
188
+ });
189
+ }
190
+
191
+ // Create the video embed
192
+ let videoButton = dialog.querySelector('.youtube-embed a');
193
+ if (videoButton){
194
+ createEmbed(videoButton)
195
+ }
196
+
184
197
  // Multi dialog
185
198
  if(dialog.classList.contains('dialog--multi') && !dialog.querySelector(':scope > .steps')) {
186
199
  createMultiFormDialog(dialog);
@@ -209,33 +222,97 @@ export const createDialog = (dialog) => {
209
222
 
210
223
  }
211
224
 
212
- const createMultiFormDialog = (dialog) => {
225
+ export const createMultiFormDialog = (dialog) => {
226
+
213
227
  let buttons = "";
214
228
  let fieldsets = Array.from(dialog.querySelectorAll('fieldset[data-title]'));
229
+
215
230
  fieldsets.forEach((fieldset,index) => {
216
- buttons += `<button data-title="${fieldset.getAttribute('data-title')}" type="button" class="${index == 0 ? "active":""}">${fieldset.getAttribute('data-title')}</button>`;
231
+ buttons += `<button data-title="${fieldset.getAttribute('data-title')}" type="button" class="${index == 0 ? "active":""}" tabindex="-1">${fieldset.getAttribute('data-title')}</button>`;
217
232
 
218
233
  const btnWrapper = document.createElement("div");
219
234
  btnWrapper.classList.add('btn--wrapper');
220
235
  fieldset.appendChild(btnWrapper);
221
236
 
222
-
223
237
  if(index != 0)
224
- btnWrapper.innerHTML += `<button data-title="${fieldsets[index-1].getAttribute('data-title')}" class="btn btn-secondary mb-0" type="button">Previous</button>`;
238
+ btnWrapper.innerHTML += `<button data-title="${fieldsets[index-1].getAttribute('data-title')}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`;
225
239
 
226
240
  if(index != fieldsets.length - 1)
227
- btnWrapper.innerHTML += `<button data-title="${fieldsets[index+1].getAttribute('data-title')}" class="btn btn-primary mb-0" type="button">Next</button>`;
241
+ btnWrapper.innerHTML += `<button data-title="${fieldsets[index+1].getAttribute('data-title')}" class="btn btn-primary mb-0" data-next type="button">Next</button>`;
228
242
 
229
243
  if(index == fieldsets.length - 1)
230
- btnWrapper.innerHTML += `<button class="btn btn-primary mb-0">Submit</button>`;
244
+ btnWrapper.innerHTML += `<button data-title="${fieldsets[index].getAttribute('data-title')}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`;
231
245
  });
232
246
 
233
247
  dialog.innerHTML = `<div class="steps bg-primary">${buttons}</div>${dialog.innerHTML}`;
234
248
 
235
249
 
236
- dialog.addEventListener('click', (event) => {
237
- if (event && event.target instanceof HTMLElement && event.target.closest('button[data-title]')){
238
- const button = event.target.closest('button[data-title]');
250
+ // Open the fieldset with an error inside
251
+ let validatedFieldsets = Array.from(dialog.querySelectorAll('fieldset.was-validated'));
252
+ for (let i = 0; i < validatedFieldsets.length; i++) {
253
+
254
+ let fieldset = validatedFieldsets[i];
255
+ let fieldsetID = fieldset.getAttribute('data-title');
256
+
257
+ if(fieldset.querySelector('.is-invalid')){
258
+
259
+ Array.from(dialog.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
260
+
261
+ element.classList.add('active');
262
+ });
263
+
264
+ break;
265
+ }
266
+ else {
267
+
268
+ Array.from(dialog.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
269
+
270
+ element.classList.add('valid');
271
+ });
272
+ }
273
+ }
274
+
275
+ // Prevent the bubble messages
276
+ dialog.addEventListener('invalid', (function () {
277
+ return function (e) {
278
+ e.preventDefault();
279
+ };
280
+ })(), true);
281
+
282
+
283
+ function validateFieldset(button){
284
+
285
+ const currentFieldset = dialog.querySelector(`fieldset.active`) ? dialog.querySelector(`fieldset.active`) : dialog.querySelector(`fieldset[data-title]`);
286
+ const currentFieldsetID = currentFieldset.getAttribute('data-title');
287
+ let isFieldsetValid = true;
288
+
289
+ currentFieldset.classList.add('was-validated');
290
+
291
+ Array.from(currentFieldset.querySelectorAll('input')).forEach((input, index) => {
292
+
293
+ if (!input.checkValidity())
294
+ isFieldsetValid = false;
295
+ });
296
+
297
+ // If valid mode to next field set
298
+ if(!isFieldsetValid){
299
+
300
+ Array.from(dialog.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element, index) => {
301
+
302
+ element.classList.remove('valid');
303
+ });
304
+ }
305
+ else {
306
+
307
+ Array.from(dialog.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element, index) => {
308
+
309
+ element.classList.add('valid');
310
+ });
311
+ }
312
+
313
+ // Allow the previous button to navigate
314
+ if(isFieldsetValid || !button.hasAttribute('data-next')){
315
+
239
316
  const fieldset = dialog.querySelector(`fieldset[data-title="${button.getAttribute('data-title')}"]`);
240
317
  const step = dialog.querySelector(`.steps button[data-title="${button.getAttribute('data-title')}"]`);
241
318
 
@@ -248,6 +325,44 @@ const createMultiFormDialog = (dialog) => {
248
325
 
249
326
  step.classList.add('active');
250
327
  fieldset.classList.add('active');
328
+ }
329
+
330
+
331
+ let fieldsetCount = Array.from(dialog.querySelectorAll(`fieldset`)).length;
332
+ let validFieldsetCount = Array.from(dialog.querySelectorAll(`fieldset.valid`)).length;
333
+
334
+ // update the progress bar
335
+ dialog.style.setProperty('--progress', `${(validFieldsetCount/(fieldsetCount - 1) * 100)}%`);
336
+ }
337
+
338
+ // remove error messages from server
339
+ dialog.addEventListener('keydown', (event) => {
340
+ if (event && event.target instanceof HTMLElement && event.target.closest('button')){
341
+
342
+ const button = event.target.closest('button');
343
+
344
+ if(event.keyCode == 13){
345
+
346
+ event.preventDefault();
347
+ validateFieldset(button);
348
+ }
349
+ }
350
+
351
+ if (event && event.target instanceof HTMLElement && event.target.closest('input')){
352
+ const input = event.target.closest('input');
353
+
354
+ input.classList.remove('is-invalid');
355
+
356
+
357
+ }
358
+ });
359
+
360
+
361
+ dialog.addEventListener('click', (event) => {
362
+ if (event && event.target instanceof HTMLElement && event.target.closest('button[data-title]')){
363
+
364
+ const button = event.target.closest('button[data-title]');
365
+ validateFieldset(button);
251
366
  };
252
367
  return null
253
368
  });
@@ -0,0 +1,50 @@
1
+ // @ts-nocheck
2
+ import '@testing-library/jest-dom'
3
+ import { createMultiFormDialog } from "../modules/dialogs";
4
+
5
+
6
+ describe('createMultiFormDialog', () => {
7
+ let dialog;
8
+
9
+ beforeEach(() => {
10
+ // Create a fresh dialog element before each test
11
+ dialog = document.createElement('dialog');
12
+ dialog.innerHTML = `
13
+ <fieldset data-title="fieldset1">
14
+ <input type="text" >
15
+ </fieldset>
16
+ <fieldset data-title="fieldset2">
17
+ <input type="text" >
18
+ </fieldset>
19
+ `;
20
+ });
21
+
22
+ test('it initializes buttons and fieldsets', () => {
23
+ createMultiFormDialog(dialog);
24
+
25
+ expect(dialog.querySelectorAll('.steps').length).toEqual(1);
26
+ });
27
+
28
+ test('it validates fieldsets and updates classes', () => {
29
+ createMultiFormDialog(dialog);
30
+
31
+ // Simulate a button click to trigger validation
32
+ const button = dialog.querySelector('button[data-title="fieldset1"]');
33
+ button.click();
34
+
35
+ // Add your assertions here to check if validation and class updates are working as expected
36
+ expect(dialog.querySelectorAll('fieldset[data-title="fieldset1"].active').length).toEqual(1);
37
+ });
38
+
39
+ test('it navigates to the next fieldset', () => {
40
+ createMultiFormDialog(dialog);
41
+
42
+ // Simulate a button click to navigate to the next fieldset
43
+ const button = dialog.querySelector('button[data-title="fieldset2"]');
44
+ button.click();
45
+
46
+ // Add your assertions here to check if navigation to the next fieldset is working
47
+ expect(dialog.querySelectorAll('fieldset[data-title="fieldset2"].active').length).toEqual(1);
48
+ });
49
+
50
+ });
@@ -16,7 +16,7 @@ const listHTML = `
16
16
 
17
17
  describe('addDataAttributes', () => {
18
18
 
19
- let list = document.createElement('ul');
19
+ let list = document.createElement('div');
20
20
  list.innerHTML = listHTML;
21
21
 
22
22
  filterTheList(list, "Lucas");
@@ -48,7 +48,7 @@ function ge(t, a, e, r, i, o) {
48
48
  }
49
49
  const _e = /* @__PURE__ */ S(be, [["render", ge]]);
50
50
  /*!
51
- * iamKey v3.7.9-beta
51
+ * iamKey v3.7.9
52
52
  * Copyright 2022-2023 iamproperty
53
53
  */
54
54
  const ve = function(t) {
@@ -962,7 +962,7 @@ function ht(t, a, e, r, i, o) {
962
962
  }
963
963
  const nr = /* @__PURE__ */ S(mt, [["render", ht]]);
964
964
  /*!
965
- * iamKey v3.7.9-beta
965
+ * iamKey v3.7.9
966
966
  * Copyright 2022-2023 iamproperty
967
967
  */
968
968
  function ft(t) {
@@ -1113,7 +1113,7 @@ const ur = /* @__PURE__ */ S(St, [["render", Tt]]), Mt = {
1113
1113
  name: "Card",
1114
1114
  mounted() {
1115
1115
  this.$nextTick(function() {
1116
- import("./card.component.min-d04c3ee7.mjs").then((t) => {
1116
+ import("./card.component.min-e1d5b078.mjs").then((t) => {
1117
1117
  window.customElements.get("iam-card") || window.customElements.define("iam-card", t.default);
1118
1118
  }).catch((t) => {
1119
1119
  console.log(t.message);
@@ -1314,7 +1314,7 @@ function Vt(t, a, e, r, i, o) {
1314
1314
  }
1315
1315
  const mr = /* @__PURE__ */ S(Nt, [["render", Vt]]);
1316
1316
  /*!
1317
- * iamKey v3.7.9-beta
1317
+ * iamKey v3.7.9
1318
1318
  * Copyright 2022-2023 iamproperty
1319
1319
  */
1320
1320
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "header" });
@@ -2092,7 +2092,7 @@ function ks(t, a, e, r, i, o) {
2092
2092
  }
2093
2093
  const gr = /* @__PURE__ */ S(As, [["render", ks]]);
2094
2094
  /*!
2095
- * iamKey v3.7.9-beta
2095
+ * iamKey v3.7.9
2096
2096
  * Copyright 2022-2023 iamproperty
2097
2097
  */
2098
2098
  const qs = function(t) {
@@ -2281,7 +2281,7 @@ function Vs(t, a, e, r, i, o) {
2281
2281
  }
2282
2282
  const wr = /* @__PURE__ */ S(Is, [["render", Vs]]);
2283
2283
  /*!
2284
- * iamKey v3.7.9-beta
2284
+ * iamKey v3.7.9
2285
2285
  * Copyright 2022-2023 iamproperty
2286
2286
  */
2287
2287
  function Us(t, a) {
@@ -2373,7 +2373,7 @@ function Ks(t, a, e, r, i, o) {
2373
2373
  }
2374
2374
  const Ar = /* @__PURE__ */ S(Gs, [["render", Ks]]);
2375
2375
  /*!
2376
- * iamKey v3.7.9-beta
2376
+ * iamKey v3.7.9
2377
2377
  * Copyright 2022-2023 iamproperty
2378
2378
  */
2379
2379
  function Ys(t, a) {
@@ -1,5 +1,5 @@
1
1
  (function(y,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(y=typeof globalThis<"u"?globalThis:y||self,e(y.iamkey={},y.Vue))})(this,function(y,e){"use strict";const k=(a,o)=>{const t=a.__vccOpts||a;for(const[r,s]of o)t[r]=s;return t},X={name:"Logo",props:{id:{type:String,required:!1,default:"property"},path:{type:String,required:!1,default:"/svg/logo.svg"},desc:{type:String}},computed:{src:function(){return"#logo-"+this.id},className:function(){return"brand brand--"+this.id}}},J=["xlink:href"],Q=["innerHTML"];function ee(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.className)},[(e.openBlock(),e.createElementBlock("svg",null,[e.createElementVNode("title",null,"iam "+e.toDisplayString(t.id),1),e.createElementVNode("use",{"xlink:href":t.path+i.src},null,8,J)])),t.desc?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:t.desc},null,8,Q)):e.createCommentVNode("",!0)],2)}const P=k(X,[["render",ee]]);/*!
2
- * iamKey v3.7.9-beta
2
+ * iamKey v3.7.9
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */const te=function(a){return typeof a!="string"?!1:!isNaN(a)&&!isNaN(parseFloat(a))},ae=(a,o)=>String(a).padStart(o,"0"),oe=a=>a.charAt(0).toUpperCase()+a.slice(1),$=function(a,o){if(!a.getAttribute("data-pages"))return!1;a.getAttribute("data-page")||a.setAttribute("data-page",1);let t=a.getAttribute("data-page"),r=a.getAttribute("data-pages"),s=a.getAttribute("data-total"),i=a.getAttribute("data-show"),n=a.getAttribute("data-increment");if(r<=1)return o.innerHTML="",!1;let l="";for(let d=1;d<=r;d++)d==t?l+=`<li class="page-item active" aria-current="page"><span class="page-link">${d}</span></li>`:l+=`<li class="page-item"><a href="?page=${d}" class="page-link" data-page="${d}">${d}</a></li>`;return o.innerHTML=`<ul class="pagination mb-0 d-none d-sm-flex">
5
5
  ${t==1?'<li class="page-item disabled"><span class="page-link">Previous</span></li>':`<li class="page-item"><a href="?page=${parseInt(t)-1}" class="page-link" data-page="${parseInt(t)-1}">Previous</a></li>`}
@@ -47,7 +47,7 @@
47
47
  <div class="files"></div>
48
48
  </div>
49
49
  `,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){this.innerHTML+='<i class="fa-regular fa-arrow-up-from-bracket me-2" aria-hidden="true" slot="btn"></i>';const o=this.shadowRoot.querySelector(".file-upload"),t=this.querySelector("input"),r=this.shadowRoot.querySelector(".helper-text");r.innerHTML=`${this.hasAttribute("data-maxsize")?`Max file size is ${this.getAttribute("data-maxsize")}kb. `:""}${t.hasAttribute("accept")?`Supported file types are ${t.getAttribute("accept")}`:""}`,Ue(this,o)}}const Ge={name:"FileUpload",props:{maxfilesize:{type:Number,required:!1},maxfiles:{type:Number,required:!1}},mounted(){this.$nextTick(function(){window.customElements.get("iam-fileupload")||window.customElements.define("iam-fileupload",We)})}};function Ke(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-fileupload",null,[e.renderSlot(a.$slots,"default")])}const Ye=k(Ge,[["render",Ke]]);/*!
50
- * iamKey v3.7.9-beta
50
+ * iamKey v3.7.9
51
51
  * Copyright 2022-2023 iamproperty
52
52
  */function Ze(a){let o=a.querySelectorAll("details"),t=a.querySelectorAll("summary");if(o.forEach(r=>{r.classList.add("accordion-item")}),t.forEach(r=>{r.classList.add("accordion-header"),r.classList.add("accordion-button"),r.classList.add("h4")}),!a.classList.contains("accordion--keep-open")){const r=a.querySelectorAll(":scope > details");r.forEach(s=>{s.addEventListener("click",()=>{r.forEach(i=>{i!==s&&i.removeAttribute("open")})})})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"accordion"});let Xe=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
53
53
  <style>
@@ -60,7 +60,7 @@
60
60
  <slot></slot>
61
61
  </div>
62
62
  `,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){Ze(this)}};const sr="";window.customElements.get("iam-accordion")||window.customElements.define("iam-accordion",Xe);const Je={name:"Accordion",props:{},mounted(){}},Qe={ref:"wrapper"};function et(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-accordion",Qe,[e.renderSlot(a.$slots,"default")],512)}const tt=k(Je,[["render",et]]),at={name:"AccordionItem",props:{title:{type:String,required:!0},titlecolour:{type:String,required:!1},badge:{type:[Number,String],required:!1},badgecolour:{type:String,required:!1,default:"light"},lazy:{type:Boolean,required:!1}},computed:{createID(){return a=>`${be(a)}`}},data(){return{show:!this.lazy}}},ot=["id"],rt=["classList"];function nt(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("details",{id:i.createID(t.title)},[e.createElementVNode("summary",{classList:`${t.titlecolour?`bg-${t.titlecolour}`:""}`},[e.createTextVNode(e.toDisplayString(t.title),1),t.badge?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(`badge bg-${t.badgecolour}`)},e.toDisplayString(t.badge),3)):e.createCommentVNode("",!0)],8,rt),e.renderSlot(a.$slots,"default")],8,ot)}const it=k(at,[["render",nt]]),st={name:"Header",props:{title:{type:String,required:!0},image:{type:String,required:!1},background:{type:String,default:"light",required:!1}}},lt={class:"container"},ct={class:"row"},dt={class:"col-sm-6"},mt={class:"pt-5 pb-3 px-4"},ut={class:"col-sm-6 col-md-5 ms-auto"},ht=["src"];function pt(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",{class:e.normalizeClass("bg-"+t.background+" mb-4")},[e.createElementVNode("div",ct,[e.createElementVNode("div",dt,[e.createElementVNode("div",mt,[e.createElementVNode("h2",null,e.toDisplayString(t.title),1),e.renderSlot(a.$slots,"default")])]),e.createElementVNode("div",ut,[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:"",class:"h-100 w-100 object-cover"},null,8,ht)):e.createCommentVNode("",!0)])])],2)])}const ft=k(st,[["render",pt]]),bt={name:"Card",mounted(){this.$nextTick(function(){Promise.resolve().then(()=>ar).then(a=>{window.customElements.get("iam-card")||window.customElements.define("iam-card",a.default)}).catch(a=>{console.log(a.message)})})}};function yt(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-card",null,[e.renderSlot(a.$slots,"default")])}const G=k(bt,[["render",yt]]);function gt(a){var o;let t=a.querySelector(".carousel__inner"),r=a.querySelectorAll(".carousel__item").length;a.getAttribute("data-cols");let s=a.getAttribute("data-sm-cols"),i=a.getAttribute("data-md-cols");a.querySelector(".carousel__controls a").classList.add("active"),t.addEventListener("scroll",function(n){clearTimeout(o),o=setTimeout(function(){let l=t.clientWidth,d=t.scrollWidth,c=t.scrollLeft,u=Math.round(c/d*r)+1,p=a.querySelector(".carousel__item:last-child").offsetLeft;Array.from(a.querySelectorAll(".carousel__controls a")).forEach((m,h)=>{m.classList.remove("active")}),a.querySelector(".control-"+u).classList.add("active"),u==1?a.querySelector(".btn-prev").setAttribute("disabled","disabled"):a.querySelector(".btn-prev").removeAttribute("disabled"),t.scrollLeft+l>p?a.querySelector(".btn-next").setAttribute("disabled","disabled"):a.querySelector(".btn-next").removeAttribute("disabled")},100)},!1),a.addEventListener("click",function(n){for(var l=n.target;l&&l!=this;l=l.parentNode)if(l.matches(".carousel__controls a")){n.preventDefault(),Array.from(a.querySelectorAll(".carousel__controls a")).forEach((c,u)=>{c.classList.remove("active")}),l.classList.add("active");const d=document.querySelector(l.getAttribute("href"));t.scroll({top:0,left:d.offsetLeft,behavior:"smooth"});break}},!1),a.addEventListener("click",function(n){for(var l=n.target;l&&l!=this;l=l.parentNode)if(l.matches(".btn-next, .btn-prev")){n.preventDefault();let d=l.classList.contains("btn-prev")?t.scrollLeft-t.clientWidth:t.scrollLeft+t.clientWidth;t.scroll({top:0,left:d,behavior:"smooth"});break}},!1),r==1&&a.classList.add("hide-btns"),s>=r&&a.classList.add("hide-sm-btns"),i>=r&&a.classList.add("hide-md-btns")}const lr="",_t={components:{Card:G},name:"Carousel",data(){return{id:null}},props:{items:{type:Array,required:!1},cols:{type:Number,required:!1,default:1},smcols:{type:Number,required:!1,default:1},mdcols:{type:Number,required:!1,default:3},gap:{type:Number,required:!1,default:4},cardtype:{type:String,required:!1},cardclass:{type:String,required:!1},btntype:{type:String,required:!1},titleclass:{type:String,required:!1},ctatext:{type:String,required:!1},hidectatext:{type:Boolean,required:!1,default:!1},colclass:{type:String,required:!1},type:{type:String,required:!1}},computed:{content(){return a=>`${a.image?`<img src="${a.image}" alt="" />`:""}${a.content?a.content:""}`}},mounted(){this.id=this._uid,this.$nextTick(function(){gt(this.$refs.wrapper)})}},kt=["id","data-cols","data-sm-cols","data-md-cols"],wt={class:"carousel__wrapper"},At={class:"carousel__inner"},St=["id"],Et=["innerHTML","id"],Lt=["href"],$t=e.createElementVNode("button",{class:"btn btn-prev","data-go":"0",disabled:""},"Prev",-1),vt=e.createElementVNode("button",{class:"btn btn-next","data-go":"2"},"Next",-1);function qt(a,o,t,r,s,i){const n=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",{class:"container carousel",id:"carousel"+s.id,ref:"wrapper","data-cols":t.cols,"data-sm-cols":t.smcols,"data-md-cols":t.mdcols},[e.renderSlot(a.$slots,"default"),e.createElementVNode("div",wt,[e.createElementVNode("div",At,[t.type=="card"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap?`g-${t.gap}`:""}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`col carousel__item${t.colclass?` ${t.colclass}`:""}`),key:d,id:"carousel"+s.id+"slide"+(d+1)},[e.createVNode(n,e.mergeProps(l,{class:t.cardclass,type:t.cardtype,btnyype:t.btntype,titleclass:t.titleclass,ctatext:t.ctatext,hidectatext:t.hidectatext}),null,16,["class","type","btnyype","titleclass","ctatext","hidectatext"])],10,St))),128))],2)):e.createCommentVNode("",!0),t.type!="card"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap?`g-${t.gap}`:""}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`col carousel__item${t.colclass?` ${t.colclass}`:""}`),key:d,innerHTML:i.content(l),id:"carousel"+s.id+"slide"+(d+1)},null,10,Et))),128))],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(`carousel__controls cols-${t.cols} cols-sm-${t.smcols} cols-md-${t.mdcols}`)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,d)=>(e.openBlock(),e.createElementBlock("a",{key:d,href:"#carousel"+s.id+"slide"+(d+1),class:e.normalizeClass(`control-${d+1}`)},"Slide "+e.toDisplayString(d+1),11,Lt))),128))],2),$t,vt])],8,kt)}const xt=k(_t,[["render",qt]]);/*!
63
- * iamKey v3.7.9-beta
63
+ * iamKey v3.7.9
64
64
  * Copyright 2022-2023 iamproperty
65
65
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class Nt extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
66
66
  <style>
@@ -84,7 +84,7 @@
84
84
  </picture>
85
85
  </div>
86
86
  `,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){this.classList.add("loaded");const o=this.shadowRoot.querySelector("picture"),t=this.shadowRoot.querySelector("picture source");this.hasAttribute("image")?t.setAttribute("srcset",this.getAttribute("image")):o.remove()}}const Bt={name:"Header",props:{title:{type:String,required:!0},image:{type:String,required:!1}},mounted(){this.$nextTick(function(){window.customElements.get("iam-header")||window.customElements.define("iam-header",Nt)})}},Tt=["image"],Ct=["innerHTML"];function Vt(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-header",{class:"bg-secondary",image:t.image},[e.renderSlot(a.$slots,"breadcrumb"),t.title?(e.openBlock(),e.createElementBlock("h1",{key:0,innerHTML:t.title},null,8,Ct)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],8,Tt)}const Mt=k(Bt,[["render",Vt]]);function Ht(a){var o;const t=a.querySelector(".testimonial__images"),r=t.querySelectorAll("img").length;if(r==1)return!1;a.classList.add("testimonial--multi");const s=function(i){const n=a.querySelector(".btn-next"),l=a.querySelector(".btn-prev");n.setAttribute("data-go",i+1),l.setAttribute("data-go",i-1),n.removeAttribute("disabled"),l.removeAttribute("disabled"),i==1?l.setAttribute("disabled",!0):i==r&&n.setAttribute("disabled",!0)};t.addEventListener("scroll",function(i){clearTimeout(o),o=setTimeout(function(){let n=t.scrollWidth,l=t.scrollHeight,d=t.scrollLeft,c=t.scrollTop,u=Math.round(d/n*r)+1;d==0&&c!=0&&(u=Math.round(c/l*r)+1),a.setAttribute("data-show",u),s(u)},300)},!1),a.addEventListener("click",function(i){for(var n=i.target;n&&n!=this;n=n.parentNode)if(n.matches("[data-go]")){let l=parseInt(n.getAttribute("data-go")),d=0,c=0,u=t.scrollWidth,p=t.scrollHeight;u>p?c=Math.floor(u*((l-1)/r)):d=Math.floor(p*((l-1)/r)),t.scroll({top:d,left:c,behavior:"smooth"});break}},!1)}const cr="",Dt={name:"Testimonial",props:{items:{type:Array,required:!0},background:{type:String,default:"light",required:!1}},mounted(){Ht(this.$refs.wrapper)}},zt={class:"container testimonial mb-5","data-show":"1",ref:"wrapper"},Rt={class:"row"},Pt={class:"col-md-5 position-relative"},Ft={class:"testimonial__images"},It=["src"],jt=e.createElementVNode("div",{class:"testimonial__controls"},[e.createElementVNode("button",{"data-go":"0",disabled:"",class:"btn-prev"},"Previous"),e.createElementVNode("button",{"data-go":"2",class:"btn-next"},"Next")],-1),Ot={class:"col-md-7"},Ut=e.createElementVNode("h2",null,"What our customers think…",-1),Wt={class:"testimonial__content"},Gt=["innerHTML"],Kt=["innerHTML"],Yt={class:"testimonial__after"},Zt=e.createElementVNode("span",{class:"circle circle--dots d-none d-md-block"},null,-1);function Xt(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",{class:e.normalizeClass("bg-"+t.background)},[e.createElementVNode("div",Rt,[e.createElementVNode("div",Pt,[e.createElementVNode("div",Ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,l)=>(e.openBlock(),e.createElementBlock("img",{key:l,src:n.image?n.image:"data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",alt:"",class:e.normalizeClass("h-100 w-100 object-cover"+(n.image?"":" opacity-0"))},null,10,It))),128))]),jt]),e.createElementVNode("div",Ot,[Ut,e.createElementVNode("div",Wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,l)=>(e.openBlock(),e.createElementBlock("blockquote",{key:l,class:e.normalizeClass(n.class)},[e.createElementVNode("div",{innerHTML:n.quote},null,8,Gt),e.createElementVNode("cite",{innerHTML:n.cite},null,8,Kt)],2))),128))]),e.createElementVNode("div",Yt,[e.renderSlot(a.$slots,"default")])])]),Zt],2)],512)}const Jt=k(Dt,[["render",Xt]]),dr="",Qt={components:{Input:q},name:"PropertySearchbar",props:{formaction:{type:String,required:!1},formmethod:{type:String,required:!1},location:{type:String,required:!1},locations:{type:Array,required:!1},distances:{type:Array,required:!1,default(){return[{value:"0.25",display:"+¼ mi"},{value:"0.5",display:"+½ mi"},{value:"1",display:"+1 mi"},{value:"2",display:"+2 mi"},{value:"3",display:"+3 mi"},{value:"4",display:"+4 mi"},{value:"5",display:"+5 mi"}]}},pricemin:{type:Array,required:!1,default(){return[{value:"0",display:"No min"},{value:"50000",display:"£50k min"},{value:"75000",display:"£75k min"},{value:"100000",display:"£100k min"},{value:"150000",display:"£150k min"},{value:"200000",display:"£200k min"},{value:"250000",display:"£250k min"}]}},pricemax:{type:Array,required:!1,default(){return[{value:"any",display:"No max"},{value:"50000",display:"£50k max"},{value:"75000",display:"£75k max"},{value:"100000",display:"£100k max"},{value:"150000",display:"£150k max"},{value:"200000",display:"£200k max"},{value:"250000",display:"£250k max"}]}},bedsmin:{type:Array,required:!1,default(){return[{value:"any",display:"No min"},{value:"0",display:"Studio min"},{value:"1",display:"1 bed min"},{value:"2",display:"2 beds min"},{value:"3",display:"3 beds min"},{value:"4",display:"4 beds min"},{value:"5",display:"5 beds min"},{value:"6",display:"6 beds min"}]}},bedsmax:{type:Array,required:!1,default(){return[{value:"any",display:"No max"},{value:"0",display:"Studio max"},{value:"1",display:"1 bed max"},{value:"2",display:"2 beds max"},{value:"3",display:"3 beds max"},{value:"4",display:"4 beds max"},{value:"5",display:"5 beds max"},{value:"6",display:"6 beds max"}]}},propertytypes:{type:Array,required:!1,default(){return[{value:"all",display:"Show all"},{value:"Bungalow",display:"Bungalow"},{value:"Character Property",display:"Character Property"},{value:"Commercial Property",display:"Commercial Property"},{value:"Flat / Apartment",display:"Flat / Apartment"},{value:"Garage / Parking",display:"Garage / Parking"},{value:"Guest House / Hotel",display:"Guest House / Hotel"},{value:"House",display:"House"},{value:"House / Flat Share",display:"House / Flat Share"},{value:"Land",display:"Land"},{value:"Mobile / Park Home",display:"Mobile / Park Home"},{value:"Private Halls",display:"Private Halls"},{value:"Retirement Property",display:"Retirement Property"}]}}},data(){return{locationSave:""}},methods:{locationKeyup:function(a){this.$emit("locationKeyup",a)}},computed:{locationSet:{get(){return this.locationSave?this.locationSave:this.location},set(a){this.locationSave=a,this.$emit("input",a)}},locationsList(){return()=>this.locations?this.locations:[{value:"Newcastle"}]}}},ea={class:"container",ref:"wrapper"},ta={class:"property-searchbar"},aa=["action","method"],oa={class:"col-12 col-md-3"},ra={class:"col-12 col-md"},na=e.createElementVNode("span",{class:"form-label d-none d-md-block"},"Price range",-1),ia={class:"row","data-input-range":""},sa={class:"col-12 col-md"},la=e.createElementVNode("span",{class:"form-label d-none d-md-block"},"Number of beds",-1),ca={class:"row","data-input-range":""},da={class:"col-12 col-md-2"},ma=e.createElementVNode("div",{class:"col-12 col-md mw-md-fit-content d-flex property-searchbar__btn"},[e.createElementVNode("button",{class:"btn w-100 me-0",type:"submit",value:"submit"},"Search")],-1);function ua(a,o,t,r,s,i){const n=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",ea,[e.renderSlot(a.$slots,"default"),e.createElementVNode("div",ta,[e.createElementVNode("form",{class:"row",action:t.formaction,method:t.formmethod},[e.createElementVNode("fieldset",oa,[e.createVNode(n,{inputClass:"input--locations",modelValue:i.locationSet,"onUpdate:modelValue":o[0]||(o[0]=l=>i.locationSet=l),label:"Location",id:"location",options:i.locationsList(),required:"",placeholder:"i.e. Newcastle or NE1",onKeyupEvent:o[1]||(o[1]=l=>i.locationKeyup(...arguments)),ref:"search"},null,8,["modelValue","options"]),e.createVNode(n,{class:"select--miles",label:"Miles",id:"miles",type:"select",options:t.distances},null,8,["options"])]),e.createElementVNode("fieldset",ra,[na,e.createElementVNode("div",ia,[e.createVNode(n,{class:"col-6",label:"Minimum price",id:"price-min","data-min":"true",type:"select",options:t.pricemin},null,8,["options"]),e.createVNode(n,{class:"col-6",label:"Maximum price",id:"price-max","data-max":"true",type:"select",options:t.pricemax},null,8,["options"])])]),e.createElementVNode("fieldset",sa,[la,e.createElementVNode("div",ca,[e.createVNode(n,{class:"col-6",label:"Minimum beds",id:"beds-min","data-min":"true",type:"select",options:t.bedsmin},null,8,["options"]),e.createVNode(n,{class:"col-6",label:"Maximum beds",id:"beds-max","data-max":"true",type:"select",options:t.bedsmax},null,8,["options"])])]),e.createElementVNode("fieldset",da,[e.createVNode(n,{label:"Property type",id:"property-type",type:"select",options:t.propertytypes},null,8,["options"])]),ma],8,aa)]),e.renderSlot(a.$slots,"after")],512)}const ha=k(Qt,[["render",ua]]),pa=a=>{Array.from(a.querySelectorAll("details")).forEach((o,t)=>{o.addEventListener("mouseenter",function(r){window.matchMedia("(min-width: 62em)").matches&&o.setAttribute("open","true")},!1),o.addEventListener("mouseleave",function(r){window.matchMedia("(min-width: 62em)").matches&&o.removeAttribute("open")},!1)}),"IntersectionObserver"in window&&new IntersectionObserver(([t])=>t.target.classList.toggle("is-stuck",t.intersectionRatio<1),{threshold:[1]}).observe(a)},mr="",fa={components:{Input:q,Logo:P},name:"Nav",props:{logo:{type:String,required:!1},logotext:{type:String,required:!1},logopath:{type:String,required:!1},search:{type:String,required:!1},btnlink:{type:String,required:!1},btntext:{type:String,required:!1},propertylink:{type:String,required:!1},movebutlerlink:{type:String,required:!1},iamsoldlink:{type:String,required:!1}},data(){return{locationSave:""}},methods:{subIsActive(a){return(Array.isArray(a)?a:[a]).some(t=>this.$route.path.indexOf(t)===0)}},computed:{hasLogoSlot(){return!!this.$slots.logo},hasSecondarySlot(){return!!this.$slots.secondary},hasSearchSlot(){return!!this.$slots.search},hasAccountSlot(){return!!this.$slots.account},isMarketplace(){return!1}},mounted(){this.$nextTick(function(){pa(this.$refs.wrapper)})}},ba=e.createElementVNode("input",{type:"checkbox",name:"showMenu",id:"showMenu",class:"d-none"},null,-1),ya=e.createElementVNode("input",{type:"checkbox",name:"showSearch",id:"showSearch",class:"d-none"},null,-1),ga=e.createElementVNode("input",{type:"checkbox",name:"showAccount",id:"showAccount",class:"d-none"},null,-1),_a={class:"nav__mobile-bar"},ka={class:"container"},wa={class:"row"},Aa={key:0,class:"col mw-md-fit-content nav__logo"},Sa={key:1,class:"col mw-md-fit-content nav__logo"},Ea={href:"/",class:"text-decoration-none mb-0"},La=e.createElementVNode("div",{class:"col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn"},[e.createElementVNode("label",{for:"showMenu"},"Menu")],-1),$a={class:"nav__inner"},va={class:"container"},qa={class:"row"},xa={key:0,class:"col mw-md-fit-content nav__logo"},Na={key:1,class:"col mw-md-fit-content nav__logo"},Ba={href:"/",class:"text-decoration-none mb-0"},Ta={key:2,class:"col mw-fit-content nav__search-btn flex-row align-items-center"},Ca=[e.createElementVNode("label",{for:"showSearch"},[e.createElementVNode("svg",{class:"icon",viewBox:"0 0 32 32"},[e.createElementVNode("title",null,"Search"),e.createElementVNode("ellipse",{cx:"14.92",cy:"13.81",rx:"11.92",ry:"11.81",class:"icon__outline"}),e.createElementVNode("line",{x1:"22.68",y1:"22.75",x2:"30",y2:"30",class:"icon__outline"})])],-1)],Va=e.createElementVNode("div",{class:"col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn"},[e.createElementVNode("label",{for:"showMenu"},"Menu")],-1),Ma={class:"col-12 col-md nav__menu ms-auto flex-row align-items-center"},Ha={key:3,class:"col nav__account-btn flex-row align-items-center"},Da=[e.createElementVNode("label",{for:"showAccount"},[e.createElementVNode("svg",{class:"icon",viewBox:"0 0 28 28"},[e.createElementVNode("path",{d:"M14,28a13.861,13.861,0,0,1-9.268-3.533l-.023.047-.721-.738L3.62,23.4l.012-.023a14,14,0,1,1,20.735,0l.012.023-.367.377-.722.738-.024-.045A13.855,13.855,0,0,1,14,28Zm0-9.58a10.5,10.5,0,0,0-1.368.092c-.085.012-.17.03-.252.047-.061.013-.124.026-.187.037l-.077.013c-.266.047-.54.095-.8.165-.108.029-.215.065-.318.1-.063.022-.125.043-.188.063l-.08.026c-.223.071-.454.144-.671.234-.125.05-.245.11-.362.168l-.146.072-.045.021c-.208.1-.423.2-.623.312-.131.074-.257.158-.379.239l-.106.07-.068.044c-.176.114-.359.232-.528.359-.137.1-.267.218-.393.327l-.054.047c-.174.15-.355.306-.519.47-.132.134-.258.277-.38.416l-.018.021c-.16.184-.3.35-.437.527-.12.161-.23.33-.337.494-.076.117-.146.238-.214.356a12.495,12.495,0,0,0,17.109,0l-.022-.037c-.061-.1-.125-.212-.192-.315-.1-.156-.214-.333-.338-.5-.141-.188-.293-.363-.436-.526-.113-.13-.253-.292-.4-.438-.161-.162-.337-.314-.517-.468l-.08-.069c-.118-.1-.24-.209-.368-.307-.183-.137-.379-.264-.568-.387l-.026-.017-.106-.07c-.125-.083-.251-.166-.381-.24-.207-.118-.429-.222-.643-.322l-.024-.011-.152-.074c-.116-.057-.235-.116-.356-.165-.214-.087-.438-.159-.656-.229l-.1-.031c-.066-.021-.132-.043-.2-.066-.1-.035-.2-.07-.309-.1-.264-.07-.538-.118-.8-.165l-.078-.014c-.063-.011-.126-.024-.187-.037-.082-.017-.167-.035-.252-.047A10.483,10.483,0,0,0,14,18.421Zm0-1.473a11.871,11.871,0,0,1,1.54.1c.1.013.192.033.284.052.069.014.139.028.209.04.34.058.672.118,1,.2.14.036.278.082.412.127l.151.05c.309.1.587.188.859.3.148.059.293.127.433.194l.13.061c.306.142.553.266.775.389.188.107.368.22.535.328.26.166.489.322.7.478.156.117.316.244.49.389.209.176.412.361.622.567.156.154.3.293.43.443.209.23.4.472.542.657l.051.066c.1.134.21.272.308.416.021.031.045.061.068.09a1.267,1.267,0,0,1,.085.117,12.525,12.525,0,1,0-19.24,0c.026-.04.056-.078.084-.114s.05-.064.073-.1c.1-.141.2-.278.3-.409l.046-.059c.2-.264.378-.478.555-.672.137-.152.281-.3.417-.43.215-.21.422-.4.635-.578.18-.15.332-.271.479-.381.208-.155.433-.31.709-.486.174-.111.346-.219.526-.319.274-.153.55-.285.783-.393l.112-.053c.144-.069.293-.14.445-.2.282-.113.578-.208.864-.3l.159-.052c.132-.044.265-.088.4-.124.331-.087.675-.148,1-.2.068-.012.137-.026.2-.039.094-.019.191-.039.288-.052A11.827,11.827,0,0,1,14,16.948Z",transform:"translate(0 -0.001)"}),e.createElementVNode("path",{d:"M5.2,10.4a5.2,5.2,0,1,1,5.2-5.2A5.206,5.206,0,0,1,5.2,10.4Zm0-8.915A3.714,3.714,0,1,0,8.915,5.2,3.719,3.719,0,0,0,5.2,1.486Z",transform:"translate(8.8 4.8)"})]),e.createElementVNode("span",null,"My account")],-1)],za={key:4,class:"col-12 col-md nav__btn mw-md-fit-content flex-row align-items-center"},Ra=["href","innerHTML"],Pa={key:0,class:"nav__menu--secondary"},Fa={class:"container"},Ia={key:1,class:"nav__menu--search"},ja={class:"bg-gradient pt-4"},Oa={class:"container"},Ua={key:0,class:"nav__menu--account"},Wa={class:"container"},Ga={class:"row mb-4"},Ka={key:0,class:"col mw-md-fit-content nav__logo"},Ya={key:1,class:"col mw-md-fit-content nav__logo"},Za={href:"/",class:"text-decoration-none mb-0"},Xa=e.createElementVNode("div",{class:"col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn"},[e.createElementVNode("label",{for:"showAccount"},"Account")],-1),Ja={class:"container"},Qa=e.createElementVNode("span",{class:"nav__bg"},null,-1);function eo(a,o,t,r,s,i){const n=e.resolveComponent("Logo");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(`nav${i.hasSecondarySlot?" has-secondary":""}`),ref:"wrapper"},[ba,ya,ga,e.createElementVNode("div",_a,[e.createElementVNode("div",ka,[e.createElementVNode("div",wa,[i.hasLogoSlot?(e.openBlock(),e.createElementBlock("div",Aa,[e.renderSlot(a.$slots,"logo")])):(e.openBlock(),e.createElementBlock("div",Sa,[e.createElementVNode("a",Ea,[e.createVNode(n,{id:t.logo,path:t.logopath,desc:t.logotext,class:"pb-0"},null,8,["id","path","desc"])])])),La])])]),e.createElementVNode("div",$a,[e.createElementVNode("div",va,[e.createElementVNode("div",qa,[i.hasLogoSlot?(e.openBlock(),e.createElementBlock("div",xa,[e.renderSlot(a.$slots,"logo")])):(e.openBlock(),e.createElementBlock("div",Na,[e.createElementVNode("a",Ba,[e.createVNode(n,{id:t.logo,path:t.logopath,desc:t.logotext,class:"pb-0"},null,8,["id","path","desc"])])])),i.hasSearchSlot?(e.openBlock(),e.createElementBlock("div",Ta,Ca)):e.createCommentVNode("",!0),Va,e.createElementVNode("div",Ma,[e.renderSlot(a.$slots,"default")]),i.hasAccountSlot?(e.openBlock(),e.createElementBlock("div",Ha,Da)):e.createCommentVNode("",!0),t.btnlink?(e.openBlock(),e.createElementBlock("div",za,[e.createElementVNode("a",{href:t.btnlink,class:"btn me-0",innerHTML:t.btntext},null,8,Ra)])):e.createCommentVNode("",!0)])]),i.hasSecondarySlot?(e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("div",Fa,[e.renderSlot(a.$slots,"secondary")])])):e.createCommentVNode("",!0),i.hasSearchSlot?(e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("div",ja,[e.createElementVNode("div",Oa,[e.renderSlot(a.$slots,"search")])])])):e.createCommentVNode("",!0)]),i.hasAccountSlot?(e.openBlock(),e.createElementBlock("div",Ua,[e.createElementVNode("div",Wa,[e.createElementVNode("div",Ga,[i.hasLogoSlot?(e.openBlock(),e.createElementBlock("div",Ka,[e.renderSlot(a.$slots,"logo")])):(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("a",Za,[e.createVNode(n,{id:t.logo,path:t.logopath,desc:t.logotext,class:"pb-0"},null,8,["id","path","desc"])])])),Xa])]),e.createElementVNode("div",Ja,[e.renderSlot(a.$slots,"account")])])):e.createCommentVNode("",!0),Qa],2)}const to=k(fa,[["render",eo]]),pr="",ao={name:"Stepper",props:{label:{type:String,required:!1},endlabel:{type:String,required:!1,default:"Complete"}}},oo={class:"container"},ro=["aria-label"],no={key:0,class:"h6 stepper__start"},io={class:"list-unstyled"},so={class:"h6 stepper__end"};function lo(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("div",oo,[e.createElementVNode("nav",{class:"stepper","aria-label":t.label?t.label:"Progress"},[t.label?(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("ol",io,[e.renderSlot(a.$slots,"default")]),e.createElementVNode("span",so,e.toDisplayString(t.endlabel),1)],8,ro)])}const co=k(ao,[["render",lo]]),mo={name:"Stepper",props:{url:{type:String,required:!1},status:{type:String,required:!1},current:{type:String,required:!1}}},uo=["href","aria-current"],ho={key:0,class:"visually-hidden"};function po(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("li",null,[e.createElementVNode("a",{href:t.url,class:e.normalizeClass(`${t.status?"bg-"+t.status:""}${typeof t.current<"u"?"current":""}`),"aria-current":typeof t.current<"u"},[e.createElementVNode("span",null,[e.renderSlot(a.$slots,"default")]),t.status?(e.openBlock(),e.createElementBlock("em",ho," - status: "+e.toDisplayString(t.status),1)):e.createCommentVNode("",!0)],10,uo)])}const fo=k(mo,[["render",po]]);/*!
87
- * iamKey v3.7.9-beta
87
+ * iamKey v3.7.9
88
88
  * Copyright 2022-2023 iamproperty
89
89
  */const bo=function(a){const o=a.querySelectorAll(":scope > details");a.querySelectorAll(":scope > details > summary");let t=a.querySelector(":scope > .tabs__links");a.shadowRoot&&a.shadowRoot.querySelector(".tabs__links")&&(t=a.shadowRoot.querySelector(".tabs__links")),t||(t=document.createElement("div"),t.classList.add("tabs__links"),a.prepend(t)),o.forEach((r,s)=>{let i=r.querySelector(":scope > summary");i.classList.add("visually-hidden");let n=document.createElement("button");r.hasAttribute("id")&&(n=document.createElement("a"),n.setAttribute("href",`#${r.getAttribute("id")}`)),r.hasAttribute("open")&&n.setAttribute("aria-pressed",!0),n.innerHTML=`${i.innerText}`,n.classList.add("link"),n.setAttribute("data-index",s),n.setAttribute("tabindex","-1"),t.appendChild(n)})},yo=function(a){let o=a.querySelectorAll(":scope > details"),t=a.querySelectorAll(":scope > details > summary"),r=a.querySelectorAll(":scope .tabs__links > .link");a.shadowRoot&&(r=a.shadowRoot.querySelectorAll(".tabs__links > .link")),r.forEach(s=>{s.addEventListener("click",i=>{i.preventDefault(),r.forEach(n=>{let l=n==s;n.setAttribute("aria-pressed",l)}),o.forEach((n,l)=>{let d=s.getAttribute("data-index")==l;d?n.setAttribute("open",d):n.removeAttribute("open")}),s.hasAttribute("href")&&history.pushState(void 0,void 0,s.getAttribute("href")),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:s.textContent})})}),t.forEach((s,i)=>{s.addEventListener("focus",n=>{r.forEach(l=>{l.classList.remove("focus")}),r[i].classList.add("focus")}),s.addEventListener("click",n=>{n.preventDefault(),r[i].click()})})},go=function(a){let o=a.querySelectorAll(":scope > details"),t=a.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");a.shadowRoot&&(t=a.shadowRoot.querySelectorAll(".tabs__links > button, .tabs__links > a")),location.hash&&a.querySelector(`.tabs__links [href="${location.hash}"]`)?(a.querySelector(`[href="${location.hash}"]`).setAttribute("open",!0),a.querySelector(`details[id="${location.hash.replace("#","")}"]`).setAttribute("open",!0)):a.querySelector("details[open]")||(o[0].setAttribute("open",!0),t[0].setAttribute("aria-pressed",!0))},_o=function(a){bo(a),yo(a),go(a)};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"tabs"});class ko extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
90
90
  <style>
@@ -101,7 +101,7 @@
101
101
  <slot></slot>
102
102
  </div>
103
103
  `,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){let o=this.classList.toString().replace("container","");this.shadowRoot.querySelector(".tabs").setAttribute("class",`tabs ${o}`),_o(this)}}const fr="";window.customElements.get("iam-tabs")||window.customElements.define("iam-tabs",ko);const wo={name:"Tabs"},Ao={ref:"wrapper"};function So(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-tabs",Ao,[e.renderSlot(a.$slots,"default")],512)}const Eo=k(wo,[["render",So]]),Lo={name:"Tab",props:{title:{type:String,required:!0},lazy:{type:Boolean,required:!1}},data(){return{show:!this.lazy}},watch:{show(a,o){console.log(a)}}},$o={class:"tab"},vo=["innerHTML"];function qo(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("details",$o,[e.createElementVNode("summary",{innerHTML:t.title},null,8,vo),e.renderSlot(a.$slots,"default")])}const xo=k(Lo,[["render",qo]]);let K=V.props;K.fields.required=!1;const No={components:{Table:V,Input:q},data(){return{itemsData:[...this.items]}},methods:{submitForm:function(a){console.log(this);const o=new FormData(a.target);let t=new Date;const r=t.getFullYear();let s=t.getMonth()+1,i=t.getDate();i<10&&(i="0"+i),s<10&&(s="0"+s),t=i+"/"+s+"/"+r,this.itemsData.unshift({date_added:t,user:o.get("user"),note:o.get("addNote")}),this.$emit("formSubmitted",a)}},name:"NoteFeed",props:{user:{type:String,required:!0},...K,title:{type:String,required:!1},method:{type:String,required:!1,default:"post"},action:{type:String,required:!1}}},Bo={class:"container note-feed mb-2"},To=["innerHTML"],Co=["action","method"],Vo=["value"],Mo=e.createElementVNode("button",{class:"btn btn-tertiary"},"Submit note",-1);function Ho(a,o,t,r,s,i){const n=e.resolveComponent("Table"),l=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",Bo,[t.title?(e.openBlock(),e.createElementBlock("span",{key:0,class:"h3",innerHTML:t.title},null,8,To)):e.createCommentVNode("",!0),e.createVNode(n,e.mergeProps({fields:[{key:"date_added"},{key:"user"},{key:"note"}],items:s.itemsData},a.$props,{class:"mb-0"}),null,16,["items"]),e.createElementVNode("form",{action:t.action,method:t.method,onSubmit:o[0]||(o[0]=e.withModifiers(d=>i.submitForm(...arguments),["prevent"]))},[e.createElementVNode("input",{type:"hidden",value:t.user,name:"user"},null,8,Vo),e.createVNode(l,{id:"addNote",type:"textarea",label:"Add note",required:"",class:"mw-100"}),Mo],40,Co)])}const Do=k(No,[["render",Ho]]);/*!
104
- * iamKey v3.7.9-beta
104
+ * iamKey v3.7.9
105
105
  * Copyright 2022-2023 iamproperty
106
106
  */function zo(a,o){function t(r,s){let i=!1,n=s.getAttribute("name");n.includes("[]")&&(n=n.replace("[]",`[${s.value}]`));let l=r.querySelector(`[data-name="${n}"]`);l&&s.getAttribute("type")=="checkbox"&&(i=!0);let d=s.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),r.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.setAttribute("data-name",n),l.innerHTML=d.replace("$value",s.value),(!s.value||i)&&l.remove(),s.parentNode.closest("[data-filter-text]")){let c=s.parentNode.closest("[data-filter-text]"),u=!0;if(n="",c.querySelectorAll("input").forEach((p,m)=>{let h=p.getAttribute("name");if(n+=`${m!=0?",":""}${h}`,r.querySelector(`[data-name="${h}"]`)&&r.querySelector(`[data-name="${h}"]`).remove(),p.value){let f=document.createElement("button");f.setAttribute("type","button"),f.classList.add("filter"),f.setAttribute("data-name",h),f.innerHTML=d.replace("$value",p.value),r.appendChild(f)}else u=!1}),r.querySelector(`[data-name="${n}"]`)&&r.querySelector(`[data-name="${n}"]`).remove(),u){let p=c.getAttribute("data-filter-text");c.querySelectorAll("input").forEach((h,f)=>{let _=h.getAttribute("name");r.querySelector(`[data-name="${_}"]`)&&r.querySelector(`[data-name="${_}"]`).remove(),p=p.replace(`$${f+1}`,h.value)});let m=document.createElement("button");m.setAttribute("type","button"),m.classList.add("filter"),m.setAttribute("data-name",n),m.innerHTML=p,r.appendChild(m)}}}Array.from(a.querySelectorAll('input[type="checkbox"]:checked')).forEach((r,s)=>{t(o,r)}),a.addEventListener("change",function(r){if(r&&r.target instanceof HTMLElement&&r.target.closest("input[data-filter-text]")){let s=r.target.closest("input[data-filter-text]");t(o,s)}},!1),o.addEventListener("click",function(r){if(r&&r.target instanceof HTMLElement&&r.target.closest(".filter")){let n=r.target.closest(".filter"),l=n.getAttribute("data-name").split(",");for(var s=0;s<l.length;s++){let d=l[s],c=`[name="${d}"]`;d.match(/\[(.*)\]/)&&(d.replace(/\[(.*)\]/,"[]"),c=`[value="${d.replace(/.*\[(.*)\]/,"$1")}"]`);let u=a.querySelectorAll(c);for(var i=0;i<u.length;i++){let p=u[i];if(p.getAttribute("type")!="radio"&&p.getAttribute("type")!="checkbox")p.value="";else{p.checked=!1;var r=new Event("force");p.closest("form").dispatchEvent(r)}}}n.remove()}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class Ro extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`;let r=this.classList.toString();const s=document.createElement("template");s.innerHTML=`
107
107
  <style>
@@ -113,7 +113,7 @@
113
113
  <div class="applied-filters ${r}"></div>
114
114
  <slot></slot>
115
115
  `,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){zo(this,this.shadowRoot.querySelector(".applied-filters"))}}window.customElements.get("iam-applied-filters")||window.customElements.define("iam-applied-filters",Ro);const Po={name:"Header"};function Fo(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-applied-filters",null,[e.renderSlot(a.$slots,"default")])}const Io=k(Po,[["render",Fo]]);/*!
116
- * iamKey v3.7.9-beta
116
+ * iamKey v3.7.9
117
117
  * Copyright 2022-2023 iamproperty
118
118
  */function jo(a,o){Oo(a,o)}function Oo(a,o){var t;o.addEventListener("keyup",r=>{clearTimeout(t),t=setTimeout(function(){Y(a,o.value)},500)}),o.addEventListener("change",r=>{clearTimeout(t),Y(a,o.value)})}const Y=function(a,o){Array.from(a.querySelectorAll(":scope > li")).forEach((t,r)=>{let s=t.textContent.toLowerCase();t.classList.add("d-none"),s.includes(o.toLowerCase())&&t.classList.remove("d-none")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Filtered list",value:o})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"filterlist"});class Uo extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
119
119
  <style>
@@ -155,7 +155,7 @@
155
155
  ${this.hasAttribute("data-dismiss")?'<div class="notification__dismiss"><button data-dismiss-button>Dismiss</button></div>':""}
156
156
  </div>
157
157
  `,this.shadowRoot.appendChild(i.content.cloneNode(!0))}connectedCallback(){const o=this.shadowRoot.querySelector("[data-dismiss-button]"),t=this.hasAttribute("data-status")?this.getAttribute("data-status"):"white";this.hasAttribute("data-type")?this.classList.add(`bg-${t}`):this.classList.add(`colour-${t}`);const r=this;if(!this.querySelector("i"))switch(t){case"danger":this.innerHTML+='<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>';break;case"warning":this.innerHTML+='<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>';break;case"success":this.innerHTML+='<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>';break;default:this.innerHTML+='<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>'}Yo(r),o&&o.addEventListener("click",function(s){M(r)},!1)}}const Jo={name:"Notification",props:{},created(){this.$nextTick(function(){window.customElements.get("iam-notification")||window.customElements.define("iam-notification",Xo)})}};function Qo(a,o,t,r,s,i){return e.openBlock(),e.createElementBlock("iam-notification",null,[e.renderSlot(a.$slots,"default")])}const er=k(Jo,[["render",Qo]]);/*!
158
- * iamKey v3.7.9-beta
158
+ * iamKey v3.7.9
159
159
  * Copyright 2022-2023 iamproperty
160
160
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Card"});class tr extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.querySelector('[class*="fa-"]')&&this.classList.add("card--has-icon");let o=this.classList.toString();const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
161
161
  <style>
@@ -173,4 +173,4 @@
173
173
  </div>
174
174
  ${this.hasAttribute("data-cta")?`<div class="card__footer"><span class="link">${this.getAttribute("data-cta")}</span></div>`:""}
175
175
  </div>
176
- `,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){this.classList.add("loaded");const o=this.parentNode.closest("a, button, label"),t=this.shadowRoot.querySelector(".card");o.setAttribute("tabindex","-1"),o.matches("label[for]")&&(document.getElementById(o.getAttribute("for")).checked?t.classList.add("checked"):t.classList.remove("checked")),t.addEventListener("click",r=>{if(o.matches("label[for]")){r.stopPropagation(),r.preventDefault();const s=document.getElementById(o.getAttribute("for")),i=s.getAttribute("name"),n=s.getAttribute("id");Array.from(document.querySelectorAll(`[name="${i}"]:not([id="${n}"])`)).forEach((l,d)=>{document.querySelector(`[for="${l.getAttribute("id")}"] iam-card`).dispatchEvent(new Event("inactive"))}),o.click(),s.checked?t.classList.add("checked"):t.classList.remove("checked")}}),this.addEventListener("inactive",r=>{t.classList.remove("checked")}),t.addEventListener("keydown",r=>{switch(r.keyCode){case 32:case 13:if(o.matches("label[for]")){r.stopPropagation(),r.preventDefault();const s=document.getElementById(o.getAttribute("for")),i=s.getAttribute("name"),n=s.getAttribute("id");Array.from(document.querySelectorAll(`[name="${i}"]:not([id="${n}"])`)).forEach((l,d)=>{document.querySelector(`[for="${l.getAttribute("id")}"] iam-card`).dispatchEvent(new Event("inactive"))}),o.click(),s.checked?t.classList.add("checked"):t.classList.remove("checked")}else o.click();break}})}static get observedAttributes(){return["data-total","class"]}attributeChangedCallback(o,t,r){switch(o){case"data-total":{this.shadowRoot.querySelector(".card__total").innerHTML=r;break}case"class":{let s=this.classList.toString();this.querySelector('[class*="fa-"]')&&(s+=" card--has-icon"),this.shadowRoot.querySelector(".card").setAttribute("class",`card ${s}`);break}}}}const ar=Object.freeze(Object.defineProperty({__proto__:null,default:tr},Symbol.toStringTag,{value:"Module"}));y.Accordion=tt,y.AccordionItem=it,y.AppliedFilters=Io,y.Banner=ft,y.Card=G,y.Carousel=xt,y.FileUpload=Ye,y.Filterlist=Ko,y.Header=Mt,y.Input=q,y.Logo=P,y.Nav=to,y.NoteFeed=Do,y.Notification=er,y.PropertySearchbar=ha,y.Step=fo,y.Stepper=co,y.Tab=xo,y.Table=V,y.Tabs=Eo,y.Testimonial=Jt,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
176
+ `,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){this.classList.add("loaded");const o=this.parentNode.closest("a, button, label"),t=this.shadowRoot.querySelector(".card");o.setAttribute("tabindex","-1"),o.matches("label[for]")&&(document.getElementById(o.getAttribute("for")).checked?t.classList.add("checked"):t.classList.remove("checked")),t.addEventListener("click",r=>{if(o.matches("label[for]")){r.stopPropagation(),r.preventDefault();const s=document.getElementById(o.getAttribute("for")),i=s.getAttribute("name"),n=s.getAttribute("id");Array.from(document.querySelectorAll(`[name="${i}"][type="radio"]:not([id="${n}"])`)).forEach((l,d)=>{document.querySelector(`[for="${l.getAttribute("id")}"] iam-card`).dispatchEvent(new Event("inactive"))}),o.click(),s.checked?t.classList.add("checked"):t.classList.remove("checked")}}),this.addEventListener("inactive",r=>{t.classList.remove("checked")}),t.addEventListener("keydown",r=>{switch(r.keyCode){case 32:case 13:if(o.matches("label[for]")){r.stopPropagation(),r.preventDefault();const s=document.getElementById(o.getAttribute("for")),i=s.getAttribute("name"),n=s.getAttribute("id");Array.from(document.querySelectorAll(`[name="${i}"]:not([id="${n}"])`)).forEach((l,d)=>{document.querySelector(`[for="${l.getAttribute("id")}"] iam-card`).dispatchEvent(new Event("inactive"))}),o.click(),s.checked?t.classList.add("checked"):t.classList.remove("checked")}else o.click();break}})}static get observedAttributes(){return["data-total","class"]}attributeChangedCallback(o,t,r){switch(o){case"data-total":{this.shadowRoot.querySelector(".card__total").innerHTML=r;break}case"class":{let s=this.classList.toString();this.querySelector('[class*="fa-"]')&&(s+=" card--has-icon"),this.shadowRoot.querySelector(".card").setAttribute("class",`card ${s}`);break}}}}const ar=Object.freeze(Object.defineProperty({__proto__:null,default:tr},Symbol.toStringTag,{value:"Module"}));y.Accordion=tt,y.AccordionItem=it,y.AppliedFilters=Io,y.Banner=ft,y.Card=G,y.Carousel=xt,y.FileUpload=Ye,y.Filterlist=Ko,y.Header=Mt,y.Input=q,y.Logo=P,y.Nav=to,y.NoteFeed=Do,y.Notification=er,y.PropertySearchbar=ha,y.Step=fo,y.Stepper=co,y.Tab=xo,y.Table=V,y.Tabs=Eo,y.Testimonial=Jt,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "iamproperty"
6
6
  },
7
7
  "private": false,
8
- "version": "3.7.9-beta",
8
+ "version": "3.7.9",
9
9
  "scripts": {
10
10
  "bootstrap": "copyfiles -u 2 node_modules/bootstrap/**/* assets/bootstrap",
11
11
  "dev": "npm run copy && node local_modules/delete-assets.js && vite --host",