@iamproperty/components 7.2.1--beta3 → 7.2.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.
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/bento-grid.component.css +1 -1
- package/assets/css/components/bento-grid.component.css.map +1 -1
- package/assets/css/components/bento-grid.global.css +1 -0
- package/assets/css/components/bento-grid.global.css.map +1 -0
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/table-basic.global.css.map +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/mobile-core.min.css +1 -1
- package/assets/css/mobile-core.min.css.map +1 -1
- package/assets/css/mobile.min.css +1 -1
- package/assets/css/mobile.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +8 -7
- package/assets/js/components/actionbar/actionbar.component.min.js +10 -8
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +2 -2
- package/assets/js/components/bento-grid/bento-grid.component.js +22 -3
- package/assets/js/components/bento-grid/bento-grid.component.min.js +5 -4
- package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.min.js +2 -2
- package/assets/js/components/carousel/carousel.component.min.js +2 -2
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.min.js +1 -1
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
- package/assets/js/components/nav/nav.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.js +9 -10
- package/assets/js/components/rankings/rankings.component.min.js +4 -4
- package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +32 -32
- package/assets/sass/_components.scss +0 -187
- package/assets/sass/_functions/variables.scss +2 -1
- package/assets/sass/components/actionbar.component.scss +28 -0
- package/assets/sass/components/bento-grid.component.scss +32 -14
- package/assets/sass/components/bento-grid.global.scss +249 -0
- package/assets/sass/components/table-basic.global.scss +0 -1
- package/assets/sass/components/table.global.scss +4 -9
- package/assets/sass/elements/buttons--global.scss +1 -0
- package/assets/sass/elements/lists.scss +5 -1
- package/assets/sass/elements/popover.scss +4 -1
- package/assets/ts/components/actionbar/actionbar.component.ts +11 -7
- package/assets/ts/components/bento-grid/bento-grid.component.ts +23 -3
- package/assets/ts/components/rankings/rankings.component.ts +4 -4
- package/assets/ts/modules/table.ts +8 -14
- package/assets/ts/scripts.ts +1 -1
- package/dist/components.es.js +18 -18
- package/dist/components.umd.js +76 -69
- package/package.json +1 -1
- package/src/components/BentoGrid/BentoGrid.vue +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const p=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})},h=(e,t,a)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:t}),a.forEach(o=>{e.addEventListener(o,function(r){const i={event:o,element:t,target:r.target};Object.keys(r.detail).forEach(d=>{const s=r.detail[d];i[d]=s}),window.dataLayer.push(i)})}),!0),g=`<div class="card__head" part="head">
|
|
5
5
|
<slot name="head"></slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/function r(s,t){i(s,t)}function i(s,t){let e;t.addEventListener("keyup",()=>{clearTimeout(e),e=setTimeout(function(){o(s,t.value)},500)}),t.addEventListener("change",()=>{clearTimeout(e),o(s,t.value)})}const o=function(s,t){Array.from(s.querySelectorAll(":scope > li")).forEach(e=>{const a=e.textContent.toLowerCase();e.classList.add("d-none"),a.includes(t.toLowerCase())&&e.classList.remove("d-none")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Filtered list",value:t})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"filterlist"});class n extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class o extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"inline edit"});class b extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),s=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",l=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${s}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style class="styles">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Marketing"});class o extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",i=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/class p extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const i=document.createElement("template");i.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const g=c=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:c})},y=(c,e,u)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:e}),u.forEach(l=>{c.addEventListener(l,function(i){const n={event:l,element:e,target:i.target};Object.keys(i.detail).forEach(d=>{const t=i.detail[d];n[d]=t}),window.dataLayer.push(n)})}),!0);g("iam-multi-step");class h extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"mutliselect"});class b extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",l=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"nav"});class p extends HTMLElement{constructor(){super();const l=this.attachShadow({mode:"open"}),r=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",a=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${r}/css/core.min.css`,i=document.createElement("template");i.innerHTML=`
|
|
5
5
|
<style class="styles">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/function f(i){if(i.hasAttribute("data-type")&&i.getAttribute("data-type")=="toast"){let t=document.querySelector(".notification__holder");t||(t=document.createElement("div"),t.classList.add("notification__holder"),t.classList.add("container"),document.querySelector("body").appendChild(t)),i.closest(".notification__holder")||t.appendChild(i)}if(i.setAttribute("role","alert"),i.addEventListener("click",function(t){event&&event.target instanceof HTMLElement&&(event.target.closest("[data-dismiss-button]")||event.target.matches("[data-dismiss-button]"))&&(t.preventDefault(),c(i))},!1),i.hasAttribute("data-timeout")){const t=i.getAttribute("data-timeout"),o=new m(function(){c(i)},t);i.addEventListener("mouseenter",()=>{o.pause()}),i.addEventListener("mouseleave",()=>{o.resume()})}}function m(i,t){let o,n,e=t;this.pause=function(){window.clearTimeout(o),e-=new Date-n},this.resume=function(){n=new Date,window.clearTimeout(o),o=window.setTimeout(i,e)},this.resume()}const c=function(i){i.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class u extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const n=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},h=(t,C,i)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:C}),i.forEach(e=>{t.addEventListener(e,function(l){const a={event:e,element:C,target:l.target};Object.keys(l.detail).forEach(d=>{const o=l.detail[d];a[d]=o}),window.dataLayer.push(a)})}),!0);n("iam-rank");class p extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const C=document.createElement("template");C.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -27,20 +27,19 @@ class iamRankings extends HTMLElement {
|
|
|
27
27
|
document.head.insertAdjacentHTML('beforeend', `<style id="rankingsGlobal">${loadExtraCSS}</style>`);
|
|
28
28
|
}
|
|
29
29
|
connectedCallback() {
|
|
30
|
-
var _a, _b, _c, _d, _e, _f
|
|
31
|
-
const
|
|
32
|
-
this.
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
thirdText === null || thirdText === void 0 ? void 0 : thirdText.innerHTML = (_g = this.querySelector('tbody tr:nth-child(3) :is(td,th):nth-child(1)')) === null || _g === void 0 ? void 0 : _g.textContent;
|
|
30
|
+
var _a, _b, _c, _d, _e, _f;
|
|
31
|
+
const firstText = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.first-position');
|
|
32
|
+
const secondText = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.second-position');
|
|
33
|
+
const thirdText = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.third-position');
|
|
34
|
+
const max = this.hasAttribute('data-max') ? this.getAttribute('data-max') : 100;
|
|
35
|
+
firstText === null || firstText === void 0 ? void 0 : firstText.innerHTML = (_d = this.querySelector('tbody tr:nth-child(1) :is(td,th):nth-child(1)')) === null || _d === void 0 ? void 0 : _d.textContent;
|
|
36
|
+
secondText === null || secondText === void 0 ? void 0 : secondText.innerHTML = (_e = this.querySelector('tbody tr:nth-child(2) :is(td,th):nth-child(1)')) === null || _e === void 0 ? void 0 : _e.textContent;
|
|
37
|
+
thirdText === null || thirdText === void 0 ? void 0 : thirdText.innerHTML = (_f = this.querySelector('tbody tr:nth-child(3) :is(td,th):nth-child(1)')) === null || _f === void 0 ? void 0 : _f.textContent;
|
|
39
38
|
this.querySelectorAll('tbody tr').forEach((element) => {
|
|
40
39
|
var _a, _b, _c;
|
|
41
40
|
const value = (_b = (_a = element.querySelector('td:last-child')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim();
|
|
42
41
|
if (!element.querySelector(':first-child progress'))
|
|
43
|
-
(_c = element.querySelector(':first-child')) === null || _c === void 0 ? void 0 : _c.innerHTML += `<progress max="
|
|
42
|
+
(_c = element.querySelector(':first-child')) === null || _c === void 0 ? void 0 : _c.innerHTML += `<progress max="${max}" value="${value}"></progress>`;
|
|
44
43
|
});
|
|
45
44
|
trackComponent(this, 'iam-rank', ['select-card']);
|
|
46
45
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
|
-
*/const
|
|
4
|
+
*/const u=m=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:m})},b=(m,e,n)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:e}),n.forEach(i=>{m.addEventListener(i,function(t){const o={event:i,element:e,target:t.target};Object.keys(t.detail).forEach(r=>{const a=t.detail[r];o[r]=a}),window.dataLayer.push(o)})}),!0);u("iam-rankings");class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
6
6
|
@layer elements{mark{padding:.1875em;background-color:#ff0}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4){--line-height: 2rem;margin-top:0;margin-bottom:0;font-family:var(--font-heading);font-style:normal;font-weight:bold;line-height:var(--line-height);color:var(--colour-heading);clear:both;display:block;padding-bottom:2rem}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4) [class*=fa-]{margin-right:.5rem}:is(.h1,h1){--line-height: 3.5rem;font-size:3rem;padding-bottom:3rem;font-weight:900}@media screen and (min-width: 36em){:is(.h1,h1){font-size:4rem;--line-height: 4.5rem;padding-bottom:4rem}}:is(h2,.h2){font-size:2.25rem;--line-height: 2.75rem;padding-bottom:3rem;font-weight:900}@media screen and (min-width: 36em){:is(h2,.h2){font-size:3rem;--line-height: 3.5rem;padding-bottom:3rem}}:is(h3,.h3){font-size:1.75rem;--line-height: 2.25rem;padding-bottom:2.5rem;max-width:var(--content-max-width);font-weight:900}@media screen and (min-width: 36em){:is(h3,.h3){font-size:2rem;--line-height: 2.5rem;padding-bottom:2.5rem}}:is(.h4,h4,.h5,h5,.h6,h6){font-size:1.5rem;--line-height: 2rem;padding-bottom:2rem;max-width:var(--content-max-width)}p{margin-top:0;font-size:1rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);margin-bottom:0}p:has(+p){padding-bottom:1.5rem}:is(.lead,.strapline){font-size:1.125rem;line-height:1.75rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:700}small,.small{font-size:0.875rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);font-family:arial,sans-serif;font-weight:normal}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}strong{font-weight:bolder;font-family:var(--font-heading);color:var(--colour-heading)}address{margin-bottom:1rem;font-style:normal;line-height:inherit}blockquote{margin:0;quotes:"\u201C" "\u201D" "\u2018" "\u2019";padding-bottom:3rem;overflow:hidden}blockquote p{font-size:1.5rem;line-height:2rem;padding-bottom:0}blockquote p:first-child:before{content:open-quote}blockquote p:last-of-type:after{content:close-quote}blockquote cite{font-size:1.125rem;line-height:2rem;padding-bottom:0;font-weight:bold;font-style:normal}.stat{font-size:4rem;line-height:4.5rem;font-weight:bold;color:var(--colour-heading);display:block;text-decoration:underline;text-underline-offset:.75rem;text-decoration-color:var(--colour-secondary);text-decoration-thickness:0.25rem;margin-bottom:4rem}}:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid):not(iam-table):not(.table__wrapper){padding-inline:var(--mh-padding-inline, 0);margin-inline:calc(var(--mh-padding-inline, 0)*-1)}:is(.mh-sm,.mh-md,.mh-lg,.mh-sm-sm,.mh-sm-md,.mh-sm-lg,.mh-md-sm,.mh-md-md,.mh-md-lg,.mh-fluid)::before{top:calc(100% - 1.5rem);bottom:0;left:0;right:0;height:1.5rem;position:sticky;display:block;background:linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2;margin-bottom:-1.5rem}:is(.mh-sm,.mh-md,.mh-lg,.mh-fluid){overflow:auto;overscroll-behavior:contain}:is(.mh-sm,.mh-md,.mh-lg,.mh-fluid)::before{content:""}.mh-sm{max-height:calc(12.5rem - var(--mh-modifier, 0rem))}.mh-md{max-height:calc(25rem - var(--mh-modifier, 0rem))}.mh-lg{max-height:calc(37.5rem - var(--mh-modifier, 0rem))}.mh-fluid{max-height:100%}@media screen and (min-width: 36em){:is(.mh-sm-sm,.mh-sm-md,.mh-sm-lg){overflow:auto;overscroll-behavior:contain}:is(.mh-sm-sm,.mh-sm-md,.mh-sm-lg)::before{content:""}.mh-sm-sm{max-height:calc(12.5rem - var(--mh-modifier, 0rem))}.mh-sm-md{max-height:calc(25rem - var(--mh-modifier, 0rem))}.mh-sm-lg{max-height:calc(37.5rem - var(--mh-modifier, 0rem))}}@media screen and (min-width: 62em){:is(.mh-md-sm,.mh-md-md,.mh-md-lg){overflow:auto;overscroll-behavior:contain}:is(.mh-md-sm,.mh-md-md,.mh-md-lg)::before{content:""}.mh-md-sm{max-height:calc(12.5rem - var(--mh-modifier, 0rem))}.mh-md-md{max-height:calc(25rem - var(--mh-modifier, 0rem))}.mh-md-lg{max-height:calc(37.5rem - var(--mh-modifier, 0rem))}}*,*::before,*::after{box-sizing:border-box}.podium{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;max-width:30rem;margin:auto}.podium>div{flex-basis:33.33%;flex-grow:0;flex-shrink:0;order:1}.podium>div iam-rank{margin:0;width:100%}.podium>div>span{display:block;font-size:0.875rem;line-height:1;font-weight:700;margin:0;padding-block:.5rem;text-align:center;max-width:100%;overflow:hidden}.podium>div:nth-child(1){order:2;padding:0}.podium>div:nth-child(2){padding:1rem 1rem 0 0}.podium>div:nth-child(3){order:3;padding:1rem 0 0 1rem}/*# sourceMappingURL=assets/css/components/rankings.component.css.map */
|
|
7
7
|
|
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
<div><iam-rank>3rd</iam-rank><span class="third-position"></span></div>
|
|
13
13
|
</div>
|
|
14
14
|
<div class="mh-md" part="leaderboard"><slot></slot></div>
|
|
15
|
-
`,this.shadowRoot.appendChild(
|
|
16
|
-
</style>`)}connectedCallback(){var
|
|
15
|
+
`,this.shadowRoot.appendChild(e.content.cloneNode(!0)),document.getElementById("rankingsGlobal")||document.head.insertAdjacentHTML("beforeend",`<style id="rankingsGlobal">@layer elements{mark{padding:.1875em;background-color:#ff0}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4){--line-height: 2rem;margin-top:0;margin-bottom:0;font-family:var(--font-heading);font-style:normal;font-weight:bold;line-height:var(--line-height);color:var(--colour-heading);clear:both;display:block;padding-bottom:2rem}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4) [class*=fa-]{margin-right:.5rem}:is(.h1,h1){--line-height: 3.5rem;font-size:3rem;padding-bottom:3rem;font-weight:900}@media screen and (min-width: 36em){:is(.h1,h1){font-size:4rem;--line-height: 4.5rem;padding-bottom:4rem}}:is(h2,.h2){font-size:2.25rem;--line-height: 2.75rem;padding-bottom:3rem;font-weight:900}@media screen and (min-width: 36em){:is(h2,.h2){font-size:3rem;--line-height: 3.5rem;padding-bottom:3rem}}:is(h3,.h3){font-size:1.75rem;--line-height: 2.25rem;padding-bottom:2.5rem;max-width:var(--content-max-width);font-weight:900}@media screen and (min-width: 36em){:is(h3,.h3){font-size:2rem;--line-height: 2.5rem;padding-bottom:2.5rem}}:is(.h4,h4,.h5,h5,.h6,h6){font-size:1.5rem;--line-height: 2rem;padding-bottom:2rem;max-width:var(--content-max-width)}p{margin-top:0;font-size:1rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);margin-bottom:0}p:has(+p){padding-bottom:1.5rem}:is(.lead,.strapline){font-size:1.125rem;line-height:1.75rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:700}small,.small{font-size:0.875rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);font-family:arial,sans-serif;font-weight:normal}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}strong{font-weight:bolder;font-family:var(--font-heading);color:var(--colour-heading)}address{margin-bottom:1rem;font-style:normal;line-height:inherit}blockquote{margin:0;quotes:"\u201C" "\u201D" "\u2018" "\u2019";padding-bottom:3rem;overflow:hidden}blockquote p{font-size:1.5rem;line-height:2rem;padding-bottom:0}blockquote p:first-child:before{content:open-quote}blockquote p:last-of-type:after{content:close-quote}blockquote cite{font-size:1.125rem;line-height:2rem;padding-bottom:0;font-weight:bold;font-style:normal}.stat{font-size:4rem;line-height:4.5rem;font-weight:bold;color:var(--colour-heading);display:block;text-decoration:underline;text-underline-offset:.75rem;text-decoration-color:var(--colour-secondary);text-decoration-thickness:0.25rem;margin-bottom:4rem}}*,*::before,*::after{box-sizing:border-box}iam-rankings table{display:block;width:100%;font-weight:normal;counter-reset:countItem}iam-rankings thead{display:none}iam-rankings tbody{display:contents}iam-rankings :is(td,th){font-weight:normal}iam-rankings tr.current{background-color:var(--colour-light)}iam-rankings tr.current :is(td,th){font-weight:bolder}iam-rankings tr{display:flex;width:100%;position:relative}iam-rankings tr:before{counter-increment:countItem;content:counter(countItem) ".";font-size:2rem;line-height:2.5rem;font-weight:bolder;color:var(--colour-primary);width:3rem;text-align:center;margin-top:.5rem}iam-rankings tr>*:first-child{width:100%;margin-right:0;padding-right:0}iam-rankings tr>*:last-child{position:absolute;top:0;right:0}iam-rankings tr progress{width:100%;height:1rem}iam-rankings tr:nth-child(1) progress{--colour: var(--chart-colour-1, #BEE8F8)}iam-rankings tr:nth-child(2) progress{--colour: var(--chart-colour-2, #A6DCC7)}iam-rankings tr:nth-child(3) progress{--colour: var(--chart-colour-3, #FAD0DA)}iam-rankings tr:nth-child(4) progress{--colour: var(--chart-colour-4, #AFCCF2)}iam-rankings tr:nth-child(5) progress{--colour: var(--chart-colour-5, #FFD2B4)}iam-rankings tr:nth-child(6) progress{--colour: var(--chart-colour-6, #CDF0F2)}iam-rankings tr:nth-child(7) progress{--colour: var(--chart-colour-7, #FFABC2)}iam-rankings tr:nth-child(8) progress{--colour: var(--chart-colour-8, #DCEAF2)}iam-rankings tr:nth-child(9) progress{--colour: var(--chart-colour-9, #EEBCB3)}iam-rankings tr:nth-child(10) progress{--colour: var(--chart-colour-10, #F0BDFF)}/*# sourceMappingURL=assets/css/components/rankings.global.css.map */
|
|
16
|
+
</style>`)}connectedCallback(){var e,n,i,t,o,r;const a=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector(".first-position"),h=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelector(".second-position"),d=(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector(".third-position"),p=this.hasAttribute("data-max")?this.getAttribute("data-max"):100;a==null||(a.innerHTML=(t=this.querySelector("tbody tr:nth-child(1) :is(td,th):nth-child(1)"))===null||t===void 0?void 0:t.textContent),h==null||(h.innerHTML=(o=this.querySelector("tbody tr:nth-child(2) :is(td,th):nth-child(1)"))===null||o===void 0?void 0:o.textContent),d==null||(d.innerHTML=(r=this.querySelector("tbody tr:nth-child(3) :is(td,th):nth-child(1)"))===null||r===void 0?void 0:r.textContent),this.querySelectorAll("tbody tr").forEach(s=>{var l,c,g;const f=(c=(l=s.querySelector("td:last-child"))===null||l===void 0?void 0:l.textContent)===null||c===void 0?void 0:c.trim();s.querySelector(":first-child progress")||(g=s.querySelector(":first-child"))===null||g===void 0||(g.innerHTML+=`<progress max="${p}" value="${f}"></progress>`)}),b(this,"iam-rank",["select-card"])}}export{v as default};
|
|
17
17
|
//# sourceMappingURL=rankings.component.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rankings.component.min.js","sources":["../_global.js","rankings.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponent, trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-rankings');\nclass iamRankings extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/rankings.component.css\";`;\n const loadExtraCSS = `@import \"${assetLocation}/css/components/rankings.global.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <div class=\"podium\">\n <div><iam-rank>1st</iam-rank><span class=\"first-position\"></span></div>\n <div><iam-rank>2nd</iam-rank><span class=\"second-position\"></span></div>\n <div><iam-rank>3rd</iam-rank><span class=\"third-position\"></span></div>\n </div>\n <div class=\"mh-md\" part=\"leaderboard\"><slot></slot></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n // insert extra CSS\n if (!document.getElementById('rankingsGlobal'))\n document.head.insertAdjacentHTML('beforeend', `<style id=\"rankingsGlobal\">${loadExtraCSS}</style>`);\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f
|
|
1
|
+
{"version":3,"file":"rankings.component.min.js","sources":["../_global.js","rankings.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import { trackComponent, trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-rankings');\nclass iamRankings extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/rankings.component.css\";`;\n const loadExtraCSS = `@import \"${assetLocation}/css/components/rankings.global.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <div class=\"podium\">\n <div><iam-rank>1st</iam-rank><span class=\"first-position\"></span></div>\n <div><iam-rank>2nd</iam-rank><span class=\"second-position\"></span></div>\n <div><iam-rank>3rd</iam-rank><span class=\"third-position\"></span></div>\n </div>\n <div class=\"mh-md\" part=\"leaderboard\"><slot></slot></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n // insert extra CSS\n if (!document.getElementById('rankingsGlobal'))\n document.head.insertAdjacentHTML('beforeend', `<style id=\"rankingsGlobal\">${loadExtraCSS}</style>`);\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e, _f;\n const firstText = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.first-position');\n const secondText = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.second-position');\n const thirdText = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.third-position');\n const max = this.hasAttribute('data-max') ? this.getAttribute('data-max') : 100;\n firstText === null || firstText === void 0 ? void 0 : firstText.innerHTML = (_d = this.querySelector('tbody tr:nth-child(1) :is(td,th):nth-child(1)')) === null || _d === void 0 ? void 0 : _d.textContent;\n secondText === null || secondText === void 0 ? void 0 : secondText.innerHTML = (_e = this.querySelector('tbody tr:nth-child(2) :is(td,th):nth-child(1)')) === null || _e === void 0 ? void 0 : _e.textContent;\n thirdText === null || thirdText === void 0 ? void 0 : thirdText.innerHTML = (_f = this.querySelector('tbody tr:nth-child(3) :is(td,th):nth-child(1)')) === null || _f === void 0 ? void 0 : _f.textContent;\n this.querySelectorAll('tbody tr').forEach((element) => {\n var _a, _b, _c;\n const value = (_b = (_a = element.querySelector('td:last-child')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim();\n if (!element.querySelector(':first-child progress'))\n (_c = element.querySelector(':first-child')) === null || _c === void 0 ? void 0 : _c.innerHTML += `<progress max=\"${max}\" value=\"${value}\"></progress>`;\n });\n trackComponent(this, 'iam-rank', ['select-card']);\n }\n}\nexport default iamRankings;\n"],"names":["trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamRankings","template","_a","_b","_c","_d","_e","_f","firstText","secondText","thirdText","max","element","value"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAE,EACzC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,EACaC,EAAiB,CAACC,EAAWF,EAAeG,KAErD,OAAO,UAAY,OAAO,WAAa,CAAE,EACzC,OAAO,UAAU,KAAK,CAClB,MAAO,qBACP,QAASH,CACjB,CAAK,EACDG,EAAY,QAASC,GAAc,CAC/BF,EAAU,iBAAiBE,EAAW,SAAUC,EAAO,CACnD,MAAMC,EAAe,CACjB,MAAOF,EACP,QAASJ,EACT,OAAQK,EAAM,MACjB,EACD,OAAO,KAAKA,EAAM,MAAM,EAAE,QAASE,GAAa,CAC5C,MAAMC,EAAcH,EAAM,OAAOE,CAAQ,EACzCD,EAAaC,CAAQ,EAAIC,CACzC,CAAa,EACD,OAAO,UAAU,KAAKF,CAAY,CAC9C,CAAS,CACT,CAAK,EACM,IC5BXP,EAAyB,cAAc,EACvC,MAAMU,UAAoB,WAAY,CAClC,aAAc,CACV,MAAO,EACP,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EACZ,SAAS,KAAK,aAAa,sBAAsB,GACjE,SAAS,KAAK,aAAa,sBAAsB,EAIvD,MAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAWrB,KAAK,WAAW,YAAYA,EAAS,QAAQ,UAAU,EAAI,CAAC,EAEvD,SAAS,eAAe,gBAAgB,GACzC,SAAS,KAAK,mBAAmB,YAAa;AAAA,SAAoD,CAC9G,CACI,mBAAoB,CAChB,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACxB,MAAMC,GAAaN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,iBAAiB,EAC1GO,GAAcN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,kBAAkB,EAC5GO,GAAaN,EAAK,KAAK,cAAgB,MAAQA,IAAO,OAAS,OAASA,EAAG,cAAc,iBAAiB,EAC1GO,EAAM,KAAK,aAAa,UAAU,EAAI,KAAK,aAAa,UAAU,EAAI,IAC5EH,GAAc,OAAwCA,EAAU,WAAaH,EAAK,KAAK,cAAc,+CAA+C,KAAO,MAAQA,IAAO,OAAS,OAASA,EAAG,aAC/LI,GAAe,OAAyCA,EAAW,WAAaH,EAAK,KAAK,cAAc,+CAA+C,KAAO,MAAQA,IAAO,OAAS,OAASA,EAAG,aAClMI,GAAc,OAAwCA,EAAU,WAAaH,EAAK,KAAK,cAAc,+CAA+C,KAAO,MAAQA,IAAO,OAAS,OAASA,EAAG,aAC/L,KAAK,iBAAiB,UAAU,EAAE,QAASK,GAAY,CACnD,IAAIV,EAAIC,EAAIC,EACZ,MAAMS,GAASV,GAAMD,EAAKU,EAAQ,cAAc,eAAe,KAAO,MAAQV,IAAO,OAAS,OAASA,EAAG,eAAiB,MAAQC,IAAO,OAAS,OAASA,EAAG,KAAM,EAChKS,EAAQ,cAAc,uBAAuB,IAC7CR,EAAKQ,EAAQ,cAAc,cAAc,KAAO,MAAQR,IAAO,SAAkBA,EAAG,WAAa,kBAAkBO,CAAG,YAAYE,CAAK,gBACxJ,CAAS,EACDrB,EAAe,KAAM,WAAY,CAAC,aAAa,CAAC,CACxD,CACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const h=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},p=(t,a,o)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:a}),o.forEach(r=>{t.addEventListener(r,function(e){const d={event:r,element:a,target:e.target};Object.keys(e.detail).forEach(i=>{const c=e.detail[i];d[i]=c}),window.dataLayer.push(d)})}),!0),g=`<div class="card__head" part="head">
|
|
5
5
|
<slot name="head"></slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/import $ from"js-cookie";const k=e=>e.replace(/ /g,"_"),j=function(e){return e=e.toLowerCase(),e=k(e),e=e.replace(/\W/g,""),e},b=(e,i,a)=>i.split(/[\.\[\]\'\"]/).filter(o=>o).reduce((o,d)=>o?o[d]:a,e),S=e=>Array.isArray(e)||e!==null&&["function","object"].includes(typeof e);var L=function(e,i,a,o){function d(r){return r instanceof a?r:new a(function(n){n(r)})}return new(a||(a=Promise))(function(r,n){function y(s){try{t(o.next(s))}catch(p){n(p)}}function l(s){try{t(o.throw(s))}catch(p){n(p)}}function t(s){s.done?r(s.value):d(s.value).then(y,l)}t((o=o.apply(e,i||[])).next())})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Search"});class q extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",a=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",d=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const U=function(a){return typeof a!="string"?!1:!isNaN(a)&&!isNaN(parseFloat(a))},Q=(a,e)=>String(a).padStart(e,"0"),Y=a=>a.charAt(0).toUpperCase()+a.slice(1),L=(a,e,t)=>e.split(/[\.\[\]\'\"]/).filter(i=>i).reduce((i,o)=>i?i[o]:t,a),J=(a=1)=>Math.floor(Math.random()*Date.now()*(a+1));var X=function(a,e,t,i){function o(l){return l instanceof t?l:new t(function(r){r(l)})}return new(t||(t=Promise))(function(l,r){function b(n){try{s(i.next(n))}catch(m){r(m)}}function d(n){try{s(i.throw(n))}catch(m){r(m)}}function s(n){n.done?l(n.value):o(n.value).then(b,d)}s((i=i.apply(a,e||[])).next())})};const H=(a,e)=>{switch(a){case"datetime":return new Date(e).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(e).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(e).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return e=Y(e)}},z=function(a){const e=new Object;return Array.from(a.querySelectorAll("[data-filter]")).forEach(i=>{if(!(i.type=="radio"&&!i.checked)&&!(i.type=="checkbox"&&!i.checked)&&i&&i.value){const o=i.getAttribute("data-filter");let l=i.value;i.hasAttribute("data-date-from")&&(l+="-date-from"),i.hasAttribute("data-date-to")&&(l+="-date-to"),e[o]||(e[o]=[]),e[o].push(l)}}),e},G=a=>{let e=document.createElement("form");const t=a.querySelector("table");a.hasAttribute("data-filterby")?e=document.querySelector(`#${a.getAttribute("data-filterby")}`):a.closest("form")?e=a.closest("form"):t.parentNode.insertBefore(e,t.nextSibling),e.hasAttribute("data-ajax")&&a.setAttribute("data-ajax",e.getAttribute("data-ajax")),e.hasAttribute("data-schema")&&a.setAttribute("data-schema",e.getAttribute("data-schema"))},q=(a,e,t,i,o)=>{t.querySelector("[name=show]")||t.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${a.getAttribute("data-show")}" />`),t.querySelector("[name=page]")||t.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${a.getAttribute("data-page")}" />`),i.addEventListener("update-show",l=>{if(t.querySelector("[name=show]").value!=l.detail.show){t.querySelector("[name=show]").value=l.detail.show;const r=new CustomEvent("update-show",{detail:{show:l.detail.show}});a.dispatchEvent(r),N(a,i),o()}}),i.addEventListener("update-page",l=>{if(t.querySelector("[name=page]").value!=l.detail.page){t.querySelector("[name=page]").value=l.detail.page;const r=new CustomEvent("update-page",{detail:{page:l.detail.page}});if(a.dispatchEvent(r),N(a,i),o(),!a.hasAttribute("data-no-scroll")){const d=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:d,behavior:"smooth"})}}})},K=(a,e)=>{let t=document.createElement("form");return a.hasAttribute("data-filterby")?t=document.querySelector(`#${a.getAttribute("data-filterby")}`):a.closest("form")?t=a.closest("form"):e.parentNode.insertBefore(t,e.nextSibling),t},F=(a,e,t,i)=>{const o=a.shadowRoot.querySelector(".table__wrapper");a.hasAttribute("data-total")||a.setAttribute("data-total",a.querySelectorAll("tbody tr").length),a.hasAttribute("data-page")||a.setAttribute("data-page",1),a.hasAttribute("data-show")||a.setAttribute("data-show",5),a.hasAttribute("data-increment")||a.setAttribute("data-increment",a.getAttribute("data-show")),Z(a,i),I(e),tt(a,e),a.classList.contains("mh-sm")&&o.classList.add("mh-sm"),a.classList.contains("mh-md")&&o.classList.add("mh-md"),a.classList.contains("mh-lg")&&o.classList.add("mh-lg"),a.classList.contains("table--cta")&&(at(a,e),et(a,e))},Z=(a,e)=>{a.hasAttribute("data-total")&&e.setAttribute("data-total",a.getAttribute("data-total")),a.hasAttribute("data-page")&&e.setAttribute("data-page",a.getAttribute("data-page")),a.hasAttribute("data-show")&&e.setAttribute("data-show",a.getAttribute("data-show")),a.hasAttribute("data-increment")&&e.setAttribute("data-increment",a.getAttribute("data-show")),a.hasAttribute("data-page-jump")&&e.setAttribute("data-page-jump","true"),a.hasAttribute("data-per-page")&&e.setAttribute("data-per-page","true"),a.hasAttribute("data-item-count")&&e.setAttribute("data-item-count","true"),a.hasAttribute("data-loading")&&e.setAttribute("data-loading","true"),a.classList.contains("table--fullwidth")&&e.setAttribute("data-minimal","true")},N=(a,e)=>{a.setAttribute("data-total",e.getAttribute("data-total")),a.setAttribute("data-page",e.getAttribute("data-page")),a.setAttribute("data-show",e.getAttribute("data-show")),a.setAttribute("data-increment",e.getAttribute("data-show"))},$=a=>{a.getAttribute("data-total");const e=a.getAttribute("data-page"),t=a.getAttribute("data-show");a.getAttribute("data-increment");const i=a.querySelector("table"),o=e*t,l=o-t;Array.from(i.querySelectorAll("tbody tr")).forEach((r,b)=>{b>=l&&b<o?r.classList.add("show"):r.classList.remove("show")})},I=a=>{const e=Array.from(a.querySelectorAll("thead th"));Array.from(a.querySelectorAll("tbody tr")).forEach(i=>{const o=Array.from(i.querySelectorAll("th, td")),l=["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","successful","failed"];o.forEach((r,b)=>{const d=e[b];if(typeof d<"u"){const s=document.createElement("div");s.innerHTML=d.innerHTML;const n=s.textContent||s.innerText||"";r.setAttribute("data-label",n),d.hasAttribute("data-td-class")&&r.setAttribute("class",d.getAttribute("data-td-class")),d.hasAttribute("data-format")&&(r.setAttribute("data-format",d.getAttribute("data-format")),r.innerHTML=H(d.getAttribute("data-format"),r.textContent.trim())),l.includes(r.textContent.trim().toLowerCase())&&r.setAttribute("data-content",r.textContent.trim().toLowerCase())}})})},tt=(a,e)=>{if(a.classList.contains("table--fullwidth")&&!a.hasAttribute("data-expandable")||e.querySelectorAll("thead tr th").length<4&&!a.hasAttribute("data-expandable"))return!1;Array.from(e.querySelectorAll("thead tr")).forEach(t=>{e.querySelectorAll("thead tr th.expand-button-heading").length||t.insertAdjacentHTML("afterbegin",`<th class="${a.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(e.querySelectorAll("tbody tr")).forEach((t,i)=>{const o=t.getAttribute("data-view")==="full"?"aria-expanded":"";t.insertAdjacentHTML("afterbegin",`<td class="${a.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${o} data-index="${i}">Expand</button></td>`)}),e.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-expand-button]")){const i=t.target.closest("[data-expand-button]"),o=i.closest("tr");i.toggleAttribute("aria-expanded"),o.getAttribute("data-view")=="full"?o.setAttribute("data-view","default"):o.setAttribute("data-view","full"),i.blur(),a.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},at=(a,e)=>{let t=0;Array.from(e.querySelectorAll("tbody tr")).forEach(i=>{const o=window.getComputedStyle(document.querySelector("html")),l=i.querySelector(":scope > *:last-child > *:first-child");if(l){l.classList.add("text-nowrap");let r=l.offsetWidth/parseFloat(o.fontSize);r+=1.8,t=t>r?t:r}}),a.style.setProperty("--cta-width",`${t}rem`)},et=(a,e)=>{function t(){Array.from(e.querySelectorAll("tr")).forEach(i=>{const o=i.offsetHeight;i.style.setProperty("--row-height",`${o}px`)})}new ResizeObserver(t).observe(e)},R=(a,e)=>{if(a.querySelector("iam-actionbar[data-selectall]")||document.querySelector(`iam-actionbar[data-for='${a.getAttribute("id")}']`)){const t=a.querySelector("iam-actionbar[data-selectall]")?a.querySelector("iam-actionbar[data-selectall]"):document.querySelector(`iam-actionbar[data-for='${a.getAttribute("id")}']`);it(a,e,t)}a.querySelectorAll(".dialog__wrapper .btn-compact").forEach(t=>{t.classList.add("btn-sm"),t.classList.add("m-0");const i=t.closest("tr"),o=t.closest("td"),r=Array.prototype.slice.call(i.children).indexOf(o);o.classList.add("td--fixed"),e.querySelector(`thead tr th:nth-child(${r+1})`).classList.add("th--fixed")})},it=(a,e,t)=>{Array.from(e.querySelectorAll("thead tr")).forEach(i=>{i.querySelector(".expand-button-heading")?i.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):i.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(e.querySelectorAll("tbody tr")).forEach((i,o)=>{if(i.setAttribute("data-index",o+1),!i.querySelector(".selectrow")){const l=`row${J(o)}`;i.querySelector(".td--expand")?i.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${l}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${l}"><span class="visually-hidden">Select row</span></label></td>`):i.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${l}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${l}"><span class="visually-hidden">Select row</span></label></td>`)}}),e.addEventListener("change",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest(".selectrow input")){const o=i.target.closest(".selectrow input"),l=i.target.closest("tr"),r=e.querySelectorAll('.selectrow input[type="checkbox"]').length,b=e.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;t.setAttribute("data-selected",r==b?"all":b);const d=new CustomEvent("row-selected",{detail:{rowIndex:l.getAttribute("data-index"),checked:!!o.checked}});a.dispatchEvent(d)}}),t.addEventListener("selected",i=>{if(i.detail.selected=="0"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(l=>{l.checked=!1});const o=new CustomEvent("all-rows-unselected");a.dispatchEvent(o)}else if(i.detail.selected=="all"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(l=>{l.checked=!0});const o=new CustomEvent("all-rows-selected");a.dispatchEvent(o)}})},st=(a,e,t,i,o)=>{lt(a,e),ot(a,e),t.addEventListener("change",l=>{l&&l.target instanceof HTMLElement&&l.target.closest("[data-sort]")&&O(e,t,o)}),rt(a,e,t,i,o)},lt=(a,e)=>{e.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-sort]")){const i=t.target.closest("[data-sort]");i.setAttribute("data-sort","true"),Array.from(e.querySelectorAll("th[data-sort]")).forEach(b=>{b!=i&&(b.setAttribute("data-sort",""),b.removeAttribute("data-order-by"),i.setAttribute("title","Click to sort ascending"))}),i.hasAttribute("data-order-by")&&i.getAttribute("data-order-by")=="asc"?(i.setAttribute("data-order-by","desc"),i.setAttribute("title","Click to sort ascending")):(i.setAttribute("data-order-by","asc"),i.setAttribute("title","Click to sort descending"));const o=new CustomEvent("sort-by-heading",{detail:{heading:i.textContent,sortBy:i.getAttribute("data-order-by"),ref:i.getAttribute("data-ref")}});a.dispatchEvent(o);const l=i.textContent.trim(),r=i.getAttribute("data-order-by");a.hasAttribute("data-submit")||P(e,l,r)}})},ot=(a,e)=>{var t;const i=a.querySelector("iam-actionbar");if(!i)return!1;const o=(t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector("input#search");if(!o)return!1;const l=o.getAttribute("id"),r=o.parentNode,b={};e.querySelectorAll("tbody td:not(.td--fixed)").forEach(d=>{d.querySelector(".td__content")?b[d.querySelector(".td__content").textContent]=d.querySelector(".td__content").textContent:b[d.textContent]=d.textContent}),o.setAttribute("list",`${l}_list`),o.setAttribute("autocomplete","off"),r.querySelector("datalist")||(r.innerHTML+=`<datalist id="${l}_list"></datalist>`),r.querySelector("datalist").innerHTML=`${Object.keys(b).map(d=>`<option value="${d}"></option>`).join("")}`},O=(a,e,t)=>{if(e.getAttribute("data-ajax"))return!1;const i=a.querySelector("tbody");let o=e.querySelector('input[type="radio"][data-sort]:checked');if(e.querySelector("select[data-sort]")){const d=e.querySelector("select[data-sort]");o=e.querySelector(`select[data-sort] option:nth-child(${d.selectedIndex+1})`)}const l=o.getAttribute("data-sort"),r=o.getAttribute("data-order"),b=o.getAttribute("data-format");if(!l)return i.innerHTML=t.innerHTML,I(a),!1;P(a,l,r,b)},P=(a,e,t,i="")=>{const o=a.querySelector("tbody");let l=[];["asc","desc","descending"].includes(t)||(l=t.split(","));let r=[];Array.from(o.querySelectorAll("tr")).forEach(d=>{let s=d.querySelector('td[data-label="'+e+'"], th[data-label="'+e+'"]').textContent.trim();d.querySelector('[data-label="'+e+'"] .td__content')&&(s=d.querySelector('[data-label="'+e+'"] .td__content').textContent.trim()),l.length&&l.includes(s)&&(s=l.indexOf(s)),U(s)&&(s=Q(s,10)),i&&i=="date"&&(s=new Date(s));const n={index:s,row:d};r.push(n)}),r.sort((d,s)=>d.index>s.index?1:-1),(t=="descending"||t=="desc")&&(r=r.reverse());let b="";r.forEach(d=>{b+=d.row.outerHTML}),o.innerHTML=b},rt=(a,e,t,i,o)=>{let l;const r=function(s,n=!1){if(t.classList.contains("processing"))return!1;Array.from(t.querySelectorAll("iam-applied-filters")).forEach(m=>{const c=new Event("tags-set");m.dispatchEvent(c)}),s.type=="submit"&&(t.classList.add("processing"),Array.from(t.querySelectorAll("[data-duplicate]")).forEach(m=>{const c=m.getAttribute("data-duplicate"),u=document.getElementById(c),h=document.querySelector(`[for="${c}"] iam-card`);if(u.checked!=m.checked)if(h){const A=new Event("click");h.dispatchEvent(A)}else u.checked=m.checked}),t.classList.remove("processing")),D(a,e,t,i),B(a,e,t)};a.querySelector("iam-actionbar[data-search]")&&a.querySelector("iam-actionbar[data-search]").addEventListener("search-submit",s=>{t.querySelector("input[data-search]")?t.querySelector("input[data-search]").value=s.detail.search:t.insertAdjacentHTML("beforeend",`<input type="hidden" name="search" data-search="${a.querySelector("iam-actionbar[data-search]").getAttribute("data-search")}" value="${s.detail.search}"/>`);const n=new CustomEvent("search-submit",{detail:s.details});a.dispatchEvent(n),clearTimeout(l),r(s)}),a.querySelector("iam-actionbar")&&!a.querySelector("iam-actionbar").closest("form")&&a.querySelector("iam-actionbar").addEventListener("change",s=>{t.querySelector(".duplicate-actionbar")||t.insertAdjacentHTML("beforeend",'<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>'),t.querySelector(".duplicate-actionbar").innerHTML=a.querySelector("iam-actionbar").innerHTML,D(a,e,t,i)}),t.addEventListener("keyup",s=>{clearTimeout(l),s&&s.target instanceof HTMLElement&&s.target.closest("input[data-search]")&&(l=setTimeout(function(){r(s)},500))}),t.addEventListener("change",s=>{if(clearTimeout(l),s&&s.target instanceof HTMLElement&&s.target.closest("input[data-search]")&&r(s),s&&s.target instanceof HTMLElement&&s.target.closest("[data-filter][data-no-ajax]")?(D(a,e,t,i),B(e,t)):(s&&s.target instanceof HTMLElement&&s.target.closest("[data-filter]")&&s.target.closest("form .dialog__wrapper > dialog")||s&&s.target instanceof HTMLElement&&s.target.closest("[data-filter]")&&!s.target.closest("form dialog"))&&r(s),s&&s.target instanceof HTMLElement&&s.target.closest("[data-show]")&&r(s),s&&s.target instanceof HTMLElement&&s.target.closest("[data-mimic]")&&r(s),s&&s.target instanceof HTMLElement&&s.target.hasAttribute("id")){const n=s.target.getAttribute("id");document.querySelector(`[data-duplicate="${n}"]`)&&(document.querySelector(`[data-duplicate="${n}"]`).checked=s.target.checked)}}),t.addEventListener("click",s=>{if(clearTimeout(l),s&&s.target instanceof HTMLElement&&s.target.closest('dialog button:not([type="button"])')&&s.target.closest('dialog button:not([type="button"])').closest("dialog").close(),s&&s.target instanceof HTMLElement&&s.target.closest(".dialog__close")&&(s.preventDefault(),s.stopPropagation()),s&&s.target instanceof HTMLElement&&s.target.closest("[data-clear]")){t.classList.add("processing"),Array.from(t.querySelectorAll(".applied-filters")).forEach(m=>{m.innerHTML=""});const n=t.elements;for(let m=0;m<n.length;m++)switch(n[m].type.toLowerCase()?n[m].type.toLowerCase():"text"){case"text":case"password":case"textarea":n[m].value="";break;case"radio":case"checkbox":if(n[m].checked){const u=n[m],h=u.getAttribute("id"),A=document.querySelector(`[for="${h}"`);if(A.querySelector("iam-card")){const p=A.querySelector("iam-card"),f=new Event("click");p.dispatchEvent(f)}u.checked=!1}break;case"select-one":case"select-multi":n[m].selectedIndex=-1;break}t.classList.remove("processing"),t.hasAttribute("data-submit")||O(e,t,o),r(s)}}),t.addEventListener("submit",s=>{clearTimeout(l),t.hasAttribute("data-submit")||s.preventDefault(),r(s)}),t.addEventListener("force",s=>{r(s)}),t.addEventListener("paginate",s=>{r(s,!0)});const b=[],d=[];Array.from(t.querySelectorAll("[data-mimic]")).forEach(s=>{const n=s.getAttribute("data-mimic");Array.from(document.querySelectorAll(`[name="${n}"]`)).forEach(m=>{const c=m.closest("form");b.includes(c)||b.push(c),d.includes(n)||d.push(n)})}),b.forEach(s=>{const n=function(){const m=[],c=new FormData(s);for(const[u,h]of c)document.querySelector(`[data-mimic="${u}"]`)&&!m.includes(u)?(m.push(u),document.querySelector(`[data-mimic="${u}"]`).value=h):document.querySelector(`[data-mimic="${u}"]`)&&(document.querySelector(`[data-mimic="${u}"]`).value+=","+h);for(const u of m){const h=new Event("force");t.dispatchEvent(h)}for(const u of d)if(!c.has(u)&&s.querySelector(`[name="${u}"]`)){document.querySelector(`[data-mimic="${u}"]`).value="";const h=new Event("force");t.dispatchEvent(h)}};s.addEventListener("force",()=>{n()}),s.addEventListener("change",()=>{n()})})},D=(a,e,t,i)=>{e.classList.remove("table--filtered");const o=z(t),l=[];let r=0;const b=t.querySelector("[data-pagination]")?parseInt(t.querySelector("[data-pagination]").value):1,d=t.querySelector("[data-show]")?parseInt(t.querySelector("[data-show]").value):15;if(Array.from(e.querySelectorAll("tbody tr")).forEach(n=>{n.classList.remove("filtered"),n.classList.remove("filtered--matched"),n.classList.remove("filtered--show"),n.removeAttribute("data-filtered-by")}),t.querySelector("input[data-search]")){const n=t.querySelector("input[data-search]");e.querySelectorAll("thead tr th").forEach(m=>{l.push({column:`${m.textContent.trim()}`,value:`${n.value}`})})}Array.from(t.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML="",n.parentNode.classList.remove("hover")});let s=0;Object.values(o).forEach(n=>{typeof n=="object"&&Object.values(n).length?s+=Object.values(n).length:s++}),s&&Array.from(t.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML+=`(${s})`,n.parentNode.classList.add("hover")}),e.classList.add("table--filtered");for(const[n,m]of Object.entries(o))Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(c=>{let u=!1;m.forEach(h=>{const A=c.querySelector(`[data-label="${n}"]`);if(h.includes("-date-from")){const p=new Date(h.replace("-date-from","")),f=new Date(A.textContent.toLowerCase());p.setHours(0,0,0,0),f.setHours(0,0,0,0),f<p?(c.classList.add("less-than-from-date"),u=!1):!c.classList.contains("less-than-from-date")&&!c.classList.contains("greater-than-to-date")&&(u=!0)}else if(h.includes("-date-to")){const p=new Date(h.replace("-date-to","")),f=new Date(A.textContent.toLowerCase());p.setHours(0,0,0,0),f.setHours(0,0,0,0),f>p?(c.classList.add("greater-than-to-date"),u=!1):!c.classList.contains("less-than-from-date")&&!c.classList.contains("greater-than-to-date")&&(u=!0)}if(h&&h=="$today")h=H("date",new Date);else if(h&&h=="$yesterday"){const p=new Date;p.setDate(p.getDate()-1),h=H("date",p)}else if(h&&(h=="$thisWeek"||h=="$lastWeek")){const p=new Date,f=new Date(p.setDate(p.getDate()-(p.getDay()-1))),v=new Date(p.setDate(p.getDate()-p.getDay()+7)),x=new Date(A.textContent.toLowerCase());if(p.setHours(0,0,0,0),f.setHours(0,0,0,0),v.setHours(0,0,0,0),x.setHours(0,0,0,0),h=="$thisWeek")u=x>=f&&x<=v;else{const g=new Date(f.setDate(f.getDate()-7)),y=new Date(v.setDate(v.getDate()-7));g.setHours(0,0,0,0),y.setHours(0,0,0,0),u=x>=g&&x<=y}}else if(h&&h=="$thisMonth"){const p=new Date,f=p.getFullYear(),v=p.getMonth(),x=new Date(f,v,1),g=new Date(f,v+1,0),y=new Date(A.textContent.toLowerCase());x.setHours(0,0,0,0),g.setHours(0,0,0,0),y.setHours(0,0,0,0),u=y>=x&&y<=g}else if(h&&h=="$lastMonth"){const p=new Date,f=p.getFullYear(),v=p.getMonth(),x=new Date(f,v-1,1),g=new Date(f,v,0),y=new Date(A.textContent.toLowerCase());x.setHours(0,0,0,0),g.setHours(0,0,0,0),y.setHours(0,0,0,0),u=y>=x&&y<=g}A&&A.textContent.toLowerCase().includes(h.replace("-"," ").toLowerCase())&&(u=!0)}),u||(c.classList.add("filtered"),c.setAttribute("data-filtered-by",n))});Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(n=>{let m=!(l.length>0&&l[0].value.length>=3);l.forEach(c=>{const u=n.querySelector(`[data-label="${c.column}"]`);u&&c.value.length>=3&&u.textContent.toLowerCase().includes(c.value.toLowerCase())&&(m=!0)}),m||n.classList.add("filtered")}),Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(n=>{r++,n.classList.add("filtered--matched"),Math.ceil(r/d)==parseInt(b)&&n.classList.add("filtered--show")}),i&&(i.setAttribute("data-total",r),i.setAttribute("data-show",d),i.setAttribute("data-page",b))},B=(a,e,t)=>{Array.from(t.querySelectorAll("[data-query]")).forEach(o=>{const l=o.getAttribute("data-query");let r=0;if(l=="total")a.hasAttribute("data-total")?r=a.getAttribute("data-total"):r=(e.classList.contains("table--filtered"),e.querySelectorAll("tbody tr").length);else if(!l.includes(" == ")&&l.includes(" & ")){const b=l.split(" & ");let d="";b.forEach(s=>{d+=`:not([data-filtered-by="${s}"])`}),r=Array.from(e.querySelectorAll(`tbody tr${d}`)).length}else if(!l.includes(" == "))r=Array.from(e.querySelectorAll(`tbody tr:not([data-filtered-by="${l}"])`)).length;else if(l.includes(" && ")){const b=l.split(" && ");r=Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).filter(function(d){let s=!0;for(const n of Object.entries(b)){const m=n.split(" == ");(!d.querySelector(`td[data-label="${m[0]}"]`)||d.querySelector(`td[data-label="${m[0]}"]`).textContent!=`${m[1]}`)&&(s=!1)}return s}).length}else{const b=l.split(" == ");r=Array.from(e.querySelectorAll(`tbody tr.filtered--matched td[data-label="${b[0]}"], tbody tr[data-filtered-by="${b[0]}"] td[data-label="${b[0]}"]`)).filter(function(d){return d.textContent===b[1]}).length}o.hasAttribute("data-total")?o.setAttribute("data-total",r):o.innerHTML=r})},nt=(a,e,t,i)=>{t.setAttribute("method","get");const o=a.querySelector("iam-actionbar");o&&o.addEventListener("change",l=>{t.submit()})},dt=(a,e,t,i)=>{E(a,e,t,i);const o=a.querySelector("iam-actionbar");t.addEventListener("submit",l=>{E(a,e,t,i),l.preventDefault()}),o&&o.addEventListener("change",l=>{E(a,e,t,i)})},E=function(a,e,t,i){return X(this,void 0,void 0,function*(){a.querySelector("iam-actionbar")&&!a.querySelector("iam-actionbar").closest("form")&&(t.querySelector(".duplicate-actionbar")||t.insertAdjacentHTML("beforeend",'<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>'),t.querySelector(".duplicate-actionbar").innerHTML=a.querySelector("iam-actionbar").innerHTML),t.querySelector("input[name=show]")||t.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${a.getAttribute("data-show")}" />`),t.querySelector("input[name=page]")||t.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${a.getAttribute("data-page")}" />`),t.querySelector("input[name=page]").value=a.getAttribute("data-page"),t.querySelector("input[name=show]").value=a.getAttribute("data-show");const o=new FormData(t),l=new URLSearchParams(o).toString(),r=e.querySelectorAll("thead tr th:not(.expand-button-heading)"),b=e.querySelector("tbody"),d=t.getAttribute("data-ajax");a.classList.add("table--loading");const s=z(t);Array.from(t.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML="",c.parentNode.classList.remove("hover")});let n=0;Object.values(s).forEach(c=>{typeof c=="object"&&Object.values(c).length?n+=Object.values(c).length:n++}),n&&Array.from(t.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML+=`(${n})`,c.parentNode.classList.add("hover")}),window.controller||(window.controller=[]),window.controller[d]&&window.controller[d].abort(),window.controller[d]=new AbortController;const{signal:m}=controller[d];i.setAttribute("data-loading","true"),t.classList.add("processing");try{yield fetch(d+"?"+l,{signal:m,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest"})}).then(c=>c.json()).then(c=>{const u=t.hasAttribute("data-schema")?t.getAttribute("data-schema"):"data",h=t.hasAttribute("data-schema-total")?t.getAttribute("data-schema-total"):"meta.total",A=t.hasAttribute("data-schema-page")?t.getAttribute("data-schema-page"):"meta.current_page",p=L(c,h,15),f=L(c,A,1),v=L(c,u),x=a.hasAttribute("data-empty-msg")?a.getAttribute("data-empty-msg"):"No results found";v?(b.innerHTML="",v.forEach(g=>{const y=document.createElement("tr");r.forEach(w=>{let k="";const _=document.createElement("td");if(_.setAttribute("data-label",w.innerText),w.getAttribute("data-output")&&(k=w.getAttribute("data-output").replace(new RegExp(/{(.*?)}/,"gm"),function(M){return L(g,M.replace("{","").replace("}",""))})),w.hasAttribute("data-output-array")){const T=w.getAttribute("data-output"),M=L(g,T.replace("{","").replace("}",""));k="",M.forEach(j=>{const W=w.getAttribute("data-output-array");let S="";if(w.hasAttribute("data-output-array-property")&&w.hasAttribute("data-output-array-transform")){const C=L(j,w.getAttribute("data-output-array-property")),V=JSON.parse(w.getAttribute("data-output-array-transform"))[C];S=W.replace(`{${w.getAttribute("data-output-array-property")}}`,V)}S=S.replace(new RegExp(/{(.*?)}/,"gm"),function(C){return L(j,C.replace("{","").replace("}",""))}),k+=S})}w.hasAttribute("data-transform")&&(k=JSON.parse(w.getAttribute("data-transform"))[k],!k&&w.hasAttribute("data-default")&&(k=w.getAttribute("data-default"))),_.innerHTML=k,y.appendChild(_)}),b.appendChild(y)}),a.setAttribute("data-total",parseInt(p)),a.setAttribute("data-page",parseInt(f)),i.setAttribute("data-total",p),i.setAttribute("data-page",f),Array.from(t.querySelectorAll("[data-ajax-query]")).forEach(g=>{const y=L(c,g.getAttribute("data-ajax-query"),"");g.hasAttribute("data-total")?g.setAttribute("data-total",y):g.innerHTML=y}),parseInt(p)==0&&(b.innerHTML=`<tr><td colspan="100%"><span>${x}</span></td></tr>`),a.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:d,formData:l}),F(a,e,t,i),R(a,e,t,i)):b.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',i.removeAttribute("data-loading"),t.classList.remove("processing")})}catch(c){console.log(c)}})};class bt extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const R=t=>t.charAt(0).toUpperCase()+t.slice(1),h=(t,e,a)=>e.split(/[\.\[\]\'\"]/).filter(i=>i).reduce((i,l)=>i?i[l]:a,t),D=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var B=function(t,e,a,i){function l(o){return o instanceof a?o:new a(function(s){s(o)})}return new(a||(a=Promise))(function(o,s){function m(d){try{c(i.next(d))}catch(g){s(g)}}function b(d){try{c(i.throw(d))}catch(g){s(g)}}function c(d){d.done?o(d.value):l(d.value).then(m,b)}c((i=i.apply(t,e||[])).next())})};const P=(t,e)=>{switch(t){case"datetime":return new Date(e).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(e).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(e).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return e=R(e)}},I=function(t){const e=new Object;return Array.from(t.querySelectorAll("[data-filter]")).forEach(i=>{if(!(i.type=="radio"&&!i.checked)&&!(i.type=="checkbox"&&!i.checked)&&i&&i.value){const l=i.getAttribute("data-filter");let o=i.value;i.hasAttribute("data-date-from")&&(o+="-date-from"),i.hasAttribute("data-date-to")&&(o+="-date-to"),e[l]||(e[l]=[]),e[l].push(o)}}),e},N=(t,e,a,i,l)=>{a.querySelector("[name=show]")||a.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),a.querySelector("[name=page]")||a.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",o=>{if(a.querySelector("[name=show]").value!=o.detail.show){a.querySelector("[name=show]").value=o.detail.show;const s=new CustomEvent("update-show",{detail:{show:o.detail.show}});t.dispatchEvent(s),T(t,i),l()}}),i.addEventListener("update-page",o=>{if(a.querySelector("[name=page]").value!=o.detail.page){a.querySelector("[name=page]").value=o.detail.page;const s=new CustomEvent("update-page",{detail:{page:o.detail.page}});if(t.dispatchEvent(s),T(t,i),l(),!t.hasAttribute("data-no-scroll")){const b=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:b,behavior:"smooth"})}}})},O=(t,e)=>{let a=document.createElement("form");return t.hasAttribute("data-filterby")?a=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?a=t.closest("form"):e.parentNode.insertBefore(a,e.nextSibling),a},E=(t,e,a,i)=>{const l=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",5),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),W(t,i),U(e),V(t,e),t.classList.contains("mh-sm")&&l.classList.add("mh-sm"),t.classList.contains("mh-md")&&l.classList.add("mh-md"),t.classList.contains("mh-lg")&&l.classList.add("mh-lg"),t.classList.contains("table--cta")&&(J(t,e),X(t,e))},W=(t,e)=>{t.hasAttribute("data-total")&&e.setAttribute("data-total",t.getAttribute("data-total")),t.hasAttribute("data-page")&&e.setAttribute("data-page",t.getAttribute("data-page")),t.hasAttribute("data-show")&&e.setAttribute("data-show",t.getAttribute("data-show")),t.hasAttribute("data-increment")&&e.setAttribute("data-increment",t.getAttribute("data-show")),t.hasAttribute("data-page-jump")&&e.setAttribute("data-page-jump","true"),t.hasAttribute("data-per-page")&&e.setAttribute("data-per-page","true"),t.hasAttribute("data-item-count")&&e.setAttribute("data-item-count","true"),t.hasAttribute("data-loading")&&e.setAttribute("data-loading","true"),t.classList.contains("table--fullwidth")&&e.setAttribute("data-minimal","true")},T=(t,e)=>{t.setAttribute("data-total",e.getAttribute("data-total")),t.setAttribute("data-page",e.getAttribute("data-page")),t.setAttribute("data-show",e.getAttribute("data-show")),t.setAttribute("data-increment",e.getAttribute("data-show"))},U=t=>{const e=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(i=>{const l=Array.from(i.querySelectorAll("th, td")),o=["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","successful","failed"];l.forEach((s,m)=>{const b=e[m];if(typeof b<"u"){const c=document.createElement("div");c.innerHTML=b.innerHTML;const d=c.textContent||c.innerText||"";s.setAttribute("data-label",d),b.hasAttribute("data-td-class")&&s.setAttribute("class",b.getAttribute("data-td-class")),b.hasAttribute("data-format")&&(s.setAttribute("data-format",b.getAttribute("data-format")),s.innerHTML=P(b.getAttribute("data-format"),s.textContent.trim())),o.includes(s.textContent.trim().toLowerCase())&&s.setAttribute("data-content",s.textContent.trim().toLowerCase())}})})},V=(t,e)=>{if(t.classList.contains("table--fullwidth")&&!t.hasAttribute("data-expandable")||e.querySelectorAll("thead tr th").length<4&&!t.hasAttribute("data-expandable"))return!1;Array.from(e.querySelectorAll("thead tr")).forEach(a=>{e.querySelectorAll("thead tr th.expand-button-heading").length||a.insertAdjacentHTML("afterbegin",`<th class="${t.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(e.querySelectorAll("tbody tr")).forEach((a,i)=>{const l=a.getAttribute("data-view")==="full"?"aria-expanded":"";a.insertAdjacentHTML("afterbegin",`<td class="${t.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${l} data-index="${i}">Expand</button></td>`)}),e.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-expand-button]")){const i=a.target.closest("[data-expand-button]"),l=i.closest("tr");i.toggleAttribute("aria-expanded"),l.getAttribute("data-view")=="full"?l.setAttribute("data-view","default"):l.setAttribute("data-view","full"),i.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},J=(t,e)=>{let a=0;Array.from(e.querySelectorAll("tbody tr")).forEach(i=>{const l=window.getComputedStyle(document.querySelector("html")),o=i.querySelector(":scope > *:last-child > *:first-child");if(o){o.classList.add("text-nowrap");let s=o.offsetWidth/parseFloat(l.fontSize);s+=1.8,a=a>s?a:s}}),t.style.setProperty("--cta-width",`${a}rem`)},X=(t,e)=>{function a(){Array.from(e.querySelectorAll("tr")).forEach(i=>{const l=i.offsetHeight;i.style.setProperty("--row-height",`${l}px`)})}new ResizeObserver(a).observe(e)},C=(t,e)=>{if(t.querySelector("iam-actionbar[data-selectall]")||document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`)){const a=t.querySelector("iam-actionbar[data-selectall]")?t.querySelector("iam-actionbar[data-selectall]"):document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`);Y(t,e,a)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach(a=>{a.classList.add("btn-sm"),a.classList.add("m-0");const i=a.closest("tr"),l=a.closest("td"),s=Array.prototype.slice.call(i.children).indexOf(l);l.classList.add("td--fixed"),e.querySelector(`thead tr th:nth-child(${s+1})`).classList.add("th--fixed")})},Y=(t,e,a)=>{Array.from(e.querySelectorAll("thead tr")).forEach(i=>{i.querySelector(".expand-button-heading")?i.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):i.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(e.querySelectorAll("tbody tr")).forEach((i,l)=>{if(i.setAttribute("data-index",l+1),!i.querySelector(".selectrow")){const o=`row${D(l)}`;i.querySelector(".td--expand")?i.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`):i.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`)}}),e.addEventListener("change",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest(".selectrow input")){const l=i.target.closest(".selectrow input"),o=i.target.closest("tr"),s=e.querySelectorAll('.selectrow input[type="checkbox"]').length,m=e.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;a.setAttribute("data-selected",s==m?"all":m);const b=new CustomEvent("row-selected",{detail:{rowIndex:o.getAttribute("data-index"),checked:!!l.checked}});t.dispatchEvent(b)}}),a.addEventListener("selected",i=>{if(i.detail.selected=="0"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!1});const l=new CustomEvent("all-rows-unselected");t.dispatchEvent(l)}else if(i.detail.selected=="all"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!0});const l=new CustomEvent("all-rows-selected");t.dispatchEvent(l)}})},G=(t,e,a,i)=>{y(t,e,a,i);const l=t.querySelector("iam-actionbar");a.addEventListener("submit",o=>{y(t,e,a,i),o.preventDefault()}),l&&l.addEventListener("change",o=>{y(t,e,a,i)})},y=function(t,e,a,i){return B(this,void 0,void 0,function*(){t.querySelector("iam-actionbar")&&!t.querySelector("iam-actionbar").closest("form")&&(a.querySelector(".duplicate-actionbar")||a.insertAdjacentHTML("beforeend",'<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>'),a.querySelector(".duplicate-actionbar").innerHTML=t.querySelector("iam-actionbar").innerHTML),a.querySelector("input[name=show]")||a.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),a.querySelector("input[name=page]")||a.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),a.querySelector("input[name=page]").value=t.getAttribute("data-page"),a.querySelector("input[name=show]").value=t.getAttribute("data-show");const l=new FormData(a),o=new URLSearchParams(l).toString(),s=e.querySelectorAll("thead tr th:not(.expand-button-heading)"),m=e.querySelector("tbody"),b=a.getAttribute("data-ajax");t.classList.add("table--loading");const c=I(a);Array.from(a.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML="",n.parentNode.classList.remove("hover")});let d=0;Object.values(c).forEach(n=>{typeof n=="object"&&Object.values(n).length?d+=Object.values(n).length:d++}),d&&Array.from(a.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML+=`(${d})`,n.parentNode.classList.add("hover")}),window.controller||(window.controller=[]),window.controller[b]&&window.controller[b].abort(),window.controller[b]=new AbortController;const{signal:g}=controller[b];i.setAttribute("data-loading","true"),a.classList.add("processing");try{yield fetch(b+"?"+o,{signal:g,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest"})}).then(n=>n.json()).then(n=>{const M=a.hasAttribute("data-schema")?a.getAttribute("data-schema"):"data",H=a.hasAttribute("data-schema-total")?a.getAttribute("data-schema-total"):"meta.total",j=a.hasAttribute("data-schema-page")?a.getAttribute("data-schema-page"):"meta.current_page",v=h(n,H,15),S=h(n,j,1),_=h(n,M),$=t.hasAttribute("data-empty-msg")?t.getAttribute("data-empty-msg"):"No results found";_?(m.innerHTML="",_.forEach(p=>{const f=document.createElement("tr");s.forEach(r=>{let u="";const x=document.createElement("td");if(x.setAttribute("data-label",r.innerText),r.getAttribute("data-output")&&(u=r.getAttribute("data-output").replace(new RegExp(/{(.*?)}/,"gm"),function(k){return h(p,k.replace("{","").replace("}",""))})),r.hasAttribute("data-output-array")){const A=r.getAttribute("data-output"),k=h(p,A.replace("{","").replace("}",""));u="",k.forEach(q=>{const z=r.getAttribute("data-output-array");let w="";if(r.hasAttribute("data-output-array-property")&&r.hasAttribute("data-output-array-transform")){const L=h(q,r.getAttribute("data-output-array-property")),F=JSON.parse(r.getAttribute("data-output-array-transform"))[L];w=z.replace(`{${r.getAttribute("data-output-array-property")}}`,F)}w=w.replace(new RegExp(/{(.*?)}/,"gm"),function(L){return h(q,L.replace("{","").replace("}",""))}),u+=w})}r.hasAttribute("data-transform")&&(u=JSON.parse(r.getAttribute("data-transform"))[u],!u&&r.hasAttribute("data-default")&&(u=r.getAttribute("data-default"))),x.innerHTML=u,f.appendChild(x)}),m.appendChild(f)}),t.setAttribute("data-total",parseInt(v)),t.setAttribute("data-page",parseInt(S)),i.setAttribute("data-total",v),i.setAttribute("data-page",S),Array.from(a.querySelectorAll("[data-ajax-query]")).forEach(p=>{const f=h(n,p.getAttribute("data-ajax-query"),"");p.hasAttribute("data-total")?p.setAttribute("data-total",f):p.innerHTML=f}),parseInt(v)==0&&(m.innerHTML=`<tr><td colspan="100%"><span>${$}</span></td></tr>`),t.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:b,formData:o}),E(t,e,a,i),C(t,e,a,i)):m.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',i.removeAttribute("data-loading"),a.classList.remove("processing")})}catch(n){console.log(n)}})};class K extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const u=t=>t.charAt(0).toUpperCase()+t.slice(1),h=(t,a)=>{switch(t){case"datetime":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"});case"date":return new Date(a).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return a=u(a)}},g=(t,a,e,i,n)=>{e.querySelector("[name=show]")||e.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),e.querySelector("[name=page]")||e.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",r=>{if(e.querySelector("[name=show]").value!=r.detail.show){e.querySelector("[name=show]").value=r.detail.show;const o=new CustomEvent("update-show",{detail:{show:r.detail.show}});t.dispatchEvent(o),c(t,i),n()}}),i.addEventListener("update-page",r=>{if(e.querySelector("[name=page]").value!=r.detail.page){e.querySelector("[name=page]").value=r.detail.page;const o=new CustomEvent("update-page",{detail:{page:r.detail.page}});if(t.dispatchEvent(o),c(t,i),n(),!t.hasAttribute("data-no-scroll")){const l=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:l,behavior:"smooth"})}}})},f=(t,a)=>{let e=document.createElement("form");return t.hasAttribute("data-filterby")?e=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?e=t.closest("form"):a.parentNode.insertBefore(e,a.nextSibling),e},p=(t,a,e,i)=>{const n=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",5),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),w(t,i),y(a),A(t,a),t.classList.contains("mh-sm")&&n.classList.add("mh-sm"),t.classList.contains("mh-md")&&n.classList.add("mh-md"),t.classList.contains("mh-lg")&&n.classList.add("mh-lg"),t.classList.contains("table--cta")&&(x(t,a),k(t,a))},w=(t,a)=>{t.hasAttribute("data-total")&&a.setAttribute("data-total",t.getAttribute("data-total")),t.hasAttribute("data-page")&&a.setAttribute("data-page",t.getAttribute("data-page")),t.hasAttribute("data-show")&&a.setAttribute("data-show",t.getAttribute("data-show")),t.hasAttribute("data-increment")&&a.setAttribute("data-increment",t.getAttribute("data-show")),t.hasAttribute("data-page-jump")&&a.setAttribute("data-page-jump","true"),t.hasAttribute("data-per-page")&&a.setAttribute("data-per-page","true"),t.hasAttribute("data-item-count")&&a.setAttribute("data-item-count","true"),t.hasAttribute("data-loading")&&a.setAttribute("data-loading","true"),t.classList.contains("table--fullwidth")&&a.setAttribute("data-minimal","true")},c=(t,a)=>{t.setAttribute("data-total",a.getAttribute("data-total")),t.setAttribute("data-page",a.getAttribute("data-page")),t.setAttribute("data-show",a.getAttribute("data-show")),t.setAttribute("data-increment",a.getAttribute("data-show"))},v=t=>{t.getAttribute("data-total");const a=t.getAttribute("data-page"),e=t.getAttribute("data-show");t.getAttribute("data-increment");const i=t.querySelector("table"),n=a*e,r=n-e;Array.from(i.querySelectorAll("tbody tr")).forEach((o,s)=>{s>=r&&s<n?o.classList.add("show"):o.classList.remove("show")})},y=t=>{const a=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(i=>{const n=Array.from(i.querySelectorAll("th, td")),r=["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","successful","failed"];n.forEach((o,s)=>{const l=a[s];if(typeof l<"u"){const m=document.createElement("div");m.innerHTML=l.innerHTML;const d=m.textContent||m.innerText||"";o.setAttribute("data-label",d),l.hasAttribute("data-td-class")&&o.setAttribute("class",l.getAttribute("data-td-class")),l.hasAttribute("data-format")&&(o.setAttribute("data-format",l.getAttribute("data-format")),o.innerHTML=h(l.getAttribute("data-format"),o.textContent.trim())),r.includes(o.textContent.trim().toLowerCase())&&o.setAttribute("data-content",o.textContent.trim().toLowerCase())}})})},A=(t,a)=>{if(t.classList.contains("table--fullwidth")&&!t.hasAttribute("data-expandable")||a.querySelectorAll("thead tr th").length<4&&!t.hasAttribute("data-expandable"))return!1;Array.from(a.querySelectorAll("thead tr")).forEach(e=>{a.querySelectorAll("thead tr th.expand-button-heading").length||e.insertAdjacentHTML("afterbegin",`<th class="${t.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(a.querySelectorAll("tbody tr")).forEach((e,i)=>{const n=e.getAttribute("data-view")==="full"?"aria-expanded":"";e.insertAdjacentHTML("afterbegin",`<td class="${t.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${n} data-index="${i}">Expand</button></td>`)}),a.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-expand-button]")){const i=e.target.closest("[data-expand-button]"),n=i.closest("tr");i.toggleAttribute("aria-expanded"),n.getAttribute("data-view")=="full"?n.setAttribute("data-view","default"):n.setAttribute("data-view","full"),i.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},x=(t,a)=>{let e=0;Array.from(a.querySelectorAll("tbody tr")).forEach(i=>{const n=window.getComputedStyle(document.querySelector("html")),r=i.querySelector(":scope > *:last-child > *:first-child");if(r){r.classList.add("text-nowrap");let o=r.offsetWidth/parseFloat(n.fontSize);o+=1.8,e=e>o?e:o}}),t.style.setProperty("--cta-width",`${e}rem`)},k=(t,a)=>{function e(){Array.from(a.querySelectorAll("tr")).forEach(i=>{const n=i.offsetHeight;i.style.setProperty("--row-height",`${n}px`)})}new ResizeObserver(e).observe(a)};class _ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const T=function(t){return typeof t!="string"?!1:!isNaN(t)&&!isNaN(parseFloat(t))},M=(t,e)=>String(t).padStart(e,"0"),H=t=>t.charAt(0).toUpperCase()+t.slice(1),$=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),A=(t,e)=>{switch(t){case"datetime":return new Date(e).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(e).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(e).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return e=H(e)}},D=function(t){const e=new Object;return Array.from(t.querySelectorAll("[data-filter]")).forEach(s=>{if(!(s.type=="radio"&&!s.checked)&&!(s.type=="checkbox"&&!s.checked)&&s&&s.value){const l=s.getAttribute("data-filter");let o=s.value;s.hasAttribute("data-date-from")&&(o+="-date-from"),s.hasAttribute("data-date-to")&&(o+="-date-to"),e[l]||(e[l]=[]),e[l].push(o)}}),e},z=(t,e,a,s,l)=>{a.querySelector("[name=show]")||a.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),a.querySelector("[name=page]")||a.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),s.addEventListener("update-show",o=>{if(a.querySelector("[name=show]").value!=o.detail.show){a.querySelector("[name=show]").value=o.detail.show;const r=new CustomEvent("update-show",{detail:{show:o.detail.show}});t.dispatchEvent(r),L(t,s),l()}}),s.addEventListener("update-page",o=>{if(a.querySelector("[name=page]").value!=o.detail.page){a.querySelector("[name=page]").value=o.detail.page;const r=new CustomEvent("update-page",{detail:{page:o.detail.page}});if(t.dispatchEvent(r),L(t,s),l(),!t.hasAttribute("data-no-scroll")){const d=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:d,behavior:"smooth"})}}})},F=(t,e)=>{let a=document.createElement("form");return t.hasAttribute("data-filterby")?a=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?a=t.closest("form"):e.parentNode.insertBefore(a,e.nextSibling),a},j=(t,e,a,s)=>{const l=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",5),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),I(t,s),q(e),B(t,e),t.classList.contains("mh-sm")&&l.classList.add("mh-sm"),t.classList.contains("mh-md")&&l.classList.add("mh-md"),t.classList.contains("mh-lg")&&l.classList.add("mh-lg"),t.classList.contains("table--cta")&&(P(t,e),N(t,e))},I=(t,e)=>{t.hasAttribute("data-total")&&e.setAttribute("data-total",t.getAttribute("data-total")),t.hasAttribute("data-page")&&e.setAttribute("data-page",t.getAttribute("data-page")),t.hasAttribute("data-show")&&e.setAttribute("data-show",t.getAttribute("data-show")),t.hasAttribute("data-increment")&&e.setAttribute("data-increment",t.getAttribute("data-show")),t.hasAttribute("data-page-jump")&&e.setAttribute("data-page-jump","true"),t.hasAttribute("data-per-page")&&e.setAttribute("data-per-page","true"),t.hasAttribute("data-item-count")&&e.setAttribute("data-item-count","true"),t.hasAttribute("data-loading")&&e.setAttribute("data-loading","true"),t.classList.contains("table--fullwidth")&&e.setAttribute("data-minimal","true")},L=(t,e)=>{t.setAttribute("data-total",e.getAttribute("data-total")),t.setAttribute("data-page",e.getAttribute("data-page")),t.setAttribute("data-show",e.getAttribute("data-show")),t.setAttribute("data-increment",e.getAttribute("data-show"))},S=t=>{t.getAttribute("data-total");const e=t.getAttribute("data-page"),a=t.getAttribute("data-show");t.getAttribute("data-increment");const s=t.querySelector("table"),l=e*a,o=l-a;Array.from(s.querySelectorAll("tbody tr")).forEach((r,b)=>{b>=o&&b<l?r.classList.add("show"):r.classList.remove("show")})},q=t=>{const e=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(s=>{const l=Array.from(s.querySelectorAll("th, td")),o=["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","successful","failed"];l.forEach((r,b)=>{const d=e[b];if(typeof d<"u"){const i=document.createElement("div");i.innerHTML=d.innerHTML;const n=i.textContent||i.innerText||"";r.setAttribute("data-label",n),d.hasAttribute("data-td-class")&&r.setAttribute("class",d.getAttribute("data-td-class")),d.hasAttribute("data-format")&&(r.setAttribute("data-format",d.getAttribute("data-format")),r.innerHTML=A(d.getAttribute("data-format"),r.textContent.trim())),o.includes(r.textContent.trim().toLowerCase())&&r.setAttribute("data-content",r.textContent.trim().toLowerCase())}})})},B=(t,e)=>{if(t.classList.contains("table--fullwidth")&&!t.hasAttribute("data-expandable")||e.querySelectorAll("thead tr th").length<4&&!t.hasAttribute("data-expandable"))return!1;Array.from(e.querySelectorAll("thead tr")).forEach(a=>{e.querySelectorAll("thead tr th.expand-button-heading").length||a.insertAdjacentHTML("afterbegin",`<th class="${t.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(e.querySelectorAll("tbody tr")).forEach((a,s)=>{const l=a.getAttribute("data-view")==="full"?"aria-expanded":"";a.insertAdjacentHTML("afterbegin",`<td class="${t.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${l} data-index="${s}">Expand</button></td>`)}),e.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-expand-button]")){const s=a.target.closest("[data-expand-button]"),l=s.closest("tr");s.toggleAttribute("aria-expanded"),l.getAttribute("data-view")=="full"?l.setAttribute("data-view","default"):l.setAttribute("data-view","full"),s.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:s.getAttribute("data-index")}}))}})},P=(t,e)=>{let a=0;Array.from(e.querySelectorAll("tbody tr")).forEach(s=>{const l=window.getComputedStyle(document.querySelector("html")),o=s.querySelector(":scope > *:last-child > *:first-child");if(o){o.classList.add("text-nowrap");let r=o.offsetWidth/parseFloat(l.fontSize);r+=1.8,a=a>r?a:r}}),t.style.setProperty("--cta-width",`${a}rem`)},N=(t,e)=>{function a(){Array.from(e.querySelectorAll("tr")).forEach(s=>{const l=s.offsetHeight;s.style.setProperty("--row-height",`${l}px`)})}new ResizeObserver(a).observe(e)},R=(t,e)=>{if(t.querySelector("iam-actionbar[data-selectall]")||document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`)){const a=t.querySelector("iam-actionbar[data-selectall]")?t.querySelector("iam-actionbar[data-selectall]"):document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`);W(t,e,a)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach(a=>{a.classList.add("btn-sm"),a.classList.add("m-0");const s=a.closest("tr"),l=a.closest("td"),r=Array.prototype.slice.call(s.children).indexOf(l);l.classList.add("td--fixed"),e.querySelector(`thead tr th:nth-child(${r+1})`).classList.add("th--fixed")})},W=(t,e,a)=>{Array.from(e.querySelectorAll("thead tr")).forEach(s=>{s.querySelector(".expand-button-heading")?s.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):s.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(e.querySelectorAll("tbody tr")).forEach((s,l)=>{if(s.setAttribute("data-index",l+1),!s.querySelector(".selectrow")){const o=`row${$(l)}`;s.querySelector(".td--expand")?s.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${s.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`):s.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${s.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`)}}),e.addEventListener("change",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest(".selectrow input")){const l=s.target.closest(".selectrow input"),o=s.target.closest("tr"),r=e.querySelectorAll('.selectrow input[type="checkbox"]').length,b=e.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;a.setAttribute("data-selected",r==b?"all":b);const d=new CustomEvent("row-selected",{detail:{rowIndex:o.getAttribute("data-index"),checked:!!l.checked}});t.dispatchEvent(d)}}),a.addEventListener("selected",s=>{if(s.detail.selected=="0"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!1});const l=new CustomEvent("all-rows-unselected");t.dispatchEvent(l)}else if(s.detail.selected=="all"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!0});const l=new CustomEvent("all-rows-selected");t.dispatchEvent(l)}})},O=(t,e,a,s,l)=>{V(t,e),Q(t,e),a.addEventListener("change",o=>{o&&o.target instanceof HTMLElement&&o.target.closest("[data-sort]")&&E(e,a,l)}),U(t,e,a,s,l)},V=(t,e)=>{e.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-sort]")){const s=a.target.closest("[data-sort]");s.setAttribute("data-sort","true"),Array.from(e.querySelectorAll("th[data-sort]")).forEach(b=>{b!=s&&(b.setAttribute("data-sort",""),b.removeAttribute("data-order-by"),s.setAttribute("title","Click to sort ascending"))}),s.hasAttribute("data-order-by")&&s.getAttribute("data-order-by")=="asc"?(s.setAttribute("data-order-by","desc"),s.setAttribute("title","Click to sort ascending")):(s.setAttribute("data-order-by","asc"),s.setAttribute("title","Click to sort descending"));const l=new CustomEvent("sort-by-heading",{detail:{heading:s.textContent,sortBy:s.getAttribute("data-order-by"),ref:s.getAttribute("data-ref")}});t.dispatchEvent(l);const o=s.textContent.trim(),r=s.getAttribute("data-order-by");t.hasAttribute("data-submit")||_(e,o,r)}})},Q=(t,e)=>{var a;const s=t.querySelector("iam-actionbar");if(!s)return!1;const l=(a=s.shadowRoot)===null||a===void 0?void 0:a.querySelector("input#search");if(!l)return!1;const o=l.getAttribute("id"),r=l.parentNode,b={};e.querySelectorAll("tbody td:not(.td--fixed)").forEach(d=>{d.querySelector(".td__content")?b[d.querySelector(".td__content").textContent]=d.querySelector(".td__content").textContent:b[d.textContent]=d.textContent}),l.setAttribute("list",`${o}_list`),l.setAttribute("autocomplete","off"),r.querySelector("datalist")||(r.innerHTML+=`<datalist id="${o}_list"></datalist>`),r.querySelector("datalist").innerHTML=`${Object.keys(b).map(d=>`<option value="${d}"></option>`).join("")}`},E=(t,e,a)=>{if(e.getAttribute("data-ajax"))return!1;const s=t.querySelector("tbody");let l=e.querySelector('input[type="radio"][data-sort]:checked');if(e.querySelector("select[data-sort]")){const d=e.querySelector("select[data-sort]");l=e.querySelector(`select[data-sort] option:nth-child(${d.selectedIndex+1})`)}const o=l.getAttribute("data-sort"),r=l.getAttribute("data-order"),b=l.getAttribute("data-format");if(!o)return s.innerHTML=a.innerHTML,q(t),!1;_(t,o,r,b)},_=(t,e,a,s="")=>{const l=t.querySelector("tbody");let o=[];["asc","desc","descending"].includes(a)||(o=a.split(","));let r=[];Array.from(l.querySelectorAll("tr")).forEach(d=>{let i=d.querySelector('td[data-label="'+e+'"], th[data-label="'+e+'"]').textContent.trim();d.querySelector('[data-label="'+e+'"] .td__content')&&(i=d.querySelector('[data-label="'+e+'"] .td__content').textContent.trim()),o.length&&o.includes(i)&&(i=o.indexOf(i)),T(i)&&(i=M(i,10)),s&&s=="date"&&(i=new Date(i));const n={index:i,row:d};r.push(n)}),r.sort((d,i)=>d.index>i.index?1:-1),(a=="descending"||a=="desc")&&(r=r.reverse());let b="";r.forEach(d=>{b+=d.row.outerHTML}),l.innerHTML=b},U=(t,e,a,s,l)=>{let o;const r=function(i,n=!1){if(a.classList.contains("processing"))return!1;Array.from(a.querySelectorAll("iam-applied-filters")).forEach(c=>{const h=new Event("tags-set");c.dispatchEvent(h)}),i.type=="submit"&&(a.classList.add("processing"),Array.from(a.querySelectorAll("[data-duplicate]")).forEach(c=>{const h=c.getAttribute("data-duplicate"),m=document.getElementById(h),u=document.querySelector(`[for="${h}"] iam-card`);if(m.checked!=c.checked)if(u){const g=new Event("click");u.dispatchEvent(g)}else m.checked=c.checked}),a.classList.remove("processing")),k(t,e,a,s),C(t,e,a)};t.querySelector("iam-actionbar[data-search]")&&t.querySelector("iam-actionbar[data-search]").addEventListener("search-submit",i=>{a.querySelector("input[data-search]")?a.querySelector("input[data-search]").value=i.detail.search:a.insertAdjacentHTML("beforeend",`<input type="hidden" name="search" data-search="${t.querySelector("iam-actionbar[data-search]").getAttribute("data-search")}" value="${i.detail.search}"/>`);const n=new CustomEvent("search-submit",{detail:i.details});t.dispatchEvent(n),clearTimeout(o),r(i)}),t.querySelector("iam-actionbar")&&!t.querySelector("iam-actionbar").closest("form")&&t.querySelector("iam-actionbar").addEventListener("change",i=>{a.querySelector(".duplicate-actionbar")||a.insertAdjacentHTML("beforeend",'<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>'),a.querySelector(".duplicate-actionbar").innerHTML=t.querySelector("iam-actionbar").innerHTML,k(t,e,a,s)}),a.addEventListener("keyup",i=>{clearTimeout(o),i&&i.target instanceof HTMLElement&&i.target.closest("input[data-search]")&&(o=setTimeout(function(){r(i)},500))}),a.addEventListener("change",i=>{if(clearTimeout(o),i&&i.target instanceof HTMLElement&&i.target.closest("input[data-search]")&&r(i),i&&i.target instanceof HTMLElement&&i.target.closest("[data-filter][data-no-ajax]")?(k(t,e,a,s),C(e,a)):(i&&i.target instanceof HTMLElement&&i.target.closest("[data-filter]")&&i.target.closest("form .dialog__wrapper > dialog")||i&&i.target instanceof HTMLElement&&i.target.closest("[data-filter]")&&!i.target.closest("form dialog"))&&r(i),i&&i.target instanceof HTMLElement&&i.target.closest("[data-show]")&&r(i),i&&i.target instanceof HTMLElement&&i.target.closest("[data-mimic]")&&r(i),i&&i.target instanceof HTMLElement&&i.target.hasAttribute("id")){const n=i.target.getAttribute("id");document.querySelector(`[data-duplicate="${n}"]`)&&(document.querySelector(`[data-duplicate="${n}"]`).checked=i.target.checked)}}),a.addEventListener("click",i=>{if(clearTimeout(o),i&&i.target instanceof HTMLElement&&i.target.closest('dialog button:not([type="button"])')&&i.target.closest('dialog button:not([type="button"])').closest("dialog").close(),i&&i.target instanceof HTMLElement&&i.target.closest(".dialog__close")&&(i.preventDefault(),i.stopPropagation()),i&&i.target instanceof HTMLElement&&i.target.closest("[data-clear]")){a.classList.add("processing"),Array.from(a.querySelectorAll(".applied-filters")).forEach(c=>{c.innerHTML=""});const n=a.elements;for(let c=0;c<n.length;c++)switch(n[c].type.toLowerCase()?n[c].type.toLowerCase():"text"){case"text":case"password":case"textarea":n[c].value="";break;case"radio":case"checkbox":if(n[c].checked){const m=n[c],u=m.getAttribute("id"),g=document.querySelector(`[for="${u}"`);if(g.querySelector("iam-card")){const p=g.querySelector("iam-card"),f=new Event("click");p.dispatchEvent(f)}m.checked=!1}break;case"select-one":case"select-multi":n[c].selectedIndex=-1;break}a.classList.remove("processing"),a.hasAttribute("data-submit")||E(e,a,l),r(i)}}),a.addEventListener("submit",i=>{clearTimeout(o),a.hasAttribute("data-submit")||i.preventDefault(),r(i)}),a.addEventListener("force",i=>{r(i)}),a.addEventListener("paginate",i=>{r(i,!0)});const b=[],d=[];Array.from(a.querySelectorAll("[data-mimic]")).forEach(i=>{const n=i.getAttribute("data-mimic");Array.from(document.querySelectorAll(`[name="${n}"]`)).forEach(c=>{const h=c.closest("form");b.includes(h)||b.push(h),d.includes(n)||d.push(n)})}),b.forEach(i=>{const n=function(){const c=[],h=new FormData(i);for(const[m,u]of h)document.querySelector(`[data-mimic="${m}"]`)&&!c.includes(m)?(c.push(m),document.querySelector(`[data-mimic="${m}"]`).value=u):document.querySelector(`[data-mimic="${m}"]`)&&(document.querySelector(`[data-mimic="${m}"]`).value+=","+u);for(const m of c){const u=new Event("force");a.dispatchEvent(u)}for(const m of d)if(!h.has(m)&&i.querySelector(`[name="${m}"]`)){document.querySelector(`[data-mimic="${m}"]`).value="";const u=new Event("force");a.dispatchEvent(u)}};i.addEventListener("force",()=>{n()}),i.addEventListener("change",()=>{n()})})},k=(t,e,a,s)=>{e.classList.remove("table--filtered");const l=D(a),o=[];let r=0;const b=a.querySelector("[data-pagination]")?parseInt(a.querySelector("[data-pagination]").value):1,d=a.querySelector("[data-show]")?parseInt(a.querySelector("[data-show]").value):15;if(Array.from(e.querySelectorAll("tbody tr")).forEach(n=>{n.classList.remove("filtered"),n.classList.remove("filtered--matched"),n.classList.remove("filtered--show"),n.removeAttribute("data-filtered-by")}),a.querySelector("input[data-search]")){const n=a.querySelector("input[data-search]");e.querySelectorAll("thead tr th").forEach(c=>{o.push({column:`${c.textContent.trim()}`,value:`${n.value}`})})}Array.from(a.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML="",n.parentNode.classList.remove("hover")});let i=0;Object.values(l).forEach(n=>{typeof n=="object"&&Object.values(n).length?i+=Object.values(n).length:i++}),i&&Array.from(a.querySelectorAll("[data-filter-count]")).forEach(n=>{n.innerHTML+=`(${i})`,n.parentNode.classList.add("hover")}),e.classList.add("table--filtered");for(const[n,c]of Object.entries(l))Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(h=>{let m=!1;c.forEach(u=>{const g=h.querySelector(`[data-label="${n}"]`);if(u.includes("-date-from")){const p=new Date(u.replace("-date-from","")),f=new Date(g.textContent.toLowerCase());p.setHours(0,0,0,0),f.setHours(0,0,0,0),f<p?(h.classList.add("less-than-from-date"),m=!1):!h.classList.contains("less-than-from-date")&&!h.classList.contains("greater-than-to-date")&&(m=!0)}else if(u.includes("-date-to")){const p=new Date(u.replace("-date-to","")),f=new Date(g.textContent.toLowerCase());p.setHours(0,0,0,0),f.setHours(0,0,0,0),f>p?(h.classList.add("greater-than-to-date"),m=!1):!h.classList.contains("less-than-from-date")&&!h.classList.contains("greater-than-to-date")&&(m=!0)}if(u&&u=="$today")u=A("date",new Date);else if(u&&u=="$yesterday"){const p=new Date;p.setDate(p.getDate()-1),u=A("date",p)}else if(u&&(u=="$thisWeek"||u=="$lastWeek")){const p=new Date,f=new Date(p.setDate(p.getDate()-(p.getDay()-1))),w=new Date(p.setDate(p.getDate()-p.getDay()+7)),y=new Date(g.textContent.toLowerCase());if(p.setHours(0,0,0,0),f.setHours(0,0,0,0),w.setHours(0,0,0,0),y.setHours(0,0,0,0),u=="$thisWeek")m=y>=f&&y<=w;else{const v=new Date(f.setDate(f.getDate()-7)),x=new Date(w.setDate(w.getDate()-7));v.setHours(0,0,0,0),x.setHours(0,0,0,0),m=y>=v&&y<=x}}else if(u&&u=="$thisMonth"){const p=new Date,f=p.getFullYear(),w=p.getMonth(),y=new Date(f,w,1),v=new Date(f,w+1,0),x=new Date(g.textContent.toLowerCase());y.setHours(0,0,0,0),v.setHours(0,0,0,0),x.setHours(0,0,0,0),m=x>=y&&x<=v}else if(u&&u=="$lastMonth"){const p=new Date,f=p.getFullYear(),w=p.getMonth(),y=new Date(f,w-1,1),v=new Date(f,w,0),x=new Date(g.textContent.toLowerCase());y.setHours(0,0,0,0),v.setHours(0,0,0,0),x.setHours(0,0,0,0),m=x>=y&&x<=v}g&&g.textContent.toLowerCase().includes(u.replace("-"," ").toLowerCase())&&(m=!0)}),m||(h.classList.add("filtered"),h.setAttribute("data-filtered-by",n))});Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(n=>{let c=!(o.length>0&&o[0].value.length>=3);o.forEach(h=>{const m=n.querySelector(`[data-label="${h.column}"]`);m&&h.value.length>=3&&m.textContent.toLowerCase().includes(h.value.toLowerCase())&&(c=!0)}),c||n.classList.add("filtered")}),Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).forEach(n=>{r++,n.classList.add("filtered--matched"),Math.ceil(r/d)==parseInt(b)&&n.classList.add("filtered--show")}),s&&(s.setAttribute("data-total",r),s.setAttribute("data-show",d),s.setAttribute("data-page",b))},C=(t,e,a)=>{Array.from(a.querySelectorAll("[data-query]")).forEach(l=>{const o=l.getAttribute("data-query");let r=0;if(o=="total")t.hasAttribute("data-total")?r=t.getAttribute("data-total"):r=(e.classList.contains("table--filtered"),e.querySelectorAll("tbody tr").length);else if(!o.includes(" == ")&&o.includes(" & ")){const b=o.split(" & ");let d="";b.forEach(i=>{d+=`:not([data-filtered-by="${i}"])`}),r=Array.from(e.querySelectorAll(`tbody tr${d}`)).length}else if(!o.includes(" == "))r=Array.from(e.querySelectorAll(`tbody tr:not([data-filtered-by="${o}"])`)).length;else if(o.includes(" && ")){const b=o.split(" && ");r=Array.from(e.querySelectorAll("tbody tr:not(.filtered)")).filter(function(d){let i=!0;for(const n of Object.entries(b)){const c=n.split(" == ");(!d.querySelector(`td[data-label="${c[0]}"]`)||d.querySelector(`td[data-label="${c[0]}"]`).textContent!=`${c[1]}`)&&(i=!1)}return i}).length}else{const b=o.split(" == ");r=Array.from(e.querySelectorAll(`tbody tr.filtered--matched td[data-label="${b[0]}"], tbody tr[data-filtered-by="${b[0]}"] td[data-label="${b[0]}"]`)).filter(function(d){return d.textContent===b[1]}).length}l.hasAttribute("data-total")?l.setAttribute("data-total",r):l.innerHTML=r})};class Y extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const h=t=>t.charAt(0).toUpperCase()+t.slice(1),u=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),p=(t,a)=>{switch(t){case"datetime":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"});case"date":return new Date(a).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return a=h(a)}},g=(t,a,e,i,l)=>{e.querySelector("[name=show]")||e.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),e.querySelector("[name=page]")||e.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",o=>{if(e.querySelector("[name=show]").value!=o.detail.show){e.querySelector("[name=show]").value=o.detail.show;const b=new CustomEvent("update-show",{detail:{show:o.detail.show}});t.dispatchEvent(b),c(t,i),l()}}),i.addEventListener("update-page",o=>{if(e.querySelector("[name=page]").value!=o.detail.page){e.querySelector("[name=page]").value=o.detail.page;const b=new CustomEvent("update-page",{detail:{page:o.detail.page}});if(t.dispatchEvent(b),c(t,i),l(),!t.hasAttribute("data-no-scroll")){const s=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:s,behavior:"smooth"})}}})},f=(t,a)=>{let e=document.createElement("form");return t.hasAttribute("data-filterby")?e=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?e=t.closest("form"):a.parentNode.insertBefore(e,a.nextSibling),e},w=(t,a,e,i)=>{const l=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",5),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),y(t,i),x(a),v(t,a),t.classList.contains("mh-sm")&&l.classList.add("mh-sm"),t.classList.contains("mh-md")&&l.classList.add("mh-md"),t.classList.contains("mh-lg")&&l.classList.add("mh-lg"),t.classList.contains("table--cta")&&(k(t,a),A(t,a))},y=(t,a)=>{t.hasAttribute("data-total")&&a.setAttribute("data-total",t.getAttribute("data-total")),t.hasAttribute("data-page")&&a.setAttribute("data-page",t.getAttribute("data-page")),t.hasAttribute("data-show")&&a.setAttribute("data-show",t.getAttribute("data-show")),t.hasAttribute("data-increment")&&a.setAttribute("data-increment",t.getAttribute("data-show")),t.hasAttribute("data-page-jump")&&a.setAttribute("data-page-jump","true"),t.hasAttribute("data-per-page")&&a.setAttribute("data-per-page","true"),t.hasAttribute("data-item-count")&&a.setAttribute("data-item-count","true"),t.hasAttribute("data-loading")&&a.setAttribute("data-loading","true"),t.classList.contains("table--fullwidth")&&a.setAttribute("data-minimal","true")},c=(t,a)=>{t.setAttribute("data-total",a.getAttribute("data-total")),t.setAttribute("data-page",a.getAttribute("data-page")),t.setAttribute("data-show",a.getAttribute("data-show")),t.setAttribute("data-increment",a.getAttribute("data-show"))},x=t=>{const a=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(i=>{const l=Array.from(i.querySelectorAll("th, td")),o=["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","successful","failed"];l.forEach((b,n)=>{const s=a[n];if(typeof s<"u"){const d=document.createElement("div");d.innerHTML=s.innerHTML;const m=d.textContent||d.innerText||"";b.setAttribute("data-label",m),s.hasAttribute("data-td-class")&&b.setAttribute("class",s.getAttribute("data-td-class")),s.hasAttribute("data-format")&&(b.setAttribute("data-format",s.getAttribute("data-format")),b.innerHTML=p(s.getAttribute("data-format"),b.textContent.trim())),o.includes(b.textContent.trim().toLowerCase())&&b.setAttribute("data-content",b.textContent.trim().toLowerCase())}})})},v=(t,a)=>{if(t.classList.contains("table--fullwidth")&&!t.hasAttribute("data-expandable")||a.querySelectorAll("thead tr th").length<4&&!t.hasAttribute("data-expandable"))return!1;Array.from(a.querySelectorAll("thead tr")).forEach(e=>{a.querySelectorAll("thead tr th.expand-button-heading").length||e.insertAdjacentHTML("afterbegin",`<th class="${t.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(a.querySelectorAll("tbody tr")).forEach((e,i)=>{const l=e.getAttribute("data-view")==="full"?"aria-expanded":"";e.insertAdjacentHTML("afterbegin",`<td class="${t.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${l} data-index="${i}">Expand</button></td>`)}),a.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-expand-button]")){const i=e.target.closest("[data-expand-button]"),l=i.closest("tr");i.toggleAttribute("aria-expanded"),l.getAttribute("data-view")=="full"?l.setAttribute("data-view","default"):l.setAttribute("data-view","full"),i.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},k=(t,a)=>{let e=0;Array.from(a.querySelectorAll("tbody tr")).forEach(i=>{const l=window.getComputedStyle(document.querySelector("html")),o=i.querySelector(":scope > *:last-child > *:first-child");if(o){o.classList.add("text-nowrap");let b=o.offsetWidth/parseFloat(l.fontSize);b+=1.8,e=e>b?e:b}}),t.style.setProperty("--cta-width",`${e}rem`)},A=(t,a)=>{function e(){Array.from(a.querySelectorAll("tr")).forEach(i=>{const l=i.offsetHeight;i.style.setProperty("--row-height",`${l}px`)})}new ResizeObserver(e).observe(a)},_=(t,a)=>{if(t.querySelector("iam-actionbar[data-selectall]")||document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`)){const e=t.querySelector("iam-actionbar[data-selectall]")?t.querySelector("iam-actionbar[data-selectall]"):document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`);L(t,a,e)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach(e=>{e.classList.add("btn-sm"),e.classList.add("m-0");const i=e.closest("tr"),l=e.closest("td"),b=Array.prototype.slice.call(i.children).indexOf(l);l.classList.add("td--fixed"),a.querySelector(`thead tr th:nth-child(${b+1})`).classList.add("th--fixed")})},L=(t,a,e)=>{Array.from(a.querySelectorAll("thead tr")).forEach(i=>{i.querySelector(".expand-button-heading")?i.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):i.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(a.querySelectorAll("tbody tr")).forEach((i,l)=>{if(i.setAttribute("data-index",l+1),!i.querySelector(".selectrow")){const o=`row${u(l)}`;i.querySelector(".td--expand")?i.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`):i.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`)}}),a.addEventListener("change",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest(".selectrow input")){const l=i.target.closest(".selectrow input"),o=i.target.closest("tr"),b=a.querySelectorAll('.selectrow input[type="checkbox"]').length,n=a.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;e.setAttribute("data-selected",b==n?"all":n);const s=new CustomEvent("row-selected",{detail:{rowIndex:o.getAttribute("data-index"),checked:!!l.checked}});t.dispatchEvent(s)}}),e.addEventListener("selected",i=>{if(i.detail.selected=="0"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!1});const l=new CustomEvent("all-rows-unselected");t.dispatchEvent(l)}else if(i.detail.selected=="all"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!0});const l=new CustomEvent("all-rows-selected");t.dispatchEvent(l)}})},S=(t,a,e,i)=>{e.setAttribute("method","get");const l=t.querySelector("iam-actionbar");l&&l.addEventListener("change",o=>{e.submit()})};class q extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const w=(t,i,o,a)=>{const s=Math.tan(.375*Math.PI),r=window.innerWidth||document.body.clientWidth,n=Math.max(1,Math.floor(.01*r)),c=o-t,e=a-i,d=Math.abs(c/e),l=Math.abs(e/c);if(Math.abs(c)>n||Math.abs(e)>n){if(l<=s)return c<0?"left":"right";if(d<=s)return e<0?"top":"bottom"}else return"tap"},g=function(t){const i=t.querySelectorAll(":scope > details, :scope > a");let o=t.querySelector(":scope > .tabs__links"),a=t.querySelector(":scope .tabs__dropdown");if(t.shadowRoot&&t.shadowRoot.querySelector(".tabs__links")&&(o=t.shadowRoot.querySelector(".tabs__links")),!o){o=document.createElement("div"),o.classList.add("tabs__links");const r=document.createElement("div");r.classList.add("tabs__links__wrapper"),r.prepend(o),t.prepend(r)}a||(a=document.createElement("select"),a.classList.add("tabs__dropdown"),t.prepend(a));let s=0;i.forEach(r=>{let n=document.createElement("button");const c=document.createElement("option");if(r.matches("details")){const e=r.querySelector(":scope > summary"),d=e.classList.contains("disabled");e.classList.add("visually-hidden"),r.hasAttribute("id")&&n.setAttribute("data-id",`${r.getAttribute("id")}`),r.hasAttribute("open")&&n.setAttribute("aria-pressed",!0),n.innerHTML=`${e.innerText}`,n.classList.add("link"),n.setAttribute("data-index",s),n.setAttribute("part","tab-link"),c.innerHTML=`${e.innerText}`,c.value=e.innerText.replace(/\s+/g,"-").toLowerCase(),c.setAttribute("data-index",s),r.setAttribute("tabindex","-1"),d&&n.classList.add("disabled"),s++}else r.matches("a")&&(n=r);n.classList.add("link"),o.appendChild(n),a.appendChild(c)})},y=function(t){const i=t.querySelectorAll(":scope > details"),o=t.querySelectorAll(":scope > details > summary");let a=t.querySelector(":scope .tabs__links"),s=t.querySelectorAll(":scope .tabs__links > button");const r=t.querySelector(":scope .tabs__dropdown");let n=t.querySelector(":scope .tabs__next"),c;if(window.isClicked=!1,window.isScrolling=!1,t.shadowRoot&&(s=t.shadowRoot.querySelectorAll(".tabs__links > button"),a=t.shadowRoot.querySelector(".tabs__links"),n=t.shadowRoot.querySelector(".tabs__next")),s.forEach(e=>{e.addEventListener("click",d=>{if(d.preventDefault(),window.isClicked=!0,e.classList.contains("disabled"))return!1;s.forEach(l=>{const b=l==e;l.setAttribute("aria-pressed",b)}),a.scroll({top:0,left:e.offsetLeft,behavior:"smooth"}),k(i,e),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:e.textContent}),e.matches(":last-child")?n?.setAttribute("disabled","disabled"):n?.removeAttribute("disabled")}),v(i,r)}),a.addEventListener("scrollend",()=>{clearTimeout(c),c=setTimeout(function(){let e=s[0],d=Math.abs(e.getBoundingClientRect().left);if(s.forEach(l=>{Math.abs(l.getBoundingClientRect().left)<d&&(d=Math.abs(l.getBoundingClientRect().left),e=l)}),window.isClicked)return window.isClicked=!1,!1;e.click(),e.focus()},500)}),o.forEach((e,d)=>{e.addEventListener("click",l=>{l.preventDefault(),s[d].click()})}),n?.addEventListener("click",e=>{e.preventDefault();const l=a.querySelector('[aria-pressed="true"]').nextSibling;l&&l.click()}),t.classList.contains("tabs--guided")){let e=0,d=0,l=0,b=0;i.forEach(u=>{u.addEventListener("touchstart",p=>{p.stopPropagation(),e=p.changedTouches[0].screenX,d=p.changedTouches[0].screenY}),u.addEventListener("touchend",p=>{p.stopPropagation(),l=p.changedTouches[0].screenX,b=p.changedTouches[0].screenY;const f=w(e,d,l,b),_=a.querySelector('[aria-pressed="true"]'),h=_.nextSibling,m=_.previousSibling;switch(f){case"left":h&&h.click();break;case"right":m&&m.click();break}})})}},k=function(t,i){t.forEach((o,a)=>{const s=i.getAttribute("data-index")==a;s?o.setAttribute("open",s):o.removeAttribute("open")})},v=function(t,i){i.addEventListener("change",o=>{o.preventDefault();const a=i.options[i.selectedIndex];k(t,a),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:a.innerText})})},x=function(t){if(!t.querySelector(":scope > details"))return!1;const i=t.querySelectorAll(":scope > details"),o=t.shadowRoot.querySelectorAll(".tabs__links > button");location.hash&&t.shadowRoot.querySelector(`.tabs__links [data-id="${location.hash.replace("#","")}"]`)?(t.shadowRoot.querySelector(`[data-id="${location.hash.replace("#","")}"]`).setAttribute("aria-pressed",!0),t.querySelector(`details[id="${location.hash.replace("#","")}"]`).setAttribute("open",!0)):t.querySelector("details[open]")||(i[0].setAttribute("open",!0),o[0].setAttribute("aria-pressed",!0))},L=function(t){g(t),y(t),x(t)};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"tabs"});class S extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.2.1
|
|
2
|
+
* iamKey v7.2.1
|
|
3
3
|
* Copyright 2022-2025 iamproperty
|
|
4
4
|
*/const u=i=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:i})},p=(i,t,e)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:t}),e.forEach(r=>{i.addEventListener(r,function(o){const a={event:r,element:t,target:o.target};Object.keys(o.detail).forEach(d=>{const n=o.detail[d];a[d]=n}),window.dataLayer.push(a)})}),!0),h=`<div class="card__head" part="head">
|
|
5
5
|
<slot name="head"></slot>
|