@iamproperty/components 5.3.0-beta6 → 5.4.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 (70) hide show
  1. package/assets/css/components/card.preload.css +1 -0
  2. package/assets/css/components/card.preload.css.map +1 -0
  3. package/assets/css/components/carousel.preload.css +1 -0
  4. package/assets/css/components/carousel.preload.css.map +1 -0
  5. package/assets/css/components/nav.css +1 -1
  6. package/assets/css/components/nav.css.map +1 -1
  7. package/assets/css/components/nav.docs.css +1 -1
  8. package/assets/css/components/nav.docs.css.map +1 -1
  9. package/assets/css/components/nav.global.css +1 -1
  10. package/assets/css/components/nav.global.css.map +1 -1
  11. package/assets/css/components/nav.preload.css +1 -0
  12. package/assets/css/components/nav.preload.css.map +1 -0
  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/components/accordion/accordion.component.min.js +1 -1
  18. package/assets/js/components/actionbar/actionbar.component.min.js +3 -3
  19. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  20. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  21. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  22. package/assets/js/components/card/card.component.min.js +1 -1
  23. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  24. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  25. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  26. package/assets/js/components/header/header.component.min.js +1 -1
  27. package/assets/js/components/nav/nav.component.js +7 -3
  28. package/assets/js/components/nav/nav.component.min.js +6 -4
  29. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  30. package/assets/js/components/notification/notification.component.min.js +1 -1
  31. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  32. package/assets/js/components/search/search.component.min.js +1 -1
  33. package/assets/js/components/search/search.component.min.js.map +1 -1
  34. package/assets/js/components/table/table.component.min.js +1 -1
  35. package/assets/js/components/table/table.component.min.js.map +1 -1
  36. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  37. package/assets/js/dynamic.min.js +3 -3
  38. package/assets/js/dynamic.min.js.map +1 -1
  39. package/assets/js/modules/dialogs.js +1 -7
  40. package/assets/js/modules/helpers.js +8 -0
  41. package/assets/js/scripts.bundle.js +8 -8
  42. package/assets/js/scripts.bundle.js.map +1 -1
  43. package/assets/js/scripts.bundle.min.js +2 -2
  44. package/assets/js/scripts.bundle.min.js.map +1 -1
  45. package/assets/sass/_components.scss +30 -8
  46. package/assets/sass/_corefiles.scss +1 -1
  47. package/assets/sass/components/card.preload.scss +8 -0
  48. package/assets/sass/components/{component.native.scss → carousel.preload.scss} +4 -84
  49. package/assets/sass/components/nav.docs.scss +6 -0
  50. package/assets/sass/components/nav.global.scss +52 -8
  51. package/assets/sass/components/nav.preload.scss +44 -0
  52. package/assets/sass/components/nav.scss +52 -7
  53. package/assets/sass/{components/component.reset.scss → components.reset.scss} +5 -5
  54. package/assets/sass/elements/buttons.scss +4 -2
  55. package/assets/sass/elements/container.scss +1 -1
  56. package/assets/sass/elements/dialog.scss +2 -2
  57. package/assets/sass/foundations/reboot.scss +17 -6
  58. package/assets/sass/foundations/root.scss +18 -0
  59. package/assets/ts/components/nav/nav.component.ts +7 -3
  60. package/assets/ts/modules/dialogs.ts +2 -9
  61. package/assets/ts/modules/helpers.ts +11 -0
  62. package/dist/components.es.js +17 -11
  63. package/dist/components.umd.js +18 -16
  64. package/package.json +1 -1
  65. package/src/components/Card/Card.vue +1 -1
  66. package/src/components/Table/Table.vue +2 -2
  67. package/assets/css/components/component.native.css +0 -1
  68. package/assets/css/components/component.native.css.map +0 -1
  69. package/assets/css/components/component.reset.css +0 -1
  70. package/assets/css/components/component.reset.css.map +0 -1
@@ -1,9 +1,31 @@
1
- @use "components/header.scss";
2
- @use "components/testimonial.scss";
3
- @use "components/carousel.scss";
4
- @use "components/property-searchbar.scss";
5
- @use "components/charts.scss";
6
- @use "components/timeline.scss";
7
- @use "components/snapshot.scss";
8
- @use "components/stepper.scss";
1
+ @use 'sass:math';
2
+ @use "_func" as *;
3
+
4
+ @use 'components/nav.preload';
5
+ @use 'components/card.preload';
6
+ @use 'components/carousel.preload';
7
+
8
+ // #region Undefined web components
9
+ main > :is(*):not(:defined):not(iam-carousel) {
10
+
11
+ padding: var(--container-padding);
12
+ padding-top: 1rem;
13
+ }
14
+
15
+ @include media-breakpoint-up(md) {
16
+
17
+ main > :is(*):not(:defined):not(iam-carousel) {
18
+ max-width: 100%!important;
19
+ padding-inline: calc(50% - #{rem(math.div(1112,2))});
20
+ }
21
+
22
+ iam-header:not(:defined) {
23
+ min-height: rem(470);
24
+ }
25
+ }
26
+
27
+ // Search
28
+ iam-search input:not(.is-invalid):not(:invalid) {
29
+ background: none!important;
30
+ }
9
31
 
@@ -26,7 +26,7 @@
26
26
  }
27
27
 
28
28
  // Deal with preloaded state of native components
29
- @import "components/component.native.scss";
29
+ @import "_components.scss";
30
30
  }
31
31
 
32
32
  @include layer('templates') {
@@ -0,0 +1,8 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ iam-card:not(:defined) {
4
+ box-shadow: var(--card-box-shadow);
5
+ border-radius: var(--card-border-radius);
6
+ padding: var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);
7
+ }
8
+
@@ -1,80 +1,5 @@
1
- @use 'sass:math';
2
- @use "../_func" as *;
1
+ @use "../_func.scss" as *;
3
2
 
4
- iam-nav {
5
- display: block;
6
- padding: var(--container-padding);
7
- padding-top: 1.5rem;
8
- padding-bottom: 1.5rem;
9
- max-width: 80rem;
10
- margin-inline: auto;
11
-
12
- .brand {
13
- font-size: rem(48);
14
- height: rem(48);
15
- padding: 0;
16
- text-decoration: none;
17
- min-width: min(var(--svg-width), 14rem);
18
- }
19
- }
20
-
21
- @media (scripting: enabled) {
22
-
23
- iam-nav:not(:defined) {
24
-
25
- > *:not([slot="logo"]) {
26
- display: none;
27
- }
28
-
29
- &:not(:target) > *:not(.brand) {
30
- display: none;
31
- }
32
-
33
- @include media-breakpoint-up(md) {
34
- &:has([slot="secondary"]){
35
- padding-top: rem(64);
36
- }
37
- }
38
- }
39
- }
40
-
41
-
42
- // #region Undefined web components
43
- :is(*):not(:defined):not(iam-nav):not(iam-pagination):not(iam-carousel) {
44
- display: block;
45
- padding: rem(24);
46
- margin-bottom: rem(24);
47
- border-radius: rem(8);
48
- margin-left: auto;
49
- margin-right: auto;
50
- max-width: 80rem;
51
- }
52
-
53
- main > :is(*):not(:defined):not(iam-carousel) {
54
-
55
- padding: var(--container-padding);
56
- padding-top: 1rem;
57
- }
58
-
59
- @include media-breakpoint-up(md) {
60
-
61
- main > :is(*):not(:defined):not(iam-carousel) {
62
- max-width: 100%!important;
63
- padding-inline: calc(50% - #{rem(math.div(1112,2))});
64
- }
65
-
66
- iam-header:not(:defined) {
67
- min-height: rem(470);
68
- }
69
- }
70
-
71
- :is(iam-notification,iam-card):not(:defined) {
72
- box-shadow: var(--card-box-shadow);
73
- border-radius: var(--card-border-radius);
74
- padding: var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding);
75
- }
76
-
77
- // carousel
78
3
  iam-carousel {
79
4
 
80
5
  margin-inline: calc(var(--container-padding-x) * -1);
@@ -110,18 +35,12 @@ iam-carousel {
110
35
  }
111
36
  }
112
37
 
113
- // Search
114
- iam-search input:not(.is-invalid):not(:invalid) {
115
- background: none!important;
116
- }
117
-
118
-
119
-
120
38
  // For extra file
121
39
  iam-carousel:defined {
122
40
 
123
41
  overflow: visible;
124
42
  }
43
+
125
44
  iam-carousel > .row .col {
126
45
  scroll-snap-align: start;
127
46
  scroll-margin-left: calc(var(--container-padding-x) - calc(0.5 * $grid-gutter-width));
@@ -159,4 +78,5 @@ iam-carousel > .row .col {
159
78
  scroll-snap-align: start;
160
79
 
161
80
  }
162
- }
81
+ }
82
+
@@ -1,5 +1,11 @@
1
1
  @use "../_func" as *;
2
2
 
3
+
4
+ :host {
5
+ background: red;
6
+ }
7
+
8
+
3
9
  @media screen and (max-width: 62em) {
4
10
  :host {
5
11
 
@@ -95,7 +95,7 @@ iam-nav {
95
95
  padding-top: rem(24);
96
96
  padding-bottom: rem(24);
97
97
  width: 100%;
98
- max-width: rem(1280);
98
+ //max-width: rem(1280);
99
99
 
100
100
  .brand {
101
101
  font-size: rem(48);
@@ -146,6 +146,14 @@ iam-nav details {
146
146
 
147
147
  &[open] > summary {
148
148
 
149
+ text-decoration: underline;
150
+ text-underline-offset: 0.3em;
151
+ text-decoration-thickness: 2px;
152
+ text-decoration-color: var(--colour-success);
153
+ }
154
+
155
+ &:has([aria-current="page"]:not([data-duplicate])) > summary {
156
+
149
157
  text-decoration: underline;
150
158
  text-underline-offset: 0.3em;
151
159
  text-decoration-thickness: 2px;
@@ -400,7 +408,7 @@ iam-nav details {
400
408
  top: 100%;
401
409
  left: 0;
402
410
  width: 100%;
403
- padding-inline: calc(50% - #{rem(556)});
411
+ padding-inline: max(var(--padding-inline), calc((100% - var(--container-max-width)) / 2 + var(--padding-inline)))!important;
404
412
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
405
413
 
406
414
 
@@ -422,13 +430,18 @@ iam-nav details {
422
430
  @include light-mode() {
423
431
  background: #EEEEEE;
424
432
  }
425
- a {
426
- display: inline-block;
427
- margin-right: 2rem;
433
+
434
+ > a {
435
+ display: inline-block!important;
436
+ margin-right: 2rem!important;
428
437
 
429
438
  &:first-child {
430
439
  margin-right: 0;
431
440
  }
441
+
442
+ &:after {
443
+ display: none!important;
444
+ }
432
445
  }
433
446
 
434
447
  a:has(iam-card) {
@@ -484,7 +497,7 @@ iam-nav details {
484
497
  left: 0;
485
498
  width: 100%;
486
499
  color: var(--colour-white);
487
- padding-inline: calc(50% - #{rem(556)});
500
+ padding-inline: max(var(--padding-inline), calc((100% - var(--container-max-width)) / 2 + var(--padding-inline)))!important;
488
501
  font-size: rem(32);
489
502
  font-weight: bold;
490
503
  line-height: rem(88);
@@ -564,7 +577,33 @@ iam-nav details {
564
577
  margin-left: rem(32);
565
578
  }
566
579
  }
580
+
581
+ nav:has(iam-nav.open){
582
+ min-height: 100vh!important;
583
+ max-height: 100vh;
584
+ overflow: auto;
585
+
586
+ margin-bottom: calc((100vh - var(--nav-height)) * -1);
587
+ }
588
+
589
+ html:has(iam-nav.open:not(.demo-open)) {
590
+ overflow: hidden;
591
+ }
592
+ }
593
+
594
+ // 4 columns on large screens
595
+ @media screen and (min-width: 80em) { // 1280
596
+ iam-nav.nav--large *:not(.nav--menu) > details {
597
+
598
+ &[open] > div:not(:has(details)) {
599
+
600
+ columns: 4;
601
+ column-gap: rem(110);
602
+ }
603
+ }
567
604
  }
605
+
606
+
568
607
  // #endregion
569
608
 
570
609
  // #region Search
@@ -614,7 +653,7 @@ iam-nav > .dialog__wrapper {
614
653
  }
615
654
  }
616
655
 
617
- @media screen and (max-width: 64em) {
656
+ @media screen and (max-width: 62em) {
618
657
 
619
658
 
620
659
  iam-nav > .dialog__wrapper {
@@ -715,7 +754,12 @@ iam-nav .nav--menu {
715
754
  display: block !important;
716
755
  line-height: 1.25rem !important;
717
756
  padding: 1.5rem 0 !important;
718
- margin: 0 0 rem(36) 0!important;
757
+ margin: 0!important;
758
+
759
+ &:not(.mb-0):not(:has(+a)){
760
+ margin: 0 0 rem(36) 0!important;
761
+ }
762
+
719
763
  flex-shrink: 0;
720
764
  font-size: 1rem !important;
721
765
  font-weight: normal !important;
@@ -0,0 +1,44 @@
1
+ @use "sass:math";
2
+ @use "../_func" as *;
3
+
4
+ iam-nav {
5
+
6
+ display: block;
7
+ padding: var(--container-padding);
8
+ padding-top: 1.5rem;
9
+ padding-bottom: 1.5rem;
10
+ max-width: 100%;
11
+ margin-inline: auto;
12
+
13
+ .brand {
14
+ font-size: rem(48);
15
+ height: rem(48);
16
+ padding: 0;
17
+ text-decoration: none;
18
+ min-width: min(var(--svg-width), 14rem);
19
+ }
20
+
21
+ @include media-breakpoint-up(md) {
22
+ padding-inline: max(var(--padding-inline), calc((100% - var(--container-max-width)) / 2 + var(--padding-inline)))!important;
23
+ }
24
+ }
25
+
26
+ @media (scripting: enabled) {
27
+
28
+ iam-nav:not(:defined) {
29
+
30
+ > *:not([slot="logo"]) {
31
+ display: none;
32
+ }
33
+
34
+ &:not(:target) > *:not(.brand) {
35
+ display: none;
36
+ }
37
+
38
+ @include media-breakpoint-up(md) {
39
+ &:has([slot="secondary"]){
40
+ padding-top: rem(64);
41
+ }
42
+ }
43
+ }
44
+ }
@@ -342,12 +342,14 @@
342
342
  @include media-breakpoint-up(md) {
343
343
 
344
344
  :host {
345
- max-width: 100%!important;
346
- padding: 0!important;
345
+ //max-width: 100%!important;
346
+ padding-block: 0!important;
347
347
  }
348
348
 
349
349
  :host > .container {
350
350
  padding-block: rem(24)!important;
351
+ padding-inline: 0!important;
352
+ max-width: 100%;
351
353
  display: flex;
352
354
  flex-wrap: nowrap;
353
355
  align-items: center;
@@ -444,7 +446,7 @@
444
446
  margin-left: rem(32)!important;
445
447
  }
446
448
 
447
- ::slotted(button) {
449
+ ::slotted(.btn-primary) {
448
450
 
449
451
  margin-left: rem(48)!important;
450
452
  }
@@ -547,6 +549,7 @@
547
549
 
548
550
  // #region Menus
549
551
  ::slotted(.nav--menu) {
552
+ pointer-events: all;
550
553
  overscroll-behavior: contain;
551
554
  width: calc(#{rem(375)} - var(--scrollbar-width));
552
555
  background-color: var(--colour-canvas-2);
@@ -609,9 +612,6 @@
609
612
  }
610
613
  }
611
614
 
612
- &:before {
613
- content: attr(data-title);
614
- }
615
615
 
616
616
  @include media-breakpoint-up(sm) {
617
617
 
@@ -621,10 +621,22 @@
621
621
  @include media-breakpoint-up(md) {
622
622
 
623
623
  height: calc(100vh - var(--nav-height));
624
- top: 100%;
624
+ top: var(--nav-height);
625
625
  }
626
626
  }
627
627
 
628
+ slot[name="menus"]{
629
+
630
+ position: absolute;
631
+ top: 0;
632
+ right: 0;
633
+ display: block;
634
+ height: 100vh;
635
+ overflow: hidden;
636
+ pointer-events: none;
637
+ width: calc(#{rem(375)} - var(--scrollbar-width));
638
+ }
639
+
628
640
  ::slotted(.nav--menu[data-open-title]){
629
641
 
630
642
  &:before {
@@ -668,3 +680,36 @@
668
680
  }
669
681
  }
670
682
  // #endregion
683
+
684
+
685
+ // #region Compact button
686
+ @media screen and (min-width: 62em) {
687
+ :host(.nav--btn-compact:not(.nav--large)) {
688
+ .btn-menu .btn {
689
+ padding: 0.5rem!important;
690
+
691
+ i {
692
+ margin-right: 0!important;
693
+ }
694
+ span {
695
+ display: none;
696
+ }
697
+ }
698
+ }
699
+ }
700
+
701
+ @media screen and (min-width: 62em) and (max-width: 90em) {
702
+ :host(.nav--btn-compact.nav--large) {
703
+ .btn-menu .btn {
704
+ padding: 0.5rem!important;
705
+
706
+ i {
707
+ margin-right: 0!important;
708
+ }
709
+ span {
710
+ display: none;
711
+ }
712
+ }
713
+ }
714
+ }
715
+ // #endregion
@@ -1,10 +1,10 @@
1
1
  $darkModeLocal: 'false'!default;
2
2
 
3
- @use "../_func.scss" as * with (
3
+ @use "_func.scss" as * with (
4
4
  $darkMode: $darkModeLocal
5
5
  );
6
6
 
7
- @use "../foundations/root.scss" with (
7
+ @use "foundations/root.scss" with (
8
8
  $root: ":is(iam-card,iam-nav,iam-table,.iamkey)" // copied directory from iamkey repo
9
9
  );
10
10
 
@@ -15,7 +15,7 @@ a:has(iam-card) {
15
15
 
16
16
  :is(iam-card,iam-nav, iam-table, .iamkey) {
17
17
 
18
- @import "../foundations/reboot.scss";
18
+ @import "foundations/reboot.scss";
19
19
 
20
20
  @include var(font-family,--font-body);
21
21
  @include var(color,--colour-body);
@@ -23,7 +23,7 @@ a:has(iam-card) {
23
23
  line-height: 1.2;
24
24
  min-height: 100%;
25
25
 
26
- @import "../_elements.scss";
26
+ @import "_elements.scss";
27
27
  }
28
28
 
29
29
  :is(iam-table) {
@@ -34,7 +34,7 @@ a:has(iam-card) {
34
34
 
35
35
 
36
36
  :is(iam-card,iam-nav, iam-table, .iamkey) {
37
- @import "../_utilities.scss";
37
+ @import "_utilities.scss";
38
38
  }
39
39
 
40
40
  body.js-enabled .js-hide {
@@ -133,12 +133,14 @@ a:is(:hover, :focus, .hover, :active, .active):not([disabled]) .btn-secondary,
133
133
  // #region button with icon
134
134
  .btn {
135
135
  &[class*="fa-"]:before {
136
-
137
136
  font-family: "Font Awesome 6 Pro";
138
- margin-right: 1rem;
139
137
  line-height: 1em;
140
138
  }
141
139
 
140
+ &:not(.btn-compact):before{
141
+ margin-right: 1rem;
142
+ }
143
+
142
144
  i[class*="fa-"]{
143
145
 
144
146
  font-family: "Font Awesome 6 Pro";
@@ -12,7 +12,7 @@
12
12
  width: 100%;
13
13
 
14
14
  &:not(.container-fluid) {
15
- max-width: rem(1280);
15
+ max-width: var(--container-max-width);
16
16
  }
17
17
 
18
18
  .container:not(.container-xs-breakout) {
@@ -178,7 +178,7 @@ dialog::backdrop {
178
178
  // #endregion
179
179
 
180
180
  // #region Transactional
181
- *:not(.dialog__wrapper) > dialog[open]:not(.dialog--multi):is(:has(:is(button,a):last-child),:has(form:last-child > :is(button,a):last-child)):not(:has(.youtube-embed)) {
181
+ *:not(.dialog__wrapper) > dialog[open]:is(.dialog--transactional, .dialog--acknowledgement) {
182
182
 
183
183
  text-align: center;
184
184
 
@@ -551,7 +551,7 @@ dialog::backdrop {
551
551
  transform: rotate(90deg);
552
552
  }
553
553
 
554
- &[aria-expanded]:after {
554
+ &[aria-expanded]:not([data-number]):after {
555
555
 
556
556
  transform: rotate(270deg);
557
557
  }
@@ -25,10 +25,18 @@ html {
25
25
  @media (min-width: #{em(1280)}) {
26
26
  font-size: 100%;
27
27
  font-size: vw(1280);
28
+
29
+ &:has(.nav--large) {
30
+ font-size: 100%;
31
+ }
28
32
  }
29
33
 
30
34
  @media (min-width: #{em(1440)}) {
31
35
  font-size: 112.5%;
36
+
37
+ &:has(.nav--large) {
38
+ font-size: 100%;
39
+ }
32
40
  }
33
41
 
34
42
  @media (min-width: #{em(1680)}) {
@@ -38,6 +46,15 @@ html {
38
46
  @media print {
39
47
  font-size: 16px;
40
48
  }
49
+
50
+ @media screen and (min-width: 120em) { // 1920
51
+
52
+ &:has(.nav--large) {
53
+
54
+ font-size: vw(1920);
55
+ }
56
+ }
57
+
41
58
  }
42
59
  }
43
60
 
@@ -143,15 +160,9 @@ details {
143
160
  // Main grid setup to avoid having to use continaer divs
144
161
 
145
162
  *:not(.row) > main {
146
- --padding-inline: 1.5rem;
147
- --container-max-width: #{rem(1280)};
148
163
  --full-width-start: 0;
149
164
 
150
- @include media-breakpoint-up(sm) {
151
- --padding-inline: 2.5rem;
152
- }
153
165
  @include media-breakpoint-up(md) {
154
- --padding-inline: 5.25rem;
155
166
  --full-width-start: calc((100% - var(--container-max-width)) / 2);
156
167
  }
157
168
 
@@ -44,6 +44,24 @@ $root: ':root'!default;
44
44
  --border-width: 1px;
45
45
  --border-style: solid;
46
46
  --border-color: var(--colour-border);
47
+
48
+ --container-max-width: #{rem(1280)};
49
+ --padding-inline: 1.5rem;
50
+
51
+ @include media-breakpoint-up(sm) {
52
+ --padding-inline: 2.5rem;
53
+ }
54
+ @include media-breakpoint-up(md) {
55
+ --padding-inline: 5.25rem;
56
+
57
+ &:has(.nav--large) {
58
+ --container-max-width: #{rem(1920)}!important;
59
+ --padding-inline: #{rem(56)}!important;
60
+ --container-padding-x-md: #{rem(56)}!important;
61
+ --container-padding-md: var(--container-padding-top) var(--container-padding-x-md) var(--container-padding-bottom) var(--container-padding-x-md);
62
+ --container-padding: var(--container-padding-md);
63
+ }
64
+ }
47
65
  }
48
66
 
49
67
  .reset-colours {
@@ -24,6 +24,8 @@ class iamNav extends HTMLElement {
24
24
  @import "${coreCSS}";
25
25
  ${loadCSS}
26
26
  </style>
27
+ <style class="doc-styles">
28
+ </style>
27
29
  <link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
28
30
  <div class="container">
29
31
  <slot name="logo"></slot>
@@ -62,7 +64,7 @@ class iamNav extends HTMLElement {
62
64
 
63
65
  // Load external CSS if needed
64
66
  if(this.hasAttribute('data-css'))
65
- this.shadowRoot.querySelector('.styles').insertAdjacentHTML('beforeend', `@import "${this.getAttribute('data-css')}";`);
67
+ this.shadowRoot.querySelector('.doc-styles').insertAdjacentHTML('beforeend', `@import "${this.getAttribute('data-css')}";`);
66
68
 
67
69
  const menuButton = this.shadowRoot.querySelector('.btn-menu');
68
70
  const menu = this.shadowRoot.querySelector('.menu');
@@ -76,8 +78,10 @@ class iamNav extends HTMLElement {
76
78
 
77
79
  switch(tagname){
78
80
  case "BUTTON":
79
- element.setAttribute('slot','actions');
80
- menu.classList.add('has-actions')
81
+ if(!element.hasAttribute('slot')){
82
+ element.setAttribute('slot','actions');
83
+ menu.classList.add('has-actions')
84
+ }
81
85
  break;
82
86
  }
83
87
 
@@ -105,7 +105,7 @@ const extendDialogs = (body) => {
105
105
  dialog = dialog.parentNode.closest('dialog[open]');
106
106
 
107
107
  // Dont allow the backdrop to be clicked when transactional
108
- if(!dialog.querySelector(':scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child') || dialog.classList.contains('dialog--multi')){
108
+ if(!dialog.classList.contains('dialog--transactional') && !dialog.classList.contains('dialog--acknowledgement')){
109
109
 
110
110
  const dialogDimensions = dialog.getBoundingClientRect()
111
111
 
@@ -213,14 +213,7 @@ const extendDialogs = (body) => {
213
213
  return null
214
214
  }
215
215
 
216
- export const createDialog = (dialog) => {
217
-
218
- // Prevent the user from escaping the model when transactional
219
- if(dialog.querySelector(':scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child') && !dialog.classList.contains('dialog--multi')) {
220
- dialog.addEventListener("cancel", (e) => {
221
- e.preventDefault();
222
- });
223
- }
216
+ export const createDialog = (dialog) => {
224
217
 
225
218
  // Create the video embed
226
219
  let videoButton = dialog.querySelector('.youtube-embed a');
@@ -80,6 +80,17 @@ export const addGlobalEvents = (body) => {
80
80
 
81
81
  });
82
82
 
83
+ document.addEventListener("keydown", (e) => {
84
+
85
+ if(e.key === "Escape") {
86
+
87
+ if(document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')){
88
+ e.preventDefault();
89
+ e.stopPropagation();
90
+ }
91
+ }
92
+ });
93
+
83
94
  return null
84
95
  }
85
96