@iamproperty/components 3.7.4 → 3.7.6

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 (71) hide show
  1. package/assets/css/components/card.css +1 -1
  2. package/assets/css/components/card.css.map +1 -1
  3. package/assets/css/components/dialog.css +1 -1
  4. package/assets/css/components/dialog.css.map +1 -1
  5. package/assets/css/components/notification.css +1 -0
  6. package/assets/css/components/notification.css.map +1 -0
  7. package/assets/css/components/table.css +1 -1
  8. package/assets/css/components/table.css.map +1 -1
  9. package/assets/css/core.min.css +1 -1
  10. package/assets/css/core.min.css.map +1 -1
  11. package/assets/css/style.min.css +1 -1
  12. package/assets/css/style.min.css.map +1 -1
  13. package/assets/js/bundle.js +3 -0
  14. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  15. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  16. package/assets/js/components/card/card.component.min.js +2 -2
  17. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  18. package/assets/js/components/header/header.component.min.js +1 -1
  19. package/assets/js/components/notification/notification.component.js +71 -0
  20. package/assets/js/components/notification/notification.component.min.js +18 -0
  21. package/assets/js/components/notification/notification.component.min.js.map +1 -0
  22. package/assets/js/components/pagination/pagination.component.js +2 -2
  23. package/assets/js/components/pagination/pagination.component.min.js +11 -11
  24. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  25. package/assets/js/components/table/table.component.js +14 -11
  26. package/assets/js/components/table/table.component.min.js +14 -15
  27. package/assets/js/components/table/table.component.min.js.map +1 -1
  28. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  29. package/assets/js/dynamic.js +3 -0
  30. package/assets/js/dynamic.min.js +14 -2
  31. package/assets/js/dynamic.min.js.map +1 -1
  32. package/assets/js/flat-components.js +6 -0
  33. package/assets/js/modules/helpers.js +13 -0
  34. package/assets/js/modules/notification.js +53 -0
  35. package/assets/js/modules/table.js +1 -1
  36. package/assets/js/scripts.bundle.js +37 -26
  37. package/assets/js/scripts.bundle.js.map +1 -1
  38. package/assets/js/scripts.bundle.min.js +2 -2
  39. package/assets/js/scripts.bundle.min.js.map +1 -1
  40. package/assets/sass/_components.scss +1 -1
  41. package/assets/sass/components/card.scss +7 -2
  42. package/assets/sass/components/dialog.scss +14 -10
  43. package/assets/sass/components/notification.scss +195 -0
  44. package/assets/sass/components/table.scss +2 -4
  45. package/assets/sass/foundations/reboot.scss +48 -1
  46. package/assets/sass/foundations/root.scss +3 -3
  47. package/assets/ts/bundle.ts +4 -0
  48. package/assets/ts/components/notification/README.md +32 -0
  49. package/assets/ts/components/notification/notification.component.ts +90 -0
  50. package/assets/ts/components/pagination/pagination.component.ts +3 -2
  51. package/assets/ts/components/table/table.component.ts +20 -14
  52. package/assets/ts/dynamic.ts +6 -0
  53. package/assets/ts/flat-components.ts +8 -0
  54. package/assets/ts/modules/helpers.ts +17 -0
  55. package/assets/ts/modules/notification.ts +76 -0
  56. package/assets/ts/modules/table.ts +1 -1
  57. package/dist/components.es.js +662 -640
  58. package/dist/components.umd.js +40 -29
  59. package/dist/style.css +1 -1
  60. package/package.json +1 -1
  61. package/src/components/Notification/Notification.vue +24 -0
  62. package/src/components/Notification/README.md +32 -0
  63. package/src/index.js +2 -1
  64. package/assets/css/components/alert.css +0 -1
  65. package/assets/css/components/alert.css.map +0 -1
  66. package/assets/js/modules/alert.js +0 -41
  67. package/assets/sass/components/alert.scss +0 -121
  68. package/assets/ts/modules/alert.ts +0 -58
  69. package/src/components/Alert/Alert.spec.js +0 -49
  70. package/src/components/Alert/Alert.vue +0 -39
  71. package/src/components/Alert/README.md +0 -29
@@ -1,10 +1,10 @@
1
- import { openBlock as u, createElementBlock as m, normalizeClass as w, createElementVNode as d, toDisplayString as $, createCommentVNode as g, Fragment as T, renderList as M, renderSlot as _, withDirectives as z, mergeProps as H, vModelDynamic as V, vModelText as le, vModelSelect as ce, resolveComponent as N, createVNode as x, createTextVNode as de, normalizeStyle as ue, withModifiers as me } from "vue";
2
- const S = (t, a) => {
3
- const e = t.__vccOpts || t;
1
+ import { openBlock as u, createElementBlock as m, normalizeClass as A, createElementVNode as d, toDisplayString as $, createCommentVNode as g, Fragment as T, renderList as M, renderSlot as _, withDirectives as z, mergeProps as H, vModelDynamic as V, vModelText as ct, vModelSelect as dt, resolveComponent as N, createVNode as x, createTextVNode as ut, withModifiers as mt } from "vue";
2
+ const S = (e, a) => {
3
+ const t = e.__vccOpts || e;
4
4
  for (const [r, s] of a)
5
- e[r] = s;
6
- return e;
7
- }, he = {
5
+ t[r] = s;
6
+ return t;
7
+ }, ht = {
8
8
  name: "Logo",
9
9
  props: {
10
10
  id: {
@@ -29,56 +29,56 @@ const S = (t, a) => {
29
29
  return "brand brand--" + this.id;
30
30
  }
31
31
  }
32
- }, fe = ["xlink:href"], be = ["innerHTML"];
33
- function pe(t, a, e, r, s, i) {
32
+ }, ft = ["xlink:href"], bt = ["innerHTML"];
33
+ function pt(e, a, t, r, s, i) {
34
34
  return u(), m("div", {
35
- class: w(i.className)
35
+ class: A(i.className)
36
36
  }, [
37
37
  (u(), m("svg", null, [
38
- d("title", null, "iam " + $(e.id), 1),
38
+ d("title", null, "iam " + $(t.id), 1),
39
39
  d("use", {
40
- "xlink:href": e.path + i.src
41
- }, null, 8, fe)
40
+ "xlink:href": t.path + i.src
41
+ }, null, 8, ft)
42
42
  ])),
43
- e.desc ? (u(), m("span", {
43
+ t.desc ? (u(), m("span", {
44
44
  key: 0,
45
- innerHTML: e.desc
46
- }, null, 8, be)) : g("", !0)
45
+ innerHTML: t.desc
46
+ }, null, 8, bt)) : g("", !0)
47
47
  ], 2);
48
48
  }
49
- const ye = /* @__PURE__ */ S(he, [["render", pe]]);
49
+ const yt = /* @__PURE__ */ S(ht, [["render", pt]]);
50
50
  /*!
51
- * iamKey v3.7.4
51
+ * iamKey v3.7.6
52
52
  * Copyright 2022-2023 iamproperty
53
53
  */
54
- const ge = function(t) {
55
- return typeof t != "string" ? !1 : !isNaN(t) && !isNaN(parseFloat(t));
56
- }, _e = (t, a) => String(t).padStart(a, "0"), ve = (t) => t.charAt(0).toUpperCase() + t.slice(1), W = function(t, a) {
57
- if (!t.getAttribute("data-pages"))
54
+ const gt = function(e) {
55
+ return typeof e != "string" ? !1 : !isNaN(e) && !isNaN(parseFloat(e));
56
+ }, _t = (e, a) => String(e).padStart(a, "0"), vt = (e) => e.charAt(0).toUpperCase() + e.slice(1), G = function(e, a) {
57
+ if (!e.getAttribute("data-pages"))
58
58
  return !1;
59
- t.getAttribute("data-page") || t.setAttribute("data-page", 1);
60
- let e = t.getAttribute("data-page"), r = t.getAttribute("data-pages"), s = t.getAttribute("data-total"), i = t.getAttribute("data-show"), o = t.getAttribute("data-increment");
59
+ e.getAttribute("data-page") || e.setAttribute("data-page", 1);
60
+ let t = e.getAttribute("data-page"), r = e.getAttribute("data-pages"), s = e.getAttribute("data-total"), i = e.getAttribute("data-show"), o = e.getAttribute("data-increment");
61
61
  if (r <= 1)
62
62
  return a.innerHTML = "", !1;
63
63
  let c = "";
64
64
  for (let n = 1; n <= r; n++)
65
- n == e ? c += `<li class="page-item active" aria-current="page"><span class="page-link">${n}</span></li>` : c += `<li class="page-item"><a href="?page=${n}" class="page-link" data-page="${n}">${n}</a></li>`;
65
+ n == t ? c += `<li class="page-item active" aria-current="page"><span class="page-link">${n}</span></li>` : c += `<li class="page-item"><a href="?page=${n}" class="page-link" data-page="${n}">${n}</a></li>`;
66
66
  return a.innerHTML = `<ul class="pagination mb-0 d-none d-sm-flex">
67
- ${e == 1 ? '<li class="page-item disabled"><span class="page-link">Previous</span></li>' : `<li class="page-item"><a href="?page=${parseInt(e) - 1}" class="page-link" data-page="${parseInt(e) - 1}">Previous</a></li>`}
67
+ ${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>`}
68
68
  ${c}
69
- ${e == r ? '<li class="page-item disabled"><span class="page-link">Next</span></li>' : `<li class="page-item"><a href="?page=${parseInt(e) + 1}" class="page-link" data-page="${parseInt(e) + 1}">Next</a></li>`}
69
+ ${t == r ? '<li class="page-item disabled"><span class="page-link">Next</span></li>' : `<li class="page-item"><a href="?page=${parseInt(t) + 1}" class="page-link" data-page="${parseInt(t) + 1}">Next</a></li>`}
70
70
  </ul>`, a.innerHTML += `<div class="d-sm-none text-center">
71
71
  <span class="d-block pb-2">You've viewed ${i} of ${s} results</span>
72
72
  <a href="?show=${parseInt(i) + parseInt(o)}" class="btn btn-primary w-100 m-0" data-show="${parseInt(i) + parseInt(o)}">Load more results</a>
73
73
  </div>`, !0;
74
74
  };
75
- var we = function(t, a, e, r) {
75
+ var wt = function(e, a, t, r) {
76
76
  function s(i) {
77
- return i instanceof e ? i : new e(function(o) {
77
+ return i instanceof t ? i : new t(function(o) {
78
78
  o(i);
79
79
  });
80
80
  }
81
- return new (e || (e = Promise))(function(i, o) {
81
+ return new (t || (t = Promise))(function(i, o) {
82
82
  function c(h) {
83
83
  try {
84
84
  l(r.next(h));
@@ -96,13 +96,13 @@ var we = function(t, a, e, r) {
96
96
  function l(h) {
97
97
  h.done ? i(h.value) : s(h.value).then(c, n);
98
98
  }
99
- l((r = r.apply(t, a || [])).next());
99
+ l((r = r.apply(e, a || [])).next());
100
100
  });
101
101
  };
102
- const J = (t) => {
103
- const a = Array.from(t.querySelectorAll("thead th"));
104
- Array.from(t.querySelectorAll("tbody tr")).forEach((e, r) => {
105
- const s = Array.from(e.querySelectorAll("th, td")), i = ["0", "low", "medium", "high", "unknown", "n/a", "pending", "verified", "incomplete", "completed", "requires approval"];
102
+ const X = (e) => {
103
+ const a = Array.from(e.querySelectorAll("thead th"));
104
+ Array.from(e.querySelectorAll("tbody tr")).forEach((t, r) => {
105
+ const s = Array.from(t.querySelectorAll("th, td")), i = ["0", "low", "medium", "high", "unknown", "n/a", "pending", "verified", "overdue", "incomplete", "complete", "completed", "approval required", "requires approval", "to do", "not started", "warning", "error"];
106
106
  s.forEach((o, c) => {
107
107
  const n = a[c];
108
108
  if (typeof n < "u") {
@@ -113,20 +113,20 @@ const J = (t) => {
113
113
  }
114
114
  });
115
115
  });
116
- }, Ae = (t) => {
116
+ }, At = (e) => {
117
117
  let a = 0;
118
- return Array.from(t.querySelectorAll("tbody tr")).forEach((e, r) => {
119
- let s = window.getComputedStyle(document.querySelector("html")), i = e.querySelector(":scope > *:last-child > *:first-child");
118
+ return Array.from(e.querySelectorAll("tbody tr")).forEach((t, r) => {
119
+ let s = window.getComputedStyle(document.querySelector("html")), i = t.querySelector(":scope > *:last-child > *:first-child");
120
120
  if (i) {
121
121
  i.classList.add("text-nowrap");
122
122
  let o = i.offsetWidth / parseFloat(s.fontSize);
123
123
  o += 1.7, a = a > o ? a : o;
124
124
  }
125
125
  }), a;
126
- }, Se = (t) => {
127
- if (t.closest(".table--fullwidth") || t.querySelectorAll("thead tr th").length < 4)
126
+ }, St = (e) => {
127
+ if (e.closest(".table--fullwidth") || e.querySelectorAll("thead tr th").length < 4)
128
128
  return !1;
129
- Array.from(t.querySelectorAll("tbody tr")).forEach((a, e) => {
129
+ Array.from(e.querySelectorAll("tbody tr")).forEach((a, t) => {
130
130
  let r = a.querySelector(":scope > :is(td,th):first-child"), s = r.textContent;
131
131
  if (s != "")
132
132
  r.innerHTML = `<span class="td__content">${s}</span><button type="button" class="d-none">${s}</button>`;
@@ -135,25 +135,25 @@ const J = (t) => {
135
135
  i.innerHTML = `<span class="td__content">${o}</span><button type="button" class="d-none">${o}</button>`;
136
136
  }
137
137
  });
138
- }, ke = (t) => {
139
- t.addEventListener("click", (a) => {
138
+ }, kt = (e) => {
139
+ e.addEventListener("click", (a) => {
140
140
  if (a && a.target instanceof HTMLElement && a.target.closest("tr > :is(td,th):first-child button")) {
141
- let e = a.target.closest("tr > :is(td,th):first-child button"), r = e.parentNode.closest("tr");
142
- r.getAttribute("data-view") == "full" ? r.setAttribute("data-view", "default") : r.setAttribute("data-view", "full"), e.blur();
141
+ let t = a.target.closest("tr > :is(td,th):first-child button"), r = t.parentNode.closest("tr");
142
+ r.getAttribute("data-view") == "full" ? r.setAttribute("data-view", "default") : r.setAttribute("data-view", "full"), t.blur();
143
143
  }
144
144
  });
145
- }, X = (t, a) => {
146
- let e = a.querySelector("[data-search]");
147
- if (!e)
145
+ }, Q = (e, a) => {
146
+ let t = a.querySelector("[data-search]");
147
+ if (!t)
148
148
  return !1;
149
- const r = e.getAttribute("id"), s = e.getAttribute("data-search").split(",");
150
- let i = e.parentNode, o = {};
149
+ const r = t.getAttribute("id"), s = t.getAttribute("data-search").split(",");
150
+ let i = t.parentNode, o = {};
151
151
  s.forEach((c, n) => {
152
- Array.from(t.querySelectorAll('td[data-label="' + c.trim() + '"]')).forEach((l, h) => {
152
+ Array.from(e.querySelectorAll('td[data-label="' + c.trim() + '"]')).forEach((l, h) => {
153
153
  l.querySelector(".td__content") ? o[l.querySelector(".td__content").textContent] = l.querySelector(".td__content").textContent : o[l.textContent] = l.textContent;
154
154
  });
155
- }), e.setAttribute("list", `${r}_list`), e.setAttribute("autocomplete", "off"), i.querySelector("datalist") || (i.innerHTML += `<datalist id="${r}_list"></datalist>`), i.querySelector("datalist").innerHTML = `${Object.keys(o).map((c) => `<option value="${c}"></option>`).join("")}`;
156
- }, Le = (t, a, e, r, s) => {
155
+ }), t.setAttribute("list", `${r}_list`), t.setAttribute("autocomplete", "off"), i.querySelector("datalist") || (i.innerHTML += `<datalist id="${r}_list"></datalist>`), i.querySelector("datalist").innerHTML = `${Object.keys(o).map((c) => `<option value="${c}"></option>`).join("")}`;
156
+ }, Lt = (e, a, t, r, s) => {
157
157
  var i;
158
158
  let o = function(l = !1) {
159
159
  if (a.hasAttribute("data-ajax")) {
@@ -161,18 +161,18 @@ const J = (t) => {
161
161
  let h = a.querySelector("[data-pagination]");
162
162
  h.value = 1, r.setAttribute("data-page", 1);
163
163
  }
164
- te(t, a, e, r);
164
+ at(e, a, t, r);
165
165
  } else
166
- a.hasAttribute("data-submit") ? a.submit() : (Q(t, a, r), W(r, e), K(t, a));
166
+ a.hasAttribute("data-submit") ? a.submit() : (tt(e, a, r), G(r, t), K(e, a));
167
167
  };
168
168
  a.addEventListener("keyup", (l) => {
169
169
  clearTimeout(i), l && l.target instanceof HTMLElement && l.target.closest("[data-search]") && (i = setTimeout(function() {
170
170
  o();
171
171
  }, 500));
172
172
  }), a.addEventListener("change", (l) => {
173
- clearTimeout(i), l && l.target instanceof HTMLElement && l.target.closest("[data-sort]") && (a.hasAttribute("data-submit") || Y(t, a, s), o()), l && l.target instanceof HTMLElement && l.target.closest("[data-search]") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && l.target.closest("form .dialog__wrapper > dialog") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && !l.target.closest("form dialog") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-show]") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-mimic]") && o();
173
+ clearTimeout(i), l && l.target instanceof HTMLElement && l.target.closest("[data-sort]") && (a.hasAttribute("data-submit") || Z(e, a, s), o()), l && l.target instanceof HTMLElement && l.target.closest("[data-search]") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && l.target.closest("form .dialog__wrapper > dialog") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && !l.target.closest("form dialog") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-show]") && o(), l && l.target instanceof HTMLElement && l.target.closest("[data-mimic]") && o();
174
174
  }), a.addEventListener("click", (l) => {
175
- clearTimeout(i), l && l.target instanceof HTMLElement && l.target.closest('dialog button:not([type="button"])') && l.target.closest('dialog button:not([type="button"])').closest("dialog").close(), l && l.target instanceof HTMLElement && l.target.closest(".dialog__close") && (l.preventDefault(), l.stopPropagation()), l && l.target instanceof HTMLElement && l.target.closest("[data-clear]") && (a.reset(), a.hasAttribute("data-submit") || Y(t, a, s), o());
175
+ clearTimeout(i), l && l.target instanceof HTMLElement && l.target.closest('dialog button:not([type="button"])') && l.target.closest('dialog button:not([type="button"])').closest("dialog").close(), l && l.target instanceof HTMLElement && l.target.closest(".dialog__close") && (l.preventDefault(), l.stopPropagation()), l && l.target instanceof HTMLElement && l.target.closest("[data-clear]") && (a.reset(), a.hasAttribute("data-submit") || Z(e, a, s), o());
176
176
  }), a.addEventListener("submit", (l) => {
177
177
  clearTimeout(i), a.hasAttribute("data-submit") || l.preventDefault(), o();
178
178
  }), a.addEventListener("force", (l) => {
@@ -190,17 +190,17 @@ const J = (t) => {
190
190
  }), c.forEach((l, h) => {
191
191
  const f = function() {
192
192
  let b = [], y = new FormData(l);
193
- for (const [p, A] of y)
194
- document.querySelector(`[data-mimic="${p}"]`) && !b.includes(p) ? (b.push(p), document.querySelector(`[data-mimic="${p}"]`).value = A) : document.querySelector(`[data-mimic="${p}"]`) && (document.querySelector(`[data-mimic="${p}"]`).value += "," + A);
193
+ for (const [p, w] of y)
194
+ document.querySelector(`[data-mimic="${p}"]`) && !b.includes(p) ? (b.push(p), document.querySelector(`[data-mimic="${p}"]`).value = w) : document.querySelector(`[data-mimic="${p}"]`) && (document.querySelector(`[data-mimic="${p}"]`).value += "," + w);
195
195
  for (const p of b) {
196
- const A = new Event("force");
197
- a.dispatchEvent(A);
196
+ const w = new Event("force");
197
+ a.dispatchEvent(w);
198
198
  }
199
199
  for (const p of n)
200
200
  if (!y.has(p) && l.querySelector(`[name="${p}"]`)) {
201
201
  document.querySelector(`[data-mimic="${p}"]`).value = "";
202
- const A = new Event("force");
203
- a.dispatchEvent(A);
202
+ const w = new Event("force");
203
+ a.dispatchEvent(w);
204
204
  }
205
205
  };
206
206
  l.addEventListener("force", (b) => {
@@ -209,29 +209,29 @@ const J = (t) => {
209
209
  f();
210
210
  });
211
211
  });
212
- }, Y = (t, a, e) => {
212
+ }, Z = (e, a, t) => {
213
213
  if (a.getAttribute("data-ajax"))
214
214
  return !1;
215
- let r = t.querySelector("tbody"), s = a.querySelector("[data-sort]"), i = s.querySelector(`option:nth-child(${s.selectedIndex + 1})`), o = i.getAttribute("data-sort"), c = i.getAttribute("data-order"), n = i.getAttribute("data-format");
215
+ let r = e.querySelector("tbody"), s = a.querySelector("[data-sort]"), i = s.querySelector(`option:nth-child(${s.selectedIndex + 1})`), o = i.getAttribute("data-sort"), c = i.getAttribute("data-order"), n = i.getAttribute("data-format");
216
216
  if (!o)
217
- return r.innerHTML = e.innerHTML, J(t), !1;
217
+ return r.innerHTML = t.innerHTML, X(e), !1;
218
218
  let l = [];
219
219
  ["asc", "desc", "descending"].includes(c) || (l = c.split(","));
220
220
  let h = [];
221
221
  Array.from(r.querySelectorAll("tr")).forEach((b, y) => {
222
222
  let p = b.querySelector('td[data-label="' + o + '"], th[data-label="' + o + '"]').textContent.trim();
223
- l.length && l.includes(p) && (p = l.indexOf(p)), ge(p) && (p = _e(p, 10)), n && n == "date" && (p = new Date(p));
224
- const A = { index: p, row: b };
225
- h.push(A);
223
+ l.length && l.includes(p) && (p = l.indexOf(p)), gt(p) && (p = _t(p, 10)), n && n == "date" && (p = new Date(p));
224
+ const w = { index: p, row: b };
225
+ h.push(w);
226
226
  }), h.sort((b, y) => b.index > y.index ? 1 : -1), (c == "descending" || c == "desc") && (h = h.reverse());
227
227
  let f = "";
228
228
  h.forEach((b, y) => {
229
229
  f += b.row.outerHTML;
230
230
  }), r.innerHTML = f;
231
- }, Q = (t, a, e) => {
232
- t.classList.remove("table--filtered");
231
+ }, tt = (e, a, t) => {
232
+ e.classList.remove("table--filtered");
233
233
  let r = [], s = [], i = 0, o = a.querySelector("[data-pagination]") ? parseInt(a.querySelector("[data-pagination]").value) : 1, c = a.querySelector("[data-show]") ? parseInt(a.querySelector("[data-show]").value) : 15;
234
- if (Array.from(t.querySelectorAll("tbody tr")).forEach((n, l) => {
234
+ if (Array.from(e.querySelectorAll("tbody tr")).forEach((n, l) => {
235
235
  n.classList.remove("filtered"), n.classList.remove("filtered--matched"), n.classList.remove("filtered--show"), n.removeAttribute("data-filtered-by");
236
236
  }), Array.from(a.querySelectorAll("[data-filter]")).forEach((n, l) => {
237
237
  if (!(n.type == "radio" && !n.checked) && !(n.type == "checkbox" && !n.checked)) {
@@ -253,19 +253,19 @@ const J = (t) => {
253
253
  n.innerHTML = "";
254
254
  }), r.length && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((n, l) => {
255
255
  n.innerHTML += `(${r.length})`;
256
- }), t.classList.add("table--filtered");
256
+ }), e.classList.add("table--filtered");
257
257
  for (const [n, l] of Object.entries(r))
258
- Array.from(t.querySelectorAll("tbody tr:not(.filtered)")).forEach((h, f) => {
258
+ Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((h, f) => {
259
259
  let b = !1;
260
260
  l.forEach((y, p) => {
261
- let A = h.querySelector(`[data-label="${n}"]`);
261
+ let w = h.querySelector(`[data-label="${n}"]`);
262
262
  if (y && y == "$today")
263
263
  y = U("date", /* @__PURE__ */ new Date());
264
264
  else if (y && y == "$yesterday") {
265
265
  let k = /* @__PURE__ */ new Date();
266
266
  k.setDate(k.getDate() - 1), y = U("date", k);
267
267
  } else if (y && (y == "$thisWeek" || y == "$lastWeek")) {
268
- let k = /* @__PURE__ */ new Date(), q = new Date(k.setDate(k.getDate() - (k.getDay() - 1))), v = new Date(k.setDate(k.getDate() - k.getDay() + 7)), L = new Date(A.textContent.toLowerCase());
268
+ let k = /* @__PURE__ */ new Date(), q = new Date(k.setDate(k.getDate() - (k.getDay() - 1))), v = new Date(k.setDate(k.getDate() - k.getDay() + 7)), L = new Date(w.textContent.toLowerCase());
269
269
  if (k.setHours(0, 0, 0, 0), q.setHours(0, 0, 0, 0), v.setHours(0, 0, 0, 0), L.setHours(0, 0, 0, 0), y == "$thisWeek")
270
270
  b = L >= q && L <= v;
271
271
  else {
@@ -275,41 +275,41 @@ const J = (t) => {
275
275
  } else if (y && y == "$thisMonth") {
276
276
  let k = /* @__PURE__ */ new Date(), q = k.getFullYear(), v = k.getMonth();
277
277
  var I = new Date(q, v, 1), R = new Date(q, v + 1, 0);
278
- let L = new Date(A.textContent.toLowerCase());
278
+ let L = new Date(w.textContent.toLowerCase());
279
279
  I.setHours(0, 0, 0, 0), R.setHours(0, 0, 0, 0), L.setHours(0, 0, 0, 0), b = L >= I && L <= R;
280
280
  } else if (y && y == "$lastMonth") {
281
281
  let k = /* @__PURE__ */ new Date(), q = k.getFullYear(), v = k.getMonth();
282
282
  var P = new Date(q, v - 1, 1), C = new Date(q, v, 0);
283
- let L = new Date(A.textContent.toLowerCase());
283
+ let L = new Date(w.textContent.toLowerCase());
284
284
  P.setHours(0, 0, 0, 0), C.setHours(0, 0, 0, 0), L.setHours(0, 0, 0, 0), b = L >= P && L <= C;
285
285
  }
286
- A && A.textContent.toLowerCase().includes(y.toLowerCase()) && (b = !0);
286
+ w && w.textContent.toLowerCase().includes(y.toLowerCase()) && (b = !0);
287
287
  }), b || (h.classList.add("filtered"), h.setAttribute("data-filtered-by", n));
288
288
  });
289
- Array.from(t.querySelectorAll("tbody tr:not(.filtered)")).forEach((n, l) => {
289
+ Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((n, l) => {
290
290
  let h = !(s.length > 0 && s[0].value.length >= 3);
291
291
  s.forEach((f, b) => {
292
292
  let y = n.querySelector(`[data-label="${f.column}"]`);
293
293
  y && f.value.length >= 3 && y.textContent.toLowerCase().includes(f.value.toLowerCase()) && (h = !0);
294
294
  }), h || n.classList.add("filtered");
295
- }), Array.from(t.querySelectorAll("tbody tr:not(.filtered")).forEach((n, l) => {
295
+ }), Array.from(e.querySelectorAll("tbody tr:not(.filtered")).forEach((n, l) => {
296
296
  i++, n.classList.add("filtered--matched"), Math.ceil(i / c) == parseInt(o) && n.classList.add("filtered--show");
297
- }), e && (e.setAttribute("data-page", o), e.setAttribute("data-pages", Math.ceil(i / c)), e.setAttribute("data-total", i), e.setAttribute("data-show", c));
298
- }, K = (t, a, e) => {
297
+ }), t && (t.setAttribute("data-page", o), t.setAttribute("data-pages", Math.ceil(i / c)), t.setAttribute("data-total", i), t.setAttribute("data-show", c));
298
+ }, K = (e, a, t) => {
299
299
  Array.from(a.querySelectorAll("[data-query]")).forEach((r, s) => {
300
300
  let i = r.getAttribute("data-query"), o;
301
301
  if (i == "total")
302
- e.hasAttribute("data-total") ? o = e.getAttribute("data-total") : o = (t.classList.contains("table--filtered"), t.querySelectorAll("tbody tr").length);
302
+ t.hasAttribute("data-total") ? o = t.getAttribute("data-total") : o = (e.classList.contains("table--filtered"), e.querySelectorAll("tbody tr").length);
303
303
  else if (!i.includes(" == ") && i.includes(" & ")) {
304
304
  let c = i.split(" & "), n = "";
305
305
  c.forEach((l) => {
306
306
  n += `:not([data-filtered-by="${l}"])`;
307
- }), o = Array.from(t.querySelectorAll(`tbody tr${n}`)).length;
307
+ }), o = Array.from(e.querySelectorAll(`tbody tr${n}`)).length;
308
308
  } else if (!i.includes(" == "))
309
- o = Array.from(t.querySelectorAll(`tbody tr:not([data-filtered-by="${i}"])`)).length;
309
+ o = Array.from(e.querySelectorAll(`tbody tr:not([data-filtered-by="${i}"])`)).length;
310
310
  else if (i.includes(" && ")) {
311
311
  let c = i.split(" && ");
312
- o = Array.from(t.querySelectorAll("tbody tr:not(.filtered)")).filter(function(n) {
312
+ o = Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).filter(function(n) {
313
313
  let l = !0;
314
314
  for (const [h, f] of Object.entries(c)) {
315
315
  let b = f.split(" == ");
@@ -319,22 +319,22 @@ const J = (t) => {
319
319
  }).length;
320
320
  } else {
321
321
  let c = i.split(" == ");
322
- o = Array.from(t.querySelectorAll(`tbody tr.filtered--matched td[data-label="${c[0]}"], tbody tr[data-filtered-by="${c[0]}"] td[data-label="${c[0]}"]`)).filter(function(n) {
322
+ o = Array.from(e.querySelectorAll(`tbody tr.filtered--matched td[data-label="${c[0]}"], tbody tr[data-filtered-by="${c[0]}"] td[data-label="${c[0]}"]`)).filter(function(n) {
323
323
  return n.textContent === c[1];
324
324
  }).length;
325
325
  }
326
326
  r.hasAttribute("data-total") ? r.setAttribute("data-total", o) : r.innerHTML = o;
327
327
  });
328
- }, xe = function(t, a, e, r) {
329
- e.addEventListener("click", (s) => {
328
+ }, xt = function(e, a, t, r) {
329
+ t.addEventListener("click", (s) => {
330
330
  if (s && s.target instanceof HTMLElement && s.target.closest("[data-page]")) {
331
331
  s.preventDefault();
332
332
  let i = a.querySelector("[data-pagination]"), o = s.target.closest("[data-page]").getAttribute("data-page");
333
- if (i.value = o, r.setAttribute("data-page", o), a.dispatchEvent(new Event("paginate")), t.hasAttribute("data-show-history")) {
333
+ if (i.value = o, r.setAttribute("data-page", o), a.dispatchEvent(new Event("paginate")), e.hasAttribute("data-show-history")) {
334
334
  const l = new URL(location);
335
335
  l.searchParams.set("page", o), history.pushState({ type: "pagination", form: a.getAttribute("id"), page: o }, "", l);
336
336
  }
337
- const c = -250, n = t.getBoundingClientRect().top + window.pageYOffset + c;
337
+ const c = -250, n = e.getBoundingClientRect().top + window.pageYOffset + c;
338
338
  window.scrollTo({ top: n, behavior: "smooth" });
339
339
  }
340
340
  if (s && s.target instanceof HTMLElement && s.target.closest("[data-show]")) {
@@ -343,15 +343,15 @@ const J = (t) => {
343
343
  i.value = o, r.setAttribute("data-show", o), a.dispatchEvent(new Event("submit"));
344
344
  }
345
345
  });
346
- }, qe = (t, a) => {
347
- if (!t)
346
+ }, qt = (e, a) => {
347
+ if (!e)
348
348
  return !1;
349
- t.addEventListener("click", (e) => {
350
- $e(a);
349
+ e.addEventListener("click", (t) => {
350
+ $t(a);
351
351
  });
352
- }, $e = function(t) {
353
- for (var a = [], e = t.getElementsByTagName("tr"), r = 0; r < e.length; r++) {
354
- for (var s = e[r].querySelectorAll("td,th"), i = [], o = 0; o < s.length; o++)
352
+ }, $t = function(e) {
353
+ for (var a = [], t = e.getElementsByTagName("tr"), r = 0; r < t.length; r++) {
354
+ for (var s = t[r].querySelectorAll("td,th"), i = [], o = 0; o < s.length; o++)
355
355
  i.push(`"${s[o].textContent}"`);
356
356
  a.push(i.join(","));
357
357
  }
@@ -362,29 +362,29 @@ const J = (t) => {
362
362
  n.download = "export.csv";
363
363
  var l = window.URL.createObjectURL(c);
364
364
  n.href = l, n.style.display = "none", document.body.appendChild(n), n.click(), document.body.removeChild(n);
365
- }, ee = function(t, a, e, r) {
366
- if (J(t), Se(t), K(t, a, r), r && r.classList.contains("table--cta")) {
365
+ }, et = function(e, a, t, r) {
366
+ if (X(e), St(e), K(e, a, r), r && r.classList.contains("table--cta")) {
367
367
  let s = function() {
368
- Array.from(t.querySelectorAll("tr")).forEach((i, o) => {
368
+ Array.from(e.querySelectorAll("tr")).forEach((i, o) => {
369
369
  let c = i.offsetHeight;
370
370
  i.style.setProperty("--row-height", `${c}px`);
371
371
  });
372
372
  };
373
373
  if (!r.hasAttribute("data-cta-width")) {
374
- const i = Ae(t);
374
+ const i = At(e);
375
375
  r.style.setProperty("--cta-width", `${i}rem`), r.setAttribute("data-cta-width", `${i}rem`);
376
376
  }
377
- new ResizeObserver(s).observe(t);
377
+ new ResizeObserver(s).observe(e);
378
378
  }
379
- }, te = function(t, a, e, r) {
380
- return we(this, void 0, void 0, function* () {
381
- const s = (f, b, y) => b.split(/[\.\[\]\'\"]/).filter((p) => p).reduce((p, A) => p ? p[A] : y, f);
382
- let i = new FormData(a), o = new URLSearchParams(i).toString(), c = t.querySelectorAll("thead tr th"), n = t.querySelector("tbody"), l = a.getAttribute("data-ajax");
379
+ }, at = function(e, a, t, r) {
380
+ return wt(this, void 0, void 0, function* () {
381
+ const s = (f, b, y) => b.split(/[\.\[\]\'\"]/).filter((p) => p).reduce((p, w) => p ? p[w] : y, f);
382
+ let i = new FormData(a), o = new URLSearchParams(i).toString(), c = e.querySelectorAll("thead tr th"), n = e.querySelector("tbody"), l = a.getAttribute("data-ajax");
383
383
  r.classList.add("table--loading"), window.controller || (window.controller = []), window.controller[l] && window.controller[l].abort(), window.controller[l] = new AbortController();
384
384
  const { signal: h } = controller[l];
385
385
  try {
386
386
  yield fetch(l + "?" + o, { signal: h, method: "get", credentials: "same-origin", headers: new Headers({ "Content-Type": "application/json", Accept: "application/json", "X-Requested-With": "XMLHttpRequest" }) }).then((f) => f.json()).then((f) => {
387
- let b = a.hasAttribute("data-schema") ? a.getAttribute("data-schema") : "data", y = a.hasAttribute("data-schema-total") ? a.getAttribute("data-schema-total") : "meta.total", p = a.hasAttribute("data-schema-page") ? a.getAttribute("data-schema-page") : "meta.current_page", A = s(f, y, 1), I = s(f, p, 1), R = s(f, b), P = r.hasAttribute("data-empty-msg") ? r.getAttribute("data-empty-msg") : "No results found";
387
+ let b = a.hasAttribute("data-schema") ? a.getAttribute("data-schema") : "data", y = a.hasAttribute("data-schema-total") ? a.getAttribute("data-schema-total") : "meta.total", p = a.hasAttribute("data-schema-page") ? a.getAttribute("data-schema-page") : "meta.current_page", w = s(f, y, 1), I = s(f, p, 1), R = s(f, b), P = r.hasAttribute("data-empty-msg") ? r.getAttribute("data-empty-msg") : "No results found";
388
388
  if (R ? (n.innerHTML = "", R.forEach((C, k) => {
389
389
  var q = document.createElement("tr");
390
390
  c.forEach((v, L) => {
@@ -392,27 +392,27 @@ const J = (t) => {
392
392
  var D = document.createElement("td");
393
393
  if (D.setAttribute("data-label", v.innerText), v.getAttribute("data-output")) {
394
394
  var j = v.getAttribute("data-output");
395
- E = j.replace(new RegExp(/{(.*?)}/, "gm"), function(oe) {
396
- return s(C, oe.replace("{", "").replace("}", ""));
395
+ E = j.replace(new RegExp(/{(.*?)}/, "gm"), function(it) {
396
+ return s(C, it.replace("{", "").replace("}", ""));
397
397
  });
398
398
  }
399
399
  if (v.hasAttribute("data-output-array")) {
400
400
  var j = v.getAttribute("data-output");
401
- let ie = s(C, j.replace("{", "").replace("}", ""));
402
- E = "", ie.forEach((G, no) => {
403
- let se = v.getAttribute("data-output-array"), B = "";
401
+ let st = s(C, j.replace("{", "").replace("}", ""));
402
+ E = "", st.forEach((Y, no) => {
403
+ let nt = v.getAttribute("data-output-array"), B = "";
404
404
  if (v.hasAttribute("data-output-array-property") && v.hasAttribute("data-output-array-transform")) {
405
- const O = s(G, v.getAttribute("data-output-array-property")), ne = JSON.parse(v.getAttribute("data-output-array-transform"))[O];
406
- B = se.replace(`{${v.getAttribute("data-output-array-property")}}`, ne);
405
+ const O = s(Y, v.getAttribute("data-output-array-property")), lt = JSON.parse(v.getAttribute("data-output-array-transform"))[O];
406
+ B = nt.replace(`{${v.getAttribute("data-output-array-property")}}`, lt);
407
407
  }
408
408
  B = B.replace(new RegExp(/{(.*?)}/, "gm"), function(O) {
409
- return s(G, O.replace("{", "").replace("}", ""));
409
+ return s(Y, O.replace("{", "").replace("}", ""));
410
410
  }), E += B;
411
411
  });
412
412
  }
413
413
  v.hasAttribute("data-transform") && (E = JSON.parse(v.getAttribute("data-transform"))[E], !E && v.hasAttribute("data-default") && (E = v.getAttribute("data-default"))), D.innerHTML = E, q.appendChild(D);
414
414
  }), n.appendChild(q);
415
- }), X(t, a), r.setAttribute("data-total", parseInt(A)), r.setAttribute("data-page", parseInt(I)), r.setAttribute("data-pages", Math.ceil(r.getAttribute("data-total") / r.getAttribute("data-show"))), ee(t, a, e, r), W(r, e), parseInt(A) == 0 && (n.innerHTML = `<tr><td colspan="100%"><span>${P}</span></td></tr>`), r.classList.remove("table--loading"), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Ajax table loaded", url: l, formData: o })) : n.innerHTML = '<tr><td colspan="100%"><span>Error loading table</span></td></tr>', a.hasAttribute("data-ajax-post")) {
415
+ }), Q(e, a), r.setAttribute("data-total", parseInt(w)), r.setAttribute("data-page", parseInt(I)), r.setAttribute("data-pages", Math.ceil(r.getAttribute("data-total") / r.getAttribute("data-show"))), et(e, a, t, r), G(r, t), parseInt(w) == 0 && (n.innerHTML = `<tr><td colspan="100%"><span>${P}</span></td></tr>`), r.classList.remove("table--loading"), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Ajax table loaded", url: l, formData: o })) : n.innerHTML = '<tr><td colspan="100%"><span>Error loading table</span></td></tr>', a.hasAttribute("data-ajax-post")) {
416
416
  const C = new XMLHttpRequest();
417
417
  C.open("GET", `${window.location.href}?ajax=true&${o}`), C.send();
418
418
  }
@@ -421,26 +421,23 @@ const J = (t) => {
421
421
  console.log(f);
422
422
  }
423
423
  });
424
- }, U = (t, a) => {
425
- switch (t) {
424
+ }, U = (e, a) => {
425
+ switch (e) {
426
426
  case "datetime":
427
427
  return new Date(a).toLocaleDateString("en-gb", { weekday: "short", year: "2-digit", month: "long", day: "numeric" }) + " " + new Date(a).toLocaleTimeString("en-gb", { hour: "2-digit", minute: "2-digit" });
428
428
  case "date":
429
429
  return new Date(a).toLocaleDateString("en-gb", { year: "2-digit", month: "long", day: "numeric" });
430
430
  case "capitalise":
431
- return a = ve(a);
431
+ return a = vt(a);
432
432
  }
433
433
  };
434
- class Ee extends HTMLElement {
434
+ class Et extends HTMLElement {
435
435
  constructor() {
436
436
  super(), this.attachShadow({ mode: "open" });
437
- 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`, r = this.classList.contains("table--cta"), s = this.classList.contains("table--export");
438
- let i = this.classList.toString();
439
- i = i.replace("table--cta", ""), i = i.replace("table--loading", "");
440
- const o = document.createElement("template");
441
- o.innerHTML = `
437
+ const a = 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") : `${a}/css/core.min.css`, r = document.createElement("template");
438
+ r.innerHTML = `
442
439
  <style>
443
- @import "${e}";
440
+ @import "${t}";
444
441
 
445
442
  :host(.mh-sm){
446
443
  max-height: none!important;
@@ -454,31 +451,31 @@ class Ee extends HTMLElement {
454
451
 
455
452
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
456
453
  </style>
457
- ${r ? '<div class="table--cta">' : ""}
458
- <div class="table__wrapper ${i}">
454
+ <div class="table--cta">
455
+ <div class="table__wrapper">
459
456
  <slot></slot>
460
457
  </div>
461
- ${r ? "</div>" : ""}
462
- ${s ? '<button class="link" type="button" data-export>Export table as CSV</button>' : ""}
458
+ </div>
463
459
  <div class="table__pagination"></div>
464
- `, this.shadowRoot.appendChild(o.content.cloneNode(!0));
465
- const c = new URLSearchParams(window.location.search);
466
- this.hasAttribute("data-total") || this.setAttribute("data-total", this.querySelectorAll("table tbody tr").length), this.hasAttribute("data-page") || this.setAttribute("data-page", c.has("page") ? c.get("page") : 1), this.hasAttribute("data-show") || this.setAttribute("data-show", 15), this.hasAttribute("data-increment") || this.setAttribute("data-increment", 15), this.setAttribute("data-pages", Math.ceil(this.getAttribute("data-total") / this.getAttribute("data-show")));
460
+ `, this.shadowRoot.appendChild(r.content.cloneNode(!0));
467
461
  }
468
462
  connectedCallback() {
469
- this.table = this.querySelector("table"), this.savedTableBody = this.table.querySelector("tbody").cloneNode(!0), this.pagination = this.shadowRoot.querySelector(".table__pagination"), this.form = document.createElement("form"), this.hasAttribute("data-filterby") ? this.form = document.querySelector(`#${this.getAttribute("data-filterby")}`) : this.table.parentNode.insertBefore(this.form, this.table.nextSibling), this.form.hasAttribute("data-ajax") && this.table.classList.add("table--ajax"), X(this.table, this.form), this.form.querySelector("[data-page]") || (this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute("data-page")}" data-pagination="true" />`), this.form.querySelector("[data-show]") || (this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute("data-show")}" data-show="true" />`), ke(this.table), Le(this.table, this.form, this.pagination, this, this.savedTableBody), xe(this.table, this.form, this.pagination, this), qe(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? te(this.table, this.form, this.pagination, this) : (ee(this.table, this.form, this.pagination, this), Q(this.table, this.form, this), W(this, this.pagination), K(this.table, this.form)), this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll", (a) => {
463
+ const a = new URLSearchParams(window.location.search);
464
+ this.hasAttribute("data-total") || this.setAttribute("data-total", this.querySelectorAll("table tbody tr").length), this.hasAttribute("data-page") || this.setAttribute("data-page", a.has("page") ? a.get("page") : 1), this.hasAttribute("data-show") || this.setAttribute("data-show", 15), this.hasAttribute("data-increment") || this.setAttribute("data-increment", 15), this.setAttribute("data-pages", Math.ceil(this.getAttribute("data-total") / this.getAttribute("data-show")));
465
+ let t = this.classList.toString();
466
+ t = t.replace("table--cta", ""), t = t.replace("table--loading", ""), this.shadowRoot.querySelector(".table__wrapper").className += ` ${t}`, this.table = this.querySelector("table"), this.savedTableBody = this.table.querySelector("tbody").cloneNode(!0), this.pagination = this.shadowRoot.querySelector(".table__pagination"), this.classList.contains("table--cta") || this.shadowRoot.querySelector(".table--cta").classList.remove("table--cta"), this.form = document.createElement("form"), this.hasAttribute("data-filterby") ? this.form = document.querySelector(`#${this.getAttribute("data-filterby")}`) : this.table.parentNode.insertBefore(this.form, this.table.nextSibling), this.form.hasAttribute("data-ajax") && this.table.classList.add("table--ajax"), Q(this.table, this.form), this.form.querySelector("[data-page]") || (this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute("data-page")}" data-pagination="true" />`), this.form.querySelector("[data-show]") || (this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute("data-show")}" data-show="true" />`), kt(this.table), Lt(this.table, this.form, this.pagination, this, this.savedTableBody), xt(this.table, this.form, this.pagination, this), qt(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? at(this.table, this.form, this.pagination, this) : (et(this.table, this.form, this.pagination, this), tt(this.table, this.form, this), G(this, this.pagination), K(this.table, this.form)), this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll", (r) => {
470
467
  this.table.querySelector("dialog[open]") && (this.table.querySelector("dialog[open]").close(), this.table.querySelector(".dialog__wrapper > button.active").classList.remove("active"));
471
468
  });
472
469
  }
473
470
  static get observedAttributes() {
474
471
  return ["data-total", "data-pages", "data-page", "data-show"];
475
472
  }
476
- attributeChangedCallback(a, e, r) {
473
+ attributeChangedCallback(a, t, r) {
477
474
  }
478
475
  }
479
- const Te = (t) => t.charAt(0).toUpperCase() + t.slice(1), Me = (t) => t.replace(/_/g, " "), He = (t) => t.replace(/ /g, "_"), Ce = function(t) {
480
- return t = t.toLowerCase(), t = He(t), t = t.replace(/\W/g, ""), t;
481
- }, De = {
476
+ const Tt = (e) => e.charAt(0).toUpperCase() + e.slice(1), Mt = (e) => e.replace(/_/g, " "), Ht = (e) => e.replace(/ /g, "_"), Ct = function(e) {
477
+ return e = e.toLowerCase(), e = Ht(e), e = e.replace(/\W/g, ""), e;
478
+ }, Dt = {
482
479
  name: "Table",
483
480
  props: {
484
481
  items: {
@@ -492,42 +489,42 @@ const Te = (t) => t.charAt(0).toUpperCase() + t.slice(1), Me = (t) => t.replace(
492
489
  },
493
490
  computed: {
494
491
  cellHeading() {
495
- return (t) => `${Te(Me(t))}`;
492
+ return (e) => `${Tt(Mt(e))}`;
496
493
  }
497
494
  },
498
495
  created() {
499
496
  this.$nextTick(function() {
500
- window.customElements.get("iam-table") || window.customElements.define("iam-table", Ee);
497
+ window.customElements.get("iam-table") || window.customElements.define("iam-table", Et);
501
498
  });
502
499
  },
503
500
  updated() {
504
501
  }
505
- }, Ne = { key: 0 }, Re = { key: 0 }, ze = ["data-row-id"], Ie = ["innerHTML"];
506
- function Pe(t, a, e, r, s, i) {
502
+ }, Nt = { key: 0 }, Rt = { key: 0 }, zt = ["data-row-id"], It = ["innerHTML"];
503
+ function Pt(e, a, t, r, s, i) {
507
504
  return u(), m("iam-table", null, [
508
- e.fields ? (u(), m("table", Ne, [
505
+ t.fields ? (u(), m("table", Nt, [
509
506
  d("thead", null, [
510
507
  d("tr", null, [
511
- (u(!0), m(T, null, M(e.fields, (o) => (u(), m("th", {
508
+ (u(!0), m(T, null, M(t.fields, (o) => (u(), m("th", {
512
509
  key: o.key
513
510
  }, $(i.cellHeading(o.key)), 1))), 128))
514
511
  ])
515
512
  ]),
516
- e.items ? (u(), m("tbody", Re, [
517
- (u(!0), m(T, null, M(e.items, (o, c) => (u(), m("tr", {
513
+ t.items ? (u(), m("tbody", Rt, [
514
+ (u(!0), m(T, null, M(t.items, (o, c) => (u(), m("tr", {
518
515
  key: c,
519
516
  "data-row-id": o.rowid
520
517
  }, [
521
518
  (u(!0), m(T, null, M(Object.fromEntries(Object.entries(o).filter(([n]) => n !== "rowid")), (n, l) => (u(), m("td", {
522
519
  key: l,
523
520
  innerHTML: n
524
- }, null, 8, Ie))), 128))
525
- ], 8, ze))), 128))
521
+ }, null, 8, It))), 128))
522
+ ], 8, zt))), 128))
526
523
  ])) : g("", !0)
527
- ])) : _(t.$slots, "default", { key: 1 })
524
+ ])) : _(e.$slots, "default", { key: 1 })
528
525
  ]);
529
526
  }
530
- const ae = /* @__PURE__ */ S(De, [["render", Pe]]), Be = {
527
+ const rt = /* @__PURE__ */ S(Dt, [["render", Pt]]), Bt = {
531
528
  name: "Input",
532
529
  props: {
533
530
  value: {
@@ -689,174 +686,174 @@ const ae = /* @__PURE__ */ S(De, [["render", Pe]]), Be = {
689
686
  get() {
690
687
  return this.value == null && this.options != null && this.type == "select" ? this.$attrs.multiple ? [] : this.options[0].value : this.value;
691
688
  },
692
- set(t) {
693
- this.$emit("input", t);
689
+ set(e) {
690
+ this.$emit("input", e);
694
691
  }
695
692
  }
696
693
  },
697
694
  mounted() {
698
695
  this.$nextTick(function() {
699
- let t = this.$refs.wrapper;
700
- if (t.parentNode && t.parentNode.classList.contains("form-check") || t.classList.length == 0) {
696
+ let e = this.$refs.wrapper;
697
+ if (e.parentNode && e.parentNode.classList.contains("form-check") || e.classList.length == 0) {
701
698
  const a = document.createDocumentFragment();
702
- Array.from(t.childNodes).forEach((e) => a.appendChild(e)), t.parentNode.insertBefore(a, t), t.parentNode.removeChild(t);
699
+ Array.from(e.childNodes).forEach((t) => a.appendChild(t)), e.parentNode.insertBefore(a, e), e.parentNode.removeChild(e);
703
700
  }
704
701
  });
705
702
  },
706
703
  methods: {
707
- inputKeyup(t) {
708
- this.$emit("keyupEvent", t);
704
+ inputKeyup(e) {
705
+ this.$emit("keyupEvent", e);
709
706
  },
710
707
  clickEvent() {
711
708
  this.$emit("bus");
712
709
  }
713
710
  }
714
- }, Fe = ["for", "innerHTML", "title"], je = ["innerHTML"], Oe = ["innerHTML"], Ve = ["type", "name", "id", "pattern", "list"], Ue = ["type", "name", "id", "pattern"], We = {
711
+ }, Ft = ["for", "innerHTML", "title"], jt = ["innerHTML"], Ot = ["innerHTML"], Vt = ["type", "name", "id", "pattern", "list"], Ut = ["type", "name", "id", "pattern"], Wt = {
715
712
  key: 5,
716
713
  class: "input-group"
717
- }, Ke = ["type", "name", "id", "pattern", "list"], Ge = { class: "input-group-text border-0 col-2 col-sm-1 px-0" }, Ye = {
714
+ }, Gt = ["type", "name", "id", "pattern", "list"], Kt = { class: "input-group-text border-0 col-2 col-sm-1 px-0" }, Yt = {
718
715
  key: 6,
719
716
  class: "input-group"
720
- }, Ze = ["type", "name", "id", "pattern", "list"], Je = { class: "input-group-text flex-fill" }, Xe = ["type", "name", "id", "pattern"], Qe = ["value"], et = ["id"], tt = ["value"], at = ["type", "name", "id"], rt = ["for", "innerHTML"], ot = ["type", "name", "id"], it = ["for", "innerHTML"], st = ["innerHTML"];
721
- function nt(t, a, e, r, s, i) {
717
+ }, Zt = ["type", "name", "id", "pattern", "list"], Jt = { class: "input-group-text flex-fill" }, Xt = ["type", "name", "id", "pattern"], Qt = ["value"], te = ["id"], ee = ["value"], ae = ["type", "name", "id"], re = ["for", "innerHTML"], oe = ["type", "name", "id"], ie = ["for", "innerHTML"], se = ["innerHTML"];
718
+ function ne(e, a, t, r, s, i) {
722
719
  return u(), m("div", {
723
- class: w(i.wrapperClass()),
720
+ class: A(i.wrapperClass()),
724
721
  ref: "wrapper"
725
722
  }, [
726
723
  i.needsLabel() ? (u(), m("label", {
727
724
  key: 0,
728
- class: w(`form-label${e.labelclass ? ` ${e.labelclass}` : ""}`),
729
- for: e.id,
725
+ class: A(`form-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
726
+ for: t.id,
730
727
  innerHTML: i.displayLabel(),
731
- title: e.title
732
- }, null, 10, Fe)) : g("", !0),
733
- e.prefix ? (u(), m("span", {
728
+ title: t.title
729
+ }, null, 10, Ft)) : g("", !0),
730
+ t.prefix ? (u(), m("span", {
734
731
  key: 1,
735
- class: w(`prefix ${this.prefixClass} ${e.size ? `prefix-${e.size}` : ""}`),
736
- innerHTML: e.prefix,
732
+ class: A(`prefix ${this.prefixClass} ${t.size ? `prefix-${t.size}` : ""}`),
733
+ innerHTML: t.prefix,
737
734
  role: "presentation"
738
- }, null, 10, je)) : g("", !0),
739
- e.suffix ? (u(), m("span", {
735
+ }, null, 10, jt)) : g("", !0),
736
+ t.suffix ? (u(), m("span", {
740
737
  key: 2,
741
- class: w(`suffix ${this.suffixClass} ${e.size ? `suffix-${e.size}` : ""}`),
742
- innerHTML: e.suffix,
738
+ class: A(`suffix ${this.suffixClass} ${t.size ? `suffix-${t.size}` : ""}`),
739
+ innerHTML: t.suffix,
743
740
  role: "presentation"
744
- }, null, 10, Oe)) : g("", !0),
741
+ }, null, 10, Ot)) : g("", !0),
745
742
  i.isInput() ? z((u(), m("input", H({
746
743
  key: 3,
747
744
  "onUpdate:modelValue": a[0] || (a[0] = (o) => i.inputVal = o),
748
- class: `form-control${e.size ? ` form-control-${e.size}` : ""}${e.inputclass ? ` ${e.inputclass}` : ""}`,
749
- type: e.type,
750
- name: e.name ? e.name : e.id,
751
- id: e.id,
745
+ class: `form-control${t.size ? ` form-control-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
746
+ type: t.type,
747
+ name: t.name ? t.name : t.id,
748
+ id: t.id,
752
749
  pattern: i.needPattern(),
753
750
  list: i.hasOptions()
754
- }, t.$attrs, {
751
+ }, e.$attrs, {
755
752
  onKeyup: a[1] || (a[1] = (...o) => i.inputKeyup && i.inputKeyup(...o))
756
- }), null, 16, Ve)), [
753
+ }), null, 16, Vt)), [
757
754
  [V, i.inputVal]
758
755
  ]) : g("", !0),
759
- e.type == "textarea" ? z((u(), m("textarea", H({
756
+ t.type == "textarea" ? z((u(), m("textarea", H({
760
757
  key: 4,
761
758
  "onUpdate:modelValue": a[2] || (a[2] = (o) => i.inputVal = o),
762
- class: `form-control${e.size ? ` form-control-${e.size}` : ""}${e.inputclass ? ` ${e.inputclass}` : ""}`,
763
- type: e.type,
764
- name: e.name ? e.name : e.id,
765
- id: e.id,
759
+ class: `form-control${t.size ? ` form-control-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
760
+ type: t.type,
761
+ name: t.name ? t.name : t.id,
762
+ id: t.id,
766
763
  pattern: i.needPattern()
767
- }, t.$attrs), null, 16, Ue)), [
768
- [le, i.inputVal]
764
+ }, e.$attrs), null, 16, Ut)), [
765
+ [ct, i.inputVal]
769
766
  ]) : g("", !0),
770
- e.type == "range" ? (u(), m("div", We, [
767
+ t.type == "range" ? (u(), m("div", Wt, [
771
768
  z(d("input", H({
772
769
  "onUpdate:modelValue": a[3] || (a[3] = (o) => i.inputVal = o),
773
- class: `form-range${e.inputclass ? ` ${e.inputclass}` : ""}`,
774
- type: e.type,
775
- name: e.name ? e.name : e.id,
776
- id: e.id,
770
+ class: `form-range${t.inputclass ? ` ${t.inputclass}` : ""}`,
771
+ type: t.type,
772
+ name: t.name ? t.name : t.id,
773
+ id: t.id,
777
774
  pattern: i.needPattern(),
778
775
  list: i.hasOptions()
779
- }, t.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Ke), [
776
+ }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Gt), [
780
777
  [V, i.inputVal]
781
778
  ]),
782
- d("output", Ge, $(e.value), 1)
779
+ d("output", Kt, $(t.value), 1)
783
780
  ])) : g("", !0),
784
- e.type == "color" ? (u(), m("div", Ye, [
781
+ t.type == "color" ? (u(), m("div", Yt, [
785
782
  z(d("input", H({
786
783
  "onUpdate:modelValue": a[4] || (a[4] = (o) => i.inputVal = o),
787
- class: `form-control form-control-color${e.inputclass ? ` ${e.inputclass}` : ""}`,
788
- type: e.type,
789
- name: e.name ? e.name : e.id,
790
- id: e.id,
784
+ class: `form-control form-control-color${t.inputclass ? ` ${t.inputclass}` : ""}`,
785
+ type: t.type,
786
+ name: t.name ? t.name : t.id,
787
+ id: t.id,
791
788
  pattern: i.needPattern(),
792
789
  list: i.hasOptions()
793
- }, t.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Ze), [
790
+ }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Zt), [
794
791
  [V, i.inputVal]
795
792
  ]),
796
- d("output", Je, $(e.value ? t.vale : "#000000"), 1)
793
+ d("output", Jt, $(t.value ? e.vale : "#000000"), 1)
797
794
  ])) : g("", !0),
798
- e.type == "select" ? z((u(), m("select", H({
795
+ t.type == "select" ? z((u(), m("select", H({
799
796
  key: 7,
800
797
  "onUpdate:modelValue": a[5] || (a[5] = (o) => i.inputVal = o),
801
- class: `form-select${e.size ? ` form-select-${e.size}` : ""}${e.inputclass ? ` ${e.inputclass}` : ""}`,
802
- type: e.type,
803
- name: e.id,
804
- id: e.id,
798
+ class: `form-select${t.size ? ` form-select-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
799
+ type: t.type,
800
+ name: t.id,
801
+ id: t.id,
805
802
  pattern: i.needPattern()
806
- }, t.$attrs), [
807
- (u(!0), m(T, null, M(e.options, (o, c) => (u(), m("option", {
803
+ }, e.$attrs), [
804
+ (u(!0), m(T, null, M(t.options, (o, c) => (u(), m("option", {
808
805
  key: c,
809
806
  value: o.value
810
- }, $(o.display ? o.display : o.value), 9, Qe))), 128))
811
- ], 16, Xe)), [
812
- [ce, i.inputVal]
807
+ }, $(o.display ? o.display : o.value), 9, Qt))), 128))
808
+ ], 16, Xt)), [
809
+ [dt, i.inputVal]
813
810
  ]) : g("", !0),
814
811
  i.allowDatalist() ? (u(), m("datalist", {
815
812
  key: 8,
816
- id: e.id + "-list"
813
+ id: t.id + "-list"
817
814
  }, [
818
- (u(!0), m(T, null, M(e.options, (o, c) => (u(), m("option", {
815
+ (u(!0), m(T, null, M(t.options, (o, c) => (u(), m("option", {
819
816
  key: c,
820
817
  value: o.value
821
- }, $(o.value), 9, tt))), 128))
822
- ], 8, et)) : g("", !0),
823
- e.type == "checkbox" || e.type == "radio" ? (u(), m("input", H({
818
+ }, $(o.value), 9, ee))), 128))
819
+ ], 8, te)) : g("", !0),
820
+ t.type == "checkbox" || t.type == "radio" ? (u(), m("input", H({
824
821
  key: 9,
825
822
  class: "form-check-input",
826
- type: e.type,
827
- name: e.name ? e.name : e.id,
828
- id: e.id
829
- }, t.$attrs), null, 16, at)) : g("", !0),
830
- e.type == "checkbox" || e.type == "radio" ? (u(), m("label", {
823
+ type: t.type,
824
+ name: t.name ? t.name : t.id,
825
+ id: t.id
826
+ }, e.$attrs), null, 16, ae)) : g("", !0),
827
+ t.type == "checkbox" || t.type == "radio" ? (u(), m("label", {
831
828
  key: 10,
832
- class: w(`form-label form-check-label${e.labelclass ? ` ${e.labelclass}` : ""}`),
833
- for: e.id,
834
- innerHTML: e.label
835
- }, null, 10, rt)) : g("", !0),
836
- e.type == "checkbox-btn" || e.type == "radio-btn" ? (u(), m("input", H({
829
+ class: A(`form-label form-check-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
830
+ for: t.id,
831
+ innerHTML: t.label
832
+ }, null, 10, re)) : g("", !0),
833
+ t.type == "checkbox-btn" || t.type == "radio-btn" ? (u(), m("input", H({
837
834
  key: 11,
838
- class: `btn-check${e.inputclass ? ` ${e.inputclass}` : ""}`,
839
- type: e.type.replace("-btn", ""),
835
+ class: `btn-check${t.inputclass ? ` ${t.inputclass}` : ""}`,
836
+ type: t.type.replace("-btn", ""),
840
837
  autocomplete: "off",
841
- name: e.name ? e.name : e.id,
842
- id: e.id
843
- }, t.$attrs), null, 16, ot)) : g("", !0),
844
- e.type == "checkbox-btn" || e.type == "radio-btn" ? (u(), m("label", {
838
+ name: t.name ? t.name : t.id,
839
+ id: t.id
840
+ }, e.$attrs), null, 16, oe)) : g("", !0),
841
+ t.type == "checkbox-btn" || t.type == "radio-btn" ? (u(), m("label", {
845
842
  key: 12,
846
- class: w(`btn${e.labelclass ? ` ${e.labelclass}` : ""}`),
847
- for: e.id,
848
- innerHTML: e.label,
843
+ class: A(`btn${t.labelclass ? ` ${t.labelclass}` : ""}`),
844
+ for: t.id,
845
+ innerHTML: t.label,
849
846
  onClick: a[6] || (a[6] = (...o) => i.clickEvent && i.clickEvent(...o))
850
- }, null, 10, it)) : g("", !0),
851
- e.errormsg ? (u(), m("p", {
847
+ }, null, 10, ie)) : g("", !0),
848
+ t.errormsg ? (u(), m("p", {
852
849
  key: 13,
853
850
  class: "invalid-feedback mb-0",
854
- innerHTML: e.errormsg
855
- }, null, 8, st)) : g("", !0),
856
- _(t.$slots, "default")
851
+ innerHTML: t.errormsg
852
+ }, null, 8, se)) : g("", !0),
853
+ _(e.$slots, "default")
857
854
  ], 2);
858
855
  }
859
- const F = /* @__PURE__ */ S(Be, [["render", nt]]), lt = {
856
+ const F = /* @__PURE__ */ S(Bt, [["render", ne]]), le = {
860
857
  components: {
861
858
  Input: F
862
859
  },
@@ -879,57 +876,57 @@ const F = /* @__PURE__ */ S(Be, [["render", nt]]), lt = {
879
876
  required: !1
880
877
  }
881
878
  }
882
- }, ct = { class: "multiple-file-uploads mb-4" }, dt = { class: "row" }, ut = { class: "col-12 col-md me-auto" }, mt = /* @__PURE__ */ d("div", { class: "col mw-fit-content" }, [
879
+ }, ce = { class: "multiple-file-uploads mb-4" }, de = { class: "row" }, ue = { class: "col-12 col-md me-auto" }, me = /* @__PURE__ */ d("div", { class: "col mw-fit-content" }, [
883
880
  /* @__PURE__ */ d("button", {
884
881
  type: "button",
885
882
  class: "btn btn-tertiary me-0",
886
883
  "data-delete": ""
887
884
  }, "Delete")
888
- ], -1), ht = ["data-maxfiles"];
889
- function ft(t, a, e, r, s, i) {
885
+ ], -1), he = ["data-maxfiles"];
886
+ function fe(e, a, t, r, s, i) {
890
887
  const o = N("Input");
891
- return u(), m("div", ct, [
892
- d("div", dt, [
888
+ return u(), m("div", ce, [
889
+ d("div", de, [
893
890
  d("div", {
894
- class: w(`${e.inputcolclass ? e.inputcolclass : "col-12 col-sm-4"}`)
891
+ class: A(`${t.inputcolclass ? t.inputcolclass : "col-12 col-sm-4"}`)
895
892
  }, [
896
893
  x(o, {
897
894
  type: "file",
898
- id: e.id,
899
- name: `${e.id}[]`,
895
+ id: t.id,
896
+ name: `${t.id}[]`,
900
897
  label: "Add new file",
901
898
  labelclass: "d-none",
902
899
  class: "form-control-inline col",
903
900
  required: "",
904
- "data-filesize": e.maxfilesize
901
+ "data-filesize": t.maxfilesize
905
902
  }, null, 8, ["id", "name", "data-filesize"])
906
903
  ], 2),
907
- d("div", ut, [
908
- _(t.$slots, "default")
904
+ d("div", ue, [
905
+ _(e.$slots, "default")
909
906
  ]),
910
- mt
907
+ me
911
908
  ]),
912
909
  d("button", {
913
910
  type: "button",
914
911
  class: "btn btn-secondary me-0",
915
912
  "data-add": "",
916
- "data-maxfiles": e.maxfiles
917
- }, "+ Add file", 8, ht)
913
+ "data-maxfiles": t.maxfiles
914
+ }, "+ Add file", 8, he)
918
915
  ]);
919
916
  }
920
- const co = /* @__PURE__ */ S(lt, [["render", ft]]);
917
+ const co = /* @__PURE__ */ S(le, [["render", fe]]);
921
918
  /*!
922
- * iamKey v3.7.4
919
+ * iamKey v3.7.6
923
920
  * Copyright 2022-2023 iamproperty
924
921
  */
925
- function bt(t) {
926
- let a = t.querySelectorAll("details"), e = t.querySelectorAll("summary");
922
+ function be(e) {
923
+ let a = e.querySelectorAll("details"), t = e.querySelectorAll("summary");
927
924
  if (a.forEach((r) => {
928
925
  r.classList.add("accordion-item");
929
- }), e.forEach((r) => {
926
+ }), t.forEach((r) => {
930
927
  r.classList.add("accordion-header"), r.classList.add("accordion-button"), r.classList.add("h4");
931
- }), !t.classList.contains("accordion--keep-open")) {
932
- const r = t.querySelectorAll(":scope > details");
928
+ }), !e.classList.contains("accordion--keep-open")) {
929
+ const r = e.querySelectorAll(":scope > details");
933
930
  r.forEach((s) => {
934
931
  s.addEventListener("click", () => {
935
932
  r.forEach((i) => {
@@ -940,13 +937,13 @@ function bt(t) {
940
937
  }
941
938
  }
942
939
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "accordion" });
943
- let pt = class extends HTMLElement {
940
+ let pe = class extends HTMLElement {
944
941
  constructor() {
945
942
  super(), this.attachShadow({ mode: "open" });
946
- 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`, r = document.createElement("template");
943
+ const a = 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") : `${a}/css/core.min.css`, r = document.createElement("template");
947
944
  r.innerHTML = `
948
945
  <style>
949
- @import "${e}";
946
+ @import "${t}";
950
947
  \uFEFF:is(.accordion,iam-accordion){--accordion-indent: 0.75rem;--accordion-right-padding: 3rem;--accordion-y-padding: 1rem;--accordion-icon-size: 1.875rem;--accordion-icon-top: 0.75rem}@media screen and (min-width: 62em){:is(.accordion,iam-accordion){--accordion-right-padding: 6rem;--accordion-y-padding: 2rem;--accordion-icon-size: 3rem;--accordion-icon-top: 1.25rem}}.accordion-header{padding:var(--accordion-y-padding) var(--accordion-right-padding) var(--accordion-y-padding) var(--accordion-indent);color:var(--colour-heading);text-align:left;background-color:rgba(0,0,0,0);overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--marker-bg: var(--colour-secondary);cursor:pointer;position:relative;max-width:100%}@media(prefers-reduced-motion: reduce){.accordion-header{transition:none}}.accordion-header .badge{vertical-align:bottom;margin-left:.5em;margin-right:.5em;margin-bottom:.1em}.accordion-header:before,.accordion-header:after{content:"";position:absolute;right:var(--accordion-indent);top:var(--accordion-icon-top);margin-top:var(--accordion-icon-size-half);width:var(--accordion-icon-size);height:var(--accordion-icon-size)}.accordion-header:before{text-indent:100%;white-space:nowrap;overflow:hidden;background:var(--marker-bg);border-radius:100%}.accordion-header::after{background:currentColor;mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;transition:transform .2s ease-in-out;transform:rotate(90deg)}@media(prefers-reduced-motion: reduce){.accordion-header::after{transition:none}}@media(forced-colors: active){.accordion-header::after{content:"►";mask-image:none;-webkit-mask-image:none}}.accordion-header:hover,.accordion-header:focus{--marker-bg: var(--colour-warning);color:var(--colour-hover)}.accordion-header:hover{z-index:var(--index-focus)}.accordion-header:focus{z-index:var(--index-focus);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}[open]>summary>.accordion-header{color:var(--colour-heading);background-color:rgba(0,0,0,0)}[open]>summary>.accordion-header::after{transform:rotate(-90deg)}.accordion-header[class*=bg-] .accordion-button{border-bottom:1px solid var(--colour-border);margin-bottom:-1px}.accordion-header[class*=bg-] .accordion-button:before{background:none !important}.accordion-header[class*=bg-]:hover .accordion-button{opacity:.8}.accordion-header[class*=bg-]+.accordion-body{padding-top:2rem}.accordion-header{margin-bottom:0}.accordion-item{background-color:rgba(0,0,0,0);border-bottom:1px solid var(--colour-border);margin-bottom:2rem}.accordion-item:first-of-type{border-top:1px solid var(--colour-border)}.accordion-item+.accordion-item{margin-top:-2rem}.accordion-item summary~*{text-align:left;padding:0 var(--accordion-indent)}.accordion--straight>details>summary:not([class*=bg-])>.accordion-button,.accordion--straight>details>.accordion-item summary~*{padding-left:0 !important}.accordion--straight .accordion-item summary~*{padding-right:0 !important}.accordion .accordion:first-child{padding-top:1rem}.accordion .accordion:last-child{padding-bottom:2rem}.accordion .accordion .accordion-button{padding:1rem 3rem 1rem var(--accordion-indent)}.accordion .accordion .accordion-button:before,.accordion .accordion .accordion-button:after{top:.75rem;height:2rem;width:2rem;right:.5rem}.accordion .accordion .accordion-button:before{background-color:var(--colour-light)}/*# sourceMappingURL=assets/css/components/accordion.css.map */
951
948
 
952
949
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
@@ -957,22 +954,22 @@ let pt = class extends HTMLElement {
957
954
  `, this.shadowRoot.appendChild(r.content.cloneNode(!0));
958
955
  }
959
956
  connectedCallback() {
960
- bt(this);
957
+ be(this);
961
958
  }
962
959
  };
963
- window.customElements.get("iam-accordion") || window.customElements.define("iam-accordion", pt);
964
- const yt = {
960
+ window.customElements.get("iam-accordion") || window.customElements.define("iam-accordion", pe);
961
+ const ye = {
965
962
  name: "Accordion",
966
963
  props: {},
967
964
  mounted() {
968
965
  }
969
- }, gt = { ref: "wrapper" };
970
- function _t(t, a, e, r, s, i) {
971
- return u(), m("iam-accordion", gt, [
972
- _(t.$slots, "default")
966
+ }, ge = { ref: "wrapper" };
967
+ function _e(e, a, t, r, s, i) {
968
+ return u(), m("iam-accordion", ge, [
969
+ _(e.$slots, "default")
973
970
  ], 512);
974
971
  }
975
- const mo = /* @__PURE__ */ S(yt, [["render", _t]]), vt = {
972
+ const mo = /* @__PURE__ */ S(ye, [["render", _e]]), ve = {
976
973
  name: "AccordionItem",
977
974
  props: {
978
975
  title: {
@@ -999,7 +996,7 @@ const mo = /* @__PURE__ */ S(yt, [["render", _t]]), vt = {
999
996
  },
1000
997
  computed: {
1001
998
  createID() {
1002
- return (t) => `${Ce(t)}`;
999
+ return (e) => `${Ct(e)}`;
1003
1000
  }
1004
1001
  },
1005
1002
  data() {
@@ -1007,24 +1004,24 @@ const mo = /* @__PURE__ */ S(yt, [["render", _t]]), vt = {
1007
1004
  show: !this.lazy
1008
1005
  };
1009
1006
  }
1010
- }, wt = ["id"], At = ["classList"];
1011
- function St(t, a, e, r, s, i) {
1007
+ }, we = ["id"], Ae = ["classList"];
1008
+ function Se(e, a, t, r, s, i) {
1012
1009
  return u(), m("details", {
1013
- id: i.createID(e.title)
1010
+ id: i.createID(t.title)
1014
1011
  }, [
1015
1012
  d("summary", {
1016
- classList: `${e.titlecolour ? `bg-${e.titlecolour}` : ""}`
1013
+ classList: `${t.titlecolour ? `bg-${t.titlecolour}` : ""}`
1017
1014
  }, [
1018
- de($(e.title), 1),
1019
- e.badge ? (u(), m("span", {
1015
+ ut($(t.title), 1),
1016
+ t.badge ? (u(), m("span", {
1020
1017
  key: 0,
1021
- class: w(`badge bg-${e.badgecolour}`)
1022
- }, $(e.badge), 3)) : g("", !0)
1023
- ], 8, At),
1024
- _(t.$slots, "default")
1025
- ], 8, wt);
1018
+ class: A(`badge bg-${t.badgecolour}`)
1019
+ }, $(t.badge), 3)) : g("", !0)
1020
+ ], 8, Ae),
1021
+ _(e.$slots, "default")
1022
+ ], 8, we);
1026
1023
  }
1027
- const ho = /* @__PURE__ */ S(vt, [["render", St]]), kt = {
1024
+ const ho = /* @__PURE__ */ S(ve, [["render", Se]]), ke = {
1028
1025
  name: "Header",
1029
1026
  props: {
1030
1027
  title: {
@@ -1041,46 +1038,46 @@ const ho = /* @__PURE__ */ S(vt, [["render", St]]), kt = {
1041
1038
  required: !1
1042
1039
  }
1043
1040
  }
1044
- }, Lt = { class: "container" }, xt = { class: "row" }, qt = { class: "col-sm-6" }, $t = { class: "pt-5 pb-3 px-4" }, Et = { class: "col-sm-6 col-md-5 ms-auto" }, Tt = ["src"];
1045
- function Mt(t, a, e, r, s, i) {
1046
- return u(), m("div", Lt, [
1041
+ }, Le = { class: "container" }, xe = { class: "row" }, qe = { class: "col-sm-6" }, $e = { class: "pt-5 pb-3 px-4" }, Ee = { class: "col-sm-6 col-md-5 ms-auto" }, Te = ["src"];
1042
+ function Me(e, a, t, r, s, i) {
1043
+ return u(), m("div", Le, [
1047
1044
  d("div", {
1048
- class: w("bg-" + e.background + " mb-4")
1045
+ class: A("bg-" + t.background + " mb-4")
1049
1046
  }, [
1050
- d("div", xt, [
1051
- d("div", qt, [
1052
- d("div", $t, [
1053
- d("h2", null, $(e.title), 1),
1054
- _(t.$slots, "default")
1047
+ d("div", xe, [
1048
+ d("div", qe, [
1049
+ d("div", $e, [
1050
+ d("h2", null, $(t.title), 1),
1051
+ _(e.$slots, "default")
1055
1052
  ])
1056
1053
  ]),
1057
- d("div", Et, [
1058
- e.image ? (u(), m("img", {
1054
+ d("div", Ee, [
1055
+ t.image ? (u(), m("img", {
1059
1056
  key: 0,
1060
- src: e.image,
1057
+ src: t.image,
1061
1058
  alt: "",
1062
1059
  class: "h-100 w-100 object-cover"
1063
- }, null, 8, Tt)) : g("", !0)
1060
+ }, null, 8, Te)) : g("", !0)
1064
1061
  ])
1065
1062
  ])
1066
1063
  ], 2)
1067
1064
  ]);
1068
1065
  }
1069
- const fo = /* @__PURE__ */ S(kt, [["render", Mt]]);
1066
+ const fo = /* @__PURE__ */ S(ke, [["render", Me]]);
1070
1067
  /*!
1071
- * iamKey v3.7.4
1068
+ * iamKey v3.7.6
1072
1069
  * Copyright 2022-2023 iamproperty
1073
1070
  */
1074
1071
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "Card" });
1075
- class Ht extends HTMLElement {
1072
+ class He extends HTMLElement {
1076
1073
  constructor() {
1077
1074
  super(), this.attachShadow({ mode: "open" }), this.querySelector('[class*="fa-"]') && this.classList.add("card--has-icon");
1078
1075
  let a = this.classList.toString();
1079
- const e = 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") : `${e}/css/core.min.css`, s = document.createElement("template");
1076
+ 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");
1080
1077
  s.innerHTML = `
1081
1078
  <style>
1082
1079
  @import "${r}";
1083
- .card{--card-icon-right: 1rem;box-shadow:var(--card-box-shadow);border-radius:var(--card-border-radius);position:relative;font-weight:bold;font-size:1.125rem;line-height:1.5rem;color:var(--colour-primary);min-height:100%;width:100%;text-align:left;display:block;overflow:hidden;z-index:0;background:var(--colour-canvas-2);outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);outline-offset:-1px}.card.border-0{box-shadow:none;--card-left-padding: 0rem;outline-offset:1px !important}.card__body{position:relative;padding:var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);z-index:-1}.card:before,.card:after{content:"";position:absolute;right:var(--card-icon-right);bottom:var(--card-bottom-padding);height:1.5rem;width:1.5rem;background:var(--colour-warning);border-radius:50%}.card:after{background:var(--colour-primary-theme);mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;z-index:2}.card:is(:hover,:focus,.hover){--card-icon-right: 0.5rem;outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card:not([class*=colour-]):is(:hover,:focus,.hover):before{background:var(--colour-primary-theme)}.card:not([class*=colour-]):is(:hover,:focus,.hover):after{background:#fff}.card:is(:active,.active){--card-icon-right: 0.5rem;outline:none}.card:is(:active,.active):before{background:var(--colour-warning)}.card:is(:active,.active):after{background:var(--colour-primary)}.card:is(:active){background:#fcfcfc}.card span{display:block;font-weight:bold;padding-top:1.5rem;font-size:1rem}.card:has(.card__illustration) .card__body{align-items:center;display:flex}.card:has(.card__illustration) .card__body .card__illustration{height:4rem;width:4rem;margin-right:1.5rem;margin-top:-1.25rem;margin-bottom:-1.25rem;position:relative}.card:has(.card__illustration) .card__body .card__illustration img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}::slotted(i){font-size:1.5rem;margin:-3px var(--card-icon-right) 0 0;font-weight:400;vertical-align:middle}::slotted(span){display:block;font-weight:normal;padding-top:1.5rem;font-size:1rem}.card[class*=colour-],.card--filter{border-left:0.75rem solid var(--colour, var(--colour-primary))}.card--filter{--top-padding: 1.5rem;--right-padding: 1rem;--bottom-padding: 1.5rem;--left-padding: 1rem}.card--filter:has(.card__total) .card__body{align-items:center;display:flex}.card--filter:before,.card--filter:after{display:none}.card--filter:is(:hover,:focus,.hover){outline:none;background:#eee}.card--filter:is(:hover,:focus,.hover) .card__body{background:#eee}.card--filter:is(:active,.active){outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card--filter:is(:active,.active) .card__body{background:#fff}.card--filter.card--has-icon{--bottom-padding: 1rem;border:none}.card--filter .icon{font-size:1.125rem !important;height:1.125rem !important;margin:0 0 .5rem 0 !important;font-weight:400 !important;display:block !important}.card--filter .card__total{font-size:3rem;line-height:3rem;padding-right:1rem}.card--filter ::slotted(i){display:block !important;font-size:1.125rem !important;margin:0 0 .5rem 0 !important}.card:has(.card__head) .card__head{padding-bottom:0;padding-top:27%;position:relative;overflow:hidden;background:rgba(0,0,0,.1);z-index:-1}.card:has(.card__head) .card__head>img{position:absolute;top:0;left:0;width:101%;height:101%;object-fit:cover}.card:has(.card__footer):after{display:none}.card:has(.card__footer) .card__footer{position:relative;background:#fff;padding:var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);z-index:-1;display:block}/*# sourceMappingURL=assets/css/components/card.css.map */
1080
+ .card{--card-icon-right: 1rem;box-shadow:var(--card-box-shadow);border-radius:var(--card-border-radius);position:relative;font-weight:bold;font-size:1.125rem;line-height:1.5rem;color:var(--colour-primary);min-height:100%;width:100%;text-align:left;display:block;overflow:hidden;z-index:0;background:var(--colour-canvas-2);outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);outline-offset:-1px}.card.border-0{box-shadow:none;--card-left-padding: 0rem;outline-offset:1px !important}.card__body{position:relative;padding:var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);z-index:-1}.card:before,.card:after{content:"";position:absolute;right:var(--card-icon-right);bottom:var(--card-bottom-padding);height:1.5rem;width:1.5rem;background:var(--colour-warning);border-radius:50%}.card:after{background:var(--colour-primary-theme);mask-image:var(--icon-arrow);mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;z-index:2}.card:is(:hover,:focus,.hover){--card-icon-right: 0.5rem;outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card:not([class*=colour-]):is(:hover,:focus,.hover):before{background:var(--colour-primary-theme)}.card:not([class*=colour-]):is(:hover,:focus,.hover):after{background:#fff}.card:is(:active,.active){--card-icon-right: 0.5rem;outline:none}.card:is(:active,.active):before{background:var(--colour-warning)}.card:is(:active,.active):after{background:var(--colour-primary)}.card:is(:active){background:#fcfcfc}.card span{display:block;font-weight:bold;padding-top:1.5rem;font-size:1rem}.card:has(.card__illustration) .card__body{align-items:center;display:flex}.card:has(.card__illustration) .card__body .card__illustration{height:4rem;width:4rem;margin-right:1.5rem;margin-top:-1.25rem;margin-bottom:-1.25rem;position:relative}.card:has(.card__illustration) .card__body .card__illustration img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}::slotted(i){font-size:1.5rem;margin:-3px var(--card-icon-right) 0 0;font-weight:400;vertical-align:middle}::slotted(span){display:block;font-weight:normal;padding-top:1.5rem;font-size:1rem}.card[class*=colour-],.card--filter{border-left:0.75rem solid var(--colour, var(--colour-primary))}.card--filter{--top-padding: 1.5rem;--right-padding: 1rem;--bottom-padding: 1.5rem;--left-padding: 1rem}.card--filter:has(.card__total) .card__body{align-items:center;display:flex}.card--filter:before,.card--filter:after{display:none}.card--filter:is(:hover,:focus,.hover){outline:none;background:#eee}.card--filter:is(:hover,:focus,.hover) .card__body{background:#eee}.card--filter:is(:active,.active){outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card--filter:is(:active,.active) .card__body{background:#fff}.card--filter.card--has-icon{--bottom-padding: 1rem;border:none}.card--filter .icon{font-size:1.125rem !important;height:1.125rem !important;margin:0 0 .5rem 0 !important;font-weight:400 !important;display:block !important}.card--filter .card__total{font-size:3rem;line-height:3rem;padding-right:1rem}.card--filter ::slotted(i){display:block !important;font-size:1.125rem !important;margin:0 0 .5rem 0 !important}.card:has(.card__head) .card__head{padding-bottom:0;padding-top:27%;position:relative;overflow:hidden;background:rgba(0,0,0,.1);z-index:-1}.card:has(.card__head) .card__head>img{position:absolute;top:0;left:0;width:102%;height:102%;object-fit:cover}.card.card--lg-image:has(.card__head) .card__head{padding-top:55%}.card:has(.card__footer):after{display:none}.card:has(.card__footer) .card__footer{position:relative;background:#fff;padding:var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);z-index:-1;display:block}/*# sourceMappingURL=assets/css/components/card.css.map */
1084
1081
 
1085
1082
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
1086
1083
  </style>
@@ -1097,14 +1094,14 @@ class Ht extends HTMLElement {
1097
1094
  }
1098
1095
  connectedCallback() {
1099
1096
  this.classList.add("loaded");
1100
- const a = this.parentNode.closest("a, button, label"), e = this.shadowRoot.querySelector(".card");
1101
- a.setAttribute("tabindex", "-1"), a.matches("label[for]") && document.getElementById(a.getAttribute("for")).checked && e.classList.add("active"), e.addEventListener("click", (r) => {
1102
- a.matches("label[for]") ? document.getElementById(a.getAttribute("for")).checked ? e.classList.remove("active") : e.classList.add("active") : a.click();
1103
- }), e.addEventListener("keydown", (r) => {
1097
+ const a = this.parentNode.closest("a, button, label"), t = this.shadowRoot.querySelector(".card");
1098
+ a.setAttribute("tabindex", "-1"), a.matches("label[for]") && document.getElementById(a.getAttribute("for")).checked && t.classList.add("active"), t.addEventListener("click", (r) => {
1099
+ a.matches("label[for]") ? document.getElementById(a.getAttribute("for")).checked ? t.classList.remove("active") : t.classList.add("active") : a.click();
1100
+ }), t.addEventListener("keydown", (r) => {
1104
1101
  switch (r.keyCode) {
1105
1102
  case 32:
1106
1103
  case 13:
1107
- a.matches("label[for]") ? document.getElementById(a.getAttribute("for")).checked ? e.classList.remove("active") : e.classList.add("active") : a.click();
1104
+ a.matches("label[for]") ? document.getElementById(a.getAttribute("for")).checked ? t.classList.remove("active") : t.classList.add("active") : a.click();
1108
1105
  break;
1109
1106
  }
1110
1107
  });
@@ -1112,7 +1109,7 @@ class Ht extends HTMLElement {
1112
1109
  static get observedAttributes() {
1113
1110
  return ["data-total", "class"];
1114
1111
  }
1115
- attributeChangedCallback(a, e, r) {
1112
+ attributeChangedCallback(a, t, r) {
1116
1113
  switch (a) {
1117
1114
  case "data-total": {
1118
1115
  this.shadowRoot.querySelector(".card__total").innerHTML = r;
@@ -1126,63 +1123,63 @@ class Ht extends HTMLElement {
1126
1123
  }
1127
1124
  }
1128
1125
  }
1129
- const Ct = {
1126
+ const Ce = {
1130
1127
  name: "Card",
1131
1128
  mounted() {
1132
1129
  this.$nextTick(function() {
1133
- window.customElements.get("iam-card") || window.customElements.define("iam-card", Ht);
1130
+ window.customElements.get("iam-card") || window.customElements.define("iam-card", He);
1134
1131
  });
1135
1132
  }
1136
1133
  };
1137
- function Dt(t, a, e, r, s, i) {
1134
+ function De(e, a, t, r, s, i) {
1138
1135
  return u(), m("iam-card", null, [
1139
- _(t.$slots, "default")
1136
+ _(e.$slots, "default")
1140
1137
  ]);
1141
1138
  }
1142
- const Nt = /* @__PURE__ */ S(Ct, [["render", Dt]]);
1143
- function Rt(t) {
1139
+ const Ne = /* @__PURE__ */ S(Ce, [["render", De]]);
1140
+ function Re(e) {
1144
1141
  var a;
1145
- let e = t.querySelector(".carousel__inner"), r = t.querySelectorAll(".carousel__item").length;
1146
- t.getAttribute("data-cols");
1147
- let s = t.getAttribute("data-sm-cols"), i = t.getAttribute("data-md-cols");
1148
- t.querySelector(".carousel__controls a").classList.add("active"), e.addEventListener("scroll", function(o) {
1142
+ let t = e.querySelector(".carousel__inner"), r = e.querySelectorAll(".carousel__item").length;
1143
+ e.getAttribute("data-cols");
1144
+ let s = e.getAttribute("data-sm-cols"), i = e.getAttribute("data-md-cols");
1145
+ e.querySelector(".carousel__controls a").classList.add("active"), t.addEventListener("scroll", function(o) {
1149
1146
  clearTimeout(a), a = setTimeout(function() {
1150
- let c = e.clientWidth, n = e.scrollWidth, l = e.scrollLeft, h = Math.round(l / n * r) + 1, f = t.querySelector(".carousel__item:last-child").offsetLeft;
1151
- Array.from(t.querySelectorAll(".carousel__controls a")).forEach((b, y) => {
1147
+ let c = t.clientWidth, n = t.scrollWidth, l = t.scrollLeft, h = Math.round(l / n * r) + 1, f = e.querySelector(".carousel__item:last-child").offsetLeft;
1148
+ Array.from(e.querySelectorAll(".carousel__controls a")).forEach((b, y) => {
1152
1149
  b.classList.remove("active");
1153
- }), t.querySelector(".control-" + h).classList.add("active"), h == 1 ? t.querySelector(".btn-prev").setAttribute("disabled", "disabled") : t.querySelector(".btn-prev").removeAttribute("disabled"), e.scrollLeft + c > f ? t.querySelector(".btn-next").setAttribute("disabled", "disabled") : t.querySelector(".btn-next").removeAttribute("disabled");
1150
+ }), e.querySelector(".control-" + h).classList.add("active"), h == 1 ? e.querySelector(".btn-prev").setAttribute("disabled", "disabled") : e.querySelector(".btn-prev").removeAttribute("disabled"), t.scrollLeft + c > f ? e.querySelector(".btn-next").setAttribute("disabled", "disabled") : e.querySelector(".btn-next").removeAttribute("disabled");
1154
1151
  }, 100);
1155
- }, !1), t.addEventListener("click", function(o) {
1152
+ }, !1), e.addEventListener("click", function(o) {
1156
1153
  for (var c = o.target; c && c != this; c = c.parentNode)
1157
1154
  if (c.matches(".carousel__controls a")) {
1158
- o.preventDefault(), Array.from(t.querySelectorAll(".carousel__controls a")).forEach((l, h) => {
1155
+ o.preventDefault(), Array.from(e.querySelectorAll(".carousel__controls a")).forEach((l, h) => {
1159
1156
  l.classList.remove("active");
1160
1157
  }), c.classList.add("active");
1161
1158
  const n = document.querySelector(c.getAttribute("href"));
1162
- e.scroll({
1159
+ t.scroll({
1163
1160
  top: 0,
1164
1161
  left: n.offsetLeft,
1165
1162
  behavior: "smooth"
1166
1163
  });
1167
1164
  break;
1168
1165
  }
1169
- }, !1), t.addEventListener("click", function(o) {
1166
+ }, !1), e.addEventListener("click", function(o) {
1170
1167
  for (var c = o.target; c && c != this; c = c.parentNode)
1171
1168
  if (c.matches(".btn-next, .btn-prev")) {
1172
1169
  o.preventDefault();
1173
- let n = c.classList.contains("btn-prev") ? e.scrollLeft - e.clientWidth : e.scrollLeft + e.clientWidth;
1174
- e.scroll({
1170
+ let n = c.classList.contains("btn-prev") ? t.scrollLeft - t.clientWidth : t.scrollLeft + t.clientWidth;
1171
+ t.scroll({
1175
1172
  top: 0,
1176
1173
  left: n,
1177
1174
  behavior: "smooth"
1178
1175
  });
1179
1176
  break;
1180
1177
  }
1181
- }, !1), r == 1 && t.classList.add("hide-btns"), s >= r && t.classList.add("hide-sm-btns"), i >= r && t.classList.add("hide-md-btns");
1178
+ }, !1), r == 1 && e.classList.add("hide-btns"), s >= r && e.classList.add("hide-sm-btns"), i >= r && e.classList.add("hide-md-btns");
1182
1179
  }
1183
- const zt = {
1180
+ const ze = {
1184
1181
  components: {
1185
- Card: Nt
1182
+ Card: Ne
1186
1183
  },
1187
1184
  name: "Carousel",
1188
1185
  data() {
@@ -1251,93 +1248,93 @@ const zt = {
1251
1248
  },
1252
1249
  computed: {
1253
1250
  content() {
1254
- return (t) => `${t.image ? `<img src="${t.image}" alt="" />` : ""}${t.content ? t.content : ""}`;
1251
+ return (e) => `${e.image ? `<img src="${e.image}" alt="" />` : ""}${e.content ? e.content : ""}`;
1255
1252
  }
1256
1253
  },
1257
1254
  mounted() {
1258
1255
  this.id = this._uid, this.$nextTick(function() {
1259
- Rt(this.$refs.wrapper);
1256
+ Re(this.$refs.wrapper);
1260
1257
  });
1261
1258
  }
1262
- }, It = ["id", "data-cols", "data-sm-cols", "data-md-cols"], Pt = { class: "carousel__wrapper" }, Bt = { class: "carousel__inner" }, Ft = ["id"], jt = ["innerHTML", "id"], Ot = ["href"], Vt = /* @__PURE__ */ d("button", {
1259
+ }, Ie = ["id", "data-cols", "data-sm-cols", "data-md-cols"], Pe = { class: "carousel__wrapper" }, Be = { class: "carousel__inner" }, Fe = ["id"], je = ["innerHTML", "id"], Oe = ["href"], Ve = /* @__PURE__ */ d("button", {
1263
1260
  class: "btn btn-prev",
1264
1261
  "data-go": "0",
1265
1262
  disabled: ""
1266
- }, "Prev", -1), Ut = /* @__PURE__ */ d("button", {
1263
+ }, "Prev", -1), Ue = /* @__PURE__ */ d("button", {
1267
1264
  class: "btn btn-next",
1268
1265
  "data-go": "2"
1269
1266
  }, "Next", -1);
1270
- function Wt(t, a, e, r, s, i) {
1267
+ function We(e, a, t, r, s, i) {
1271
1268
  const o = N("Card");
1272
1269
  return u(), m("div", {
1273
1270
  class: "container carousel",
1274
1271
  id: "carousel" + s.id,
1275
1272
  ref: "wrapper",
1276
- "data-cols": e.cols,
1277
- "data-sm-cols": e.smcols,
1278
- "data-md-cols": e.mdcols
1273
+ "data-cols": t.cols,
1274
+ "data-sm-cols": t.smcols,
1275
+ "data-md-cols": t.mdcols
1279
1276
  }, [
1280
- _(t.$slots, "default"),
1281
- d("div", Pt, [
1282
- d("div", Bt, [
1283
- e.type == "card" ? (u(), m("div", {
1277
+ _(e.$slots, "default"),
1278
+ d("div", Pe, [
1279
+ d("div", Be, [
1280
+ t.type == "card" ? (u(), m("div", {
1284
1281
  key: 0,
1285
- class: w(`row row-cols-${e.cols} row-cols-sm-${e.smcols} row-cols-md-${e.mdcols} ${e.gap ? `g-${e.gap}` : ""}`)
1282
+ class: A(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1286
1283
  }, [
1287
- (u(!0), m(T, null, M(e.items, (c, n) => (u(), m("div", {
1288
- class: w(`col carousel__item${e.colclass ? ` ${e.colclass}` : ""}`),
1284
+ (u(!0), m(T, null, M(t.items, (c, n) => (u(), m("div", {
1285
+ class: A(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1289
1286
  key: n,
1290
1287
  id: "carousel" + s.id + "slide" + (n + 1)
1291
1288
  }, [
1292
1289
  x(o, H(c, {
1293
- class: e.cardclass,
1294
- type: e.cardtype,
1295
- btnyype: e.btntype,
1296
- titleclass: e.titleclass,
1297
- ctatext: e.ctatext,
1298
- hidectatext: e.hidectatext
1290
+ class: t.cardclass,
1291
+ type: t.cardtype,
1292
+ btnyype: t.btntype,
1293
+ titleclass: t.titleclass,
1294
+ ctatext: t.ctatext,
1295
+ hidectatext: t.hidectatext
1299
1296
  }), null, 16, ["class", "type", "btnyype", "titleclass", "ctatext", "hidectatext"])
1300
- ], 10, Ft))), 128))
1297
+ ], 10, Fe))), 128))
1301
1298
  ], 2)) : g("", !0),
1302
- e.type != "card" ? (u(), m("div", {
1299
+ t.type != "card" ? (u(), m("div", {
1303
1300
  key: 1,
1304
- class: w(`row row-cols-${e.cols} row-cols-sm-${e.smcols} row-cols-md-${e.mdcols} ${e.gap ? `g-${e.gap}` : ""}`)
1301
+ class: A(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1305
1302
  }, [
1306
- (u(!0), m(T, null, M(e.items, (c, n) => (u(), m("div", {
1307
- class: w(`col carousel__item${e.colclass ? ` ${e.colclass}` : ""}`),
1303
+ (u(!0), m(T, null, M(t.items, (c, n) => (u(), m("div", {
1304
+ class: A(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1308
1305
  key: n,
1309
1306
  innerHTML: i.content(c),
1310
1307
  id: "carousel" + s.id + "slide" + (n + 1)
1311
- }, null, 10, jt))), 128))
1308
+ }, null, 10, je))), 128))
1312
1309
  ], 2)) : g("", !0)
1313
1310
  ]),
1314
1311
  d("div", {
1315
- class: w(`carousel__controls cols-${e.cols} cols-sm-${e.smcols} cols-md-${e.mdcols}`)
1312
+ class: A(`carousel__controls cols-${t.cols} cols-sm-${t.smcols} cols-md-${t.mdcols}`)
1316
1313
  }, [
1317
- (u(!0), m(T, null, M(e.items, (c, n) => (u(), m("a", {
1314
+ (u(!0), m(T, null, M(t.items, (c, n) => (u(), m("a", {
1318
1315
  key: n,
1319
1316
  href: "#carousel" + s.id + "slide" + (n + 1),
1320
- class: w(`control-${n + 1}`)
1321
- }, "Slide " + $(n + 1), 11, Ot))), 128))
1317
+ class: A(`control-${n + 1}`)
1318
+ }, "Slide " + $(n + 1), 11, Oe))), 128))
1322
1319
  ], 2),
1323
- Vt,
1324
- Ut
1320
+ Ve,
1321
+ Ue
1325
1322
  ])
1326
- ], 8, It);
1323
+ ], 8, Ie);
1327
1324
  }
1328
- const bo = /* @__PURE__ */ S(zt, [["render", Wt]]);
1325
+ const bo = /* @__PURE__ */ S(ze, [["render", We]]);
1329
1326
  /*!
1330
- * iamKey v3.7.4
1327
+ * iamKey v3.7.6
1331
1328
  * Copyright 2022-2023 iamproperty
1332
1329
  */
1333
1330
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "header" });
1334
- class Kt extends HTMLElement {
1331
+ class Ge extends HTMLElement {
1335
1332
  constructor() {
1336
1333
  super(), this.attachShadow({ mode: "open" });
1337
- 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`, r = document.createElement("template");
1334
+ const a = 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") : `${a}/css/core.min.css`, r = document.createElement("template");
1338
1335
  r.innerHTML = `
1339
1336
  <style>
1340
- @import "${e}";
1337
+ @import "${t}";
1341
1338
  .header-banner{background:linear-gradient(180deg, var(--colour-secondary) 0, var(--colour-info) 100%);margin-bottom:2rem;position:relative;overflow:hidden;max-width:100% !important}@media screen and (min-width: 62em){.header-banner{min-height:29.375rem}}.header-banner>.container{padding-bottom:0;position:relative}.header-banner .breadcrumb{margin-top:1.5rem;margin-bottom:-0.5rem}@media screen and (min-width: 62em){.header-banner .breadcrumb{position:absolute;top:0;left:3.75rem}}.header-banner__inner{--colour-muted: #9d9d9d;--colour-body: #595959;--colour-border: #D8D8D8;--colour-link: var(--colour-primary-theme);--colour-brand: var(--colour-primary);--colour-underline: var(--colour-secondary);--colour-heading: var(--colour-primary);--colour-focus: var(--colour-primary-theme);--colour-hover: var(--colour-primary-theme);--colour-active: var(--colour-primary-theme);--colour-selected: var(--colour-info);--colour-inverted: #FCFCFC;--colour-btn: var(--colour-primary-theme);--colour-btn-bg: var(--colour-warning);--colour-btn-border: var(--colour-warning);--colour-btn-bg-hover: transparent;--colour-btn-hover: var(--colour-primary-theme);--colour-btn-secondary: var(--colour-primary-theme);--colour-btn-secondary-border: var(--colour-primary-theme);--colour-btn-secondary-bg: transparent;--colour-btn-secondary-bg-hover: var(--colour-primary-theme);--colour-btn-secondary-hover: var(--colour-inverted);--colour-canvas-2: var(--colour-canvas);color:var(--colour-body);background:#fff;padding:2rem;margin:1.875rem 0;position:relative;z-index:var(--index-above)}.header-banner__inner .text-primary{color:var(--colour-primary) !important}@media screen and (min-width: 62em){.header-banner__inner{max-width:37.5rem;margin:7rem 0 5rem 0;padding:3.5rem 4rem}}.header-banner__inner>*:last-child{padding-bottom:0;margin-bottom:0}.header-banner picture img{display:none}@media screen and (min-width: 62em){.header-banner picture img{display:block;position:absolute;top:-0.5%;left:40%;height:101%;object-fit:cover;width:60%;pointer-events:none}}::slotted(.breadcrumb){margin-top:1.5rem !important;margin-bottom:-0.5rem !important}@media screen and (min-width: 62em){::slotted(.breadcrumb){position:absolute !important;top:0 !important;left:5.25rem !important}}::slotted(*:last-child){padding-bottom:0 !important;margin-bottom:0 !important}/*# sourceMappingURL=assets/css/components/header.css.map */
1342
1339
 
1343
1340
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
@@ -1360,11 +1357,11 @@ class Kt extends HTMLElement {
1360
1357
  }
1361
1358
  connectedCallback() {
1362
1359
  this.classList.add("loaded");
1363
- const a = this.shadowRoot.querySelector("picture"), e = this.shadowRoot.querySelector("picture source");
1364
- this.hasAttribute("image") ? e.setAttribute("srcset", this.getAttribute("image")) : a.remove();
1360
+ const a = this.shadowRoot.querySelector("picture"), t = this.shadowRoot.querySelector("picture source");
1361
+ this.hasAttribute("image") ? t.setAttribute("srcset", this.getAttribute("image")) : a.remove();
1365
1362
  }
1366
1363
  }
1367
- const Gt = {
1364
+ const Ke = {
1368
1365
  name: "Header",
1369
1366
  props: {
1370
1367
  title: {
@@ -1378,44 +1375,44 @@ const Gt = {
1378
1375
  },
1379
1376
  mounted() {
1380
1377
  this.$nextTick(function() {
1381
- window.customElements.get("iam-header") || window.customElements.define("iam-header", Kt);
1378
+ window.customElements.get("iam-header") || window.customElements.define("iam-header", Ge);
1382
1379
  });
1383
1380
  }
1384
- }, Yt = ["image"], Zt = ["innerHTML"];
1385
- function Jt(t, a, e, r, s, i) {
1381
+ }, Ye = ["image"], Ze = ["innerHTML"];
1382
+ function Je(e, a, t, r, s, i) {
1386
1383
  return u(), m("iam-header", {
1387
1384
  class: "bg-secondary",
1388
- image: e.image
1385
+ image: t.image
1389
1386
  }, [
1390
- _(t.$slots, "breadcrumb"),
1391
- e.title ? (u(), m("h1", {
1387
+ _(e.$slots, "breadcrumb"),
1388
+ t.title ? (u(), m("h1", {
1392
1389
  key: 0,
1393
- innerHTML: e.title
1394
- }, null, 8, Zt)) : g("", !0),
1395
- _(t.$slots, "default")
1396
- ], 8, Yt);
1390
+ innerHTML: t.title
1391
+ }, null, 8, Ze)) : g("", !0),
1392
+ _(e.$slots, "default")
1393
+ ], 8, Ye);
1397
1394
  }
1398
- const po = /* @__PURE__ */ S(Gt, [["render", Jt]]);
1399
- function Xt(t) {
1395
+ const po = /* @__PURE__ */ S(Ke, [["render", Je]]);
1396
+ function Xe(e) {
1400
1397
  var a;
1401
- const e = t.querySelector(".testimonial__images"), r = e.querySelectorAll("img").length;
1398
+ const t = e.querySelector(".testimonial__images"), r = t.querySelectorAll("img").length;
1402
1399
  if (r == 1)
1403
1400
  return !1;
1404
- t.classList.add("testimonial--multi");
1401
+ e.classList.add("testimonial--multi");
1405
1402
  const s = function(i) {
1406
- const o = t.querySelector(".btn-next"), c = t.querySelector(".btn-prev");
1403
+ const o = e.querySelector(".btn-next"), c = e.querySelector(".btn-prev");
1407
1404
  o.setAttribute("data-go", i + 1), c.setAttribute("data-go", i - 1), o.removeAttribute("disabled"), c.removeAttribute("disabled"), i == 1 ? c.setAttribute("disabled", !0) : i == r && o.setAttribute("disabled", !0);
1408
1405
  };
1409
- e.addEventListener("scroll", function(i) {
1406
+ t.addEventListener("scroll", function(i) {
1410
1407
  clearTimeout(a), a = setTimeout(function() {
1411
- let o = e.scrollWidth, c = e.scrollHeight, n = e.scrollLeft, l = e.scrollTop, h = Math.round(n / o * r) + 1;
1412
- n == 0 && l != 0 && (h = Math.round(l / c * r) + 1), t.setAttribute("data-show", h), s(h);
1408
+ let o = t.scrollWidth, c = t.scrollHeight, n = t.scrollLeft, l = t.scrollTop, h = Math.round(n / o * r) + 1;
1409
+ n == 0 && l != 0 && (h = Math.round(l / c * r) + 1), e.setAttribute("data-show", h), s(h);
1413
1410
  }, 300);
1414
- }, !1), t.addEventListener("click", function(i) {
1411
+ }, !1), e.addEventListener("click", function(i) {
1415
1412
  for (var o = i.target; o && o != this; o = o.parentNode)
1416
1413
  if (o.matches("[data-go]")) {
1417
- let c = parseInt(o.getAttribute("data-go")), n = 0, l = 0, h = e.scrollWidth, f = e.scrollHeight;
1418
- h > f ? l = Math.floor(h * ((c - 1) / r)) : n = Math.floor(f * ((c - 1) / r)), e.scroll({
1414
+ let c = parseInt(o.getAttribute("data-go")), n = 0, l = 0, h = t.scrollWidth, f = t.scrollHeight;
1415
+ h > f ? l = Math.floor(h * ((c - 1) / r)) : n = Math.floor(f * ((c - 1) / r)), t.scroll({
1419
1416
  top: n,
1420
1417
  left: l,
1421
1418
  behavior: "smooth"
@@ -1424,7 +1421,7 @@ function Xt(t) {
1424
1421
  }
1425
1422
  }, !1);
1426
1423
  }
1427
- const Qt = {
1424
+ const Qe = {
1428
1425
  name: "Testimonial",
1429
1426
  props: {
1430
1427
  items: {
@@ -1438,13 +1435,13 @@ const Qt = {
1438
1435
  }
1439
1436
  },
1440
1437
  mounted() {
1441
- Xt(this.$refs.wrapper);
1438
+ Xe(this.$refs.wrapper);
1442
1439
  }
1443
- }, ea = {
1440
+ }, ta = {
1444
1441
  class: "container testimonial mb-5",
1445
1442
  "data-show": "1",
1446
1443
  ref: "wrapper"
1447
- }, ta = { class: "row" }, aa = { class: "col-md-5 position-relative" }, ra = { class: "testimonial__images" }, oa = ["src"], ia = /* @__PURE__ */ d("div", { class: "testimonial__controls" }, [
1444
+ }, ea = { class: "row" }, aa = { class: "col-md-5 position-relative" }, ra = { class: "testimonial__images" }, oa = ["src"], ia = /* @__PURE__ */ d("div", { class: "testimonial__controls" }, [
1448
1445
  /* @__PURE__ */ d("button", {
1449
1446
  "data-go": "0",
1450
1447
  disabled: "",
@@ -1455,19 +1452,19 @@ const Qt = {
1455
1452
  class: "btn-next"
1456
1453
  }, "Next")
1457
1454
  ], -1), sa = { class: "col-md-7" }, na = /* @__PURE__ */ d("h2", null, "What our customers think…", -1), la = { class: "testimonial__content" }, ca = ["innerHTML"], da = ["innerHTML"], ua = { class: "testimonial__after" }, ma = /* @__PURE__ */ d("span", { class: "circle circle--dots d-none d-md-block" }, null, -1);
1458
- function ha(t, a, e, r, s, i) {
1459
- return u(), m("div", ea, [
1455
+ function ha(e, a, t, r, s, i) {
1456
+ return u(), m("div", ta, [
1460
1457
  d("div", {
1461
- class: w("bg-" + e.background)
1458
+ class: A("bg-" + t.background)
1462
1459
  }, [
1463
- d("div", ta, [
1460
+ d("div", ea, [
1464
1461
  d("div", aa, [
1465
1462
  d("div", ra, [
1466
- (u(!0), m(T, null, M(e.items, (o, c) => (u(), m("img", {
1463
+ (u(!0), m(T, null, M(t.items, (o, c) => (u(), m("img", {
1467
1464
  key: c,
1468
1465
  src: o.image ? o.image : "data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
1469
1466
  alt: "",
1470
- class: w("h-100 w-100 object-cover" + (o.image ? "" : " opacity-0"))
1467
+ class: A("h-100 w-100 object-cover" + (o.image ? "" : " opacity-0"))
1471
1468
  }, null, 10, oa))), 128))
1472
1469
  ]),
1473
1470
  ia
@@ -1475,9 +1472,9 @@ function ha(t, a, e, r, s, i) {
1475
1472
  d("div", sa, [
1476
1473
  na,
1477
1474
  d("div", la, [
1478
- (u(!0), m(T, null, M(e.items, (o, c) => (u(), m("blockquote", {
1475
+ (u(!0), m(T, null, M(t.items, (o, c) => (u(), m("blockquote", {
1479
1476
  key: c,
1480
- class: w(o.class)
1477
+ class: A(o.class)
1481
1478
  }, [
1482
1479
  d("div", {
1483
1480
  innerHTML: o.quote
@@ -1488,7 +1485,7 @@ function ha(t, a, e, r, s, i) {
1488
1485
  ], 2))), 128))
1489
1486
  ]),
1490
1487
  d("div", ua, [
1491
- _(t.$slots, "default")
1488
+ _(e.$slots, "default")
1492
1489
  ])
1493
1490
  ])
1494
1491
  ]),
@@ -1496,7 +1493,7 @@ function ha(t, a, e, r, s, i) {
1496
1493
  ], 2)
1497
1494
  ], 512);
1498
1495
  }
1499
- const yo = /* @__PURE__ */ S(Qt, [["render", ha]]);
1496
+ const yo = /* @__PURE__ */ S(Qe, [["render", ha]]);
1500
1497
  const fa = {
1501
1498
  components: {
1502
1499
  Input: F
@@ -1624,8 +1621,8 @@ const fa = {
1624
1621
  };
1625
1622
  },
1626
1623
  methods: {
1627
- locationKeyup: function(t) {
1628
- this.$emit("locationKeyup", t);
1624
+ locationKeyup: function(e) {
1625
+ this.$emit("locationKeyup", e);
1629
1626
  }
1630
1627
  },
1631
1628
  computed: {
@@ -1633,8 +1630,8 @@ const fa = {
1633
1630
  get() {
1634
1631
  return this.locationSave ? this.locationSave : this.location;
1635
1632
  },
1636
- set(t) {
1637
- this.locationSave = t, this.$emit("input", t);
1633
+ set(e) {
1634
+ this.locationSave = e, this.$emit("input", e);
1638
1635
  }
1639
1636
  },
1640
1637
  locationsList() {
@@ -1659,15 +1656,15 @@ const fa = {
1659
1656
  value: "submit"
1660
1657
  }, "Search")
1661
1658
  ], -1);
1662
- function qa(t, a, e, r, s, i) {
1659
+ function qa(e, a, t, r, s, i) {
1663
1660
  const o = N("Input");
1664
1661
  return u(), m("div", ba, [
1665
- _(t.$slots, "default"),
1662
+ _(e.$slots, "default"),
1666
1663
  d("div", pa, [
1667
1664
  d("form", {
1668
1665
  class: "row",
1669
- action: e.formaction,
1670
- method: e.formmethod
1666
+ action: t.formaction,
1667
+ method: t.formmethod
1671
1668
  }, [
1672
1669
  d("fieldset", ga, [
1673
1670
  x(o, {
@@ -1687,7 +1684,7 @@ function qa(t, a, e, r, s, i) {
1687
1684
  label: "Miles",
1688
1685
  id: "miles",
1689
1686
  type: "select",
1690
- options: e.distances
1687
+ options: t.distances
1691
1688
  }, null, 8, ["options"])
1692
1689
  ]),
1693
1690
  d("fieldset", _a, [
@@ -1699,7 +1696,7 @@ function qa(t, a, e, r, s, i) {
1699
1696
  id: "price-min",
1700
1697
  "data-min": "true",
1701
1698
  type: "select",
1702
- options: e.pricemin
1699
+ options: t.pricemin
1703
1700
  }, null, 8, ["options"]),
1704
1701
  x(o, {
1705
1702
  class: "col-6",
@@ -1707,7 +1704,7 @@ function qa(t, a, e, r, s, i) {
1707
1704
  id: "price-max",
1708
1705
  "data-max": "true",
1709
1706
  type: "select",
1710
- options: e.pricemax
1707
+ options: t.pricemax
1711
1708
  }, null, 8, ["options"])
1712
1709
  ])
1713
1710
  ]),
@@ -1720,7 +1717,7 @@ function qa(t, a, e, r, s, i) {
1720
1717
  id: "beds-min",
1721
1718
  "data-min": "true",
1722
1719
  type: "select",
1723
- options: e.bedsmin
1720
+ options: t.bedsmin
1724
1721
  }, null, 8, ["options"]),
1725
1722
  x(o, {
1726
1723
  class: "col-6",
@@ -1728,7 +1725,7 @@ function qa(t, a, e, r, s, i) {
1728
1725
  id: "beds-max",
1729
1726
  "data-max": "true",
1730
1727
  type: "select",
1731
- options: e.bedsmax
1728
+ options: t.bedsmax
1732
1729
  }, null, 8, ["options"])
1733
1730
  ])
1734
1731
  ]),
@@ -1737,31 +1734,31 @@ function qa(t, a, e, r, s, i) {
1737
1734
  label: "Property type",
1738
1735
  id: "property-type",
1739
1736
  type: "select",
1740
- options: e.propertytypes
1737
+ options: t.propertytypes
1741
1738
  }, null, 8, ["options"])
1742
1739
  ]),
1743
1740
  xa
1744
1741
  ], 8, ya)
1745
1742
  ]),
1746
- _(t.$slots, "after")
1743
+ _(e.$slots, "after")
1747
1744
  ], 512);
1748
1745
  }
1749
- const go = /* @__PURE__ */ S(fa, [["render", qa]]), $a = (t) => {
1750
- Array.from(t.querySelectorAll("details")).forEach((a, e) => {
1746
+ const go = /* @__PURE__ */ S(fa, [["render", qa]]), $a = (e) => {
1747
+ Array.from(e.querySelectorAll("details")).forEach((a, t) => {
1751
1748
  a.addEventListener("mouseenter", function(r) {
1752
1749
  window.matchMedia("(min-width: 62em)").matches && a.setAttribute("open", "true");
1753
1750
  }, !1), a.addEventListener("mouseleave", function(r) {
1754
1751
  window.matchMedia("(min-width: 62em)").matches && a.removeAttribute("open");
1755
1752
  }, !1);
1756
1753
  }), "IntersectionObserver" in window && new IntersectionObserver(
1757
- ([e]) => e.target.classList.toggle("is-stuck", e.intersectionRatio < 1),
1754
+ ([t]) => t.target.classList.toggle("is-stuck", t.intersectionRatio < 1),
1758
1755
  { threshold: [1] }
1759
- ).observe(t);
1756
+ ).observe(e);
1760
1757
  };
1761
1758
  const Ea = {
1762
1759
  components: {
1763
1760
  Input: F,
1764
- Logo: ye
1761
+ Logo: yt
1765
1762
  },
1766
1763
  name: "Nav",
1767
1764
  props: {
@@ -1808,8 +1805,8 @@ const Ea = {
1808
1805
  };
1809
1806
  },
1810
1807
  methods: {
1811
- subIsActive(t) {
1812
- return (Array.isArray(t) ? t : [t]).some((e) => this.$route.path.indexOf(e) === 0);
1808
+ subIsActive(e) {
1809
+ return (Array.isArray(e) ? e : [e]).some((t) => this.$route.path.indexOf(t) === 0);
1813
1810
  }
1814
1811
  },
1815
1812
  computed: {
@@ -1872,7 +1869,7 @@ const Ea = {
1872
1869
  }, Wa = {
1873
1870
  key: 2,
1874
1871
  class: "col mw-fit-content nav__search-btn flex-row align-items-center"
1875
- }, Ka = /* @__PURE__ */ d("label", { for: "showSearch" }, [
1872
+ }, Ga = /* @__PURE__ */ d("label", { for: "showSearch" }, [
1876
1873
  /* @__PURE__ */ d("svg", {
1877
1874
  class: "icon",
1878
1875
  viewBox: "0 0 32 32"
@@ -1893,8 +1890,8 @@ const Ea = {
1893
1890
  class: "icon__outline"
1894
1891
  })
1895
1892
  ])
1896
- ], -1), Ga = [
1897
- Ka
1893
+ ], -1), Ka = [
1894
+ Ga
1898
1895
  ], Ya = /* @__PURE__ */ d("div", { class: "col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn" }, [
1899
1896
  /* @__PURE__ */ d("label", { for: "showMenu" }, "Menu")
1900
1897
  ], -1), Za = { class: "col-12 col-md nav__menu ms-auto flex-row align-items-center" }, Ja = {
@@ -1917,10 +1914,10 @@ const Ea = {
1917
1914
  /* @__PURE__ */ d("span", null, "My account")
1918
1915
  ], -1), Qa = [
1919
1916
  Xa
1920
- ], er = {
1917
+ ], tr = {
1921
1918
  key: 4,
1922
1919
  class: "col-12 col-md nav__btn mw-md-fit-content flex-row align-items-center"
1923
- }, tr = ["href", "innerHTML"], ar = {
1920
+ }, er = ["href", "innerHTML"], ar = {
1924
1921
  key: 0,
1925
1922
  class: "nav__menu--secondary"
1926
1923
  }, rr = { class: "container" }, or = {
@@ -1941,10 +1938,10 @@ const Ea = {
1941
1938
  }, hr = /* @__PURE__ */ d("div", { class: "col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn" }, [
1942
1939
  /* @__PURE__ */ d("label", { for: "showAccount" }, "Account")
1943
1940
  ], -1), fr = { class: "container" }, br = /* @__PURE__ */ d("span", { class: "nav__bg" }, null, -1);
1944
- function pr(t, a, e, r, s, i) {
1941
+ function pr(e, a, t, r, s, i) {
1945
1942
  const o = N("Logo");
1946
1943
  return u(), m("nav", {
1947
- class: w(`nav${i.hasSecondarySlot ? " has-secondary" : ""}`),
1944
+ class: A(`nav${i.hasSecondarySlot ? " has-secondary" : ""}`),
1948
1945
  ref: "wrapper"
1949
1946
  }, [
1950
1947
  Ta,
@@ -1954,13 +1951,13 @@ function pr(t, a, e, r, s, i) {
1954
1951
  d("div", Da, [
1955
1952
  d("div", Na, [
1956
1953
  i.hasLogoSlot ? (u(), m("div", Ra, [
1957
- _(t.$slots, "logo")
1954
+ _(e.$slots, "logo")
1958
1955
  ])) : (u(), m("div", za, [
1959
1956
  d("a", Ia, [
1960
1957
  x(o, {
1961
- id: e.logo,
1962
- path: e.logopath,
1963
- desc: e.logotext,
1958
+ id: t.logo,
1959
+ path: t.logopath,
1960
+ desc: t.logotext,
1964
1961
  class: "pb-0"
1965
1962
  }, null, 8, ["id", "path", "desc"])
1966
1963
  ])
@@ -1973,41 +1970,41 @@ function pr(t, a, e, r, s, i) {
1973
1970
  d("div", Fa, [
1974
1971
  d("div", ja, [
1975
1972
  i.hasLogoSlot ? (u(), m("div", Oa, [
1976
- _(t.$slots, "logo")
1973
+ _(e.$slots, "logo")
1977
1974
  ])) : (u(), m("div", Va, [
1978
1975
  d("a", Ua, [
1979
1976
  x(o, {
1980
- id: e.logo,
1981
- path: e.logopath,
1982
- desc: e.logotext,
1977
+ id: t.logo,
1978
+ path: t.logopath,
1979
+ desc: t.logotext,
1983
1980
  class: "pb-0"
1984
1981
  }, null, 8, ["id", "path", "desc"])
1985
1982
  ])
1986
1983
  ])),
1987
- i.hasSearchSlot ? (u(), m("div", Wa, Ga)) : g("", !0),
1984
+ i.hasSearchSlot ? (u(), m("div", Wa, Ka)) : g("", !0),
1988
1985
  Ya,
1989
1986
  d("div", Za, [
1990
- _(t.$slots, "default")
1987
+ _(e.$slots, "default")
1991
1988
  ]),
1992
1989
  i.hasAccountSlot ? (u(), m("div", Ja, Qa)) : g("", !0),
1993
- e.btnlink ? (u(), m("div", er, [
1990
+ t.btnlink ? (u(), m("div", tr, [
1994
1991
  d("a", {
1995
- href: e.btnlink,
1992
+ href: t.btnlink,
1996
1993
  class: "btn me-0",
1997
- innerHTML: e.btntext
1998
- }, null, 8, tr)
1994
+ innerHTML: t.btntext
1995
+ }, null, 8, er)
1999
1996
  ])) : g("", !0)
2000
1997
  ])
2001
1998
  ]),
2002
1999
  i.hasSecondarySlot ? (u(), m("div", ar, [
2003
2000
  d("div", rr, [
2004
- _(t.$slots, "secondary")
2001
+ _(e.$slots, "secondary")
2005
2002
  ])
2006
2003
  ])) : g("", !0),
2007
2004
  i.hasSearchSlot ? (u(), m("div", or, [
2008
2005
  d("div", ir, [
2009
2006
  d("div", sr, [
2010
- _(t.$slots, "search")
2007
+ _(e.$slots, "search")
2011
2008
  ])
2012
2009
  ])
2013
2010
  ])) : g("", !0)
@@ -2016,13 +2013,13 @@ function pr(t, a, e, r, s, i) {
2016
2013
  d("div", lr, [
2017
2014
  d("div", cr, [
2018
2015
  i.hasLogoSlot ? (u(), m("div", dr, [
2019
- _(t.$slots, "logo")
2016
+ _(e.$slots, "logo")
2020
2017
  ])) : (u(), m("div", ur, [
2021
2018
  d("a", mr, [
2022
2019
  x(o, {
2023
- id: e.logo,
2024
- path: e.logopath,
2025
- desc: e.logotext,
2020
+ id: t.logo,
2021
+ path: t.logopath,
2022
+ desc: t.logotext,
2026
2023
  class: "pb-0"
2027
2024
  }, null, 8, ["id", "path", "desc"])
2028
2025
  ])
@@ -2031,7 +2028,7 @@ function pr(t, a, e, r, s, i) {
2031
2028
  ])
2032
2029
  ]),
2033
2030
  d("div", fr, [
2034
- _(t.$slots, "account")
2031
+ _(e.$slots, "account")
2035
2032
  ])
2036
2033
  ])) : g("", !0),
2037
2034
  br
@@ -2055,17 +2052,17 @@ const yr = {
2055
2052
  key: 0,
2056
2053
  class: "h6 stepper__start"
2057
2054
  }, wr = { class: "list-unstyled" }, Ar = { class: "h6 stepper__end" };
2058
- function Sr(t, a, e, r, s, i) {
2055
+ function Sr(e, a, t, r, s, i) {
2059
2056
  return u(), m("div", gr, [
2060
2057
  d("nav", {
2061
2058
  class: "stepper",
2062
- "aria-label": e.label ? e.label : "Progress"
2059
+ "aria-label": t.label ? t.label : "Progress"
2063
2060
  }, [
2064
- e.label ? (u(), m("span", vr, $(e.label), 1)) : g("", !0),
2061
+ t.label ? (u(), m("span", vr, $(t.label), 1)) : g("", !0),
2065
2062
  d("ol", wr, [
2066
- _(t.$slots, "default")
2063
+ _(e.$slots, "default")
2067
2064
  ]),
2068
- d("span", Ar, $(e.endlabel), 1)
2065
+ d("span", Ar, $(t.endlabel), 1)
2069
2066
  ], 8, _r)
2070
2067
  ]);
2071
2068
  }
@@ -2089,38 +2086,38 @@ const vo = /* @__PURE__ */ S(yr, [["render", Sr]]), kr = {
2089
2086
  key: 0,
2090
2087
  class: "visually-hidden"
2091
2088
  };
2092
- function qr(t, a, e, r, s, i) {
2089
+ function qr(e, a, t, r, s, i) {
2093
2090
  return u(), m("li", null, [
2094
2091
  d("a", {
2095
- href: e.url,
2096
- class: w(`${e.status ? "bg-" + e.status : ""}${typeof e.current < "u" ? "current" : ""}`),
2097
- "aria-current": typeof e.current < "u"
2092
+ href: t.url,
2093
+ class: A(`${t.status ? "bg-" + t.status : ""}${typeof t.current < "u" ? "current" : ""}`),
2094
+ "aria-current": typeof t.current < "u"
2098
2095
  }, [
2099
2096
  d("span", null, [
2100
- _(t.$slots, "default")
2097
+ _(e.$slots, "default")
2101
2098
  ]),
2102
- e.status ? (u(), m("em", xr, " - status: " + $(e.status), 1)) : g("", !0)
2099
+ t.status ? (u(), m("em", xr, " - status: " + $(t.status), 1)) : g("", !0)
2103
2100
  ], 10, Lr)
2104
2101
  ]);
2105
2102
  }
2106
2103
  const wo = /* @__PURE__ */ S(kr, [["render", qr]]);
2107
2104
  /*!
2108
- * iamKey v3.7.4
2105
+ * iamKey v3.7.6
2109
2106
  * Copyright 2022-2023 iamproperty
2110
2107
  */
2111
- const $r = function(t) {
2112
- const a = t.querySelectorAll(":scope > details");
2113
- t.querySelectorAll(":scope > details > summary");
2114
- let e = t.querySelector(":scope > .tabs__links");
2115
- t.shadowRoot && t.shadowRoot.querySelector(".tabs__links") && (e = t.shadowRoot.querySelector(".tabs__links")), e || (e = document.createElement("div"), e.classList.add("tabs__links"), t.prepend(e)), a.forEach((r, s) => {
2108
+ const $r = function(e) {
2109
+ const a = e.querySelectorAll(":scope > details");
2110
+ e.querySelectorAll(":scope > details > summary");
2111
+ let t = e.querySelector(":scope > .tabs__links");
2112
+ e.shadowRoot && e.shadowRoot.querySelector(".tabs__links") && (t = e.shadowRoot.querySelector(".tabs__links")), t || (t = document.createElement("div"), t.classList.add("tabs__links"), e.prepend(t)), a.forEach((r, s) => {
2116
2113
  let i = r.querySelector(":scope > summary");
2117
2114
  i.classList.add("visually-hidden");
2118
2115
  let o = document.createElement("button");
2119
- r.hasAttribute("id") && (o = document.createElement("a"), o.setAttribute("href", `#${r.getAttribute("id")}`)), r.hasAttribute("open") && o.setAttribute("aria-pressed", !0), o.innerHTML = `${i.innerText}`, o.classList.add("link"), o.setAttribute("data-index", s), o.setAttribute("tabindex", "-1"), e.appendChild(o);
2116
+ r.hasAttribute("id") && (o = document.createElement("a"), o.setAttribute("href", `#${r.getAttribute("id")}`)), r.hasAttribute("open") && o.setAttribute("aria-pressed", !0), o.innerHTML = `${i.innerText}`, o.classList.add("link"), o.setAttribute("data-index", s), o.setAttribute("tabindex", "-1"), t.appendChild(o);
2120
2117
  });
2121
- }, Er = function(t) {
2122
- let a = t.querySelectorAll(":scope > details"), e = t.querySelectorAll(":scope > details > summary"), r = t.querySelectorAll(":scope .tabs__links > .link");
2123
- t.shadowRoot && (r = t.shadowRoot.querySelectorAll(".tabs__links > .link")), r.forEach((s) => {
2118
+ }, Er = function(e) {
2119
+ let a = e.querySelectorAll(":scope > details"), t = e.querySelectorAll(":scope > details > summary"), r = e.querySelectorAll(":scope .tabs__links > .link");
2120
+ e.shadowRoot && (r = e.shadowRoot.querySelectorAll(".tabs__links > .link")), r.forEach((s) => {
2124
2121
  s.addEventListener("click", (i) => {
2125
2122
  i.preventDefault(), r.forEach((o) => {
2126
2123
  let c = o == s;
@@ -2130,7 +2127,7 @@ const $r = function(t) {
2130
2127
  n ? o.setAttribute("open", n) : o.removeAttribute("open");
2131
2128
  }), s.hasAttribute("href") && history.pushState(void 0, void 0, s.getAttribute("href")), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "openTab", tabTitle: s.textContent });
2132
2129
  });
2133
- }), e.forEach((s, i) => {
2130
+ }), t.forEach((s, i) => {
2134
2131
  s.addEventListener("focus", (o) => {
2135
2132
  r.forEach((c) => {
2136
2133
  c.classList.remove("focus");
@@ -2139,20 +2136,20 @@ const $r = function(t) {
2139
2136
  o.preventDefault(), r[i].click();
2140
2137
  });
2141
2138
  });
2142
- }, Tr = function(t) {
2143
- let a = t.querySelectorAll(":scope > details"), e = t.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");
2144
- t.shadowRoot && (e = t.shadowRoot.querySelectorAll(".tabs__links > button, .tabs__links > a")), location.hash && t.querySelector(`.tabs__links [href="${location.hash}"]`) ? (t.querySelector(`[href="${location.hash}"]`).setAttribute("open", !0), t.querySelector(`details[id="${location.hash.replace("#", "")}"]`).setAttribute("open", !0)) : t.querySelector("details[open]") || (a[0].setAttribute("open", !0), e[0].setAttribute("aria-pressed", !0));
2145
- }, Mr = function(t) {
2146
- $r(t), Er(t), Tr(t);
2139
+ }, Tr = function(e) {
2140
+ let a = e.querySelectorAll(":scope > details"), t = e.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");
2141
+ e.shadowRoot && (t = e.shadowRoot.querySelectorAll(".tabs__links > button, .tabs__links > a")), location.hash && e.querySelector(`.tabs__links [href="${location.hash}"]`) ? (e.querySelector(`[href="${location.hash}"]`).setAttribute("open", !0), e.querySelector(`details[id="${location.hash.replace("#", "")}"]`).setAttribute("open", !0)) : e.querySelector("details[open]") || (a[0].setAttribute("open", !0), t[0].setAttribute("aria-pressed", !0));
2142
+ }, Mr = function(e) {
2143
+ $r(e), Er(e), Tr(e);
2147
2144
  };
2148
2145
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "tabs" });
2149
2146
  class Hr extends HTMLElement {
2150
2147
  constructor() {
2151
2148
  super(), this.attachShadow({ mode: "open" });
2152
- 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`, r = document.createElement("template");
2149
+ const a = 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") : `${a}/css/core.min.css`, r = document.createElement("template");
2153
2150
  r.innerHTML = `
2154
2151
  <style>
2155
- @import "${e}";
2152
+ @import "${t}";
2156
2153
 
2157
2154
  :host(.admin-panel){
2158
2155
  display: contents!important;
@@ -2175,9 +2172,9 @@ window.customElements.get("iam-tabs") || window.customElements.define("iam-tabs"
2175
2172
  const Cr = {
2176
2173
  name: "Tabs"
2177
2174
  }, Dr = { ref: "wrapper" };
2178
- function Nr(t, a, e, r, s, i) {
2175
+ function Nr(e, a, t, r, s, i) {
2179
2176
  return u(), m("iam-tabs", Dr, [
2180
- _(t.$slots, "default")
2177
+ _(e.$slots, "default")
2181
2178
  ], 512);
2182
2179
  }
2183
2180
  const Ao = /* @__PURE__ */ S(Cr, [["render", Nr]]), Rr = {
@@ -2198,93 +2195,23 @@ const Ao = /* @__PURE__ */ S(Cr, [["render", Nr]]), Rr = {
2198
2195
  };
2199
2196
  },
2200
2197
  watch: {
2201
- show(t, a) {
2202
- console.log(t);
2198
+ show(e, a) {
2199
+ console.log(e);
2203
2200
  }
2204
2201
  }
2205
2202
  }, zr = { class: "tab" }, Ir = ["innerHTML"];
2206
- function Pr(t, a, e, r, s, i) {
2203
+ function Pr(e, a, t, r, s, i) {
2207
2204
  return u(), m("details", zr, [
2208
- d("summary", { innerHTML: e.title }, null, 8, Ir),
2209
- _(t.$slots, "default")
2205
+ d("summary", { innerHTML: t.title }, null, 8, Ir),
2206
+ _(e.$slots, "default")
2210
2207
  ]);
2211
2208
  }
2212
2209
  const So = /* @__PURE__ */ S(Rr, [["render", Pr]]);
2213
- function Br(t) {
2214
- if (t.addEventListener("click", function(e) {
2215
- for (var r = e.target; r && r != this; r = r.parentNode)
2216
- if (r.matches(".btn-close")) {
2217
- e.preventDefault(), t.classList.remove("show"), setTimeout(function() {
2218
- t.remove();
2219
- }, 300);
2220
- break;
2221
- }
2222
- }, !1), t.hasAttribute("data-timeout")) {
2223
- let e = t.getAttribute("data-timeout");
2224
- setTimeout(function() {
2225
- t.classList.remove("show"), setTimeout(function() {
2226
- t.remove();
2227
- }, 300);
2228
- }, e);
2229
- }
2230
- if (!document.querySelector(".alert__holder")) {
2231
- document.getElementsByTagName("BODY")[0];
2232
- let e = document.createElement("div");
2233
- e.classList.add("alert__holder"), document.querySelector("main") ? document.querySelector("main").appendChild(e) : document.body.appendChild(e);
2234
- }
2235
- let a = document.querySelector(".alert__holder");
2236
- t.classList.contains("alert--fixed") && !t.parentNode.classList.contains("alert__wrapper") && a.appendChild(t);
2237
- }
2238
- const Fr = {
2239
- name: "Alert",
2240
- props: {
2241
- dismissible: {
2242
- type: [String, Boolean],
2243
- required: !1,
2244
- default: !1
2245
- },
2246
- colour: {
2247
- type: String,
2248
- required: !1,
2249
- default: "primary"
2250
- },
2251
- timeout: {
2252
- type: [String, Number],
2253
- required: !1
2254
- }
2255
- },
2256
- mounted() {
2257
- Br(this.$refs.wrapper);
2258
- }
2259
- }, jr = ["data-timeout"], Or = {
2260
- key: 0,
2261
- type: "button",
2262
- class: "btn-close",
2263
- "data-bs-dismiss": "alert",
2264
- "aria-label": "Close"
2265
- };
2266
- function Vr(t, a, e, r, s, i) {
2267
- return u(), m("div", {
2268
- class: w(`container alert pb-0 ${e.dismissible ? "alert--dismissible fade show" : ""}`),
2269
- ref: "wrapper",
2270
- "data-timeout": e.timeout,
2271
- style: ue(e.timeout ? `--animation-length: ${e.timeout}ms` : "")
2272
- }, [
2273
- d("div", {
2274
- class: w(`alert__inner bg-${e.colour}`),
2275
- role: "alert"
2276
- }, [
2277
- e.dismissible ? (u(), m("button", Or)) : g("", !0),
2278
- _(t.$slots, "default")
2279
- ], 2)
2280
- ], 14, jr);
2281
- }
2282
- const ko = /* @__PURE__ */ S(Fr, [["render", Vr]]);
2283
- let re = ae.props;
2284
- re.fields.required = !1;
2285
- const Ur = {
2210
+ let ot = rt.props;
2211
+ ot.fields.required = !1;
2212
+ const Br = {
2286
2213
  components: {
2287
- Table: ae,
2214
+ Table: rt,
2288
2215
  Input: F
2289
2216
  },
2290
2217
  data() {
@@ -2294,17 +2221,17 @@ const Ur = {
2294
2221
  };
2295
2222
  },
2296
2223
  methods: {
2297
- submitForm: function(t) {
2224
+ submitForm: function(e) {
2298
2225
  console.log(this);
2299
- const a = new FormData(t.target);
2300
- let e = /* @__PURE__ */ new Date();
2301
- const r = e.getFullYear();
2302
- let s = e.getMonth() + 1, i = e.getDate();
2303
- i < 10 && (i = "0" + i), s < 10 && (s = "0" + s), e = i + "/" + s + "/" + r, this.itemsData.unshift({
2304
- date_added: e,
2226
+ const a = new FormData(e.target);
2227
+ let t = /* @__PURE__ */ new Date();
2228
+ const r = t.getFullYear();
2229
+ let s = t.getMonth() + 1, i = t.getDate();
2230
+ i < 10 && (i = "0" + i), s < 10 && (s = "0" + s), t = i + "/" + s + "/" + r, this.itemsData.unshift({
2231
+ date_added: t,
2305
2232
  user: a.get("user"),
2306
2233
  note: a.get("addNote")
2307
- }), this.$emit("formSubmitted", t);
2234
+ }), this.$emit("formSubmitted", e);
2308
2235
  }
2309
2236
  },
2310
2237
  name: "NoteFeed",
@@ -2313,7 +2240,7 @@ const Ur = {
2313
2240
  type: String,
2314
2241
  required: !0
2315
2242
  },
2316
- ...re,
2243
+ ...ot,
2317
2244
  title: {
2318
2245
  type: String,
2319
2246
  required: !1
@@ -2328,29 +2255,29 @@ const Ur = {
2328
2255
  required: !1
2329
2256
  }
2330
2257
  }
2331
- }, Wr = { class: "container note-feed mb-2" }, Kr = ["innerHTML"], Gr = ["action", "method"], Yr = ["value"], Zr = /* @__PURE__ */ d("button", { class: "btn btn-tertiary" }, "Submit note", -1);
2332
- function Jr(t, a, e, r, s, i) {
2258
+ }, Fr = { class: "container note-feed mb-2" }, jr = ["innerHTML"], Or = ["action", "method"], Vr = ["value"], Ur = /* @__PURE__ */ d("button", { class: "btn btn-tertiary" }, "Submit note", -1);
2259
+ function Wr(e, a, t, r, s, i) {
2333
2260
  const o = N("Table"), c = N("Input");
2334
- return u(), m("div", Wr, [
2335
- e.title ? (u(), m("span", {
2261
+ return u(), m("div", Fr, [
2262
+ t.title ? (u(), m("span", {
2336
2263
  key: 0,
2337
2264
  class: "h3",
2338
- innerHTML: e.title
2339
- }, null, 8, Kr)) : g("", !0),
2265
+ innerHTML: t.title
2266
+ }, null, 8, jr)) : g("", !0),
2340
2267
  x(o, H({
2341
2268
  fields: [{ key: "date_added" }, { key: "user" }, { key: "note" }],
2342
2269
  items: s.itemsData
2343
- }, t.$props, { class: "mb-0" }), null, 16, ["items"]),
2270
+ }, e.$props, { class: "mb-0" }), null, 16, ["items"]),
2344
2271
  d("form", {
2345
- action: e.action,
2346
- method: e.method,
2347
- onSubmit: a[0] || (a[0] = me((n) => i.submitForm(...arguments), ["prevent"]))
2272
+ action: t.action,
2273
+ method: t.method,
2274
+ onSubmit: a[0] || (a[0] = mt((n) => i.submitForm(...arguments), ["prevent"]))
2348
2275
  }, [
2349
2276
  d("input", {
2350
2277
  type: "hidden",
2351
- value: e.user,
2278
+ value: t.user,
2352
2279
  name: "user"
2353
- }, null, 8, Yr),
2280
+ }, null, 8, Vr),
2354
2281
  x(c, {
2355
2282
  id: "addNote",
2356
2283
  type: "textarea",
@@ -2358,17 +2285,17 @@ function Jr(t, a, e, r, s, i) {
2358
2285
  required: "",
2359
2286
  class: "mw-100"
2360
2287
  }),
2361
- Zr
2362
- ], 40, Gr)
2288
+ Ur
2289
+ ], 40, Or)
2363
2290
  ]);
2364
2291
  }
2365
- const Lo = /* @__PURE__ */ S(Ur, [["render", Jr]]);
2292
+ const ko = /* @__PURE__ */ S(Br, [["render", Wr]]);
2366
2293
  /*!
2367
- * iamKey v3.7.4
2294
+ * iamKey v3.7.6
2368
2295
  * Copyright 2022-2023 iamproperty
2369
2296
  */
2370
- function Xr(t, a) {
2371
- function e(r, s) {
2297
+ function Gr(e, a) {
2298
+ function t(r, s) {
2372
2299
  let i = !1, o = s.getAttribute("name");
2373
2300
  o.includes("[]") && (o = o.replace("[]", `[${s.value}]`));
2374
2301
  let c = r.querySelector(`[data-name="${o}"]`);
@@ -2386,20 +2313,20 @@ function Xr(t, a) {
2386
2313
  }), r.querySelector(`[data-name="${o}"]`) && r.querySelector(`[data-name="${o}"]`).remove(), h) {
2387
2314
  let f = l.getAttribute("data-filter-text");
2388
2315
  l.querySelectorAll("input").forEach((y, p) => {
2389
- let A = y.getAttribute("name");
2390
- r.querySelector(`[data-name="${A}"]`) && r.querySelector(`[data-name="${A}"]`).remove(), f = f.replace(`$${p + 1}`, y.value);
2316
+ let w = y.getAttribute("name");
2317
+ r.querySelector(`[data-name="${w}"]`) && r.querySelector(`[data-name="${w}"]`).remove(), f = f.replace(`$${p + 1}`, y.value);
2391
2318
  });
2392
2319
  let b = document.createElement("button");
2393
2320
  b.setAttribute("type", "button"), b.classList.add("filter"), b.setAttribute("data-name", o), b.innerHTML = f, r.appendChild(b);
2394
2321
  }
2395
2322
  }
2396
2323
  }
2397
- Array.from(t.querySelectorAll('input[type="checkbox"]:checked')).forEach((r, s) => {
2398
- e(a, r);
2399
- }), t.addEventListener("change", function(r) {
2324
+ Array.from(e.querySelectorAll('input[type="checkbox"]:checked')).forEach((r, s) => {
2325
+ t(a, r);
2326
+ }), e.addEventListener("change", function(r) {
2400
2327
  if (r && r.target instanceof HTMLElement && r.target.closest("input[data-filter-text]")) {
2401
2328
  let s = r.target.closest("input[data-filter-text]");
2402
- e(a, s);
2329
+ t(a, s);
2403
2330
  }
2404
2331
  }, !1), a.addEventListener("click", function(r) {
2405
2332
  if (r && r.target instanceof HTMLElement && r.target.closest(".filter")) {
@@ -2407,7 +2334,7 @@ function Xr(t, a) {
2407
2334
  for (var s = 0; s < c.length; s++) {
2408
2335
  let n = c[s], l = `[name="${n}"]`;
2409
2336
  n.match(/\[(.*)\]/) && (n.replace(/\[(.*)\]/, "[]"), l = `[value="${n.replace(/.*\[(.*)\]/, "$1")}"]`);
2410
- let h = t.querySelectorAll(l);
2337
+ let h = e.querySelectorAll(l);
2411
2338
  for (var i = 0; i < h.length; i++) {
2412
2339
  let f = h[i];
2413
2340
  if (f.getAttribute("type") != "radio" && f.getAttribute("type") != "checkbox")
@@ -2424,15 +2351,15 @@ function Xr(t, a) {
2424
2351
  }, !1);
2425
2352
  }
2426
2353
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "Applied Filters" });
2427
- class Qr extends HTMLElement {
2354
+ class Kr extends HTMLElement {
2428
2355
  constructor() {
2429
2356
  super(), this.attachShadow({ mode: "open" });
2430
- 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`;
2357
+ const a = 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") : `${a}/css/core.min.css`;
2431
2358
  let r = this.classList.toString();
2432
2359
  const s = document.createElement("template");
2433
2360
  s.innerHTML = `
2434
2361
  <style>
2435
- @import "${e}";
2362
+ @import "${t}";
2436
2363
  .applied-filters:not(.applied-filters--compact):not(:empty):before{content:"Applied filters";font-weight:bold;font-size:1.125rem;line-height:1.375rem;color:var(--colour-header);margin-bottom:1rem;display:block}.applied-filters:not(:empty){margin-bottom:1rem}::slotted(*:last-child){margin-bottom:0}.applied-filters .filter{border:1px solid var(--colour-border);padding:1rem 1.5rem 1rem 1.5rem;background:rgba(0,0,0,0);margin-right:.5rem !important;margin-bottom:.5rem !important;line-height:1.5rem;white-space:nowrap}.applied-filters .filter:after{content:"";display:inline-block;height:1.25rem;width:1.25rem;padding:0;margin-left:1.5rem;margin-bottom:-0.25rem;border:none;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-close);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-close);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%}.applied-filters--compact .filter{background-color:var(--colour-light);border:none;padding:0.625rem;line-height:1rem;border-radius:0.3125rem}.applied-filters--compact .filter:after{margin-left:0.625rem;height:1rem;width:1rem;margin-bottom:-0.1rem}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
2437
2364
 
2438
2365
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
@@ -2442,50 +2369,50 @@ class Qr extends HTMLElement {
2442
2369
  `, this.shadowRoot.appendChild(s.content.cloneNode(!0));
2443
2370
  }
2444
2371
  connectedCallback() {
2445
- Xr(this, this.shadowRoot.querySelector(".applied-filters"));
2372
+ Gr(this, this.shadowRoot.querySelector(".applied-filters"));
2446
2373
  }
2447
2374
  }
2448
- window.customElements.get("iam-applied-filters") || window.customElements.define("iam-applied-filters", Qr);
2449
- const eo = {
2375
+ window.customElements.get("iam-applied-filters") || window.customElements.define("iam-applied-filters", Kr);
2376
+ const Yr = {
2450
2377
  name: "Header"
2451
2378
  };
2452
- function to(t, a, e, r, s, i) {
2379
+ function Zr(e, a, t, r, s, i) {
2453
2380
  return u(), m("iam-applied-filters", null, [
2454
- _(t.$slots, "default")
2381
+ _(e.$slots, "default")
2455
2382
  ]);
2456
2383
  }
2457
- const xo = /* @__PURE__ */ S(eo, [["render", to]]);
2384
+ const Lo = /* @__PURE__ */ S(Yr, [["render", Zr]]);
2458
2385
  /*!
2459
- * iamKey v3.7.4
2386
+ * iamKey v3.7.6
2460
2387
  * Copyright 2022-2023 iamproperty
2461
2388
  */
2462
- function ao(t, a) {
2463
- ro(t, a);
2389
+ function Jr(e, a) {
2390
+ Xr(e, a);
2464
2391
  }
2465
- function ro(t, a) {
2466
- var e;
2392
+ function Xr(e, a) {
2393
+ var t;
2467
2394
  a.addEventListener("keyup", (r) => {
2468
- clearTimeout(e), e = setTimeout(function() {
2469
- Z(t, a.value);
2395
+ clearTimeout(t), t = setTimeout(function() {
2396
+ J(e, a.value);
2470
2397
  }, 500);
2471
2398
  }), a.addEventListener("change", (r) => {
2472
- clearTimeout(e), Z(t, a.value);
2399
+ clearTimeout(t), J(e, a.value);
2473
2400
  });
2474
2401
  }
2475
- const Z = function(t, a) {
2476
- Array.from(t.querySelectorAll(":scope > li")).forEach((e, r) => {
2477
- let s = e.textContent.toLowerCase();
2478
- e.classList.add("d-none"), s.includes(a.toLowerCase()) && e.classList.remove("d-none");
2402
+ const J = function(e, a) {
2403
+ Array.from(e.querySelectorAll(":scope > li")).forEach((t, r) => {
2404
+ let s = t.textContent.toLowerCase();
2405
+ t.classList.add("d-none"), s.includes(a.toLowerCase()) && t.classList.remove("d-none");
2479
2406
  }), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Filtered list", value: a });
2480
2407
  };
2481
2408
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "filterlist" });
2482
- class oo extends HTMLElement {
2409
+ class Qr extends HTMLElement {
2483
2410
  constructor() {
2484
2411
  super(), this.attachShadow({ mode: "open" });
2485
- 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`, r = document.createElement("template");
2412
+ const a = 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") : `${a}/css/core.min.css`, r = document.createElement("template");
2486
2413
  r.innerHTML = `
2487
2414
  <style>
2488
- @import "${e}";
2415
+ @import "${t}";
2489
2416
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
2490
2417
 
2491
2418
  :host {
@@ -2514,39 +2441,134 @@ class oo extends HTMLElement {
2514
2441
  }
2515
2442
  connectedCallback() {
2516
2443
  let a = this.classList.toString();
2517
- this.shadowRoot.querySelector(".list__wrapper").setAttribute("class", `list__wrapper ${a}`), this.querySelector("i.fa-search") || (this.innerHTML += '<i class="fa fa-light fa-search" aria-hidden="true" slot="icon"></i>'), ao(this.querySelector("ul"), this.shadowRoot.querySelector("#search"));
2444
+ this.shadowRoot.querySelector(".list__wrapper").setAttribute("class", `list__wrapper ${a}`), this.querySelector("i.fa-search") || (this.innerHTML += '<i class="fa fa-light fa-search" aria-hidden="true" slot="icon"></i>'), Jr(this.querySelector("ul"), this.shadowRoot.querySelector("#search"));
2518
2445
  }
2519
2446
  }
2520
- window.customElements.get("iam-filterlist") || window.customElements.define("iam-filterlist", oo);
2521
- const io = {
2447
+ window.customElements.get("iam-filterlist") || window.customElements.define("iam-filterlist", Qr);
2448
+ const to = {
2522
2449
  name: "Filter list"
2523
2450
  };
2524
- function so(t, a, e, r, s, i) {
2451
+ function eo(e, a, t, r, s, i) {
2525
2452
  return u(), m("iam-filterlist", null, [
2526
- _(t.$slots, "default")
2453
+ _(e.$slots, "default")
2454
+ ]);
2455
+ }
2456
+ const xo = /* @__PURE__ */ S(to, [["render", eo]]);
2457
+ function ao(e) {
2458
+ if (e.hasAttribute("data-type") && e.getAttribute("data-type") == "toast") {
2459
+ let t = document.querySelector(".notification__holder");
2460
+ t || (t = document.createElement("div"), t.classList.add("notification__holder"), t.classList.add("container"), document.querySelector("body").appendChild(t)), e.closest(".notification__holder") || t.appendChild(e);
2461
+ }
2462
+ if (e.setAttribute("role", "alert"), e.addEventListener("click", function(t) {
2463
+ event && event.target instanceof HTMLElement && event.target.closest("[data-dismiss-button]") && (t.preventDefault(), W(e));
2464
+ }, !1), e.hasAttribute("data-timeout")) {
2465
+ let t = e.getAttribute("data-timeout");
2466
+ var a = new ro(function() {
2467
+ W(e);
2468
+ }, t);
2469
+ e.addEventListener("mouseenter", (r) => {
2470
+ a.pause();
2471
+ }), e.addEventListener("mouseleave", (r) => {
2472
+ a.resume();
2473
+ });
2474
+ }
2475
+ }
2476
+ function ro(e, a) {
2477
+ var t, r, s = a;
2478
+ this.pause = function() {
2479
+ window.clearTimeout(t), s -= /* @__PURE__ */ new Date() - r;
2480
+ }, this.resume = function() {
2481
+ r = /* @__PURE__ */ new Date(), window.clearTimeout(t), t = window.setTimeout(e, s);
2482
+ }, this.resume();
2483
+ }
2484
+ const W = function(e) {
2485
+ e.classList.add("d-none");
2486
+ };
2487
+ window.dataLayer = window.dataLayer || [];
2488
+ window.dataLayer.push({
2489
+ event: "customElementRegistered",
2490
+ element: "Notification"
2491
+ });
2492
+ class oo extends HTMLElement {
2493
+ constructor() {
2494
+ super(), this.attachShadow({ mode: "open" });
2495
+ const a = 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") : `${a}/css/core.min.css`, r = `@import "${a}/css/components/notification.css";`, s = this.querySelectorAll("a,button");
2496
+ Array.from(s).forEach((o, c) => {
2497
+ o.setAttribute("slot", "btns"), o.classList.add("link");
2498
+ }), (s.length || this.hasAttribute("data-dismiss")) && this.classList.add("notification--dismissable");
2499
+ const i = document.createElement("template");
2500
+ i.innerHTML = `
2501
+ <style>
2502
+ @import "${t}";
2503
+ ${r}
2504
+ ${this.hasAttribute("data-css") ? `${this.getAttribute("data-css")}` : ""}
2505
+ </style>
2506
+
2507
+ <div class="notification">
2508
+ <div class="notification__icon"><slot name="icon"></slot></div>
2509
+ <div class="notification__inner"><div class="notification__text"><slot></slot></div>${s.length ? '<div class="notification__btns"><slot name="btns"></slot></div>' : ""}</div>
2510
+ ${this.hasAttribute("data-dismiss") ? '<div class="notification__dismiss"><button data-dismiss-button>Dismiss</button></div>' : ""}
2511
+ </div>
2512
+ `, this.shadowRoot.appendChild(i.content.cloneNode(!0));
2513
+ }
2514
+ connectedCallback() {
2515
+ const a = this.shadowRoot.querySelector("[data-dismiss-button]"), t = this.hasAttribute("data-status") ? this.getAttribute("data-status") : "white";
2516
+ this.hasAttribute("data-type") ? this.classList.add(`bg-${t}`) : this.classList.add(`colour-${t}`);
2517
+ const r = this;
2518
+ if (!this.querySelector("i"))
2519
+ switch (t) {
2520
+ case "danger":
2521
+ this.innerHTML += '<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>';
2522
+ break;
2523
+ case "warning":
2524
+ this.innerHTML += '<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>';
2525
+ break;
2526
+ case "success":
2527
+ this.innerHTML += '<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>';
2528
+ break;
2529
+ default:
2530
+ this.innerHTML += '<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>';
2531
+ }
2532
+ ao(r), a && a.addEventListener("click", function(s) {
2533
+ W(r);
2534
+ }, !1);
2535
+ }
2536
+ }
2537
+ const io = {
2538
+ name: "Notification",
2539
+ props: {},
2540
+ created() {
2541
+ this.$nextTick(function() {
2542
+ window.customElements.get("iam-notification") || window.customElements.define("iam-notification", oo);
2543
+ });
2544
+ }
2545
+ };
2546
+ function so(e, a, t, r, s, i) {
2547
+ return u(), m("iam-notification", null, [
2548
+ _(e.$slots, "default")
2527
2549
  ]);
2528
2550
  }
2529
2551
  const qo = /* @__PURE__ */ S(io, [["render", so]]);
2530
2552
  export {
2531
2553
  mo as Accordion,
2532
2554
  ho as AccordionItem,
2533
- ko as Alert,
2534
- xo as AppliedFilters,
2555
+ Lo as AppliedFilters,
2535
2556
  fo as Banner,
2536
- Nt as Card,
2557
+ Ne as Card,
2537
2558
  bo as Carousel,
2538
2559
  co as FileUploads,
2539
- qo as Filterlist,
2560
+ xo as Filterlist,
2540
2561
  po as Header,
2541
2562
  F as Input,
2542
- ye as Logo,
2563
+ yt as Logo,
2543
2564
  _o as Nav,
2544
- Lo as NoteFeed,
2565
+ ko as NoteFeed,
2566
+ qo as Notification,
2545
2567
  go as PropertySearchbar,
2546
2568
  wo as Step,
2547
2569
  vo as Stepper,
2548
2570
  So as Tab,
2549
- ae as Table,
2571
+ rt as Table,
2550
2572
  Ao as Tabs,
2551
2573
  yo as Testimonial
2552
2574
  };