@iamproperty/components 7.6.4--beta1 → 7.6.4--beta3

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 (137) 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/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/calendar.component.css +1 -1
  6. package/assets/css/components/calendar.component.css.map +1 -1
  7. package/assets/css/components/fileupload.css +1 -1
  8. package/assets/css/components/fileupload.css.map +1 -1
  9. package/assets/css/components/multiselect.css +1 -1
  10. package/assets/css/components/multiselect.css.map +1 -1
  11. package/assets/css/components/multiselect.preload.css +1 -1
  12. package/assets/css/components/multiselect.preload.css.map +1 -1
  13. package/assets/css/components/nav.component.css +1 -1
  14. package/assets/css/components/nav.component.css.map +1 -1
  15. package/assets/css/components/pagination.css +1 -1
  16. package/assets/css/components/pagination.css.map +1 -1
  17. package/assets/css/components/slider.css +1 -1
  18. package/assets/css/components/slider.css.map +1 -1
  19. package/assets/css/components/tag.component.css +1 -1
  20. package/assets/css/components/tag.component.css.map +1 -1
  21. package/assets/css/components/tag.preload.css +1 -1
  22. package/assets/css/components/tag.preload.css.map +1 -1
  23. package/assets/css/core.min.css +1 -1
  24. package/assets/css/core.min.css.map +1 -1
  25. package/assets/css/style.min.css +1 -1
  26. package/assets/css/style.min.css.map +1 -1
  27. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  28. package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
  29. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  30. package/assets/js/components/address-lookup/address-lookup.component.js +11 -5
  31. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  32. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  33. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  34. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  35. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  36. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  37. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  38. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  39. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  40. package/assets/js/components/calendar/calendar.component.min.js.map +1 -1
  41. package/assets/js/components/card/card.component.min.js +1 -1
  42. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  43. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  44. package/assets/js/components/content/content.component.min.js +1 -1
  45. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  46. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  47. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  48. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  49. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  50. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  51. package/assets/js/components/form/form.component.js +68 -0
  52. package/assets/js/components/form/form.component.min.js +9 -0
  53. package/assets/js/components/form/form.component.min.js.map +1 -0
  54. package/assets/js/components/header/header.component.min.js +1 -1
  55. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  56. package/assets/js/components/input/input.component.js +7 -5
  57. package/assets/js/components/input/input.component.min.js +2 -2
  58. package/assets/js/components/input/input.component.min.js.map +1 -1
  59. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  60. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  61. package/assets/js/components/menu/menu.component.min.js +1 -1
  62. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  63. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  64. package/assets/js/components/modal/modal.component.js +1 -1
  65. package/assets/js/components/modal/modal.component.min.js +2 -2
  66. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  67. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  68. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  69. package/assets/js/components/multiselect/multiselect.component.js +9 -76
  70. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  71. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  72. package/assets/js/components/nav/nav.component.min.js +2 -2
  73. package/assets/js/components/notification/notification.component.min.js +1 -1
  74. package/assets/js/components/pagination/pagination.component.min.js +3 -3
  75. package/assets/js/components/password/password.component.min.js +1 -1
  76. package/assets/js/components/popover/popover.component.min.js +1 -1
  77. package/assets/js/components/rank/rank.component.min.js +1 -1
  78. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  79. package/assets/js/components/rating/rating.component.min.js +1 -1
  80. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  81. package/assets/js/components/search/search.component.min.js +1 -1
  82. package/assets/js/components/search/search.component.min.js.map +1 -1
  83. package/assets/js/components/slider/slider.component.min.js +2 -2
  84. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  85. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +59 -2
  86. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +10 -9
  87. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  88. package/assets/js/components/table/table.component.min.js +1 -1
  89. package/assets/js/components/table/table.component.min.js.map +1 -1
  90. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  91. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  92. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  93. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  94. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  95. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  96. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  97. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  98. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  99. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  100. package/assets/js/components/tag/tag.component.js +6 -1
  101. package/assets/js/components/tag/tag.component.min.js +4 -4
  102. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  103. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  104. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  105. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  106. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  107. package/assets/js/modules/dropdown.js +97 -4
  108. package/assets/js/modules/helpers.js +26 -22
  109. package/assets/js/scripts.bundle.js +2 -2
  110. package/assets/js/scripts.bundle.js.map +1 -1
  111. package/assets/js/scripts.bundle.min.js +2 -2
  112. package/assets/js/scripts.bundle.min.js.map +1 -1
  113. package/assets/sass/_components.scss +0 -2
  114. package/assets/sass/_elements.scss +1 -0
  115. package/assets/sass/components/multiselect.preload.scss +0 -55
  116. package/assets/sass/components/multiselect.scss +172 -174
  117. package/assets/sass/components/tag.component.scss +38 -57
  118. package/assets/sass/components/tag.preload.scss +1 -26
  119. package/assets/sass/elements/dropdown.scss +87 -0
  120. package/assets/sass/elements/forms.scss +14 -14
  121. package/assets/sass/elements/icons.css +4 -4
  122. package/assets/sass/elements/input.scss +0 -14
  123. package/assets/sass/elements/textarea.scss +97 -0
  124. package/assets/sass/templates/form.scss +14 -5
  125. package/assets/ts/components/address-lookup/address-lookup.component.ts +12 -5
  126. package/assets/ts/components/form/form.component.ts +102 -0
  127. package/assets/ts/components/input/input.component.ts +8 -6
  128. package/assets/ts/components/modal/modal.component.ts +1 -1
  129. package/assets/ts/components/multiselect/multiselect.component.ts +10 -78
  130. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +83 -2
  131. package/assets/ts/components/tag/tag.component.ts +8 -11
  132. package/assets/ts/modules/dropdown.ts +117 -5
  133. package/assets/ts/modules/helpers.ts +32 -27
  134. package/dist/components.es.js +28 -28
  135. package/dist/components.umd.js +225 -211
  136. package/package.json +2 -2
  137. package/src/components/Form/Form.vue +22 -0
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import Cookies from 'js-cookie';
10
+ import Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';
11
11
  export const filterList = (component, search) => {
12
12
  Array.from(component.querySelectorAll(`label:not([slot="checked"])`)).forEach((label) => {
13
13
  const checkbox = label.querySelector('input');
@@ -27,8 +27,10 @@ export const searchAjax = (component, search, callback) => __awaiter(void 0, voi
27
27
  const ajaxURL = component.getAttribute('data-url');
28
28
  const firstInput = component.querySelector('input');
29
29
  console.log(firstInput);
30
- const inputType = firstInput.getAttribute('type');
31
- const inputName = firstInput.getAttribute('name');
30
+ const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';
31
+ let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';
32
+ if (component.hasAttribute('data-name'))
33
+ inputName = component.hasAttribute('data-name');
32
34
  const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;
33
35
  // Setup controller vars if not already set
34
36
  if (!window.controller)
@@ -56,7 +58,7 @@ export const searchAjax = (component, search, callback) => __awaiter(void 0, voi
56
58
  let items = '';
57
59
  for (let i = 0; i < response['data'].length; i++) {
58
60
  if (!component.querySelector(`[value="${response['data'][i].value}"]`))
59
- items += `<label class="tag"><input type="${inputType}" name="${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}" value="${response['data'][i].value}"/>${response['data'][i].title}</label>`;
61
+ items += `<label class="tag dropdown__option"><input type="${inputType}" name="${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}" value="${response['data'][i].value}"/>${response['data'][i].title}</label>`;
60
62
  }
61
63
  component.insertAdjacentHTML('beforeend', `${items}`);
62
64
  callback(component, search);
@@ -84,3 +86,94 @@ export const setTag = (tag) => {
84
86
  tagIndex = 1;
85
87
  tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);
86
88
  };
89
+ export const addKeyboardEvents = (dropdown, search) => {
90
+ search.addEventListener('keydown', (e) => {
91
+ var _a;
92
+ switch (e.keyCode) {
93
+ case 40: // down
94
+ e.stopPropagation();
95
+ e.preventDefault();
96
+ (_a = dropdown.querySelector('label:not([slot="checked"]) input')) === null || _a === void 0 ? void 0 : _a.focus();
97
+ break;
98
+ }
99
+ });
100
+ dropdown.addEventListener('keydown', (event) => {
101
+ var _a, _b, _c;
102
+ const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input');
103
+ const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');
104
+ const activeElement = document.activeElement;
105
+ if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot="checked"]) > input')) {
106
+ const activeItem = document.activeElement;
107
+ const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;
108
+ const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;
109
+ switch (event.keyCode // change to event.key to key to use the above variable
110
+ ) {
111
+ case 27: // Esc
112
+ if (activeItem.closest('details')) {
113
+ event.stopPropagation();
114
+ event.preventDefault();
115
+ activeItem.closest('details').removeAttribute('open');
116
+ activeItem.closest('details').querySelector(':scope summary').focus();
117
+ }
118
+ else {
119
+ event.stopPropagation();
120
+ //menuButton.focus();
121
+ }
122
+ break;
123
+ case 32: // Space
124
+ case 13: // Enter
125
+ break;
126
+ case 35: // end
127
+ event.stopPropagation();
128
+ event.preventDefault();
129
+ (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');
130
+ Array.from(menuItems)[menuItems.length - 1].focus();
131
+ break;
132
+ case 36: // home
133
+ event.stopPropagation();
134
+ event.preventDefault();
135
+ (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');
136
+ Array.from(menuItems)[0].focus();
137
+ break;
138
+ case 38: // up
139
+ event.stopPropagation();
140
+ event.preventDefault();
141
+ if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
142
+ if (Array.from(topLevelmenuItems)[prevIndex] != undefined)
143
+ Array.from(topLevelmenuItems)[prevIndex].focus();
144
+ else
145
+ Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();
146
+ }
147
+ else if (activeItem.closest('details')) {
148
+ const subMenuItems = activeItem
149
+ .closest('details')
150
+ .querySelectorAll('a, button, :scope details > summary');
151
+ subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;
152
+ if (Array.from(subMenuItems)[subPrevIndex] != undefined)
153
+ Array.from(subMenuItems)[subPrevIndex].focus();
154
+ else
155
+ Array.from(subMenuItems)[subMenuItems.length - 1].focus();
156
+ }
157
+ break;
158
+ case 40: // down
159
+ event.stopPropagation();
160
+ event.preventDefault();
161
+ if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
162
+ if (Array.from(topLevelmenuItems)[nextIndex] != undefined)
163
+ Array.from(topLevelmenuItems)[nextIndex].focus();
164
+ else
165
+ Array.from(topLevelmenuItems)[0].focus();
166
+ }
167
+ else if (activeItem.closest('details')) {
168
+ const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');
169
+ subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;
170
+ if (Array.from(subMenuItems)[subNextIndex] != undefined)
171
+ Array.from(subMenuItems)[subNextIndex].focus();
172
+ else
173
+ Array.from(subMenuItems)[0].focus();
174
+ }
175
+ break;
176
+ }
177
+ }
178
+ });
179
+ };
@@ -48,33 +48,37 @@ export const addGlobalEvents = (body) => {
48
48
  }
49
49
  });
50
50
  Array.from(document.querySelectorAll('form')).forEach((form) => {
51
- form.addEventListener('submit', (event) => {
52
- var _a;
53
- if (form.querySelector(':invalid')) {
54
- form.classList.add('was-validated');
55
- (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
56
- event.preventDefault();
57
- }
58
- });
51
+ if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {
52
+ form.addEventListener('submit', (event) => {
53
+ var _a;
54
+ if (form.querySelector(':invalid')) {
55
+ form.classList.add('was-validated');
56
+ (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
57
+ event.preventDefault();
58
+ }
59
+ });
60
+ }
59
61
  });
60
62
  document.addEventListener('click', (event) => {
61
63
  var _a;
62
64
  if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {
63
65
  const form = event.target.closest('form');
64
- // Reset password types
65
- Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {
66
- input.setAttribute('type', 'password');
67
- });
68
- if (form.querySelector(':invalid') ||
69
- form.querySelector('.pwd-checker[data-strength="1"]') ||
70
- form.querySelector('.pwd-checker[data-strength="2"]')) {
71
- form.classList.add('was-validated');
72
- (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
73
- event.preventDefault();
74
- }
75
- if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {
76
- form.classList.add('was-validated');
77
- event.preventDefault();
66
+ if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {
67
+ // Reset password types
68
+ Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {
69
+ input.setAttribute('type', 'password');
70
+ });
71
+ if (form.querySelector(':invalid') ||
72
+ form.querySelector('.pwd-checker[data-strength="1"]') ||
73
+ form.querySelector('.pwd-checker[data-strength="2"]')) {
74
+ form.classList.add('was-validated');
75
+ (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
76
+ event.preventDefault();
77
+ }
78
+ if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {
79
+ form.classList.add('was-validated');
80
+ event.preventDefault();
81
+ }
78
82
  }
79
83
  }
80
84
  });
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta1
2
+ * iamKey v7.6.4--beta3
3
3
  * Copyright 2022-2026 iamproperty
4
- */(function(d){typeof define=="function"&&define.amd?define(d):d()})((function(){"use strict";var d=e=>{e.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&e.classList.add("ie")},g=e=>{var t=function(r){var c=document.querySelector('label[for="'.concat(r.replace("#",""),'"]')),o=document.querySelector(r+" summary"),i=document.querySelector("dialog".concat(r)),n=document.querySelector("detail".concat(r));c instanceof HTMLElement?c.click():o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",a=>{if(a&&a.state&&a.state.type&&a.state.type=="pagination"){var r=document.querySelector("#".concat(a.state.form)),c=document.querySelector("#".concat(a.state.form," [data-pagination]"));c?c.value=a.state.page:r.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(a.state.page,'" />'),r.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(a=>{a.addEventListener("submit",r=>{var c;a.querySelector(":invalid")&&(a.classList.add("was-validated"),(c=a?.querySelector("input:invalid"))===null||c===void 0||c.scrollIntoView(),r.preventDefault())})}),document.addEventListener("click",a=>{var r;if(a&&a.target instanceof HTMLElement&&a.target.matches("form button:not([type=button])")){var c=a.target.closest("form");Array.from(c.querySelectorAll("[data-password-type]")).forEach(o=>{o.setAttribute("type","password")}),(c.querySelector(":invalid")||c.querySelector('.pwd-checker[data-strength="1"]')||c.querySelector('.pwd-checker[data-strength="2"]'))&&(c.classList.add("was-validated"),(r=c?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),a.preventDefault()),c.querySelector("iam-multiselect[data-is-required][data-error]")&&(c.classList.add("was-validated"),a.preventDefault())}}),document.addEventListener("keydown",a=>{a.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(a.preventDefault(),a.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(a=>{var r=a.closest("label");r.setAttribute("data-percent",a.getAttribute("value"))})};function m(){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"),r=e.target.closest("a"),c=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),r&&window.dataLayer.push({event:"linkClicked",linkText:r.hasAttribute("title")?r.getAttribute("title")||"":r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||"",href:r.getAttribute("href")||""}),c&&window.dataLayer.push({event:"buttonClicked",buttonText:c.textContent||"",class:c.hasAttribute("class")&&c.getAttribute("class")||""})}})}window.triggerDynamicEvent=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),e.hasAttribute("data-change-events")&&t=="change"&&l(e,e.getAttribute("data-change-events")),e.hasAttribute("data-click-events")&&t=="click"&&l(e,e.getAttribute("data-click-events"))};var p=()=>{document.addEventListener("change",e=>{e&&e.target instanceof HTMLElement&&e.target.closest("[data-change-events]")&&l(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]")&&l(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]")&&l(e.target,e.target.closest("[data-click-events]").getAttribute("data-click-events"))})},l=(e,t)=>{if(t||(t=e.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(a=>{h(e,a)})},h=(e,t)=>{if("matches"in t)return t.matches=="any"||e.value==t.matches?u(e,t,"if"):u(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,'"]'))?u(a,t,"if"):u(a,t,"else"),!1}else"event"in t&&u(e,t,"event")},u=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.add("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.remove("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":v(e,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},v=function(t,a){var r=JSON.parse(t.getAttribute("data-values")),c=document.querySelector(a.target);if(!r)return!1;Object.keys(r).forEach(o=>{document.getElementById(o)&&document.getElementById(o).tagName=="SPAN"&&(document.getElementById(o).innerHTML=r[o]),c.querySelector('select[name="'.concat(o,'"] [value="').concat(r[o],'"]'))?(c.querySelector('select[name="'.concat(o,'"]')).value=r[o],t.hasAttribute("data-lock-fields")&&(c.querySelector('select[name="'.concat(o,'"]')).disabled=!0)):c.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(r[o],'"]'))?(Array.from(c.querySelectorAll('input[name="'.concat(o,'"][type="radio"]'))).forEach(function(i){i.disabled=!0}),c.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(r[o],'"]')).checked=!0,c.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(r[o],'"]')).disabled=!1):c.querySelector('input[name="'.concat(o,'"]'))&&(c.querySelector('input[name="'.concat(o,'"]')).value=r[o],t.hasAttribute("data-lock-fields")&&c.querySelector('input[name="'.concat(o,'"]')).setAttribute("readonly","true"))})},b=function(e,t,a,r){function c(o){return o instanceof a?o:new a(function(i){i(o)})}return new(a||(a=Promise))(function(o,i){function n(s){try{f(r.next(s))}catch(y){i(y)}}function q(s){try{f(r.throw(s))}catch(y){i(y)}}function f(s){s.done?o(s.value):c(s.value).then(n,q)}f((r=r.apply(e,t||[])).next())})};document.addEventListener("DOMContentLoaded",()=>b(void 0,void 0,void 0,function*(){m(),p(),d(document.body),g()}))}));
4
+ */(function(d){typeof define=="function"&&define.amd?define(d):d()})((function(){"use strict";var d=a=>{a.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie")},g=a=>{var t=function(c){var r=document.querySelector('label[for="'.concat(c.replace("#",""),'"]')),o=document.querySelector(c+" summary"),i=document.querySelector("dialog".concat(c)),n=document.querySelector("detail".concat(c));r instanceof HTMLElement?r.click():o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&e.state.type=="pagination"){var c=document.querySelector("#".concat(e.state.form)),r=document.querySelector("#".concat(e.state.form," [data-pagination]"));r?r.value=e.state.page:c.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),c.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e?.closest("iam-form")||e.addEventListener("submit",c=>{var r;e.querySelector(":invalid")&&(e.classList.add("was-validated"),(r=e?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),c.preventDefault())})}),document.addEventListener("click",e=>{var c;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var r=e.target.closest("form");r?.closest("iam-form")||(Array.from(r.querySelectorAll("[data-password-type]")).forEach(o=>{o.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"),(c=r?.querySelector("input:invalid"))===null||c===void 0||c.scrollIntoView(),e.preventDefault()),r.querySelector("iam-multiselect[data-is-required][data-error]")&&(r.classList.add("was-validated"),e.preventDefault()))}}),document.addEventListener("keydown",e=>{e.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{var c=e.closest("label");c.setAttribute("data-percent",e.getAttribute("value"))})};function m(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",a=>{var t=a.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var e=a.target.closest("summary"),c=a.target.closest("a"),r=a.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),c&&window.dataLayer.push({event:"linkClicked",linkText:c.hasAttribute("title")?c.getAttribute("title")||"":c.textContent||"",class:c.hasAttribute("class")&&c.getAttribute("class")||"",href:c.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}})}window.triggerDynamicEvent=function(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),a.hasAttribute("data-change-events")&&t=="change"&&l(a,a.getAttribute("data-change-events")),a.hasAttribute("data-click-events")&&t=="click"&&l(a,a.getAttribute("data-click-events"))};var p=()=>{document.addEventListener("change",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&l(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]")&&l(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]")&&l(a.target,a.target.closest("[data-click-events]").getAttribute("data-click-events"))})},l=(a,t)=>{if(t||(t=a.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(e=>{v(a,e)})},v=(a,t)=>{if("matches"in t)return t.matches=="any"||a.value==t.matches?u(a,t,"if"):u(a,t,"else"),!1;if("in-list"in t){var e=document.querySelector("".concat(t["in-list"],' option[value="').concat(a.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(a.value,'"]'))?u(e,t,"if"):u(e,t,"else"),!1}else"event"in t&&u(a,t,"event")},u=(a,t,e)=>{if(!(e in t))return!1;switch(t[e]){case"hide":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.add("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":h(a,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},h=function(t,e){var c=JSON.parse(t.getAttribute("data-values")),r=document.querySelector(e.target);if(!c)return!1;Object.keys(c).forEach(o=>{document.getElementById(o)&&document.getElementById(o).tagName=="SPAN"&&(document.getElementById(o).innerHTML=c[o]),r.querySelector('select[name="'.concat(o,'"] [value="').concat(c[o],'"]'))?(r.querySelector('select[name="'.concat(o,'"]')).value=c[o],t.hasAttribute("data-lock-fields")&&(r.querySelector('select[name="'.concat(o,'"]')).disabled=!0)):r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]'))?(Array.from(r.querySelectorAll('input[name="'.concat(o,'"][type="radio"]'))).forEach(function(i){i.disabled=!0}),r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]')).checked=!0,r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]')).disabled=!1):r.querySelector('input[name="'.concat(o,'"]'))&&(r.querySelector('input[name="'.concat(o,'"]')).value=c[o],t.hasAttribute("data-lock-fields")&&r.querySelector('input[name="'.concat(o,'"]')).setAttribute("readonly","true"))})},b=function(a,t,e,c){function r(o){return o instanceof e?o:new e(function(i){i(o)})}return new(e||(e=Promise))(function(o,i){function n(s){try{f(c.next(s))}catch(y){i(y)}}function q(s){try{f(c.throw(s))}catch(y){i(y)}}function f(s){s.done?o(s.value):r(s.value).then(n,q)}f((c=c.apply(a,t||[])).next())})};document.addEventListener("DOMContentLoaded",()=>b(void 0,void 0,void 0,function*(){m(),p(),d(document.body),g()}))}));
5
5
  //# sourceMappingURL=scripts.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.bundle.js","sources":["modules/helpers.js","modules/data-layer.js","modules/dynamicEvents.js","scripts.js"],"sourcesContent":["/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","function createDataLayer() {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'Pageview',\n pageTitle: document.title,\n });\n document.addEventListener('click', (event) => {\n const target = event.target.closest('[open] summary');\n if (target) {\n window.dataLayer.push({\n event: 'closeDetails',\n detailsTitle: target.textContent || '',\n });\n }\n else {\n const summary = event.target.closest('summary');\n const link = event.target.closest('a');\n const button = event.target.closest('button');\n if (summary) {\n window.dataLayer.push({\n event: 'openDetails',\n detailsTitle: summary.textContent || '',\n });\n }\n if (link) {\n window.dataLayer.push({\n event: 'linkClicked',\n linkText: link.hasAttribute('title') ? link.getAttribute('title') || '' : link.textContent || '',\n class: link.hasAttribute('class') ? link.getAttribute('class') || '' : '',\n href: link.getAttribute('href') || '',\n });\n }\n if (button) {\n window.dataLayer.push({\n event: 'buttonClicked',\n buttonText: button.textContent || '',\n class: button.hasAttribute('class') ? button.getAttribute('class') || '' : '',\n });\n }\n }\n });\n}\nexport default createDataLayer;\n","// Create the event listeners\nwindow.triggerDynamicEvent = (element, event = 'change') => {\n console.log('event');\n if (element.hasAttribute('data-change-events') && event == 'change')\n splitEvents(element, element.getAttribute('data-change-events'));\n if (element.hasAttribute('data-click-events') && event == 'click')\n splitEvents(element, element.getAttribute('data-click-events'));\n};\nconst createDynamicEvents = () => {\n // Change event\n document.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-change-events]'))\n splitEvents(event.target, event.target.closest('[data-change-events]').getAttribute('data-change-events'));\n });\n document.addEventListener('keyup', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-change-events]'))\n splitEvents(event.target, event.target.closest('[data-change-events]').getAttribute('data-change-events'));\n });\n // Click event\n document.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-click-events]'))\n splitEvents(event.target, event.target.closest('[data-click-events]').getAttribute('data-click-events'));\n });\n};\n// Parse the JSON and trigger the events, this may be singular or multiple set of events\nconst splitEvents = (element, events) => {\n // an empty events will trigger looking up the dom chain for\n if (!events) {\n events = element.parentNode.getAttribute('data-change-events');\n }\n // If still empty bail out\n if (!events)\n return false;\n // Split out each event\n Array.from(JSON.parse(events)).forEach((event) => {\n checkConditions(element, event);\n });\n};\nconst checkConditions = (element, event) => {\n if ('matches' in event) {\n if (event['matches'] == 'any')\n runEvent(element, event, 'if');\n else if (element.value == event.matches)\n runEvent(element, event, 'if');\n else\n runEvent(element, event, 'else');\n return false;\n }\n else if ('in-list' in event) {\n // Pass the matched datalist element instead of the triggered element\n const match = document.querySelector(`${event['in-list']} option[value=\"${element.value}\"]`);\n if (document.querySelector(`${event['in-list']} option[value=\"${element.value}\"]`)) {\n runEvent(match, event, 'if');\n }\n else\n runEvent(match, event, 'else');\n return false;\n }\n else if ('event' in event) {\n runEvent(element, event, 'event');\n }\n};\nconst runEvent = (element, event, eventType) => {\n if (eventType in event == false)\n return false;\n switch (event[eventType]) {\n case 'hide':\n if (document.querySelector(event['target'])) {\n const hideElement = document.querySelector(event['target']);\n hideElement.classList.add('js-hide');\n Array.from(hideElement.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n }\n break;\n case 'show':\n if (document.querySelector(event['target'])) {\n const showElement = document.querySelector(event['target']);\n showElement.classList.remove('js-hide');\n Array.from(showElement.querySelectorAll('[data-required]')).forEach((input) => {\n if (!input.closest('.js-hide'))\n input.setAttribute('required', 'true');\n });\n }\n break;\n case 'populate-form':\n populateForm(element, event);\n break;\n case 'dispatchEvent':\n const theEvent = new Event(event['value']);\n document.querySelector(`${event['target']}`).dispatchEvent(theEvent);\n break;\n case 'setAttribute':\n Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {\n element.setAttribute(event['attribute'], event['value']);\n });\n break;\n case 'focus':\n document.querySelector(`${event['target']}`).focus();\n break;\n case 'removeAttribute':\n Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {\n element.removeAttribute(event['attribute']);\n });\n break;\n case 'updateValue':\n document.querySelector(`${event['target']}`).value = event['value'] ? event['value'] : '';\n const changeEvent = new Event('change');\n document.querySelector(`${event['target']}`).dispatchEvent(changeEvent);\n break;\n case 'submitForm':\n document.querySelector(`${event['target']}`).submit();\n break;\n case 'openLink':\n if (document.querySelector(`${event['target']}`).value)\n window.location.href = document.querySelector(`${event['target']}`).value;\n break;\n default:\n break;\n }\n};\nconst populateForm = function (element, event) {\n const values = JSON.parse(element.getAttribute('data-values'));\n const form = document.querySelector(event['target']);\n if (!values)\n return false;\n Object.keys(values).forEach((field) => {\n if (document.getElementById(field) && document.getElementById(field).tagName == 'SPAN')\n document.getElementById(field).innerHTML = values[field];\n if (form.querySelector(`select[name=\"${field}\"] [value=\"${values[field]}\"]`)) {\n form.querySelector(`select[name=\"${field}\"]`).value = values[field];\n if (element.hasAttribute('data-lock-fields'))\n form.querySelector(`select[name=\"${field}\"]`).disabled = true;\n }\n else if (form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`)) {\n Array.from(form.querySelectorAll(`input[name=\"${field}\"][type=\"radio\"]`)).forEach(function (input) {\n input.disabled = true;\n });\n form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`).checked = true;\n form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`).disabled = false;\n }\n else if (form.querySelector(`input[name=\"${field}\"]`)) {\n form.querySelector(`input[name=\"${field}\"]`).value = values[field];\n if (element.hasAttribute('data-lock-fields'))\n form.querySelector(`input[name=\"${field}\"]`).setAttribute('readonly', 'true');\n }\n });\n};\nexport default createDynamicEvents;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n// Modules\nimport * as helpers from './modules/helpers.js';\nimport createDataLayer from './modules/data-layer.js';\nimport createDynamicEvents from './modules/dynamicEvents.js';\nconst components = [\n 'accordion',\n 'header',\n 'table',\n 'table-basic',\n 'table-no-submit',\n 'tabs',\n 'card',\n 'calendar',\n 'content',\n 'filter-card',\n 'video-card',\n 'record-card',\n 'filterlist',\n 'applied-filters',\n 'pagination',\n 'notification',\n 'actionbar',\n 'nav',\n 'collapsible-side',\n 'address-lookup',\n 'fileupload',\n 'search',\n 'inline-edit',\n 'multiselect',\n 'multi-step',\n 'menu',\n 'slider',\n 'carousel',\n 'marketing',\n 'barchart',\n 'doughnutchart',\n 'bento-grid',\n 'milestone-group',\n 'milestone',\n 'darkmode',\n 'password-indicator'\n];\n// Attach classes to dom elements\ndocument.addEventListener('DOMContentLoaded', () => __awaiter(void 0, void 0, void 0, function* () {\n createDataLayer();\n createDynamicEvents();\n // Global stuff\n helpers.addBodyClasses(document.body);\n helpers.addGlobalEvents(document.body);\n //extendDialogs(document.body);\n //videoSupport(document.body);\n /*\n const prefix = 'iam';\n const options = {\n rootMargin: '50px',\n threshold: 0.1,\n };\n const componentExt = '.component.min.js';\n \n // Load components - Each component will load once the first of its type has been loaded\n components.forEach((component) => {\n if (document.getElementsByTagName(`${prefix}-${component}`).length === 0) return;\n \n const callback = (entries: any): void => {\n entries.forEach((entry: any) => {\n if (entry.intersectionRatio > 0) {\n \n import(`../js/components/${component}/${component}${componentExt}`)\n .then((module) => {\n if (!window.customElements.get(`${prefix}-${component}`))\n window.customElements.define(`${prefix}-${component}`, module.default);\n })\n .catch((err) => {\n console.log(err.message);\n });\n \n intObserver.unobserve(entry.target);\n }\n });\n };\n \n const intObserver = new IntersectionObserver(callback, options);\n intObserver.observe(document.getElementsByTagName(`${prefix}-${component}`)[0]);\n });\n */\n}));\n"],"names":["addBodyClasses","body","classList","add","navigator","userAgent","indexOf","appVersion","addGlobalEvents","checkElements","hash","label","document","querySelector","concat","replace","summary","dialog","detail","HTMLElement","click","showModal","addAttribute","location","window","addEventListener","event","state","type","form","pageInput","value","page","innerHTML","dispatchEvent","Event","Array","from","querySelectorAll","forEach","_a","scrollIntoView","preventDefault","target","matches","closest","input","setAttribute","e","key","stopPropagation","progress","getAttribute","createDataLayer","dataLayer","push","pageTitle","title","detailsTitle","textContent","link","button","linkText","hasAttribute","class","href","buttonText","triggerDynamicEvent","element","arguments","length","undefined","console","log","splitEvents","createDynamicEvents","events","parentNode","JSON","parse","checkConditions","runEvent","match","eventType","hideElement","removeAttribute","showElement","remove","populateForm","theEvent","focus","changeEvent","submit","values","Object","keys","field","getElementById","tagName","disabled","checked","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","apply","helpers"],"mappings":"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"}
1
+ {"version":3,"file":"scripts.bundle.js","sources":["modules/helpers.js","modules/data-layer.js","modules/dynamicEvents.js","scripts.js"],"sourcesContent":["/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n }\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","function createDataLayer() {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'Pageview',\n pageTitle: document.title,\n });\n document.addEventListener('click', (event) => {\n const target = event.target.closest('[open] summary');\n if (target) {\n window.dataLayer.push({\n event: 'closeDetails',\n detailsTitle: target.textContent || '',\n });\n }\n else {\n const summary = event.target.closest('summary');\n const link = event.target.closest('a');\n const button = event.target.closest('button');\n if (summary) {\n window.dataLayer.push({\n event: 'openDetails',\n detailsTitle: summary.textContent || '',\n });\n }\n if (link) {\n window.dataLayer.push({\n event: 'linkClicked',\n linkText: link.hasAttribute('title') ? link.getAttribute('title') || '' : link.textContent || '',\n class: link.hasAttribute('class') ? link.getAttribute('class') || '' : '',\n href: link.getAttribute('href') || '',\n });\n }\n if (button) {\n window.dataLayer.push({\n event: 'buttonClicked',\n buttonText: button.textContent || '',\n class: button.hasAttribute('class') ? button.getAttribute('class') || '' : '',\n });\n }\n }\n });\n}\nexport default createDataLayer;\n","// Create the event listeners\nwindow.triggerDynamicEvent = (element, event = 'change') => {\n console.log('event');\n if (element.hasAttribute('data-change-events') && event == 'change')\n splitEvents(element, element.getAttribute('data-change-events'));\n if (element.hasAttribute('data-click-events') && event == 'click')\n splitEvents(element, element.getAttribute('data-click-events'));\n};\nconst createDynamicEvents = () => {\n // Change event\n document.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-change-events]'))\n splitEvents(event.target, event.target.closest('[data-change-events]').getAttribute('data-change-events'));\n });\n document.addEventListener('keyup', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-change-events]'))\n splitEvents(event.target, event.target.closest('[data-change-events]').getAttribute('data-change-events'));\n });\n // Click event\n document.addEventListener('click', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[data-click-events]'))\n splitEvents(event.target, event.target.closest('[data-click-events]').getAttribute('data-click-events'));\n });\n};\n// Parse the JSON and trigger the events, this may be singular or multiple set of events\nconst splitEvents = (element, events) => {\n // an empty events will trigger looking up the dom chain for\n if (!events) {\n events = element.parentNode.getAttribute('data-change-events');\n }\n // If still empty bail out\n if (!events)\n return false;\n // Split out each event\n Array.from(JSON.parse(events)).forEach((event) => {\n checkConditions(element, event);\n });\n};\nconst checkConditions = (element, event) => {\n if ('matches' in event) {\n if (event['matches'] == 'any')\n runEvent(element, event, 'if');\n else if (element.value == event.matches)\n runEvent(element, event, 'if');\n else\n runEvent(element, event, 'else');\n return false;\n }\n else if ('in-list' in event) {\n // Pass the matched datalist element instead of the triggered element\n const match = document.querySelector(`${event['in-list']} option[value=\"${element.value}\"]`);\n if (document.querySelector(`${event['in-list']} option[value=\"${element.value}\"]`)) {\n runEvent(match, event, 'if');\n }\n else\n runEvent(match, event, 'else');\n return false;\n }\n else if ('event' in event) {\n runEvent(element, event, 'event');\n }\n};\nconst runEvent = (element, event, eventType) => {\n if (eventType in event == false)\n return false;\n switch (event[eventType]) {\n case 'hide':\n if (document.querySelector(event['target'])) {\n const hideElement = document.querySelector(event['target']);\n hideElement.classList.add('js-hide');\n Array.from(hideElement.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n }\n break;\n case 'show':\n if (document.querySelector(event['target'])) {\n const showElement = document.querySelector(event['target']);\n showElement.classList.remove('js-hide');\n Array.from(showElement.querySelectorAll('[data-required]')).forEach((input) => {\n if (!input.closest('.js-hide'))\n input.setAttribute('required', 'true');\n });\n }\n break;\n case 'populate-form':\n populateForm(element, event);\n break;\n case 'dispatchEvent':\n const theEvent = new Event(event['value']);\n document.querySelector(`${event['target']}`).dispatchEvent(theEvent);\n break;\n case 'setAttribute':\n Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {\n element.setAttribute(event['attribute'], event['value']);\n });\n break;\n case 'focus':\n document.querySelector(`${event['target']}`).focus();\n break;\n case 'removeAttribute':\n Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {\n element.removeAttribute(event['attribute']);\n });\n break;\n case 'updateValue':\n document.querySelector(`${event['target']}`).value = event['value'] ? event['value'] : '';\n const changeEvent = new Event('change');\n document.querySelector(`${event['target']}`).dispatchEvent(changeEvent);\n break;\n case 'submitForm':\n document.querySelector(`${event['target']}`).submit();\n break;\n case 'openLink':\n if (document.querySelector(`${event['target']}`).value)\n window.location.href = document.querySelector(`${event['target']}`).value;\n break;\n default:\n break;\n }\n};\nconst populateForm = function (element, event) {\n const values = JSON.parse(element.getAttribute('data-values'));\n const form = document.querySelector(event['target']);\n if (!values)\n return false;\n Object.keys(values).forEach((field) => {\n if (document.getElementById(field) && document.getElementById(field).tagName == 'SPAN')\n document.getElementById(field).innerHTML = values[field];\n if (form.querySelector(`select[name=\"${field}\"] [value=\"${values[field]}\"]`)) {\n form.querySelector(`select[name=\"${field}\"]`).value = values[field];\n if (element.hasAttribute('data-lock-fields'))\n form.querySelector(`select[name=\"${field}\"]`).disabled = true;\n }\n else if (form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`)) {\n Array.from(form.querySelectorAll(`input[name=\"${field}\"][type=\"radio\"]`)).forEach(function (input) {\n input.disabled = true;\n });\n form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`).checked = true;\n form.querySelector(`input[name=\"${field}\"][type=\"radio\"][value=\"${values[field]}\"]`).disabled = false;\n }\n else if (form.querySelector(`input[name=\"${field}\"]`)) {\n form.querySelector(`input[name=\"${field}\"]`).value = values[field];\n if (element.hasAttribute('data-lock-fields'))\n form.querySelector(`input[name=\"${field}\"]`).setAttribute('readonly', 'true');\n }\n });\n};\nexport default createDynamicEvents;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n// Modules\nimport * as helpers from './modules/helpers.js';\nimport createDataLayer from './modules/data-layer.js';\nimport createDynamicEvents from './modules/dynamicEvents.js';\nconst components = [\n 'accordion',\n 'header',\n 'table',\n 'table-basic',\n 'table-no-submit',\n 'tabs',\n 'card',\n 'calendar',\n 'content',\n 'filter-card',\n 'video-card',\n 'record-card',\n 'filterlist',\n 'applied-filters',\n 'pagination',\n 'notification',\n 'actionbar',\n 'nav',\n 'collapsible-side',\n 'address-lookup',\n 'fileupload',\n 'search',\n 'inline-edit',\n 'multiselect',\n 'multi-step',\n 'menu',\n 'slider',\n 'carousel',\n 'marketing',\n 'barchart',\n 'doughnutchart',\n 'bento-grid',\n 'milestone-group',\n 'milestone',\n 'darkmode',\n 'password-indicator'\n];\n// Attach classes to dom elements\ndocument.addEventListener('DOMContentLoaded', () => __awaiter(void 0, void 0, void 0, function* () {\n createDataLayer();\n createDynamicEvents();\n // Global stuff\n helpers.addBodyClasses(document.body);\n helpers.addGlobalEvents(document.body);\n //extendDialogs(document.body);\n //videoSupport(document.body);\n /*\n const prefix = 'iam';\n const options = {\n rootMargin: '50px',\n threshold: 0.1,\n };\n const componentExt = '.component.min.js';\n \n // Load components - Each component will load once the first of its type has been loaded\n components.forEach((component) => {\n if (document.getElementsByTagName(`${prefix}-${component}`).length === 0) return;\n \n const callback = (entries: any): void => {\n entries.forEach((entry: any) => {\n if (entry.intersectionRatio > 0) {\n \n import(`../js/components/${component}/${component}${componentExt}`)\n .then((module) => {\n if (!window.customElements.get(`${prefix}-${component}`))\n window.customElements.define(`${prefix}-${component}`, module.default);\n })\n .catch((err) => {\n console.log(err.message);\n });\n \n intObserver.unobserve(entry.target);\n }\n });\n };\n \n const intObserver = new IntersectionObserver(callback, options);\n intObserver.observe(document.getElementsByTagName(`${prefix}-${component}`)[0]);\n });\n */\n}));\n"],"names":["addBodyClasses","body","classList","add","navigator","userAgent","indexOf","appVersion","addGlobalEvents","checkElements","hash","label","document","querySelector","concat","replace","summary","dialog","detail","HTMLElement","click","showModal","addAttribute","location","window","addEventListener","event","state","type","form","pageInput","value","page","innerHTML","dispatchEvent","Event","Array","from","querySelectorAll","forEach","closest","_a","scrollIntoView","preventDefault","target","matches","input","setAttribute","e","key","stopPropagation","progress","getAttribute","createDataLayer","dataLayer","push","pageTitle","title","detailsTitle","textContent","link","button","linkText","hasAttribute","class","href","buttonText","triggerDynamicEvent","element","arguments","length","undefined","console","log","splitEvents","createDynamicEvents","events","parentNode","JSON","parse","checkConditions","runEvent","match","eventType","hideElement","removeAttribute","showElement","remove","populateForm","theEvent","focus","changeEvent","submit","values","Object","keys","field","getElementById","tagName","disabled","checked","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","apply","helpers"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * iamKey v7.6.4--beta1
2
+ * iamKey v7.6.4--beta3
3
3
  * Copyright 2022-2026 iamproperty
4
4
  */
5
- !function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";window.triggerDynamicEvent=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),t.hasAttribute("data-change-events")&&"change"==a&&e(t,t.getAttribute("data-change-events")),t.hasAttribute("data-click-events")&&"click"==a&&e(t,t.getAttribute("data-click-events"))};var e=(e,a)=>{if(a||(a=e.parentNode.getAttribute("data-change-events")),!a)return!1;Array.from(JSON.parse(a)).forEach(a=>{t(e,a)})},t=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?a(e,t,"if"):a(e,t,"else"),!1;if("in-list"in t){var n=document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'))?a(n,t,"if"):a(n,t,"else"),!1}"event"in t&&a(e,t,"event")},a=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.add("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(e=>{e.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.remove("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":n(e,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value)}},n=function(e,t){var a=JSON.parse(e.getAttribute("data-values")),n=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]),n.querySelector('select[name="'.concat(t,'"] [value="').concat(a[t],'"]'))?(n.querySelector('select[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&(n.querySelector('select[name="'.concat(t,'"]')).disabled=!0)):n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]'))?(Array.from(n.querySelectorAll('input[name="'.concat(t,'"][type="radio"]'))).forEach(function(e){e.disabled=!0}),n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).checked=!0,n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).disabled=!1):n.querySelector('input[name="'.concat(t,'"]'))&&(n.querySelector('input[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&n.querySelector('input[name="'.concat(t,'"]')).setAttribute("readonly","true"))})};document.addEventListener("DOMContentLoaded",()=>{return t=void 0,a=void 0,r=function*(){var t,a;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"),n=e.target.closest("a"),r=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),n&&window.dataLayer.push({event:"linkClicked",linkText:n.hasAttribute("title")?n.getAttribute("title")||"":n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||"",href:n.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}}),document.addEventListener("change",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-click-events]")&&e(t.target,t.target.closest("[data-click-events]").getAttribute("data-click-events"))}),(a=document.body).classList.add("js-enabled"),(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie"),t=function(e){var t=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),a=document.querySelector(e+" summary"),n=document.querySelector("dialog".concat(e)),r=document.querySelector("detail".concat(e));t instanceof HTMLElement?t.click():a instanceof HTMLElement?a.click():n instanceof HTMLElement?n.showModal():r instanceof HTMLElement&&r.addAttribute("open")},location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&"pagination"==e.state.type){var t=document.querySelector("#".concat(e.state.form)),a=document.querySelector("#".concat(e.state.form," [data-pagination]"));a?a.value=e.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e.addEventListener("submit",t=>{var a;e.querySelector(":invalid")&&(e.classList.add("was-validated"),null===(a=e?.querySelector("input:invalid"))||void 0===a||a.scrollIntoView(),t.preventDefault())})}),document.addEventListener("click",e=>{var t;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var a=e.target.closest("form");Array.from(a.querySelectorAll("[data-password-type]")).forEach(e=>{e.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),null===(t=a?.querySelector("input:invalid"))||void 0===t||t.scrollIntoView(),e.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),e.preventDefault())}}),document.addEventListener("keydown",e=>{"Escape"===e.key&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{e.closest("label").setAttribute("data-percent",e.getAttribute("value"))})},new((n=void 0)||(n=Promise))(function(e,c){function o(e){try{l(r.next(e))}catch(e){c(e)}}function i(e){try{l(r.throw(e))}catch(e){c(e)}}function l(t){t.done?e(t.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(t.value).then(o,i)}l((r=r.apply(t,a||[])).next())});var t,a,n,r})});
5
+ !function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";window.triggerDynamicEvent=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),t.hasAttribute("data-change-events")&&"change"==a&&e(t,t.getAttribute("data-change-events")),t.hasAttribute("data-click-events")&&"click"==a&&e(t,t.getAttribute("data-click-events"))};var e=(e,a)=>{if(a||(a=e.parentNode.getAttribute("data-change-events")),!a)return!1;Array.from(JSON.parse(a)).forEach(a=>{t(e,a)})},t=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?a(e,t,"if"):a(e,t,"else"),!1;if("in-list"in t){var n=document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'))?a(n,t,"if"):a(n,t,"else"),!1}"event"in t&&a(e,t,"event")},a=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.add("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(e=>{e.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.remove("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":n(e,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value)}},n=function(e,t){var a=JSON.parse(e.getAttribute("data-values")),n=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]),n.querySelector('select[name="'.concat(t,'"] [value="').concat(a[t],'"]'))?(n.querySelector('select[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&(n.querySelector('select[name="'.concat(t,'"]')).disabled=!0)):n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]'))?(Array.from(n.querySelectorAll('input[name="'.concat(t,'"][type="radio"]'))).forEach(function(e){e.disabled=!0}),n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).checked=!0,n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).disabled=!1):n.querySelector('input[name="'.concat(t,'"]'))&&(n.querySelector('input[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&n.querySelector('input[name="'.concat(t,'"]')).setAttribute("readonly","true"))})};document.addEventListener("DOMContentLoaded",()=>{return t=void 0,a=void 0,r=function*(){var t,a;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"),n=e.target.closest("a"),r=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),n&&window.dataLayer.push({event:"linkClicked",linkText:n.hasAttribute("title")?n.getAttribute("title")||"":n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||"",href:n.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}}),document.addEventListener("change",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-click-events]")&&e(t.target,t.target.closest("[data-click-events]").getAttribute("data-click-events"))}),(a=document.body).classList.add("js-enabled"),(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie"),t=function(e){var t=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),a=document.querySelector(e+" summary"),n=document.querySelector("dialog".concat(e)),r=document.querySelector("detail".concat(e));t instanceof HTMLElement?t.click():a instanceof HTMLElement?a.click():n instanceof HTMLElement?n.showModal():r instanceof HTMLElement&&r.addAttribute("open")},location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&"pagination"==e.state.type){var t=document.querySelector("#".concat(e.state.form)),a=document.querySelector("#".concat(e.state.form," [data-pagination]"));a?a.value=e.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e?.closest("iam-form")||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");a?.closest("iam-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"))})},new((n=void 0)||(n=Promise))(function(e,c){function o(e){try{l(r.next(e))}catch(e){c(e)}}function i(e){try{l(r.throw(e))}catch(e){c(e)}}function l(t){t.done?e(t.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(t.value).then(o,i)}l((r=r.apply(t,a||[])).next())});var t,a,n,r})});
6
6
  //# sourceMappingURL=scripts.bundle.min.js.map