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

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 +94 -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 +88 -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--beta9
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--beta9
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--beta9
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) {
@@ -1075,6 +1142,7 @@ export const loadAjaxTable = function (component, table, form, pagination) {
1075
1142
  form.querySelector('input[name=show]').value = component.getAttribute('data-show');
1076
1143
  // Construct form data to send to api
1077
1144
  const formData = new FormData(form);
1145
+ formData.set('page_number', formData.get('page')); // Fix for compliance dashbaord
1078
1146
  const queryString = new URLSearchParams(formData).toString();
1079
1147
  const columns = table.querySelectorAll('thead tr th:not(.expand-button-heading)');
1080
1148
  const tbody = table.querySelector('tbody');
@@ -1186,10 +1254,10 @@ export const loadAjaxTable = function (component, table, form, pagination) {
1186
1254
  });
1187
1255
  tbody.appendChild(table_row);
1188
1256
  });
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);
1257
+ //component.setAttribute('data-total', parseInt(totalNumber));
1258
+ //component.setAttribute('data-page', parseInt(currentPage));
1259
+ //pagination.setAttribute('data-total', totalNumber);
1260
+ //pagination.setAttribute('data-page', currentPage);
1193
1261
  Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
1194
1262
  const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
1195
1263
  if (queryElement.hasAttribute('data-total'))
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta7
2
+ * iamKey v7.5.1--beta9
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--beta9
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) {
@@ -1289,6 +1323,52 @@ export const setupAjaxTable = (component, table, form, pagination): void => {
1289
1323
  });
1290
1324
  }
1291
1325
 
1326
+ // mimic fields
1327
+ const fields = [];
1328
+
1329
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1330
+
1331
+ input.addEventListener('change', (event) => {
1332
+
1333
+ loadAjaxTable(component, table, form, pagination);
1334
+ });
1335
+ });
1336
+
1337
+
1338
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
1339
+ const mimicField = input.getAttribute('data-mimic');
1340
+
1341
+ Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
1342
+
1343
+ if (!fields.includes(mimicInput)) {
1344
+ fields.push(mimicInput);
1345
+ }
1346
+ });
1347
+ });
1348
+
1349
+ fields.forEach((input) => {
1350
+
1351
+ input.addEventListener('change', (event) => {
1352
+
1353
+ const name = input.getAttribute('name');
1354
+ const mimicInput = document.querySelector(`[data-mimic="${name}"]`);
1355
+
1356
+ let valueToSend = '';
1357
+ Array.from(document.querySelectorAll(`[name="${name}"]:checked`)).forEach((input) => {
1358
+
1359
+ if(valueToSend == '')
1360
+ valueToSend = input.value;
1361
+ else
1362
+ valueToSend += ',' + input.value;
1363
+ });
1364
+
1365
+ console.log(valueToSend);
1366
+
1367
+ mimicInput.value = valueToSend;
1368
+ const changeEvent = new CustomEvent('change');
1369
+ mimicInput?.dispatchEvent(changeEvent);
1370
+ });
1371
+ });
1292
1372
 
1293
1373
  };
1294
1374
  // #region ajax tables functions
@@ -1324,6 +1404,8 @@ export const loadAjaxTable = async function (component, table, form, pagination)
1324
1404
  // Construct form data to send to api
1325
1405
  const formData = new FormData(form);
1326
1406
 
1407
+ formData.set('page_number',formData.get('page')); // Fix for compliance dashbaord
1408
+
1327
1409
  const queryString = new URLSearchParams(formData).toString();
1328
1410
  const columns = table.querySelectorAll('thead tr th:not(.expand-button-heading)');
1329
1411
  const tbody = table.querySelector('tbody');
@@ -1460,11 +1542,11 @@ export const loadAjaxTable = async function (component, table, form, pagination)
1460
1542
  tbody.appendChild(table_row);
1461
1543
  });
1462
1544
 
1463
- component.setAttribute('data-total', parseInt(totalNumber));
1464
- component.setAttribute('data-page', parseInt(currentPage));
1545
+ //component.setAttribute('data-total', parseInt(totalNumber));
1546
+ //component.setAttribute('data-page', parseInt(currentPage));
1465
1547
 
1466
- pagination.setAttribute('data-total', totalNumber);
1467
- pagination.setAttribute('data-page', currentPage);
1548
+ //pagination.setAttribute('data-total', totalNumber);
1549
+ //pagination.setAttribute('data-page', currentPage);
1468
1550
 
1469
1551
  Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
1470
1552
  const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');