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

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 (194) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/actionbar.global.css.map +1 -1
  4. package/assets/css/components/address-lookup.component.css +1 -1
  5. package/assets/css/components/address-lookup.component.css.map +1 -1
  6. package/assets/css/components/applied-filters.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/calendar.component.css +1 -1
  10. package/assets/css/components/calendar.component.css.map +1 -1
  11. package/assets/css/components/calendar.config.css.map +1 -1
  12. package/assets/css/components/card.component.css +1 -1
  13. package/assets/css/components/card.component.css.map +1 -1
  14. package/assets/css/components/carousel.component.css +1 -1
  15. package/assets/css/components/carousel.component.css.map +1 -1
  16. package/assets/css/components/carousel.config.css.map +1 -1
  17. package/assets/css/components/charts.config.css.map +1 -1
  18. package/assets/css/components/collapsible-side.css +1 -1
  19. package/assets/css/components/collapsible-side.css.map +1 -1
  20. package/assets/css/components/content.component.css +1 -1
  21. package/assets/css/components/content.component.css.map +1 -1
  22. package/assets/css/components/doughnutchart.component.css +1 -1
  23. package/assets/css/components/doughnutchart.component.css.map +1 -1
  24. package/assets/css/components/fileupload.css +1 -1
  25. package/assets/css/components/fileupload.css.map +1 -1
  26. package/assets/css/components/header.css.map +1 -1
  27. package/assets/css/components/inline-edit.css.map +1 -1
  28. package/assets/css/components/inline-edit.preload.css.map +1 -1
  29. package/assets/css/components/marketing.component.css.map +1 -1
  30. package/assets/css/components/menu.component.css +1 -1
  31. package/assets/css/components/menu.component.css.map +1 -1
  32. package/assets/css/components/menu.global.css.map +1 -1
  33. package/assets/css/components/modal.component.css +1 -1
  34. package/assets/css/components/modal.component.css.map +1 -1
  35. package/assets/css/components/multi-step-modal.component.css +1 -1
  36. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  37. package/assets/css/components/multi-step-modal.global.css.map +1 -1
  38. package/assets/css/components/multi-step.component.css.map +1 -1
  39. package/assets/css/components/multiselect.css +1 -1
  40. package/assets/css/components/multiselect.css.map +1 -1
  41. package/assets/css/components/multiselect.preload.css.map +1 -1
  42. package/assets/css/components/nav.component.css +1 -1
  43. package/assets/css/components/nav.component.css.map +1 -1
  44. package/assets/css/components/nav.docs.css.map +1 -1
  45. package/assets/css/components/nav.global.css.map +1 -1
  46. package/assets/css/components/nav.preload.css.map +1 -1
  47. package/assets/css/components/notification.css.map +1 -1
  48. package/assets/css/components/pagination.css +1 -1
  49. package/assets/css/components/pagination.css.map +1 -1
  50. package/assets/css/components/popover.component.css +1 -0
  51. package/assets/css/components/popover.component.css.map +1 -0
  52. package/assets/css/components/property-searchbar.css.map +1 -1
  53. package/assets/css/components/rank.component.css.map +1 -1
  54. package/assets/css/components/rankings.component.css.map +1 -1
  55. package/assets/css/components/rankings.global.css.map +1 -1
  56. package/assets/css/components/slider.css +1 -1
  57. package/assets/css/components/slider.css.map +1 -1
  58. package/assets/css/components/snapshot.css.map +1 -1
  59. package/assets/css/components/split-button.component.css +1 -1
  60. package/assets/css/components/split-button.component.css.map +1 -1
  61. package/assets/css/components/stepper.css.map +1 -1
  62. package/assets/css/components/table-basic.component.css.map +1 -1
  63. package/assets/css/components/table-basic.global.css +1 -1
  64. package/assets/css/components/table-basic.global.css.map +1 -1
  65. package/assets/css/components/table.component.css.map +1 -1
  66. package/assets/css/components/table.global.css +1 -1
  67. package/assets/css/components/table.global.css.map +1 -1
  68. package/assets/css/components/tabs.component.css +1 -1
  69. package/assets/css/components/tabs.component.css.map +1 -1
  70. package/assets/css/components/tabs.config.css.map +1 -1
  71. package/assets/css/components/testimonial.css.map +1 -1
  72. package/assets/css/components/timeline.css.map +1 -1
  73. package/assets/css/components/tooltip.component.css +1 -0
  74. package/assets/css/components/tooltip.component.css.map +1 -0
  75. package/assets/css/core.min.css +1 -1
  76. package/assets/css/core.min.css.map +1 -1
  77. package/assets/css/mobile-core.min.css +1 -1
  78. package/assets/css/mobile-core.min.css.map +1 -1
  79. package/assets/css/mobile.min.css +1 -1
  80. package/assets/css/mobile.min.css.map +1 -1
  81. package/assets/css/style.min.css +1 -1
  82. package/assets/css/style.min.css.map +1 -1
  83. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  84. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  85. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  86. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  87. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  88. package/assets/js/components/advanced-select/advanced-select.component.min.js +3 -3
  89. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  90. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  91. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  92. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  93. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  94. package/assets/js/components/calendar/calendar.component.min.js +4 -4
  95. package/assets/js/components/card/card.component.min.js +6 -6
  96. package/assets/js/components/card/card.component.min.js.map +1 -1
  97. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  98. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  99. package/assets/js/components/content/content.component.min.js +2 -2
  100. package/assets/js/components/darkmode/darkmode.component.js +5 -1
  101. package/assets/js/components/darkmode/darkmode.component.min.js +2 -2
  102. package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -1
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
  104. package/assets/js/components/fileupload/fileupload.component.min.js +3 -3
  105. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  106. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  107. package/assets/js/components/header/header.component.min.js +1 -1
  108. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  109. package/assets/js/components/input/input.component.js +82 -1
  110. package/assets/js/components/input/input.component.min.js +4 -4
  111. package/assets/js/components/input/input.component.min.js.map +1 -1
  112. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  113. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  114. package/assets/js/components/menu/menu.component.js +1 -0
  115. package/assets/js/components/menu/menu.component.min.js +4 -4
  116. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  117. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  118. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  119. package/assets/js/components/modal/modal.component.min.js +4 -4
  120. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  121. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  122. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  123. package/assets/js/components/nav/nav.component.min.js +2 -2
  124. package/assets/js/components/notification/notification.component.min.js +1 -1
  125. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  126. package/assets/js/components/password/password.component.min.js +1 -1
  127. package/assets/js/components/popover/popover.component.js +36 -0
  128. package/assets/js/components/popover/popover.component.min.js +13 -0
  129. package/assets/js/components/popover/popover.component.min.js.map +1 -0
  130. package/assets/js/components/rank/rank.component.min.js +1 -1
  131. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  132. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  133. package/assets/js/components/search/search.component.min.js +5 -5
  134. package/assets/js/components/search/search.component.min.js.map +1 -1
  135. package/assets/js/components/slider/slider.component.min.js +2 -2
  136. package/assets/js/components/split-button/split-button.component.min.js +4 -4
  137. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  138. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +1 -1
  139. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +7 -7
  140. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  141. package/assets/js/components/table/table.component.min.js +6 -6
  142. package/assets/js/components/table/table.component.min.js.map +1 -1
  143. package/assets/js/components/table-ajax/table-ajax.component.min.js +6 -6
  144. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  145. package/assets/js/components/table-basic/table-basic.component.js +1 -1
  146. package/assets/js/components/table-basic/table-basic.component.min.js +4 -4
  147. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  148. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +6 -6
  149. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  150. package/assets/js/components/table-submit/table-submit.component.min.js +5 -5
  151. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  152. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  153. package/assets/js/components/tooltip/tooltip.component.js +68 -0
  154. package/assets/js/components/tooltip/tooltip.component.min.js +14 -0
  155. package/assets/js/components/tooltip/tooltip.component.min.js.map +1 -0
  156. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  157. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  158. package/assets/js/modules/advanced-select.js +6 -0
  159. package/assets/js/modules/applied-filters.js +8 -2
  160. package/assets/js/modules/table.js +49 -164
  161. package/assets/js/scripts.bundle.js +1 -1
  162. package/assets/js/scripts.bundle.min.js +1 -1
  163. package/assets/sass/_elements.scss +5 -0
  164. package/assets/sass/_functions/mixins.scss +53 -0
  165. package/assets/sass/components/actionbar.component.scss +8 -1
  166. package/assets/sass/components/address-lookup.component.scss +1 -0
  167. package/assets/sass/components/menu.component.scss +7 -5
  168. package/assets/sass/components/popover.component.scss +28 -0
  169. package/assets/sass/components/table-basic.global.scss +5 -7
  170. package/assets/sass/components/tooltip.component.scss +120 -0
  171. package/assets/sass/elements/buttons--special.scss +45 -0
  172. package/assets/sass/elements/buttons.scss +6 -0
  173. package/assets/sass/elements/dialog.scss +8 -7
  174. package/assets/sass/elements/feature.scss +53 -0
  175. package/assets/sass/elements/forms.scss +10 -187
  176. package/assets/sass/elements/input.scss +177 -0
  177. package/assets/sass/elements/links.scss +7 -1
  178. package/assets/sass/elements/popover.scss +3 -2
  179. package/assets/ts/components/darkmode/darkmode.component.ts +6 -2
  180. package/assets/ts/components/input/input.component.ts +109 -1
  181. package/assets/ts/components/menu/menu.component.ts +1 -0
  182. package/assets/ts/components/popover/popover.component.ts +50 -0
  183. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +1 -1
  184. package/assets/ts/components/table-basic/table-basic.component.ts +1 -1
  185. package/assets/ts/components/tooltip/tooltip.component.ts +98 -0
  186. package/assets/ts/modules/advanced-select.ts +8 -0
  187. package/assets/ts/modules/applied-filters.ts +12 -1
  188. package/assets/ts/modules/table.ts +15 -161
  189. package/dist/components.es.js +493 -563
  190. package/dist/components.umd.js +224 -201
  191. package/package.json +5 -5
  192. package/src/components/Filterlist/Filterlist.vue +0 -12
  193. package/src/components/Popover/Popover.vue +22 -0
  194. package/src/components/Tooltip/Tooltip.vue +22 -0
@@ -88,7 +88,6 @@ export const paginateTable = (component, table, form, pagination, callback) => {
88
88
  }
89
89
  });
90
90
  pagination.addEventListener('update-page', (event) => {
91
- console.log('update page');
92
91
  if (form.querySelector('[name=page]').value != event.detail.page) {
93
92
  form.querySelector('[name=page]').value = event.detail.page;
94
93
  const updateEvent = new CustomEvent('update-page', { detail: { page: event.detail.page } });
@@ -576,20 +575,6 @@ export const addFilterEventListeners = (component, table, form, pagination, save
576
575
  // Before submitting check if any duplicate checkboxes within the filters dialog needs to upset the original input
577
576
  if (event.type == 'submit') {
578
577
  form.classList.add('processing');
579
- Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element) => {
580
- const id = element.getAttribute('data-duplicate');
581
- const input = document.getElementById(id);
582
- const card = document.querySelector(`[for="${id}"] iam-card`);
583
- if (input.checked != element.checked) {
584
- if (card) {
585
- const clickEvent = new Event('click');
586
- card.dispatchEvent(clickEvent);
587
- }
588
- else {
589
- input.checked = element.checked;
590
- }
591
- }
592
- });
593
578
  form.classList.remove('processing');
594
579
  }
595
580
  filterTable(component, table, form, pagination);
@@ -606,44 +591,44 @@ export const addFilterEventListeners = (component, table, form, pagination, save
606
591
  */
607
592
  };
608
593
  /*
609
- if (component.querySelector('iam-actionbar[data-search]')) {
610
- component.querySelector('iam-actionbar[data-search]').addEventListener('search-submit', (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);
630
- });
631
- }
632
-
633
- if (component.querySelector('iam-actionbar') && !component.querySelector('iam-actionbar').closest('form')) {
634
- component.querySelector('iam-actionbar').addEventListener('change', (event) => {
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);
594
+ if (component.querySelector('iam-actionbar[data-search]')) {
595
+ component.querySelector('iam-actionbar[data-search]').addEventListener('search-submit', (event) => {
596
+ if (form.querySelector('input[data-search]')) {
597
+ form.querySelector('input[data-search]').value = event.detail.search;
598
+ } else {
599
+ form.insertAdjacentHTML(
600
+ 'beforeend',
601
+ `<input type="hidden" name="search" data-search="${component.querySelector('iam-actionbar[data-search]').getAttribute('data-search')}" value="${event.detail.search}"/>`
602
+ );
603
+ }
604
+
605
+ const submitEvent = new CustomEvent('search-submit', {
606
+ detail: event.details,
644
607
  });
645
- }
646
- */
608
+ component.dispatchEvent(submitEvent);
609
+
610
+
611
+ clearTimeout(timer);
612
+
613
+ if(component.tagName != "IAM-TABLE-NO-SUBMIT")
614
+ formSubmit(event);
615
+ });
616
+ }
617
+
618
+ if (component.querySelector('iam-actionbar') && !component.querySelector('iam-actionbar').closest('form')) {
619
+ component.querySelector('iam-actionbar').addEventListener('change', (event) => {
620
+ if (!form.querySelector('.duplicate-actionbar')) {
621
+ form.insertAdjacentHTML(
622
+ 'beforeend',
623
+ `<div class="duplicate-actionbar" style="visibility: hidden; pointer-events: none; position: absolute;"></div>`
624
+ );
625
+ }
626
+
627
+ form.querySelector('.duplicate-actionbar').innerHTML = component.querySelector('iam-actionbar').innerHTML;
628
+ filterTable(component, table, form, pagination);
629
+ });
630
+ }
631
+ */
647
632
  form.addEventListener('keyup', (event) => {
648
633
  clearTimeout(timer);
649
634
  if (event && event.target instanceof HTMLElement && event.target.closest('input[data-search]')) {
@@ -677,15 +662,6 @@ export const addFilterEventListeners = (component, table, form, pagination, save
677
662
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-show]')) {
678
663
  formSubmit(event);
679
664
  }
680
- if (event && event.target instanceof HTMLElement && event.target.closest('[data-mimic]')) {
681
- formSubmit(event);
682
- }
683
- if (event && event.target instanceof HTMLElement && event.target.hasAttribute('id')) {
684
- const id = event.target.getAttribute('id');
685
- if (document.querySelector(`[data-duplicate="${id}"]`)) {
686
- document.querySelector(`[data-duplicate="${id}"]`).checked = event.target.checked;
687
- }
688
- }
689
665
  });
690
666
  form.addEventListener('click', (event) => {
691
667
  clearTimeout(timer);
@@ -758,57 +734,6 @@ export const addFilterEventListeners = (component, table, form, pagination, save
758
734
  form.addEventListener('paginate', (event) => {
759
735
  formSubmit(event, true);
760
736
  });
761
- // Mmimic fields
762
- const forms = [];
763
- const fields = [];
764
- // Collect the forms that we need to add an event listener for.
765
- Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
766
- const mimicField = input.getAttribute('data-mimic');
767
- Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
768
- const parentForm = mimicInput.closest('form');
769
- if (!forms.includes(parentForm)) {
770
- forms.push(parentForm);
771
- }
772
- if (!fields.includes(mimicField)) {
773
- fields.push(mimicField);
774
- }
775
- });
776
- });
777
- // For each form add change listener
778
- forms.forEach((parentForm) => {
779
- const updateMimicInput = function () {
780
- const mimickedAlready = [];
781
- const formData = new FormData(parentForm);
782
- let i = 1;
783
- for (const [key, value] of formData) {
784
- if (document.querySelector(`[data-mimic="${key}"]`) && !mimickedAlready.includes(key)) {
785
- mimickedAlready.push(key);
786
- document.querySelector(`[data-mimic="${key}"]`).value = value;
787
- }
788
- else if (document.querySelector(`[data-mimic="${key}"]`))
789
- document.querySelector(`[data-mimic="${key}"]`).value += ',' + value;
790
- i++;
791
- }
792
- for (const value of mimickedAlready) {
793
- const event = new Event('force');
794
- form.dispatchEvent(event);
795
- }
796
- // Check for empties
797
- for (const field of fields) {
798
- if (!formData.has(field) && parentForm.querySelector(`[name="${field}"]`)) {
799
- document.querySelector(`[data-mimic="${field}"]`).value = '';
800
- const event = new Event('force');
801
- form.dispatchEvent(event);
802
- }
803
- }
804
- };
805
- parentForm.addEventListener('force', () => {
806
- updateMimicInput();
807
- });
808
- parentForm.addEventListener('change', () => {
809
- updateMimicInput();
810
- });
811
- });
812
737
  };
813
738
  export const filterTable = (component, table, form, pagination) => {
814
739
  table.classList.remove('table--filtered');
@@ -1044,34 +969,26 @@ export const setupAjaxTable = (component, table, form, pagination) => {
1044
969
  loadAjaxTable(component, table, form, pagination);
1045
970
  const actionbar = component.querySelector('iam-actionbar');
1046
971
  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;
972
+ Array.from(form.querySelectorAll('[data-duplicate]')).forEach((loopElement) => {
973
+ const element = loopElement.tagName == "IAM-INPUT" ? loopElement.querySelector('input') : loopElement;
974
+ const id = loopElement.getAttribute('data-duplicate');
975
+ if (document.querySelector(`[id="${id}"], [name="${id}"]`)) {
976
+ document.querySelector(`[id="${id}"], [name="${id}"]`).checked = element.checked;
1051
977
  }
1052
978
  });
1053
979
  loadAjaxTable(component, table, form, pagination);
1054
980
  event.preventDefault();
1055
981
  });
1056
982
  form.addEventListener('change', (event) => {
1057
- var _a;
1058
983
  if (!event.target.closest('iam-modal')) {
1059
984
  loadAjaxTable(component, table, form, pagination);
1060
985
  }
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
- }
986
+ });
987
+ // watch hidden fields for change events
988
+ Array.from(form.querySelectorAll('[type="hidden"]')).forEach((input) => {
989
+ input.addEventListener('change', (event) => {
990
+ loadAjaxTable(component, table, form, pagination);
991
+ });
1075
992
  });
1076
993
  if (actionbar) {
1077
994
  actionbar.addEventListener('change', (event) => {
@@ -1091,38 +1008,6 @@ export const setupAjaxTable = (component, table, form, pagination) => {
1091
1008
  loadAjaxTable(component, table, form, pagination);
1092
1009
  });
1093
1010
  }
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
- });
1126
1011
  };
1127
1012
  // #region ajax tables functions
1128
1013
  export const loadAjaxTable = function (component, table, form, pagination) {
@@ -1254,7 +1139,7 @@ export const loadAjaxTable = function (component, table, form, pagination) {
1254
1139
  });
1255
1140
  tbody.appendChild(table_row);
1256
1141
  });
1257
- //component.setAttribute('data-total', parseInt(totalNumber));
1142
+ component.setAttribute('data-total', parseInt(totalNumber));
1258
1143
  //component.setAttribute('data-page', parseInt(currentPage));
1259
1144
  //pagination.setAttribute('data-total', totalNumber);
1260
1145
  //pagination.setAttribute('data-page', currentPage);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.5.1--beta9
2
+ * iamKey v7.5.1--beta11
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--beta9
2
+ * iamKey v7.5.1--beta11
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})});
@@ -103,6 +103,11 @@ $optionalText: 'true' !default;
103
103
  $darkMode: $darkMode,
104
104
  $mobileOnly: $mobileOnly
105
105
  );
106
+ @use 'elements/feature.scss' with (
107
+ $layers: $layers,
108
+ $darkMode: $darkMode,
109
+ $mobileOnly: $mobileOnly
110
+ );
106
111
  @use 'elements/details.scss' with (
107
112
  $layers: $layers,
108
113
  $darkMode: $darkMode,
@@ -5,6 +5,7 @@
5
5
  @use 'sass:string';
6
6
 
7
7
  @use 'variables' as *;
8
+ @use 'functions' as *;
8
9
 
9
10
  // Utility generator
10
11
  // Used to generate utilities & print utilities
@@ -588,3 +589,55 @@
588
589
  @content;
589
590
  }
590
591
  }
592
+ @mixin input {
593
+ display: block;
594
+ width: 100%;
595
+ display: block;
596
+ width: 100%;
597
+ padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-inline, #{rem(16)});
598
+ font-size: var(--input-fs, #{rem(16)});
599
+ line-height: var(--input-lh, #{rem(20)});
600
+ color: var(--colour-heading);
601
+ background-color: var(--colour-canvas-2);
602
+ background-clip: padding-box;
603
+ border: 2px solid var(--colour-primary);
604
+ appearance: none; // Fix appearance for date inputs in Safari
605
+ border-radius: rem(8);
606
+ margin-bottom: rem(24);
607
+ min-height: calc(
608
+ var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) +
609
+ 4px
610
+ );
611
+ max-height: calc(
612
+ var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) +
613
+ 4px
614
+ );
615
+
616
+ &:is(textarea) {
617
+ max-height: 100%;
618
+ }
619
+
620
+ // Customize the `:focus` state to imitate native WebKit styles.
621
+ &:is(:focus, .focus):not(:disabled) {
622
+ border-color: var(--colour-info);
623
+ outline: 0;
624
+ }
625
+
626
+ &:is(:focus, .focus):not(:disabled):not(:invalid) {
627
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
628
+ }
629
+ // Add some height to date inputs on iOS
630
+ // https://github.com/twbs/bootstrap/issues/23307
631
+ // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
632
+ &::-webkit-date-and-time-value {
633
+ // Multiply line-height by 1em if it has no unit
634
+ height: if(math.unit($input-line-height) == '', $input-line-height * 1em, $input-line-height);
635
+ }
636
+
637
+ // Disabled inputs
638
+ &:disabled {
639
+ background-color: #ccd6d8;
640
+ opacity: 0.4;
641
+ cursor: not-allowed;
642
+ }
643
+ }
@@ -174,11 +174,13 @@ slot[name='selectall'] {
174
174
  ::slotted([data-single]) {
175
175
  pointer-events: none;
176
176
  opacity: 0.5;
177
+ cursor: not-allowed;
177
178
  }
178
179
 
179
180
  :host([data-selected='1']) ::slotted([data-single]) {
180
181
  pointer-events: all;
181
182
  opacity: 1;
183
+ cursor: pointer;
182
184
  }
183
185
 
184
186
  ::slotted(hr) {
@@ -341,12 +343,17 @@ slot[name='selectall'] {
341
343
  #saveColumns:not(:hover, :focus, :active) {
342
344
  background-color: var(--colour-warning);
343
345
  }
346
+ #saveColumns:is(:hover, :focus, :active) {
347
+ background-color: transparent;
348
+ color: var(--colour-heading);
349
+ border-color: var(--colour-warning);
350
+ }
344
351
  #cancelColumns:not(:hover, :focus, :active) {
345
352
  border-color: var(--colour-border);
346
353
  }
347
354
  }
348
355
 
349
- .fa-table-columns:has(+ dialog input:not(:checked)) {
356
+ .fa-table-columns:has(+ iam-menu input:not(:checked)) {
350
357
  overflow: visible;
351
358
  text-indent: -200vw;
352
359
 
@@ -1,6 +1,7 @@
1
1
  @use '../_func.scss' as *;
2
2
 
3
3
  @use '../elements/forms.scss' as *;
4
+ @use '../elements/prefix.scss' as *;
4
5
  @use '../elements/buttons.scss' as *;
5
6
  @use '../elements/links.scss' as *;
6
7
 
@@ -7,13 +7,15 @@
7
7
  left: anchor(left);
8
8
  position: fixed;
9
9
  position-try-fallbacks: flip-block, flip-inline;
10
- width: max-content;
10
+ width: max-content!important;
11
+ min-width: max-content!important;
12
+ max-width: max-content!important;
11
13
 
12
14
  height: min-content;
13
15
  max-height: var(--menu-max-height, min(100vh - 6rem));
14
16
  background: var(--menu-bg, canvas);
15
17
  margin: var(--menu-margin, 0);
16
- padding: var(--menu-padding, 0.5rem);
18
+ padding: var(--menu-padding, 0.5rem)!important;
17
19
  border: var(--menu-border, 2px solid grey);
18
20
  overflow: auto;
19
21
 
@@ -23,9 +25,9 @@
23
25
  }
24
26
 
25
27
  :host(.menu--fill) {
26
- width: anchor-size(width);
27
- min-width: anchor-size(width);
28
- max-width: anchor-size(width);
28
+ width: anchor-size(width)!important;
29
+ min-width: anchor-size(width)!important;
30
+ max-width: anchor-size(width)!important;
29
31
  }
30
32
 
31
33
  :host(:popover-open),
@@ -0,0 +1,28 @@
1
+ @use '../_func.scss' as *;
2
+
3
+ @layer components {
4
+
5
+ :host {
6
+
7
+ padding: rem(16);
8
+ max-width: calc(anchor-size(width) * 2) !important;
9
+
10
+ position: absolute;
11
+ position-area: bottom span-x-end;
12
+ margin: #{rem(4)};
13
+ padding: rem(16);
14
+ max-width: calc(anchor-size(width) * 2) !important;
15
+ position-try-fallbacks: top span-x-end, bottom span-x-start, top span-x-start;
16
+
17
+ &::backdrop {
18
+ display: none;
19
+ }
20
+
21
+ @include media-breakpoint-up(sm, $mobileOnly) {
22
+ width: rem(335);
23
+ }
24
+ @include media-breakpoint-up(md, $mobileOnly) {
25
+ width: rem(360);
26
+ }
27
+ }
28
+ }
@@ -470,6 +470,9 @@ table {
470
470
  }
471
471
  }
472
472
 
473
+ &:has([type='checkbox']:checked) table{
474
+ overflow: hidden;
475
+ }
473
476
  &:has([type='checkbox']:checked) tr:has([type='checkbox']):not(:has(.tag)) {
474
477
  [type='checkbox'] {
475
478
  width: 100vw;
@@ -478,15 +481,10 @@ table {
478
481
  max-width: 100vw;
479
482
  cursor: pointer;
480
483
  pointer-events: all;
481
- top: auto;
484
+ top: 0;
482
485
  margin: 0;
483
486
  margin-top: 0rem;
484
- }
485
- }
486
-
487
- @container (width > 23.4375em) {
488
- tr:has([type='checkbox']:checked) {
489
- height: calc(4.625rem - 2px);
487
+ position: absolute;
490
488
  }
491
489
  }
492
490