@iamproperty/components 3.6.0 → 3.7.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 (75) hide show
  1. package/assets/css/components/accordion.css.map +1 -1
  2. package/assets/css/components/admin-panel.css +1 -1
  3. package/assets/css/components/admin-panel.css.map +1 -1
  4. package/assets/css/components/card.css +1 -1
  5. package/assets/css/components/card.css.map +1 -1
  6. package/assets/css/components/dialog.css +1 -1
  7. package/assets/css/components/dialog.css.map +1 -1
  8. package/assets/css/components/forms.css.map +1 -1
  9. package/assets/css/components/lists.css +1 -1
  10. package/assets/css/components/lists.css.map +1 -1
  11. package/assets/css/components/table.css +1 -1
  12. package/assets/css/components/table.css.map +1 -1
  13. package/assets/css/core.min.css +1 -1
  14. package/assets/css/core.min.css.map +1 -1
  15. package/assets/css/style.min.css +1 -1
  16. package/assets/css/style.min.css.map +1 -1
  17. package/assets/js/bundle.js +2 -0
  18. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  19. package/assets/js/components/card/card.component.js +2 -2
  20. package/assets/js/components/card/card.component.min.js +4 -4
  21. package/assets/js/components/card/card.component.min.js.map +1 -1
  22. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  23. package/assets/js/components/header/header.component.min.js +1 -1
  24. package/assets/js/components/table/table.component.js +11 -8
  25. package/assets/js/components/table/table.component.min.js +5 -5
  26. package/assets/js/components/table/table.component.min.js.map +1 -1
  27. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  28. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  29. package/assets/js/dynamic.js +3 -1
  30. package/assets/js/dynamic.min.js +2 -2
  31. package/assets/js/dynamic.min.js.map +1 -1
  32. package/assets/js/flat-components.js +2 -0
  33. package/assets/js/modules/dialogs.js +173 -0
  34. package/assets/js/modules/helpers.js +1 -89
  35. package/assets/js/modules/table.js +10 -8
  36. package/assets/js/modules/tabs.js +0 -2
  37. package/assets/js/scripts.bundle.js +24 -24
  38. package/assets/js/scripts.bundle.js.map +1 -1
  39. package/assets/js/scripts.bundle.min.js +2 -2
  40. package/assets/js/scripts.bundle.min.js.map +1 -1
  41. package/assets/js/tests/table.spec.js +15 -0
  42. package/assets/sass/_functions/variables.scss +3 -28
  43. package/assets/sass/components/admin-panel.scss +0 -10
  44. package/assets/sass/components/card.scss +32 -25
  45. package/assets/sass/components/dialog.scss +332 -28
  46. package/assets/sass/components/lists.scss +16 -33
  47. package/assets/sass/components/table.scss +47 -41
  48. package/assets/sass/foundations/buttons.scss +9 -13
  49. package/assets/sass/foundations/icons.scss +14 -69
  50. package/assets/sass/foundations/reboot.scss +12 -4
  51. package/assets/sass/foundations/root.scss +9 -0
  52. package/assets/sass/helpers/max-height.scss +15 -0
  53. package/assets/ts/bundle.ts +2 -0
  54. package/assets/ts/components/card/README.md +2 -1
  55. package/assets/ts/components/card/card.component.ts +2 -2
  56. package/assets/ts/components/table/table.component.ts +12 -9
  57. package/assets/ts/dynamic.ts +3 -1
  58. package/assets/ts/flat-components.ts +2 -0
  59. package/assets/ts/html.d.ts +7 -1
  60. package/assets/ts/modules/dialogs.ts +237 -0
  61. package/assets/ts/modules/helpers.ts +1 -123
  62. package/assets/ts/modules/table.ts +14 -13
  63. package/assets/ts/modules/tabs.ts +0 -4
  64. package/assets/ts/tests/table.spec.ts +15 -0
  65. package/dist/components.es.js +982 -1003
  66. package/dist/components.umd.js +25 -21
  67. package/package.json +2 -3
  68. package/src/components/Card/Card.vue +2 -2
  69. package/src/components/Card/README.md +1 -1
  70. package/src/components/Nav/Nav.vue +1 -3
  71. package/src/index.js +0 -1
  72. package/assets/svg/icons.svg +0 -599
  73. package/src/foundations/Icon/Icon.spec.js +0 -24
  74. package/src/foundations/Icon/Icon.vue +0 -24
  75. package/src/foundations/Icon/README.md +0 -11
@@ -12,54 +12,37 @@
12
12
  position: relative;
13
13
  list-style: none;
14
14
  padding-bottom: 1rem;
15
- padding-left: 2.5rem;
15
+ padding-left: 2.25rem;
16
16
 
17
17
  &:before {
18
18
 
19
- content: "";
19
+ content: "\f00c";
20
20
  position: absolute;
21
21
  top: 0;
22
22
  left: 0;
23
- width: 1.5em;
24
- height: 1.5em;
23
+ width: 1.25em;
24
+ height: 1.25em;
25
+ font-size: 1.25em;
26
+ line-height: 1;
27
+
28
+ color: var(--colour-complete);
29
+ font-family: "Font Awesome 6 Pro";
30
+ font-size: 400;
25
31
 
26
- background: var(--colour-secondary);
27
- mask-image: var(--icon-tick);
28
- mask-size: 100%;
29
- mask-repeat: no-repeat;
30
- mask-position: 50% 50%;
31
- -webkit-mask-image: var(--icon-tick);
32
- -webkit-mask-size: 100%;
33
- -webkit-mask-repeat: no-repeat;
34
- -webkit-mask-position: 50% 50%;
35
- @media (forced-colors: active) {
36
- content: "\2713";
37
- -webkit-mask-image: none;
38
- }
39
32
  }
40
33
 
41
34
  &.tick--warning:before {
42
35
 
43
- background: var(--colour-warning);
44
- mask-image: var(--icon-warning);
45
- -webkit-mask-image: var(--icon-warning);
46
- @media (forced-colors: active) {
47
- content: "!";
48
- mask-image: none;
49
- -webkit-mask-image: none;
50
- }
36
+ content: "\f071";
37
+ font-weight: 300;
38
+ color: var(--colour-warning);
51
39
  }
52
40
 
53
41
  &.tick--danger:before {
54
42
 
55
- background: var(--colour-danger);
56
- mask-image: var(--icon-warning);
57
- -webkit-mask-image: var(--icon-warning);
58
- @media (forced-colors: active) {
59
- content: "!";
60
- mask-image: none;
61
- -webkit-mask-image: none;
62
- }
43
+ content: "\f06a";
44
+ font-weight: 300;
45
+ color: var(--colour-danger);
63
46
  }
64
47
 
65
48
  &.tick--incomplete:before {
@@ -69,18 +69,18 @@ tbody tr {
69
69
  }
70
70
  }
71
71
 
72
- td {
72
+ :is(td, th) {
73
73
 
74
74
  border-top: var(--border-width) solid currentColor;
75
75
  @include var(border-color,--colour-border);
76
76
  }
77
77
 
78
- &:first-child td{
78
+ &:first-child :is(td, th){
79
79
  border-top: var(--border-width) solid currentColor;
80
80
  @include var(border-color,--colour-primary);
81
81
  }
82
82
 
83
- &:last-child td{
83
+ &:last-child :is(td, th){
84
84
  border-bottom: var(--border-width) solid currentColor;
85
85
  @include var(border-color,--colour-border);
86
86
  }
@@ -105,6 +105,10 @@ table.border-0 {
105
105
  border-radius: rem(8);
106
106
  margin-bottom: rem(32);
107
107
 
108
+ &:before {
109
+ display: none!important;
110
+ }
111
+
108
112
  table {
109
113
  margin-bottom: 0;
110
114
  }
@@ -292,8 +296,23 @@ table.border-0 {
292
296
  }
293
297
  }
294
298
 
299
+ .table--cta {
300
+ border-bottom: 0;
301
+
302
+ &:after {
303
+ content: none;
304
+ display: none !important;;
305
+ }
306
+ }
295
307
  .table--cta:not(.table--fullwidth) tr td:last-child {
296
308
  display: block!important;
309
+ position: static;
310
+ width: 100%;
311
+ min-width: 100%;
312
+ margin-left: 0;
313
+ padding-left: 0;
314
+ text-align: left;
315
+ min-height: 0;
297
316
  }
298
317
 
299
318
  }
@@ -376,17 +395,10 @@ table.border-0 {
376
395
  position: relative;
377
396
 
378
397
  &::before {
379
- content: "";
380
398
  top: calc(100% - 1.2rem);
381
399
  bottom: 2px;
382
- left: 0;
383
- right: 0;
384
400
  height: 1.2rem;
385
- position: sticky;
386
- display: block;
387
- background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
388
401
  border-bottom: 2px solid var(--colour-border);
389
- z-index: 2;
390
402
  margin-bottom: -1.2rem;
391
403
  }
392
404
  }
@@ -469,70 +481,64 @@ table {
469
481
 
470
482
  &:after {
471
483
 
484
+ font-family: "Font Awesome 6 Pro";
472
485
  position: absolute;
473
486
  top: 1rem;
474
487
  left: 0;
475
-
476
488
  content: "";
489
+ font-size: rem(16);
490
+ line-height: 1;
477
491
  height: rem(16);
478
492
  width: rem(16);
479
493
  display: inline-block;
480
- mask-size: 100%;
481
- mask-repeat: no-repeat;
482
- mask-position: 50% 50%;
483
- -webkit-mask-size: 100%;
484
- -webkit-mask-repeat: no-repeat;
485
- -webkit-mask-position: 50% 50%;
486
494
  }
487
495
  }
488
496
 
489
497
  [data-content="High"]:after {
490
-
491
- background: var(--colour-danger);
492
- mask-image: var(--icon-high);
493
- -webkit-mask-image: var(--icon-high);
498
+ content: "\f325";
499
+ font-weight: normal;
500
+ color: var(--colour-danger);
494
501
  }
495
502
 
496
503
  [data-content="Medium"]:after {
497
504
 
498
- background: var(--colour-warning);
499
- mask-image: var(--icon-medium);
500
- -webkit-mask-image: var(--icon-medium);
505
+ content: "\f7a4";
506
+ font-weight: normal;
507
+ color: var(--colour-warning);
501
508
  }
502
509
 
503
510
  [data-content="Low"]:after {
504
511
 
505
- background: var(--colour-success);
506
- mask-image: var(--icon-low);
507
- -webkit-mask-image: var(--icon-low);
512
+ content: "\e404";
513
+ font-weight: normal;
514
+ color: var(--colour-complete);
508
515
  }
509
516
 
510
517
  :is([data-content="Not started"],[data-content="Incomplete"]):after {
511
518
 
512
- background: var(--colour-danger);
513
- mask-image: var(--icon-flag);
514
- -webkit-mask-image: var(--icon-flag);
519
+ content: "\f024";
520
+ font-weight: light;
521
+ color: var(--colour-danger);
515
522
  }
516
523
 
517
524
  [data-content="Requires approval"]:after {
518
525
 
519
- background: var(--colour-warning);
520
- mask-image: var(--icon-flag);
521
- -webkit-mask-image: var(--icon-flag);
526
+ content: "\f024";
527
+ font-weight: light;
528
+ color: var(--colour-warning);
522
529
  }
523
530
 
524
531
  :is([data-content="Verified"],[data-content="Completed"]):after {
525
-
526
- background: var(--colour-success);
527
- mask-image: var(--icon-tick);
528
- -webkit-mask-image: var(--icon-tick);
532
+
533
+ content: "\f00c";
534
+ font-weight: normal;
535
+ color: var(--colour-complete);
529
536
  }
530
537
 
531
-
532
538
  .alert-status:not(:empty):after {
533
539
 
534
- background: var(--colour-danger);
535
- mask-image: var(--icon-warning);
536
- -webkit-mask-image: var(--icon-warning);
540
+ content: "\f06a";
541
+ font-weight: light;
542
+ color: var(--colour-danger);
537
543
  }
538
544
  }
@@ -37,7 +37,11 @@
37
37
  padding: calc(rem(12) - 2px) calc(rem(40) - 2px);
38
38
  border-radius: rem(24);
39
39
  margin-bottom: var(--btn-margin);
40
- margin-right: var(--btn-margin);
40
+
41
+ &:not(:last-child){
42
+
43
+ margin-right: var(--btn-margin);
44
+ }
41
45
  transition: background .5s, color .5s;
42
46
  height: auto;
43
47
  max-width: fit-content;
@@ -301,24 +305,16 @@ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
301
305
  // #region button that opens up a filter dialog
302
306
  .btn-filter {
303
307
  &:after {
304
- content: "";
305
-
308
+ content: "\f1de";
306
309
  display: inline-block;
307
310
  margin-left: 1em;
308
311
  margin-bottom: -0.15em;
309
312
  height: 1em;
310
313
  width: 1em;
311
314
  z-index: var(--index-focus);
312
- background: currentColor;
313
- mask-image: var(--icon-filter);
314
- mask-size: 100%;
315
- mask-repeat: no-repeat;
316
- mask-position: 50% 50%;
317
- -webkit-mask-image: var(--icon-filter);
318
- -webkit-mask-size: 100%;
319
- -webkit-mask-repeat: no-repeat;
320
- -webkit-mask-position: 50% 50%;
321
-
315
+ color: currentColor;
316
+ font-weight: 300;
317
+ font-family: "Font Awesome 6 Pro";
322
318
  }
323
319
  }
324
320
  // #endregion
@@ -1,81 +1,26 @@
1
1
  @use "../_func" as *;
2
2
 
3
- .icon {
4
- fill: currentColor;
5
- stroke: currentColor;
6
- stroke-width: 0;
7
- @include var(color,--colour-primary);
8
- width: rem(64);
9
- height: rem(64);
10
- display: inline-block;
11
3
 
12
- button > &,
13
- a > & {
14
- width: 1.5em;
15
- height: 1.5em;
16
- vertical-align: text-top;
17
- margin-top: -0.15em;
18
- margin-inline: 0.25em;
19
- color: inherit;
20
- }
21
-
22
- &[class*="text-"]{
23
- fill: currentColor;
24
- }
25
-
26
- & + .icon {
27
- margin-inline-start: 1rem;
28
- }
4
+ .icon--xs {
5
+ font-size: rem(16);
6
+ }
29
7
 
30
- &[class*="fs-"] {
31
- width: 1.5em;
32
- height: 1.5em;
33
- vertical-align: text-top;
34
- margin-top: -0.15em;
35
- margin-inline: 0.25em;
36
- }
8
+ .icon--sm {
9
+ font-size: rem(18);
37
10
  }
38
11
 
39
- @include inline-text(){
40
- .icon {
41
- width: 1em;
42
- height: 1em;
43
- vertical-align: text-top;
44
- margin-top: 0.15em;
45
- margin-inline: 0.25em;
46
- }
12
+ .icon--compact {
13
+ font-size: rem(20);
47
14
  }
48
15
 
49
- // Font awesome support
50
- .icon[class*="fa-"]:not(.far) {
51
- font-size: rem(64 - 16);
52
- height: rem(64);
53
- padding: 0.5rem;
54
- -moz-osx-font-smoothing: grayscale;
55
- -webkit-font-smoothing: antialiased;
56
- display: inline-block;
57
- font-style: normal;
58
- font-variant: normal;
59
- text-rendering: auto;
60
- line-height: 1;
61
- font-family: "Font Awesome 6 Pro";
62
- font-weight: 300;
63
- width: auto;
16
+ .icon--md {
17
+ font-size: rem(28);
18
+ }
64
19
 
65
- button &,
66
- a & {
67
- font-size: 1em;
68
- height: 1em;
69
- padding: 0;
70
- vertical-align: text-top;
71
- margin-top: 0.15em;
72
- margin-inline: 0.25em;
73
- }
20
+ .icon--lg {
21
+ font-size: rem(40);
74
22
  }
75
23
 
76
- @include inline-text(){
77
- .icon[class*="fa-"] {
78
- font-size: 1em;
79
- color: inherit;
80
- }
24
+ [class*="fa-"]:not(.fa-regular,.fa-light, .fa-solid ) {
25
+ font-weight: 400;
81
26
  }
@@ -54,17 +54,17 @@ body {
54
54
  }
55
55
 
56
56
  // #region scrollbars
57
- div::-webkit-scrollbar {
57
+ :is(div,form,fieldset)::-webkit-scrollbar {
58
58
  width: 10px;
59
59
  height: 6px;
60
60
  }
61
61
 
62
- div::-webkit-scrollbar-track {
62
+ :is(div,form,fieldset)::-webkit-scrollbar-track {
63
63
  background-color: #f1f1f1;
64
64
  border-left: 4px solid var(--bg-colour,var(--colour-canvas));
65
65
  }
66
66
 
67
- div::-webkit-scrollbar-thumb {
67
+ :is(div,form,fieldset)::-webkit-scrollbar-thumb {
68
68
  background-color: #c1c1c1;
69
69
  width: 6px;
70
70
  border-left: 4px solid var(--bg-colour,var(--colour-canvas));
@@ -133,4 +133,12 @@ details summary > * {
133
133
 
134
134
  details {
135
135
  width: 100%;
136
- }
136
+ }
137
+
138
+ // #region Undefined web components
139
+ iam-card:not(:defined) {
140
+ box-shadow: var(--card-border-radius);
141
+ border-radius: var(--card-border-radius);
142
+ padding: var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);
143
+ }
144
+ // #endregion
@@ -27,6 +27,15 @@
27
27
  // Extra vars needed
28
28
  --content-max-width: #{$content-max-width};
29
29
  --colour-brand: var(--colour-primary);
30
+
31
+ // Cards variables
32
+ --card-top-padding: 2rem;
33
+ --card-right-padding: #{rem(16+16+24)};
34
+ --card-bottom-padding: 2rem;
35
+ --card-left-padding: 1rem;
36
+ --card-border-radius: #{rem(8)};
37
+ --card-box-shadow: 2px 6px 12px rgba(0,0,0,0.2);
38
+
30
39
  }
31
40
 
32
41
  // Dark mode; functional colours get updated
@@ -1,3 +1,18 @@
1
1
  :is(.mh-sm,.mh-md,.mh-lg){
2
2
  overflow: auto;
3
+ overscroll-behavior: contain;
4
+
5
+ &::before {
6
+ content: "";
7
+ top: calc(100% - 1.5rem);
8
+ bottom: 0;
9
+ left: 0;
10
+ right: 0;
11
+ height: 1.5rem;
12
+ position: sticky;
13
+ display: block;
14
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
15
+ z-index: 2;
16
+ margin-bottom: -1.5rem;
17
+ }
3
18
  }
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  // Modules
3
3
  import * as helpers from '../js/modules/helpers'
4
+ import extendDialogs from '../js/modules/dialogs'
4
5
  import createDataLayer from '../js/modules/data-layer'
5
6
  import nav from '../js/modules/nav'
6
7
  //import accordion from './modules/accordion'
@@ -24,6 +25,7 @@ document.addEventListener("DOMContentLoaded", function() {
24
25
  // Global stuff
25
26
  helpers.addBodyClasses(document.body);
26
27
  helpers.addGlobalEvents(document.body);
28
+ extendDialogs(document.body);
27
29
  //helpers.checkElements(document.body);
28
30
 
29
31
  if (!window.customElements.get(`iam-header`))
@@ -18,5 +18,6 @@ The card component needs to be wrapped with a link or a button, this is required
18
18
  **Class modifiers**
19
19
 
20
20
  - Adding a class of **.card--filter** will implement the filter card design.
21
+ - Adding a class of **.colour-danger** will add a left hand border with the danger colour (See status card). This works with all of the theme
21
22
  - Adding a class of **.border-o** will remove the box-shadow of the card and make some minor sizing adjustments.
22
- - Adding a class like **.colour-warning** will update the colour of the left berder for the filter card. The theme colours will be avialable to use.
23
+ - Adding a class like **.colour-warning** will update the colour of the left berder for the card. The theme colours will be avialable to use.
@@ -8,7 +8,7 @@ class iamCard extends HTMLElement {
8
8
  const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';
9
9
  const loadCSS = `@import "${assetLocation}/css/components/card.css";`;
10
10
 
11
- if(this.querySelector('.fa'))
11
+ if(this.querySelector('[class*="fa-"]'))
12
12
  this.classList.add('card--has-icon');
13
13
 
14
14
  let classList = this.classList.toString();
@@ -103,7 +103,7 @@ class iamCard extends HTMLElement {
103
103
  case "class": {
104
104
  let classList = this.classList.toString();
105
105
 
106
- if(this.querySelector('.icon'))
106
+ if(this.querySelector('[class*="fa-"]'))
107
107
  classList += ' card--has-icon';
108
108
 
109
109
  this.shadowRoot.querySelector('.card').setAttribute('class',`card ${classList}`);
@@ -66,18 +66,21 @@ class iamTable extends HTMLElement {
66
66
  if(this.hasAttribute('data-filterby')){
67
67
 
68
68
  this.form = document.querySelector(`#${this.getAttribute('data-filterby')}`);
69
+ }
70
+ else {
71
+
72
+ this.table.parentNode.insertBefore(this.form, this.table.nextSibling);
73
+ }
69
74
 
70
- // Create a data list if a search input is present
71
- tableModule.createSearchDataList(this.table, this.form);
75
+ // Create a data list if a search input is present
76
+ tableModule.createSearchDataList(this.table, this.form);
72
77
 
73
- if(!this.form.querySelector('[data-page]')){
74
- this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute('data-page')}" data-pagination="true" />`
75
- }
76
- if(!this.form.querySelector('[data-show]')){
77
- this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute('data-show')}" data-show="true" />`
78
- }
78
+ if(!this.form.querySelector('[data-page]')){
79
+ this.form.innerHTML += `<input name="page" type="hidden" value="${this.getAttribute('data-page')}" data-pagination="true" />`
80
+ }
81
+ if(!this.form.querySelector('[data-show]')){
82
+ this.form.innerHTML += `<input name="show" type="hidden" value="${this.getAttribute('data-show')}" data-show="true" />`
79
83
  }
80
-
81
84
 
82
85
  // Event listeners
83
86
  tableModule.addTableEventListeners(this.table);
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  // Modules
3
3
  import * as helpers from '../js/modules/helpers'
4
+ import extendDialogs from '../js/modules/dialogs'
4
5
  import createDataLayer from '../js/modules/data-layer'
5
6
  import nav from '../js/modules/nav'
6
7
  import table from '../js/modules/table'
@@ -16,7 +17,7 @@ const options = {
16
17
  rootMargin: '50px',
17
18
  threshold: 0.1
18
19
  }
19
- const componentExt = ".component.js";
20
+ const componentExt = ".component.min.js";
20
21
 
21
22
  // Load components - Each component will load once the first of its type has been loaded
22
23
  components.forEach((component) => {
@@ -59,6 +60,7 @@ document.addEventListener("DOMContentLoaded", function() {
59
60
  helpers.addBodyClasses(document.body);
60
61
  helpers.addGlobalEvents(document.body);
61
62
  //helpers.checkElements(document.body);
63
+ extendDialogs(document.body);
62
64
 
63
65
  // ANav
64
66
  Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  // Modules
3
3
  import * as helpers from '../js/modules/helpers'
4
+ import extendDialogs from '../js/modules/dialogs'
4
5
  import createDataLayer from '../js/modules/data-layer'
5
6
  import nav from '../js/modules/nav'
6
7
  import * as tableModule from './modules/table'
@@ -22,6 +23,7 @@ document.addEventListener("DOMContentLoaded", function() {
22
23
  helpers.addBodyClasses(document.body);
23
24
  helpers.addGlobalEvents(document.body);
24
25
  //helpers.checkElements(document.body);
26
+ extendDialogs(document.body);
25
27
 
26
28
  // ANav
27
29
  Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
@@ -1,4 +1,10 @@
1
1
  declare module '*.html' {
2
2
  const value: string;
3
3
  export default value
4
- }
4
+ }
5
+
6
+ type WindowWithDataLayer = Window & {
7
+ dataLayer: Record<string, any>[];
8
+ };
9
+
10
+ declare const window: WindowWithDataLayer;