@iamproperty/components 3.9.0-beta-1 → 4.0.1

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 (101) hide show
  1. package/assets/css/components/actionbar-global.css +1 -1
  2. package/assets/css/components/actionbar-global.css.map +1 -1
  3. package/assets/css/components/actionbar.css +1 -1
  4. package/assets/css/components/actionbar.css.map +1 -1
  5. package/assets/css/components/admin-panel.css +1 -1
  6. package/assets/css/components/admin-panel.css.map +1 -1
  7. package/assets/css/components/card-global.css +1 -1
  8. package/assets/css/components/card-global.css.map +1 -1
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/charts.css.map +1 -1
  12. package/assets/css/components/collapsible-side.css +1 -0
  13. package/assets/css/components/collapsible-side.css.map +1 -0
  14. package/assets/css/components/dialog.css +1 -1
  15. package/assets/css/components/dialog.css.map +1 -1
  16. package/assets/css/components/fileupload.css.map +1 -1
  17. package/assets/css/components/forms.css +1 -1
  18. package/assets/css/components/forms.css.map +1 -1
  19. package/assets/css/components/header.css.map +1 -1
  20. package/assets/css/components/lists.css.map +1 -1
  21. package/assets/css/components/nav-global.css +1 -1
  22. package/assets/css/components/nav-global.css.map +1 -1
  23. package/assets/css/components/nav.css.map +1 -1
  24. package/assets/css/components/nav.old.css.map +1 -1
  25. package/assets/css/components/notification.css.map +1 -1
  26. package/assets/css/components/pagination.css.map +1 -1
  27. package/assets/css/components/property-searchbar.css.map +1 -1
  28. package/assets/css/components/table.css +1 -1
  29. package/assets/css/components/table.css.map +1 -1
  30. package/assets/css/core.min.css +1 -1
  31. package/assets/css/core.min.css.map +1 -1
  32. package/assets/css/style.min.css +1 -1
  33. package/assets/css/style.min.css.map +1 -1
  34. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  35. package/assets/js/components/actionbar/actionbar.component.js +45 -0
  36. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  37. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  38. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  39. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  40. package/assets/js/components/card/card.component.js +9 -1
  41. package/assets/js/components/card/card.component.min.js +7 -5
  42. package/assets/js/components/card/card.component.min.js.map +1 -1
  43. package/assets/js/components/collapsible-side/collapsible-side.component.js +96 -0
  44. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +27 -0
  45. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -0
  46. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  47. package/assets/js/components/header/header.component.min.js +1 -1
  48. package/assets/js/components/nav/nav.component.min.js +1 -1
  49. package/assets/js/components/notification/notification.component.min.js +1 -1
  50. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  51. package/assets/js/components/table/table.component.js +3 -0
  52. package/assets/js/components/table/table.component.min.js +10 -10
  53. package/assets/js/components/table/table.component.min.js.map +1 -1
  54. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  55. package/assets/js/dynamic.min.js +4 -4
  56. package/assets/js/dynamic.min.js.map +1 -1
  57. package/assets/js/modules/applied-filters.js +6 -7
  58. package/assets/js/modules/dialogs.js +32 -4
  59. package/assets/js/modules/helpers.js +0 -13
  60. package/assets/js/modules/table.js +68 -13
  61. package/assets/js/scripts.bundle.js +18 -16
  62. package/assets/js/scripts.bundle.js.map +1 -1
  63. package/assets/js/scripts.bundle.min.js +2 -2
  64. package/assets/js/scripts.bundle.min.js.map +1 -1
  65. package/assets/sass/_corefiles.scss +0 -1
  66. package/assets/sass/_func.scss +1 -0
  67. package/assets/sass/_functions/mixins.scss +22 -0
  68. package/assets/sass/components/actionbar-global.scss +69 -7
  69. package/assets/sass/components/actionbar.scss +20 -8
  70. package/assets/sass/components/admin-panel.scss +47 -2
  71. package/assets/sass/components/card-global.scss +53 -1
  72. package/assets/sass/components/card.scss +14 -12
  73. package/assets/sass/components/charts.scss +1 -1
  74. package/assets/sass/components/collapsible-side.scss +327 -0
  75. package/assets/sass/components/dialog.scss +62 -61
  76. package/assets/sass/components/fileupload.scss +1 -1
  77. package/assets/sass/components/forms.scss +112 -102
  78. package/assets/sass/components/nav-global.scss +26 -9
  79. package/assets/sass/components/nav.scss +9 -10
  80. package/assets/sass/components/notification.scss +1 -1
  81. package/assets/sass/components/table.scss +85 -4
  82. package/assets/sass/core.scss +1 -0
  83. package/assets/sass/error.scss +2 -1
  84. package/assets/sass/foundations/root.scss +3 -3
  85. package/assets/sass/main.scss +4 -3
  86. package/assets/ts/components/actionbar/actionbar.component.ts +67 -2
  87. package/assets/ts/components/card/card.component.ts +12 -2
  88. package/assets/ts/components/collapsible-side/README.md +38 -0
  89. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +134 -0
  90. package/assets/ts/components/table/table.component.ts +4 -0
  91. package/assets/ts/modules/applied-filters.ts +8 -10
  92. package/assets/ts/modules/dialogs.ts +42 -5
  93. package/assets/ts/modules/helpers.ts +0 -17
  94. package/assets/ts/modules/table.ts +82 -13
  95. package/dist/components.es.js +1270 -686
  96. package/dist/components.umd.js +132 -36
  97. package/dist/style.css +1 -1
  98. package/package.json +1 -1
  99. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +20 -0
  100. package/src/components/CollapsibleSideMenu/README.md +23 -0
  101. package/src/index.js +8 -0
@@ -24,13 +24,11 @@ dialog[open] {
24
24
  display: flex;
25
25
  flex-direction: column;
26
26
 
27
- > *:last-child,
28
- > .mh-lg > *:last-child{
27
+ > *:last-child {
29
28
  margin-bottom: 0;
30
29
  }
31
30
 
32
- > :is(p):last-child,
33
- > .mh-lg > :is(p):last-child {
31
+ > :is(p):last-child {
34
32
  padding-bottom: 0;
35
33
  }
36
34
  }
@@ -161,13 +159,13 @@ dialog[open] {
161
159
  padding-right: calc(var(--dialog-padding) - 10px);
162
160
  margin-right: calc((var(--dialog-padding) * -1) + 10px);
163
161
  margin-bottom: calc(var(--dialog-padding) * -1);
164
- padding-bottom: var(--dialog-padding);
165
- //max-height: none!important;
166
162
 
167
- &:before {
168
- top: 100%;
169
- height: var(--dialog-padding);
170
- margin-bottom: -2rem;
163
+ > *:last-child {
164
+ margin-bottom: 2rem!important;
165
+ }
166
+
167
+ > p:last-child {
168
+ padding-bottom: 0!important;
171
169
  }
172
170
  }
173
171
  }
@@ -279,10 +277,11 @@ dialog::backdrop {
279
277
  top: calc(var(--dialog-padding) * 4);
280
278
  }
281
279
 
280
+ @supports selector(:has(*)) {
282
281
  fieldset:not(.active) {
283
282
  display: none;
284
283
  }
285
-
284
+ }
286
285
  &:not(:has(fieldset.active)) fieldset:first-of-type{
287
286
  display: flex;
288
287
  flex-direction: column;
@@ -374,7 +373,7 @@ dialog::backdrop {
374
373
  }
375
374
  }
376
375
 
377
- @media screen and (prefers-color-scheme: dark) {
376
+ @include dark-mode() {
378
377
 
379
378
  button {
380
379
 
@@ -440,36 +439,55 @@ dialog::backdrop {
440
439
  margin-top: auto;
441
440
  text-align: right;
442
441
  }
443
- > form {
444
- display: contents
445
- }
446
- fieldset {
447
- display: flex;
448
- flex-direction: column;
449
- flex-grow: 1;
450
- position: relative;
442
+
443
+
444
+ @supports not selector(:has(*)) {
445
+ > form {
446
+ overflow: auto;
451
447
 
452
- overflow: auto;
453
- margin-bottom: calc(var(--dialog-padding) * -1);
454
- padding-bottom: var(--dialog-padding);
448
+ button:not([type="submit"]){
449
+ display: none;
450
+ }
451
+ }
452
+ }
453
+ @supports selector(:has(*)) {
454
+ > form {
455
+ display: contents
456
+ }
457
+ fieldset {
458
+ display: flex;
459
+ flex-direction: column;
460
+ flex-grow: 1;
461
+ position: relative;
462
+
463
+ overflow: auto;
464
+ margin-bottom: calc(var(--dialog-padding) * -1);
465
+ padding-right: calc(var(--dialog-padding) - 10px);
466
+ margin-right: calc((var(--dialog-padding) * -1) + 10px);
467
+
468
+ > :last-child {
469
+ margin-bottom: var(--dialog-padding)!important;
470
+ }
455
471
 
456
-
457
- padding-right: calc(var(--dialog-padding) - 10px);
458
- margin-right: calc((var(--dialog-padding) * -1) + 10px);
472
+ > p:last-child {
473
+ padding-bottom: 0!important;
474
+ margin-bottom: var(--dialog-padding)!important;
475
+ }
459
476
 
460
- &::before {
461
- content: "";
462
- top: 100%;
463
- bottom: 0;
464
- left: 0;
465
- right: 0;
466
- height: var(--dialog-padding);
467
- min-height: var(--dialog-padding);
468
- position: sticky;
469
- display: block;
470
- background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
471
- z-index: 2;
472
- margin-bottom: calc(var(--dialog-padding) * -1);;
477
+ &::before {
478
+ content: "";
479
+ top: 100%;
480
+ bottom: 0;
481
+ left: 0;
482
+ right: 0;
483
+ height: var(--dialog-padding);
484
+ min-height: var(--dialog-padding);
485
+ position: sticky;
486
+ display: block;
487
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
488
+ z-index: 2;
489
+ margin-bottom: calc(var(--dialog-padding) * -1);;
490
+ }
473
491
  }
474
492
  }
475
493
  }
@@ -561,36 +579,19 @@ dialog::backdrop {
561
579
  width: rem(360);
562
580
  }
563
581
 
564
-
565
582
  &.dialog--list {
566
583
 
567
584
  width: fit-content!important;
585
+
586
+ @include media-breakpoint-up(sm) {
587
+ width: max-content!important;
588
+ }
589
+
568
590
  min-width: rem(140)!important;
569
591
  max-width: rem(280)!important;
570
592
  padding: rem(16);
571
593
  margin: 0;
572
594
 
573
- .btn-action {
574
- border: none;
575
- padding: 0;
576
- margin: 0;
577
- padding-block: rem(6);
578
- line-height: rem(20);
579
- background: none;
580
- white-space: inherit;
581
- max-width: 100%;
582
- min-width: 100%;
583
-
584
- &:before {
585
- min-width: rem(20);
586
- display: inline-block;
587
- }
588
-
589
- &::after {
590
- float: right;
591
- }
592
- }
593
-
594
595
  hr {
595
596
  height: 2px;
596
597
  background: var(--colour-border);
@@ -53,7 +53,7 @@
53
53
 
54
54
 
55
55
 
56
- @media screen and (prefers-color-scheme: dark) {
56
+ @include dark-mode() {
57
57
 
58
58
  background: var(--colour-canvas-2);
59
59
  border-color: var(--colour-canvas-2);
@@ -16,7 +16,7 @@ label {
16
16
  // #endregion
17
17
 
18
18
  // #region input field
19
- :is(input,textarea,output,select) {
19
+ :is(input:not([type="checkbox"]):not([type="radio"]),textarea,output,select) {
20
20
  display: block;
21
21
  width: 100%;
22
22
  max-width: $content-max-width;
@@ -108,7 +108,7 @@ div:has(> label:first-child):has(> input) {
108
108
  text-align: center;
109
109
  }
110
110
 
111
- input, output, .prefix, .suffix {
111
+ input:not([type="checkbox"]):not([type="radio"]), output, .prefix, .suffix {
112
112
  margin-bottom: 0;
113
113
  }
114
114
 
@@ -116,12 +116,12 @@ div:has(> label:first-child):has(> input) {
116
116
  flex-wrap: wrap;
117
117
  align-items: center;
118
118
 
119
- > *:not(input):not(output):not(.prefix):not(.suffix) {
119
+ > *:not(input:not([type="checkbox"]):not([type="radio"])):not(output):not(.prefix):not(.suffix) {
120
120
  flex-shrink: 0;
121
121
  width: 100%;
122
122
  }
123
123
 
124
- :is(input,textarea,output) {
124
+ :is(input:not([type="checkbox"]):not([type="radio"]),textarea,output) {
125
125
  flex-shrink: 1;
126
126
  flex-grow: 1;
127
127
  width: 0;
@@ -133,9 +133,9 @@ div:has(> label:first-child):has(> input) {
133
133
  }
134
134
 
135
135
  input[type="color"]{
136
- width: 3rem;
137
- flex-shrink: 0;
138
- flex-grow: 0;
136
+ width: 3rem!important;
137
+ flex-shrink: 0!important;
138
+ flex-grow: 0!important;
139
139
  border-start-end-radius: 0;
140
140
  border-end-end-radius: 0;
141
141
  padding: 0;
@@ -156,9 +156,10 @@ div:has(> label:first-child):has(> input) {
156
156
  }
157
157
 
158
158
  output {
159
- border-left: none;
160
- border-end-start-radius: 0;
161
- border-start-start-radius: 0;
159
+ border-left: none!important;
160
+ border-end-start-radius: 0!important;
161
+ border-start-start-radius: 0!important;
162
+ margin: 0!important;
162
163
  }
163
164
  }
164
165
 
@@ -192,111 +193,117 @@ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input-
192
193
 
193
194
  // #region prefix
194
195
  :is(.prefix, .suffix) {
195
- display: inline-block;
196
- width: auto;
197
- padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-block, #{rem(16)});
198
- font-size: var(--input-fs, #{rem(16)});
199
- line-height: var(--input-lh, #{rem(20)});
200
- color: var(--colour-body);
201
- background-color: var(--colour-primary-theme);
202
- border: 2px solid var(--colour-primary);
203
- color: var(--colour-white);
204
- margin-bottom: 1rem;
205
- border-end-start-radius: rem(8);
206
- border-start-start-radius: rem(8);
207
- min-width: calc(#{rem(20 + 12 + 12)} + 4px);
208
- overflow: hidden;
209
- white-space: nowrap;
210
- text-align: center;
211
- text-overflow: ellipsis;
212
- position: relative;
213
-
214
- min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
215
- max-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
216
-
196
+ display: none;
197
+ }
198
+ @supports selector(:has(*)) {
217
199
 
218
- &:after {
200
+ :is(.prefix, .suffix) {
219
201
  display: inline-block;
220
- max-width: rem(20);
221
- }
202
+ width: auto;
203
+ padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-block, #{rem(16)});
204
+ font-size: var(--input-fs, #{rem(16)});
205
+ line-height: var(--input-lh, #{rem(20)});
206
+ color: var(--colour-body);
207
+ background-color: var(--colour-primary-theme);
208
+ border: 2px solid var(--colour-primary);
209
+ color: var(--colour-white);
210
+ margin-bottom: 1rem;
211
+ border-end-start-radius: rem(8);
212
+ border-start-start-radius: rem(8);
213
+ min-width: calc(#{rem(20 + 12 + 12)} + 4px);
214
+ overflow: hidden;
215
+ white-space: nowrap;
216
+ text-align: center;
217
+ text-overflow: ellipsis;
218
+ position: relative;
219
+
220
+ min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
221
+ max-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
222
222
 
223
- &[class*="fa-"] {
224
- width: calc(#{rem(20 + 12 + 12)} + 4px);
225
- padding-inline: 0;
226
- }
227
223
 
228
- select {
229
- position: absolute;
230
- inset: 0;
231
- opacity: 0;
232
- cursor: pointer;
233
- }
224
+ &:after {
225
+ display: inline-block;
226
+ max-width: rem(20);
227
+ }
234
228
 
235
- span {
236
- display: none;
237
- }
229
+ &[class*="fa-"] {
230
+ width: calc(#{rem(20 + 12 + 12)} + 4px);
231
+ padding-inline: 0;
232
+ }
238
233
 
239
- select:has(option:nth-child(1):checked) ~ span:nth-of-type(1),
240
- select:has(option:nth-child(2):checked) ~ span:nth-of-type(2),
241
- select:has(option:nth-child(3):checked) ~ span:nth-of-type(3),
242
- select:has(option:nth-child(4):checked) ~ span:nth-of-type(4),
243
- select:has(option:nth-child(5):checked) ~ span:nth-of-type(5),
244
- select:has(option:nth-child(6):checked) ~ span:nth-of-type(6),
245
- select:has(option:nth-child(7):checked) ~ span:nth-of-type(7),
246
- select:has(option:nth-child(8):checked) ~ span:nth-of-type(8),
247
- select:has(option:nth-child(9):checked) ~ span:nth-of-type(9),
248
- select:has(option:nth-child(10):checked) ~ span:nth-of-type(10) {
234
+ select {
235
+ position: absolute;
236
+ inset: 0;
237
+ opacity: 0;
238
+ cursor: pointer;
239
+ }
249
240
 
250
- display: block;
251
- }
241
+ span {
242
+ display: none;
243
+ }
252
244
 
253
- select ~ span:after {
254
- content: " \f078";
255
- font-family: "Font Awesome 6 Pro";
256
- font-size: 0.8em;
257
- display: inline-block;
258
- padding-left: 1em;
259
- }
245
+ select:has(option:nth-child(1):checked) ~ span:nth-of-type(1),
246
+ select:has(option:nth-child(2):checked) ~ span:nth-of-type(2),
247
+ select:has(option:nth-child(3):checked) ~ span:nth-of-type(3),
248
+ select:has(option:nth-child(4):checked) ~ span:nth-of-type(4),
249
+ select:has(option:nth-child(5):checked) ~ span:nth-of-type(5),
250
+ select:has(option:nth-child(6):checked) ~ span:nth-of-type(6),
251
+ select:has(option:nth-child(7):checked) ~ span:nth-of-type(7),
252
+ select:has(option:nth-child(8):checked) ~ span:nth-of-type(8),
253
+ select:has(option:nth-child(9):checked) ~ span:nth-of-type(9),
254
+ select:has(option:nth-child(10):checked) ~ span:nth-of-type(10) {
255
+
256
+ display: block;
257
+ }
258
+
259
+ select ~ span:after {
260
+ content: " \f078";
261
+ font-family: "Font Awesome 6 Pro";
262
+ font-size: 0.8em;
263
+ display: inline-block;
264
+ padding-left: 1em;
265
+ }
260
266
 
261
- select:focus-visible ~ span:after {
262
- content: "\f077";
267
+ select:focus-visible ~ span:after {
268
+ content: "\f077";
269
+ }
263
270
  }
264
- }
265
271
 
266
- .prefix {
267
-
268
- border-right: none;
269
- }
272
+ .prefix {
273
+
274
+ border-right: none;
275
+ }
270
276
 
271
- .suffix {
272
-
273
- border-left: none;
274
- border-end-start-radius: 0;
275
- border-start-start-radius: 0;
276
- border-start-end-radius: rem(8)!important;
277
- border-end-end-radius: rem(8)!important;
278
- order: 2;
279
- }
277
+ .suffix {
278
+
279
+ border-left: none;
280
+ border-end-start-radius: 0;
281
+ border-start-start-radius: 0;
282
+ border-start-end-radius: rem(8)!important;
283
+ border-end-end-radius: rem(8)!important;
284
+ order: 2;
285
+ }
280
286
 
281
- .prefix span {
282
- display: none;
287
+ .prefix span {
288
+ display: none;
283
289
 
284
- small {
285
- font-size: 0.8em;
290
+ small {
291
+ font-size: 0.8em;
292
+ }
286
293
  }
287
- }
288
294
 
289
- .prefix ~ :is(input,textarea,output) {
290
-
291
- border-end-start-radius: 0;
292
- border-start-start-radius: 0;
293
- }
295
+ .prefix ~ :is(input:not([type="checkbox"]):not([type="radio"]),textarea,output) {
296
+
297
+ border-end-start-radius: 0!important;
298
+ border-start-start-radius: 0!important;
299
+ }
294
300
 
295
- .suffix ~ :is(input,textarea,output) {
296
- order: 1;
297
-
298
- border-start-end-radius: 0;
299
- border-end-end-radius: 0;
301
+ .suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]),textarea,output) {
302
+ order: 1;
303
+
304
+ border-start-end-radius: 0!important;
305
+ border-end-end-radius: 0!important;
306
+ }
300
307
  }
301
308
  // #endregion
302
309
 
@@ -379,6 +386,8 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
379
386
  // #endregion
380
387
 
381
388
  // #region radio/checkbox field
389
+ @supports selector(:has(*)) {
390
+
382
391
  input:is([type="radio"],[type="checkbox"]) {
383
392
  position: absolute;
384
393
  top: 0;
@@ -392,8 +401,7 @@ input:is([type="radio"],[type="checkbox"]) {
392
401
 
393
402
  :is(div,fieldset):has(> input:is([type="radio"],[type="checkbox"])) {
394
403
  position: relative;
395
-
396
- padding-bottom: rem(24);
404
+ margin-bottom: rem(24);
397
405
  }
398
406
 
399
407
  :is(div,fieldset):has( > input[type="radio"]){
@@ -433,7 +441,7 @@ input:is([type="radio"],[type="checkbox"]) + label:not(:has(> iam-card)) {
433
441
 
434
442
  &:last-child {
435
443
 
436
- margin-bottom: rem(24);
444
+ margin-bottom: 0;
437
445
  }
438
446
 
439
447
  &:before {
@@ -497,7 +505,7 @@ input[type="radio"] + label:not(:has(> iam-card)) {
497
505
  }
498
506
 
499
507
  div:has(> :is(input[type="radio"],input[type="checkbox"]):nth-of-type(2)) {
500
- label:not(:has(> iam-card)):not(:last-of-type) {
508
+ label:not(:has(> iam-card)) {
501
509
  margin-bottom: 0rem;
502
510
  }
503
511
  }
@@ -629,6 +637,8 @@ input[type="checkbox"][disabled]:checked + label {
629
637
  border-color: #E0E0E0!important;
630
638
  }
631
639
  }
640
+
641
+ }
632
642
  // #endregion
633
643
 
634
644
  // #region Conditional reveal
@@ -4,6 +4,23 @@
4
4
  body:has(iam-nav.open:not(.nav--sticky):not(.nav--xs-sticky)) {
5
5
  max-height: 100vh;
6
6
  overflow: hidden;
7
+
8
+ }
9
+
10
+ body {
11
+
12
+ --nav-height: #{rem(96)};
13
+ --sticky-padding: 0px;
14
+
15
+ &:has(iam-nav a[slot="secondary"]){
16
+
17
+ --nav-height: #{rem(96 + 40)};
18
+ }
19
+
20
+ &:has(iam-nav.nav--sticky) {
21
+
22
+ --sticky-padding: var(--nav-height);
23
+ }
7
24
  }
8
25
 
9
26
  // #region Create the correct padding top of the page
@@ -99,7 +116,7 @@ iam-nav {
99
116
  text-decoration: none;
100
117
  }
101
118
 
102
- a:not([slot="logo"]):not(:has(iam-card)) {
119
+ a:not([slot="logo"]):not(.btn):not(:has(iam-card)) {
103
120
 
104
121
  text-decoration: none;
105
122
 
@@ -154,7 +171,7 @@ iam-nav details {
154
171
 
155
172
  background-color: var(--colour-canvas);
156
173
 
157
- @media screen and (prefers-color-scheme: light) {
174
+ @include light-mode() {
158
175
  background-color: #EEEEEE;
159
176
  }
160
177
 
@@ -169,9 +186,9 @@ iam-nav details {
169
186
  background-color: var(--colour-white);
170
187
 
171
188
 
172
- @media screen and (prefers-color-scheme: dark) {
189
+ @include dark-mode() {
173
190
 
174
- background-color: var(--colour-canvas-2);
191
+ background-color: var(--colour-canvas-2);
175
192
  }
176
193
  display:block;
177
194
  border: none;
@@ -367,11 +384,11 @@ iam-nav details {
367
384
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
368
385
 
369
386
 
370
- @media screen and (prefers-color-scheme: light) {
387
+ @include light-mode() {
371
388
  background: var(--colour-white);
372
389
  @include reset-colours();
373
390
  }
374
- @media screen and (prefers-color-scheme: dark) {
391
+ @include dark-mode() {
375
392
 
376
393
  @include invert-colours();
377
394
  }
@@ -382,7 +399,7 @@ iam-nav details {
382
399
 
383
400
  background: var(--colour-canvas-2);
384
401
 
385
- @media screen and (prefers-color-scheme: light) {
402
+ @include light-mode() {
386
403
  background: #EEEEEE;
387
404
  }
388
405
  a {
@@ -415,7 +432,7 @@ iam-nav details {
415
432
  &[open] > div:not(:has(details)) {
416
433
  background: var(--colour-canvas);
417
434
 
418
- @media screen and (prefers-color-scheme: light) {
435
+ @include light-mode() {
419
436
  background: var(--colour-white);
420
437
  --colour-canvas-2: white;
421
438
  }
@@ -478,7 +495,7 @@ iam-nav details {
478
495
  }
479
496
  }
480
497
 
481
- a:not([slot="logo"]):not(:has(iam-card)) {
498
+ a:not([slot="logo"]):not(.btn):not(:has(iam-card)) {
482
499
 
483
500
  font-size: 1rem;
484
501
  line-height: rem(24);
@@ -98,7 +98,7 @@
98
98
  }
99
99
 
100
100
  .btn {
101
- @media screen and (prefers-color-scheme: light) {
101
+ @include light-mode() {
102
102
 
103
103
  @include reset-colours();
104
104
 
@@ -188,13 +188,13 @@
188
188
  flex-shrink: 0;
189
189
  }
190
190
 
191
- @media screen and (prefers-color-scheme: dark) {
191
+ @include dark-mode() {
192
192
  --colour-link: var(--colour-white);
193
193
  @include invert-colours();
194
194
  }
195
195
 
196
196
  // The menu is always white unless in dark mode
197
- @media screen and (prefers-color-scheme: light) {
197
+ @include light-mode() {
198
198
 
199
199
  background-color: var(--colour-white);
200
200
  @include reset-colours();
@@ -242,7 +242,7 @@
242
242
  flex-grow: 1;
243
243
  position: relative;
244
244
 
245
- @media screen and (prefers-color-scheme: light) {
245
+ @include light-mode() {
246
246
  background-color: #EEEEEE;
247
247
  }
248
248
 
@@ -393,14 +393,13 @@
393
393
  left: 0;
394
394
  width: 100%;
395
395
 
396
- @media screen and (prefers-color-scheme: light) {
396
+ @include light-mode(){
397
397
 
398
398
  background-color: #EEEEEE;
399
399
  @include reset-colours();
400
400
  }
401
401
 
402
- @media screen and (prefers-color-scheme: dark) {
403
-
402
+ @include dark-mode() {
404
403
 
405
404
  @include invert-colours();
406
405
  }
@@ -494,7 +493,7 @@
494
493
 
495
494
  background: #E6EAEC!important;
496
495
 
497
- @media screen and (prefers-color-scheme: dark) {
496
+ @include dark-mode() {
498
497
 
499
498
  background: var(--colour-canvas-2)!important;
500
499
  }
@@ -564,13 +563,13 @@
564
563
  flex-shrink: 0;
565
564
  }
566
565
 
567
- @media screen and (prefers-color-scheme: dark) {
566
+ @include dark-mode() {
568
567
  --colour-link: var(--colour-white);
569
568
  @include invert-colours();
570
569
  }
571
570
 
572
571
  // The menu is always white unless in dark mode
573
- @media screen and (prefers-color-scheme: light) {
572
+ @include light-mode() {
574
573
 
575
574
  background-color: var(--colour-white);
576
575
  @include reset-colours();
@@ -90,7 +90,7 @@
90
90
  display: flex;
91
91
  flex-wrap: nowrap;
92
92
 
93
- @media screen and (prefers-color-scheme: light) {
93
+ @include light-mode() {
94
94
  color: var(--colour-heading);
95
95
  }
96
96