@iamproperty/components 7.6.3 → 7.6.4--beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/address-lookup.component.css +1 -1
- package/assets/css/components/address-lookup.component.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/calendar.component.css +1 -1
- package/assets/css/components/calendar.component.css.map +1 -1
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/content.component.css +1 -1
- package/assets/css/components/content.component.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/fileupload.css +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/modal.component.css +1 -1
- package/assets/css/components/modal.component.css.map +1 -1
- package/assets/css/components/multi-step-modal.component.css +1 -1
- package/assets/css/components/multi-step-modal.component.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/split-button.component.css +1 -1
- package/assets/css/components/split-button.component.css.map +1 -1
- package/assets/css/components/tabs.component.css +1 -1
- package/assets/css/components/tabs.component.css.map +1 -1
- package/assets/css/components/tag.component.css +1 -1
- package/assets/css/components/tag.component.css.map +1 -1
- package/assets/css/components/tooltip.component.css +1 -1
- package/assets/css/components/tooltip.component.css.map +1 -1
- package/assets/css/components/video-modal.component.css +1 -1
- package/assets/css/components/video-modal.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +4 -4
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/calendar/calendar.component.min.js +2 -2
- package/assets/js/components/calendar/calendar.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.min.js +2 -2
- package/assets/js/components/carousel/carousel.component.min.js +2 -2
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
- package/assets/js/components/content/content.component.min.js +4 -4
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.js +68 -0
- package/assets/js/components/form/form.component.min.js +9 -0
- package/assets/js/components/form/form.component.min.js.map +1 -0
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.js +7 -5
- package/assets/js/components/input/input.component.min.js +2 -2
- package/assets/js/components/input/input.component.min.js.map +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.min.js +1 -1
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +2 -2
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +2 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
- package/assets/js/components/nav/nav.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +2 -2
- package/assets/js/components/password/password.component.min.js +1 -1
- package/assets/js/components/popover/popover.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +1 -1
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +2 -2
- package/assets/js/components/split-button/split-button.component.min.js +5 -5
- package/assets/js/components/std-address-lookup/std-address-lookup.component.js +20 -0
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +8 -8
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +2 -2
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/tag/tag.component.min.js +3 -3
- package/assets/js/components/tooltip/tooltip.component.min.js +2 -2
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/helpers.js +26 -22
- package/assets/js/scripts.bundle.js +2 -2
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/components/tooltip.component.scss +7 -0
- package/assets/sass/elements/button__group.css +4 -1
- package/assets/sass/elements/forms.scss +8 -14
- package/assets/sass/elements/icons.css +4 -4
- package/assets/sass/elements/input.scss +0 -14
- package/assets/sass/elements/textarea.scss +97 -0
- package/assets/sass/templates/form.scss +18 -5
- package/assets/sass/utilities/sizes.scss +4 -0
- package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -1
- package/assets/ts/components/form/form.component.ts +102 -0
- package/assets/ts/components/input/input.component.ts +8 -6
- package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +32 -0
- package/assets/ts/modules/helpers.ts +32 -27
- package/dist/components.es.js +28 -28
- package/dist/components.umd.js +199 -186
- package/package.json +1 -1
- package/src/components/Form/Form.vue +22 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.
|
|
2
|
+
* iamKey v7.6.4--beta2
|
|
3
3
|
* Copyright 2022-2026 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"),F=t=>t.charAt(0).toUpperCase()+t.slice(1),p=(t,e,a)=>e.split(/[\.\[\]\'\"]/).filter(i=>i).reduce((i,o)=>i?i[o]:a,t),T=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var W=function(t,e,a,i){function o(r){return r instanceof a?r:new a(function(n){n(r)})}return new(a||(a=Promise))(function(r,n){function s(d){try{b(i.next(d))}catch(m){n(m)}}function l(d){try{b(i.throw(d))}catch(m){n(m)}}function b(d){d.done?r(d.value):o(d.value).then(s,l)}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=F(e)}},V=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 o=i.getAttribute("data-filter");let r=i.value;i.hasAttribute("data-date-from")&&(r+="-date-from"),i.hasAttribute("data-date-to")&&(r+="-date-to"),e[o]||(e[o]=[]),e[o].push(r)}}),e},J=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,o)=>{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",r=>{if(a.querySelector("[name=show]").value!=r.detail.show){a.querySelector("[name=show]").value=r.detail.show;const n=new CustomEvent("update-show",{detail:{show:r.detail.show}});t.dispatchEvent(n),H(t,i),o()}}),i.addEventListener("update-page",r=>{if(a.querySelector("[name=page]").value!=r.detail.page){a.querySelector("[name=page]").value=r.detail.page;const n=new CustomEvent("update-page",{detail:{page:r.detail.page}});if(t.dispatchEvent(n),H(t,i),o(),!t.hasAttribute("data-no-scroll")){const l=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:l,behavior:"smooth"})}}})},X=(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 o=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",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),Y(t,i),C(e),G(t,e),t.classList.contains("mh-sm")&&o.classList.add("mh-sm"),t.classList.contains("mh-md")&&o.classList.add("mh-md"),t.classList.contains("mh-lg")&&o.classList.add("mh-lg"),t.classList.contains("table--cta")&&(K(t,e),Q(t,e))},Y=(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"),o=e*a,r=o-a;Array.from(i.querySelectorAll("tbody tr")).forEach((n,s)=>{s>=r&&s<o?n.classList.add("show"):n.classList.remove("show")})},C=t=>{const e=Array.from(t.querySelectorAll("thead th"));Array.from(t.querySelectorAll("tbody tr")).forEach(i=>{const o=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"];o.forEach((n,s)=>{const l=e[s];if(typeof l<"u"){const b=document.createElement("div");b.innerHTML=l.innerHTML;const d=b.textContent||b.innerText||"";n.setAttribute("data-label",d),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=U(l.getAttribute("data-format"),n.textContent.trim())),r.includes(n.textContent.trim().toLowerCase())&&n.setAttribute("data-content",n.textContent.trim().toLowerCase())}})})},G=(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 o=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 ${o} 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]"),o=i.closest("tr");i.toggleAttribute("aria-expanded"),o.getAttribute("data-view")=="full"?o.setAttribute("data-view","default"):o.setAttribute("data-view","full"),i.blur(),t.dispatchEvent(new CustomEvent("row-expanded",{detail:{row:i.getAttribute("data-index")}}))}})},K=(t,e)=>{let a=0;Array.from(e.querySelectorAll("tbody tr")).forEach(i=>{const o=window.getComputedStyle(document.querySelector("html")),r=i.querySelector(":scope > *:last-child > *:first-child");if(r){r.classList.add("text-nowrap");let n=r.offsetWidth/parseFloat(o.fontSize);n+=1.8,a=a>n?a:n}}),t.style.setProperty("--cta-width",`${a}rem`)},Q=(t,e)=>{function a(){Array.from(e.querySelectorAll("tr")).forEach(i=>{const o=i.offsetHeight;i.style.setProperty("--row-height",`${o}px`)})}new ResizeObserver(a).observe(e)},$=(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")}']`);Z(t,e,a)}t.querySelectorAll(".dialog__wrapper .btn-compact").forEach((a,i)=>{const r=a.closest(".dialog__wrapper").querySelector("dialog");if(r){const d=`menu${T(i)}`;r.setAttribute("id",d),r.setAttribute("popover","auto"),a.setAttribute("popovertarget",d),r.outerHTML=r.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"),b=Array.prototype.slice.call(n.children).indexOf(s);s.classList.add("td--fixed"),e.querySelector(`thead tr th:nth-child(${b+1})`).classList.add("th--fixed")})},Z=(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,o)=>{if(i.setAttribute("data-index",o+1),!i.querySelector(".selectrow")){const r=`row${T(o)}`;i.querySelector(".td--expand")?i.querySelector(".td--expand").insertAdjacentHTML("afterend",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${r}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${r}"><span class="visually-hidden">Select row</span></label></td>`):i.insertAdjacentHTML("afterbegin",`<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${r}" ${i.hasAttribute("data-selected")?'checked="true"':""}/><label for="${r}"><span class="visually-hidden">Select row</span></label></td>`)}}),e.addEventListener("change",i=>{if(i&&i.target instanceof HTMLElement&&i.target.closest(".selectrow input")){const o=i.target.closest(".selectrow input"),r=i.target.closest("tr"),n=e.querySelectorAll('.selectrow input[type="checkbox"]').length,s=e.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;a.setAttribute("data-selected",n==s?"all":s);const l=new CustomEvent("row-selected",{detail:{rowIndex:r.getAttribute("data-index"),checked:!!o.checked}});t.dispatchEvent(l)}}),a.addEventListener("selected",i=>{if(i.detail.selected=="0"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(r=>{r.checked=!1});const o=new CustomEvent("all-rows-unselected");t.dispatchEvent(o)}else if(i.detail.selected=="all"){Array.from(e.querySelectorAll('.selectrow input[type="checkbox"]')).forEach(r=>{r.checked=!0});const o=new CustomEvent("all-rows-selected");t.dispatchEvent(o)}})},tt=(t,e,a,i,o)=>{at(t,e),et(t,e),a.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-sort]")&&it(e,a,o)})},at=(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(s=>{s!=i&&(s.setAttribute("data-sort",""),s.removeAttribute("data-order-by"),i.setAttribute("title","Click to sort ascending"))}),i.hasAttribute("data-order-by")&&i.getAttribute("data-order-by")=="asc"?(i.setAttribute("data-order-by","desc"),i.setAttribute("title","Click to sort ascending")):(i.setAttribute("data-order-by","asc"),i.setAttribute("title","Click to sort descending"));const o=new CustomEvent("sort-by-heading",{detail:{heading:i.textContent,sortBy:i.getAttribute("data-order-by"),ref:i.getAttribute("data-ref")}});t.dispatchEvent(o);const r=i.textContent.trim(),n=i.getAttribute("data-order-by");t.hasAttribute("data-submit")||z(e,r,n)}})},et=(t,e)=>{var a;const i=t.querySelector("iam-actionbar");if(!i)return!1;const o=(a=i.shadowRoot)===null||a===void 0?void 0:a.querySelector("input#search");if(!o)return!1;const r=o.getAttribute("id"),n=o.parentNode,s={};e.querySelectorAll("tbody td:not(.td--fixed)").forEach(l=>{l.querySelector(".td__content")?s[l.querySelector(".td__content").textContent]=l.querySelector(".td__content").textContent:s[l.textContent]=l.textContent}),o.setAttribute("list",`${r}_list`),o.setAttribute("autocomplete","off"),n.querySelector("datalist")||(n.innerHTML+=`<datalist id="${r}_list"></datalist>`),n.querySelector("datalist").innerHTML=`${Object.keys(s).map(l=>`<option value="${l}"></option>`).join("")}`},it=(t,e,a)=>{if(e.getAttribute("data-ajax"))return!1;const i=t.querySelector("tbody");let o=e.querySelector('input[type="radio"][data-sort]:checked');if(e.querySelector("select[data-sort]")){const l=e.querySelector("select[data-sort]");o=e.querySelector(`select[data-sort] option:nth-child(${l.selectedIndex+1})`)}const r=o.getAttribute("data-sort"),n=o.getAttribute("data-order"),s=o.getAttribute("data-format");if(!r)return i.innerHTML=a.innerHTML,C(t),!1;z(t,r,n,s)},z=(t,e,a,i="")=>{const o=t.querySelector("tbody");let r=[];["asc","desc","descending"].includes(a)||(r=a.split(","));let n=[];Array.from(o.querySelectorAll("tr")).forEach(l=>{let b=l.querySelector('td[data-label="'+e+'"], th[data-label="'+e+'"]').textContent.trim();l.querySelector('[data-label="'+e+'"] .td__content')&&(b=l.querySelector('[data-label="'+e+'"] .td__content').textContent.trim()),r.length&&r.includes(b)&&(b=r.indexOf(b)),O(b)&&(b=B(b,10)),i&&i=="date"&&(b=new Date(b));const d={index:b,row:l};n.push(d)}),n.sort((l,b)=>l.index>b.index?1:-1),(a=="descending"||a=="desc")&&(n=n.reverse());let s="";n.forEach(l=>{s+=l.row.outerHTML}),o.innerHTML=s},lt=(t,e,a,i)=>{a.setAttribute("method","get");const o=t.querySelector("iam-actionbar");o&&o.addEventListener("change",r=>{a.submit()})},ot=(t,e,a,i)=>{g(t,e,a,i);const o=t.querySelector("iam-actionbar");a.addEventListener("submit",r=>{Array.from(a.querySelectorAll("[data-duplicate]")).forEach(n=>{const s=n.tagName=="IAM-INPUT"?n.querySelector("input"):n,l=n.getAttribute("data-duplicate");document.querySelector(`[id="${l}"], [name="${l}"]`)&&(document.querySelector(`[id="${l}"], [name="${l}"]`).checked=s.checked)}),g(t,e,a,i),r.preventDefault()}),a.addEventListener("change",r=>{r.target.closest("iam-modal")||g(t,e,a,i)}),Array.from(a.querySelectorAll('[type="hidden"]')).forEach(r=>{r.addEventListener("change",n=>{g(t,e,a,i)})}),o&&(o.addEventListener("change",r=>{g(t,e,a,i)}),o.addEventListener("search-submit",r=>{a.querySelector("input[data-search]")?a.querySelector("input[data-search]").value=r.detail.search:a.insertAdjacentHTML("beforeend",`<input type="hidden" name="search" data-search="${t.querySelector("iam-actionbar[data-search]").getAttribute("data-search")}" value="${r.detail.search}"/>`);const n=new CustomEvent("search-submit",{detail:r.details});t.dispatchEvent(n),g(t,e,a,i)}))},g=function(t,e,a,i){return W(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 o=new FormData(a);o.set("page_number",o.get("page"));const r=new URLSearchParams(o).toString(),n=e.querySelectorAll("thead tr th:not(.expand-button-heading)"),s=e.querySelector("tbody"),l=a.getAttribute("data-ajax");t.classList.add("table--loading");const b=V(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[l]&&window.controller[l].abort(),window.controller[l]=new AbortController;const{signal:m}=controller[l];i.setAttribute("data-loading","true"),a.classList.add("processing");try{yield fetch(l+"?"+r,{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=t.hasAttribute("data-schema")?t.getAttribute("data-schema"):"data",D=t.hasAttribute("data-schema-total")?t.getAttribute("data-schema-total"):"meta.total",N=t.hasAttribute("data-schema-page")?t.getAttribute("data-schema-page"):"meta.current_page",L=p(c,D,15),nt=p(c,N,1),_=p(c,v),R=t.hasAttribute("data-empty-msg")?t.getAttribute("data-empty-msg"):"No results found";_?(s.innerHTML="",_.forEach(f=>{const y=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(f,j.replace("{","").replace("}",""))})),u.hasAttribute("data-output-array")){const k=u.getAttribute("data-output"),j=p(f,k.replace("{","").replace("}",""));h="",j.forEach(E=>{const I=u.getAttribute("data-output-array");let x="";if(u.hasAttribute("data-output-array-property")&&u.hasAttribute("data-output-array-transform")){const S=p(E,u.getAttribute("data-output-array-property")),P=JSON.parse(u.getAttribute("data-output-array-transform"))[S];x=I.replace(`{${u.getAttribute("data-output-array-property")}}`,P)}x=x.replace(new RegExp(/{(.*?)}/,"gm"),function(S){return p(E,S.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"))),A.innerHTML=h,y.appendChild(A)}),s.appendChild(y)}),t.setAttribute("data-total",parseInt(L)),Array.from(a.querySelectorAll("[data-ajax-query]")).forEach(f=>{const y=p(c,f.getAttribute("data-ajax-query"),"");f.hasAttribute("data-total")?f.setAttribute("data-total",y):f.innerHTML=y}),parseInt(L)==0&&(s.innerHTML=`<tr><td colspan="100%"><span>${R}</span></td></tr>`),t.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:l,formData:r}),M(t,e,a,i),$(t,e,a,i)):s.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',i.removeAttribute("data-loading"),a.classList.remove("processing")})}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>
|