@iamproperty/components 7.5.1--beta5 → 7.5.1--beta6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/assets/css/components/address-lookup.component.css +1 -1
  2. package/assets/css/components/address-lookup.component.css.map +1 -1
  3. package/assets/css/components/multiselect.css +1 -1
  4. package/assets/css/components/multiselect.css.map +1 -1
  5. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  6. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  7. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  8. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  9. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  10. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  11. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  12. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  13. package/assets/js/components/card/card.component.min.js +1 -1
  14. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  15. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  16. package/assets/js/components/content/content.component.min.js +1 -1
  17. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  18. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  19. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  20. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  21. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  22. package/assets/js/components/header/header.component.min.js +1 -1
  23. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  24. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  25. package/assets/js/components/menu/menu.component.min.js +1 -1
  26. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  27. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  28. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  29. package/assets/js/components/multiselect/multiselect.component.js +1 -1
  30. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  31. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  32. package/assets/js/components/nav/nav.component.min.js +1 -1
  33. package/assets/js/components/notification/notification.component.min.js +1 -1
  34. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  35. package/assets/js/components/password-indicator/password-indicator.component.min.js +1 -1
  36. package/assets/js/components/rank/rank.component.min.js +1 -1
  37. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  38. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  39. package/assets/js/components/search/search.component.js +1 -1
  40. package/assets/js/components/search/search.component.min.js +5 -5
  41. package/assets/js/components/search/search.component.min.js.map +1 -1
  42. package/assets/js/components/slider/slider.component.min.js +1 -1
  43. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  44. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +3 -1
  45. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +11 -8
  46. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  47. package/assets/js/components/table/table.component.min.js +1 -1
  48. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  49. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  50. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  51. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  52. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  53. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  54. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  55. package/assets/js/scripts.bundle.js +1 -1
  56. package/assets/js/scripts.bundle.min.js +1 -1
  57. package/assets/js/tests/helpers.spec.js +54 -1
  58. package/assets/sass/components/address-lookup.component.scss +4 -0
  59. package/assets/sass/components/multiselect.scss +2 -2
  60. package/assets/ts/components/multiselect/multiselect.component.ts +1 -1
  61. package/assets/ts/components/search/search.component.ts +1 -1
  62. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +3 -2
  63. package/assets/ts/tests/helpers.spec.ts +100 -1
  64. package/dist/components.es.js +28 -28
  65. package/dist/components.umd.js +139 -133
  66. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const O=function(t){return typeof t!="string"?!1:!isNaN(t)&&!isNaN(parseFloat(t))},B=(t,e)=>String(t).padStart(e,"0"),W=t=>t.charAt(0).toUpperCase()+t.slice(1),p=(t,e,a)=>e.split(/[\.\[\]\'\"]/).filter(i=>i).reduce((i,l)=>i?i[l]:a,t),C=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var V=function(t,e,a,i){function l(o){return o instanceof a?o:new a(function(n){n(o)})}return new(a||(a=Promise))(function(o,n){function r(d){try{b(i.next(d))}catch(m){n(m)}}function s(d){try{b(i.throw(d))}catch(m){n(m)}}function b(d){d.done?o(d.value):l(d.value).then(r,s)}b((i=i.apply(t,e||[])).next())})};const U=(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=W(e)}},J=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},X=t=>{let e=document.createElement("form");const a=t.querySelector("table");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.hasAttribute("data-ajax")&&t.setAttribute("data-ajax",e.getAttribute("data-ajax")),e.hasAttribute("data-schema")&&t.setAttribute("data-schema",e.getAttribute("data-schema"))},w=(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 n=new CustomEvent("update-show",{detail:{show:o.detail.show}});t.dispatchEvent(n),H(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 n=new CustomEvent("update-page",{detail:{page:o.detail.page}});if(t.dispatchEvent(n),H(t,i),l(),!t.hasAttribute("data-no-scroll")){const s=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:s,behavior:"smooth"})}}})},Y=(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"):t.querySelector("form")?a=t.querySelector("form"):e.parentNode.insertBefore(a,e.nextSibling),t.hasAttribute("data-ajax")&&a.setAttribute("data-ajax",t.getAttribute("data-ajax")),a},M=(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")),G(t,i),$(e),K(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")&&(Q(t,e),Z(t,e))},G=(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")},H=(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"))},q=t=>{t.getAttribute("data-total");const e=t.getAttribute("data-page"),a=t.getAttribute("data-show");t.getAttribute("data-increment");const i=t.querySelector("table"),l=e*a,o=l-a;Array.from(i.querySelectorAll("tbody tr")).forEach((n,r)=>{r>=o&&r<l?n.classList.add("show"):n.classList.remove("show")})},$=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((n,r)=>{const s=e[r];if(typeof s<"u"){const b=document.createElement("div");b.innerHTML=s.innerHTML;const d=b.textContent||b.innerText||"";n.setAttribute("data-label",d),s.hasAttribute("data-td-class")&&n.setAttribute("class",s.getAttribute("data-td-class")),s.hasAttribute("data-format")&&(n.setAttribute("data-format",s.getAttribute("data-format")),n.innerHTML=U(s.getAttribute("data-format"),n.textContent.trim())),o.includes(n.textContent.trim().toLowerCase())&&n.setAttribute("data-content",n.textContent.trim().toLowerCase())}})})},K=(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")}}))}})},Q=(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 n=o.offsetWidth/parseFloat(l.fontSize);n+=1.8,a=a>n?a:n}}),t.style.setProperty("--cta-width",`${a}rem`)},Z=(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)},z=(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")}']`);tt(t,e,a)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach((a,i)=>{const o=a.closest(".dialog__wrapper").querySelector("dialog");if(o){const d=`menu${C(i)}`;o.setAttribute("id",d),o.setAttribute("popover","auto"),a.setAttribute("popovertarget",d),o.outerHTML=o.outerHTML.replace(/<dialog/g,"<iam-menu").replace(/<\/dialog>/g,"</iam-menu>")}a.classList.add("btn-sm"),a.classList.add("m-0");const n=a.closest("tr"),r=a.closest("td"),b=Array.prototype.slice.call(n.children).indexOf(r);r.classList.add("td--fixed"),e.querySelector(`thead tr th:nth-child(${b+1})`).classList.add("th--fixed")})},tt=(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${C(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"),n=e.querySelectorAll('.selectrow input[type="checkbox"]').length,r=e.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;a.setAttribute("data-selected",n==r?"all":r);const s=new CustomEvent("row-selected",{detail:{rowIndex:o.getAttribute("data-index"),checked:!!l.checked}});t.dispatchEvent(s)}}),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)}})},at=(t,e,a,i,l)=>{et(t,e),it(t,e),a.addEventListener("change",o=>{o&&o.target instanceof HTMLElement&&o.target.closest("[data-sort]")&&lt(e,a,l)})},et=(t,e)=>{e.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-sort]")){const i=a.target.closest("[data-sort]");i.setAttribute("data-sort","true"),Array.from(e.querySelectorAll("th[data-sort]")).forEach(r=>{r!=i&&(r.setAttribute("data-sort",""),r.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 l=new CustomEvent("sort-by-heading",{detail:{heading:i.textContent,sortBy:i.getAttribute("data-order-by"),ref:i.getAttribute("data-ref")}});t.dispatchEvent(l);const o=i.textContent.trim(),n=i.getAttribute("data-order-by");t.hasAttribute("data-submit")||D(e,o,n)}})},it=(t,e)=>{var a;const i=t.querySelector("iam-actionbar");if(!i)return!1;const l=(a=i.shadowRoot)===null||a===void 0?void 0:a.querySelector("input#search");if(!l)return!1;const o=l.getAttribute("id"),n=l.parentNode,r={};e.querySelectorAll("tbody td:not(.td--fixed)").forEach(s=>{s.querySelector(".td__content")?r[s.querySelector(".td__content").textContent]=s.querySelector(".td__content").textContent:r[s.textContent]=s.textContent}),l.setAttribute("list",`${o}_list`),l.setAttribute("autocomplete","off"),n.querySelector("datalist")||(n.innerHTML+=`<datalist id="${o}_list"></datalist>`),n.querySelector("datalist").innerHTML=`${Object.keys(r).map(s=>`<option value="${s}"></option>`).join("")}`},lt=(t,e,a)=>{if(e.getAttribute("data-ajax"))return!1;const i=t.querySelector("tbody");let l=e.querySelector('input[type="radio"][data-sort]:checked');if(e.querySelector("select[data-sort]")){const s=e.querySelector("select[data-sort]");l=e.querySelector(`select[data-sort] option:nth-child(${s.selectedIndex+1})`)}const o=l.getAttribute("data-sort"),n=l.getAttribute("data-order"),r=l.getAttribute("data-format");if(!o)return i.innerHTML=a.innerHTML,$(t),!1;D(t,o,n,r)},D=(t,e,a,i="")=>{const l=t.querySelector("tbody");let o=[];["asc","desc","descending"].includes(a)||(o=a.split(","));let n=[];Array.from(l.querySelectorAll("tr")).forEach(s=>{let b=s.querySelector('td[data-label="'+e+'"], th[data-label="'+e+'"]').textContent.trim();s.querySelector('[data-label="'+e+'"] .td__content')&&(b=s.querySelector('[data-label="'+e+'"] .td__content').textContent.trim()),o.length&&o.includes(b)&&(b=o.indexOf(b)),O(b)&&(b=B(b,10)),i&&i=="date"&&(b=new Date(b));const d={index:b,row:s};n.push(d)}),n.sort((s,b)=>s.index>b.index?1:-1),(a=="descending"||a=="desc")&&(n=n.reverse());let r="";n.forEach(s=>{r+=s.row.outerHTML}),l.innerHTML=r},ot=(t,e,a,i)=>{a.setAttribute("method","get");const l=t.querySelector("iam-actionbar");l&&l.addEventListener("change",o=>{a.submit()})},st=(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)}),l.addEventListener("search-submit",o=>{a.querySelector("input[data-search]")?a.querySelector("input[data-search]").value=o.detail.search:a.insertAdjacentHTML("beforeend",`<input type="hidden" name="search" data-search="${t.querySelector("iam-actionbar[data-search]").getAttribute("data-search")}" value="${o.detail.search}"/>`);const n=new CustomEvent("search-submit",{detail:o.details});t.dispatchEvent(n),y(t,e,a,i),console.log("hello")}))},y=function(t,e,a,i){return V(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(),n=e.querySelectorAll("thead tr th:not(.expand-button-heading)"),r=e.querySelector("tbody"),s=a.getAttribute("data-ajax");t.classList.add("table--loading");const b=J(a);Array.from(a.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML="",c.parentNode.classList.remove("hover")});let d=0;Object.values(b).forEach(c=>{typeof c=="object"&&Object.values(c).length?d+=Object.values(c).length:d++}),d&&Array.from(a.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML+=`(${d})`,c.parentNode.classList.add("hover")}),window.controller||(window.controller=[]),window.controller[s]&&window.controller[s].abort(),window.controller[s]=new AbortController;const{signal:m}=controller[s];i.setAttribute("data-loading","true"),a.classList.add("processing");try{yield fetch(s+"?"+o,{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 v=a.hasAttribute("data-schema")?a.getAttribute("data-schema"):"data",I=a.hasAttribute("data-schema-total")?a.getAttribute("data-schema-total"):"meta.total",F=a.hasAttribute("data-schema-page")?a.getAttribute("data-schema-page"):"meta.current_page",A=p(c,I,15),_=p(c,F,1),E=p(c,v),P=t.hasAttribute("data-empty-msg")?t.getAttribute("data-empty-msg"):"No results found";E?(r.innerHTML="",E.forEach(f=>{const g=document.createElement("tr");n.forEach(u=>{let h="";const k=document.createElement("td");if(k.setAttribute("data-label",u.innerText),u.getAttribute("data-output")&&(h=u.getAttribute("data-output").replace(new RegExp(/{(.*?)}/,"gm"),function(S){return p(f,S.replace("{","").replace("}",""))})),u.hasAttribute("data-output-array")){const j=u.getAttribute("data-output"),S=p(f,j.replace("{","").replace("}",""));h="",S.forEach(T=>{const N=u.getAttribute("data-output-array");let x="";if(u.hasAttribute("data-output-array-property")&&u.hasAttribute("data-output-array-transform")){const L=p(T,u.getAttribute("data-output-array-property")),R=JSON.parse(u.getAttribute("data-output-array-transform"))[L];x=N.replace(`{${u.getAttribute("data-output-array-property")}}`,R)}x=x.replace(new RegExp(/{(.*?)}/,"gm"),function(L){return p(T,L.replace("{","").replace("}",""))}),h+=x})}u.hasAttribute("data-transform")&&(h=JSON.parse(u.getAttribute("data-transform"))[h],!h&&u.hasAttribute("data-default")&&(h=u.getAttribute("data-default"))),k.innerHTML=h,g.appendChild(k)}),r.appendChild(g)}),t.setAttribute("data-total",parseInt(A)),t.setAttribute("data-page",parseInt(_)),i.setAttribute("data-total",A),i.setAttribute("data-page",_),Array.from(a.querySelectorAll("[data-ajax-query]")).forEach(f=>{const g=p(c,f.getAttribute("data-ajax-query"),"");f.hasAttribute("data-total")?f.setAttribute("data-total",g):f.innerHTML=g}),parseInt(A)==0&&(r.innerHTML=`<tr><td colspan="100%"><span>${P}</span></td></tr>`),t.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:s,formData:o}),M(t,e,a,i),z(t,e,a,i)):r.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',i.removeAttribute("data-loading"),a.classList.remove("processing"),e.querySelectorAll("tbody tr").length<parseInt(t.getAttribute("data-show"))&&i.classList.add("d-none")})}catch(c){console.log(c)}})};class rt 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const I=t=>t.charAt(0).toUpperCase()+t.slice(1),p=(t,i,a)=>i.split(/[\.\[\]\'\"]/).filter(e=>e).reduce((e,r)=>e?e[r]:a,t),E=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var P=function(t,i,a,e){function r(o){return o instanceof a?o:new a(function(n){n(o)})}return new(a||(a=Promise))(function(o,n){function s(b){try{m(e.next(b))}catch(d){n(d)}}function l(b){try{m(e.throw(b))}catch(d){n(d)}}function m(b){b.done?o(b.value):r(b.value).then(s,l)}m((e=e.apply(t,i||[])).next())})};const R=(t,i)=>{switch(t){case"datetime":return new Date(i).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(i).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(i).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return i=I(i)}},O=function(t){const i=new Object;return Array.from(t.querySelectorAll("[data-filter]")).forEach(e=>{if(!(e.type=="radio"&&!e.checked)&&!(e.type=="checkbox"&&!e.checked)&&e&&e.value){const r=e.getAttribute("data-filter");let o=e.value;e.hasAttribute("data-date-from")&&(o+="-date-from"),e.hasAttribute("data-date-to")&&(o+="-date-to"),i[r]||(i[r]=[]),i[r].push(o)}}),i},B=(t,i,a,e,r)=>{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")}" />`),e.addEventListener("update-show",o=>{if(a.querySelector("[name=show]").value!=o.detail.show){a.querySelector("[name=show]").value=o.detail.show;const n=new CustomEvent("update-show",{detail:{show:o.detail.show}});t.dispatchEvent(n),M(t,e),r()}}),e.addEventListener("update-page",o=>{if(a.querySelector("[name=page]").value!=o.detail.page){a.querySelector("[name=page]").value=o.detail.page;const n=new CustomEvent("update-page",{detail:{page:o.detail.page}});if(t.dispatchEvent(n),M(t,e),r(),!t.hasAttribute("data-no-scroll")){const l=i.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:l,behavior:"smooth"})}}})},N=(t,i)=>{let a=document.createElement("form");return t.hasAttribute("data-filterby")?a=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?a=t.closest("form"):t.querySelector("form")?a=t.querySelector("form"):i.parentNode.insertBefore(a,i.nextSibling),t.hasAttribute("data-ajax")&&a.setAttribute("data-ajax",t.getAttribute("data-ajax")),a},T=(t,i,a,e)=>{const r=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,e),U(i),V(t,i),t.classList.contains("mh-sm")&&r.classList.add("mh-sm"),t.classList.contains("mh-md")&&r.classList.add("mh-md"),t.classList.contains("mh-lg")&&r.classList.add("mh-lg"),t.classList.contains("table--cta")&&(J(t,i),X(t,i))},W=(t,i)=>{t.hasAttribute("data-total")&&i.setAttribute("data-total",t.getAttribute("data-total")),t.hasAttribute("data-page")&&i.setAttribute("data-page",t.getAttribute("data-page")),t.hasAttribute("data-show")&&i.setAttribute("data-show",t.getAttribute("data-show")),t.hasAttribute("data-increment")&&i.setAttribute("data-increment",t.getAttribute("data-show")),t.hasAttribute("data-page-jump")&&i.setAttribute("data-page-jump","true"),t.hasAttribute("data-per-page")&&i.setAttribute("data-per-page","true"),t.hasAttribute("data-item-count")&&i.setAttribute("data-item-count","true"),t.hasAttribute("data-loading")&&i.setAttribute("data-loading","true"),t.classList.contains("table--fullwidth")&&i.setAttribute("data-minimal","true")},M=(t,i)=>{t.setAttribute("data-total",i.getAttribute("data-total")),t.setAttribute("data-page",i.getAttribute("data-page")),t.setAttribute("data-show",i.getAttribute("data-show")),t.setAttribute("data-increment",i.getAttribute("data-show"))},U=t=>{const i=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(e=>{const r=Array.from(e.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"];r.forEach((n,s)=>{const l=i[s];if(typeof l<"u"){const m=document.createElement("div");m.innerHTML=l.innerHTML;const b=m.textContent||m.innerText||"";n.setAttribute("data-label",b),l.hasAttribute("data-td-class")&&n.setAttribute("class",l.getAttribute("data-td-class")),l.hasAttribute("data-format")&&(n.setAttribute("data-format",l.getAttribute("data-format")),n.innerHTML=R(l.getAttribute("data-format"),n.textContent.trim())),o.includes(n.textContent.trim().toLowerCase())&&n.setAttribute("data-content",n.textContent.trim().toLowerCase())}})})},V=(t,i)=>{if(t.classList.contains("table--fullwidth")&&!t.hasAttribute("data-expandable")||i.querySelectorAll("thead tr th").length<4&&!t.hasAttribute("data-expandable"))return!1;Array.from(i.querySelectorAll("thead tr")).forEach(a=>{i.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(i.querySelectorAll("tbody tr")).forEach((a,e)=>{const r=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 ${r} data-index="${e}">Expand</button></td>`)}),i.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-expand-button]")){const e=a.target.closest("[data-expand-button]"),r=e.closest("tr");e.toggleAttribute("aria-expanded"),r.getAttribute("data-view")=="full"?r.setAttribute("data-view","default"):r.setAttribute("data-view","full"),e.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:e.getAttribute("data-index")}}))}})},J=(t,i)=>{let a=0;Array.from(i.querySelectorAll("tbody tr")).forEach(e=>{const r=window.getComputedStyle(document.querySelector("html")),o=e.querySelector(":scope > *:last-child > *:first-child");if(o){o.classList.add("text-nowrap");let n=o.offsetWidth/parseFloat(r.fontSize);n+=1.8,a=a>n?a:n}}),t.style.setProperty("--cta-width",`${a}rem`)},X=(t,i)=>{function a(){Array.from(i.querySelectorAll("tr")).forEach(e=>{const r=e.offsetHeight;e.style.setProperty("--row-height",`${r}px`)})}new ResizeObserver(a).observe(i)},C=(t,i)=>{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,i,a)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach((a,e)=>{const o=a.closest(".dialog__wrapper").querySelector("dialog");if(o){const b=`menu${E(e)}`;o.setAttribute("id",b),o.setAttribute("popover","auto"),a.setAttribute("popovertarget",b),o.outerHTML=o.outerHTML.replace(/<dialog/g,"<iam-menu").replace(/<\/dialog>/g,"</iam-menu>")}a.classList.add("btn-sm"),a.classList.add("m-0");const n=a.closest("tr"),s=a.closest("td"),m=Array.prototype.slice.call(n.children).indexOf(s);s.classList.add("td--fixed"),i.querySelector(`thead tr th:nth-child(${m+1})`).classList.add("th--fixed")})},Y=(t,i,a)=>{Array.from(i.querySelectorAll("thead tr")).forEach(e=>{e.querySelector(".expand-button-heading")?e.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):e.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(i.querySelectorAll("tbody tr")).forEach((e,r)=>{if(e.setAttribute("data-index",r+1),!e.querySelector(".selectrow")){const o=`row${E(r)}`;e.querySelector(".td--expand")?e.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${e.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`):e.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${o}" ${e.hasAttribute("data-selected")?'checked="true"':""}/><label for="${o}"><span class="visually-hidden">Select row</span></label></td>`)}}),i.addEventListener("change",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest(".selectrow input")){const r=e.target.closest(".selectrow input"),o=e.target.closest("tr"),n=i.querySelectorAll('.selectrow input[type="checkbox"]').length,s=i.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;a.setAttribute("data-selected",n==s?"all":s);const l=new CustomEvent("row-selected",{detail:{rowIndex:o.getAttribute("data-index"),checked:!!r.checked}});t.dispatchEvent(l)}}),a.addEventListener("selected",e=>{if(e.detail.selected=="0"){Array.from(i.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!1});const r=new CustomEvent("all-rows-unselected");t.dispatchEvent(r)}else if(e.detail.selected=="all"){Array.from(i.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(o=>{o.checked=!0});const r=new CustomEvent("all-rows-selected");t.dispatchEvent(r)}})},G=(t,i,a,e)=>{x(t,i,a,e);const r=t.querySelector("iam-actionbar");a.addEventListener("submit",o=>{x(t,i,a,e),o.preventDefault()}),r&&(r.addEventListener("change",o=>{x(t,i,a,e)}),r.addEventListener("search-submit",o=>{a.querySelector("input[data-search]")?a.querySelector("input[data-search]").value=o.detail.search:a.insertAdjacentHTML("beforeend",`<input type="hidden" name="search" data-search="${t.querySelector("iam-actionbar[data-search]").getAttribute("data-search")}" value="${o.detail.search}"/>`);const n=new CustomEvent("search-submit",{detail:o.details});t.dispatchEvent(n),x(t,i,a,e),console.log("hello")}))},x=function(t,i,a,e){return P(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 r=new FormData(a),o=new URLSearchParams(r).toString(),n=i.querySelectorAll("thead tr th:not(.expand-button-heading)"),s=i.querySelector("tbody"),l=a.getAttribute("data-ajax");t.classList.add("table--loading");const m=O(a);Array.from(a.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML="",c.parentNode.classList.remove("hover")});let b=0;Object.values(m).forEach(c=>{typeof c=="object"&&Object.values(c).length?b+=Object.values(c).length:b++}),b&&Array.from(a.querySelectorAll("[data-filter-count]")).forEach(c=>{c.innerHTML+=`(${b})`,c.parentNode.classList.add("hover")}),window.controller||(window.controller=[]),window.controller[l]&&window.controller[l].abort(),window.controller[l]=new AbortController;const{signal:d}=controller[l];e.setAttribute("data-loading","true"),a.classList.add("processing");try{yield fetch(l+"?"+o,{signal:d,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 w=a.hasAttribute("data-schema")?a.getAttribute("data-schema"):"data",H=a.hasAttribute("data-schema-total")?a.getAttribute("data-schema-total"):"meta.total",$=a.hasAttribute("data-schema-page")?a.getAttribute("data-schema-page"):"meta.current_page",v=p(c,H,15),S=p(c,$,1),q=p(c,w),z=t.hasAttribute("data-empty-msg")?t.getAttribute("data-empty-msg"):"No results found";q?(s.innerHTML="",q.forEach(g=>{const f=document.createElement("tr");n.forEach(u=>{let h="";const A=document.createElement("td");if(A.setAttribute("data-label",u.innerText),u.getAttribute("data-output")&&(h=u.getAttribute("data-output").replace(new RegExp(/{(.*?)}/,"gm"),function(j){return p(g,j.replace("{","").replace("}",""))})),u.hasAttribute("data-output-array")){const k=u.getAttribute("data-output"),j=p(g,k.replace("{","").replace("}",""));h="",j.forEach(_=>{const D=u.getAttribute("data-output-array");let y="";if(u.hasAttribute("data-output-array-property")&&u.hasAttribute("data-output-array-transform")){const L=p(_,u.getAttribute("data-output-array-property")),F=JSON.parse(u.getAttribute("data-output-array-transform"))[L];y=D.replace(`{${u.getAttribute("data-output-array-property")}}`,F)}y=y.replace(new RegExp(/{(.*?)}/,"gm"),function(L){return p(_,L.replace("{","").replace("}",""))}),h+=y})}u.hasAttribute("data-transform")&&(h=JSON.parse(u.getAttribute("data-transform"))[h],!h&&u.hasAttribute("data-default")&&(h=u.getAttribute("data-default"))),A.innerHTML=h,f.appendChild(A)}),s.appendChild(f)}),t.setAttribute("data-total",parseInt(v)),t.setAttribute("data-page",parseInt(S)),e.setAttribute("data-total",v),e.setAttribute("data-page",S),Array.from(a.querySelectorAll("[data-ajax-query]")).forEach(g=>{const f=p(c,g.getAttribute("data-ajax-query"),"");g.hasAttribute("data-total")?g.setAttribute("data-total",f):g.innerHTML=f}),parseInt(v)==0&&(s.innerHTML=`<tr><td colspan="100%"><span>${z}</span></td></tr>`),t.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:l,formData:o}),T(t,i,a,e),C(t,i,a,e)):s.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',e.removeAttribute("data-loading"),a.classList.remove("processing"),i.querySelectorAll("tbody tr").length<parseInt(t.getAttribute("data-show"))&&e.classList.add("d-none")})}catch(c){console.log(c)}})};class K 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
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)}},p=(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",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),l()}}),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),l(),!t.hasAttribute("data-no-scroll")){const n=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:n,behavior:"smooth"})}}})},g=(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"):t.querySelector("form")?e=t.querySelector("form"):a.parentNode.insertBefore(e,a.nextSibling),t.hasAttribute("data-ajax")&&e.setAttribute("data-ajax",t.getAttribute("data-ajax")),e},f=(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")),w(t,i),v(a),y(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")&&(A(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"))},x=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"),l=a*e,r=l-e;Array.from(i.querySelectorAll("tbody tr")).forEach((o,m)=>{m>=r&&m<l?o.classList.add("show"):o.classList.remove("show")})},v=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")),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"];l.forEach((o,m)=>{const n=a[m];if(typeof n<"u"){const s=document.createElement("div");s.innerHTML=n.innerHTML;const b=s.textContent||s.innerText||"";o.setAttribute("data-label",b),n.hasAttribute("data-td-class")&&o.setAttribute("class",n.getAttribute("data-td-class")),n.hasAttribute("data-format")&&(o.setAttribute("data-format",n.getAttribute("data-format")),o.innerHTML=h(n.getAttribute("data-format"),o.textContent.trim())),r.includes(o.textContent.trim().toLowerCase())&&o.setAttribute("data-content",o.textContent.trim().toLowerCase())}})})},y=(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")}}))}})},A=(t,a)=>{let e=0;Array.from(a.querySelectorAll("tbody tr")).forEach(i=>{const l=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(l.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 l=i.offsetHeight;i.style.setProperty("--row-height",`${l}px`)})}new ResizeObserver(e).observe(a)};class j 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const v=function(t){return typeof t!="string"?!1:!isNaN(t)&&!isNaN(parseFloat(t))},A=(t,a)=>String(t).padStart(a,"0"),k=t=>t.charAt(0).toUpperCase()+t.slice(1),u=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),j=(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=k(a)}},L=(t,a)=>{let i=document.createElement("form");return t.hasAttribute("data-filterby")?i=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?i=t.closest("form"):t.querySelector("form")?i=t.querySelector("form"):a.parentNode.insertBefore(i,a.nextSibling),t.hasAttribute("data-ajax")&&i.setAttribute("data-ajax",t.getAttribute("data-ajax")),i},h=(t,a,i,e)=>{const s=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")),S(t,e),f(a),_(t,a),t.classList.contains("mh-sm")&&s.classList.add("mh-sm"),t.classList.contains("mh-md")&&s.classList.add("mh-md"),t.classList.contains("mh-lg")&&s.classList.add("mh-lg"),t.classList.contains("table--cta")&&(q(t,a),E(t,a))},S=(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")},p=(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"))},f=t=>{const a=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(e=>{const s=Array.from(e.querySelectorAll("th, td")),n=["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"];s.forEach((r,o)=>{const l=a[o];if(typeof l<"u"){const b=document.createElement("div");b.innerHTML=l.innerHTML;const m=b.textContent||b.innerText||"";r.setAttribute("data-label",m),l.hasAttribute("data-td-class")&&r.setAttribute("class",l.getAttribute("data-td-class")),l.hasAttribute("data-format")&&(r.setAttribute("data-format",l.getAttribute("data-format")),r.innerHTML=j(l.getAttribute("data-format"),r.textContent.trim())),n.includes(r.textContent.trim().toLowerCase())&&r.setAttribute("data-content",r.textContent.trim().toLowerCase())}})})},_=(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(i=>{a.querySelectorAll("thead tr th.expand-button-heading").length||i.insertAdjacentHTML("afterbegin",`<th class="${t.hasAttribute("data-expandable")?"th--fixed ":""}expand-button-heading"></th>`)}),Array.from(a.querySelectorAll("tbody tr")).forEach((i,e)=>{const s=i.getAttribute("data-view")==="full"?"aria-expanded":"";i.insertAdjacentHTML("afterbegin",`<td class="${t.hasAttribute("data-expandable")?"td--fixed ":""}td--expand"><button class="btn btn-compact btn-secondary btn-sm" data-expand-button ${s} data-index="${e}">Expand</button></td>`)}),a.addEventListener("click",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest("[data-expand-button]")){const e=i.target.closest("[data-expand-button]"),s=e.closest("tr");e.toggleAttribute("aria-expanded"),s.getAttribute("data-view")=="full"?s.setAttribute("data-view","default"):s.setAttribute("data-view","full"),e.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:e.getAttribute("data-index")}}))}})},q=(t,a)=>{let i=0;Array.from(a.querySelectorAll("tbody tr")).forEach(e=>{const s=window.getComputedStyle(document.querySelector("html")),n=e.querySelector(":scope > *:last-child > *:first-child");if(n){n.classList.add("text-nowrap");let r=n.offsetWidth/parseFloat(s.fontSize);r+=1.8,i=i>r?i:r}}),t.style.setProperty("--cta-width",`${i}rem`)},E=(t,a)=>{function i(){Array.from(a.querySelectorAll("tr")).forEach(e=>{const s=e.offsetHeight;e.style.setProperty("--row-height",`${s}px`)})}new ResizeObserver(i).observe(a)},g=(t,a)=>{if(t.querySelector("iam-actionbar[data-selectall]")||document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`)){const i=t.querySelector("iam-actionbar[data-selectall]")?t.querySelector("iam-actionbar[data-selectall]"):document.querySelector(`iam-actionbar[data-for='${t.getAttribute("id")}']`);C(t,a,i)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach((i,e)=>{const n=i.closest(".dialog__wrapper").querySelector("dialog");if(n){const m=`menu${u(e)}`;n.setAttribute("id",m),n.setAttribute("popover","auto"),i.setAttribute("popovertarget",m),n.outerHTML=n.outerHTML.replace(/<dialog/g,"<iam-menu").replace(/<\/dialog>/g,"</iam-menu>")}i.classList.add("btn-sm"),i.classList.add("m-0");const r=i.closest("tr"),o=i.closest("td"),b=Array.prototype.slice.call(r.children).indexOf(o);o.classList.add("td--fixed"),a.querySelector(`thead tr th:nth-child(${b+1})`).classList.add("th--fixed")})},C=(t,a,i)=>{Array.from(a.querySelectorAll("thead tr")).forEach(e=>{e.querySelector(".expand-button-heading")?e.querySelector(".expand-button-heading").insertAdjacentHTML("afterend",'<th class="th--fixed"></th>'):e.insertAdjacentHTML("afterbegin",'<th class="th--fixed"></th>')}),Array.from(a.querySelectorAll("tbody tr")).forEach((e,s)=>{if(e.setAttribute("data-index",s+1),!e.querySelector(".selectrow")){const n=`row${u(s)}`;e.querySelector(".td--expand")?e.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${n}" ${e.hasAttribute("data-selected")?'checked="true"':""}/><label for="${n}"><span class="visually-hidden">Select row</span></label></td>`):e.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${n}" ${e.hasAttribute("data-selected")?'checked="true"':""}/><label for="${n}"><span class="visually-hidden">Select row</span></label></td>`)}}),a.addEventListener("change",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest(".selectrow input")){const s=e.target.closest(".selectrow input"),n=e.target.closest("tr"),r=a.querySelectorAll('.selectrow input[type="checkbox"]').length,o=a.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;i.setAttribute("data-selected",r==o?"all":o);const l=new CustomEvent("row-selected",{detail:{rowIndex:n.getAttribute("data-index"),checked:!!s.checked}});t.dispatchEvent(l)}}),i.addEventListener("selected",e=>{if(e.detail.selected=="0"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(n=>{n.checked=!1});const s=new CustomEvent("all-rows-unselected");t.dispatchEvent(s)}else if(e.detail.selected=="all"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(n=>{n.checked=!0});const s=new CustomEvent("all-rows-selected");t.dispatchEvent(s)}})},x=(t,a,i,e,s)=>{M(t,a),T(t,a),i.addEventListener("change",n=>{n&&n.target instanceof HTMLElement&&n.target.closest("[data-sort]")&&$(a,i,s)})},M=(t,a)=>{a.addEventListener("click",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest("[data-sort]")){const e=i.target.closest("[data-sort]");e.setAttribute("data-sort","true"),Array.from(a.querySelectorAll("th[data-sort]")).forEach(o=>{o!=e&&(o.setAttribute("data-sort",""),o.removeAttribute("data-order-by"),e.setAttribute("title","Click to sort ascending"))}),e.hasAttribute("data-order-by")&&e.getAttribute("data-order-by")=="asc"?(e.setAttribute("data-order-by","desc"),e.setAttribute("title","Click to sort ascending")):(e.setAttribute("data-order-by","asc"),e.setAttribute("title","Click to sort descending"));const s=new CustomEvent("sort-by-heading",{detail:{heading:e.textContent,sortBy:e.getAttribute("data-order-by"),ref:e.getAttribute("data-ref")}});t.dispatchEvent(s);const n=e.textContent.trim(),r=e.getAttribute("data-order-by");t.hasAttribute("data-submit")||y(a,n,r)}})},T=(t,a)=>{var i;const e=t.querySelector("iam-actionbar");if(!e)return!1;const s=(i=e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input#search");if(!s)return!1;const n=s.getAttribute("id"),r=s.parentNode,o={};a.querySelectorAll("tbody td:not(.td--fixed)").forEach(l=>{l.querySelector(".td__content")?o[l.querySelector(".td__content").textContent]=l.querySelector(".td__content").textContent:o[l.textContent]=l.textContent}),s.setAttribute("list",`${n}_list`),s.setAttribute("autocomplete","off"),r.querySelector("datalist")||(r.innerHTML+=`<datalist id="${n}_list"></datalist>`),r.querySelector("datalist").innerHTML=`${Object.keys(o).map(l=>`<option value="${l}"></option>`).join("")}`},$=(t,a,i)=>{if(a.getAttribute("data-ajax"))return!1;const e=t.querySelector("tbody");let s=a.querySelector('input[type="radio"][data-sort]:checked');if(a.querySelector("select[data-sort]")){const l=a.querySelector("select[data-sort]");s=a.querySelector(`select[data-sort] option:nth-child(${l.selectedIndex+1})`)}const n=s.getAttribute("data-sort"),r=s.getAttribute("data-order"),o=s.getAttribute("data-format");if(!n)return e.innerHTML=i.innerHTML,f(t),!1;y(t,n,r,o)},y=(t,a,i,e="")=>{const s=t.querySelector("tbody");let n=[];["asc","desc","descending"].includes(i)||(n=i.split(","));let r=[];Array.from(s.querySelectorAll("tr")).forEach(l=>{let b=l.querySelector('td[data-label="'+a+'"], th[data-label="'+a+'"]').textContent.trim();l.querySelector('[data-label="'+a+'"] .td__content')&&(b=l.querySelector('[data-label="'+a+'"] .td__content').textContent.trim()),n.length&&n.includes(b)&&(b=n.indexOf(b)),v(b)&&(b=A(b,10)),e&&e=="date"&&(b=new Date(b));const m={index:b,row:l};r.push(m)}),r.sort((l,b)=>l.index>b.index?1:-1),(i=="descending"||i=="desc")&&(r=r.reverse());let o="";r.forEach(l=>{o+=l.row.outerHTML}),s.innerHTML=o};class z 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const f=t=>t.charAt(0).toUpperCase()+t.slice(1),u=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),g=(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=f(a)}},x=(t,a,e,i,s)=>{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",m=>{if(e.querySelector("[name=show]").value!=m.detail.show){e.querySelector("[name=show]").value=m.detail.show;const n=new CustomEvent("update-show",{detail:{show:m.detail.show}});t.dispatchEvent(n),h(t,i),s()}}),i.addEventListener("update-page",m=>{if(e.querySelector("[name=page]").value!=m.detail.page){e.querySelector("[name=page]").value=m.detail.page;const n=new CustomEvent("update-page",{detail:{page:m.detail.page}});if(t.dispatchEvent(n),h(t,i),s(),!t.hasAttribute("data-no-scroll")){const l=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:l,behavior:"smooth"})}}})},w=(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"):t.querySelector("form")?e=t.querySelector("form"):a.parentNode.insertBefore(e,a.nextSibling),t.hasAttribute("data-ajax")&&e.setAttribute("data-ajax",t.getAttribute("data-ajax")),e},y=(t,a,e,i)=>{const s=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")),v(t,i),A(a),k(t,a),t.classList.contains("mh-sm")&&s.classList.add("mh-sm"),t.classList.contains("mh-md")&&s.classList.add("mh-md"),t.classList.contains("mh-lg")&&s.classList.add("mh-lg"),t.classList.contains("table--cta")&&(j(t,a),L(t,a))},v=(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")},h=(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"))},A=t=>{const a=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(i=>{const s=Array.from(i.querySelectorAll("th, td")),m=["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"];s.forEach((n,o)=>{const l=a[o];if(typeof l<"u"){const b=document.createElement("div");b.innerHTML=l.innerHTML;const r=b.textContent||b.innerText||"";n.setAttribute("data-label",r),l.hasAttribute("data-td-class")&&n.setAttribute("class",l.getAttribute("data-td-class")),l.hasAttribute("data-format")&&(n.setAttribute("data-format",l.getAttribute("data-format")),n.innerHTML=g(l.getAttribute("data-format"),n.textContent.trim())),m.includes(n.textContent.trim().toLowerCase())&&n.setAttribute("data-content",n.textContent.trim().toLowerCase())}})})},k=(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 s=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 ${s} 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]"),s=i.closest("tr");i.toggleAttribute("aria-expanded"),s.getAttribute("data-view")=="full"?s.setAttribute("data-view","default"):s.setAttribute("data-view","full"),i.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},j=(t,a)=>{let e=0;Array.from(a.querySelectorAll("tbody tr")).forEach(i=>{const s=window.getComputedStyle(document.querySelector("html")),m=i.querySelector(":scope > *:last-child > *:first-child");if(m){m.classList.add("text-nowrap");let n=m.offsetWidth/parseFloat(s.fontSize);n+=1.8,e=e>n?e:n}}),t.style.setProperty("--cta-width",`${e}rem`)},L=(t,a)=>{function e(){Array.from(a.querySelectorAll("tr")).forEach(i=>{const s=i.offsetHeight;i.style.setProperty("--row-height",`${s}px`)})}new ResizeObserver(e).observe(a)},S=(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")}']`);_(t,a,e)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach((e,i)=>{const m=e.closest(".dialog__wrapper").querySelector("dialog");if(m){const r=`menu${u(i)}`;m.setAttribute("id",r),m.setAttribute("popover","auto"),e.setAttribute("popovertarget",r),m.outerHTML=m.outerHTML.replace(/<dialog/g,"<iam-menu").replace(/<\/dialog>/g,"</iam-menu>")}e.classList.add("btn-sm"),e.classList.add("m-0");const n=e.closest("tr"),o=e.closest("td"),b=Array.prototype.slice.call(n.children).indexOf(o);o.classList.add("td--fixed"),a.querySelector(`thead tr th:nth-child(${b+1})`).classList.add("th--fixed")})},_=(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,s)=>{if(i.setAttribute("data-index",s+1),!i.querySelector(".selectrow")){const m=`row${u(s)}`;i.querySelector(".td--expand")?i.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${m}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${m}"><span class="visually-hidden">Select row</span></label></td>`):i.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${m}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${m}"><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 s=i.target.closest(".selectrow input"),m=i.target.closest("tr"),n=a.querySelectorAll('.selectrow input[type="checkbox"]').length,o=a.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;e.setAttribute("data-selected",n==o?"all":o);const l=new CustomEvent("row-selected",{detail:{rowIndex:m.getAttribute("data-index"),checked:!!s.checked}});t.dispatchEvent(l)}}),e.addEventListener("selected",i=>{if(i.detail.selected=="0"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(m=>{m.checked=!1});const s=new CustomEvent("all-rows-unselected");t.dispatchEvent(s)}else if(i.detail.selected=="all"){Array.from(a.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(m=>{m.checked=!0});const s=new CustomEvent("all-rows-selected");t.dispatchEvent(s)}})},q=(t,a,e,i)=>{e.setAttribute("method","get");const s=t.querySelector("iam-actionbar");s&&s.addEventListener("change",m=>{e.submit()})};class E 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const k=(t,a,i,n)=>{const r=Math.tan(.375*Math.PI),s=window.innerWidth||document.body.clientWidth,o=Math.max(1,Math.floor(.01*s)),d=i-t,e=n-a,c=Math.abs(d/e),l=Math.abs(e/d);if(Math.abs(d)>o||Math.abs(e)>o){if(l<=r)return d<0?"left":"right";if(c<=r)return e<0?"top":"bottom"}else return"tap"},w=function(t){const a=t.querySelectorAll(":scope > details, :scope > a");let i=t.querySelector(":scope > .tabs__links"),n=t.querySelector(":scope .tabs__dropdown");if(t.shadowRoot&&t.shadowRoot.querySelector(".tabs__links")&&(i=t.shadowRoot.querySelector(".tabs__links")),!i){i=document.createElement("div"),i.classList.add("tabs__links");const s=document.createElement("div");s.classList.add("tabs__links__wrapper"),s.prepend(i),t.prepend(s)}n||(n=document.createElement("select"),n.classList.add("tabs__dropdown"),t.prepend(n));let r=0;a.forEach(s=>{let o=document.createElement("button");const d=document.createElement("option");if(s.matches("details")){const e=s.querySelector(":scope > summary"),c=e.classList.contains("disabled");e.classList.add("visually-hidden"),s.hasAttribute("id")&&o.setAttribute("data-id",`${s.getAttribute("id")}`),s.hasAttribute("open")&&o.setAttribute("aria-pressed",!0),o.innerHTML=`${e.innerText}`,o.classList.add("link"),o.setAttribute("data-index",r),o.setAttribute("part","tab-link"),d.innerHTML=`${e.innerText}`,d.value=e.innerText.replace(/\s+/g,"-").toLowerCase(),d.setAttribute("data-index",r),s.setAttribute("tabindex","-1"),c&&o.classList.add("disabled"),r++}else s.matches("a")&&(o=s);o.classList.add("link"),i.appendChild(o),n.appendChild(d)})},y=function(t){const a=t.querySelectorAll(":scope > details"),i=t.querySelectorAll(":scope > details > summary");let n=t.querySelector(":scope .tabs__links"),r=t.querySelectorAll(":scope .tabs__links > button");const s=t.querySelector(":scope .tabs__dropdown");let o=t.querySelector(":scope .tabs__next"),d;if(window.isClicked=!1,window.isScrolling=!1,t.shadowRoot&&(r=t.shadowRoot.querySelectorAll(".tabs__links > button"),n=t.shadowRoot.querySelector(".tabs__links"),o=t.shadowRoot.querySelector(".tabs__next")),r.forEach(e=>{e.addEventListener("click",c=>{if(c.preventDefault(),window.isClicked=!0,e.classList.contains("disabled"))return!1;r.forEach(l=>{const m=l==e;l.setAttribute("aria-pressed",m)}),n.scroll({top:0,left:e.offsetLeft,behavior:"smooth"}),f(a,e),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:e.textContent}),e.matches(":last-child")?o?.setAttribute("disabled","disabled"):o?.removeAttribute("disabled")}),_(a,s)}),n.addEventListener("scrollend",()=>{clearTimeout(d),d=setTimeout(function(){let e=r[0],c=Math.abs(e.getBoundingClientRect().left);if(r.forEach(l=>{Math.abs(l.getBoundingClientRect().left)<c&&(c=Math.abs(l.getBoundingClientRect().left),e=l)}),window.isClicked)return window.isClicked=!1,!1;e.click(),e.focus()},500)}),i.forEach((e,c)=>{e.addEventListener("click",l=>{l.preventDefault(),r[c].click()})}),o?.addEventListener("click",e=>{e.preventDefault();const l=n.querySelector('[aria-pressed="true"]').nextSibling;l&&l.click()}),t.classList.contains("tabs--guided")){let e=0,c=0,l=0,m=0;a.forEach(p=>{p.addEventListener("touchstart",b=>{b.stopPropagation(),e=b.changedTouches[0].screenX,c=b.changedTouches[0].screenY}),p.addEventListener("touchend",b=>{b.stopPropagation(),l=b.changedTouches[0].screenX,m=b.changedTouches[0].screenY;const g=k(e,c,l,m),u=n.querySelector('[aria-pressed="true"]'),h=u.nextSibling,v=u.previousSibling;switch(g){case"left":h&&h.click();break;case"right":v&&v.click();break}})})}},f=function(t,a){t.forEach((i,n)=>{const r=a.getAttribute("data-index")==n;r?i.setAttribute("open",r):i.removeAttribute("open")})},_=function(t,a){a.addEventListener("change",i=>{i.preventDefault();const n=a.options[a.selectedIndex];f(t,n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:n.innerText})})},x=function(t){if(!t.querySelector(":scope > details"))return!1;const a=t.querySelectorAll(":scope > details"),i=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]")||(a[0].setAttribute("open",!0),i[0].setAttribute("aria-pressed",!0))},z=function(t){w(t),y(t),x(t)};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"tabs"});class L 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.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const p=o=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:o})},h=(o,t,e)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:t}),e.forEach(r=>{o.addEventListener(r,function(i){const d={event:r,element:t,target:i.target};Object.keys(i.detail).forEach(a=>{const n=i.detail[a];d[a]=n}),window.dataLayer.push(d)})}),!0),b=`<div class="card__head" part="head">
5
5
  <slot name="head"></slot>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const o=i=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:i})};o("iam-word-count");class n extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */(function(v){typeof define=="function"&&define.amd?define(v):v()})((function(){"use strict";var v=o=>{o.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&o.classList.add("ie")},H=o=>{var t=function(a){var r=document.querySelector('label[for="'.concat(a.replace("#",""),'"]')),i=document.querySelector(a+" summary"),c=document.querySelector("dialog".concat(a)),n=document.querySelector("detail".concat(a));r instanceof HTMLElement?r.click():i instanceof HTMLElement?i.click():c instanceof HTMLElement?c.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&e.state.type=="pagination"){var a=document.querySelector("#".concat(e.state.form)),r=document.querySelector("#".concat(e.state.form," [data-pagination]"));r?r.value=e.state.page:a.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),a.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e.addEventListener("submit",a=>{var r;e.querySelector(":invalid")&&(e.classList.add("was-validated"),(r=e?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),a.preventDefault())})}),document.addEventListener("click",e=>{var a;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var r=e.target.closest("form");Array.from(r.querySelectorAll("[data-password-type]")).forEach(i=>{i.setAttribute("type","password")}),(r.querySelector(":invalid")||r.querySelector('.pwd-checker[data-strength="1"]')||r.querySelector('.pwd-checker[data-strength="2"]'))&&(r.classList.add("was-validated"),(a=r?.querySelector("input:invalid"))===null||a===void 0||a.scrollIntoView(),e.preventDefault()),r.querySelector("iam-multiselect[data-is-required][data-error]")&&(r.classList.add("was-validated"),e.preventDefault())}}),document.addEventListener("keydown",e=>{e.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{var a=e.closest("label");a.setAttribute("data-percent",e.getAttribute("value"))})},I=o=>(Array.from(o.querySelectorAll("dialog[open]")).forEach(t=>{var e=t.closest(".dialog__wrapper");e||(t.removeAttribute("open"),t.showModal(),t.focus(),L(t))}),o.addEventListener("click",t=>{if(t.target.tagName=="IAM-ACTIONBAR")return!1;if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-modal]")){var e=t.target.closest("[data-modal]"),a=e.hasAttribute("data-modal")?e.getAttribute("data-modal"):e.getAttribute("data-filter"),r=document.querySelector("dialog#".concat(a));if(L(r),r.showModal(),r.focus(),!r.querySelector("iam-multi-step")){var i=r.offsetWidth;r.setAttribute("style","max-width: ".concat(i,"px;"))}Array.from(r.querySelectorAll("[data-duplicate]")).forEach(g=>{var U=g.getAttribute("data-duplicate"),x=document.getElementById(U);if(g.checked!=x.checked){g.checked=x.checked;var X=new Event("change");g.dispatchEvent(X)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:a})}if(t&&t.target instanceof HTMLElement&&t.target.closest("button.dialog__close")){var c=t.target.closest("dialog[open]");t.preventDefault(),c.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.classList.remove("active")});var n=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:c.id}});t.target.dispatchEvent(n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:c.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest('button[formmethod="dialog"]')){var l=t.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest("dialog[open]")){var d=t.target.closest("dialog[open]"),s=window.getComputedStyle(d);if(s.display==="contents"&&(d=d.parentNode.closest("dialog[open]")),!d.classList.contains("dialog--transactional")&&!d.classList.contains("dialog--acknowledgement")){var u=d.getBoundingClientRect();(t.clientX<u.left||t.clientX>u.right||t.clientY<u.top||t.clientY>u.bottom)&&(t.target.closest("dialog *")||d.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:d.getAttribute("id")}))}}if(t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__wrapper > button")){var f=t.target.closest(".dialog__wrapper > button"),S=f.parentNode;if(S.querySelector("dialog")){t.stopPropagation();var q="openPopover",y=S.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=y&&f.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(g=>{g.removeAttribute("aria-expanded")}),y.hasAttribute("open"))y.close(),q="closePopover",y.removeAttribute("style"),f.removeAttribute("aria-expanded");else{y.show(),f.setAttribute("aria-expanded",!0);var k=f.getBoundingClientRect(),T=k.top,M=k.left;if(f.closest("iam-table")){var C=f.closest("iam-table").parentNode.getBoundingClientRect();T-=C.top,M-=C.left}y.classList.contains("dialog--fix")&&y.setAttribute("style","position:fixed;top: ".concat(T,"px; left: ").concat(M,"px; margin: 3rem 0 0 0;"))}var A=y.getBoundingClientRect(),F=A.bottom-window.scrollY,W=window.innerHeight-window.scrollY;if(F>W){var G=y.hasAttribute("style")?y.getAttribute("style")+" ":"";y.setAttribute("style",G+"transform: translate(0, calc(-100% - 4rem))"),A=y.getBoundingClientRect();var J=A.top-window.scrollY;J<100&&y.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:q,id:f.textContent})}}t&&t.target instanceof HTMLElement&&!t.target.closest("dialog[open]")&&!t.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach(g=>{g.removeAttribute("aria-expanded")}))}),null),L=o=>{if(!o.querySelector(":scope .mh-lg")&&!o.querySelector("iam-multi-step")){o.innerHTML='<div class="mh-lg">'.concat(o.innerHTML,"</div>");var t=o.querySelector(".mh-lg"),e=o.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(e){var a=e.previousSibling;t.before(e),a&&e.before(a)}}o.querySelector(":scope > button:first-child")||o.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function D(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",o=>{var t=o.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var e=o.target.closest("summary"),a=o.target.closest("a"),r=o.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),a&&window.dataLayer.push({event:"linkClicked",linkText:a.hasAttribute("title")?a.getAttribute("title")||"":a.textContent||"",class:a.hasAttribute("class")&&a.getAttribute("class")||"",href:a.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}})}function B(o){var t=new TextEncoder("utf-8").encode(o);return crypto.subtle.digest("SHA-1",t).then(function(e){for(var a=[],r=new DataView(e),i=0;i<r.byteLength;i+=4){var c=r.getUint32(i),n=c.toString(16),l="00000000",d=(l+n).slice(-l.length);a.push(d)}return a.join("")})}var V=(o,t)=>{B(o).then(function(e){var a=new XMLHttpRequest;a.addEventListener("load",function(){var r=this.responseText.split(`
5
5
  `),i=e.slice(5).toUpperCase(),c=!1;for(var n in r)if(r[n].substring(0,35)==i){c=!0;break}var l=new CustomEvent("hibpCheck",{detail:c});t.dispatchEvent(l)}),a.open("GET","https://api.pwnedpasswords.com/range/"+e.substr(0,5)),a.send()})},N=o=>{function t(){if(document.querySelector('input[type="date"]')){let a=function(r){var i=r.getFullYear(),c=String(r.getMonth()+1).padStart(2,"0"),n=String(r.getDate()).padStart(2,"0");return"".concat(i,"-").concat(c,"-").concat(n)};var e=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(r=>{var i=e;if(r.hasAttribute("data-start")&&(i.setDate(i.getDate()+parseInt(r.getAttribute("data-start"))),r.setAttribute("min",a(i))),r.hasAttribute("data-period")){var c=parseInt(r.getAttribute("data-period")),n=new Date;n.setDate(i.getDate()+c),r.setAttribute("max",a(n))}if(r.hasAttribute("data-allowed-days")){var l=JSON.parse("[".concat(r.getAttribute("data-allowed-days"),"]"));r.addEventListener("input",function(){var d=new Date(this.value).getUTCDay();l.includes(d)?r.setCustomValidity(""):r.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&t(),document.onreadystatechange=()=>{document.readyState==="complete"&&t()},o.addEventListener("input",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("input,textarea,select")){var a=e.target.closest("input,textarea,select");a.hasAttribute("type")&&a.getAttribute("type")=="color"&&(a.nextElementSibling.value=a.value),a.hasAttribute("data-strength-checker")&&b(a)}}),o.addEventListener("change",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("select")){var a=e.target.closest("select");if(a.hasAttribute("data-change-type")&&a.hasAttribute("data-input")){var r=document.getElementById(a.getAttribute("data-input")),i=a.value;E(r,i)}}if(e&&e.target instanceof HTMLElement&&e.target.closest('dialog [type="radio"]')){var c=e.target.closest("dialog");Array.from(c.querySelectorAll('[type="radio"][autofocus]')).forEach(n=>{n.removeAttribute("autofocus")}),Array.from(c.querySelectorAll('[type="radio"]:checked')).forEach(n=>{n.setAttribute("autofocus",!0)})}}),o.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-type][data-input]:not(select)")){var a=e.target.closest("[data-change-type]"),r=document.getElementById(a.getAttribute("data-input")),i=a.getAttribute("data-change-type");if(a.setAttribute("data-change-type",r.getAttribute("type")),E(r,i),a.hasAttribute("data-alt-class")){var c=a.getAttribute("data-alt-class");a.setAttribute("data-alt-class",a.getAttribute("class")),a.setAttribute("class",c)}}})},E=(o,t)=>{o.hasAttribute("type")&&o.getAttribute("type")=="password"&&o.setAttribute("data-password-type",!0),o.setAttribute("type",t)},b=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",a=document.getElementById(t.getAttribute("data-strength-checker")),r=t.value,i=t.hasAttribute("minlength")?t.getAttribute("minlength"):12,c=1,n=["Very weak","Weak","Average","Strong","Very strong"],l="";if(r.match(/(?=.*[0-9])/)&&(c+=1),r.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(c+=1),r.match(/(?=.*[a-z])/)&&(c+=1),r.match(/(?=.*[A-Z])/)&&(c+=1),r.length<i&&(c=1,l="(must be at least ".concat(i," characters.)")),c>=3&&e=="no"){let d=function(s,u){s.detail?b(u,"danger"):b(u,"success"),u.removeEventListener("hibpCheck",d)};V(r,t),t.addEventListener("hibpCheck",function(s){d(s,t)})}else c>=3&&e=="danger"&&(c=3,l="(this password is very common)");a&&(c<=3?a.classList.add("invalid-feedback"):a.classList.remove("invalid-feedback"),a.setAttribute("data-strength",c),a.innerHTML="Password strength: ".concat(n[c-1]," ").concat(l))};window.triggerDynamicEvent=function(o){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),o.hasAttribute("data-change-events")&&t=="change"&&p(o,o.getAttribute("data-change-events")),o.hasAttribute("data-click-events")&&t=="click"&&p(o,o.getAttribute("data-click-events"))};var Y=()=>{document.addEventListener("change",o=>{o&&o.target instanceof HTMLElement&&o.target.closest("[data-change-events]")&&p(o.target,o.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",o=>{o&&o.target instanceof HTMLElement&&o.target.closest("[data-change-events]")&&p(o.target,o.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",o=>{o&&o.target instanceof HTMLElement&&o.target.closest("[data-click-events]")&&p(o.target,o.target.closest("[data-click-events]").getAttribute("data-click-events"))})},p=(o,t)=>{if(t||(t=o.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(e=>{_(o,e)})},_=(o,t)=>{if("matches"in t)return t.matches=="any"||o.value==t.matches?m(o,t,"if"):m(o,t,"else"),!1;if("in-list"in t){var e=document.querySelector("".concat(t["in-list"],' option[value="').concat(o.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(o.value,'"]'))?m(e,t,"if"):m(e,t,"else"),!1}else"event"in t&&m(o,t,"event")},m=(o,t,e)=>{if(!(e in t))return!1;switch(t[e]){case"hide":if(document.querySelector(t.target)){var a=document.querySelector(t.target);a.classList.add("js-hide"),Array.from(a.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":P(o,t);break;case"dispatchEvent":var i=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var c=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(c);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},P=function(t,e){var a=JSON.parse(t.getAttribute("data-values")),r=document.querySelector(e.target);if(!a)return!1;Object.keys(a).forEach(i=>{document.getElementById(i)&&document.getElementById(i).tagName=="SPAN"&&(document.getElementById(i).innerHTML=a[i]),r.querySelector('select[name="'.concat(i,'"] [value="').concat(a[i],'"]'))?(r.querySelector('select[name="'.concat(i,'"]')).value=a[i],t.hasAttribute("data-lock-fields")&&(r.querySelector('select[name="'.concat(i,'"]')).disabled=!0)):r.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]'))?(Array.from(r.querySelectorAll('input[name="'.concat(i,'"][type="radio"]'))).forEach(function(c){c.disabled=!0}),r.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]')).checked=!0,r.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(a[i],'"]')).disabled=!1):r.querySelector('input[name="'.concat(i,'"]'))&&(r.querySelector('input[name="'.concat(i,'"]')).value=a[i],t.hasAttribute("data-lock-fields")&&r.querySelector('input[name="'.concat(i,'"]')).setAttribute("readonly","true"))})},h=function(o,t,e,a){function r(i){return i instanceof e?i:new e(function(c){c(i)})}return new(e||(e=Promise))(function(i,c){function n(s){try{d(a.next(s))}catch(u){c(u)}}function l(s){try{d(a.throw(s))}catch(u){c(u)}}function d(s){s.done?i(s.value):r(s.value).then(n,l)}d((a=a.apply(o,t||[])).next())})},j=o=>h(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w()),setTimeout(()=>h(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield w())}),"2000"),o.addEventListener("click",t=>h(void 0,void 0,void 0,function*(){var e=t.target.closest(".youtube-link[data-youtube]");if(e||(e=t.target.closest(".vimeo-link[data-vimeo]")),e&&e.hasAttribute("data-youtube")){t.preventDefault(),document.body.classList.contains("youtubeLoaded")||(yield w());var a="youtube-"+e.getAttribute("data-youtube");document.getElementById("".concat(a,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(a,'-dialog"><div class="embed" id="').concat(a,'"></div></dialog>'));var r=document.getElementById("".concat(a,"-dialog")),i=document.getElementById(a),c=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:e.getAttribute("data-youtube")}});e.dispatchEvent(c),window.dataLayer.push(c.detail),R(i,e.getAttribute("data-youtube")),r.showModal(),r.addEventListener("close",()=>{window.player[i.getAttribute("id")]&&typeof window.player[i.getAttribute("id")].pauseVideo=="function"&&window.player[i.getAttribute("id")].pauseVideo();var f=new CustomEvent("close-video",{detail:{"Video Type":"YoutTube",ID:e.getAttribute("data-youtube")}});e.dispatchEvent(f),window.dataLayer.push(f.detail)})}else if(e&&e.hasAttribute("data-vimeo")){t.preventDefault();var n="vimeo-"+e.getAttribute("data-youtube");document.getElementById("".concat(n,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(n,'-dialog"><div class="embed" id="').concat(n,'"></div></dialog>'));var l=document.getElementById("".concat(n,"-dialog")),d=document.getElementById(n),s=e.getAttribute("data-vimeo"),u=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:s}});e.dispatchEvent(u),window.dataLayer.push(u.detail),d.querySelector("iframe")||(d.innerHTML='<iframe src="https://player.vimeo.com/video/'.concat(s,'?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>')),l.showModal(),l.addEventListener("close",()=>{d.innerHTML="";var f=new CustomEvent("close-video",{detail:{"Video Type":"Vimeo",ID:e.getAttribute("data-vimeo")}});e.dispatchEvent(f),window.dataLayer.push(f.detail)})}}))}),w=()=>h(void 0,void 0,void 0,function*(){return new Promise((o,t)=>{var e=new Image;e.onload=function(){var a=document.createElement("script");a.src="https://www.youtube.com/iframe_api";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(a,r),document.body.classList.add("youtubeLoaded"),o(!0)},e.onerror=function(){t(!1)},e.src="https://youtube.com/favicon.ico"})}),R=(o,t)=>h(void 0,void 0,void 0,function*(){typeof window.player>"u"&&(window.player=[]);var e=o.getAttribute("id");if(typeof window.player[e]<"u"&&typeof window.player[e].pauseVideo=="function")return window.player[e].playVideo(),!1;window.player[e]=new YT.Player(e,{height:"100%",width:"100%",videoId:t,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:a,onStateChange:i}});function a(c){c.target.playVideo()}var r=!1;function i(c){if(c.data==YT.PlayerState.PLAYING&&!r){var n=document.getElementById(e);n.classList.add("player-ready"),r=!0}}}),O=function(o,t,e,a){function r(i){return i instanceof e?i:new e(function(c){c(i)})}return new(e||(e=Promise))(function(i,c){function n(s){try{d(a.next(s))}catch(u){c(u)}}function l(s){try{d(a.throw(s))}catch(u){c(u)}}function d(s){s.done?i(s.value):r(s.value).then(n,l)}d((a=a.apply(o,t||[])).next())})};document.addEventListener("DOMContentLoaded",()=>O(void 0,void 0,void 0,function*(){D(),Y(),v(document.body),H(),I(document.body),N(document.body),j(document.body)}))}));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta5
2
+ * iamKey v7.5.1--beta6
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */
5
5
  !function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";var e=e=>{if(!e.querySelector(":scope .mh-lg")&&!e.querySelector("iam-multi-step")){e.innerHTML='<div class="mh-lg">'.concat(e.innerHTML,"</div>");var t=e.querySelector(".mh-lg"),a=e.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(a){var o=a.previousSibling;t.before(a),o&&a.before(o)}}e.querySelector(":scope > button:first-child")||e.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')},t=(e,t)=>{(function(e){var t=new TextEncoder("utf-8").encode(e);return crypto.subtle.digest("SHA-1",t).then(function(e){for(var t=[],a=new DataView(e),o=0;o<a.byteLength;o+=4){var n=("00000000"+a.getUint32(o).toString(16)).slice(-8);t.push(n)}return t.join("")})})(e).then(function(e){var a=new XMLHttpRequest;a.addEventListener("load",function(){var a=this.responseText.split("\n"),o=e.slice(5).toUpperCase(),n=!1;for(var r in a)if(a[r].substring(0,35)==o){n=!0;break}var i=new CustomEvent("hibpCheck",{detail:n});t.dispatchEvent(i)}),a.open("GET","https://api.pwnedpasswords.com/range/"+e.substr(0,5)),a.send()})},a=e=>{function t(){if(document.querySelector('input[type="date"]')){let t=function(e){var t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(a,"-").concat(o)};var e=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(a=>{var o=e;if(a.hasAttribute("data-start")&&(o.setDate(o.getDate()+parseInt(a.getAttribute("data-start"))),a.setAttribute("min",t(o))),a.hasAttribute("data-period")){var n=parseInt(a.getAttribute("data-period")),r=new Date;r.setDate(o.getDate()+n),a.setAttribute("max",t(r))}if(a.hasAttribute("data-allowed-days")){var i=JSON.parse("[".concat(a.getAttribute("data-allowed-days"),"]"));a.addEventListener("input",function(){var e=new Date(this.value).getUTCDay();i.includes(e)?a.setCustomValidity(""):a.setCustomValidity("That day of the week is not allowed")})}})}}"complete"===document.readyState&&t(),document.onreadystatechange=()=>{"complete"===document.readyState&&t()},e.addEventListener("input",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("input,textarea,select")){var t=e.target.closest("input,textarea,select");t.hasAttribute("type")&&"color"==t.getAttribute("type")&&(t.nextElementSibling.value=t.value),t.hasAttribute("data-strength-checker")&&n(t)}}),e.addEventListener("change",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("select")){var t=e.target.closest("select");if(t.hasAttribute("data-change-type")&&t.hasAttribute("data-input")){var a=document.getElementById(t.getAttribute("data-input")),n=t.value;o(a,n)}}if(e&&e.target instanceof HTMLElement&&e.target.closest('dialog [type="radio"]')){var r=e.target.closest("dialog");Array.from(r.querySelectorAll('[type="radio"][autofocus]')).forEach(e=>{e.removeAttribute("autofocus")}),Array.from(r.querySelectorAll('[type="radio"]:checked')).forEach(e=>{e.setAttribute("autofocus",!0)})}}),e.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-type][data-input]:not(select)")){var t=e.target.closest("[data-change-type]"),a=document.getElementById(t.getAttribute("data-input")),n=t.getAttribute("data-change-type");if(t.setAttribute("data-change-type",a.getAttribute("type")),o(a,n),t.hasAttribute("data-alt-class")){var r=t.getAttribute("data-alt-class");t.setAttribute("data-alt-class",t.getAttribute("class")),t.setAttribute("class",r)}}})},o=(e,t)=>{e.hasAttribute("type")&&"password"==e.getAttribute("type")&&e.setAttribute("data-password-type",!0),e.setAttribute("type",t)},n=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"no",o=document.getElementById(e.getAttribute("data-strength-checker")),r=e.value,i=e.hasAttribute("minlength")?e.getAttribute("minlength"):12,c=1,d="";if(r.match(/(?=.*[0-9])/)&&(c+=1),r.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(c+=1),r.match(/(?=.*[a-z])/)&&(c+=1),r.match(/(?=.*[A-Z])/)&&(c+=1),r.length<i&&(c=1,d="(must be at least ".concat(i," characters.)")),c>=3&&"no"==a){let a=function(e,t){e.detail?n(t,"danger"):n(t,"success"),t.removeEventListener("hibpCheck",a)};t(r,e),e.addEventListener("hibpCheck",function(t){a(t,e)})}else c>=3&&"danger"==a&&(c=3,d="(this password is very common)");o&&(c<=3?o.classList.add("invalid-feedback"):o.classList.remove("invalid-feedback"),o.setAttribute("data-strength",c),o.innerHTML="Password strength: ".concat(["Very weak","Weak","Average","Strong","Very strong"][c-1]," ").concat(d))};window.triggerDynamicEvent=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),e.hasAttribute("data-change-events")&&"change"==t&&r(e,e.getAttribute("data-change-events")),e.hasAttribute("data-click-events")&&"click"==t&&r(e,e.getAttribute("data-click-events"))};var r=(e,t)=>{if(t||(t=e.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(t=>{i(e,t)})},i=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?c(e,t,"if"):c(e,t,"else"),!1;if("in-list"in t){var a=document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'))?c(a,t,"if"):c(a,t,"else"),!1}"event"in t&&c(e,t,"event")},c=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var o=document.querySelector(t.target);o.classList.add("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(e=>{e.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var n=document.querySelector(t.target);n.classList.remove("js-hide"),Array.from(n.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":d(e,t);break;case"dispatchEvent":var r=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(r);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value)}},d=function(e,t){var a=JSON.parse(e.getAttribute("data-values")),o=document.querySelector(t.target);if(!a)return!1;Object.keys(a).forEach(t=>{document.getElementById(t)&&"SPAN"==document.getElementById(t).tagName&&(document.getElementById(t).innerHTML=a[t]),o.querySelector('select[name="'.concat(t,'"] [value="').concat(a[t],'"]'))?(o.querySelector('select[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(t,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(t,'"][type="radio"]'))).forEach(function(e){e.disabled=!0}),o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).checked=!0,o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).disabled=!1):o.querySelector('input[name="'.concat(t,'"]'))&&(o.querySelector('input[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(t,'"]')).setAttribute("readonly","true"))})},l=function(e,t,a,o){return new(a||(a=Promise))(function(n,r){function i(e){try{d(o.next(e))}catch(e){r(e)}}function c(e){try{d(o.throw(e))}catch(e){r(e)}}function d(e){e.done?n(e.value):function(e){return e instanceof a?e:new a(function(t){t(e)})}(e.value).then(i,c)}d((o=o.apply(e,t||[])).next())})},s=()=>l(void 0,void 0,void 0,function*(){return new Promise((e,t)=>{var a=new Image;a.onload=function(){var t=document.createElement("script");t.src="https://www.youtube.com/iframe_api";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(t,a),document.body.classList.add("youtubeLoaded"),e(!0)},a.onerror=function(){t(!1)},a.src="https://youtube.com/favicon.ico"})});document.addEventListener("DOMContentLoaded",()=>{return t=void 0,o=void 0,i=function*(){var t,o;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",e=>{var t=e.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var a=e.target.closest("summary"),o=e.target.closest("a"),n=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),o&&window.dataLayer.push({event:"linkClicked",linkText:o.hasAttribute("title")?o.getAttribute("title")||"":o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||"",href:o.getAttribute("href")||""}),n&&window.dataLayer.push({event:"buttonClicked",buttonText:n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||""})}}),document.addEventListener("change",e=>{e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-events]")&&r(e.target,e.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",e=>{e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-events]")&&r(e.target,e.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",e=>{e&&e.target instanceof HTMLElement&&e.target.closest("[data-click-events]")&&r(e.target,e.target.closest("[data-click-events]").getAttribute("data-click-events"))}),(o=document.body).classList.add("js-enabled"),(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&o.classList.add("ie"),t=function(e){var t=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),a=document.querySelector(e+" summary"),o=document.querySelector("dialog".concat(e)),n=document.querySelector("detail".concat(e));t instanceof HTMLElement?t.click():a instanceof HTMLElement?a.click():o instanceof HTMLElement?o.showModal():n instanceof HTMLElement&&n.addAttribute("open")},location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&"pagination"==e.state.type){var t=document.querySelector("#".concat(e.state.form)),a=document.querySelector("#".concat(e.state.form," [data-pagination]"));a?a.value=e.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e.addEventListener("submit",t=>{var a;e.querySelector(":invalid")&&(e.classList.add("was-validated"),null===(a=e?.querySelector("input:invalid"))||void 0===a||a.scrollIntoView(),t.preventDefault())})}),document.addEventListener("click",e=>{var t;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var a=e.target.closest("form");Array.from(a.querySelectorAll("[data-password-type]")).forEach(e=>{e.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),null===(t=a?.querySelector("input:invalid"))||void 0===t||t.scrollIntoView(),e.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),e.preventDefault())}}),document.addEventListener("keydown",e=>{"Escape"===e.key&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{e.closest("label").setAttribute("data-percent",e.getAttribute("value"))}),(t=>{Array.from(t.querySelectorAll("dialog[open]")).forEach(t=>{t.closest(".dialog__wrapper")||(t.removeAttribute("open"),t.showModal(),t.focus(),e(t))}),t.addEventListener("click",t=>{if("IAM-ACTIONBAR"==t.target.tagName)return!1;if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-modal]")){var a=t.target.closest("[data-modal]"),o=a.hasAttribute("data-modal")?a.getAttribute("data-modal"):a.getAttribute("data-filter"),n=document.querySelector("dialog#".concat(o));if(e(n),n.showModal(),n.focus(),!n.querySelector("iam-multi-step")){var r=n.offsetWidth;n.setAttribute("style","max-width: ".concat(r,"px;"))}Array.from(n.querySelectorAll("[data-duplicate]")).forEach(e=>{var t=e.getAttribute("data-duplicate"),a=document.getElementById(t);if(e.checked!=a.checked){e.checked=a.checked;var o=new Event("change");e.dispatchEvent(o)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:o})}if(t&&t.target instanceof HTMLElement&&t.target.closest("button.dialog__close")){var i=t.target.closest("dialog[open]");t.preventDefault(),i.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(e=>{e.classList.remove("active")});var c=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:i.id}});t.target.dispatchEvent(c),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest('button[formmethod="dialog"]')){var d=t.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(e=>{e.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:d.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest("dialog[open]")){var l=t.target.closest("dialog[open]");if("contents"===window.getComputedStyle(l).display&&(l=l.parentNode.closest("dialog[open]")),!l.classList.contains("dialog--transactional")&&!l.classList.contains("dialog--acknowledgement")){var s=l.getBoundingClientRect();(t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)&&(t.target.closest("dialog *")||l.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")}))}}if(t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__wrapper > button")){var u=t.target.closest(".dialog__wrapper > button"),g=u.parentNode;if(g.querySelector("dialog")){t.stopPropagation();var p="openPopover",y=g.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=y&&u.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(e=>{e.removeAttribute("aria-expanded")}),y.hasAttribute("open"))y.close(),p="closePopover",y.removeAttribute("style"),u.removeAttribute("aria-expanded");else{y.show(),u.setAttribute("aria-expanded",!0);var m=u.getBoundingClientRect(),v=m.top,f=m.left;if(u.closest("iam-table")){var b=u.closest("iam-table").parentNode.getBoundingClientRect();v-=b.top,f-=b.left}y.classList.contains("dialog--fix")&&y.setAttribute("style","position:fixed;top: ".concat(v,"px; left: ").concat(f,"px; margin: 3rem 0 0 0;"))}var h=y.getBoundingClientRect();if(h.bottom-window.scrollY>window.innerHeight-window.scrollY){var w=y.hasAttribute("style")?y.getAttribute("style")+" ":"";y.setAttribute("style",w+"transform: translate(0, calc(-100% - 4rem))"),(h=y.getBoundingClientRect()).top-window.scrollY<100&&y.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:p,id:u.textContent})}}t&&t.target instanceof HTMLElement&&!t.target.closest("dialog[open]")&&!t.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach(e=>{e.removeAttribute("aria-expanded")}))})})(document.body),a(document.body),(e=>{l(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield s()),setTimeout(()=>l(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield s())}),"2000"),e.addEventListener("click",e=>l(void 0,void 0,void 0,function*(){var t=e.target.closest(".youtube-link[data-youtube]");if(t||(t=e.target.closest(".vimeo-link[data-vimeo]")),t&&t.hasAttribute("data-youtube")){e.preventDefault(),document.body.classList.contains("youtubeLoaded")||(yield s());var a="youtube-"+t.getAttribute("data-youtube");document.getElementById("".concat(a,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(a,'-dialog"><div class="embed" id="').concat(a,'"></div></dialog>'));var o=document.getElementById("".concat(a,"-dialog")),n=document.getElementById(a),r=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:t.getAttribute("data-youtube")}});t.dispatchEvent(r),window.dataLayer.push(r.detail),((e,t)=>{l(void 0,void 0,void 0,function*(){typeof window.player>"u"&&(window.player=[]);var a=e.getAttribute("id");if(typeof window.player[a]<"u"&&"function"==typeof window.player[a].pauseVideo)return window.player[a].playVideo(),!1;window.player[a]=new YT.Player(a,{height:"100%",width:"100%",videoId:t,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:function(e){e.target.playVideo()},onStateChange:function(e){e.data!=YT.PlayerState.PLAYING||o||(document.getElementById(a).classList.add("player-ready"),o=!0)}}});var o=!1})})(n,t.getAttribute("data-youtube")),o.showModal(),o.addEventListener("close",()=>{window.player[n.getAttribute("id")]&&"function"==typeof window.player[n.getAttribute("id")].pauseVideo&&window.player[n.getAttribute("id")].pauseVideo();var e=new CustomEvent("close-video",{detail:{"Video Type":"YoutTube",ID:t.getAttribute("data-youtube")}});t.dispatchEvent(e),window.dataLayer.push(e.detail)})}else if(t&&t.hasAttribute("data-vimeo")){e.preventDefault();var i="vimeo-"+t.getAttribute("data-youtube");document.getElementById("".concat(i,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(i,'-dialog"><div class="embed" id="').concat(i,'"></div></dialog>'));var c=document.getElementById("".concat(i,"-dialog")),d=document.getElementById(i),u=t.getAttribute("data-vimeo"),g=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:u}});t.dispatchEvent(g),window.dataLayer.push(g.detail),d.querySelector("iframe")||(d.innerHTML='<iframe src="https://player.vimeo.com/video/'.concat(u,'?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>')),c.showModal(),c.addEventListener("close",()=>{d.innerHTML="";var e=new CustomEvent("close-video",{detail:{"Video Type":"Vimeo",ID:t.getAttribute("data-vimeo")}});t.dispatchEvent(e),window.dataLayer.push(e.detail)})}}))})})(document.body)},new((n=void 0)||(n=Promise))(function(e,a){function r(e){try{d(i.next(e))}catch(e){a(e)}}function c(e){try{d(i.throw(e))}catch(e){a(e)}}function d(t){t.done?e(t.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(t.value).then(r,c)}d((i=i.apply(t,o||[])).next())});var t,o,n,i})});
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import { isValidPostcode } from '../modules/helpers.js';
3
3
  describe('The postcode helper function', () => {
4
+ // #region valid pattern variations
4
5
  test('should return true when testing the postcode "ne33hd"', () => {
5
6
  expect(isValidPostcode("ne33hd")).toBe(true);
6
7
  });
@@ -19,8 +20,60 @@ describe('The postcode helper function', () => {
19
20
  test('should return true when testing the postcode " NE33HD "', () => {
20
21
  expect(isValidPostcode(" NE33HD ")).toBe(true);
21
22
  });
22
- // false results
23
+ // #endregion
24
+ // #region Valid postcodes
25
+ test('should return true when testing the postcode "NE3 5DP"', () => {
26
+ expect(isValidPostcode("NE3 5DP")).toBe(true);
27
+ });
28
+ test('should return true when testing the postcode "CW11 1SX"', () => {
29
+ expect(isValidPostcode("CW11 1SX")).toBe(true);
30
+ });
31
+ test('should return true when testing the postcode "NE21 6RB"', () => {
32
+ expect(isValidPostcode("NE21 6RB")).toBe(true);
33
+ });
34
+ test('should return true when testing the postcode "SW1A 1AA"', () => {
35
+ expect(isValidPostcode("SW1A 1AA")).toBe(true);
36
+ });
37
+ test('should return true when testing the postcode "M1 1AE"', () => {
38
+ expect(isValidPostcode("M1 1AE")).toBe(true);
39
+ });
40
+ // #endregion
41
+ // incorrect pattern
23
42
  test('should return false when testing the postcode "NE3"', () => {
24
43
  expect(isValidPostcode("NE3")).toBe(false);
25
44
  });
45
+ // #region Invalid postcodes correct pattern
46
+ test('should return false when testing the postcode "Q1A 4BT"', () => {
47
+ expect(isValidPostcode("Q1A 4BT")).toBe(true);
48
+ });
49
+ test('should return false when testing the postcode "AB0 7RE"', () => {
50
+ expect(isValidPostcode("AB0 7RE")).toBe(true);
51
+ });
52
+ test('should return false when testing the postcode "LN0A 4JP"', () => {
53
+ expect(isValidPostcode("LN0A 4JP")).toBe(true);
54
+ });
55
+ test('should return false when testing the postcode "WS0 9ND"', () => {
56
+ expect(isValidPostcode("WS0 9ND")).toBe(true);
57
+ });
58
+ test('should return false when testing the postcode "X8 2HR"', () => {
59
+ expect(isValidPostcode("X8 2HR")).toBe(true);
60
+ });
61
+ // #endregion
62
+ // #region Invalid postcodes incorrect pattern
63
+ test('should return false when testing the postcode "ZZ2 TYD"', () => {
64
+ expect(isValidPostcode("ZZ2 TYD")).toBe(false);
65
+ });
66
+ test('should return false when testing the postcode "ABC EFG"', () => {
67
+ expect(isValidPostcode("ABC EFG")).toBe(false);
68
+ });
69
+ test('should return false when testing the postcode "1234 567"', () => {
70
+ expect(isValidPostcode("1234 567")).toBe(false);
71
+ });
72
+ test('should return false when testing the postcode "23A PP2"', () => {
73
+ expect(isValidPostcode("23A PP2")).toBe(false);
74
+ });
75
+ test('should return false when testing the postcode "NE3 H23"', () => {
76
+ expect(isValidPostcode("NE3 H23")).toBe(false);
77
+ });
78
+ // #endregion
26
79
  });
@@ -95,6 +95,10 @@ input[name='postcode'] {
95
95
  padding: 0;
96
96
  white-space: nowrap;
97
97
  font-size: 1rem;
98
+
99
+ &:after {
100
+ background-color: currentColor;
101
+ }
98
102
  }
99
103
 
100
104
  // change the datalist
@@ -3,6 +3,8 @@
3
3
 
4
4
  @use '../elements/forms.scss' as *;
5
5
  @use '../elements/admin-panel.scss' as *;
6
+ @use '../elements/buttons.scss' as *;
7
+ @use '../elements/buttons--action.scss' as *;
6
8
 
7
9
 
8
10
  *, *::before, *::after {
@@ -124,10 +126,8 @@ label {
124
126
 
125
127
  button {
126
128
  position: absolute;
127
- top: 0.75rem;
128
129
  right: 0.5rem;
129
130
  border: none;
130
- background: none;
131
131
  padding-inline: 0.5rem;
132
132
  display: var(--display-button, none);
133
133
 
@@ -35,7 +35,7 @@ class iamMultiselect extends HTMLElement {
35
35
  <div class="admin-panel dropdown" part="dropdown">
36
36
  <slot></slot>
37
37
  </div>
38
- <button id="clear"><span class="visually-hidden">Clear</span></button>
38
+ <button id="clear" class="btn btn-action "><span class="visually-hidden">Clear</span></button>
39
39
  </div>
40
40
  </div>
41
41
  </label>
@@ -1,4 +1,4 @@
1
- import Cookies from 'js-cookie';
1
+ import Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';
2
2
  import { safeID, resolvePath, isTraversable } from '../../modules/helpers';
3
3
  import advancedSelect from '../../modules/advanced-select';
4
4
 
@@ -1554,6 +1554,8 @@ class iamSTDAddressLookup extends HTMLElement {
1554
1554
  data-url="/standardaddress.json?search_query="
1555
1555
  data-postcode="true"
1556
1556
  data-min-chars="5"
1557
+ data-title="Find an address by postcode"
1558
+ data-placeholder="UK, Isle of Man, & Channel Islands "
1557
1559
  ${this.hasAttribute('data-manual') ? 'data-manual' : ''}
1558
1560
  ${this.hasAttribute('data-allow-manual') ? 'data-allow-manual' : ''}
1559
1561
  ${this.hasAttribute('data-use') ? `data-use='${this.getAttribute('data-use')}'` : ''}
@@ -1600,7 +1602,7 @@ class iamSTDAddressLookup extends HTMLElement {
1600
1602
  <option></option>
1601
1603
  ${countiesString}
1602
1604
  </select></label>
1603
- <label>Postcode${this.hasAttribute('data-show-required') ? '*' : ''} <input name="postcode" type="text" data-required data-readonly maxlength="8" ${this.hasAttribute('data-required') ? ' required' : ''}/></label>
1605
+ <label>Postcode${this.hasAttribute('data-show-required') ? '*' : ''} <input name="postcode" type="text" required data-required data-readonly maxlength="8" ${this.hasAttribute('data-required') ? ' required' : ''}/></label>
1604
1606
  <label>Country${this.hasAttribute('data-show-required') && this.hasAttribute('data-country-required') ? '*' : (!this.hasAttribute('data-show-required') && !this.hasAttribute('data-county-required') ? ' (optional)' : '')}
1605
1607
  <select name="region" data-readonly ${this.hasAttribute('data-country-required') ? 'data-required' : ''}>
1606
1608
  <option value=""></option>
@@ -1750,7 +1752,6 @@ class iamSTDAddressLookup extends HTMLElement {
1750
1752
  });
1751
1753
 
1752
1754
 
1753
-
1754
1755
  }
1755
1756
  }
1756
1757