@iamproperty/components 3.9.0-beta-1 → 4.0.1

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 (101) hide show
  1. package/assets/css/components/actionbar-global.css +1 -1
  2. package/assets/css/components/actionbar-global.css.map +1 -1
  3. package/assets/css/components/actionbar.css +1 -1
  4. package/assets/css/components/actionbar.css.map +1 -1
  5. package/assets/css/components/admin-panel.css +1 -1
  6. package/assets/css/components/admin-panel.css.map +1 -1
  7. package/assets/css/components/card-global.css +1 -1
  8. package/assets/css/components/card-global.css.map +1 -1
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/charts.css.map +1 -1
  12. package/assets/css/components/collapsible-side.css +1 -0
  13. package/assets/css/components/collapsible-side.css.map +1 -0
  14. package/assets/css/components/dialog.css +1 -1
  15. package/assets/css/components/dialog.css.map +1 -1
  16. package/assets/css/components/fileupload.css.map +1 -1
  17. package/assets/css/components/forms.css +1 -1
  18. package/assets/css/components/forms.css.map +1 -1
  19. package/assets/css/components/header.css.map +1 -1
  20. package/assets/css/components/lists.css.map +1 -1
  21. package/assets/css/components/nav-global.css +1 -1
  22. package/assets/css/components/nav-global.css.map +1 -1
  23. package/assets/css/components/nav.css.map +1 -1
  24. package/assets/css/components/nav.old.css.map +1 -1
  25. package/assets/css/components/notification.css.map +1 -1
  26. package/assets/css/components/pagination.css.map +1 -1
  27. package/assets/css/components/property-searchbar.css.map +1 -1
  28. package/assets/css/components/table.css +1 -1
  29. package/assets/css/components/table.css.map +1 -1
  30. package/assets/css/core.min.css +1 -1
  31. package/assets/css/core.min.css.map +1 -1
  32. package/assets/css/style.min.css +1 -1
  33. package/assets/css/style.min.css.map +1 -1
  34. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  35. package/assets/js/components/actionbar/actionbar.component.js +45 -0
  36. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  37. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  38. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  39. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  40. package/assets/js/components/card/card.component.js +9 -1
  41. package/assets/js/components/card/card.component.min.js +7 -5
  42. package/assets/js/components/card/card.component.min.js.map +1 -1
  43. package/assets/js/components/collapsible-side/collapsible-side.component.js +96 -0
  44. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +27 -0
  45. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -0
  46. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  47. package/assets/js/components/header/header.component.min.js +1 -1
  48. package/assets/js/components/nav/nav.component.min.js +1 -1
  49. package/assets/js/components/notification/notification.component.min.js +1 -1
  50. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  51. package/assets/js/components/table/table.component.js +3 -0
  52. package/assets/js/components/table/table.component.min.js +10 -10
  53. package/assets/js/components/table/table.component.min.js.map +1 -1
  54. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  55. package/assets/js/dynamic.min.js +4 -4
  56. package/assets/js/dynamic.min.js.map +1 -1
  57. package/assets/js/modules/applied-filters.js +6 -7
  58. package/assets/js/modules/dialogs.js +32 -4
  59. package/assets/js/modules/helpers.js +0 -13
  60. package/assets/js/modules/table.js +68 -13
  61. package/assets/js/scripts.bundle.js +18 -16
  62. package/assets/js/scripts.bundle.js.map +1 -1
  63. package/assets/js/scripts.bundle.min.js +2 -2
  64. package/assets/js/scripts.bundle.min.js.map +1 -1
  65. package/assets/sass/_corefiles.scss +0 -1
  66. package/assets/sass/_func.scss +1 -0
  67. package/assets/sass/_functions/mixins.scss +22 -0
  68. package/assets/sass/components/actionbar-global.scss +69 -7
  69. package/assets/sass/components/actionbar.scss +20 -8
  70. package/assets/sass/components/admin-panel.scss +47 -2
  71. package/assets/sass/components/card-global.scss +53 -1
  72. package/assets/sass/components/card.scss +14 -12
  73. package/assets/sass/components/charts.scss +1 -1
  74. package/assets/sass/components/collapsible-side.scss +327 -0
  75. package/assets/sass/components/dialog.scss +62 -61
  76. package/assets/sass/components/fileupload.scss +1 -1
  77. package/assets/sass/components/forms.scss +112 -102
  78. package/assets/sass/components/nav-global.scss +26 -9
  79. package/assets/sass/components/nav.scss +9 -10
  80. package/assets/sass/components/notification.scss +1 -1
  81. package/assets/sass/components/table.scss +85 -4
  82. package/assets/sass/core.scss +1 -0
  83. package/assets/sass/error.scss +2 -1
  84. package/assets/sass/foundations/root.scss +3 -3
  85. package/assets/sass/main.scss +4 -3
  86. package/assets/ts/components/actionbar/actionbar.component.ts +67 -2
  87. package/assets/ts/components/card/card.component.ts +12 -2
  88. package/assets/ts/components/collapsible-side/README.md +38 -0
  89. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +134 -0
  90. package/assets/ts/components/table/table.component.ts +4 -0
  91. package/assets/ts/modules/applied-filters.ts +8 -10
  92. package/assets/ts/modules/dialogs.ts +42 -5
  93. package/assets/ts/modules/helpers.ts +0 -17
  94. package/assets/ts/modules/table.ts +82 -13
  95. package/dist/components.es.js +1270 -686
  96. package/dist/components.umd.js +132 -36
  97. package/dist/style.css +1 -1
  98. package/package.json +1 -1
  99. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +20 -0
  100. package/src/components/CollapsibleSideMenu/README.md +23 -0
  101. package/src/index.js +8 -0
@@ -1,10 +1,10 @@
1
- import { openBlock as d, createElementBlock as u, normalizeClass as L, createElementVNode as f, toDisplayString as q, createCommentVNode as _, Fragment as H, renderList as M, renderSlot as A, withDirectives as R, mergeProps as C, vModelDynamic as G, vModelText as mt, vModelSelect as ht, createTextVNode as ft, resolveComponent as I, createVNode as T, withModifiers as pt } from "vue";
2
- const w = (e, a) => {
1
+ import { openBlock as h, createElementBlock as p, normalizeClass as k, createElementVNode as g, toDisplayString as x, createCommentVNode as A, Fragment as M, renderList as H, renderSlot as S, withDirectives as D, mergeProps as N, vModelDynamic as Y, vModelText as pt, vModelSelect as bt, createTextVNode as ft, resolveComponent as z, createVNode as C, withModifiers as gt } from "vue";
2
+ const _ = (e, a) => {
3
3
  const t = e.__vccOpts || e;
4
4
  for (const [i, o] of a)
5
5
  t[i] = o;
6
6
  return t;
7
- }, bt = {
7
+ }, yt = {
8
8
  name: "Logo",
9
9
  props: {
10
10
  id: {
@@ -29,91 +29,91 @@ const w = (e, a) => {
29
29
  return "brand brand--" + this.id;
30
30
  }
31
31
  }
32
- }, yt = ["xlink:href"], gt = ["innerHTML"];
33
- function vt(e, a, t, i, o, s) {
34
- return d(), u("div", {
35
- class: L(s.className)
32
+ }, vt = ["xlink:href"], wt = ["innerHTML"];
33
+ function At(e, a, t, i, o, s) {
34
+ return h(), p("div", {
35
+ class: k(s.className)
36
36
  }, [
37
- (d(), u("svg", null, [
38
- f("title", null, "iam " + q(t.id), 1),
39
- f("use", {
37
+ (h(), p("svg", null, [
38
+ g("title", null, "iam " + x(t.id), 1),
39
+ g("use", {
40
40
  "xlink:href": t.path + s.src
41
- }, null, 8, yt)
41
+ }, null, 8, vt)
42
42
  ])),
43
- t.desc ? (d(), u("span", {
43
+ t.desc ? (h(), p("span", {
44
44
  key: 0,
45
45
  innerHTML: t.desc
46
- }, null, 8, gt)) : _("", !0)
46
+ }, null, 8, wt)) : A("", !0)
47
47
  ], 2);
48
48
  }
49
- const Ar = /* @__PURE__ */ w(bt, [["render", vt]]);
49
+ const Gr = /* @__PURE__ */ _(yt, [["render", At]]);
50
50
  /*!
51
- * iamKey v3.9.0-beta-1
51
+ * iamKey v4.0.1
52
52
  * Copyright 2022-2023 iamproperty
53
53
  */
54
54
  const _t = function(e) {
55
55
  return typeof e != "string" ? !1 : !isNaN(e) && !isNaN(parseFloat(e));
56
- }, At = (e, a) => String(e).padStart(a, "0"), wt = (e) => e.charAt(0).toUpperCase() + e.slice(1), F = function(e, a) {
56
+ }, Lt = (e, a) => String(e).padStart(a, "0"), St = (e) => e.charAt(0).toUpperCase() + e.slice(1), B = function(e, a) {
57
57
  if (!e.getAttribute("data-pages"))
58
58
  return !1;
59
59
  e.getAttribute("data-page") || e.setAttribute("data-page", 1);
60
60
  let t = e.getAttribute("data-page"), i = e.getAttribute("data-pages"), o = e.getAttribute("data-total"), s = e.getAttribute("data-show"), r = e.getAttribute("data-increment");
61
61
  if (i <= 1)
62
62
  return a.innerHTML = "", !1;
63
- let l = "";
63
+ let n = "";
64
64
  for (let c = 1; c <= i; c++)
65
- c == t ? l += `<li class="page-item active" aria-current="page"><span class="page-link">${c}</span></li>` : l += `<li class="page-item"><a href="?page=${c}" class="page-link" data-page="${c}">${c}</a></li>`;
65
+ c == t ? n += `<li class="page-item active" aria-current="page"><span class="page-link">${c}</span></li>` : n += `<li class="page-item"><a href="?page=${c}" class="page-link" data-page="${c}">${c}</a></li>`;
66
66
  return a.innerHTML = `<ul class="pagination mb-0 d-none d-sm-flex">
67
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
- ${l}
68
+ ${n}
69
69
  ${t == i ? '<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 ${s} of ${o} results</span>
72
72
  <a href="?show=${parseInt(s) + parseInt(r)}" class="btn btn-primary w-100 m-0" data-show="${parseInt(s) + parseInt(r)}">Load more results</a>
73
73
  </div>`, !0;
74
74
  };
75
- var Lt = function(e, a, t, i) {
75
+ var kt = function(e, a, t, i) {
76
76
  function o(s) {
77
77
  return s instanceof t ? s : new t(function(r) {
78
78
  r(s);
79
79
  });
80
80
  }
81
81
  return new (t || (t = Promise))(function(s, r) {
82
- function l(h) {
82
+ function n(m) {
83
83
  try {
84
- n(i.next(h));
85
- } catch (p) {
86
- r(p);
84
+ l(i.next(m));
85
+ } catch (d) {
86
+ r(d);
87
87
  }
88
88
  }
89
- function c(h) {
89
+ function c(m) {
90
90
  try {
91
- n(i.throw(h));
92
- } catch (p) {
93
- r(p);
91
+ l(i.throw(m));
92
+ } catch (d) {
93
+ r(d);
94
94
  }
95
95
  }
96
- function n(h) {
97
- h.done ? s(h.value) : o(h.value).then(l, c);
96
+ function l(m) {
97
+ m.done ? s(m.value) : o(m.value).then(n, c);
98
98
  }
99
- n((i = i.apply(e, a || [])).next());
99
+ l((i = i.apply(e, a || [])).next());
100
100
  });
101
101
  };
102
- const tt = (e) => {
102
+ const at = (e) => {
103
103
  const a = Array.from(e.querySelectorAll("thead th"));
104
104
  Array.from(e.querySelectorAll("tbody tr")).forEach((t, i) => {
105
105
  const o = Array.from(t.querySelectorAll("th, td")), s = ["0", "low", "medium", "high", "unknown", "n/a", "pending", "verified", "due", "overdue", "incomplete", "complete", "completed", "approval required", "upcoming", "requires approval", "to do", "on track", "not started", "warning", "error"];
106
- o.forEach((r, l) => {
107
- const c = a[l];
106
+ o.forEach((r, n) => {
107
+ const c = a[n];
108
108
  if (typeof c < "u") {
109
- let n = document.createElement("div");
110
- n.innerHTML = c.innerHTML;
111
- let h = n.textContent || n.innerText || "";
112
- r.setAttribute("data-label", h), c.hasAttribute("data-td-class") && r.setAttribute("class", c.getAttribute("data-td-class")), c.hasAttribute("data-format") && (r.setAttribute("data-format", c.getAttribute("data-format")), r.innerHTML = Y(c.getAttribute("data-format"), r.textContent.trim())), s.includes(r.textContent.trim().toLowerCase()) && r.setAttribute("data-content", r.textContent.trim().toLowerCase());
109
+ let l = document.createElement("div");
110
+ l.innerHTML = c.innerHTML;
111
+ let m = l.textContent || l.innerText || "";
112
+ r.setAttribute("data-label", m), c.hasAttribute("data-td-class") && r.setAttribute("class", c.getAttribute("data-td-class")), c.hasAttribute("data-format") && (r.setAttribute("data-format", c.getAttribute("data-format")), r.innerHTML = K(c.getAttribute("data-format"), r.textContent.trim())), s.includes(r.textContent.trim().toLowerCase()) && r.setAttribute("data-content", r.textContent.trim().toLowerCase());
113
113
  }
114
114
  });
115
115
  });
116
- }, St = (e) => {
116
+ }, qt = (e) => {
117
117
  let a = 0;
118
118
  return Array.from(e.querySelectorAll("tbody tr")).forEach((t, i) => {
119
119
  let o = window.getComputedStyle(document.querySelector("html")), s = t.querySelector(":scope > *:last-child > *:first-child");
@@ -123,7 +123,7 @@ const tt = (e) => {
123
123
  r += 1.7, a = a > r ? a : r;
124
124
  }
125
125
  }), a;
126
- }, kt = (e) => {
126
+ }, $t = (e) => {
127
127
  if (e.closest(".table--fullwidth") || e.querySelectorAll("thead tr th").length < 4)
128
128
  return !1;
129
129
  Array.from(e.querySelectorAll("tbody tr")).forEach((a, t) => {
@@ -135,205 +135,240 @@ const tt = (e) => {
135
135
  s.innerHTML = `<span class="td__content">${r}</span><button type="button" class="d-none">${r}</button>`;
136
136
  }
137
137
  });
138
- }, qt = (e) => {
138
+ }, xt = (e) => {
139
139
  e.addEventListener("click", (a) => {
140
140
  if (a && a.target instanceof HTMLElement && a.target.closest("tr > :is(td,th):first-child button")) {
141
141
  let t = a.target.closest("tr > :is(td,th):first-child button"), i = t.parentNode.closest("tr");
142
142
  i.getAttribute("data-view") == "full" ? i.setAttribute("data-view", "default") : i.setAttribute("data-view", "full"), t.blur();
143
143
  }
144
144
  });
145
- }, et = (e, a) => {
145
+ }, rt = (e, a) => {
146
146
  let t = a.querySelector("[data-search]");
147
147
  if (!t)
148
148
  return !1;
149
149
  const i = t.getAttribute("id"), o = t.getAttribute("data-search").split(",");
150
150
  let s = t.parentNode, r = {};
151
- o.forEach((l, c) => {
152
- Array.from(e.querySelectorAll('td[data-label="' + l.trim() + '"]')).forEach((n, h) => {
153
- n.querySelector(".td__content") ? r[n.querySelector(".td__content").textContent] = n.querySelector(".td__content").textContent : r[n.textContent] = n.textContent;
151
+ o.forEach((n, c) => {
152
+ Array.from(e.querySelectorAll('td[data-label="' + n.trim() + '"]')).forEach((l, m) => {
153
+ l.querySelector(".td__content") ? r[l.querySelector(".td__content").textContent] = l.querySelector(".td__content").textContent : r[l.textContent] = l.textContent;
154
154
  });
155
- }), t.setAttribute("list", `${i}_list`), t.setAttribute("autocomplete", "off"), s.querySelector("datalist") || (s.innerHTML += `<datalist id="${i}_list"></datalist>`), s.querySelector("datalist").innerHTML = `${Object.keys(r).map((l) => `<option value="${l}"></option>`).join("")}`;
156
- }, $t = (e, a, t, i, o) => {
155
+ }), t.setAttribute("list", `${i}_list`), t.setAttribute("autocomplete", "off"), s.querySelector("datalist") || (s.innerHTML += `<datalist id="${i}_list"></datalist>`), s.querySelector("datalist").innerHTML = `${Object.keys(r).map((n) => `<option value="${n}"></option>`).join("")}`;
156
+ }, Et = (e, a, t, i, o) => {
157
157
  var s;
158
- let r = function(n = !1) {
159
- if (a.hasAttribute("data-ajax")) {
160
- if (!n) {
161
- let h = a.querySelector("[data-pagination]");
162
- h.value = 1, i.setAttribute("data-page", 1);
158
+ let r = function(l, m = !1) {
159
+ if (a.classList.contains("processing"))
160
+ return !1;
161
+ if (l.type == "submit" && (a.classList.add("processing"), Array.from(a.querySelectorAll("[data-duplicate]")).forEach((d, f) => {
162
+ const b = d.getAttribute("data-duplicate"), u = document.getElementById(b), v = document.querySelector(`[for="${b}"] iam-card`);
163
+ if (u.checked != d.checked)
164
+ if (v) {
165
+ let q = new Event("click");
166
+ v.dispatchEvent(q);
167
+ } else
168
+ u.checked = d.checked;
169
+ }), a.classList.remove("processing")), a.hasAttribute("data-ajax")) {
170
+ if (!m) {
171
+ let d = a.querySelector("[data-pagination]");
172
+ d.value = 1, i.setAttribute("data-page", 1);
163
173
  }
164
- it(e, a, t, i);
174
+ ot(e, a, t, i);
165
175
  } else
166
- a.hasAttribute("data-submit") ? a.submit() : (K(e, a, i), F(i, t), B(e, a));
176
+ a.hasAttribute("data-submit") ? a.submit() : (G(e, a, i), B(i, t), F(e, a));
167
177
  if (a.hasAttribute("data-ajax-post")) {
168
- let h = new FormData(a), p = new URLSearchParams(h).toString();
169
- const y = new XMLHttpRequest();
170
- y.open("GET", `${window.location.href}?ajax=true&${p}`), y.send();
178
+ let d = new FormData(a), f = new URLSearchParams(d).toString();
179
+ const b = new XMLHttpRequest();
180
+ b.open("GET", `${window.location.href}?ajax=true&${f}`), b.send();
171
181
  }
172
182
  };
173
- a.addEventListener("keyup", (n) => {
174
- clearTimeout(s), n && n.target instanceof HTMLElement && n.target.closest("[data-search]") && (s = setTimeout(function() {
175
- r();
183
+ a.addEventListener("keyup", (l) => {
184
+ clearTimeout(s), l && l.target instanceof HTMLElement && l.target.closest("[data-search]") && (s = setTimeout(function() {
185
+ r(l);
176
186
  }, 500));
177
- }), a.addEventListener("change", (n) => {
178
- clearTimeout(s), n && n.target instanceof HTMLElement && n.target.closest("[data-sort]") && (a.hasAttribute("data-submit") || Q(e, a, o), r()), n && n.target instanceof HTMLElement && n.target.closest("[data-search]") && r(), n && n.target instanceof HTMLElement && n.target.closest("[data-filter][data-no-ajax]") ? (K(e, a, i), F(i, t), B(e, a)) : (n && n.target instanceof HTMLElement && n.target.closest("[data-filter]") && n.target.closest("form .dialog__wrapper > dialog") || n && n.target instanceof HTMLElement && n.target.closest("[data-filter]") && !n.target.closest("form dialog")) && r(), n && n.target instanceof HTMLElement && n.target.closest("[data-show]") && r(), n && n.target instanceof HTMLElement && n.target.closest("[data-mimic]") && r();
179
- }), a.addEventListener("click", (n) => {
180
- clearTimeout(s), n && n.target instanceof HTMLElement && n.target.closest('dialog button:not([type="button"])') && n.target.closest('dialog button:not([type="button"])').closest("dialog").close(), n && n.target instanceof HTMLElement && n.target.closest(".dialog__close") && (n.preventDefault(), n.stopPropagation()), n && n.target instanceof HTMLElement && n.target.closest("[data-clear]") && (a.reset(), a.hasAttribute("data-submit") || Q(e, a, o), r());
181
- }), a.addEventListener("submit", (n) => {
182
- clearTimeout(s), a.hasAttribute("data-submit") || n.preventDefault(), r();
183
- }), a.addEventListener("force", (n) => {
184
- r();
185
- }), a.addEventListener("paginate", (n) => {
186
- r(!0);
187
+ }), a.addEventListener("change", (l) => {
188
+ clearTimeout(s), l && l.target instanceof HTMLElement && l.target.closest("[data-sort]") && (a.hasAttribute("data-submit") || Q(e, a, o), r(l)), l && l.target instanceof HTMLElement && l.target.closest("[data-search]") && r(l), l && l.target instanceof HTMLElement && l.target.closest("[data-filter][data-no-ajax]") ? (G(e, a, i), B(i, t), F(e, a)) : (l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && l.target.closest("form .dialog__wrapper > dialog") || l && l.target instanceof HTMLElement && l.target.closest("[data-filter]") && !l.target.closest("form dialog")) && r(l), l && l.target instanceof HTMLElement && l.target.closest("[data-show]") && r(l), l && l.target instanceof HTMLElement && l.target.closest("[data-mimic]") && r(l);
189
+ }), a.addEventListener("click", (l) => {
190
+ if (clearTimeout(s), 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]")) {
191
+ a.classList.add("processing"), Array.from(a.querySelectorAll(".applied-filters")).forEach((d, f) => {
192
+ d.innerHTML = "";
193
+ });
194
+ let m = a.elements;
195
+ for (let d = 0; d < m.length; d++)
196
+ switch (m[d].type.toLowerCase() ? m[d].type.toLowerCase() : "text") {
197
+ case "text":
198
+ case "password":
199
+ case "textarea":
200
+ m[d].value = "";
201
+ break;
202
+ case "radio":
203
+ case "checkbox":
204
+ m[d].checked && (m[d].checked = !1);
205
+ break;
206
+ case "select-one":
207
+ case "select-multi":
208
+ m[d].selectedIndex = -1;
209
+ break;
210
+ }
211
+ Array.from(a.querySelectorAll("label iam-card")).forEach((d, f) => {
212
+ let b = new Event("click");
213
+ d.dispatchEvent(b);
214
+ }), a.classList.remove("processing"), a.hasAttribute("data-submit") || Q(e, a, o), r(l);
215
+ }
216
+ }), a.addEventListener("submit", (l) => {
217
+ clearTimeout(s), a.hasAttribute("data-submit") || l.preventDefault(), r(l);
218
+ }), a.addEventListener("force", (l) => {
219
+ r(l);
220
+ }), a.addEventListener("paginate", (l) => {
221
+ r(l, !0);
187
222
  });
188
- let l = [], c = [];
189
- Array.from(a.querySelectorAll("[data-mimic]")).forEach((n, h) => {
190
- let p = n.getAttribute("data-mimic");
191
- Array.from(document.querySelectorAll(`[name="${p}"]`)).forEach((y, b) => {
192
- let m = y.closest("form");
193
- l.includes(m) || l.push(m), c.includes(p) || c.push(p);
223
+ let n = [], c = [];
224
+ Array.from(a.querySelectorAll("[data-mimic]")).forEach((l, m) => {
225
+ let d = l.getAttribute("data-mimic");
226
+ Array.from(document.querySelectorAll(`[name="${d}"]`)).forEach((f, b) => {
227
+ let u = f.closest("form");
228
+ n.includes(u) || n.push(u), c.includes(d) || c.push(d);
194
229
  });
195
- }), l.forEach((n, h) => {
196
- const p = function() {
197
- let y = [], b = new FormData(n);
198
- for (const [m, S] of b)
199
- document.querySelector(`[data-mimic="${m}"]`) && !y.includes(m) ? (y.push(m), document.querySelector(`[data-mimic="${m}"]`).value = S) : document.querySelector(`[data-mimic="${m}"]`) && (document.querySelector(`[data-mimic="${m}"]`).value += "," + S);
200
- for (const m of y) {
201
- const S = new Event("force");
202
- a.dispatchEvent(S);
230
+ }), n.forEach((l, m) => {
231
+ const d = function() {
232
+ let f = [], b = new FormData(l);
233
+ for (const [u, v] of b)
234
+ document.querySelector(`[data-mimic="${u}"]`) && !f.includes(u) ? (f.push(u), document.querySelector(`[data-mimic="${u}"]`).value = v) : document.querySelector(`[data-mimic="${u}"]`) && (document.querySelector(`[data-mimic="${u}"]`).value += "," + v);
235
+ for (const u of f) {
236
+ const v = new Event("force");
237
+ a.dispatchEvent(v);
203
238
  }
204
- for (const m of c)
205
- if (!b.has(m) && n.querySelector(`[name="${m}"]`)) {
206
- document.querySelector(`[data-mimic="${m}"]`).value = "";
207
- const S = new Event("force");
208
- a.dispatchEvent(S);
239
+ for (const u of c)
240
+ if (!b.has(u) && l.querySelector(`[name="${u}"]`)) {
241
+ document.querySelector(`[data-mimic="${u}"]`).value = "";
242
+ const v = new Event("force");
243
+ a.dispatchEvent(v);
209
244
  }
210
245
  };
211
- n.addEventListener("force", (y) => {
212
- p();
213
- }), n.addEventListener("change", (y) => {
214
- p();
246
+ l.addEventListener("force", (f) => {
247
+ d();
248
+ }), l.addEventListener("change", (f) => {
249
+ d();
215
250
  });
216
251
  });
217
252
  }, Q = (e, a, t) => {
218
253
  if (a.getAttribute("data-ajax"))
219
254
  return !1;
220
- let i = e.querySelector("tbody"), o = a.querySelector("[data-sort]"), s = o.querySelector(`option:nth-child(${o.selectedIndex + 1})`), r = s.getAttribute("data-sort"), l = s.getAttribute("data-order"), c = s.getAttribute("data-format");
255
+ let i = e.querySelector("tbody"), o = a.querySelector("[data-sort]"), s = o.querySelector(`option:nth-child(${o.selectedIndex + 1})`), r = s.getAttribute("data-sort"), n = s.getAttribute("data-order"), c = s.getAttribute("data-format");
221
256
  if (!r)
222
- return i.innerHTML = t.innerHTML, tt(e), !1;
223
- let n = [];
224
- ["asc", "desc", "descending"].includes(l) || (n = l.split(","));
225
- let h = [];
226
- Array.from(i.querySelectorAll("tr")).forEach((y, b) => {
227
- let m = y.querySelector('td[data-label="' + r + '"], th[data-label="' + r + '"]').textContent.trim();
228
- y.querySelector('[data-label="' + r + '"] .td__content') && (m = y.querySelector('[data-label="' + r + '"] .td__content').textContent.trim()), n.length && n.includes(m) && (m = n.indexOf(m)), _t(m) && (m = At(m, 10)), c && c == "date" && (m = new Date(m));
229
- const S = { index: m, row: y };
230
- h.push(S);
231
- }), h.sort((y, b) => y.index > b.index ? 1 : -1), (l == "descending" || l == "desc") && (h = h.reverse());
232
- let p = "";
233
- h.forEach((y, b) => {
234
- p += y.row.outerHTML;
235
- }), i.innerHTML = p;
236
- }, K = (e, a, t) => {
257
+ return i.innerHTML = t.innerHTML, at(e), !1;
258
+ let l = [];
259
+ ["asc", "desc", "descending"].includes(n) || (l = n.split(","));
260
+ let m = [];
261
+ Array.from(i.querySelectorAll("tr")).forEach((f, b) => {
262
+ let u = f.querySelector('td[data-label="' + r + '"], th[data-label="' + r + '"]').textContent.trim();
263
+ f.querySelector('[data-label="' + r + '"] .td__content') && (u = f.querySelector('[data-label="' + r + '"] .td__content').textContent.trim()), l.length && l.includes(u) && (u = l.indexOf(u)), _t(u) && (u = Lt(u, 10)), c && c == "date" && (u = new Date(u));
264
+ const v = { index: u, row: f };
265
+ m.push(v);
266
+ }), m.sort((f, b) => f.index > b.index ? 1 : -1), (n == "descending" || n == "desc") && (m = m.reverse());
267
+ let d = "";
268
+ m.forEach((f, b) => {
269
+ d += f.row.outerHTML;
270
+ }), i.innerHTML = d;
271
+ }, G = (e, a, t) => {
237
272
  e.classList.remove("table--filtered");
238
- let i = rt(a), o = [], s = 0, r = a.querySelector("[data-pagination]") ? parseInt(a.querySelector("[data-pagination]").value) : 1, l = a.querySelector("[data-show]") ? parseInt(a.querySelector("[data-show]").value) : 15;
239
- if (Array.from(e.querySelectorAll("tbody tr")).forEach((n, h) => {
240
- n.classList.remove("filtered"), n.classList.remove("filtered--matched"), n.classList.remove("filtered--show"), n.removeAttribute("data-filtered-by");
273
+ let i = st(a), o = [], s = 0, r = a.querySelector("[data-pagination]") ? parseInt(a.querySelector("[data-pagination]").value) : 1, n = a.querySelector("[data-show]") ? parseInt(a.querySelector("[data-show]").value) : 15;
274
+ if (Array.from(e.querySelectorAll("tbody tr")).forEach((l, m) => {
275
+ l.classList.remove("filtered"), l.classList.remove("filtered--matched"), l.classList.remove("filtered--show"), l.removeAttribute("data-filtered-by");
241
276
  }), a.querySelector("[data-search]")) {
242
- let n = a.querySelector("[data-search]");
243
- a.querySelector("[data-search]").getAttribute("data-search").split(",").forEach((h, p) => {
244
- o.push({ column: `${h.trim()}`, value: `${n.value}` });
277
+ let l = a.querySelector("[data-search]");
278
+ a.querySelector("[data-search]").getAttribute("data-search").split(",").forEach((m, d) => {
279
+ o.push({ column: `${m.trim()}`, value: `${l.value}` });
245
280
  });
246
281
  }
247
- Array.from(a.querySelectorAll("[data-filter-count]")).forEach((n, h) => {
248
- n.innerHTML = "", n.parentNode.classList.remove("hover");
282
+ Array.from(a.querySelectorAll("[data-filter-count]")).forEach((l, m) => {
283
+ l.innerHTML = "", l.parentNode.classList.remove("hover");
249
284
  });
250
285
  let c = 0;
251
- Object.values(i).forEach((n, h) => {
252
- typeof n == "object" && Object.values(n).length ? c += Object.values(n).length : c++;
253
- }), c && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((n, h) => {
254
- n.innerHTML += `(${c})`, n.parentNode.classList.add("hover");
286
+ Object.values(i).forEach((l, m) => {
287
+ typeof l == "object" && Object.values(l).length ? c += Object.values(l).length : c++;
288
+ }), c && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((l, m) => {
289
+ l.innerHTML += `(${c})`, l.parentNode.classList.add("hover");
255
290
  }), e.classList.add("table--filtered");
256
- for (const [n, h] of Object.entries(i))
257
- Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((p, y) => {
291
+ for (const [l, m] of Object.entries(i))
292
+ Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((d, f) => {
258
293
  let b = !1;
259
- h.forEach((m, S) => {
260
- let $ = p.querySelector(`[data-label="${n}"]`);
261
- if (m && m == "$today")
262
- m = Y("date", /* @__PURE__ */ new Date());
263
- else if (m && m == "$yesterday") {
264
- let v = /* @__PURE__ */ new Date();
265
- v.setDate(v.getDate() - 1), m = Y("date", v);
266
- } else if (m && (m == "$thisWeek" || m == "$lastWeek")) {
267
- let v = /* @__PURE__ */ new Date(), x = new Date(v.setDate(v.getDate() - (v.getDay() - 1))), k = new Date(v.setDate(v.getDate() - v.getDay() + 7)), g = new Date($.textContent.toLowerCase());
268
- if (v.setHours(0, 0, 0, 0), x.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), g.setHours(0, 0, 0, 0), m == "$thisWeek")
269
- b = g >= x && g <= k;
294
+ m.forEach((u, v) => {
295
+ let q = d.querySelector(`[data-label="${l}"]`);
296
+ if (u && u == "$today")
297
+ u = K("date", /* @__PURE__ */ new Date());
298
+ else if (u && u == "$yesterday") {
299
+ let L = /* @__PURE__ */ new Date();
300
+ L.setDate(L.getDate() - 1), u = K("date", L);
301
+ } else if (u && (u == "$thisWeek" || u == "$lastWeek")) {
302
+ let L = /* @__PURE__ */ new Date(), E = new Date(L.setDate(L.getDate() - (L.getDay() - 1))), $ = new Date(L.setDate(L.getDate() - L.getDay() + 7)), w = new Date(q.textContent.toLowerCase());
303
+ if (L.setHours(0, 0, 0, 0), E.setHours(0, 0, 0, 0), $.setHours(0, 0, 0, 0), w.setHours(0, 0, 0, 0), u == "$thisWeek")
304
+ b = w >= E && w <= $;
270
305
  else {
271
- let O = new Date(x.setDate(x.getDate() - 7)), E = new Date(k.setDate(k.getDate() - 7));
272
- O.setHours(0, 0, 0, 0), E.setHours(0, 0, 0, 0), b = g >= O && g <= E;
306
+ let O = new Date(E.setDate(E.getDate() - 7)), T = new Date($.setDate($.getDate() - 7));
307
+ O.setHours(0, 0, 0, 0), T.setHours(0, 0, 0, 0), b = w >= O && w <= T;
273
308
  }
274
- } else if (m && m == "$thisMonth") {
275
- let v = /* @__PURE__ */ new Date(), x = v.getFullYear(), k = v.getMonth();
276
- var D = new Date(x, k, 1), z = new Date(x, k + 1, 0);
277
- let g = new Date($.textContent.toLowerCase());
278
- D.setHours(0, 0, 0, 0), z.setHours(0, 0, 0, 0), g.setHours(0, 0, 0, 0), b = g >= D && g <= z;
279
- } else if (m && m == "$lastMonth") {
280
- let v = /* @__PURE__ */ new Date(), x = v.getFullYear(), k = v.getMonth();
281
- var N = new Date(x, k - 1, 1), P = new Date(x, k, 0);
282
- let g = new Date($.textContent.toLowerCase());
283
- N.setHours(0, 0, 0, 0), P.setHours(0, 0, 0, 0), g.setHours(0, 0, 0, 0), b = g >= N && g <= P;
309
+ } else if (u && u == "$thisMonth") {
310
+ let L = /* @__PURE__ */ new Date(), E = L.getFullYear(), $ = L.getMonth();
311
+ var y = new Date(E, $, 1), I = new Date(E, $ + 1, 0);
312
+ let w = new Date(q.textContent.toLowerCase());
313
+ y.setHours(0, 0, 0, 0), I.setHours(0, 0, 0, 0), w.setHours(0, 0, 0, 0), b = w >= y && w <= I;
314
+ } else if (u && u == "$lastMonth") {
315
+ let L = /* @__PURE__ */ new Date(), E = L.getFullYear(), $ = L.getMonth();
316
+ var R = new Date(E, $ - 1, 1), j = new Date(E, $, 0);
317
+ let w = new Date(q.textContent.toLowerCase());
318
+ R.setHours(0, 0, 0, 0), j.setHours(0, 0, 0, 0), w.setHours(0, 0, 0, 0), b = w >= R && w <= j;
284
319
  }
285
- $ && $.textContent.toLowerCase().includes(m.toLowerCase()) && (b = !0);
286
- }), b || (p.classList.add("filtered"), p.setAttribute("data-filtered-by", n));
320
+ q && q.textContent.toLowerCase().includes(u.toLowerCase()) && (b = !0);
321
+ }), b || (d.classList.add("filtered"), d.setAttribute("data-filtered-by", l));
287
322
  });
288
- Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((n, h) => {
289
- let p = !(o.length > 0 && o[0].value.length >= 3);
290
- o.forEach((y, b) => {
291
- let m = n.querySelector(`[data-label="${y.column}"]`);
292
- m && y.value.length >= 3 && m.textContent.toLowerCase().includes(y.value.toLowerCase()) && (p = !0);
293
- }), p || n.classList.add("filtered");
294
- }), Array.from(e.querySelectorAll("tbody tr:not(.filtered")).forEach((n, h) => {
295
- s++, n.classList.add("filtered--matched"), Math.ceil(s / l) == parseInt(r) && n.classList.add("filtered--show");
296
- }), t && (t.setAttribute("data-page", r), t.setAttribute("data-pages", Math.ceil(s / l)), t.setAttribute("data-total", s), t.setAttribute("data-show", l));
297
- }, B = (e, a, t) => {
323
+ Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach((l, m) => {
324
+ let d = !(o.length > 0 && o[0].value.length >= 3);
325
+ o.forEach((f, b) => {
326
+ let u = l.querySelector(`[data-label="${f.column}"]`);
327
+ u && f.value.length >= 3 && u.textContent.toLowerCase().includes(f.value.toLowerCase()) && (d = !0);
328
+ }), d || l.classList.add("filtered");
329
+ }), Array.from(e.querySelectorAll("tbody tr:not(.filtered")).forEach((l, m) => {
330
+ s++, l.classList.add("filtered--matched"), Math.ceil(s / n) == parseInt(r) && l.classList.add("filtered--show");
331
+ }), t && (t.setAttribute("data-page", r), t.setAttribute("data-pages", Math.ceil(s / n)), t.setAttribute("data-total", s), t.setAttribute("data-show", n));
332
+ }, F = (e, a, t) => {
298
333
  Array.from(a.querySelectorAll("[data-query]")).forEach((i, o) => {
299
334
  let s = i.getAttribute("data-query"), r;
300
335
  if (s == "total")
301
336
  t.hasAttribute("data-total") ? r = t.getAttribute("data-total") : r = (e.classList.contains("table--filtered"), e.querySelectorAll("tbody tr").length);
302
337
  else if (!s.includes(" == ") && s.includes(" & ")) {
303
- let l = s.split(" & "), c = "";
304
- l.forEach((n) => {
305
- c += `:not([data-filtered-by="${n}"])`;
338
+ let n = s.split(" & "), c = "";
339
+ n.forEach((l) => {
340
+ c += `:not([data-filtered-by="${l}"])`;
306
341
  }), r = Array.from(e.querySelectorAll(`tbody tr${c}`)).length;
307
342
  } else if (!s.includes(" == "))
308
343
  r = Array.from(e.querySelectorAll(`tbody tr:not([data-filtered-by="${s}"])`)).length;
309
344
  else if (s.includes(" && ")) {
310
- let l = s.split(" && ");
345
+ let n = s.split(" && ");
311
346
  r = Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).filter(function(c) {
312
- let n = !0;
313
- for (const [h, p] of Object.entries(l)) {
314
- let y = p.split(" == ");
315
- (!c.querySelector(`td[data-label="${y[0]}"]`) || c.querySelector(`td[data-label="${y[0]}"]`).textContent != `${y[1]}`) && (n = !1);
347
+ let l = !0;
348
+ for (const [m, d] of Object.entries(n)) {
349
+ let f = d.split(" == ");
350
+ (!c.querySelector(`td[data-label="${f[0]}"]`) || c.querySelector(`td[data-label="${f[0]}"]`).textContent != `${f[1]}`) && (l = !1);
316
351
  }
317
- return n;
352
+ return l;
318
353
  }).length;
319
354
  } else {
320
- let l = s.split(" == ");
321
- r = Array.from(e.querySelectorAll(`tbody tr.filtered--matched td[data-label="${l[0]}"], tbody tr[data-filtered-by="${l[0]}"] td[data-label="${l[0]}"]`)).filter(function(c) {
322
- return c.textContent === l[1];
355
+ let n = s.split(" == ");
356
+ r = Array.from(e.querySelectorAll(`tbody tr.filtered--matched td[data-label="${n[0]}"], tbody tr[data-filtered-by="${n[0]}"] td[data-label="${n[0]}"]`)).filter(function(c) {
357
+ return c.textContent === n[1];
323
358
  }).length;
324
359
  }
325
360
  i.hasAttribute("data-total") ? i.setAttribute("data-total", r) : i.innerHTML = r;
326
361
  });
327
- }, xt = function(e, a, t, i) {
362
+ }, Tt = function(e, a, t, i) {
328
363
  t.addEventListener("click", (o) => {
329
364
  if (o && o.target instanceof HTMLElement && o.target.closest("[data-page]")) {
330
365
  o.preventDefault();
331
366
  let s = a.querySelector("[data-pagination]"), r = o.target.closest("[data-page]").getAttribute("data-page");
332
367
  if (s.value = r, i.setAttribute("data-page", r), a.dispatchEvent(new Event("paginate")), e.hasAttribute("data-show-history")) {
333
- const n = new URL(location);
334
- n.searchParams.set("page", r), history.pushState({ type: "pagination", form: a.getAttribute("id"), page: r }, "", n);
368
+ const l = new URL(location);
369
+ l.searchParams.set("page", r), history.pushState({ type: "pagination", form: a.getAttribute("id"), page: r }, "", l);
335
370
  }
336
- const l = -250, c = e.getBoundingClientRect().top + window.pageYOffset + l;
371
+ const n = -250, c = e.getBoundingClientRect().top + window.pageYOffset + n;
337
372
  window.scrollTo({ top: c, behavior: "smooth" });
338
373
  }
339
374
  if (o && o.target instanceof HTMLElement && o.target.closest("[data-show]")) {
@@ -342,13 +377,13 @@ const tt = (e) => {
342
377
  s.value = r, i.setAttribute("data-show", r), a.dispatchEvent(new Event("submit"));
343
378
  }
344
379
  });
345
- }, Et = (e, a) => {
380
+ }, Mt = (e, a) => {
346
381
  if (!e)
347
382
  return !1;
348
383
  e.addEventListener("click", (t) => {
349
- Tt(a);
384
+ Ht(a);
350
385
  });
351
- }, Tt = function(e) {
386
+ }, Ht = function(e) {
352
387
  for (var a = [], t = e.getElementsByTagName("tr"), i = 0; i < t.length; i++) {
353
388
  for (var o = t[i].querySelectorAll("td,th"), s = [], r = 0; r < o.length; r++)
354
389
  s.push(`"${o[r].textContent}"`);
@@ -356,23 +391,23 @@ const tt = (e) => {
356
391
  }
357
392
  a = a.join(`
358
393
  `);
359
- let l = new Blob([a], { type: "text/csv" });
394
+ let n = new Blob([a], { type: "text/csv" });
360
395
  var c = document.createElement("a");
361
396
  c.download = "export.csv";
362
- var n = window.URL.createObjectURL(l);
363
- c.href = n, c.style.display = "none", document.body.appendChild(c), c.click(), document.body.removeChild(c);
364
- }, at = function(e, a, t, i) {
365
- if (tt(e), kt(e), B(e, a, i), i && i.classList.contains("table--cta")) {
397
+ var l = window.URL.createObjectURL(n);
398
+ c.href = l, c.style.display = "none", document.body.appendChild(c), c.click(), document.body.removeChild(c);
399
+ }, it = function(e, a, t, i) {
400
+ if (at(e), $t(e), F(e, a, i), i && i.classList.contains("table--cta")) {
366
401
  let o = function() {
367
- Array.from(e.querySelectorAll("tr")).forEach((r, l) => {
402
+ Array.from(e.querySelectorAll("tr")).forEach((r, n) => {
368
403
  let c = r.offsetHeight;
369
404
  r.style.setProperty("--row-height", `${c}px`);
370
405
  });
371
406
  };
372
- const s = St(e);
407
+ const s = qt(e);
373
408
  i.style.setProperty("--cta-width", `${s}rem`), new ResizeObserver(o).observe(e);
374
409
  }
375
- }, rt = function(e) {
410
+ }, st = function(e) {
376
411
  let a = new Object();
377
412
  return Array.from(e.querySelectorAll("[data-filter]")).forEach((t, i) => {
378
413
  if (!(t.type == "radio" && !t.checked) && !(t.type == "checkbox" && !t.checked) && t && t.value) {
@@ -380,72 +415,72 @@ const tt = (e) => {
380
415
  a[o] || (a[o] = new Array()), a[o].push(t.value);
381
416
  }
382
417
  }), a;
383
- }, it = function(e, a, t, i) {
384
- return Lt(this, void 0, void 0, function* () {
385
- const o = (b, m, S) => m.split(/[\.\[\]\'\"]/).filter(($) => $).reduce(($, D) => $ ? $[D] : S, b);
386
- let s = new FormData(a), r = new URLSearchParams(s).toString(), l = e.querySelectorAll("thead tr th"), c = e.querySelector("tbody"), n = a.getAttribute("data-ajax");
418
+ }, ot = function(e, a, t, i) {
419
+ return kt(this, void 0, void 0, function* () {
420
+ const o = (b, u, v) => u.split(/[\.\[\]\'\"]/).filter((q) => q).reduce((q, y) => q ? q[y] : v, b);
421
+ let s = new FormData(a), r = new URLSearchParams(s).toString(), n = e.querySelectorAll("thead tr th"), c = e.querySelector("tbody"), l = a.getAttribute("data-ajax");
387
422
  i.classList.add("table--loading");
388
- let h = rt(a);
389
- Array.from(a.querySelectorAll("[data-filter-count]")).forEach((b, m) => {
423
+ let m = st(a);
424
+ Array.from(a.querySelectorAll("[data-filter-count]")).forEach((b, u) => {
390
425
  b.innerHTML = "", b.parentNode.classList.remove("hover");
391
426
  });
392
- let p = 0;
393
- Object.values(h).forEach((b, m) => {
394
- typeof b == "object" && Object.values(b).length ? p += Object.values(b).length : p++;
395
- }), p && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((b, m) => {
396
- b.innerHTML += `(${p})`, b.parentNode.classList.add("hover");
397
- }), window.controller || (window.controller = []), window.controller[n] && window.controller[n].abort(), window.controller[n] = new AbortController();
398
- const { signal: y } = controller[n];
427
+ let d = 0;
428
+ Object.values(m).forEach((b, u) => {
429
+ typeof b == "object" && Object.values(b).length ? d += Object.values(b).length : d++;
430
+ }), d && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((b, u) => {
431
+ b.innerHTML += `(${d})`, b.parentNode.classList.add("hover");
432
+ }), window.controller || (window.controller = []), window.controller[l] && window.controller[l].abort(), window.controller[l] = new AbortController();
433
+ const { signal: f } = controller[l];
399
434
  try {
400
- yield fetch(n + "?" + r, { signal: y, method: "get", credentials: "same-origin", headers: new Headers({ "Content-Type": "application/json", Accept: "application/json", "X-Requested-With": "XMLHttpRequest" }) }).then((b) => b.json()).then((b) => {
401
- let m = a.hasAttribute("data-schema") ? a.getAttribute("data-schema") : "data", S = a.hasAttribute("data-schema-total") ? a.getAttribute("data-schema-total") : "meta.total", $ = a.hasAttribute("data-schema-page") ? a.getAttribute("data-schema-page") : "meta.current_page", D = o(b, S, 1), z = o(b, $, 1), N = o(b, m), P = i.hasAttribute("data-empty-msg") ? i.getAttribute("data-empty-msg") : "No results found";
402
- N ? (c.innerHTML = "", N.forEach((v, x) => {
403
- var k = document.createElement("tr");
404
- l.forEach((g, O) => {
405
- let E = "";
435
+ yield fetch(l + "?" + r, { signal: f, method: "get", credentials: "same-origin", headers: new Headers({ "Content-Type": "application/json", Accept: "application/json", "X-Requested-With": "XMLHttpRequest" }) }).then((b) => b.json()).then((b) => {
436
+ let u = a.hasAttribute("data-schema") ? a.getAttribute("data-schema") : "data", v = a.hasAttribute("data-schema-total") ? a.getAttribute("data-schema-total") : "meta.total", q = a.hasAttribute("data-schema-page") ? a.getAttribute("data-schema-page") : "meta.current_page", y = o(b, v, 1), I = o(b, q, 1), R = o(b, u), j = i.hasAttribute("data-empty-msg") ? i.getAttribute("data-empty-msg") : "No results found";
437
+ R ? (c.innerHTML = "", R.forEach((L, E) => {
438
+ var $ = document.createElement("tr");
439
+ n.forEach((w, O) => {
440
+ let T = "";
406
441
  var V = document.createElement("td");
407
- if (V.setAttribute("data-label", g.innerText), g.getAttribute("data-output")) {
408
- var U = g.getAttribute("data-output");
409
- E = U.replace(new RegExp(/{(.*?)}/, "gm"), function(lt) {
410
- return o(v, lt.replace("{", "").replace("}", ""));
442
+ if (V.setAttribute("data-label", w.innerText), w.getAttribute("data-output")) {
443
+ var W = w.getAttribute("data-output");
444
+ T = W.replace(new RegExp(/{(.*?)}/, "gm"), function(dt) {
445
+ return o(L, dt.replace("{", "").replace("}", ""));
411
446
  });
412
447
  }
413
- if (g.hasAttribute("data-output-array")) {
414
- var U = g.getAttribute("data-output");
415
- let ct = o(v, U.replace("{", "").replace("}", ""));
416
- E = "", ct.forEach((J, vr) => {
417
- let dt = g.getAttribute("data-output-array"), j = "";
418
- if (g.hasAttribute("data-output-array-property") && g.hasAttribute("data-output-array-transform")) {
419
- const W = o(J, g.getAttribute("data-output-array-property")), ut = JSON.parse(g.getAttribute("data-output-array-transform"))[W];
420
- j = dt.replace(`{${g.getAttribute("data-output-array-property")}}`, ut);
448
+ if (w.hasAttribute("data-output-array")) {
449
+ var W = w.getAttribute("data-output");
450
+ let ut = o(L, W.replace("{", "").replace("}", ""));
451
+ T = "", ut.forEach((J, Ur) => {
452
+ let mt = w.getAttribute("data-output-array"), P = "";
453
+ if (w.hasAttribute("data-output-array-property") && w.hasAttribute("data-output-array-transform")) {
454
+ const U = o(J, w.getAttribute("data-output-array-property")), ht = JSON.parse(w.getAttribute("data-output-array-transform"))[U];
455
+ P = mt.replace(`{${w.getAttribute("data-output-array-property")}}`, ht);
421
456
  }
422
- j = j.replace(new RegExp(/{(.*?)}/, "gm"), function(W) {
423
- return o(J, W.replace("{", "").replace("}", ""));
424
- }), E += j;
457
+ P = P.replace(new RegExp(/{(.*?)}/, "gm"), function(U) {
458
+ return o(J, U.replace("{", "").replace("}", ""));
459
+ }), T += P;
425
460
  });
426
461
  }
427
- g.hasAttribute("data-transform") && (E = JSON.parse(g.getAttribute("data-transform"))[E], !E && g.hasAttribute("data-default") && (E = g.getAttribute("data-default"))), V.innerHTML = E, k.appendChild(V);
428
- }), c.appendChild(k);
429
- }), et(e, a), i.setAttribute("data-total", parseInt(D)), i.setAttribute("data-page", parseInt(z)), i.setAttribute("data-pages", Math.ceil(i.getAttribute("data-total") / i.getAttribute("data-show"))), at(e, a, t, i), F(i, t), Array.from(a.querySelectorAll("[data-ajax-query]")).forEach((v, x) => {
430
- let k = o(b, v.getAttribute("data-ajax-query"), "");
431
- v.hasAttribute("data-total") ? v.setAttribute("data-total", k) : v.innerHTML = k;
432
- }), parseInt(D) == 0 && (c.innerHTML = `<tr><td colspan="100%"><span>${P}</span></td></tr>`), i.classList.remove("table--loading"), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Ajax table loaded", url: n, formData: r })) : c.innerHTML = '<tr><td colspan="100%"><span>Error loading table</span></td></tr>';
462
+ w.hasAttribute("data-transform") && (T = JSON.parse(w.getAttribute("data-transform"))[T], !T && w.hasAttribute("data-default") && (T = w.getAttribute("data-default"))), V.innerHTML = T, $.appendChild(V);
463
+ }), c.appendChild($);
464
+ }), rt(e, a), i.setAttribute("data-total", parseInt(y)), i.setAttribute("data-page", parseInt(I)), i.setAttribute("data-pages", Math.ceil(i.getAttribute("data-total") / i.getAttribute("data-show"))), it(e, a, t, i), B(i, t), Array.from(a.querySelectorAll("[data-ajax-query]")).forEach((L, E) => {
465
+ let $ = o(b, L.getAttribute("data-ajax-query"), "");
466
+ L.hasAttribute("data-total") ? L.setAttribute("data-total", $) : L.innerHTML = $;
467
+ }), parseInt(y) == 0 && (c.innerHTML = `<tr><td colspan="100%"><span>${j}</span></td></tr>`), i.classList.remove("table--loading"), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Ajax table loaded", url: l, formData: r })) : c.innerHTML = '<tr><td colspan="100%"><span>Error loading table</span></td></tr>';
433
468
  });
434
469
  } catch (b) {
435
470
  console.log(b);
436
471
  }
437
472
  });
438
- }, Y = (e, a) => {
473
+ }, K = (e, a) => {
439
474
  switch (e) {
440
475
  case "datetime":
441
476
  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" });
442
477
  case "date":
443
478
  return new Date(a).toLocaleDateString("en-gb", { year: "2-digit", month: "long", day: "numeric" });
444
479
  case "capitalise":
445
- return a = wt(a);
480
+ return a = St(a);
446
481
  }
447
482
  };
448
- class Ht extends HTMLElement {
483
+ class Ct extends HTMLElement {
449
484
  constructor() {
450
485
  super(), this.attachShadow({ mode: "open" });
451
486
  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`, i = document.createElement("template");
@@ -478,7 +513,7 @@ class Ht extends HTMLElement {
478
513
  const a = new URLSearchParams(window.location.search);
479
514
  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")));
480
515
  let t = this.classList.toString();
481
- if (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"), et(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" />`), qt(this.table), $t(this.table, this.form, this.pagination, this, this.savedTableBody), xt(this.table, this.form, this.pagination, this), Et(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? it(this.table, this.form, this.pagination, this) : (at(this.table, this.form, this.pagination, this), K(this.table, this.form, this), F(this, this.pagination), B(this.table, this.form)), this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll", (i) => {
516
+ if (t = t.replace("table--cta", ""), t = t.replace("table--loading", ""), this.shadowRoot.querySelector(".table__wrapper").className += ` ${t}`, this.querySelector(".actionbar__sticky") && this.shadowRoot.querySelector(".table__wrapper").classList.add("has-actionbar"), 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"), rt(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" />`), xt(this.table), Et(this.table, this.form, this.pagination, this, this.savedTableBody), Tt(this.table, this.form, this.pagination, this), Mt(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? ot(this.table, this.form, this.pagination, this) : (it(this.table, this.form, this.pagination, this), G(this.table, this.form, this), B(this, this.pagination), F(this.table, this.form)), this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll", (i) => {
482
517
  this.table.querySelector("dialog[open]") && (this.table.querySelector("dialog[open]").close(), this.table.querySelector(".dialog__wrapper > button.active").classList.remove("active"));
483
518
  }), this.querySelector("iam-actionbar[data-selectall]")) {
484
519
  const i = this.querySelector("iam-actionbar[data-selectall]");
@@ -506,9 +541,9 @@ class Ht extends HTMLElement {
506
541
  attributeChangedCallback(a, t, i) {
507
542
  }
508
543
  }
509
- const Mt = (e) => e.charAt(0).toUpperCase() + e.slice(1), Ct = (e) => e.replace(/_/g, " "), Dt = (e) => e.replace(/ /g, "_"), Nt = function(e) {
544
+ const Nt = (e) => e.charAt(0).toUpperCase() + e.slice(1), Rt = (e) => e.replace(/_/g, " "), Dt = (e) => e.replace(/ /g, "_"), It = function(e) {
510
545
  return e = e.toLowerCase(), e = Dt(e), e = e.replace(/\W/g, ""), e;
511
- }, Rt = {
546
+ }, jt = {
512
547
  name: "Table",
513
548
  props: {
514
549
  items: {
@@ -522,42 +557,42 @@ const Mt = (e) => e.charAt(0).toUpperCase() + e.slice(1), Ct = (e) => e.replace(
522
557
  },
523
558
  computed: {
524
559
  cellHeading() {
525
- return (e) => `${Mt(Ct(e))}`;
560
+ return (e) => `${Nt(Rt(e))}`;
526
561
  }
527
562
  },
528
563
  created() {
529
564
  this.$nextTick(function() {
530
- window.customElements.get("iam-table") || window.customElements.define("iam-table", Ht);
565
+ window.customElements.get("iam-table") || window.customElements.define("iam-table", Ct);
531
566
  });
532
567
  },
533
568
  updated() {
534
569
  }
535
- }, zt = { key: 0 }, Pt = { key: 0 }, jt = ["data-row-id"], It = ["innerHTML"];
536
- function Ft(e, a, t, i, o, s) {
537
- return d(), u("iam-table", null, [
538
- t.fields ? (d(), u("table", zt, [
539
- f("thead", null, [
540
- f("tr", null, [
541
- (d(!0), u(H, null, M(t.fields, (r) => (d(), u("th", {
570
+ }, Pt = { key: 0 }, zt = { key: 0 }, Bt = ["data-row-id"], Ft = ["innerHTML"];
571
+ function Ot(e, a, t, i, o, s) {
572
+ return h(), p("iam-table", null, [
573
+ t.fields ? (h(), p("table", Pt, [
574
+ g("thead", null, [
575
+ g("tr", null, [
576
+ (h(!0), p(M, null, H(t.fields, (r) => (h(), p("th", {
542
577
  key: r.key
543
- }, q(s.cellHeading(r.key)), 1))), 128))
578
+ }, x(s.cellHeading(r.key)), 1))), 128))
544
579
  ])
545
580
  ]),
546
- t.items ? (d(), u("tbody", Pt, [
547
- (d(!0), u(H, null, M(t.items, (r, l) => (d(), u("tr", {
548
- key: l,
581
+ t.items ? (h(), p("tbody", zt, [
582
+ (h(!0), p(M, null, H(t.items, (r, n) => (h(), p("tr", {
583
+ key: n,
549
584
  "data-row-id": r.rowid
550
585
  }, [
551
- (d(!0), u(H, null, M(Object.fromEntries(Object.entries(r).filter(([c]) => c !== "rowid")), (c, n) => (d(), u("td", {
552
- key: n,
586
+ (h(!0), p(M, null, H(Object.fromEntries(Object.entries(r).filter(([c]) => c !== "rowid")), (c, l) => (h(), p("td", {
587
+ key: l,
553
588
  innerHTML: c
554
- }, null, 8, It))), 128))
555
- ], 8, jt))), 128))
556
- ])) : _("", !0)
557
- ])) : A(e.$slots, "default", { key: 1 })
589
+ }, null, 8, Ft))), 128))
590
+ ], 8, Bt))), 128))
591
+ ])) : A("", !0)
592
+ ])) : S(e.$slots, "default", { key: 1 })
558
593
  ]);
559
594
  }
560
- const st = /* @__PURE__ */ w(Rt, [["render", Ft]]), Bt = {
595
+ const nt = /* @__PURE__ */ _(jt, [["render", Ot]]), Vt = {
561
596
  name: "Input",
562
597
  props: {
563
598
  value: {
@@ -745,38 +780,38 @@ const st = /* @__PURE__ */ w(Rt, [["render", Ft]]), Bt = {
745
780
  this.$emit("bus");
746
781
  }
747
782
  }
748
- }, Ot = ["for", "innerHTML", "title"], Vt = ["innerHTML"], Ut = ["innerHTML"], Wt = ["type", "name", "id", "pattern", "list"], Gt = ["type", "name", "id", "pattern"], Kt = {
783
+ }, Wt = ["for", "innerHTML", "title"], Ut = ["innerHTML"], Yt = ["innerHTML"], Gt = ["type", "name", "id", "pattern", "list"], Kt = ["type", "name", "id", "pattern"], Xt = {
749
784
  key: 5,
750
785
  class: "input-group"
751
- }, Yt = ["type", "name", "id", "pattern", "list"], Xt = { class: "input-group-text border-0 col-2 col-sm-1 px-0" }, Jt = {
786
+ }, Jt = ["type", "name", "id", "pattern", "list"], Qt = { class: "input-group-text border-0 col-2 col-sm-1 px-0" }, Zt = {
752
787
  key: 6,
753
788
  class: "input-group"
754
- }, Qt = ["type", "name", "id", "pattern", "list"], Zt = { class: "input-group-text flex-fill" }, te = ["type", "name", "id", "pattern"], ee = ["value"], ae = ["type", "name", "id"], re = ["for", "innerHTML"], ie = ["type", "name", "id"], se = ["for", "innerHTML"], oe = ["innerHTML"], ne = ["id"], le = ["value"];
755
- function ce(e, a, t, i, o, s) {
756
- return d(), u("div", {
757
- class: L(s.wrapperClass()),
789
+ }, te = ["type", "name", "id", "pattern", "list"], ee = { class: "input-group-text flex-fill" }, ae = ["type", "name", "id", "pattern"], re = ["value"], ie = ["type", "name", "id"], se = ["for", "innerHTML"], oe = ["type", "name", "id"], ne = ["for", "innerHTML"], le = ["innerHTML"], ce = ["id"], de = ["value"];
790
+ function ue(e, a, t, i, o, s) {
791
+ return h(), p("div", {
792
+ class: k(s.wrapperClass()),
758
793
  ref: "wrapper"
759
794
  }, [
760
- s.needsLabel() ? (d(), u("label", {
795
+ s.needsLabel() ? (h(), p("label", {
761
796
  key: 0,
762
- class: L(`form-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
797
+ class: k(`form-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
763
798
  for: t.id,
764
799
  innerHTML: s.displayLabel(),
765
800
  title: t.title
766
- }, null, 10, Ot)) : _("", !0),
767
- t.prefix ? (d(), u("span", {
801
+ }, null, 10, Wt)) : A("", !0),
802
+ t.prefix ? (h(), p("span", {
768
803
  key: 1,
769
- class: L(`prefix ${this.prefixClass} ${t.size ? `prefix-${t.size}` : ""}`),
804
+ class: k(`prefix ${this.prefixClass} ${t.size ? `prefix-${t.size}` : ""}`),
770
805
  innerHTML: t.prefix,
771
806
  role: "presentation"
772
- }, null, 10, Vt)) : _("", !0),
773
- t.suffix ? (d(), u("span", {
807
+ }, null, 10, Ut)) : A("", !0),
808
+ t.suffix ? (h(), p("span", {
774
809
  key: 2,
775
- class: L(`suffix ${this.suffixClass} ${t.size ? `suffix-${t.size}` : ""}`),
810
+ class: k(`suffix ${this.suffixClass} ${t.size ? `suffix-${t.size}` : ""}`),
776
811
  innerHTML: t.suffix,
777
812
  role: "presentation"
778
- }, null, 10, Ut)) : _("", !0),
779
- s.isInput() ? R((d(), u("input", C({
813
+ }, null, 10, Yt)) : A("", !0),
814
+ s.isInput() ? D((h(), p("input", N({
780
815
  key: 3,
781
816
  "onUpdate:modelValue": a[0] || (a[0] = (r) => s.inputVal = r),
782
817
  class: `form-control${t.size ? ` form-control-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
@@ -787,10 +822,10 @@ function ce(e, a, t, i, o, s) {
787
822
  list: s.hasOptions()
788
823
  }, e.$attrs, {
789
824
  onKeyup: a[1] || (a[1] = (...r) => s.inputKeyup && s.inputKeyup(...r))
790
- }), null, 16, Wt)), [
791
- [G, s.inputVal]
792
- ]) : _("", !0),
793
- t.type == "textarea" ? R((d(), u("textarea", C({
825
+ }), null, 16, Gt)), [
826
+ [Y, s.inputVal]
827
+ ]) : A("", !0),
828
+ t.type == "textarea" ? D((h(), p("textarea", N({
794
829
  key: 4,
795
830
  "onUpdate:modelValue": a[2] || (a[2] = (r) => s.inputVal = r),
796
831
  class: `form-control${t.size ? ` form-control-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
@@ -798,11 +833,11 @@ function ce(e, a, t, i, o, s) {
798
833
  name: t.name ? t.name : t.id,
799
834
  id: t.id,
800
835
  pattern: s.needPattern()
801
- }, e.$attrs), null, 16, Gt)), [
802
- [mt, s.inputVal]
803
- ]) : _("", !0),
804
- t.type == "range" ? (d(), u("div", Kt, [
805
- R(f("input", C({
836
+ }, e.$attrs), null, 16, Kt)), [
837
+ [pt, s.inputVal]
838
+ ]) : A("", !0),
839
+ t.type == "range" ? (h(), p("div", Xt, [
840
+ D(g("input", N({
806
841
  "onUpdate:modelValue": a[3] || (a[3] = (r) => s.inputVal = r),
807
842
  class: `form-range${t.inputclass ? ` ${t.inputclass}` : ""}`,
808
843
  type: t.type,
@@ -810,13 +845,13 @@ function ce(e, a, t, i, o, s) {
810
845
  id: t.id,
811
846
  pattern: s.needPattern(),
812
847
  list: s.hasOptions()
813
- }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Yt), [
814
- [G, s.inputVal]
848
+ }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Jt), [
849
+ [Y, s.inputVal]
815
850
  ]),
816
- f("output", Xt, q(t.value), 1)
817
- ])) : _("", !0),
818
- t.type == "color" ? (d(), u("div", Jt, [
819
- R(f("input", C({
851
+ g("output", Qt, x(t.value), 1)
852
+ ])) : A("", !0),
853
+ t.type == "color" ? (h(), p("div", Zt, [
854
+ D(g("input", N({
820
855
  "onUpdate:modelValue": a[4] || (a[4] = (r) => s.inputVal = r),
821
856
  class: `form-control form-control-color${t.inputclass ? ` ${t.inputclass}` : ""}`,
822
857
  type: t.type,
@@ -824,12 +859,12 @@ function ce(e, a, t, i, o, s) {
824
859
  id: t.id,
825
860
  pattern: s.needPattern(),
826
861
  list: s.hasOptions()
827
- }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, Qt), [
828
- [G, s.inputVal]
862
+ }, e.$attrs, { oninput: "this.nextElementSibling.value=this.value;" }), null, 16, te), [
863
+ [Y, s.inputVal]
829
864
  ]),
830
- f("output", Zt, q(t.value ? e.vale : "#000000"), 1)
831
- ])) : _("", !0),
832
- t.type == "select" ? R((d(), u("select", C({
865
+ g("output", ee, x(t.value ? e.vale : "#000000"), 1)
866
+ ])) : A("", !0),
867
+ t.type == "select" ? D((h(), p("select", N({
833
868
  key: 7,
834
869
  "onUpdate:modelValue": a[5] || (a[5] = (r) => s.inputVal = r),
835
870
  class: `form-select${t.size ? ` form-select-${t.size}` : ""}${t.inputclass ? ` ${t.inputclass}` : ""}`,
@@ -838,95 +873,95 @@ function ce(e, a, t, i, o, s) {
838
873
  id: t.id,
839
874
  pattern: s.needPattern()
840
875
  }, e.$attrs), [
841
- (d(!0), u(H, null, M(t.options, (r, l) => (d(), u("option", {
842
- key: l,
876
+ (h(!0), p(M, null, H(t.options, (r, n) => (h(), p("option", {
877
+ key: n,
843
878
  value: r.value
844
- }, q(r.display ? r.display : r.value), 9, ee))), 128))
845
- ], 16, te)), [
846
- [ht, s.inputVal]
847
- ]) : _("", !0),
848
- t.type == "checkbox" || t.type == "radio" ? (d(), u("input", C({
879
+ }, x(r.display ? r.display : r.value), 9, re))), 128))
880
+ ], 16, ae)), [
881
+ [bt, s.inputVal]
882
+ ]) : A("", !0),
883
+ t.type == "checkbox" || t.type == "radio" ? (h(), p("input", N({
849
884
  key: 8,
850
885
  class: "form-check-input",
851
886
  type: t.type,
852
887
  name: t.name ? t.name : t.id,
853
888
  id: t.id
854
- }, e.$attrs), null, 16, ae)) : _("", !0),
855
- t.type == "checkbox" || t.type == "radio" ? (d(), u("label", {
889
+ }, e.$attrs), null, 16, ie)) : A("", !0),
890
+ t.type == "checkbox" || t.type == "radio" ? (h(), p("label", {
856
891
  key: 9,
857
- class: L(`form-label form-check-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
892
+ class: k(`form-label form-check-label${t.labelclass ? ` ${t.labelclass}` : ""}`),
858
893
  for: t.id,
859
894
  innerHTML: t.label
860
- }, null, 10, re)) : _("", !0),
861
- t.type == "checkbox-btn" || t.type == "radio-btn" ? (d(), u("input", C({
895
+ }, null, 10, se)) : A("", !0),
896
+ t.type == "checkbox-btn" || t.type == "radio-btn" ? (h(), p("input", N({
862
897
  key: 10,
863
898
  class: `btn-check${t.inputclass ? ` ${t.inputclass}` : ""}`,
864
899
  type: t.type.replace("-btn", ""),
865
900
  autocomplete: "off",
866
901
  name: t.name ? t.name : t.id,
867
902
  id: t.id
868
- }, e.$attrs), null, 16, ie)) : _("", !0),
869
- t.type == "checkbox-btn" || t.type == "radio-btn" ? (d(), u("label", {
903
+ }, e.$attrs), null, 16, oe)) : A("", !0),
904
+ t.type == "checkbox-btn" || t.type == "radio-btn" ? (h(), p("label", {
870
905
  key: 11,
871
- class: L(`btn${t.labelclass ? ` ${t.labelclass}` : ""}`),
906
+ class: k(`btn${t.labelclass ? ` ${t.labelclass}` : ""}`),
872
907
  for: t.id,
873
908
  innerHTML: t.label,
874
909
  onClick: a[6] || (a[6] = (...r) => s.clickEvent && s.clickEvent(...r))
875
- }, null, 10, se)) : _("", !0),
876
- A(e.$slots, "default"),
877
- t.errormsg ? (d(), u("span", {
910
+ }, null, 10, ne)) : A("", !0),
911
+ S(e.$slots, "default"),
912
+ t.errormsg ? (h(), p("span", {
878
913
  key: 12,
879
914
  class: "invalid-feedback mb-0",
880
915
  innerHTML: t.errormsg
881
- }, null, 8, oe)) : _("", !0),
882
- s.allowDatalist() ? (d(), u("datalist", {
916
+ }, null, 8, le)) : A("", !0),
917
+ s.allowDatalist() ? (h(), p("datalist", {
883
918
  key: 13,
884
919
  id: t.id + "-list"
885
920
  }, [
886
- (d(!0), u(H, null, M(t.options, (r, l) => (d(), u("option", {
887
- key: l,
921
+ (h(!0), p(M, null, H(t.options, (r, n) => (h(), p("option", {
922
+ key: n,
888
923
  value: r.value
889
- }, q(r.value), 9, le))), 128))
890
- ], 8, ne)) : _("", !0)
924
+ }, x(r.value), 9, de))), 128))
925
+ ], 8, ce)) : A("", !0)
891
926
  ], 2);
892
927
  }
893
- const ot = /* @__PURE__ */ w(Bt, [["render", ce]]);
894
- function de(e, a) {
928
+ const lt = /* @__PURE__ */ _(Vt, [["render", ue]]);
929
+ function me(e, a) {
895
930
  const t = a.querySelector(".files"), i = a.querySelector(".drop-area"), o = e.querySelector("input"), s = e.hasAttribute("data-maxsize") ? e.getAttribute("data-maxsize") : 0, r = o.cloneNode();
896
- i.append(r), a.addEventListener("click", (l) => {
897
- l && l.target instanceof HTMLElement && l.target.closest(".btn-primary") && (l.target.closest(".btn-primary"), (o.hasAttribute("multiple") ? r : o).click());
898
- }), a.addEventListener("click", (l) => {
899
- if (l && l.target instanceof HTMLElement && l.target.closest(".files button")) {
900
- const c = new DataTransfer(), { files: n } = o, h = l.target.closest(".files button");
901
- for (let y = 0; y < n.length; y++) {
902
- const b = n[y];
903
- b.name != h.getAttribute("data-file") && c.items.add(b);
931
+ i.append(r), a.addEventListener("click", (n) => {
932
+ n && n.target instanceof HTMLElement && n.target.closest(".btn-primary") && (n.target.closest(".btn-primary"), (o.hasAttribute("multiple") ? r : o).click());
933
+ }), a.addEventListener("click", (n) => {
934
+ if (n && n.target instanceof HTMLElement && n.target.closest(".files button")) {
935
+ const c = new DataTransfer(), { files: l } = o, m = n.target.closest(".files button");
936
+ for (let f = 0; f < l.length; f++) {
937
+ const b = l[f];
938
+ b.name != m.getAttribute("data-file") && c.items.add(b);
904
939
  }
905
940
  o.files = c.files;
906
- const p = new Event("change");
907
- o.dispatchEvent(p);
941
+ const d = new Event("change");
942
+ o.dispatchEvent(d);
908
943
  }
909
- }), r.addEventListener("change", (l) => {
944
+ }), r.addEventListener("change", (n) => {
910
945
  if (o.hasAttribute("multiple")) {
911
- const n = [...o.files, ...r.files];
912
- let h = [];
913
- const p = new DataTransfer();
914
- for (let y = 0; y < n.length; y++) {
915
- const b = n[y], m = b.size / 1e3;
916
- !h.includes(b.name) && (s == 0 || m < s) && p.items.add(b), h.push(b.name);
946
+ const l = [...o.files, ...r.files];
947
+ let m = [];
948
+ const d = new DataTransfer();
949
+ for (let f = 0; f < l.length; f++) {
950
+ const b = l[f], u = b.size / 1e3;
951
+ !m.includes(b.name) && (s == 0 || u < s) && d.items.add(b), m.push(b.name);
917
952
  }
918
- o.files = p.files;
953
+ o.files = d.files;
919
954
  } else
920
955
  o.files = r.files;
921
956
  const c = new Event("change");
922
957
  o.dispatchEvent(c);
923
- }), r.addEventListener("dragenter", (l) => {
958
+ }), r.addEventListener("dragenter", (n) => {
924
959
  r.classList.add("focus");
925
- }), r.addEventListener("dragleave", (l) => {
960
+ }), r.addEventListener("dragleave", (n) => {
926
961
  r.classList.remove("focus");
927
- }), r.addEventListener("drop", (l) => {
962
+ }), r.addEventListener("drop", (n) => {
928
963
  r.classList.remove("focus");
929
- }), o.addEventListener("change", (l) => {
964
+ }), o.addEventListener("change", (n) => {
930
965
  t.innerHTML = "";
931
966
  for (const c of o.files)
932
967
  t.innerHTML += `<span class="file">${c.name} <button data-file="${c.name}">Remove</button></span>`;
@@ -937,7 +972,7 @@ window.dataLayer.push({
937
972
  event: "customElementRegistered",
938
973
  element: "fileupload"
939
974
  });
940
- class ue extends HTMLElement {
975
+ class he extends HTMLElement {
941
976
  constructor() {
942
977
  super(), this.attachShadow({ mode: "open" });
943
978
  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`, i = `@import "${a}/css/components/fileupload.css";`, o = document.createElement("template");
@@ -961,10 +996,10 @@ class ue extends HTMLElement {
961
996
  connectedCallback() {
962
997
  this.innerHTML += '<i class="fa-regular fa-arrow-up-from-bracket me-2" aria-hidden="true" slot="btn"></i>';
963
998
  const a = this.shadowRoot.querySelector(".file-upload"), t = this.querySelector("input"), i = this.shadowRoot.querySelector(".helper-text");
964
- i.innerHTML = `${this.hasAttribute("data-maxsize") ? `Max file size is ${this.getAttribute("data-maxsize")}kb. ` : ""}${t.hasAttribute("accept") ? `Supported file types are ${t.getAttribute("accept")}` : ""}`, de(this, a);
999
+ i.innerHTML = `${this.hasAttribute("data-maxsize") ? `Max file size is ${this.getAttribute("data-maxsize")}kb. ` : ""}${t.hasAttribute("accept") ? `Supported file types are ${t.getAttribute("accept")}` : ""}`, me(this, a);
965
1000
  }
966
1001
  }
967
- const me = {
1002
+ const pe = {
968
1003
  name: "FileUpload",
969
1004
  props: {
970
1005
  maxfilesize: {
@@ -978,18 +1013,18 @@ const me = {
978
1013
  },
979
1014
  mounted() {
980
1015
  this.$nextTick(function() {
981
- window.customElements.get("iam-fileupload") || window.customElements.define("iam-fileupload", ue);
1016
+ window.customElements.get("iam-fileupload") || window.customElements.define("iam-fileupload", he);
982
1017
  });
983
1018
  }
984
1019
  };
985
- function he(e, a, t, i, o, s) {
986
- return d(), u("iam-fileupload", null, [
987
- A(e.$slots, "default")
1020
+ function be(e, a, t, i, o, s) {
1021
+ return h(), p("iam-fileupload", null, [
1022
+ S(e.$slots, "default")
988
1023
  ]);
989
1024
  }
990
- const wr = /* @__PURE__ */ w(me, [["render", he]]);
1025
+ const Kr = /* @__PURE__ */ _(pe, [["render", be]]);
991
1026
  /*!
992
- * iamKey v3.9.0-beta-1
1027
+ * iamKey v4.0.1
993
1028
  * Copyright 2022-2023 iamproperty
994
1029
  */
995
1030
  function fe(e) {
@@ -1010,14 +1045,14 @@ function fe(e) {
1010
1045
  }
1011
1046
  }
1012
1047
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "accordion" });
1013
- let pe = class extends HTMLElement {
1048
+ let ge = class extends HTMLElement {
1014
1049
  constructor() {
1015
1050
  super(), this.attachShadow({ mode: "open" });
1016
1051
  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`, i = document.createElement("template");
1017
1052
  i.innerHTML = `
1018
1053
  <style>
1019
1054
  @import "${t}";
1020
- \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 */
1055
+ :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 */
1021
1056
 
1022
1057
  ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
1023
1058
  </style>
@@ -1030,19 +1065,19 @@ let pe = class extends HTMLElement {
1030
1065
  fe(this);
1031
1066
  }
1032
1067
  };
1033
- window.customElements.get("iam-accordion") || window.customElements.define("iam-accordion", pe);
1034
- const be = {
1068
+ window.customElements.get("iam-accordion") || window.customElements.define("iam-accordion", ge);
1069
+ const ye = {
1035
1070
  name: "Accordion",
1036
1071
  props: {},
1037
1072
  mounted() {
1038
1073
  }
1039
- }, ye = { ref: "wrapper" };
1040
- function ge(e, a, t, i, o, s) {
1041
- return d(), u("iam-accordion", ye, [
1042
- A(e.$slots, "default")
1074
+ }, ve = { ref: "wrapper" };
1075
+ function we(e, a, t, i, o, s) {
1076
+ return h(), p("iam-accordion", ve, [
1077
+ S(e.$slots, "default")
1043
1078
  ], 512);
1044
1079
  }
1045
- const Sr = /* @__PURE__ */ w(be, [["render", ge]]), ve = {
1080
+ const Jr = /* @__PURE__ */ _(ye, [["render", we]]), Ae = {
1046
1081
  name: "AccordionItem",
1047
1082
  props: {
1048
1083
  title: {
@@ -1069,7 +1104,7 @@ const Sr = /* @__PURE__ */ w(be, [["render", ge]]), ve = {
1069
1104
  },
1070
1105
  computed: {
1071
1106
  createID() {
1072
- return (e) => `${Nt(e)}`;
1107
+ return (e) => `${It(e)}`;
1073
1108
  }
1074
1109
  },
1075
1110
  data() {
@@ -1077,24 +1112,24 @@ const Sr = /* @__PURE__ */ w(be, [["render", ge]]), ve = {
1077
1112
  show: !this.lazy
1078
1113
  };
1079
1114
  }
1080
- }, _e = ["id"], Ae = ["classList"];
1081
- function we(e, a, t, i, o, s) {
1082
- return d(), u("details", {
1115
+ }, _e = ["id"], Le = ["classList"];
1116
+ function Se(e, a, t, i, o, s) {
1117
+ return h(), p("details", {
1083
1118
  id: s.createID(t.title)
1084
1119
  }, [
1085
- f("summary", {
1120
+ g("summary", {
1086
1121
  classList: `${t.titlecolour ? `bg-${t.titlecolour}` : ""}`
1087
1122
  }, [
1088
- ft(q(t.title), 1),
1089
- t.badge ? (d(), u("span", {
1123
+ ft(x(t.title), 1),
1124
+ t.badge ? (h(), p("span", {
1090
1125
  key: 0,
1091
- class: L(`badge bg-${t.badgecolour}`)
1092
- }, q(t.badge), 3)) : _("", !0)
1093
- ], 8, Ae),
1094
- A(e.$slots, "default")
1126
+ class: k(`badge bg-${t.badgecolour}`)
1127
+ }, x(t.badge), 3)) : A("", !0)
1128
+ ], 8, Le),
1129
+ S(e.$slots, "default")
1095
1130
  ], 8, _e);
1096
1131
  }
1097
- const kr = /* @__PURE__ */ w(ve, [["render", we]]), Le = {
1132
+ const Qr = /* @__PURE__ */ _(Ae, [["render", Se]]), ke = {
1098
1133
  name: "Header",
1099
1134
  props: {
1100
1135
  title: {
@@ -1111,36 +1146,36 @@ const kr = /* @__PURE__ */ w(ve, [["render", we]]), Le = {
1111
1146
  required: !1
1112
1147
  }
1113
1148
  }
1114
- }, Se = { class: "container" }, ke = { class: "row" }, qe = { class: "col-sm-6" }, $e = { class: "pt-5 pb-3 px-4" }, xe = { class: "col-sm-6 col-md-5 ms-auto" }, Ee = ["src"];
1115
- function Te(e, a, t, i, o, s) {
1116
- return d(), u("div", Se, [
1117
- f("div", {
1118
- class: L("bg-" + t.background + " mb-4")
1149
+ }, qe = { class: "container" }, $e = { class: "row" }, xe = { class: "col-sm-6" }, Ee = { class: "pt-5 pb-3 px-4" }, Te = { class: "col-sm-6 col-md-5 ms-auto" }, Me = ["src"];
1150
+ function He(e, a, t, i, o, s) {
1151
+ return h(), p("div", qe, [
1152
+ g("div", {
1153
+ class: k("bg-" + t.background + " mb-4")
1119
1154
  }, [
1120
- f("div", ke, [
1121
- f("div", qe, [
1122
- f("div", $e, [
1123
- f("h2", null, q(t.title), 1),
1124
- A(e.$slots, "default")
1155
+ g("div", $e, [
1156
+ g("div", xe, [
1157
+ g("div", Ee, [
1158
+ g("h2", null, x(t.title), 1),
1159
+ S(e.$slots, "default")
1125
1160
  ])
1126
1161
  ]),
1127
- f("div", xe, [
1128
- t.image ? (d(), u("img", {
1162
+ g("div", Te, [
1163
+ t.image ? (h(), p("img", {
1129
1164
  key: 0,
1130
1165
  src: t.image,
1131
1166
  alt: "",
1132
1167
  class: "h-100 w-100 object-cover"
1133
- }, null, 8, Ee)) : _("", !0)
1168
+ }, null, 8, Me)) : A("", !0)
1134
1169
  ])
1135
1170
  ])
1136
1171
  ], 2)
1137
1172
  ]);
1138
1173
  }
1139
- const qr = /* @__PURE__ */ w(Le, [["render", Te]]), He = {
1174
+ const Zr = /* @__PURE__ */ _(ke, [["render", He]]), Ce = {
1140
1175
  name: "Card",
1141
1176
  mounted() {
1142
1177
  this.$nextTick(function() {
1143
- import("./card.component.min-6bef4efd.mjs").then((e) => {
1178
+ import("./card.component.min-a871ec18.mjs").then((e) => {
1144
1179
  window.customElements.get("iam-card") || window.customElements.define("iam-card", e.default);
1145
1180
  }).catch((e) => {
1146
1181
  console.log(e.message);
@@ -1148,12 +1183,12 @@ const qr = /* @__PURE__ */ w(Le, [["render", Te]]), He = {
1148
1183
  });
1149
1184
  }
1150
1185
  };
1151
- function Me(e, a, t, i, o, s) {
1152
- return d(), u("iam-card", null, [
1153
- A(e.$slots, "default")
1186
+ function Ne(e, a, t, i, o, s) {
1187
+ return h(), p("iam-card", null, [
1188
+ S(e.$slots, "default")
1154
1189
  ]);
1155
1190
  }
1156
- const Ce = /* @__PURE__ */ w(He, [["render", Me]]);
1191
+ const Re = /* @__PURE__ */ _(Ce, [["render", Ne]]);
1157
1192
  function De(e) {
1158
1193
  var a;
1159
1194
  let t = e.querySelector(".carousel__inner"), i = e.querySelectorAll(".carousel__item").length;
@@ -1161,18 +1196,18 @@ function De(e) {
1161
1196
  let o = e.getAttribute("data-sm-cols"), s = e.getAttribute("data-md-cols");
1162
1197
  e.querySelector(".carousel__controls a").classList.add("active"), t.addEventListener("scroll", function(r) {
1163
1198
  clearTimeout(a), a = setTimeout(function() {
1164
- let l = t.clientWidth, c = t.scrollWidth, n = t.scrollLeft, h = Math.round(n / c * i) + 1, p = e.querySelector(".carousel__item:last-child").offsetLeft;
1165
- Array.from(e.querySelectorAll(".carousel__controls a")).forEach((y, b) => {
1166
- y.classList.remove("active");
1167
- }), e.querySelector(".control-" + h).classList.add("active"), h == 1 ? e.querySelector(".btn-prev").setAttribute("disabled", "disabled") : e.querySelector(".btn-prev").removeAttribute("disabled"), t.scrollLeft + l > p ? e.querySelector(".btn-next").setAttribute("disabled", "disabled") : e.querySelector(".btn-next").removeAttribute("disabled");
1199
+ let n = t.clientWidth, c = t.scrollWidth, l = t.scrollLeft, m = Math.round(l / c * i) + 1, d = e.querySelector(".carousel__item:last-child").offsetLeft;
1200
+ Array.from(e.querySelectorAll(".carousel__controls a")).forEach((f, b) => {
1201
+ f.classList.remove("active");
1202
+ }), e.querySelector(".control-" + m).classList.add("active"), m == 1 ? e.querySelector(".btn-prev").setAttribute("disabled", "disabled") : e.querySelector(".btn-prev").removeAttribute("disabled"), t.scrollLeft + n > d ? e.querySelector(".btn-next").setAttribute("disabled", "disabled") : e.querySelector(".btn-next").removeAttribute("disabled");
1168
1203
  }, 100);
1169
1204
  }, !1), e.addEventListener("click", function(r) {
1170
- for (var l = r.target; l && l != this; l = l.parentNode)
1171
- if (l.matches(".carousel__controls a")) {
1172
- r.preventDefault(), Array.from(e.querySelectorAll(".carousel__controls a")).forEach((n, h) => {
1173
- n.classList.remove("active");
1174
- }), l.classList.add("active");
1175
- const c = document.querySelector(l.getAttribute("href"));
1205
+ for (var n = r.target; n && n != this; n = n.parentNode)
1206
+ if (n.matches(".carousel__controls a")) {
1207
+ r.preventDefault(), Array.from(e.querySelectorAll(".carousel__controls a")).forEach((l, m) => {
1208
+ l.classList.remove("active");
1209
+ }), n.classList.add("active");
1210
+ const c = document.querySelector(n.getAttribute("href"));
1176
1211
  t.scroll({
1177
1212
  top: 0,
1178
1213
  left: c.offsetLeft,
@@ -1181,10 +1216,10 @@ function De(e) {
1181
1216
  break;
1182
1217
  }
1183
1218
  }, !1), e.addEventListener("click", function(r) {
1184
- for (var l = r.target; l && l != this; l = l.parentNode)
1185
- if (l.matches(".btn-next, .btn-prev")) {
1219
+ for (var n = r.target; n && n != this; n = n.parentNode)
1220
+ if (n.matches(".btn-next, .btn-prev")) {
1186
1221
  r.preventDefault();
1187
- let c = l.classList.contains("btn-prev") ? t.scrollLeft - t.clientWidth : t.scrollLeft + t.clientWidth;
1222
+ let c = n.classList.contains("btn-prev") ? t.scrollLeft - t.clientWidth : t.scrollLeft + t.clientWidth;
1188
1223
  t.scroll({
1189
1224
  top: 0,
1190
1225
  left: c,
@@ -1194,9 +1229,9 @@ function De(e) {
1194
1229
  }
1195
1230
  }, !1), i == 1 && e.classList.add("hide-btns"), o >= i && e.classList.add("hide-sm-btns"), s >= i && e.classList.add("hide-md-btns");
1196
1231
  }
1197
- const Ne = {
1232
+ const Ie = {
1198
1233
  components: {
1199
- Card: Ce
1234
+ Card: Re
1200
1235
  },
1201
1236
  name: "Carousel",
1202
1237
  data() {
@@ -1273,17 +1308,17 @@ const Ne = {
1273
1308
  De(this.$refs.wrapper);
1274
1309
  });
1275
1310
  }
1276
- }, Re = ["id", "data-cols", "data-sm-cols", "data-md-cols"], ze = { class: "carousel__wrapper" }, Pe = { class: "carousel__inner" }, je = ["id"], Ie = ["innerHTML", "id"], Fe = ["href"], Be = /* @__PURE__ */ f("button", {
1311
+ }, je = ["id", "data-cols", "data-sm-cols", "data-md-cols"], Pe = { class: "carousel__wrapper" }, ze = { class: "carousel__inner" }, Be = ["id"], Fe = ["innerHTML", "id"], Oe = ["href"], Ve = /* @__PURE__ */ g("button", {
1277
1312
  class: "btn btn-prev",
1278
1313
  "data-go": "0",
1279
1314
  disabled: ""
1280
- }, "Prev", -1), Oe = /* @__PURE__ */ f("button", {
1315
+ }, "Prev", -1), We = /* @__PURE__ */ g("button", {
1281
1316
  class: "btn btn-next",
1282
1317
  "data-go": "2"
1283
1318
  }, "Next", -1);
1284
- function Ve(e, a, t, i, o, s) {
1285
- const r = I("Card");
1286
- return d(), u("div", {
1319
+ function Ue(e, a, t, i, o, s) {
1320
+ const r = z("Card");
1321
+ return h(), p("div", {
1287
1322
  class: "container carousel",
1288
1323
  id: "carousel" + o.id,
1289
1324
  ref: "wrapper",
@@ -1291,19 +1326,19 @@ function Ve(e, a, t, i, o, s) {
1291
1326
  "data-sm-cols": t.smcols,
1292
1327
  "data-md-cols": t.mdcols
1293
1328
  }, [
1294
- A(e.$slots, "default"),
1295
- f("div", ze, [
1296
- f("div", Pe, [
1297
- t.type == "card" ? (d(), u("div", {
1329
+ S(e.$slots, "default"),
1330
+ g("div", Pe, [
1331
+ g("div", ze, [
1332
+ t.type == "card" ? (h(), p("div", {
1298
1333
  key: 0,
1299
- class: L(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1334
+ class: k(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1300
1335
  }, [
1301
- (d(!0), u(H, null, M(t.items, (l, c) => (d(), u("div", {
1302
- class: L(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1336
+ (h(!0), p(M, null, H(t.items, (n, c) => (h(), p("div", {
1337
+ class: k(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1303
1338
  key: c,
1304
1339
  id: "carousel" + o.id + "slide" + (c + 1)
1305
1340
  }, [
1306
- T(r, C(l, {
1341
+ C(r, N(n, {
1307
1342
  class: t.cardclass,
1308
1343
  type: t.cardtype,
1309
1344
  btnyype: t.btntype,
@@ -1311,41 +1346,41 @@ function Ve(e, a, t, i, o, s) {
1311
1346
  ctatext: t.ctatext,
1312
1347
  hidectatext: t.hidectatext
1313
1348
  }), null, 16, ["class", "type", "btnyype", "titleclass", "ctatext", "hidectatext"])
1314
- ], 10, je))), 128))
1315
- ], 2)) : _("", !0),
1316
- t.type != "card" ? (d(), u("div", {
1349
+ ], 10, Be))), 128))
1350
+ ], 2)) : A("", !0),
1351
+ t.type != "card" ? (h(), p("div", {
1317
1352
  key: 1,
1318
- class: L(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1353
+ class: k(`row row-cols-${t.cols} row-cols-sm-${t.smcols} row-cols-md-${t.mdcols} ${t.gap ? `g-${t.gap}` : ""}`)
1319
1354
  }, [
1320
- (d(!0), u(H, null, M(t.items, (l, c) => (d(), u("div", {
1321
- class: L(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1355
+ (h(!0), p(M, null, H(t.items, (n, c) => (h(), p("div", {
1356
+ class: k(`col carousel__item${t.colclass ? ` ${t.colclass}` : ""}`),
1322
1357
  key: c,
1323
- innerHTML: s.content(l),
1358
+ innerHTML: s.content(n),
1324
1359
  id: "carousel" + o.id + "slide" + (c + 1)
1325
- }, null, 10, Ie))), 128))
1326
- ], 2)) : _("", !0)
1360
+ }, null, 10, Fe))), 128))
1361
+ ], 2)) : A("", !0)
1327
1362
  ]),
1328
- f("div", {
1329
- class: L(`carousel__controls cols-${t.cols} cols-sm-${t.smcols} cols-md-${t.mdcols}`)
1363
+ g("div", {
1364
+ class: k(`carousel__controls cols-${t.cols} cols-sm-${t.smcols} cols-md-${t.mdcols}`)
1330
1365
  }, [
1331
- (d(!0), u(H, null, M(t.items, (l, c) => (d(), u("a", {
1366
+ (h(!0), p(M, null, H(t.items, (n, c) => (h(), p("a", {
1332
1367
  key: c,
1333
1368
  href: "#carousel" + o.id + "slide" + (c + 1),
1334
- class: L(`control-${c + 1}`)
1335
- }, "Slide " + q(c + 1), 11, Fe))), 128))
1369
+ class: k(`control-${c + 1}`)
1370
+ }, "Slide " + x(c + 1), 11, Oe))), 128))
1336
1371
  ], 2),
1337
- Be,
1338
- Oe
1372
+ Ve,
1373
+ We
1339
1374
  ])
1340
- ], 8, Re);
1375
+ ], 8, je);
1341
1376
  }
1342
- const $r = /* @__PURE__ */ w(Ne, [["render", Ve]]);
1377
+ const ti = /* @__PURE__ */ _(Ie, [["render", Ue]]);
1343
1378
  /*!
1344
- * iamKey v3.9.0-beta-1
1379
+ * iamKey v4.0.1
1345
1380
  * Copyright 2022-2023 iamproperty
1346
1381
  */
1347
1382
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "header" });
1348
- class Ue extends HTMLElement {
1383
+ class Ye extends HTMLElement {
1349
1384
  constructor() {
1350
1385
  super(), this.attachShadow({ mode: "open" });
1351
1386
  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`, i = document.createElement("template");
@@ -1378,7 +1413,7 @@ class Ue extends HTMLElement {
1378
1413
  this.hasAttribute("image") ? t.setAttribute("srcset", this.getAttribute("image")) : a.remove();
1379
1414
  }
1380
1415
  }
1381
- const We = {
1416
+ const Ge = {
1382
1417
  name: "Header",
1383
1418
  props: {
1384
1419
  title: {
@@ -1392,53 +1427,53 @@ const We = {
1392
1427
  },
1393
1428
  mounted() {
1394
1429
  this.$nextTick(function() {
1395
- window.customElements.get("iam-header") || window.customElements.define("iam-header", Ue);
1430
+ window.customElements.get("iam-header") || window.customElements.define("iam-header", Ye);
1396
1431
  });
1397
1432
  }
1398
- }, Ge = ["image"], Ke = ["innerHTML"];
1399
- function Ye(e, a, t, i, o, s) {
1400
- return d(), u("iam-header", {
1433
+ }, Ke = ["image"], Xe = ["innerHTML"];
1434
+ function Je(e, a, t, i, o, s) {
1435
+ return h(), p("iam-header", {
1401
1436
  class: "bg-secondary",
1402
1437
  image: t.image
1403
1438
  }, [
1404
- A(e.$slots, "breadcrumb"),
1405
- t.title ? (d(), u("h1", {
1439
+ S(e.$slots, "breadcrumb"),
1440
+ t.title ? (h(), p("h1", {
1406
1441
  key: 0,
1407
1442
  innerHTML: t.title
1408
- }, null, 8, Ke)) : _("", !0),
1409
- A(e.$slots, "default")
1410
- ], 8, Ge);
1443
+ }, null, 8, Xe)) : A("", !0),
1444
+ S(e.$slots, "default")
1445
+ ], 8, Ke);
1411
1446
  }
1412
- const xr = /* @__PURE__ */ w(We, [["render", Ye]]);
1413
- function Xe(e) {
1447
+ const ei = /* @__PURE__ */ _(Ge, [["render", Je]]);
1448
+ function Qe(e) {
1414
1449
  var a;
1415
1450
  const t = e.querySelector(".testimonial__images"), i = t.querySelectorAll("img").length;
1416
1451
  if (i == 1)
1417
1452
  return !1;
1418
1453
  e.classList.add("testimonial--multi");
1419
1454
  const o = function(s) {
1420
- const r = e.querySelector(".btn-next"), l = e.querySelector(".btn-prev");
1421
- r.setAttribute("data-go", s + 1), l.setAttribute("data-go", s - 1), r.removeAttribute("disabled"), l.removeAttribute("disabled"), s == 1 ? l.setAttribute("disabled", !0) : s == i && r.setAttribute("disabled", !0);
1455
+ const r = e.querySelector(".btn-next"), n = e.querySelector(".btn-prev");
1456
+ r.setAttribute("data-go", s + 1), n.setAttribute("data-go", s - 1), r.removeAttribute("disabled"), n.removeAttribute("disabled"), s == 1 ? n.setAttribute("disabled", !0) : s == i && r.setAttribute("disabled", !0);
1422
1457
  };
1423
1458
  t.addEventListener("scroll", function(s) {
1424
1459
  clearTimeout(a), a = setTimeout(function() {
1425
- let r = t.scrollWidth, l = t.scrollHeight, c = t.scrollLeft, n = t.scrollTop, h = Math.round(c / r * i) + 1;
1426
- c == 0 && n != 0 && (h = Math.round(n / l * i) + 1), e.setAttribute("data-show", h), o(h);
1460
+ let r = t.scrollWidth, n = t.scrollHeight, c = t.scrollLeft, l = t.scrollTop, m = Math.round(c / r * i) + 1;
1461
+ c == 0 && l != 0 && (m = Math.round(l / n * i) + 1), e.setAttribute("data-show", m), o(m);
1427
1462
  }, 300);
1428
1463
  }, !1), e.addEventListener("click", function(s) {
1429
1464
  for (var r = s.target; r && r != this; r = r.parentNode)
1430
1465
  if (r.matches("[data-go]")) {
1431
- let l = parseInt(r.getAttribute("data-go")), c = 0, n = 0, h = t.scrollWidth, p = t.scrollHeight;
1432
- h > p ? n = Math.floor(h * ((l - 1) / i)) : c = Math.floor(p * ((l - 1) / i)), t.scroll({
1466
+ let n = parseInt(r.getAttribute("data-go")), c = 0, l = 0, m = t.scrollWidth, d = t.scrollHeight;
1467
+ m > d ? l = Math.floor(m * ((n - 1) / i)) : c = Math.floor(d * ((n - 1) / i)), t.scroll({
1433
1468
  top: c,
1434
- left: n,
1469
+ left: l,
1435
1470
  behavior: "smooth"
1436
1471
  });
1437
1472
  break;
1438
1473
  }
1439
1474
  }, !1);
1440
1475
  }
1441
- const Je = {
1476
+ const Ze = {
1442
1477
  name: "Testimonial",
1443
1478
  props: {
1444
1479
  items: {
@@ -1452,68 +1487,90 @@ const Je = {
1452
1487
  }
1453
1488
  },
1454
1489
  mounted() {
1455
- Xe(this.$refs.wrapper);
1490
+ Qe(this.$refs.wrapper);
1456
1491
  }
1457
- }, Qe = {
1492
+ }, ta = {
1458
1493
  class: "container testimonial mb-5",
1459
1494
  "data-show": "1",
1460
1495
  ref: "wrapper"
1461
- }, Ze = { class: "row" }, ta = { class: "col-md-5 position-relative" }, ea = { class: "testimonial__images" }, aa = ["src"], ra = /* @__PURE__ */ f("div", { class: "testimonial__controls" }, [
1462
- /* @__PURE__ */ f("button", {
1496
+ }, ea = { class: "row" }, aa = { class: "col-md-5 position-relative" }, ra = { class: "testimonial__images" }, ia = ["src"], sa = /* @__PURE__ */ g("div", { class: "testimonial__controls" }, [
1497
+ /* @__PURE__ */ g("button", {
1463
1498
  "data-go": "0",
1464
1499
  disabled: "",
1465
1500
  class: "btn-prev"
1466
1501
  }, "Previous"),
1467
- /* @__PURE__ */ f("button", {
1502
+ /* @__PURE__ */ g("button", {
1468
1503
  "data-go": "2",
1469
1504
  class: "btn-next"
1470
1505
  }, "Next")
1471
- ], -1), ia = { class: "col-md-7" }, sa = /* @__PURE__ */ f("h2", null, "What our customers think…", -1), oa = { class: "testimonial__content" }, na = ["innerHTML"], la = ["innerHTML"], ca = { class: "testimonial__after" }, da = /* @__PURE__ */ f("span", { class: "circle circle--dots d-none d-md-block" }, null, -1);
1472
- function ua(e, a, t, i, o, s) {
1473
- return d(), u("div", Qe, [
1474
- f("div", {
1475
- class: L("bg-" + t.background)
1506
+ ], -1), oa = { class: "col-md-7" }, na = /* @__PURE__ */ g("h2", null, "What our customers think…", -1), la = { class: "testimonial__content" }, ca = ["innerHTML"], da = ["innerHTML"], ua = { class: "testimonial__after" }, ma = /* @__PURE__ */ g("span", { class: "circle circle--dots d-none d-md-block" }, null, -1);
1507
+ function ha(e, a, t, i, o, s) {
1508
+ return h(), p("div", ta, [
1509
+ g("div", {
1510
+ class: k("bg-" + t.background)
1476
1511
  }, [
1477
- f("div", Ze, [
1478
- f("div", ta, [
1479
- f("div", ea, [
1480
- (d(!0), u(H, null, M(t.items, (r, l) => (d(), u("img", {
1481
- key: l,
1512
+ g("div", ea, [
1513
+ g("div", aa, [
1514
+ g("div", ra, [
1515
+ (h(!0), p(M, null, H(t.items, (r, n) => (h(), p("img", {
1516
+ key: n,
1482
1517
  src: r.image ? r.image : "data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
1483
1518
  alt: "",
1484
- class: L("h-100 w-100 object-cover" + (r.image ? "" : " opacity-0"))
1485
- }, null, 10, aa))), 128))
1519
+ class: k("h-100 w-100 object-cover" + (r.image ? "" : " opacity-0"))
1520
+ }, null, 10, ia))), 128))
1486
1521
  ]),
1487
- ra
1522
+ sa
1488
1523
  ]),
1489
- f("div", ia, [
1490
- sa,
1491
- f("div", oa, [
1492
- (d(!0), u(H, null, M(t.items, (r, l) => (d(), u("blockquote", {
1493
- key: l,
1494
- class: L(r.class)
1524
+ g("div", oa, [
1525
+ na,
1526
+ g("div", la, [
1527
+ (h(!0), p(M, null, H(t.items, (r, n) => (h(), p("blockquote", {
1528
+ key: n,
1529
+ class: k(r.class)
1495
1530
  }, [
1496
- f("div", {
1531
+ g("div", {
1497
1532
  innerHTML: r.quote
1498
- }, null, 8, na),
1499
- f("cite", {
1533
+ }, null, 8, ca),
1534
+ g("cite", {
1500
1535
  innerHTML: r.cite
1501
- }, null, 8, la)
1536
+ }, null, 8, da)
1502
1537
  ], 2))), 128))
1503
1538
  ]),
1504
- f("div", ca, [
1505
- A(e.$slots, "default")
1539
+ g("div", ua, [
1540
+ S(e.$slots, "default")
1506
1541
  ])
1507
1542
  ])
1508
1543
  ]),
1509
- da
1544
+ ma
1510
1545
  ], 2)
1511
1546
  ], 512);
1512
1547
  }
1513
- const Er = /* @__PURE__ */ w(Je, [["render", ua]]);
1514
- const ma = {
1548
+ const ai = /* @__PURE__ */ _(Ze, [["render", ha]]);
1549
+ const pa = {
1550
+ name: "Timeline",
1551
+ props: {
1552
+ image: {
1553
+ type: String,
1554
+ required: !1
1555
+ }
1556
+ }
1557
+ }, ba = { class: "timeline" }, fa = { class: "timeline__content" }, ga = ["src"];
1558
+ function ya(e, a, t, i, o, s) {
1559
+ return h(), p("div", ba, [
1560
+ g("div", fa, [
1561
+ S(e.$slots, "default")
1562
+ ]),
1563
+ t.image ? (h(), p("img", {
1564
+ key: 0,
1565
+ src: t.image,
1566
+ alt: ""
1567
+ }, null, 8, ga)) : A("", !0)
1568
+ ]);
1569
+ }
1570
+ const ri = /* @__PURE__ */ _(pa, [["render", ya]]);
1571
+ const va = {
1515
1572
  components: {
1516
- Input: ot
1573
+ Input: lt
1517
1574
  },
1518
1575
  name: "PropertySearchbar",
1519
1576
  props: {
@@ -1657,46 +1714,46 @@ const ma = {
1657
1714
  ];
1658
1715
  }
1659
1716
  }
1660
- }, ha = {
1717
+ }, wa = {
1661
1718
  class: "container",
1662
1719
  ref: "wrapper"
1663
- }, fa = { class: "property-searchbar" }, pa = ["action", "method"], ba = { class: "col-12 col-md-3" }, ya = { class: "col-12 col-md" }, ga = /* @__PURE__ */ f("span", { class: "form-label d-none d-md-block" }, "Price range", -1), va = {
1720
+ }, Aa = { class: "property-searchbar" }, _a = ["action", "method"], La = { class: "col-12 col-md-3" }, Sa = { class: "col-12 col-md" }, ka = /* @__PURE__ */ g("span", { class: "form-label d-none d-md-block" }, "Price range", -1), qa = {
1664
1721
  class: "row",
1665
1722
  "data-input-range": ""
1666
- }, _a = { class: "col-12 col-md" }, Aa = /* @__PURE__ */ f("span", { class: "form-label d-none d-md-block" }, "Number of beds", -1), wa = {
1723
+ }, $a = { class: "col-12 col-md" }, xa = /* @__PURE__ */ g("span", { class: "form-label d-none d-md-block" }, "Number of beds", -1), Ea = {
1667
1724
  class: "row",
1668
1725
  "data-input-range": ""
1669
- }, La = { class: "col-12 col-md-2" }, Sa = /* @__PURE__ */ f("div", { class: "col-12 col-md mw-md-fit-content d-flex property-searchbar__btn" }, [
1670
- /* @__PURE__ */ f("button", {
1726
+ }, Ta = { class: "col-12 col-md-2" }, Ma = /* @__PURE__ */ g("div", { class: "col-12 col-md mw-md-fit-content d-flex property-searchbar__btn" }, [
1727
+ /* @__PURE__ */ g("button", {
1671
1728
  class: "btn w-100 me-0",
1672
1729
  type: "submit",
1673
1730
  value: "submit"
1674
1731
  }, "Search")
1675
1732
  ], -1);
1676
- function ka(e, a, t, i, o, s) {
1677
- const r = I("Input");
1678
- return d(), u("div", ha, [
1679
- A(e.$slots, "default"),
1680
- f("div", fa, [
1681
- f("form", {
1733
+ function Ha(e, a, t, i, o, s) {
1734
+ const r = z("Input");
1735
+ return h(), p("div", wa, [
1736
+ S(e.$slots, "default"),
1737
+ g("div", Aa, [
1738
+ g("form", {
1682
1739
  class: "row",
1683
1740
  action: t.formaction,
1684
1741
  method: t.formmethod
1685
1742
  }, [
1686
- f("fieldset", ba, [
1687
- T(r, {
1743
+ g("fieldset", La, [
1744
+ C(r, {
1688
1745
  inputClass: "input--locations",
1689
1746
  modelValue: s.locationSet,
1690
- "onUpdate:modelValue": a[0] || (a[0] = (l) => s.locationSet = l),
1747
+ "onUpdate:modelValue": a[0] || (a[0] = (n) => s.locationSet = n),
1691
1748
  label: "Location",
1692
1749
  id: "location",
1693
1750
  options: s.locationsList(),
1694
1751
  required: "",
1695
1752
  placeholder: "i.e. Newcastle or NE1",
1696
- onKeyupEvent: a[1] || (a[1] = (l) => s.locationKeyup(...arguments)),
1753
+ onKeyupEvent: a[1] || (a[1] = (n) => s.locationKeyup(...arguments)),
1697
1754
  ref: "search"
1698
1755
  }, null, 8, ["modelValue", "options"]),
1699
- T(r, {
1756
+ C(r, {
1700
1757
  class: "select--miles",
1701
1758
  label: "Miles",
1702
1759
  id: "miles",
@@ -1704,10 +1761,10 @@ function ka(e, a, t, i, o, s) {
1704
1761
  options: t.distances
1705
1762
  }, null, 8, ["options"])
1706
1763
  ]),
1707
- f("fieldset", ya, [
1708
- ga,
1709
- f("div", va, [
1710
- T(r, {
1764
+ g("fieldset", Sa, [
1765
+ ka,
1766
+ g("div", qa, [
1767
+ C(r, {
1711
1768
  class: "col-6",
1712
1769
  label: "Minimum price",
1713
1770
  id: "price-min",
@@ -1715,7 +1772,7 @@ function ka(e, a, t, i, o, s) {
1715
1772
  type: "select",
1716
1773
  options: t.pricemin
1717
1774
  }, null, 8, ["options"]),
1718
- T(r, {
1775
+ C(r, {
1719
1776
  class: "col-6",
1720
1777
  label: "Maximum price",
1721
1778
  id: "price-max",
@@ -1725,10 +1782,10 @@ function ka(e, a, t, i, o, s) {
1725
1782
  }, null, 8, ["options"])
1726
1783
  ])
1727
1784
  ]),
1728
- f("fieldset", _a, [
1729
- Aa,
1730
- f("div", wa, [
1731
- T(r, {
1785
+ g("fieldset", $a, [
1786
+ xa,
1787
+ g("div", Ea, [
1788
+ C(r, {
1732
1789
  class: "col-6",
1733
1790
  label: "Minimum beds",
1734
1791
  id: "beds-min",
@@ -1736,7 +1793,7 @@ function ka(e, a, t, i, o, s) {
1736
1793
  type: "select",
1737
1794
  options: t.bedsmin
1738
1795
  }, null, 8, ["options"]),
1739
- T(r, {
1796
+ C(r, {
1740
1797
  class: "col-6",
1741
1798
  label: "Maximum beds",
1742
1799
  id: "beds-max",
@@ -1746,26 +1803,26 @@ function ka(e, a, t, i, o, s) {
1746
1803
  }, null, 8, ["options"])
1747
1804
  ])
1748
1805
  ]),
1749
- f("fieldset", La, [
1750
- T(r, {
1806
+ g("fieldset", Ta, [
1807
+ C(r, {
1751
1808
  label: "Property type",
1752
1809
  id: "property-type",
1753
1810
  type: "select",
1754
1811
  options: t.propertytypes
1755
1812
  }, null, 8, ["options"])
1756
1813
  ]),
1757
- Sa
1758
- ], 8, pa)
1814
+ Ma
1815
+ ], 8, _a)
1759
1816
  ]),
1760
- A(e.$slots, "after")
1817
+ S(e.$slots, "after")
1761
1818
  ], 512);
1762
1819
  }
1763
- const Tr = /* @__PURE__ */ w(ma, [["render", ka]]), qa = {
1820
+ const ii = /* @__PURE__ */ _(va, [["render", Ha]]), Ca = {
1764
1821
  components: {},
1765
1822
  name: "Nav",
1766
1823
  mounted() {
1767
1824
  this.$nextTick(function() {
1768
- import("./nav.component.min-93eb365a.mjs").then((e) => {
1825
+ import("./nav.component.min-b40255b1.mjs").then((e) => {
1769
1826
  window.customElements.get("iam-nav") || window.customElements.define("iam-nav", e.default);
1770
1827
  }).catch((e) => {
1771
1828
  console.log(e.message);
@@ -1773,14 +1830,14 @@ const Tr = /* @__PURE__ */ w(ma, [["render", ka]]), qa = {
1773
1830
  });
1774
1831
  },
1775
1832
  methods: {}
1776
- }, $a = { ref: "wrapper" };
1777
- function xa(e, a, t, i, o, s) {
1778
- return d(), u("iam-nav", $a, [
1779
- A(e.$slots, "default")
1833
+ }, Na = { ref: "wrapper" };
1834
+ function Ra(e, a, t, i, o, s) {
1835
+ return h(), p("iam-nav", Na, [
1836
+ S(e.$slots, "default")
1780
1837
  ], 512);
1781
1838
  }
1782
- const Hr = /* @__PURE__ */ w(qa, [["render", xa]]);
1783
- const Ea = {
1839
+ const si = /* @__PURE__ */ _(Ca, [["render", Ra]]);
1840
+ const Da = {
1784
1841
  name: "Stepper",
1785
1842
  props: {
1786
1843
  label: {
@@ -1793,25 +1850,60 @@ const Ea = {
1793
1850
  default: "Complete"
1794
1851
  }
1795
1852
  }
1796
- }, Ta = { class: "container" }, Ha = ["aria-label"], Ma = {
1853
+ }, Ia = { class: "container" }, ja = ["aria-label"], Pa = {
1797
1854
  key: 0,
1798
1855
  class: "h6 stepper__start"
1799
- }, Ca = { class: "list-unstyled" }, Da = { class: "h6 stepper__end" };
1800
- function Na(e, a, t, i, o, s) {
1801
- return d(), u("div", Ta, [
1802
- f("nav", {
1856
+ }, za = { class: "list-unstyled" }, Ba = { class: "h6 stepper__end" };
1857
+ function Fa(e, a, t, i, o, s) {
1858
+ return h(), p("div", Ia, [
1859
+ g("nav", {
1803
1860
  class: "stepper",
1804
1861
  "aria-label": t.label ? t.label : "Progress"
1805
1862
  }, [
1806
- t.label ? (d(), u("span", Ma, q(t.label), 1)) : _("", !0),
1807
- f("ol", Ca, [
1808
- A(e.$slots, "default")
1863
+ t.label ? (h(), p("span", Pa, x(t.label), 1)) : A("", !0),
1864
+ g("ol", za, [
1865
+ S(e.$slots, "default")
1809
1866
  ]),
1810
- f("span", Da, q(t.endlabel), 1)
1811
- ], 8, Ha)
1867
+ g("span", Ba, x(t.endlabel), 1)
1868
+ ], 8, ja)
1812
1869
  ]);
1813
1870
  }
1814
- const Mr = /* @__PURE__ */ w(Ea, [["render", Na]]), Ra = {
1871
+ const oi = /* @__PURE__ */ _(Da, [["render", Fa]]);
1872
+ const Oa = {
1873
+ name: "Snapshot",
1874
+ props: {
1875
+ items: {
1876
+ type: Array,
1877
+ required: !0
1878
+ }
1879
+ }
1880
+ }, Va = {
1881
+ class: "container snapshot",
1882
+ ref: "wrapper"
1883
+ }, Wa = { class: "row" }, Ua = ["href"], Ya = { class: "lead snapshot__title" }, Ga = { class: "stat" };
1884
+ function Ka(e, a, t, i, o, s) {
1885
+ return h(), p("div", Va, [
1886
+ S(e.$slots, "default"),
1887
+ g("div", Wa, [
1888
+ (h(!0), p(M, null, H(t.items, (r, n) => (h(), p("div", {
1889
+ class: "col",
1890
+ key: n
1891
+ }, [
1892
+ r.link ? (h(), p("a", {
1893
+ key: 0,
1894
+ href: r.link
1895
+ }, "View " + x(r.title), 9, Ua)) : A("", !0),
1896
+ g("div", {
1897
+ class: k(`snapshot__item ${r.bg ? "bg-" + r.bg : ""}`)
1898
+ }, [
1899
+ g("span", Ya, x(r.title), 1),
1900
+ g("span", Ga, x(r.number), 1)
1901
+ ], 2)
1902
+ ]))), 128))
1903
+ ])
1904
+ ], 512);
1905
+ }
1906
+ const ni = /* @__PURE__ */ _(Oa, [["render", Ka]]), Xa = {
1815
1907
  name: "Stepper",
1816
1908
  props: {
1817
1909
  url: {
@@ -1827,30 +1919,30 @@ const Mr = /* @__PURE__ */ w(Ea, [["render", Na]]), Ra = {
1827
1919
  required: !1
1828
1920
  }
1829
1921
  }
1830
- }, za = ["href", "aria-current"], Pa = {
1922
+ }, Ja = ["href", "aria-current"], Qa = {
1831
1923
  key: 0,
1832
1924
  class: "visually-hidden"
1833
1925
  };
1834
- function ja(e, a, t, i, o, s) {
1835
- return d(), u("li", null, [
1836
- f("a", {
1926
+ function Za(e, a, t, i, o, s) {
1927
+ return h(), p("li", null, [
1928
+ g("a", {
1837
1929
  href: t.url,
1838
- class: L(`${t.status ? "bg-" + t.status : ""}${typeof t.current < "u" ? "current" : ""}`),
1930
+ class: k(`${t.status ? "bg-" + t.status : ""}${typeof t.current < "u" ? "current" : ""}`),
1839
1931
  "aria-current": typeof t.current < "u"
1840
1932
  }, [
1841
- f("span", null, [
1842
- A(e.$slots, "default")
1933
+ g("span", null, [
1934
+ S(e.$slots, "default")
1843
1935
  ]),
1844
- t.status ? (d(), u("em", Pa, " - status: " + q(t.status), 1)) : _("", !0)
1845
- ], 10, za)
1936
+ t.status ? (h(), p("em", Qa, " - status: " + x(t.status), 1)) : A("", !0)
1937
+ ], 10, Ja)
1846
1938
  ]);
1847
1939
  }
1848
- const Cr = /* @__PURE__ */ w(Ra, [["render", ja]]);
1940
+ const li = /* @__PURE__ */ _(Xa, [["render", Za]]);
1849
1941
  /*!
1850
- * iamKey v3.9.0-beta-1
1942
+ * iamKey v4.0.1
1851
1943
  * Copyright 2022-2023 iamproperty
1852
1944
  */
1853
- const Ia = function(e) {
1945
+ const tr = function(e) {
1854
1946
  const a = e.querySelectorAll(":scope > details");
1855
1947
  e.querySelectorAll(":scope > details > summary");
1856
1948
  let t = e.querySelector(":scope > .tabs__links");
@@ -1860,35 +1952,35 @@ const Ia = function(e) {
1860
1952
  let r = document.createElement("button");
1861
1953
  i.hasAttribute("id") && (r = document.createElement("a"), r.setAttribute("href", `#${i.getAttribute("id")}`)), i.hasAttribute("open") && r.setAttribute("aria-pressed", !0), r.innerHTML = `${s.innerText}`, r.classList.add("link"), r.setAttribute("data-index", o), r.setAttribute("tabindex", "-1"), t.appendChild(r);
1862
1954
  });
1863
- }, Fa = function(e) {
1955
+ }, er = function(e) {
1864
1956
  let a = e.querySelectorAll(":scope > details"), t = e.querySelectorAll(":scope > details > summary"), i = e.querySelectorAll(":scope .tabs__links > .link");
1865
1957
  e.shadowRoot && (i = e.shadowRoot.querySelectorAll(".tabs__links > .link")), i.forEach((o) => {
1866
1958
  o.addEventListener("click", (s) => {
1867
1959
  s.preventDefault(), i.forEach((r) => {
1868
- let l = r == o;
1869
- r.setAttribute("aria-pressed", l);
1870
- }), a.forEach((r, l) => {
1871
- let c = o.getAttribute("data-index") == l;
1960
+ let n = r == o;
1961
+ r.setAttribute("aria-pressed", n);
1962
+ }), a.forEach((r, n) => {
1963
+ let c = o.getAttribute("data-index") == n;
1872
1964
  c ? r.setAttribute("open", c) : r.removeAttribute("open");
1873
1965
  }), o.hasAttribute("href") && history.pushState(void 0, void 0, o.getAttribute("href")), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "openTab", tabTitle: o.textContent });
1874
1966
  });
1875
1967
  }), t.forEach((o, s) => {
1876
1968
  o.addEventListener("focus", (r) => {
1877
- i.forEach((l) => {
1878
- l.classList.remove("focus");
1969
+ i.forEach((n) => {
1970
+ n.classList.remove("focus");
1879
1971
  }), i[s].classList.add("focus");
1880
1972
  }), o.addEventListener("click", (r) => {
1881
1973
  r.preventDefault(), i[s].click();
1882
1974
  });
1883
1975
  });
1884
- }, Ba = function(e) {
1976
+ }, ar = function(e) {
1885
1977
  let a = e.querySelectorAll(":scope > details"), t = e.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");
1886
1978
  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));
1887
- }, Oa = function(e) {
1888
- Ia(e), Fa(e), Ba(e);
1979
+ }, rr = function(e) {
1980
+ tr(e), er(e), ar(e);
1889
1981
  };
1890
1982
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "tabs" });
1891
- class Va extends HTMLElement {
1983
+ let ir = class extends HTMLElement {
1892
1984
  constructor() {
1893
1985
  super(), this.attachShadow({ mode: "open" });
1894
1986
  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`, i = document.createElement("template");
@@ -1910,19 +2002,19 @@ class Va extends HTMLElement {
1910
2002
  }
1911
2003
  connectedCallback() {
1912
2004
  let a = this.classList.toString().replace("container", "");
1913
- this.shadowRoot.querySelector(".tabs").setAttribute("class", `tabs ${a}`), Oa(this);
2005
+ this.shadowRoot.querySelector(".tabs").setAttribute("class", `tabs ${a}`), rr(this);
1914
2006
  }
1915
- }
1916
- window.customElements.get("iam-tabs") || window.customElements.define("iam-tabs", Va);
1917
- const Ua = {
2007
+ };
2008
+ window.customElements.get("iam-tabs") || window.customElements.define("iam-tabs", ir);
2009
+ const sr = {
1918
2010
  name: "Tabs"
1919
- }, Wa = { ref: "wrapper" };
1920
- function Ga(e, a, t, i, o, s) {
1921
- return d(), u("iam-tabs", Wa, [
1922
- A(e.$slots, "default")
2011
+ }, or = { ref: "wrapper" };
2012
+ function nr(e, a, t, i, o, s) {
2013
+ return h(), p("iam-tabs", or, [
2014
+ S(e.$slots, "default")
1923
2015
  ], 512);
1924
2016
  }
1925
- const Dr = /* @__PURE__ */ w(Ua, [["render", Ga]]), Ka = {
2017
+ const di = /* @__PURE__ */ _(sr, [["render", nr]]), lr = {
1926
2018
  name: "Tab",
1927
2019
  props: {
1928
2020
  title: {
@@ -1944,20 +2036,20 @@ const Dr = /* @__PURE__ */ w(Ua, [["render", Ga]]), Ka = {
1944
2036
  console.log(e);
1945
2037
  }
1946
2038
  }
1947
- }, Ya = { class: "tab" }, Xa = ["innerHTML"];
1948
- function Ja(e, a, t, i, o, s) {
1949
- return d(), u("details", Ya, [
1950
- f("summary", { innerHTML: t.title }, null, 8, Xa),
1951
- A(e.$slots, "default")
2039
+ }, cr = { class: "tab" }, dr = ["innerHTML"];
2040
+ function ur(e, a, t, i, o, s) {
2041
+ return h(), p("details", cr, [
2042
+ g("summary", { innerHTML: t.title }, null, 8, dr),
2043
+ S(e.$slots, "default")
1952
2044
  ]);
1953
2045
  }
1954
- const Nr = /* @__PURE__ */ w(Ka, [["render", Ja]]);
1955
- let nt = st.props;
1956
- nt.fields.required = !1;
1957
- const Qa = {
2046
+ const ui = /* @__PURE__ */ _(lr, [["render", ur]]);
2047
+ let ct = nt.props;
2048
+ ct.fields.required = !1;
2049
+ const mr = {
1958
2050
  components: {
1959
- Table: st,
1960
- Input: ot
2051
+ Table: nt,
2052
+ Input: lt
1961
2053
  },
1962
2054
  data() {
1963
2055
  return {
@@ -1985,7 +2077,7 @@ const Qa = {
1985
2077
  type: String,
1986
2078
  required: !0
1987
2079
  },
1988
- ...nt,
2080
+ ...ct,
1989
2081
  title: {
1990
2082
  type: String,
1991
2083
  required: !1
@@ -2000,94 +2092,93 @@ const Qa = {
2000
2092
  required: !1
2001
2093
  }
2002
2094
  }
2003
- }, Za = { class: "container note-feed mb-2" }, tr = ["innerHTML"], er = ["action", "method"], ar = ["value"], rr = /* @__PURE__ */ f("button", { class: "btn btn-tertiary" }, "Submit note", -1);
2004
- function ir(e, a, t, i, o, s) {
2005
- const r = I("Table"), l = I("Input");
2006
- return d(), u("div", Za, [
2007
- t.title ? (d(), u("span", {
2095
+ }, hr = { class: "container note-feed mb-2" }, pr = ["innerHTML"], br = ["action", "method"], fr = ["value"], gr = /* @__PURE__ */ g("button", { class: "btn btn-tertiary" }, "Submit note", -1);
2096
+ function yr(e, a, t, i, o, s) {
2097
+ const r = z("Table"), n = z("Input");
2098
+ return h(), p("div", hr, [
2099
+ t.title ? (h(), p("span", {
2008
2100
  key: 0,
2009
2101
  class: "h3",
2010
2102
  innerHTML: t.title
2011
- }, null, 8, tr)) : _("", !0),
2012
- T(r, C({
2103
+ }, null, 8, pr)) : A("", !0),
2104
+ C(r, N({
2013
2105
  fields: [{ key: "date_added" }, { key: "user" }, { key: "note" }],
2014
2106
  items: o.itemsData
2015
2107
  }, e.$props, { class: "mb-0" }), null, 16, ["items"]),
2016
- f("form", {
2108
+ g("form", {
2017
2109
  action: t.action,
2018
2110
  method: t.method,
2019
- onSubmit: a[0] || (a[0] = pt((c) => s.submitForm(...arguments), ["prevent"]))
2111
+ onSubmit: a[0] || (a[0] = gt((c) => s.submitForm(...arguments), ["prevent"]))
2020
2112
  }, [
2021
- f("input", {
2113
+ g("input", {
2022
2114
  type: "hidden",
2023
2115
  value: t.user,
2024
2116
  name: "user"
2025
- }, null, 8, ar),
2026
- T(l, {
2117
+ }, null, 8, fr),
2118
+ C(n, {
2027
2119
  id: "addNote",
2028
2120
  type: "textarea",
2029
2121
  label: "Add note",
2030
2122
  required: "",
2031
2123
  class: "mw-100"
2032
2124
  }),
2033
- rr
2034
- ], 40, er)
2125
+ gr
2126
+ ], 40, br)
2035
2127
  ]);
2036
2128
  }
2037
- const Rr = /* @__PURE__ */ w(Qa, [["render", ir]]);
2129
+ const mi = /* @__PURE__ */ _(mr, [["render", yr]]);
2038
2130
  /*!
2039
- * iamKey v3.9.0-beta-1
2131
+ * iamKey v4.0.1
2040
2132
  * Copyright 2022-2023 iamproperty
2041
2133
  */
2042
- function sr(e, a) {
2134
+ function vr(e, a) {
2043
2135
  function t(i, o) {
2044
2136
  let s = !1, r = o.getAttribute("name");
2045
2137
  r.includes("[]") && (r = r.replace("[]", `[${o.value}]`));
2046
- let l = i.querySelector(`[data-name="${r}"]`);
2047
- l && o.getAttribute("type") == "checkbox" && (s = !0);
2138
+ let n = i.querySelector(`[data-name="${r}"]`);
2139
+ n && o.getAttribute("type") == "checkbox" && (s = !0);
2048
2140
  let c = o.getAttribute("data-filter-text");
2049
- if (l || (l = document.createElement("button"), i.appendChild(l)), l.setAttribute("type", "button"), l.classList.add("filter"), l.setAttribute("data-name", r), l.innerHTML = c.replace("$value", o.value), (!o.value || s) && l.remove(), o.parentNode.closest("[data-filter-text]")) {
2050
- let n = o.parentNode.closest("[data-filter-text]"), h = !0;
2051
- if (r = "", n.querySelectorAll("input").forEach((p, y) => {
2052
- let b = p.getAttribute("name");
2053
- if (r += `${y != 0 ? "," : ""}${b}`, i.querySelector(`[data-name="${b}"]`) && i.querySelector(`[data-name="${b}"]`).remove(), p.value) {
2054
- let m = document.createElement("button");
2055
- m.setAttribute("type", "button"), m.classList.add("filter"), m.setAttribute("data-name", b), m.innerHTML = c.replace("$value", p.value), i.appendChild(m);
2141
+ if (n || (n = document.createElement("button"), i.appendChild(n)), n.setAttribute("type", "button"), n.classList.add("filter"), n.setAttribute("data-name", r), n.innerHTML = c.replace("$value", o.value), (!o.value || s) && n.remove(), o.parentNode.closest("[data-filter-text]")) {
2142
+ let l = o.parentNode.closest("[data-filter-text]"), m = !0;
2143
+ if (r = "", l.querySelectorAll("input").forEach((d, f) => {
2144
+ let b = d.getAttribute("name");
2145
+ if (r += `${f != 0 ? "," : ""}${b}`, i.querySelector(`[data-name="${b}"]`) && i.querySelector(`[data-name="${b}"]`).remove(), d.value) {
2146
+ let u = document.createElement("button");
2147
+ u.setAttribute("type", "button"), u.classList.add("filter"), u.setAttribute("data-name", b), u.innerHTML = c.replace("$value", d.value), i.appendChild(u);
2056
2148
  } else
2057
- h = !1;
2058
- }), i.querySelector(`[data-name="${r}"]`) && i.querySelector(`[data-name="${r}"]`).remove(), h) {
2059
- let p = n.getAttribute("data-filter-text");
2060
- n.querySelectorAll("input").forEach((b, m) => {
2061
- let S = b.getAttribute("name");
2062
- i.querySelector(`[data-name="${S}"]`) && i.querySelector(`[data-name="${S}"]`).remove(), p = p.replace(`$${m + 1}`, b.value);
2149
+ m = !1;
2150
+ }), i.querySelector(`[data-name="${r}"]`) && i.querySelector(`[data-name="${r}"]`).remove(), m) {
2151
+ let d = l.getAttribute("data-filter-text");
2152
+ l.querySelectorAll("input").forEach((b, u) => {
2153
+ let v = b.getAttribute("name");
2154
+ i.querySelector(`[data-name="${v}"]`) && i.querySelector(`[data-name="${v}"]`).remove(), d = d.replace(`$${u + 1}`, b.value);
2063
2155
  });
2064
- let y = document.createElement("button");
2065
- y.setAttribute("type", "button"), y.classList.add("filter"), y.setAttribute("data-name", r), y.innerHTML = p, i.appendChild(y);
2156
+ let f = document.createElement("button");
2157
+ f.setAttribute("type", "button"), f.classList.add("filter"), f.setAttribute("data-name", r), f.innerHTML = d, i.appendChild(f);
2066
2158
  }
2067
2159
  }
2068
2160
  }
2069
2161
  Array.from(e.querySelectorAll('input[type="checkbox"]:checked')).forEach((i, o) => {
2070
2162
  t(a, i);
2071
- }), e.addEventListener("change", function(i) {
2072
- if (i && i.target instanceof HTMLElement && i.target.closest("input[data-filter-text]")) {
2073
- let o = i.target.closest("input[data-filter-text]");
2074
- t(a, o);
2075
- }
2076
- }, !1), a.addEventListener("click", function(i) {
2163
+ }), Array.from(e.querySelectorAll("input[data-filter-text]")).forEach((i, o) => {
2164
+ i.addEventListener("change", function(s) {
2165
+ t(a, i);
2166
+ });
2167
+ }), a.addEventListener("click", function(i) {
2077
2168
  if (i && i.target instanceof HTMLElement && i.target.closest(".filter")) {
2078
- let r = i.target.closest(".filter"), l = r.getAttribute("data-name").split(",");
2079
- for (var o = 0; o < l.length; o++) {
2080
- let c = l[o], n = `[name="${c}"]`;
2081
- c.match(/\[(.*)\]/) && (c.replace(/\[(.*)\]/, "[]"), n = `[value="${c.replace(/.*\[(.*)\]/, "$1")}"]`);
2082
- let h = e.querySelectorAll(n);
2083
- for (var s = 0; s < h.length; s++) {
2084
- let p = h[s];
2085
- if (p.getAttribute("type") != "radio" && p.getAttribute("type") != "checkbox")
2086
- p.value = "";
2169
+ let r = i.target.closest(".filter"), n = r.getAttribute("data-name").split(",");
2170
+ for (var o = 0; o < n.length; o++) {
2171
+ let c = n[o], l = `[name="${c}"]`;
2172
+ c.match(/\[(.*)\]/) && (c.replace(/\[(.*)\]/, "[]"), l = `[value="${c.replace(/.*\[(.*)\]/, "$1")}"]`);
2173
+ let m = e.querySelectorAll(l);
2174
+ for (var s = 0; s < m.length; s++) {
2175
+ let d = m[s];
2176
+ if (d.getAttribute("type") != "radio" && d.getAttribute("type") != "checkbox")
2177
+ d.value = "";
2087
2178
  else {
2088
- p.checked = !1;
2179
+ d.checked = !1;
2089
2180
  var i = new Event("force");
2090
- p.closest("form").dispatchEvent(i);
2181
+ e.hasAttribute("data-nosubmit") || d.closest("form").dispatchEvent(i);
2091
2182
  }
2092
2183
  }
2093
2184
  }
@@ -2096,7 +2187,7 @@ function sr(e, a) {
2096
2187
  }, !1);
2097
2188
  }
2098
2189
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "Applied Filters" });
2099
- class or extends HTMLElement {
2190
+ let wr = class extends HTMLElement {
2100
2191
  constructor() {
2101
2192
  super(), this.attachShadow({ mode: "open" });
2102
2193
  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`;
@@ -2114,27 +2205,27 @@ class or extends HTMLElement {
2114
2205
  `, this.shadowRoot.appendChild(o.content.cloneNode(!0));
2115
2206
  }
2116
2207
  connectedCallback() {
2117
- sr(this, this.shadowRoot.querySelector(".applied-filters"));
2208
+ vr(this, this.shadowRoot.querySelector(".applied-filters"));
2118
2209
  }
2119
- }
2120
- window.customElements.get("iam-applied-filters") || window.customElements.define("iam-applied-filters", or);
2121
- const nr = {
2210
+ };
2211
+ window.customElements.get("iam-applied-filters") || window.customElements.define("iam-applied-filters", wr);
2212
+ const Ar = {
2122
2213
  name: "Header"
2123
2214
  };
2124
- function lr(e, a, t, i, o, s) {
2125
- return d(), u("iam-applied-filters", null, [
2126
- A(e.$slots, "default")
2215
+ function _r(e, a, t, i, o, s) {
2216
+ return h(), p("iam-applied-filters", null, [
2217
+ S(e.$slots, "default")
2127
2218
  ]);
2128
2219
  }
2129
- const zr = /* @__PURE__ */ w(nr, [["render", lr]]);
2220
+ const pi = /* @__PURE__ */ _(Ar, [["render", _r]]);
2130
2221
  /*!
2131
- * iamKey v3.9.0-beta-1
2222
+ * iamKey v4.0.1
2132
2223
  * Copyright 2022-2023 iamproperty
2133
2224
  */
2134
- function cr(e, a) {
2135
- dr(e, a);
2225
+ function Lr(e, a) {
2226
+ Sr(e, a);
2136
2227
  }
2137
- function dr(e, a) {
2228
+ function Sr(e, a) {
2138
2229
  var t;
2139
2230
  a.addEventListener("keyup", (i) => {
2140
2231
  clearTimeout(t), t = setTimeout(function() {
@@ -2151,7 +2242,7 @@ const Z = function(e, a) {
2151
2242
  }), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "Filtered list", value: a });
2152
2243
  };
2153
2244
  window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "filterlist" });
2154
- class ur extends HTMLElement {
2245
+ let kr = class extends HTMLElement {
2155
2246
  constructor() {
2156
2247
  super(), this.attachShadow({ mode: "open" });
2157
2248
  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`, i = document.createElement("template");
@@ -2186,20 +2277,20 @@ class ur extends HTMLElement {
2186
2277
  }
2187
2278
  connectedCallback() {
2188
2279
  let a = this.classList.toString();
2189
- 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>'), cr(this.querySelector("ul"), this.shadowRoot.querySelector("#search"));
2280
+ 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>'), Lr(this.querySelector("ul"), this.shadowRoot.querySelector("#search"));
2190
2281
  }
2191
- }
2192
- window.customElements.get("iam-filterlist") || window.customElements.define("iam-filterlist", ur);
2193
- const mr = {
2282
+ };
2283
+ window.customElements.get("iam-filterlist") || window.customElements.define("iam-filterlist", kr);
2284
+ const qr = {
2194
2285
  name: "Filter list"
2195
2286
  };
2196
- function hr(e, a, t, i, o, s) {
2197
- return d(), u("iam-filterlist", null, [
2198
- A(e.$slots, "default")
2287
+ function $r(e, a, t, i, o, s) {
2288
+ return h(), p("iam-filterlist", null, [
2289
+ S(e.$slots, "default")
2199
2290
  ]);
2200
2291
  }
2201
- const Pr = /* @__PURE__ */ w(mr, [["render", hr]]);
2202
- function fr(e) {
2292
+ const fi = /* @__PURE__ */ _(qr, [["render", $r]]);
2293
+ function xr(e) {
2203
2294
  if (e.hasAttribute("data-type") && e.getAttribute("data-type") == "toast") {
2204
2295
  let t = document.querySelector(".notification__holder");
2205
2296
  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);
@@ -2208,7 +2299,7 @@ function fr(e) {
2208
2299
  event && event.target instanceof HTMLElement && event.target.closest("[data-dismiss-button]") && (t.preventDefault(), X(e));
2209
2300
  }, !1), e.hasAttribute("data-timeout")) {
2210
2301
  let t = e.getAttribute("data-timeout");
2211
- var a = new pr(function() {
2302
+ var a = new Er(function() {
2212
2303
  X(e);
2213
2304
  }, t);
2214
2305
  e.addEventListener("mouseenter", (i) => {
@@ -2218,7 +2309,7 @@ function fr(e) {
2218
2309
  });
2219
2310
  }
2220
2311
  }
2221
- function pr(e, a) {
2312
+ function Er(e, a) {
2222
2313
  var t, i, o = a;
2223
2314
  this.pause = function() {
2224
2315
  window.clearTimeout(t), o -= /* @__PURE__ */ new Date() - i;
@@ -2234,11 +2325,11 @@ window.dataLayer.push({
2234
2325
  event: "customElementRegistered",
2235
2326
  element: "Notification"
2236
2327
  });
2237
- class br extends HTMLElement {
2328
+ class Tr extends HTMLElement {
2238
2329
  constructor() {
2239
2330
  super(), this.attachShadow({ mode: "open" });
2240
2331
  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`, i = `@import "${a}/css/components/notification.css";`, o = this.querySelectorAll("a,button");
2241
- Array.from(o).forEach((r, l) => {
2332
+ Array.from(o).forEach((r, n) => {
2242
2333
  r.setAttribute("slot", "btns"), r.classList.add("link");
2243
2334
  }), (o.length || this.hasAttribute("data-dismiss")) && this.classList.add("notification--dismissable");
2244
2335
  const s = document.createElement("template");
@@ -2274,46 +2365,539 @@ class br extends HTMLElement {
2274
2365
  default:
2275
2366
  this.innerHTML += '<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>';
2276
2367
  }
2277
- fr(i), a && a.addEventListener("click", function(o) {
2368
+ xr(i), a && a.addEventListener("click", function(o) {
2278
2369
  X(i);
2279
2370
  }, !1);
2280
2371
  }
2281
2372
  }
2282
- const yr = {
2373
+ const Mr = {
2283
2374
  name: "Notification",
2284
2375
  props: {},
2285
2376
  created() {
2286
2377
  this.$nextTick(function() {
2287
- window.customElements.get("iam-notification") || window.customElements.define("iam-notification", br);
2378
+ window.customElements.get("iam-notification") || window.customElements.define("iam-notification", Tr);
2379
+ });
2380
+ }
2381
+ };
2382
+ function Hr(e, a, t, i, o, s) {
2383
+ return h(), p("iam-notification", null, [
2384
+ S(e.$slots, "default")
2385
+ ]);
2386
+ }
2387
+ const gi = /* @__PURE__ */ _(Mr, [["render", Hr]]);
2388
+ /*!
2389
+ * iamKey v4.0.1
2390
+ * Copyright 2022-2023 iamproperty
2391
+ */
2392
+ const Cr = function(e) {
2393
+ typeof window.player < "u" && typeof window.player.pauseVideo == "function" && window.player.pauseVideo();
2394
+ var a = e.getAttribute("data-id"), t = e.getAttribute("id");
2395
+ if (typeof t > "u" || t == null) {
2396
+ var i = String.fromCharCode(65 + Math.floor(Math.random() * 26));
2397
+ t = i + Date.now(), e.setAttribute("id", t);
2398
+ }
2399
+ function o() {
2400
+ window.player = new YT.Player(t, { height: "100%", width: "100%", videoId: a, playerVars: { modestbranding: 1, playsinline: 1, rel: 0, showinfo: 0 }, events: { onReady: s, onStateChange: n } });
2401
+ }
2402
+ o();
2403
+ function s(c) {
2404
+ c.target.playVideo();
2405
+ }
2406
+ var r = !1;
2407
+ function n(c) {
2408
+ if (c.data == YT.PlayerState.PLAYING && !r) {
2409
+ var l = document.getElementById(t);
2410
+ l.classList.add("player-ready"), r = !0;
2411
+ }
2412
+ }
2413
+ }, Nr = (e) => (Array.from(e.querySelectorAll("dialog[open]")).forEach((a, t) => {
2414
+ a.closest(".dialog__wrapper") || (a.removeAttribute("open"), a.showModal(), a.focus(), tt(a));
2415
+ }), e.addEventListener("click", (a) => {
2416
+ if (a.target.tagName == "IAM-ACTIONBAR")
2417
+ return !1;
2418
+ if (a && a.target instanceof HTMLElement && a.target.closest("[data-modal]")) {
2419
+ const o = a.target.closest("[data-modal]"), s = o.hasAttribute("data-modal") ? o.getAttribute("data-modal") : o.getAttribute("data-filter"), r = document.querySelector(`dialog#${s}`);
2420
+ tt(r), r.showModal(), r.focus();
2421
+ let n = r.offsetWidth;
2422
+ r.setAttribute("style", `max-width: ${n}px;`), Array.from(r.querySelectorAll("[data-duplicate]")).forEach((c, l) => {
2423
+ const m = c.getAttribute("data-duplicate"), d = document.getElementById(m);
2424
+ if (c.checked != d.checked) {
2425
+ c.checked = d.checked;
2426
+ let f = new Event("change");
2427
+ c.dispatchEvent(f);
2428
+ }
2429
+ }), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "openModal", id: s });
2430
+ }
2431
+ if (a && a.target instanceof HTMLElement && a.target.closest("button.dialog__close")) {
2432
+ const o = a.target.closest("dialog[open]");
2433
+ a.preventDefault(), o.close(), Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((s, r) => {
2434
+ s.classList.remove("active");
2435
+ }), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "closeModal", id: o.getAttribute("id") });
2436
+ }
2437
+ if (a && a.target instanceof HTMLElement && a.target.closest('button[formmethod="dialog"]')) {
2438
+ const o = a.target.closest("dialog[open]");
2439
+ Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((s, r) => {
2440
+ s.classList.remove("active");
2441
+ }), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "closeModal", id: o.getAttribute("id") });
2442
+ }
2443
+ if (a && a.target instanceof HTMLElement && a.target.closest("dialog[open]")) {
2444
+ let o = a.target.closest("dialog[open]");
2445
+ var t = window.getComputedStyle(o);
2446
+ if (t.display === "contents" && (o = o.parentNode.closest("dialog[open]")), !o.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child") || o.classList.contains("dialog--multi")) {
2447
+ const s = o.getBoundingClientRect();
2448
+ (a.clientX < s.left || a.clientX > s.right || a.clientY < s.top || a.clientY > s.bottom) && (a.target.closest('input[type="radio"]') || o.close(), window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "closeModal", id: o.getAttribute("id") }));
2449
+ }
2450
+ }
2451
+ if (a && a.target instanceof HTMLElement && a.target.closest(".dialog__wrapper > button")) {
2452
+ a.stopPropagation();
2453
+ let o = a.target.closest(".dialog__wrapper > button"), s = a.target.closest(".dialog__wrapper > button").parentNode, r = "openPopover", n = s.querySelector(":scope > dialog");
2454
+ if (document.querySelector("*:not([data-keep-open]) > dialog[open]") && document.querySelector("*:not([data-keep-open]) > dialog[open]") != n && document.querySelector("*:not([data-keep-open]) > dialog[open]").close(), Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((d, f) => {
2455
+ d.classList.remove("active");
2456
+ }), n.hasAttribute("open"))
2457
+ n.close(), r = "closePopover", n.removeAttribute("style"), o.classList.remove("active");
2458
+ else {
2459
+ n.show(), o.classList.add("active");
2460
+ var i = o.getBoundingClientRect();
2461
+ let d = i.top, f = i.left;
2462
+ if (o.closest("iam-table")) {
2463
+ let b = o.closest("iam-table").parentNode.getBoundingClientRect();
2464
+ d -= b.top, f -= b.left;
2465
+ }
2466
+ n.classList.contains("dialog--fix") && n.setAttribute("style", `position:fixed;top: ${d}px; left: ${f}px; margin: 3rem 0 0 0;`);
2467
+ }
2468
+ let c = n.getBoundingClientRect(), l = c.bottom - window.scrollY, m = window.innerHeight - window.scrollY;
2469
+ if (l > m) {
2470
+ let d = n.hasAttribute("style") ? n.getAttribute("style") + " " : "";
2471
+ n.setAttribute("style", d + "transform: translate(0, calc(-100% - 4rem))"), c = n.getBoundingClientRect(), c.top - window.scrollY < 100 && n.removeAttribute("style");
2472
+ }
2473
+ window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: r, id: o.textContent });
2474
+ }
2475
+ a && a.target instanceof HTMLElement && !a.target.closest("dialog[open]") && !a.target.closest(".dialog__wrapper > button") && (document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]") && document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(), Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach((o, s) => {
2476
+ o.classList.remove("active");
2477
+ }));
2478
+ }), null), tt = (e) => {
2479
+ e.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child") && !e.classList.contains("dialog--multi") && e.addEventListener("cancel", (t) => {
2480
+ t.preventDefault();
2481
+ });
2482
+ let a = e.querySelector(".youtube-embed a");
2483
+ if (a && Cr(a), e.classList.contains("dialog--multi") && !e.querySelector(":scope > .steps") && Rr(e), !e.querySelector(":scope > .mh-lg") && !e.classList.contains("dialog--multi")) {
2484
+ e.innerHTML = `<div class="mh-lg">${e.innerHTML}</div>`;
2485
+ let t = e.querySelector(".mh-lg"), i = e.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");
2486
+ if (i) {
2487
+ let o = i.previousSibling;
2488
+ t.before(i), o && i.before(o);
2489
+ }
2490
+ }
2491
+ e.querySelector(":scope > button:first-child") || e.insertAdjacentHTML("afterbegin", '<button class="dialog__close">Close</button>');
2492
+ }, Rr = (e) => {
2493
+ let a = "", t = Array.from(e.querySelectorAll("fieldset[data-title]")), i = e.querySelector("form");
2494
+ t.forEach((r, n) => {
2495
+ a += `<button data-title="${r.getAttribute("data-title")}" type="button" class="${n == 0 ? "active" : ""}" tabindex="-1">${r.getAttribute("data-title")}</button>`;
2496
+ const c = document.createElement("div");
2497
+ if (c.classList.add("btn--wrapper"), r.appendChild(c), n != 0 && (c.innerHTML += `<button data-title="${t[n - 1].getAttribute("data-title")}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`), n != t.length - 1 && (c.innerHTML += `<button data-title="${t[n + 1].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="button">Next</button>`), n == t.length - 1)
2498
+ if (i && i.querySelector(':scope > button[type="submit"]')) {
2499
+ let l = i.querySelector(':scope > button[type="submit"]');
2500
+ l.classList.add("mb-0"), c.insertAdjacentElement("beforeend", l);
2501
+ } else
2502
+ c.innerHTML += `<button data-title="${t[n].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`;
2503
+ }), e.insertAdjacentHTML("afterbegin", `<div class="steps bg-primary">${a}</div>`);
2504
+ let o = Array.from(e.querySelectorAll("fieldset.was-validated"));
2505
+ for (let r = 0; r < o.length; r++) {
2506
+ let n = o[r], c = n.getAttribute("data-title");
2507
+ if (n.querySelector(".is-invalid")) {
2508
+ Array.from(e.querySelectorAll(`[data-title="${c}"]`)).forEach((l, m) => {
2509
+ l.classList.add("active");
2510
+ });
2511
+ break;
2512
+ } else
2513
+ Array.from(e.querySelectorAll(`[data-title="${c}"]`)).forEach((l, m) => {
2514
+ l.classList.add("valid");
2515
+ });
2516
+ }
2517
+ e.addEventListener("invalid", function() {
2518
+ return function(r) {
2519
+ r.preventDefault();
2520
+ };
2521
+ }(), !0);
2522
+ function s(r) {
2523
+ const n = e.querySelector("fieldset.active") ? e.querySelector("fieldset.active") : e.querySelector("fieldset[data-title]"), c = n.getAttribute("data-title");
2524
+ let l = !0;
2525
+ if (n.classList.add("was-validated"), Array.from(n.querySelectorAll("input")).forEach((f, b) => {
2526
+ f.checkValidity() || (l = !1);
2527
+ }), l ? Array.from(e.querySelectorAll(`[data-title="${c}"]`)).forEach((f, b) => {
2528
+ f.classList.add("valid");
2529
+ }) : Array.from(e.querySelectorAll(`[data-title="${c}"]`)).forEach((f, b) => {
2530
+ f.classList.remove("valid");
2531
+ }), l || !r.hasAttribute("data-next")) {
2532
+ const f = e.querySelector(`fieldset[data-title="${r.getAttribute("data-title")}"]`), b = e.querySelector(`.steps button[data-title="${r.getAttribute("data-title")}"]`);
2533
+ Array.from(e.querySelectorAll("button")).forEach((u, v) => {
2534
+ u.classList.remove("active");
2535
+ }), Array.from(e.querySelectorAll("fieldset")).forEach((u, v) => {
2536
+ u.classList.remove("active");
2537
+ }), b.classList.add("active"), f.classList.add("active");
2538
+ }
2539
+ let m = Array.from(e.querySelectorAll("fieldset")).length, d = Array.from(e.querySelectorAll("fieldset.valid")).length;
2540
+ e.style.setProperty("--progress", `${d / (m - 1) * 100}%`);
2541
+ }
2542
+ e.addEventListener("keydown", (r) => {
2543
+ if (r && r.target instanceof HTMLElement && r.target.closest("button")) {
2544
+ const n = r.target.closest("button");
2545
+ r.keyCode == 13 && n.getAttribute("type") != "submit" && (r.preventDefault(), s(n));
2546
+ }
2547
+ r && r.target instanceof HTMLElement && r.target.closest("input") && (r.target.closest("input").classList.remove("is-invalid"), r.keyCode == 13 && r.preventDefault());
2548
+ }), e.addEventListener("click", (r) => {
2549
+ if (r && r.target instanceof HTMLElement && r.target.closest('button[type="submit"]'))
2550
+ r.target.closest("form").classList.add("was-validated");
2551
+ else if (r && r.target instanceof HTMLElement && r.target.closest("button[data-title]")) {
2552
+ const n = r.target.closest("button[data-title]");
2553
+ s(n);
2554
+ }
2555
+ return null;
2556
+ });
2557
+ };
2558
+ window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "action bar" });
2559
+ function et(e, a) {
2560
+ e && a == "all" ? (e.querySelector("input").indeterminate = !1, e.querySelector("input").checked = !0, e.querySelector("label").textContent = "Select all") : e && a == 0 ? (e.querySelector("input").indeterminate = !1, e.querySelector("input").checked = !1, e.querySelector("label").textContent = "Select all") : e && a ? (e.querySelector("input").indeterminate = !0, e.querySelector("input").checked = !1, e.querySelector("label").textContent = `${a} item${a > 1 ? "s" : ""} selected`) : e && (e.querySelector("input").checked = !1, e.querySelector("input").indeterminate = !1, e.querySelector("label").textContent = "Select all");
2561
+ }
2562
+ class Dr extends HTMLElement {
2563
+ constructor() {
2564
+ super(), this.attachShadow({ mode: "open" });
2565
+ 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`, i = document.createElement("template");
2566
+ i.innerHTML = `
2567
+ <style>
2568
+ @import "${t}";
2569
+ .actionbar__wrapper{position:relative;z-index:10;height:4.25rem;container-type:inline-size}.views,.selectall{position:absolute !important;top:50%;left:1.5rem;transform:translate(0, -50%);z-index:10}@media screen and (min-width: 36em){.views,.selectall{left:2rem}}.views .btn-action:not(:last-child),.selectall .btn-action:not(:last-child){margin-right:0.25rem !important}.selectall{width:2.5rem;overflow:hidden}.selectall label{height:2.5rem}@media screen and (min-width: 36em){.selectall{width:auto;overflow:visible}}.actionbar [data-search]{display:none}:host([data-search]) .actionbar [data-search]{display:block;margin-left:1rem !important}:is(.actionbar,.actionbar--selected,.actionbar--search){border-top-left-radius:0.625rem;border-top-right-radius:0.625rem;padding:0 1.5rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center;height:4.25rem;inset:0}@supports selector(:has(*)){:is(.actionbar,.actionbar--selected,.actionbar--search){position:absolute}}@container (width > 23.4375em){:is(.actionbar,.actionbar--selected,.actionbar--search){padding:0 2rem}}.actionbar{display:flex}.actionbar--selected{background-color:var(--colour-canvas);display:flex;pointer-events:none}@media screen and (prefers-color-scheme: light){.actionbar--selected{background-color:#e6eaec}}@supports selector(:has(*)){.actionbar--selected{opacity:0}}.actionbar--search{background-color:var(--colour-canvas);display:flex;z-index:2;position:relative;opacity:0;pointer-events:none}@media screen and (prefers-color-scheme: light){.actionbar--search{background-color:#e6eaec}}.selectall:has(input:checked)~.actionbar,.selectall:has(input:indeterminate)~.actionbar{opacity:0;pointer-events:none}.selectall:has(input:checked)~.actionbar--selected,.selectall:has(input:indeterminate)~.actionbar--selected{opacity:1;pointer-events:all}.actionbar--search.show{opacity:1;pointer-events:all}.actionbar__wrapper:has(.actionbar--search.show)>*:not(.actionbar--search.show){opacity:0;pointer-events:none}::slotted(*:not([slot=overflow])){margin-top:0 !important;margin-bottom:0 !important;margin-left:1rem !important;margin-right:0 !important}::slotted(.btn:not(.btn-action)){order:2}::slotted([data-single]){pointer-events:none;opacity:.5}:host([data-selected="1"]) ::slotted([data-single]){pointer-events:all;opacity:1}::slotted(hr){height:2rem;color:#9d9d9d !important;width:1px;display:none}@container (width > 48em){::slotted(hr){display:block}}.safe-area{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;width:13.125rem;overflow:visible;position:relative}@container (width > 23.4375em){.safe-area{width:28.125rem}}@container (width > 48em){.safe-area{width:46.875rem}}.safe-area .body{display:contents}:host([data-switchviews]) .safe-area{width:9rem}::slotted(.btn-compact[slot=selected-overflow]),::slotted(.btn-compact[slot=overflow]){max-width:none !important;text-indent:0 !important;width:auto !important;text-align:left !important;padding-left:0 !important;background:none !important;border:none !important}::slotted(.btn-compact[slot=selected-overflow]):before,::slotted(.btn-compact[slot=overflow]):before{position:static !important;line-height:inherit !important}.dialog__wrapper.dialog-overflow{margin-left:.5rem;margin-right:-0.5rem}.actionbar--search .btn{margin-left:-0.75rem !important;margin-right:auto !important}.search-wrapper{width:calc(100% - 3.25rem);max-width:21.875rem !important;margin:0 !important}@container (width > 48em){.search-wrapper{max-width:28.125rem !important}}.search-wrapper input{padding-top:0.5rem;padding-bottom:0.5rem;min-height:2.5rem !important;max-height:2.5rem !important}.search-wrapper :is(.prefix,.suffix){padding:0.5rem !important;min-height:2.5rem !important;max-height:2.5rem !important;min-width:2.5rem !important;max-width:2.5rem !important;line-height:1.5rem !important}/*# sourceMappingURL=assets/css/components/actionbar.css.map */
2570
+
2571
+ ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
2572
+ </style>
2573
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
2574
+ <div class="actionbar__wrapper">
2575
+ <div class="actionbar">
2576
+ <div class="safe-area">
2577
+ <slot></slot>
2578
+ <div class="body">
2579
+ <div class="dialog__wrapper dialog__wrapper--right dialog-overflow d-none show">
2580
+ <button class="btn btn-secondary btn-compact fa-ellipsis-vertical m-0">More actions</button>
2581
+ <dialog class="dialog--list">
2582
+ <slot name="overflow"></slot>
2583
+ <slot name="menu"></slot>
2584
+ </dialog>
2585
+ </div>
2586
+ <button class="btn btn-secondary btn-compact btn-sm fa-search m-0" data-search="">Search</button>
2587
+ </div>
2588
+ </div>
2589
+ </div>
2590
+ <div class="actionbar--selected">
2591
+ <div class="safe-area">
2592
+ <slot name="selected"></slot>
2593
+ <div class="body">
2594
+ <div class="dialog__wrapper dialog__wrapper--right dialog-overflow d-none show">
2595
+ <button class="btn btn-secondary btn-compact fa-ellipsis-vertical m-0">More actions</button>
2596
+ <dialog class="dialog--list">
2597
+ <slot name="selected-overflow"></slot>
2598
+ </dialog>
2599
+ </div>
2600
+ </div>
2601
+ </div>
2602
+ </div>
2603
+ <div class="actionbar--search">
2604
+ <button data-search class="btn btn-compact fa-xmark-large btn-secondary m-0" >Close</button>
2605
+
2606
+ <div class="search-wrapper">
2607
+ <label for="search" class="visually-hidden">Input field label</label>
2608
+ <button class="suffix"><i class="fa-regular fa-search"></i></button>
2609
+ <input type="text" id="search" name="search" required="">
2610
+ </div>
2611
+
2612
+ </div>
2613
+ </div>
2614
+ `, this.shadowRoot.appendChild(i.content.cloneNode(!0));
2615
+ }
2616
+ connectedCallback() {
2617
+ let a = this;
2618
+ const t = this.shadowRoot.querySelector(".actionbar__wrapper");
2619
+ if (this.hasAttribute("data-selectall")) {
2620
+ t.insertAdjacentHTML("afterbegin", '<div class="selectall pb-0"><input type="checkbox" name="selectall" id="selectall"><label for="selectall" class="m-0">Select all</label></div>');
2621
+ let s = this.shadowRoot.querySelector(".selectall");
2622
+ this.hasAttribute("data-selected") && et(s, this.getAttribute("data-selected")), s.addEventListener("change", (n) => {
2623
+ n && n.target instanceof HTMLElement && n.target.closest("input") && (n.target.closest("input").checked ? this.setAttribute("data-selected", "all") : this.setAttribute("data-selected", 0));
2624
+ });
2625
+ let r = this.querySelector("button[data-cancel]");
2626
+ r && r.addEventListener("click", (n) => {
2627
+ this.setAttribute("data-selected", 0);
2628
+ });
2629
+ }
2630
+ if (this.hasAttribute("data-select-watch")) {
2631
+ const s = document.getElementById(this.getAttribute("data-select-watch"));
2632
+ s.setAttribute("data-select-container", "true"), Array.from(s.querySelectorAll('input[type="checkbox"]')).forEach((r, n) => {
2633
+ r.parentElement.setAttribute("slot", "checkbox");
2634
+ }), s.addEventListener("change", (r) => {
2635
+ if (r && r.target instanceof HTMLElement && r.target.closest('[type="checkbox"]')) {
2636
+ let n = s.querySelectorAll('input[type="checkbox"]').length, c = s.querySelectorAll('input[type="checkbox"]:checked').length;
2637
+ a.setAttribute("data-selected", n == c ? "all" : c), r.target.closest('[type="checkbox"]'), c ? Array.from(s.querySelectorAll('input[type="checkbox"]')).forEach((l, m) => {
2638
+ l.closest("iam-card") && l.closest("iam-card").setAttribute("data-selected", "true");
2639
+ }) : Array.from(s.querySelectorAll('input[type="checkbox"]')).forEach((l, m) => {
2640
+ l.closest("iam-card") && l.closest("iam-card").removeAttribute("data-selected");
2641
+ });
2642
+ }
2643
+ });
2644
+ }
2645
+ if (this.hasAttribute("data-switchviews")) {
2646
+ let s = "";
2647
+ this.getAttribute("data-switchviews").split(",").forEach((r, n) => {
2648
+ let c = "fa-grid-2";
2649
+ r == "list" ? c = "fa-grip-lines" : r == "small" && (c = "fa-bars"), s += `<button class="btn btn-action btn-compact mb-0 fa-regular ${c}">${r}</button>`;
2650
+ }), t.insertAdjacentHTML("afterbegin", `<div class="views m-0">${s}</div>`), this.shadowRoot.querySelector(".views").addEventListener("click", (r) => {
2651
+ if (r && r.target instanceof HTMLElement && r.target.closest(".btn-action")) {
2652
+ let n = r.target.closest(".btn-action");
2653
+ this.setAttribute("data-view", n.textContent);
2654
+ const c = new CustomEvent("switch-view", { detail: { view: n.textContent } });
2655
+ this.dispatchEvent(c);
2656
+ }
2657
+ });
2658
+ }
2659
+ const i = this.shadowRoot.querySelector(".actionbar--search");
2660
+ this.hasAttribute("data-search") && this.getAttribute("data-search") == "show" && i.classList.add("show"), this.shadowRoot.addEventListener("click", (s) => {
2661
+ s && s.target instanceof HTMLElement && s.target.closest("button[data-search]") && i.classList.toggle("show");
2662
+ }), i.addEventListener("keyup", (s) => {
2663
+ const r = new CustomEvent("search-keyup", { detail: { search: i.querySelector("input").value } });
2664
+ this.dispatchEvent(r);
2665
+ }), i.addEventListener("change", (s) => {
2666
+ const r = new CustomEvent("search-change", { detail: { search: i.querySelector("input").value } });
2667
+ this.dispatchEvent(r);
2668
+ }), i.addEventListener("click", (s) => {
2669
+ if (s && s.target instanceof HTMLElement && s.target.closest("button.suffix")) {
2670
+ const r = new CustomEvent("search-submit", { detail: { search: i.querySelector("input").value } });
2671
+ this.dispatchEvent(r);
2672
+ }
2673
+ }), Array.from(this.shadowRoot.querySelectorAll(".body")).forEach((s, r) => {
2674
+ Nr(s);
2675
+ });
2676
+ function o() {
2677
+ const s = t.scrollWidth, r = document.documentElement.scrollWidth;
2678
+ let n = 750, c = 16, l = a.hasAttribute("data-switchviews") ? 144 : 210, m = 1;
2679
+ r >= 992 && r <= 1280 ? m = r / 1280 : r >= 576 && r <= 1280 ? m = r / 768 : r < 576 && (m = r / 375), s >= 992 && s <= 1280 ? n = n * m : s >= 576 && s <= 1280 ? n = 450 * m : s < 576 && (n = l * m), c = c * m, s < 576 ? Array.from(a.querySelectorAll(":scope > .btn:not(.js-updated)")).forEach((d, f) => {
2680
+ d.className = d.className.replace(" btn-compact", " _btn-compact"), d.classList.add("btn-compact"), d.classList.add("js-updated");
2681
+ }) : Array.from(a.querySelectorAll(":scope > .btn.js-updated")).forEach((d, f) => {
2682
+ d.classList.remove("btn-compact"), d.classList.remove("js-updated"), d.className = d.className.replace(" _btn-compact", " btn-compact");
2683
+ }), Array.from(a.querySelectorAll("[slot]")).forEach((d, f) => {
2684
+ d.getAttribute("slot") == "overflow" && d.removeAttribute("slot"), d.getAttribute("slot") == "selected-overflow" && d.setAttribute("slot", "selected");
2685
+ }), Array.from(a.querySelectorAll(".show")).forEach((d, f) => {
2686
+ d.classList.remove("show");
2687
+ }), Array.from(a.shadowRoot.querySelectorAll(".safe-area")).forEach((d, f) => {
2688
+ let b = "overflow";
2689
+ d.querySelector("slot").hasAttribute("name") && d.querySelector("slot").getAttribute("name") == "selected" && (b = "selected-overflow");
2690
+ let u = d.querySelector("slot").assignedElements(), v = 44 * m;
2691
+ a.hasAttribute("data-search") && (v += 44 * m);
2692
+ for (let y = 0; y < u.length; y++)
2693
+ !u[y].classList.contains("btn-action") && !u[y].classList.contains("dialog__wrapper") && (v += u[y].offsetWidth, v += c);
2694
+ for (let y = 0; y < u.length; y++)
2695
+ if (u[y].classList.contains("dialog__wrapper") && (u[y].classList.add("show"), v += u[y].offsetWidth, v += c / 2, v - c / 2 > n)) {
2696
+ u[y].classList.remove("show");
2697
+ break;
2698
+ }
2699
+ for (let y = 0; y < u.length; y++)
2700
+ if (u[y].classList.contains("btn-action") && (u[y].classList.add("show"), v += u[y].offsetWidth, v += c / 2, v - c / 2 > n)) {
2701
+ u[y].classList.remove("show");
2702
+ break;
2703
+ }
2704
+ let q = d.querySelector(".dialog-overflow");
2705
+ q && q.classList.add("d-none");
2706
+ for (let y = 0; y < u.length; y++)
2707
+ (u[y].classList.contains("btn-action") || u[y].classList.contains("dialog__wrapper")) && (u[y].classList.contains("show") || (u[y].setAttribute("slot", b), q && q.classList.remove("d-none")));
2708
+ });
2709
+ }
2710
+ o(), new ResizeObserver(o).observe(t);
2711
+ }
2712
+ static get observedAttributes() {
2713
+ return ["data-selected"];
2714
+ }
2715
+ attributeChangedCallback(a, t, i) {
2716
+ switch (a) {
2717
+ case "data-selected": {
2718
+ let o = this.shadowRoot.querySelector(".selectall");
2719
+ o && et(o, i);
2720
+ const s = new CustomEvent("selected", { detail: { selected: i } });
2721
+ if (this.dispatchEvent(s), i == "all" && this.hasAttribute("data-select-watch")) {
2722
+ const r = document.getElementById(this.getAttribute("data-select-watch"));
2723
+ Array.from(r.querySelectorAll('input[type="checkbox"]')).forEach((n, c) => {
2724
+ n.checked = !0, n.closest("iam-card") && n.closest("iam-card").setAttribute("data-selected", "true");
2725
+ });
2726
+ }
2727
+ if (i == "0" && this.hasAttribute("data-select-watch")) {
2728
+ const r = document.getElementById(this.getAttribute("data-select-watch"));
2729
+ Array.from(r.querySelectorAll('input[type="checkbox"]')).forEach((n, c) => {
2730
+ n.checked = !1, n.closest("iam-card") && n.closest("iam-card").removeAttribute("data-selected", "true");
2731
+ });
2732
+ }
2733
+ break;
2734
+ }
2735
+ }
2736
+ }
2737
+ }
2738
+ window.customElements.get("iam-actionbar") || window.customElements.define("iam-actionbar", Dr);
2739
+ const Ir = {
2740
+ name: "Actionbar",
2741
+ props: {},
2742
+ mounted() {
2743
+ }
2744
+ };
2745
+ function jr(e, a, t, i, o, s) {
2746
+ return h(), p("iam-actionbar", null, [
2747
+ S(e.$slots, "default")
2748
+ ]);
2749
+ }
2750
+ const yi = /* @__PURE__ */ _(Ir, [["render", jr]]);
2751
+ /*!
2752
+ * iamKey v4.0.1
2753
+ * Copyright 2022-2023 iamproperty
2754
+ */
2755
+ const Pr = function(e, a) {
2756
+ if (!e.getAttribute("data-pages"))
2757
+ return !1;
2758
+ e.getAttribute("data-page") || e.setAttribute("data-page", 1);
2759
+ let t = e.getAttribute("data-page"), i = e.getAttribute("data-pages"), o = e.getAttribute("data-total"), s = e.getAttribute("data-show"), r = e.getAttribute("data-increment");
2760
+ if (i <= 1)
2761
+ return a.innerHTML = "", !1;
2762
+ let n = "";
2763
+ for (let c = 1; c <= i; c++)
2764
+ c == t ? n += `<li class="page-item active" aria-current="page"><span class="page-link">${c}</span></li>` : n += `<li class="page-item"><a href="?page=${c}" class="page-link" data-page="${c}">${c}</a></li>`;
2765
+ return a.innerHTML = `<ul class="pagination mb-0 d-none d-sm-flex">
2766
+ ${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>`}
2767
+ ${n}
2768
+ ${t == i ? '<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>`}
2769
+ </ul>`, a.innerHTML += `<div class="d-sm-none text-center">
2770
+ <span class="d-block pb-2">You've viewed ${s} of ${o} results</span>
2771
+ <a href="?show=${parseInt(s) + parseInt(r)}" class="btn btn-primary w-100 m-0" data-show="${parseInt(s) + parseInt(r)}">Load more results</a>
2772
+ </div>`, !0;
2773
+ };
2774
+ class zr extends HTMLElement {
2775
+ constructor() {
2776
+ super(), this.attachShadow({ mode: "open" });
2777
+ 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`, i = document.createElement("template");
2778
+ i.innerHTML = `
2779
+ <style>
2780
+ @import "${t}";
2781
+
2782
+ ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
2783
+ </style>
2784
+ <div class="pagination__wrapper d-none">
2785
+ </div>
2786
+ `, this.shadowRoot.appendChild(i.content.cloneNode(!0));
2787
+ }
2788
+ connectedCallback() {
2789
+ const a = new URLSearchParams(window.location.search);
2790
+ 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", a.has("show") ? a.get("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"))), Pr(this, this.shadowRoot.querySelector(".pagination__wrapper")), this.shadowRoot.querySelector(".pagination__wrapper").classList.remove("d-none");
2791
+ }
2792
+ }
2793
+ const Br = {
2794
+ name: "Pagination",
2795
+ props: {},
2796
+ computed: {},
2797
+ created() {
2798
+ this.$nextTick(function() {
2799
+ window.customElements.get("iam-pagination") || window.customElements.define("iam-pagination", zr);
2288
2800
  });
2801
+ },
2802
+ updated() {
2803
+ }
2804
+ };
2805
+ function Fr(e, a, t, i, o, s) {
2806
+ return h(), p("iam-pagination");
2807
+ }
2808
+ const vi = /* @__PURE__ */ _(Br, [["render", Fr]]);
2809
+ /*!
2810
+ * iamKey v4.0.1
2811
+ * Copyright 2022-2023 iamproperty
2812
+ */
2813
+ window.dataLayer = window.dataLayer || [], window.dataLayer.push({ event: "customElementRegistered", element: "collapsible side menu" });
2814
+ class Or extends HTMLElement {
2815
+ constructor() {
2816
+ super(), this.attachShadow({ mode: "open" });
2817
+ 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`, i = document.createElement("template");
2818
+ i.innerHTML = `
2819
+ <style class="styles">
2820
+ @import "${t}";
2821
+ :host{--colour-border: #e9e9e9;--side-link-hover: var(--colour-canvas-2);display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;max-width:80rem;overflow:hidden;position:relative}@media screen and (prefers-color-scheme: light){:host{--side-link-hover: #eeeeee}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important;overflow:hidden}}.side-menu{position:absolute;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:1.875rem;height:100%;background-color:var(--colour-canvas);transition:width 1s}.side-menu:before{content:"";position:absolute;top:0;right:0;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:2.5rem}}@media screen and (min-width: 62em){.side-menu{left:calc(50% - 34.75rem);margin-left:-5.25rem}.side-menu:after{content:"";position:absolute;top:0;height:100%;border-right:2px solid var(--colour-border);left:0;opacity:1;transition:all 1s;width:2.5rem;background:var(--colour-canvas)}.side-menu:not(.open).hover{width:21.5rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"" !important}}.side-menu .btn{position:absolute;top:2rem;right:0;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99}.side-menu:is(.open){width:calc(100% - var(--container-padding-x))}.side-menu:is(.open) .btn[class*=fa-]:before{content:"" !important}@media screen and (min-width: 36em){.side-menu:is(.open){width:23.875rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:21.5rem}.side-menu:is(.open) .btn{opacity:0;transition:opacity .5s}.side-menu:is(.open) .btn:is(:hover,:focus,:active){opacity:1}}.side-menu .side-menu-content{position:absolute;top:0;right:0;padding:2rem 2.5rem 0 0;width:21.9375rem;opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content{width:23.875rem}.side-menu .side-menu-content .h3{padding-left:2.5rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}::slotted(*[slot=menu]){padding-left:1.5rem}@media screen and (min-width: 36em){::slotted(*[slot=menu]){padding-left:2.5rem !important}}::slotted(hr){border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important}::slotted(a[slot=menu]){display:block;display:block !important;line-height:1.25rem !important;padding:1rem 2.5rem 1rem 1.5rem !important;margin:0 !important;flex-shrink:0;font-size:1rem !important;font-weight:normal !important;text-decoration:none;border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important;border-right:2px solid var(--colour-border) !important}@media screen and (min-width: 36em){::slotted(a[slot=menu]){padding-left:2.5rem !important}}::slotted(a[slot=menu]):after{display:none}::slotted(a[slot=menu]:where(:hover,:focus,.selected)){background-color:var(--side-link-hover) !important}::slotted(a[slot=menu]:active){background-color:var(--side-link-hover) !important;font-weight:bold !important}::slotted(a[slot=menu].selected){background-color:var(--side-link-hover) !important;font-weight:bold !important;margin-right:-2.5rem !important;position:relative;border-right:2px solid var(--colour-info) !important}::slotted(a[slot=menu].selected):before{content:"";position:absolute;top:0;right:0;height:calc(100% + 4px);margin-top:-2px;width:2px;border-right:2px solid var(--colour-info);margin-right:-2px}@media(forced-colors: active){::slotted(a[slot=menu].selected):before{border-right:10px solid var(--colour-info)}}.main-content{padding-top:1.5rem;padding-left:3.75rem}@media screen and (min-width: 36em){.main-content{padding-left:5rem}}@media screen and (min-width: 62em){.main-content{padding-top:2.5rem !important;padding-left:0}}.main-content>span.h3{padding-top:.75rem;border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important}@media screen and (min-width: 62em){.main-content>span.h3{display:none}}::slotted(.main-content__title){border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important;max-width:100% !important;display:block}@media screen and (min-width: 62em){.side-menu.open+.main-content{padding-left:18.75rem}::slotted(.main-content__title){display:none}}/*# sourceMappingURL=assets/css/components/collapsible-side.css.map */
2822
+
2823
+ ${this.hasAttribute("css") ? `@import "${this.getAttribute("css")}";` : ""}
2824
+ </style>
2825
+ <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
2826
+ <div class="container">
2827
+
2828
+ <div class="side-menu">
2829
+ <button class="btn btn-compact fa-chevron-right btn-secondary btn-sm">Open or close Collapsible menu</button>
2830
+ <div class="side-menu-content closed">
2831
+ <slot name="menu"></slot>
2832
+ </div>
2833
+ </div>
2834
+
2835
+ <div class="main-content">
2836
+ <slot></slot>
2837
+ </div>
2838
+
2839
+ </div>
2840
+ `, this.shadowRoot.appendChild(i.content.cloneNode(!0));
2841
+ }
2842
+ connectedCallback() {
2843
+ const a = this.shadowRoot.querySelector(".side-menu"), t = this.shadowRoot.querySelector(".side-menu-content"), i = this.shadowRoot.querySelector(".main-content"), o = this.shadowRoot.querySelector(".side-menu > .btn");
2844
+ this.hasAttribute("data-css") && this.shadowRoot.querySelector(".styles").insertAdjacentHTML("beforeend", `@import "${this.getAttribute("data-css")}";`), this.hasAttribute("data-title") || this.setAttribute("data-title", "configuration"), t.insertAdjacentHTML("afterbegin", `<span class="h3">${this.getAttribute("data-title")}</span>`), i.insertAdjacentHTML("afterbegin", `<span class="h3">${this.getAttribute("data-title")}</span>`), this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)") && (this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("h4"), this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("main-content__title")), o.addEventListener("click", (s) => {
2845
+ a.classList.contains("open") ? (a.classList.remove("open"), setTimeout(function() {
2846
+ t.classList.add("closed");
2847
+ }, 1e3), a.classList.add("pe-none"), setTimeout(function() {
2848
+ a.classList.remove("pe-none");
2849
+ }, 1e3)) : (t.classList.remove("closed"), setTimeout(function() {
2850
+ a.classList.add("open");
2851
+ }, 100));
2852
+ }), a.addEventListener("mouseenter", (s) => {
2853
+ window.innerWidth > 992 && (a.classList.contains("open") || t.classList.remove("closed"), a.classList.add("hover"));
2854
+ }), a.addEventListener("mousemove", (s) => {
2855
+ window.innerWidth > 992 && (a.classList.contains("open") || t.classList.remove("closed"));
2856
+ }), a.addEventListener("mouseleave", (s) => {
2857
+ window.innerWidth > 992 && (a.classList.remove("hover"), a.classList.contains("open") || setTimeout(function() {
2858
+ t.classList.add("closed");
2859
+ }, 1e3));
2860
+ });
2861
+ }
2862
+ }
2863
+ window.customElements.get("iam-collapsible-side") || window.customElements.define("iam-collapsible-side", Or);
2864
+ const Vr = {
2865
+ name: "CollapsibleSideMenu",
2866
+ props: {},
2867
+ mounted() {
2289
2868
  }
2290
2869
  };
2291
- function gr(e, a, t, i, o, s) {
2292
- return d(), u("iam-notification", null, [
2293
- A(e.$slots, "default")
2870
+ function Wr(e, a, t, i, o, s) {
2871
+ return h(), p("iam-collapsible-side", null, [
2872
+ S(e.$slots, "default")
2294
2873
  ]);
2295
2874
  }
2296
- const jr = /* @__PURE__ */ w(yr, [["render", gr]]);
2875
+ const wi = /* @__PURE__ */ _(Vr, [["render", Wr]]);
2297
2876
  export {
2298
- Sr as Accordion,
2299
- kr as AccordionItem,
2300
- zr as AppliedFilters,
2301
- qr as Banner,
2302
- Ce as Card,
2303
- $r as Carousel,
2304
- wr as FileUpload,
2305
- Pr as Filterlist,
2306
- xr as Header,
2307
- ot as Input,
2308
- Ar as Logo,
2309
- Hr as Nav,
2310
- Rr as NoteFeed,
2311
- jr as Notification,
2312
- Tr as PropertySearchbar,
2313
- Cr as Step,
2314
- Mr as Stepper,
2315
- Nr as Tab,
2316
- st as Table,
2317
- Dr as Tabs,
2318
- Er as Testimonial
2877
+ Jr as Accordion,
2878
+ Qr as AccordionItem,
2879
+ yi as Actionbar,
2880
+ pi as AppliedFilters,
2881
+ Zr as Banner,
2882
+ Re as Card,
2883
+ ti as Carousel,
2884
+ wi as CollapsibleSideMenu,
2885
+ Kr as FileUpload,
2886
+ fi as Filterlist,
2887
+ ei as Header,
2888
+ lt as Input,
2889
+ Gr as Logo,
2890
+ si as Nav,
2891
+ mi as NoteFeed,
2892
+ gi as Notification,
2893
+ vi as Pagination,
2894
+ ii as PropertySearchbar,
2895
+ ni as Snapshot,
2896
+ li as Step,
2897
+ oi as Stepper,
2898
+ ui as Tab,
2899
+ nt as Table,
2900
+ di as Tabs,
2901
+ ai as Testimonial,
2902
+ ri as Timeline
2319
2903
  };