@iamproperty/components 7.5.1--beta7 → 7.5.1--beta8

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/js/components/accordion/accordion.component.min.js +1 -1
  2. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  3. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  4. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  5. package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
  6. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  7. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  8. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  9. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  10. package/assets/js/components/card/card.component.min.js +1 -1
  11. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  12. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  13. package/assets/js/components/content/content.component.min.js +1 -1
  14. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  15. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  16. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  17. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  18. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  19. package/assets/js/components/header/header.component.min.js +1 -1
  20. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  21. package/assets/js/components/input/input.component.min.js +1 -1
  22. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  23. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  24. package/assets/js/components/menu/menu.component.min.js +1 -1
  25. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  26. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  27. package/assets/js/components/modal/modal.component.min.js +1 -1
  28. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  29. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  30. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  31. package/assets/js/components/nav/nav.component.min.js +1 -1
  32. package/assets/js/components/notification/notification.component.min.js +1 -1
  33. package/assets/js/components/pagination/pagination.component.js +0 -1
  34. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  35. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  36. package/assets/js/components/password/password.component.min.js +1 -1
  37. package/assets/js/components/rank/rank.component.min.js +1 -1
  38. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  39. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  40. package/assets/js/components/search/search.component.min.js +1 -1
  41. package/assets/js/components/slider/slider.component.min.js +1 -1
  42. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  43. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  44. package/assets/js/components/table/table.component.min.js +4 -4
  45. package/assets/js/components/table/table.component.min.js.map +1 -1
  46. package/assets/js/components/table-ajax/table-ajax.component.min.js +4 -4
  47. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  48. package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
  49. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  50. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  51. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  52. package/assets/js/components/table-submit/table-submit.component.min.js +2 -2
  53. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  54. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  55. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  56. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  57. package/assets/js/modules/applied-filters.js +6 -5
  58. package/assets/js/modules/table.js +93 -26
  59. package/assets/js/scripts.bundle.js +1 -1
  60. package/assets/js/scripts.bundle.min.js +1 -1
  61. package/assets/ts/components/pagination/pagination.component.ts +0 -2
  62. package/assets/ts/modules/applied-filters.ts +8 -5
  63. package/assets/ts/modules/table.ts +89 -6
  64. package/dist/components.es.js +29 -29
  65. package/dist/components.umd.js +134 -134
  66. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta7
2
+ * iamKey v7.5.1--beta8
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--beta7
2
+ * iamKey v7.5.1--beta8
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(a=>{o.addEventListener(a,function(d){const r={event:a,element:t,target:d.target};Object.keys(d.detail).forEach(i=>{const n=d.detail[i];r[i]=n}),window.dataLayer.push(r)})}),!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--beta7
2
+ * iamKey v7.5.1--beta8
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>
@@ -85,18 +85,17 @@ function createAppliedFilters(container, filters) {
85
85
  // Check for which inputs have been set, setting true sets the filter as set (blue)
86
86
  checkForChecked(true);
87
87
  // Create the main event listener for the component watching for inputs to change
88
- container.addEventListener('change', function (event) {
89
- var _a;
90
- if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')) {
88
+ Array.from(container.querySelectorAll('input[data-filter-text]')).forEach((input) => {
89
+ input.addEventListener('change', function (event) {
90
+ var _a;
91
91
  const setFilter = container.closest('dialog') ? false : true;
92
- const input = event.target.closest('input[data-filter-text]');
93
92
  if (!container.hasAttribute('data-keep-same') && !container.querySelector('dialog'))
94
93
  addFilterButton(filters, input, setFilter);
95
94
  if (setFilter) {
96
95
  const event = new CustomEvent('update');
97
96
  (_a = container.parentElement.closest('iam-applied-filters')) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);
98
97
  }
99
- }
98
+ });
100
99
  });
101
100
  const filterClicked = (filter) => {
102
101
  const names = filter.getAttribute('data-name').split(',');
@@ -117,6 +116,8 @@ function createAppliedFilters(container, filters) {
117
116
  else {
118
117
  input.checked = false;
119
118
  }
119
+ const changeEvent = new CustomEvent('change');
120
+ input === null || input === void 0 ? void 0 : input.dispatchEvent(changeEvent);
120
121
  }
121
122
  }
122
123
  filter.remove();
@@ -88,6 +88,7 @@ export const paginateTable = (component, table, form, pagination, callback) => {
88
88
  }
89
89
  });
90
90
  pagination.addEventListener('update-page', (event) => {
91
+ console.log('update page');
91
92
  if (form.querySelector('[name=page]').value != event.detail.page) {
92
93
  form.querySelector('[name=page]').value = event.detail.page;
93
94
  const updateEvent = new CustomEvent('update-page', { detail: { page: event.detail.page } });
@@ -604,32 +605,45 @@ export const addFilterEventListeners = (component, table, form, pagination, save
604
605
  }
605
606
  */
606
607
  };
607
- if (component.querySelector('iam-actionbar[data-search]')) {
608
+ /*
609
+ if (component.querySelector('iam-actionbar[data-search]')) {
608
610
  component.querySelector('iam-actionbar[data-search]').addEventListener('search-submit', (event) => {
609
- if (form.querySelector('input[data-search]')) {
610
- form.querySelector('input[data-search]').value = event.detail.search;
611
- }
612
- else {
613
- form.insertAdjacentHTML('beforeend', `<input type="hidden" name="search" data-search="${component.querySelector('iam-actionbar[data-search]').getAttribute('data-search')}" value="${event.detail.search}"/>`);
614
- }
615
- const submitEvent = new CustomEvent('search-submit', {
616
- detail: event.details,
617
- });
618
- component.dispatchEvent(submitEvent);
619
- clearTimeout(timer);
620
- if (component.tagName != "IAM-TABLE-NO-SUBMIT")
621
- formSubmit(event);
611
+ if (form.querySelector('input[data-search]')) {
612
+ form.querySelector('input[data-search]').value = event.detail.search;
613
+ } else {
614
+ form.insertAdjacentHTML(
615
+ 'beforeend',
616
+ `<input type="hidden" name="search" data-search="${component.querySelector('iam-actionbar[data-search]').getAttribute('data-search')}" value="${event.detail.search}"/>`
617
+ );
618
+ }
619
+
620
+ const submitEvent = new CustomEvent('search-submit', {
621
+ detail: event.details,
622
+ });
623
+ component.dispatchEvent(submitEvent);
624
+
625
+
626
+ clearTimeout(timer);
627
+
628
+ if(component.tagName != "IAM-TABLE-NO-SUBMIT")
629
+ formSubmit(event);
622
630
  });
623
- }
624
- if (component.querySelector('iam-actionbar') && !component.querySelector('iam-actionbar').closest('form')) {
631
+ }
632
+
633
+ if (component.querySelector('iam-actionbar') && !component.querySelector('iam-actionbar').closest('form')) {
625
634
  component.querySelector('iam-actionbar').addEventListener('change', (event) => {
626
- if (!form.querySelector('.duplicate-actionbar')) {
627
- form.insertAdjacentHTML('beforeend', `<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>`);
628
- }
629
- form.querySelector('.duplicate-actionbar').innerHTML = component.querySelector('iam-actionbar').innerHTML;
630
- filterTable(component, table, form, pagination);
635
+ if (!form.querySelector('.duplicate-actionbar')) {
636
+ form.insertAdjacentHTML(
637
+ 'beforeend',
638
+ `<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>`
639
+ );
640
+ }
641
+
642
+ form.querySelector('.duplicate-actionbar').innerHTML = component.querySelector('iam-actionbar').innerHTML;
643
+ filterTable(component, table, form, pagination);
631
644
  });
632
- }
645
+ }
646
+ */
633
647
  form.addEventListener('keyup', (event) => {
634
648
  clearTimeout(timer);
635
649
  if (event && event.target instanceof HTMLElement && event.target.closest('input[data-search]')) {
@@ -1030,13 +1044,34 @@ export const setupAjaxTable = (component, table, form, pagination) => {
1030
1044
  loadAjaxTable(component, table, form, pagination);
1031
1045
  const actionbar = component.querySelector('iam-actionbar');
1032
1046
  form.addEventListener('submit', (event) => {
1047
+ Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element) => {
1048
+ const id = element.getAttribute('data-duplicate');
1049
+ if (document.querySelector(`[id="${id}"]`)) {
1050
+ document.querySelector(`[id="${id}"]`).checked = element.checked;
1051
+ }
1052
+ });
1033
1053
  loadAjaxTable(component, table, form, pagination);
1034
1054
  event.preventDefault();
1035
1055
  });
1036
1056
  form.addEventListener('change', (event) => {
1057
+ var _a;
1037
1058
  if (!event.target.closest('iam-modal')) {
1038
1059
  loadAjaxTable(component, table, form, pagination);
1039
1060
  }
1061
+ if (event && event.target instanceof HTMLElement && event.target.hasAttribute('id')) {
1062
+ const id = event.target.getAttribute('id');
1063
+ if (document.querySelector(`[data-duplicate="${id}"]`)) {
1064
+ document.querySelector(`[data-duplicate="${id}"]`).checked = event.target.checked;
1065
+ const changeEvent = new CustomEvent('change');
1066
+ (_a = document.querySelector(`[data-duplicate="${id}"]`)) === null || _a === void 0 ? void 0 : _a.dispatchEvent(changeEvent);
1067
+ }
1068
+ }
1069
+ if (event && event.target instanceof HTMLElement && event.target.hasAttribute('data-duplicate') && !event.target.closest('iam-modal')) {
1070
+ const id = event.target.getAttribute('data-duplicate');
1071
+ if (document.querySelector(`[id="${id}"]`)) {
1072
+ document.querySelector(`[id="${id}"]`).checked = event.target.checked;
1073
+ }
1074
+ }
1040
1075
  });
1041
1076
  if (actionbar) {
1042
1077
  actionbar.addEventListener('change', (event) => {
@@ -1056,6 +1091,38 @@ export const setupAjaxTable = (component, table, form, pagination) => {
1056
1091
  loadAjaxTable(component, table, form, pagination);
1057
1092
  });
1058
1093
  }
1094
+ // mimic fields
1095
+ const fields = [];
1096
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1097
+ input.addEventListener('change', (event) => {
1098
+ loadAjaxTable(component, table, form, pagination);
1099
+ });
1100
+ });
1101
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1102
+ const mimicField = input.getAttribute('data-mimic');
1103
+ Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
1104
+ if (!fields.includes(mimicInput)) {
1105
+ fields.push(mimicInput);
1106
+ }
1107
+ });
1108
+ });
1109
+ fields.forEach((input) => {
1110
+ input.addEventListener('change', (event) => {
1111
+ const name = input.getAttribute('name');
1112
+ const mimicInput = document.querySelector(`[data-mimic="${name}"]`);
1113
+ let valueToSend = '';
1114
+ Array.from(document.querySelectorAll(`[name="${name}"]:checked`)).forEach((input) => {
1115
+ if (valueToSend == '')
1116
+ valueToSend = input.value;
1117
+ else
1118
+ valueToSend += ',' + input.value;
1119
+ });
1120
+ console.log(valueToSend);
1121
+ mimicInput.value = valueToSend;
1122
+ const changeEvent = new CustomEvent('change');
1123
+ mimicInput === null || mimicInput === void 0 ? void 0 : mimicInput.dispatchEvent(changeEvent);
1124
+ });
1125
+ });
1059
1126
  };
1060
1127
  // #region ajax tables functions
1061
1128
  export const loadAjaxTable = function (component, table, form, pagination) {
@@ -1186,10 +1253,10 @@ export const loadAjaxTable = function (component, table, form, pagination) {
1186
1253
  });
1187
1254
  tbody.appendChild(table_row);
1188
1255
  });
1189
- component.setAttribute('data-total', parseInt(totalNumber));
1190
- component.setAttribute('data-page', parseInt(currentPage));
1191
- pagination.setAttribute('data-total', totalNumber);
1192
- pagination.setAttribute('data-page', currentPage);
1256
+ //component.setAttribute('data-total', parseInt(totalNumber));
1257
+ //component.setAttribute('data-page', parseInt(currentPage));
1258
+ //pagination.setAttribute('data-total', totalNumber);
1259
+ //pagination.setAttribute('data-page', currentPage);
1193
1260
  Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
1194
1261
  const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
1195
1262
  if (queryElement.hasAttribute('data-total'))
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta7
2
+ * iamKey v7.5.1--beta8
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */(function(v){typeof define=="function"&&define.amd?define(v):v()})((function(){"use strict";var v=a=>{a.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie")},C=a=>{var e=function(o){var r=document.querySelector('label[for="'.concat(o.replace("#",""),'"]')),i=document.querySelector(o+" summary"),c=document.querySelector("dialog".concat(o)),n=document.querySelector("detail".concat(o));r instanceof HTMLElement?r.click():i instanceof HTMLElement?i.click():c instanceof HTMLElement?c.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&e(location.hash),window.addEventListener("hashchange",function(){e(location.hash)},!1),addEventListener("popstate",t=>{if(t&&t.state&&t.state.type&&t.state.type=="pagination"){var o=document.querySelector("#".concat(t.state.form)),r=document.querySelector("#".concat(t.state.form," [data-pagination]"));r?r.value=t.state.page:o.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(t.state.page,'" />'),o.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(t=>{t.addEventListener("submit",o=>{var r;t.querySelector(":invalid")&&(t.classList.add("was-validated"),(r=t?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),o.preventDefault())})}),document.addEventListener("click",t=>{var o;if(t&&t.target instanceof HTMLElement&&t.target.matches("form button:not([type=button])")){var r=t.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"),(o=r?.querySelector("input:invalid"))===null||o===void 0||o.scrollIntoView(),t.preventDefault()),r.querySelector("iam-multiselect[data-is-required][data-error]")&&(r.classList.add("was-validated"),t.preventDefault())}}),document.addEventListener("keydown",t=>{t.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(t.preventDefault(),t.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(t=>{var o=t.closest("label");o.setAttribute("data-percent",t.getAttribute("value"))})},x=a=>(Array.from(a.querySelectorAll("dialog[open]")).forEach(e=>{var t=e.closest(".dialog__wrapper");t||(e.removeAttribute("open"),e.showModal(),e.focus(),A(e))}),a.addEventListener("click",e=>{if(e.target.tagName=="IAM-ACTIONBAR")return!1;if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-modal]")){var t=e.target.closest("[data-modal]"),o=t.hasAttribute("data-modal")?t.getAttribute("data-modal"):t.getAttribute("data-filter"),r=document.querySelector("dialog#".concat(o));if(document.querySelector("iam-modal#".concat(o))||document.querySelector("iam-multi-step-modal#".concat(o)))return!1;if(A(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(f=>{var O=f.getAttribute("data-duplicate"),M=document.getElementById(O);if(f.checked!=M.checked){f.checked=M.checked;var F=new Event("change");f.dispatchEvent(F)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:o})}if(e&&e.target instanceof HTMLElement&&e.target.closest("button.dialog__close")){var c=e.target.closest("dialog[open]");e.preventDefault(),c.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(f=>{f.classList.remove("active")});var n=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:c.id}});e.target.dispatchEvent(n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:c.getAttribute("id")})}if(e&&e.target instanceof HTMLElement&&e.target.closest('button[formmethod="dialog"]')){var p=e.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(f=>{f.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:p.getAttribute("id")})}if(e&&e.target instanceof HTMLElement&&e.target.closest("dialog[open]")){var d=e.target.closest("dialog[open]"),u=window.getComputedStyle(d);if(u.display==="contents"&&(d=d.parentNode.closest("dialog[open]")),!d.classList.contains("dialog--transactional")&&!d.classList.contains("dialog--acknowledgement")){var l=d.getBoundingClientRect();(e.clientX<l.left||e.clientX>l.right||e.clientY<l.top||e.clientY>l.bottom)&&(e.target.closest("dialog *")||d.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:d.getAttribute("id")}))}}if(e&&e.target instanceof HTMLElement&&e.target.closest(".dialog__wrapper > button")){var s=e.target.closest(".dialog__wrapper > button"),L=s.parentNode;if(L.querySelector("dialog")){e.stopPropagation();var S="openPopover",y=L.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=y&&s.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(f=>{f.removeAttribute("aria-expanded")}),y.hasAttribute("open"))y.close(),S="closePopover",y.removeAttribute("style"),s.removeAttribute("aria-expanded");else{y.show(),s.setAttribute("aria-expanded",!0);var E=s.getBoundingClientRect(),q=E.top,k=E.left;if(s.closest("iam-table")){var T=s.closest("iam-table").parentNode.getBoundingClientRect();q-=T.top,k-=T.left}y.classList.contains("dialog--fix")&&y.setAttribute("style","position:fixed;top: ".concat(q,"px; left: ").concat(k,"px; margin: 3rem 0 0 0;"))}var h=y.getBoundingClientRect(),_=h.bottom-window.scrollY,j=window.innerHeight-window.scrollY;if(_>j){var P=y.hasAttribute("style")?y.getAttribute("style")+" ":"";y.setAttribute("style",P+"transform: translate(0, calc(-100% - 4rem))"),h=y.getBoundingClientRect();var R=h.top-window.scrollY;R<100&&y.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:S,id:s.textContent})}}e&&e.target instanceof HTMLElement&&!e.target.closest("dialog[open]")&&!e.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(f=>{f.removeAttribute("aria-expanded")}))}),null),A=a=>{if(a&&!a.querySelector(":scope .mh-lg")&&!a.querySelector("iam-multi-step")){a.innerHTML='<div class="mh-lg">'.concat(a.innerHTML,"</div>");var e=a.querySelector(".mh-lg"),t=a.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(t){var o=t.previousSibling;e.before(t),o&&t.before(o)}}a&&!a.querySelector(":scope > button:first-child")&&a.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function H(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",a=>{var e=a.target.closest("[open] summary");if(e)window.dataLayer.push({event:"closeDetails",detailsTitle:e.textContent||""});else{var t=a.target.closest("summary"),o=a.target.closest("a"),r=a.target.closest("button");t&&window.dataLayer.push({event:"openDetails",detailsTitle:t.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")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}})}window.triggerDynamicEvent=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),a.hasAttribute("data-change-events")&&e=="change"&&g(a,a.getAttribute("data-change-events")),a.hasAttribute("data-click-events")&&e=="click"&&g(a,a.getAttribute("data-click-events"))};var B=()=>{document.addEventListener("change",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&g(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&g(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-click-events]")&&g(a.target,a.target.closest("[data-click-events]").getAttribute("data-click-events"))})},g=(a,e)=>{if(e||(e=a.parentNode.getAttribute("data-change-events")),!e)return!1;Array.from(JSON.parse(e)).forEach(t=>{I(a,t)})},I=(a,e)=>{if("matches"in e)return e.matches=="any"||a.value==e.matches?m(a,e,"if"):m(a,e,"else"),!1;if("in-list"in e){var t=document.querySelector("".concat(e["in-list"],' option[value="').concat(a.value,'"]'));return document.querySelector("".concat(e["in-list"],' option[value="').concat(a.value,'"]'))?m(t,e,"if"):m(t,e,"else"),!1}else"event"in e&&m(a,e,"event")},m=(a,e,t)=>{if(!(t in e))return!1;switch(e[t]){case"hide":if(document.querySelector(e.target)){var o=document.querySelector(e.target);o.classList.add("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(e.target)){var r=document.querySelector(e.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":V(a,e);break;case"dispatchEvent":var i=new Event(e.value);document.querySelector("".concat(e.target)).dispatchEvent(i);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n){n.setAttribute(e.attribute,e.value)});break;case"focus":document.querySelector("".concat(e.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n){n.removeAttribute(e.attribute)});break;case"updateValue":document.querySelector("".concat(e.target)).value=e.value?e.value:"";var c=new Event("change");document.querySelector("".concat(e.target)).dispatchEvent(c);break;case"submitForm":document.querySelector("".concat(e.target)).submit();break;case"openLink":document.querySelector("".concat(e.target)).value&&(window.location.href=document.querySelector("".concat(e.target)).value);break}},V=function(e,t){var o=JSON.parse(e.getAttribute("data-values")),r=document.querySelector(t.target);if(!o)return!1;Object.keys(o).forEach(i=>{document.getElementById(i)&&document.getElementById(i).tagName=="SPAN"&&(document.getElementById(i).innerHTML=o[i]),r.querySelector('select[name="'.concat(i,'"] [value="').concat(o[i],'"]'))?(r.querySelector('select[name="'.concat(i,'"]')).value=o[i],e.hasAttribute("data-lock-fields")&&(r.querySelector('select[name="'.concat(i,'"]')).disabled=!0)):r.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(o[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(o[i],'"]')).checked=!0,r.querySelector('input[name="'.concat(i,'"][type="radio"][value="').concat(o[i],'"]')).disabled=!1):r.querySelector('input[name="'.concat(i,'"]'))&&(r.querySelector('input[name="'.concat(i,'"]')).value=o[i],e.hasAttribute("data-lock-fields")&&r.querySelector('input[name="'.concat(i,'"]')).setAttribute("readonly","true"))})},w=function(a,e,t,o){function r(i){return i instanceof t?i:new t(function(c){c(i)})}return new(t||(t=Promise))(function(i,c){function n(u){try{d(o.next(u))}catch(l){c(l)}}function p(u){try{d(o.throw(u))}catch(l){c(l)}}function d(u){u.done?i(u.value):r(u.value).then(n,p)}d((o=o.apply(a,e||[])).next())})},D=a=>w(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield b()),setTimeout(()=>w(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield b())}),"2000"),a.addEventListener("click",e=>w(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 b());var o="youtube-"+t.getAttribute("data-youtube");document.getElementById("".concat(o,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(o,'-dialog"><div class="embed" id="').concat(o,'"></div></dialog>'));var r=document.getElementById("".concat(o,"-dialog")),i=document.getElementById(o),c=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:t.getAttribute("data-youtube")}});t.dispatchEvent(c),window.dataLayer.push(c.detail),N(i,t.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 s=new CustomEvent("close-video",{detail:{"Video Type":"YoutTube",ID:t.getAttribute("data-youtube")}});t.dispatchEvent(s),window.dataLayer.push(s.detail)})}else if(t&&t.hasAttribute("data-vimeo")){e.preventDefault();var n="vimeo-"+t.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 p=document.getElementById("".concat(n,"-dialog")),d=document.getElementById(n),u=t.getAttribute("data-vimeo"),l=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:u}});t.dispatchEvent(l),window.dataLayer.push(l.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>')),p.showModal(),p.addEventListener("close",()=>{d.innerHTML="";var s=new CustomEvent("close-video",{detail:{"Video Type":"Vimeo",ID:t.getAttribute("data-vimeo")}});t.dispatchEvent(s),window.dataLayer.push(s.detail)})}}))}),b=()=>w(void 0,void 0,void 0,function*(){return new Promise((a,e)=>{var t=new Image;t.onload=function(){var o=document.createElement("script");o.src="https://www.youtube.com/iframe_api";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(o,r),document.body.classList.add("youtubeLoaded"),a(!0)},t.onerror=function(){e(!1)},t.src="https://youtube.com/favicon.ico"})}),N=(a,e)=>w(void 0,void 0,void 0,function*(){typeof window.player>"u"&&(window.player=[]);var t=a.getAttribute("id");if(typeof window.player[t]<"u"&&typeof window.player[t].pauseVideo=="function")return window.player[t].playVideo(),!1;window.player[t]=new YT.Player(t,{height:"100%",width:"100%",videoId:e,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:o,onStateChange:i}});function o(c){c.target.playVideo()}var r=!1;function i(c){if(c.data==YT.PlayerState.PLAYING&&!r){var n=document.getElementById(t);n.classList.add("player-ready"),r=!0}}}),Y=function(a,e,t,o){function r(i){return i instanceof t?i:new t(function(c){c(i)})}return new(t||(t=Promise))(function(i,c){function n(u){try{d(o.next(u))}catch(l){c(l)}}function p(u){try{d(o.throw(u))}catch(l){c(l)}}function d(u){u.done?i(u.value):r(u.value).then(n,p)}d((o=o.apply(a,e||[])).next())})};document.addEventListener("DOMContentLoaded",()=>Y(void 0,void 0,void 0,function*(){H(),B(),v(document.body),C(),x(document.body),D(document.body)}))}));
5
5
  //# sourceMappingURL=scripts.bundle.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta7
2
+ * iamKey v7.5.1--beta8
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&&!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&&!e.querySelector(":scope > button:first-child")&&e.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};window.triggerDynamicEvent=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),e.hasAttribute("data-change-events")&&"change"==a&&t(e,e.getAttribute("data-change-events")),e.hasAttribute("data-click-events")&&"click"==a&&t(e,e.getAttribute("data-click-events"))};var t=(e,t)=>{if(t||(t=e.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(t=>{a(e,t)})},a=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?o(e,t,"if"):o(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,'"]'))?o(a,t,"if"):o(a,t,"else"),!1}"event"in t&&o(e,t,"event")},o=(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 r=document.querySelector(t.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":n(e,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(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 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)}},n=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"))})},r=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())})},i=()=>r(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 a=void 0,o=void 0,c=function*(){var a,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]")&&t(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]")&&t(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]")&&t(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"),a=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&&a(location.hash),window.addEventListener("hashchange",function(){a(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(document.querySelector("iam-modal#".concat(o))||document.querySelector("iam-multi-step-modal#".concat(o)))return!1;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 u=l.getBoundingClientRect();(t.clientX<u.left||t.clientX>u.right||t.clientY<u.top||t.clientY>u.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 s=t.target.closest(".dialog__wrapper > button"),m=s.parentNode;if(m.querySelector("dialog")){t.stopPropagation();var y="openPopover",p=m.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=p&&s.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")}),p.hasAttribute("open"))p.close(),y="closePopover",p.removeAttribute("style"),s.removeAttribute("aria-expanded");else{p.show(),s.setAttribute("aria-expanded",!0);var g=s.getBoundingClientRect(),v=g.top,f=g.left;if(s.closest("iam-table")){var b=s.closest("iam-table").parentNode.getBoundingClientRect();v-=b.top,f-=b.left}p.classList.contains("dialog--fix")&&p.setAttribute("style","position:fixed;top: ".concat(v,"px; left: ").concat(f,"px; margin: 3rem 0 0 0;"))}var w=p.getBoundingClientRect();if(w.bottom-window.scrollY>window.innerHeight-window.scrollY){var h=p.hasAttribute("style")?p.getAttribute("style")+" ":"";p.setAttribute("style",h+"transform: translate(0, calc(-100% - 4rem))"),(w=p.getBoundingClientRect()).top-window.scrollY<100&&p.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:y,id:s.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),(e=>{r(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield i()),setTimeout(()=>r(void 0,void 0,void 0,function*(){document.querySelector(".youtube-link[data-youtube]")&&!document.body.classList.contains("youtubeLoaded")&&(yield i())}),"2000"),e.addEventListener("click",e=>r(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 i());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),c=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:t.getAttribute("data-youtube")}});t.dispatchEvent(c),window.dataLayer.push(c.detail),((e,t)=>{r(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 d="vimeo-"+t.getAttribute("data-youtube");document.getElementById("".concat(d,"-dialog"))||document.body.insertAdjacentHTML("beforeend",'<dialog id="'.concat(d,'-dialog"><div class="embed" id="').concat(d,'"></div></dialog>'));var l=document.getElementById("".concat(d,"-dialog")),u=document.getElementById(d),s=t.getAttribute("data-vimeo"),m=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:s}});t.dispatchEvent(m),window.dataLayer.push(m.detail),u.querySelector("iframe")||(u.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",()=>{u.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,t){function r(e){try{d(c.next(e))}catch(e){t(e)}}function i(e){try{d(c.throw(e))}catch(e){t(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,i)}d((c=c.apply(a,o||[])).next())});var a,o,n,c})});
@@ -201,8 +201,6 @@ class iamPagination extends HTMLElement {
201
201
  if (oldVal && oldVal != newVal) {
202
202
  this.setup();
203
203
 
204
- console.log(newVal);
205
-
206
204
  // Dispact the event for other components to use as triggers
207
205
  this.dispatchEvent(new CustomEvent('update-page', { detail: { page: newVal } }));
208
206
  }
@@ -107,13 +107,13 @@ function createAppliedFilters(container, filters): void {
107
107
  checkForChecked(true);
108
108
 
109
109
  // Create the main event listener for the component watching for inputs to change
110
- container.addEventListener('change', function (event) {
111
- if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')) {
112
110
 
111
+ Array.from(container.querySelectorAll('input[data-filter-text]')).forEach((input) => {
112
+
113
+ input.addEventListener('change', function (event) {
114
+
113
115
  const setFilter = container.closest('dialog') ? false : true;
114
116
 
115
- const input = event.target.closest('input[data-filter-text]');
116
-
117
117
  if (!container.hasAttribute('data-keep-same') && !container.querySelector('dialog'))
118
118
  addFilterButton(filters, input, setFilter);
119
119
 
@@ -122,7 +122,7 @@ function createAppliedFilters(container, filters): void {
122
122
  const event = new CustomEvent('update');
123
123
  container.parentElement.closest('iam-applied-filters')?.dispatchEvent(event);
124
124
  }
125
- }
125
+ });
126
126
  });
127
127
 
128
128
 
@@ -149,6 +149,9 @@ function createAppliedFilters(container, filters): void {
149
149
  } else {
150
150
  input.checked = false;
151
151
  }
152
+
153
+ const changeEvent = new CustomEvent('change');
154
+ input?.dispatchEvent(changeEvent);
152
155
  }
153
156
  }
154
157
 
@@ -1,3 +1,4 @@
1
+ import { doc } from 'prettier';
1
2
  import { zeroPad, isNumeric, ucfirst, resolvePath, uniqueID } from './helpers';
2
3
 
3
4
  // #region Helpers
@@ -102,6 +103,7 @@ export const paginateTable = (component, table, form, pagination, callback): voi
102
103
  });
103
104
 
104
105
  pagination.addEventListener('update-page', (event) => {
106
+ console.log('update page')
105
107
  if (form.querySelector('[name=page]').value != event.detail.page) {
106
108
  form.querySelector('[name=page]').value = event.detail.page;
107
109
 
@@ -719,7 +721,7 @@ export const addFilterEventListeners = (component, table, form, pagination, save
719
721
  }
720
722
  */
721
723
  };
722
-
724
+ /*
723
725
  if (component.querySelector('iam-actionbar[data-search]')) {
724
726
  component.querySelector('iam-actionbar[data-search]').addEventListener('search-submit', (event) => {
725
727
  if (form.querySelector('input[data-search]')) {
@@ -757,7 +759,7 @@ export const addFilterEventListeners = (component, table, form, pagination, save
757
759
  filterTable(component, table, form, pagination);
758
760
  });
759
761
  }
760
-
762
+ */
761
763
  form.addEventListener('keyup', (event) => {
762
764
  clearTimeout(timer);
763
765
 
@@ -1252,6 +1254,16 @@ export const setupAjaxTable = (component, table, form, pagination): void => {
1252
1254
  const actionbar = component.querySelector('iam-actionbar');
1253
1255
 
1254
1256
  form.addEventListener('submit', (event) => {
1257
+
1258
+ Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element) => {
1259
+
1260
+ const id = element.getAttribute('data-duplicate');
1261
+
1262
+ if (document.querySelector(`[id="${id}"]`)) {
1263
+ document.querySelector(`[id="${id}"]`).checked = element.checked;
1264
+ }
1265
+ });
1266
+
1255
1267
  loadAjaxTable(component, table, form, pagination);
1256
1268
 
1257
1269
  event.preventDefault();
@@ -1263,6 +1275,28 @@ export const setupAjaxTable = (component, table, form, pagination): void => {
1263
1275
 
1264
1276
  loadAjaxTable(component, table, form, pagination);
1265
1277
  }
1278
+
1279
+ if (event && event.target instanceof HTMLElement && event.target.hasAttribute('id')) {
1280
+ const id = event.target.getAttribute('id');
1281
+
1282
+ if (document.querySelector(`[data-duplicate="${id}"]`)) {
1283
+ document.querySelector(`[data-duplicate="${id}"]`).checked = event.target.checked;
1284
+
1285
+
1286
+ const changeEvent = new CustomEvent('change');
1287
+ document.querySelector(`[data-duplicate="${id}"]`)?.dispatchEvent(changeEvent);
1288
+
1289
+ }
1290
+ }
1291
+
1292
+ if (event && event.target instanceof HTMLElement && event.target.hasAttribute('data-duplicate') && !event.target.closest('iam-modal')) {
1293
+ const id = event.target.getAttribute('data-duplicate');
1294
+
1295
+ if (document.querySelector(`[id="${id}"]`)) {
1296
+ document.querySelector(`[id="${id}"]`).checked = event.target.checked;
1297
+ }
1298
+ }
1299
+
1266
1300
  });
1267
1301
 
1268
1302
  if (actionbar) {
@@ -1290,6 +1324,55 @@ export const setupAjaxTable = (component, table, form, pagination): void => {
1290
1324
  }
1291
1325
 
1292
1326
 
1327
+ // mimic fields
1328
+ const fields = [];
1329
+
1330
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1331
+
1332
+ input.addEventListener('change', (event) => {
1333
+
1334
+ loadAjaxTable(component, table, form, pagination);
1335
+ });
1336
+ });
1337
+
1338
+
1339
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1340
+ const mimicField = input.getAttribute('data-mimic');
1341
+
1342
+ Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
1343
+
1344
+ if (!fields.includes(mimicInput)) {
1345
+ fields.push(mimicInput);
1346
+ }
1347
+ });
1348
+ });
1349
+
1350
+ fields.forEach((input) => {
1351
+
1352
+ input.addEventListener('change', (event) => {
1353
+
1354
+ const name = input.getAttribute('name');
1355
+ const mimicInput = document.querySelector(`[data-mimic="${name}"]`);
1356
+
1357
+ let valueToSend = '';
1358
+ Array.from(document.querySelectorAll(`[name="${name}"]:checked`)).forEach((input) => {
1359
+
1360
+ if(valueToSend == '')
1361
+ valueToSend = input.value;
1362
+ else
1363
+ valueToSend += ',' + input.value;
1364
+ });
1365
+
1366
+ console.log(valueToSend);
1367
+
1368
+ mimicInput.value = valueToSend;
1369
+ const changeEvent = new CustomEvent('change');
1370
+ mimicInput?.dispatchEvent(changeEvent);
1371
+ });
1372
+ });
1373
+
1374
+
1375
+
1293
1376
  };
1294
1377
  // #region ajax tables functions
1295
1378
 
@@ -1460,11 +1543,11 @@ export const loadAjaxTable = async function (component, table, form, pagination)
1460
1543
  tbody.appendChild(table_row);
1461
1544
  });
1462
1545
 
1463
- component.setAttribute('data-total', parseInt(totalNumber));
1464
- component.setAttribute('data-page', parseInt(currentPage));
1546
+ //component.setAttribute('data-total', parseInt(totalNumber));
1547
+ //component.setAttribute('data-page', parseInt(currentPage));
1465
1548
 
1466
- pagination.setAttribute('data-total', totalNumber);
1467
- pagination.setAttribute('data-page', currentPage);
1549
+ //pagination.setAttribute('data-total', totalNumber);
1550
+ //pagination.setAttribute('data-page', currentPage);
1468
1551
 
1469
1552
  Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
1470
1553
  const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');