@iamproperty/components 3.4.7 → 3.5.0

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 (210) hide show
  1. package/assets/bootstrap/LICENSE +22 -0
  2. package/assets/bootstrap/README.md +246 -0
  3. package/assets/bootstrap/js/src/alert.js +87 -0
  4. package/assets/bootstrap/js/src/base-component.js +85 -0
  5. package/assets/bootstrap/js/src/button.js +72 -0
  6. package/assets/bootstrap/js/src/carousel.js +475 -0
  7. package/assets/bootstrap/js/src/collapse.js +302 -0
  8. package/assets/bootstrap/js/src/dom/data.js +55 -0
  9. package/assets/bootstrap/js/src/dom/event-handler.js +320 -0
  10. package/assets/bootstrap/js/src/dom/manipulator.js +71 -0
  11. package/assets/bootstrap/js/src/dom/selector-engine.js +83 -0
  12. package/assets/bootstrap/js/src/dropdown.js +454 -0
  13. package/assets/bootstrap/js/src/modal.js +377 -0
  14. package/assets/bootstrap/js/src/offcanvas.js +283 -0
  15. package/assets/bootstrap/js/src/popover.js +97 -0
  16. package/assets/bootstrap/js/src/scrollspy.js +294 -0
  17. package/assets/bootstrap/js/src/tab.js +305 -0
  18. package/assets/bootstrap/js/src/toast.js +225 -0
  19. package/assets/bootstrap/js/src/tooltip.js +633 -0
  20. package/assets/bootstrap/js/src/util/backdrop.js +149 -0
  21. package/assets/bootstrap/js/src/util/component-functions.js +34 -0
  22. package/assets/bootstrap/js/src/util/config.js +66 -0
  23. package/assets/bootstrap/js/src/util/focustrap.js +115 -0
  24. package/assets/bootstrap/js/src/util/index.js +336 -0
  25. package/assets/bootstrap/js/src/util/sanitizer.js +118 -0
  26. package/assets/bootstrap/js/src/util/scrollbar.js +114 -0
  27. package/assets/bootstrap/js/src/util/swipe.js +146 -0
  28. package/assets/bootstrap/js/src/util/template-factory.js +160 -0
  29. package/assets/bootstrap/package.json +181 -0
  30. package/assets/bootstrap/scss/_accordion.scss +149 -0
  31. package/assets/bootstrap/scss/_alert.scss +71 -0
  32. package/assets/bootstrap/scss/_badge.scss +38 -0
  33. package/assets/bootstrap/scss/_breadcrumb.scss +40 -0
  34. package/assets/bootstrap/scss/_button-group.scss +142 -0
  35. package/assets/bootstrap/scss/_buttons.scss +207 -0
  36. package/assets/bootstrap/scss/_card.scss +234 -0
  37. package/assets/bootstrap/scss/_carousel.scss +226 -0
  38. package/assets/bootstrap/scss/_close.scss +40 -0
  39. package/assets/bootstrap/scss/_containers.scss +41 -0
  40. package/assets/bootstrap/scss/_dropdown.scss +249 -0
  41. package/assets/bootstrap/scss/_forms.scss +9 -0
  42. package/assets/bootstrap/scss/_functions.scss +302 -0
  43. package/assets/bootstrap/scss/_grid.scss +33 -0
  44. package/assets/bootstrap/scss/_helpers.scss +10 -0
  45. package/assets/bootstrap/scss/_images.scss +42 -0
  46. package/assets/bootstrap/scss/_list-group.scss +192 -0
  47. package/assets/bootstrap/scss/_maps.scss +54 -0
  48. package/assets/bootstrap/scss/_mixins.scss +43 -0
  49. package/assets/bootstrap/scss/_modal.scss +237 -0
  50. package/assets/bootstrap/scss/_nav.scss +172 -0
  51. package/assets/bootstrap/scss/_navbar.scss +278 -0
  52. package/assets/bootstrap/scss/_offcanvas.scss +144 -0
  53. package/assets/bootstrap/scss/_pagination.scss +109 -0
  54. package/assets/bootstrap/scss/_placeholders.scss +51 -0
  55. package/assets/bootstrap/scss/_popover.scss +196 -0
  56. package/assets/bootstrap/scss/_progress.scss +59 -0
  57. package/assets/bootstrap/scss/_reboot.scss +610 -0
  58. package/assets/bootstrap/scss/_root.scss +73 -0
  59. package/assets/bootstrap/scss/_spinners.scss +85 -0
  60. package/assets/bootstrap/scss/_tables.scss +164 -0
  61. package/assets/bootstrap/scss/_toasts.scss +73 -0
  62. package/assets/bootstrap/scss/_tooltip.scss +120 -0
  63. package/assets/bootstrap/scss/_transitions.scss +27 -0
  64. package/assets/bootstrap/scss/_type.scss +106 -0
  65. package/assets/bootstrap/scss/_utilities.scss +647 -0
  66. package/assets/bootstrap/scss/_variables.scss +1634 -0
  67. package/assets/bootstrap/scss/bootstrap-grid.scss +64 -0
  68. package/assets/bootstrap/scss/bootstrap-reboot.scss +9 -0
  69. package/assets/bootstrap/scss/bootstrap-utilities.scss +18 -0
  70. package/assets/bootstrap/scss/bootstrap.scss +51 -0
  71. package/assets/bootstrap/scss/forms/_floating-labels.scss +75 -0
  72. package/assets/bootstrap/scss/forms/_form-check.scss +175 -0
  73. package/assets/bootstrap/scss/forms/_form-control.scss +194 -0
  74. package/assets/bootstrap/scss/forms/_form-range.scss +91 -0
  75. package/assets/bootstrap/scss/forms/_form-select.scss +71 -0
  76. package/assets/bootstrap/scss/forms/_form-text.scss +11 -0
  77. package/assets/bootstrap/scss/forms/_input-group.scss +132 -0
  78. package/assets/bootstrap/scss/forms/_labels.scss +36 -0
  79. package/assets/bootstrap/scss/forms/_validation.scss +12 -0
  80. package/assets/bootstrap/scss/helpers/_clearfix.scss +3 -0
  81. package/assets/bootstrap/scss/helpers/_color-bg.scss +10 -0
  82. package/assets/bootstrap/scss/helpers/_colored-links.scss +12 -0
  83. package/assets/bootstrap/scss/helpers/_position.scss +36 -0
  84. package/assets/bootstrap/scss/helpers/_ratio.scss +26 -0
  85. package/assets/bootstrap/scss/helpers/_stacks.scss +15 -0
  86. package/assets/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  87. package/assets/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  88. package/assets/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  89. package/assets/bootstrap/scss/helpers/_vr.scss +8 -0
  90. package/assets/bootstrap/scss/mixins/_alert.scss +15 -0
  91. package/assets/bootstrap/scss/mixins/_backdrop.scss +14 -0
  92. package/assets/bootstrap/scss/mixins/_banner.scss +9 -0
  93. package/assets/bootstrap/scss/mixins/_border-radius.scss +78 -0
  94. package/assets/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  95. package/assets/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  96. package/assets/bootstrap/scss/mixins/_buttons.scss +70 -0
  97. package/assets/bootstrap/scss/mixins/_caret.scss +64 -0
  98. package/assets/bootstrap/scss/mixins/_clearfix.scss +9 -0
  99. package/assets/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  100. package/assets/bootstrap/scss/mixins/_container.scss +11 -0
  101. package/assets/bootstrap/scss/mixins/_deprecate.scss +10 -0
  102. package/assets/bootstrap/scss/mixins/_forms.scss +152 -0
  103. package/assets/bootstrap/scss/mixins/_gradients.scss +47 -0
  104. package/assets/bootstrap/scss/mixins/_grid.scss +151 -0
  105. package/assets/bootstrap/scss/mixins/_image.scss +16 -0
  106. package/assets/bootstrap/scss/mixins/_list-group.scss +24 -0
  107. package/assets/bootstrap/scss/mixins/_lists.scss +7 -0
  108. package/assets/bootstrap/scss/mixins/_pagination.scss +10 -0
  109. package/assets/bootstrap/scss/mixins/_reset-text.scss +17 -0
  110. package/assets/bootstrap/scss/mixins/_resize.scss +6 -0
  111. package/assets/bootstrap/scss/mixins/_table-variants.scss +24 -0
  112. package/assets/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  113. package/assets/bootstrap/scss/mixins/_transition.scss +26 -0
  114. package/assets/bootstrap/scss/mixins/_utilities.scss +97 -0
  115. package/assets/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  116. package/assets/bootstrap/scss/utilities/_api.scss +47 -0
  117. package/assets/bootstrap/scss/vendor/_rfs.scss +354 -0
  118. package/assets/css/components/accordion.css +1 -1
  119. package/assets/css/components/accordion.css.map +1 -1
  120. package/assets/css/components/admin-panel.css +1 -0
  121. package/assets/css/components/admin-panel.css.map +1 -0
  122. package/assets/css/components/alert.css +1 -1
  123. package/assets/css/components/alert.css.map +1 -1
  124. package/assets/css/components/carousel.css +1 -1
  125. package/assets/css/components/carousel.css.map +1 -1
  126. package/assets/css/components/charts.css +1 -1
  127. package/assets/css/components/charts.css.map +1 -1
  128. package/assets/css/components/container.css.map +1 -1
  129. package/assets/css/components/dialog.css +1 -1
  130. package/assets/css/components/dialog.css.map +1 -1
  131. package/assets/css/components/forms.css.map +1 -1
  132. package/assets/css/components/header.css +1 -1
  133. package/assets/css/components/header.css.map +1 -1
  134. package/assets/css/components/lists.css +1 -1
  135. package/assets/css/components/lists.css.map +1 -1
  136. package/assets/css/components/nav.css +1 -1
  137. package/assets/css/components/nav.css.map +1 -1
  138. package/assets/css/components/pagination.css.map +1 -1
  139. package/assets/css/components/property-searchbar.css +1 -1
  140. package/assets/css/components/property-searchbar.css.map +1 -1
  141. package/assets/css/components/stepper.css +1 -1
  142. package/assets/css/components/stepper.css.map +1 -1
  143. package/assets/css/components/table.css +1 -1
  144. package/assets/css/components/table.css.map +1 -1
  145. package/assets/css/components/tabs.css +1 -1
  146. package/assets/css/components/tabs.css.map +1 -1
  147. package/assets/css/components/tooltips.css +1 -1
  148. package/assets/css/components/tooltips.css.map +1 -1
  149. package/assets/css/core.min.css +1 -1
  150. package/assets/css/core.min.css.map +1 -1
  151. package/assets/css/style.min.css +1 -1
  152. package/assets/css/style.min.css.map +1 -1
  153. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  154. package/assets/js/components/card/card.component.min.js +1 -1
  155. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  156. package/assets/js/components/header/header.component.min.js +5 -5
  157. package/assets/js/components/table/table.component.js +4 -0
  158. package/assets/js/components/table/table.component.min.js +5 -5
  159. package/assets/js/components/table/table.component.min.js.map +1 -1
  160. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  161. package/assets/js/dynamic.min.js +2 -2
  162. package/assets/js/dynamic.min.js.map +1 -1
  163. package/assets/js/modules/helpers.js +31 -6
  164. package/assets/js/modules/table.js +4 -5
  165. package/assets/js/scripts.bundle.js +31 -31
  166. package/assets/js/scripts.bundle.js.map +1 -1
  167. package/assets/js/scripts.bundle.min.js +2 -2
  168. package/assets/js/scripts.bundle.min.js.map +1 -1
  169. package/assets/js/tests/table.spec.js +3 -1
  170. package/assets/sass/_corefiles.scss +15 -15
  171. package/assets/sass/_forms.scss +7 -7
  172. package/assets/sass/_functions/functions.scss +1 -1
  173. package/assets/sass/_functions/mixins.scss +19 -21
  174. package/assets/sass/_functions/utilities.scss +51 -9
  175. package/assets/sass/_functions/variables.scss +77 -37
  176. package/assets/sass/_tests/colours.spec.scss +8 -22
  177. package/assets/sass/components/accordion.scss +13 -0
  178. package/assets/sass/components/admin-panel.scss +106 -0
  179. package/assets/sass/components/alert.scss +22 -0
  180. package/assets/sass/components/carousel.scss +72 -0
  181. package/assets/sass/components/charts.scss +37 -1
  182. package/assets/sass/components/container.scss +1 -1
  183. package/assets/sass/components/dialog.scss +7 -1
  184. package/assets/sass/components/lists.scss +14 -0
  185. package/assets/sass/components/nav.scss +1 -1
  186. package/assets/sass/components/pagination.scss +1 -1
  187. package/assets/sass/components/stepper.scss +3 -3
  188. package/assets/sass/components/table.scss +19 -15
  189. package/assets/sass/components/tabs.scss +20 -7
  190. package/assets/sass/components/tooltips.scss +1 -1
  191. package/assets/sass/foundations/buttons.scss +366 -0
  192. package/assets/sass/foundations/links.scss +75 -75
  193. package/assets/sass/foundations/media.scss +1 -1
  194. package/assets/sass/foundations/reboot.scss +3 -5
  195. package/assets/sass/foundations/root.scss +9 -29
  196. package/assets/sass/foundations/type.scss +1 -1
  197. package/assets/ts/components/table/table.component.ts +5 -0
  198. package/assets/ts/modules/helpers.ts +49 -8
  199. package/assets/ts/modules/table.ts +6 -6
  200. package/assets/ts/tests/table.spec.ts +4 -1
  201. package/dist/components.es.js +46 -42
  202. package/dist/components.umd.js +4 -4
  203. package/dist/style.css +1 -1
  204. package/package.json +2 -1
  205. package/assets/css/components/buttons.css +0 -1
  206. package/assets/css/components/buttons.css.map +0 -1
  207. package/assets/css/components/panel.css +0 -1
  208. package/assets/css/components/panel.css.map +0 -1
  209. package/assets/sass/components/buttons.scss +0 -252
  210. package/assets/sass/components/panel.scss +0 -161
@@ -69,16 +69,12 @@ export const addGlobalEvents = (body) => {
69
69
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-modal]')){
70
70
 
71
71
  const button = event.target.closest('[data-modal]');
72
- const modalID = button.getAttribute('data-modal');
72
+ const modalID = button.hasAttribute('data-modal') ? button.getAttribute('data-modal') : button.getAttribute('data-filter');
73
73
  const dialog = document.querySelector(`dialog#${modalID}`);
74
74
 
75
75
  // Create close button is needed
76
- if(dialog.parentNode.closest('form') && !dialog.querySelector(':scope > .dialog__close:first-child'))
77
- dialog.innerHTML = `<button class="dialog__close" formmethod="dialog">Close</button>${dialog.innerHTML}`;
78
- else if(!dialog.parentNode.closest('form') && !dialog.querySelector(':scope > form:first-child'))
79
- dialog.innerHTML = `<form><button class="dialog__close" formmethod="dialog">Close</button></form>${dialog.innerHTML}`;
80
-
81
-
76
+ dialog.innerHTML = `<button class="dialog__close">Close</button>${dialog.innerHTML}`;
77
+
82
78
  let videoButton = dialog.querySelector('.youtube-embed a');
83
79
 
84
80
  if (videoButton){
@@ -94,6 +90,20 @@ export const addGlobalEvents = (body) => {
94
90
  });
95
91
  };
96
92
  // Close modal
93
+
94
+ if (event && event.target instanceof HTMLElement && event.target.closest('button.dialog__close')){
95
+ const dialog = event.target.closest('dialog[open]');
96
+
97
+ event.preventDefault();
98
+ dialog.close()
99
+
100
+ window.dataLayer = window.dataLayer || [];
101
+ window.dataLayer.push({
102
+ "event": "closeModal",
103
+ "id": dialog.getAttribute('id')
104
+ });
105
+ }
106
+
97
107
  if (event && event.target instanceof HTMLElement && event.target.closest('dialog[open]')){
98
108
  const dialog = event.target.closest('dialog[open]');
99
109
  const dialogDimensions = dialog.getBoundingClientRect()
@@ -111,18 +121,49 @@ export const addGlobalEvents = (body) => {
111
121
  // Popover
112
122
  if (event && event.target instanceof HTMLElement && event.target.closest('.dialog__wrapper > button')){
113
123
 
124
+ // Close existing open popover
125
+
114
126
  let btn = event.target.closest('.dialog__wrapper > button');
115
127
  let parent = event.target.closest('.dialog__wrapper > button').parentNode;
116
128
  let dataEvent = "openPopover"
117
129
  let popover = parent.querySelector(':scope > dialog');
118
130
 
131
+
132
+ if(document.querySelector('dialog[open]') && document.querySelector('dialog[open]') != popover)
133
+ document.querySelector('dialog[open]').close();
134
+
135
+
119
136
  if(popover.hasAttribute('open')){
120
137
 
121
138
  popover.close();
122
139
  dataEvent = "closePopover"
140
+
141
+ popover.removeAttribute('style');
142
+ btn.classList.remove('active');
123
143
  }
124
- else
144
+ else {
145
+
125
146
  popover.show();
147
+ btn.classList.add('active');
148
+
149
+ var position = btn.getBoundingClientRect();
150
+ let topOffset = position.top;
151
+ let leftOffset = position.left;
152
+
153
+ if(btn.closest('iam-table')){
154
+
155
+ let container = btn.closest('iam-table').parentNode.getBoundingClientRect();
156
+
157
+ topOffset -= container.top;
158
+ leftOffset -= container.left;
159
+
160
+ }
161
+
162
+ if(popover.classList.contains('dialog--fix')){
163
+ popover.setAttribute('style',`position:fixed;top: ${topOffset}px; left: ${leftOffset}px; margin: 3rem 0 0 0;`)
164
+ }
165
+ }
166
+
126
167
 
127
168
  window.dataLayer = window.dataLayer || [];
128
169
 
@@ -64,6 +64,9 @@ export const getLargestLastColWidth = (table) => {
64
64
 
65
65
  export const createMobileButton = (table) => {
66
66
 
67
+ if(table.closest('.table--fullwidth'))
68
+ return false;
69
+
67
70
  Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
68
71
  let firstCol = row.querySelector(':scope > :is(td,th):first-child');
69
72
  let colContent = firstCol.textContent;
@@ -353,7 +356,7 @@ export const filterTable = (table, form, wrapper) => {
353
356
  }
354
357
 
355
358
  // Stop function if no filters identified
356
- if(!searches.length && !filters.length)
359
+ if(!Object.keys(searches).length && !Object.keys(filters).length)
357
360
  return false;
358
361
 
359
362
  table.classList.add('table--filtered');
@@ -371,7 +374,6 @@ export const filterTable = (table, form, wrapper) => {
371
374
 
372
375
  for (const [key, filterValue] of Object.entries(filters)) {
373
376
 
374
- console.log(filterValue)
375
377
  Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
376
378
 
377
379
  let isMatched = false;
@@ -516,8 +518,7 @@ export const populateDataQueries = (table,form) => {
516
518
  queries.forEach(element => {
517
519
  selector += `:not([data-filtered-by="${element}"])`;
518
520
  });
519
-
520
- console.log(selector)
521
+
521
522
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr${selector}`)).length;
522
523
  }
523
524
  else if(!query.includes(' == ')){
@@ -547,8 +548,7 @@ export const populateDataQueries = (table,form) => {
547
548
  else {
548
549
 
549
550
  let queryParts = query.split(' == ');
550
- console.log(queryParts[0]);
551
- numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr.filtered--matched td[data-label="${queryParts[0]}"], tbody tr[data-filtered-by="${queryParts[0]}"] td[data-label="${queryParts[0]}"]`)).filter(function(element){
551
+ numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr:not([class*="filtered"]) td[data-label="${queryParts[0]}"], tbody tr[data-filtered-by="${queryParts[0]}"] td[data-label="${queryParts[0]}"]`)).filter(function(element){
552
552
  return element.textContent === queryParts[1];
553
553
  }).length;
554
554
  }
@@ -11,7 +11,7 @@ const basicTable = `<thead>
11
11
  <th>Heading 3</th>
12
12
  </tr>
13
13
  </thead>
14
- <tbody
14
+ <tbody>
15
15
  <tr>
16
16
  <td>Cell 1</td>
17
17
  <td>Low</td>
@@ -171,8 +171,11 @@ describe('populateDataQueries', () => {
171
171
  form.innerHTML += `<div><span data-query="total"></span><span data-query="Heading 2 == Low"></span></div>`;
172
172
 
173
173
  tableModule.addDataAttributes(table);
174
+ tableModule.filterTable(table, form, document.createElement('div'));
174
175
  tableModule.populateDataQueries(table, form);
175
176
 
177
+ console.log(table.outerHTML)
178
+
176
179
  test('should populate elements with the data-query attribute with the result of the corresponding query', () => {
177
180
 
178
181
 
@@ -116,6 +116,8 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
116
116
  e.style.setProperty("--row-height", `${i}rem`);
117
117
  }), a;
118
118
  }, we = (t) => {
119
+ if (t.closest(".table--fullwidth"))
120
+ return !1;
119
121
  Array.from(t.querySelectorAll("tbody tr")).forEach((a, e) => {
120
122
  let s = a.querySelector(":scope > :is(td,th):first-child"), r = s.textContent;
121
123
  s.innerHTML = `<span class="td__content">${r}</span><button type="button" class="d-none">${r}</button>`;
@@ -196,13 +198,13 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
196
198
  u.innerHTML = "";
197
199
  }), s.length && Array.from(a.querySelectorAll("[data-filter-count]")).forEach((u, m) => {
198
200
  u.innerHTML += `(${s.length})`;
199
- }), !r.length && !s.length)
201
+ }), !Object.keys(r).length && !Object.keys(s).length)
200
202
  return !1;
201
203
  t.classList.add("table--filtered"), Array.from(t.querySelectorAll("tbody tr")).forEach((u, m) => {
202
204
  u.classList.remove("filtered"), u.classList.remove("filtered--matched"), u.classList.remove("filtered--show"), u.removeAttribute("data-filtered-by");
203
205
  });
204
206
  for (const [u, m] of Object.entries(s))
205
- console.log(m), Array.from(t.querySelectorAll("tbody tr:not(.filtered)")).forEach((f, b) => {
207
+ Array.from(t.querySelectorAll("tbody tr:not(.filtered)")).forEach((f, b) => {
206
208
  let g = !1;
207
209
  m.forEach((y, C) => {
208
210
  let M = f.querySelector(`[data-label="${u}"]`);
@@ -212,23 +214,23 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
212
214
  let w = /* @__PURE__ */ new Date();
213
215
  w.setDate(w.getDate() - 1), y = D("date", w);
214
216
  } else if (y && (y == "$thisWeek" || y == "$lastWeek")) {
215
- let w = /* @__PURE__ */ new Date(), x = new Date(w.setDate(w.getDate() - (w.getDay() - 1))), q = new Date(w.setDate(w.getDate() - w.getDay() + 7)), k = new Date(M.textContent.toLowerCase());
216
- if (w.setHours(0, 0, 0, 0), x.setHours(0, 0, 0, 0), q.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), y == "$thisWeek")
217
- g = k >= x && k <= q;
217
+ let w = /* @__PURE__ */ new Date(), q = new Date(w.setDate(w.getDate() - (w.getDay() - 1))), x = new Date(w.setDate(w.getDate() - w.getDay() + 7)), k = new Date(M.textContent.toLowerCase());
218
+ if (w.setHours(0, 0, 0, 0), q.setHours(0, 0, 0, 0), x.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), y == "$thisWeek")
219
+ g = k >= q && k <= x;
218
220
  else {
219
- let O = new Date(x.setDate(x.getDate() - 7)), j = new Date(q.setDate(q.getDate() - 7));
220
- O.setHours(0, 0, 0, 0), j.setHours(0, 0, 0, 0), g = k >= O && k <= j;
221
+ let W = new Date(q.setDate(q.getDate() - 7)), j = new Date(x.setDate(x.getDate() - 7));
222
+ W.setHours(0, 0, 0, 0), j.setHours(0, 0, 0, 0), g = k >= W && k <= j;
221
223
  }
222
224
  } else if (y && y == "$thisMonth") {
223
- let w = /* @__PURE__ */ new Date(), x = w.getFullYear(), q = w.getMonth();
224
- var B = new Date(x, q, 1), V = new Date(x, q + 1, 0);
225
+ let w = /* @__PURE__ */ new Date(), q = w.getFullYear(), x = w.getMonth();
226
+ var B = new Date(q, x, 1), V = new Date(q, x + 1, 0);
225
227
  let k = new Date(M.textContent.toLowerCase());
226
228
  B.setHours(0, 0, 0, 0), V.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), g = k >= B && k <= V;
227
229
  } else if (y && y == "$lastMonth") {
228
- let w = /* @__PURE__ */ new Date(), x = w.getFullYear(), q = w.getMonth();
229
- var z = new Date(x, q - 1, 1), W = new Date(x, q, 0);
230
+ let w = /* @__PURE__ */ new Date(), q = w.getFullYear(), x = w.getMonth();
231
+ var z = new Date(q, x - 1, 1), O = new Date(q, x, 0);
230
232
  let k = new Date(M.textContent.toLowerCase());
231
- z.setHours(0, 0, 0, 0), W.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), g = k >= z && k <= W;
233
+ z.setHours(0, 0, 0, 0), O.setHours(0, 0, 0, 0), k.setHours(0, 0, 0, 0), g = k >= z && k <= O;
232
234
  }
233
235
  M && M.textContent.toLowerCase().includes(y.toLowerCase()) && (g = !0);
234
236
  }), g || (f.classList.add("filtered"), f.setAttribute("data-filtered-by", u));
@@ -251,7 +253,7 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
251
253
  let l = n.split(" & "), h = "";
252
254
  l.forEach((u) => {
253
255
  h += `:not([data-filtered-by="${u}"])`;
254
- }), console.log(h), i = Array.from(t.querySelectorAll(`tbody tr${h}`)).length;
256
+ }), i = Array.from(t.querySelectorAll(`tbody tr${h}`)).length;
255
257
  } else if (!n.includes(" == "))
256
258
  i = Array.from(t.querySelectorAll(`tbody tr:not([data-filtered-by="${n}"])`)).length;
257
259
  else if (n.includes(" && ")) {
@@ -266,7 +268,7 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
266
268
  }).length;
267
269
  } else {
268
270
  let l = n.split(" == ");
269
- console.log(l[0]), i = Array.from(t.querySelectorAll(`tbody tr.filtered--matched td[data-label="${l[0]}"], tbody tr[data-filtered-by="${l[0]}"] td[data-label="${l[0]}"]`)).filter(function(h) {
271
+ i = Array.from(t.querySelectorAll(`tbody tr:not([class*="filtered"]) td[data-label="${l[0]}"], tbody tr[data-filtered-by="${l[0]}"] td[data-label="${l[0]}"]`)).filter(function(h) {
270
272
  return h.textContent === l[1];
271
273
  }).length;
272
274
  }
@@ -287,13 +289,13 @@ const _e = /* @__PURE__ */ A(me, [["render", be]]), pe = function(t) {
287
289
  n.value = i, s.setAttribute("data-show", i), a.dispatchEvent(new Event("submit"));
288
290
  }
289
291
  });
290
- }, xe = (t, a) => {
292
+ }, qe = (t, a) => {
291
293
  if (!t)
292
294
  return !1;
293
295
  t.addEventListener("click", (e) => {
294
- qe(a);
296
+ xe(a);
295
297
  });
296
- }, qe = function(t) {
298
+ }, xe = function(t) {
297
299
  for (var a = [], e = t.getElementsByTagName("tr"), s = 0; s < e.length; s++) {
298
300
  for (var r = e[s].querySelectorAll("td,th"), n = [], i = 0; i < r.length; i++)
299
301
  n.push(`"${r[i].textContent}"`);
@@ -375,7 +377,9 @@ class $e extends HTMLElement {
375
377
  this.hasAttribute("data-total") || this.setAttribute("data-total", this.querySelectorAll("table tbody tr").length), this.hasAttribute("data-page") || this.setAttribute("data-page", i.has("page") ? i.get("page") : 1), this.hasAttribute("data-show") || this.setAttribute("data-show", 15), this.setAttribute("data-pages", Math.ceil(this.getAttribute("data-total") / this.getAttribute("data-show")));
376
378
  }
377
379
  connectedCallback() {
378
- this.table = this.querySelector("table"), this.savedTableBody = this.querySelector("tbody").cloneNode(!0), this.pagination = this.shadowRoot.querySelector(".table__pagination"), this.form = document.createElement("form"), this.hasAttribute("data-filterby") && (this.form = document.querySelector(`#${this.getAttribute("data-filterby")}`), Q(this.table, this.form), this.form.querySelector("[data-page]") || (this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute("data-page")}" data-pagination="true" />`), this.form.querySelector("[data-show]") || (this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute("data-show")}" data-show="true" />`)), Se(this.table), Le(this.table, this.form, this.pagination, this, this.savedTableBody), ke(this.table, this.form, this.pagination, this), xe(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? J(this.table, this.form, this.pagination, this) : (X(this.table, this.form, this.pagination, this), Y(this.table, this.form, this), F(this, this.pagination));
380
+ this.table = this.querySelector("table"), this.savedTableBody = this.querySelector("tbody").cloneNode(!0), this.pagination = this.shadowRoot.querySelector(".table__pagination"), this.form = document.createElement("form"), this.hasAttribute("data-filterby") && (this.form = document.querySelector(`#${this.getAttribute("data-filterby")}`), Q(this.table, this.form), this.form.querySelector("[data-page]") || (this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute("data-page")}" data-pagination="true" />`), this.form.querySelector("[data-show]") || (this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute("data-show")}" data-show="true" />`)), Se(this.table), Le(this.table, this.form, this.pagination, this, this.savedTableBody), ke(this.table, this.form, this.pagination, this), qe(this.shadowRoot.querySelector("[data-export]"), this.table), this.form.getAttribute("data-ajax") ? J(this.table, this.form, this.pagination, this) : (X(this.table, this.form, this.pagination, this), Y(this.table, this.form, this), F(this, this.pagination)), this.shadowRoot.querySelector(".table__wrapper").addEventListener("scroll", (a) => {
381
+ this.table.querySelector("dialog[open]") && this.table.querySelector("dialog[open]").close();
382
+ });
379
383
  }
380
384
  static get observedAttributes() {
381
385
  return ["data-total", "data-pages", "data-page", "data-show"];
@@ -618,7 +622,7 @@ const ee = /* @__PURE__ */ A(Ee, [["render", Ie]]), Fe = {
618
622
  this.$emit("bus");
619
623
  }
620
624
  }
621
- }, Be = ["for", "innerHTML", "title"], Ve = ["innerHTML"], ze = ["innerHTML"], We = ["type", "name", "id", "pattern", "list"], Oe = ["type", "name", "id", "pattern"], je = {
625
+ }, Be = ["for", "innerHTML", "title"], Ve = ["innerHTML"], ze = ["innerHTML"], Oe = ["type", "name", "id", "pattern", "list"], We = ["type", "name", "id", "pattern"], je = {
622
626
  key: 5,
623
627
  class: "input-group"
624
628
  }, Ue = ["type", "name", "id", "pattern", "list"], Ke = { class: "input-group-text border-0 col-2 col-sm-1 px-0" }, Ge = {
@@ -660,7 +664,7 @@ function nt(t, a, e, s, r, n) {
660
664
  list: n.hasOptions()
661
665
  }, t.$attrs, {
662
666
  onKeyup: a[1] || (a[1] = (...i) => n.inputKeyup && n.inputKeyup(...i))
663
- }), null, 16, We)), [
667
+ }), null, 16, Oe)), [
664
668
  [P, n.inputVal]
665
669
  ]) : _("", !0),
666
670
  e.type == "textarea" ? N((c(), d("textarea", H({
@@ -671,7 +675,7 @@ function nt(t, a, e, s, r, n) {
671
675
  name: e.name ? e.name : e.id,
672
676
  id: e.id,
673
677
  pattern: n.needPattern()
674
- }, t.$attrs), null, 16, Oe)), [
678
+ }, t.$attrs), null, 16, We)), [
675
679
  [se, n.inputVal]
676
680
  ]) : _("", !0),
677
681
  e.type == "range" ? (c(), d("div", je, [
@@ -948,15 +952,15 @@ const di = /* @__PURE__ */ A(gt, [["render", wt]]), St = {
948
952
  required: !1
949
953
  }
950
954
  }
951
- }, Lt = { class: "container" }, kt = { class: "row" }, xt = { class: "col-sm-6" }, qt = { class: "pt-5 pb-3 px-4" }, $t = { class: "col-sm-6 col-md-5 ms-auto" }, Tt = ["src"];
955
+ }, Lt = { class: "container" }, kt = { class: "row" }, qt = { class: "col-sm-6" }, xt = { class: "pt-5 pb-3 px-4" }, $t = { class: "col-sm-6 col-md-5 ms-auto" }, Tt = ["src"];
952
956
  function Ht(t, a, e, s, r, n) {
953
957
  return c(), d("div", Lt, [
954
958
  o("div", {
955
959
  class: v("bg-" + e.background + " mb-4")
956
960
  }, [
957
961
  o("div", kt, [
958
- o("div", xt, [
959
- o("div", qt, [
962
+ o("div", qt, [
963
+ o("div", xt, [
960
964
  o("h2", null, L(e.title), 1),
961
965
  p(t.$slots, "default")
962
966
  ])
@@ -1161,11 +1165,11 @@ const Rt = {
1161
1165
  Dt(this.$refs.wrapper);
1162
1166
  });
1163
1167
  }
1164
- }, Pt = ["id", "data-cols", "data-sm-cols", "data-md-cols"], It = { class: "carousel__wrapper" }, Ft = { class: "carousel__inner" }, Bt = ["id"], Vt = ["innerHTML", "id"], zt = ["href"], Wt = /* @__PURE__ */ o("button", {
1168
+ }, Pt = ["id", "data-cols", "data-sm-cols", "data-md-cols"], It = { class: "carousel__wrapper" }, Ft = { class: "carousel__inner" }, Bt = ["id"], Vt = ["innerHTML", "id"], zt = ["href"], Ot = /* @__PURE__ */ o("button", {
1165
1169
  class: "btn btn-prev",
1166
1170
  "data-go": "0",
1167
1171
  disabled: ""
1168
- }, "Prev", -1), Ot = /* @__PURE__ */ o("button", {
1172
+ }, "Prev", -1), Wt = /* @__PURE__ */ o("button", {
1169
1173
  class: "btn btn-next",
1170
1174
  "data-go": "2"
1171
1175
  }, "Next", -1);
@@ -1222,8 +1226,8 @@ function jt(t, a, e, s, r, n) {
1222
1226
  class: v(`control-${h + 1}`)
1223
1227
  }, "Slide " + L(h + 1), 11, zt))), 128))
1224
1228
  ], 2),
1225
- Wt,
1226
- Ot
1229
+ Ot,
1230
+ Wt
1227
1231
  ])
1228
1232
  ], 8, Pt);
1229
1233
  }
@@ -1559,7 +1563,7 @@ const ma = {
1559
1563
  value: "submit"
1560
1564
  }, "Search")
1561
1565
  ], -1);
1562
- function xa(t, a, e, s, r, n) {
1566
+ function qa(t, a, e, s, r, n) {
1563
1567
  const i = E("Input");
1564
1568
  return c(), d("div", fa, [
1565
1569
  p(t.$slots, "default"),
@@ -1646,7 +1650,7 @@ function xa(t, a, e, s, r, n) {
1646
1650
  p(t.$slots, "after")
1647
1651
  ], 512);
1648
1652
  }
1649
- const yi = /* @__PURE__ */ A(ma, [["render", xa]]), qa = (t) => {
1653
+ const yi = /* @__PURE__ */ A(ma, [["render", qa]]), xa = (t) => {
1650
1654
  Array.from(t.querySelectorAll("details")).forEach((a, e) => {
1651
1655
  a.addEventListener("mouseenter", function(s) {
1652
1656
  window.matchMedia("(min-width: 62em)").matches && a.setAttribute("open", "true");
@@ -1732,7 +1736,7 @@ const $a = {
1732
1736
  },
1733
1737
  mounted() {
1734
1738
  this.$nextTick(function() {
1735
- qa(this.$refs.wrapper);
1739
+ xa(this.$refs.wrapper);
1736
1740
  });
1737
1741
  }
1738
1742
  }, Ta = /* @__PURE__ */ o("input", {
@@ -1764,10 +1768,10 @@ const $a = {
1764
1768
  ], -1), Fa = { class: "nav__inner" }, Ba = { class: "container" }, Va = { class: "row" }, za = {
1765
1769
  key: 0,
1766
1770
  class: "col mw-md-fit-content nav__logo"
1767
- }, Wa = {
1771
+ }, Oa = {
1768
1772
  key: 1,
1769
1773
  class: "col mw-md-fit-content nav__logo"
1770
- }, Oa = {
1774
+ }, Wa = {
1771
1775
  href: "/",
1772
1776
  class: "text-decoration-none mb-0"
1773
1777
  }, ja = {
@@ -1875,8 +1879,8 @@ function ys(t, a, e, s, r, n) {
1875
1879
  o("div", Va, [
1876
1880
  n.hasLogoSlot ? (c(), d("div", za, [
1877
1881
  p(t.$slots, "logo")
1878
- ])) : (c(), d("div", Wa, [
1879
- o("a", Oa, [
1882
+ ])) : (c(), d("div", Oa, [
1883
+ o("a", Wa, [
1880
1884
  S(i, {
1881
1885
  id: e.logo,
1882
1886
  path: e.logopath,
@@ -1990,7 +1994,7 @@ const _i = /* @__PURE__ */ A(bs, [["render", ws]]), Ss = {
1990
1994
  key: 0,
1991
1995
  class: "visually-hidden"
1992
1996
  };
1993
- function xs(t, a, e, s, r, n) {
1997
+ function qs(t, a, e, s, r, n) {
1994
1998
  return c(), d("li", null, [
1995
1999
  o("a", {
1996
2000
  href: e.url,
@@ -2004,7 +2008,7 @@ function xs(t, a, e, s, r, n) {
2004
2008
  ], 10, Ls)
2005
2009
  ]);
2006
2010
  }
2007
- const pi = /* @__PURE__ */ A(Ss, [["render", xs]]), qs = function(t) {
2011
+ const pi = /* @__PURE__ */ A(Ss, [["render", qs]]), xs = function(t) {
2008
2012
  const a = t.querySelectorAll(":scope > details");
2009
2013
  t.querySelectorAll(":scope > details > summary");
2010
2014
  let e = t.querySelector(":scope > .tabs__links");
@@ -2042,7 +2046,7 @@ const pi = /* @__PURE__ */ A(Ss, [["render", xs]]), qs = function(t) {
2042
2046
  let a = t.querySelectorAll(":scope > details"), e = t.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");
2043
2047
  t.shadowRoot && (e = t.shadowRoot.querySelectorAll(".tabs__links > button, .tabs__links > a")), location.hash && t.querySelector(`.tabs__links [href="${location.hash}"]`) ? (t.querySelector(`[href="${location.hash}"]`).setAttribute("open", !0), t.querySelector(`details[id="${location.hash.replace("#", "")}"]`).setAttribute("open", !0)) : t.querySelector("details[open]") || (a[0].setAttribute("open", !0), e[0].setAttribute("aria-pressed", !0));
2044
2048
  }, Hs = function(t) {
2045
- qs(t), $s(t), Ts(t);
2049
+ xs(t), $s(t), Ts(t);
2046
2050
  };
2047
2051
  window.dataLayer = window.dataLayer || [];
2048
2052
  window.dataLayer.push({
@@ -2162,7 +2166,7 @@ const Bs = {
2162
2166
  "data-bs-dismiss": "alert",
2163
2167
  "aria-label": "Close"
2164
2168
  };
2165
- function Ws(t, a, e, s, r, n) {
2169
+ function Os(t, a, e, s, r, n) {
2166
2170
  return c(), d("div", {
2167
2171
  class: v(`container alert pb-0 ${e.dismissible ? "alert--dismissible fade show" : ""}`),
2168
2172
  ref: "wrapper",
@@ -2178,10 +2182,10 @@ function Ws(t, a, e, s, r, n) {
2178
2182
  ], 2)
2179
2183
  ], 14, Vs);
2180
2184
  }
2181
- const Ai = /* @__PURE__ */ A(Bs, [["render", Ws]]);
2185
+ const Ai = /* @__PURE__ */ A(Bs, [["render", Os]]);
2182
2186
  let te = ee.props;
2183
2187
  te.fields.required = !1;
2184
- const Os = {
2188
+ const Ws = {
2185
2189
  components: {
2186
2190
  Table: ee,
2187
2191
  Input: R
@@ -2261,7 +2265,7 @@ function Ys(t, a, e, s, r, n) {
2261
2265
  ], 40, Ks)
2262
2266
  ]);
2263
2267
  }
2264
- const wi = /* @__PURE__ */ A(Os, [["render", Ys]]);
2268
+ const wi = /* @__PURE__ */ A(Ws, [["render", Ys]]);
2265
2269
  function Zs(t, a) {
2266
2270
  function e(s, r) {
2267
2271
  let n = !1, i = r.getAttribute("name");