@iamproperty/components 3.8.0 → 4.0.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 (99) hide show
  1. package/assets/css/components/actionbar-global.css +1 -0
  2. package/assets/css/components/actionbar-global.css.map +1 -0
  3. package/assets/css/components/actionbar.css +1 -0
  4. package/assets/css/components/actionbar.css.map +1 -0
  5. package/assets/css/components/collapsible-side.css +1 -0
  6. package/assets/css/components/collapsible-side.css.map +1 -0
  7. package/assets/css/components/dialog.css +1 -1
  8. package/assets/css/components/dialog.css.map +1 -1
  9. package/assets/css/components/forms.css +1 -1
  10. package/assets/css/components/forms.css.map +1 -1
  11. package/assets/css/components/header.css +1 -1
  12. package/assets/css/components/header.css.map +1 -1
  13. package/assets/css/components/lists.css.map +1 -1
  14. package/assets/css/components/nav-global.css +1 -0
  15. package/assets/css/components/nav-global.css.map +1 -0
  16. package/assets/css/components/nav.css +1 -1
  17. package/assets/css/components/nav.css.map +1 -1
  18. package/assets/css/components/nav.docs.css +1 -0
  19. package/assets/css/components/nav.docs.css.map +1 -0
  20. package/assets/css/components/nav.old.css +1 -0
  21. package/assets/css/components/nav.old.css.map +1 -0
  22. package/assets/css/components/pagination.css.map +1 -1
  23. package/assets/css/components/property-searchbar.css +1 -1
  24. package/assets/css/components/property-searchbar.css.map +1 -1
  25. package/assets/css/components/table.css +1 -1
  26. package/assets/css/components/table.css.map +1 -1
  27. package/assets/css/core.min.css +1 -1
  28. package/assets/css/core.min.css.map +1 -1
  29. package/assets/css/style.min.css +1 -1
  30. package/assets/css/style.min.css.map +1 -1
  31. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  32. package/assets/js/components/actionbar/actionbar.component.js +305 -0
  33. package/assets/js/components/actionbar/actionbar.component.min.js +53 -0
  34. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -0
  35. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  36. package/assets/js/components/card/card.component.min.js +1 -1
  37. package/assets/js/components/collapsible-side/collapsible-side.component.js +96 -0
  38. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +27 -0
  39. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -0
  40. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  41. package/assets/js/components/header/header.component.min.js +2 -2
  42. package/assets/js/components/nav/nav.component.js +294 -0
  43. package/assets/js/components/nav/nav.component.min.js +51 -0
  44. package/assets/js/components/nav/nav.component.min.js.map +1 -0
  45. package/assets/js/components/notification/notification.component.min.js +1 -1
  46. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  47. package/assets/js/components/table/table.component.js +33 -0
  48. package/assets/js/components/table/table.component.min.js +12 -11
  49. package/assets/js/components/table/table.component.min.js.map +1 -1
  50. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  51. package/assets/js/dynamic.min.js +3 -3
  52. package/assets/js/dynamic.min.js.map +1 -1
  53. package/assets/js/modules/dialogs.js +3 -0
  54. package/assets/js/modules/helpers.js +0 -13
  55. package/assets/js/modules/table.js +1 -1
  56. package/assets/js/scripts.bundle.js +15 -14
  57. package/assets/js/scripts.bundle.js.map +1 -1
  58. package/assets/js/scripts.bundle.min.js +2 -2
  59. package/assets/js/scripts.bundle.min.js.map +1 -1
  60. package/assets/sass/_corefiles.scss +2 -0
  61. package/assets/sass/_functions/mixins.scss +25 -0
  62. package/assets/sass/_functions/variables.scss +1 -1
  63. package/assets/sass/components/actionbar-global.scss +89 -0
  64. package/assets/sass/components/actionbar.scss +254 -0
  65. package/assets/sass/components/collapsible-side.scss +327 -0
  66. package/assets/sass/components/dialog.scss +10 -0
  67. package/assets/sass/components/forms.scss +29 -0
  68. package/assets/sass/components/nav-global.scss +630 -0
  69. package/assets/sass/components/nav.docs.scss +54 -0
  70. package/assets/sass/components/nav.old.scss +965 -0
  71. package/assets/sass/components/nav.scss +450 -782
  72. package/assets/sass/components/table.scss +9 -1
  73. package/assets/sass/foundations/buttons.scss +57 -32
  74. package/assets/sass/foundations/links.scss +1 -1
  75. package/assets/sass/foundations/reboot.scss +5 -3
  76. package/assets/ts/components/actionbar/README.md +55 -0
  77. package/assets/ts/components/actionbar/actionbar.component.ts +396 -0
  78. package/assets/ts/components/collapsible-side/README.md +38 -0
  79. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +134 -0
  80. package/assets/ts/components/nav/README.md +68 -0
  81. package/assets/ts/components/nav/nav.component.ts +370 -0
  82. package/assets/ts/components/table/table.component.ts +65 -0
  83. package/assets/ts/modules/dialogs.ts +6 -0
  84. package/assets/ts/modules/helpers.ts +0 -17
  85. package/assets/ts/modules/table.ts +5 -5
  86. package/dist/components.es.js +1368 -1113
  87. package/dist/components.umd.js +188 -44
  88. package/dist/style.css +1 -1
  89. package/package.json +1 -1
  90. package/src/components/Actionbar/Actionbar.vue +20 -0
  91. package/src/components/Actionbar/README.md +40 -0
  92. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +20 -0
  93. package/src/components/CollapsibleSideMenu/README.md +23 -0
  94. package/src/components/Nav/Nav.vue +20 -195
  95. package/src/components/Nav/README.md +43 -13
  96. package/src/components/Nav-old/Nav.vue +213 -0
  97. package/src/components/Nav-old/README.md +23 -0
  98. package/src/index.js +8 -0
  99. package/src/components/Nav/Nav.spec.js +0 -35
@@ -167,6 +167,7 @@ dialog[open] {
167
167
  &:before {
168
168
  top: 100%;
169
169
  height: var(--dialog-padding);
170
+ margin-bottom: -2rem;
170
171
  }
171
172
  }
172
173
  }
@@ -256,6 +257,15 @@ dialog::backdrop {
256
257
  button {
257
258
  margin-bottom: 0;
258
259
  }
260
+
261
+ @include media-breakpoint-up(sm) {
262
+
263
+ button:has( + button:last-child),
264
+ button:last-child {
265
+ min-width: calc(50% - 1rem);
266
+ text-align: center;
267
+ }
268
+ }
259
269
  }
260
270
  // #endregion
261
271
 
@@ -387,6 +387,7 @@ input:is([type="radio"],[type="checkbox"]) {
387
387
  height: 0;
388
388
  width: 0;
389
389
  margin: 0;
390
+ pointer-events: none;
390
391
  }
391
392
 
392
393
  :is(div,fieldset):has(> input:is([type="radio"],[type="checkbox"])) {
@@ -546,6 +547,34 @@ input[type="checkbox"]:checked + label {
546
547
  }
547
548
  }
548
549
 
550
+ input[type="checkbox"]:indeterminate + label {
551
+
552
+ &:before {
553
+ background: var(--colour-info) !important;
554
+ border-color: var(--colour-info) !important;
555
+ }
556
+
557
+ &:after {
558
+ content: "\f068";
559
+ position: absolute;
560
+ font-size: 1em;
561
+ line-height: 1;
562
+ color: var(--colour-primary-theme);
563
+ font-family: "Font Awesome 6 Pro";
564
+ font-weight: bold;
565
+ height: rem(24);
566
+ width: rem(24);
567
+ line-height: rem(26);
568
+ background: none !important;
569
+ border: none!important;
570
+ outline: none!important;
571
+ top: rem(10 - 2);
572
+ left: var(--outline-width);
573
+ text-align: center;
574
+ }
575
+ }
576
+
577
+
549
578
  input:is([type="radio"],[type="checkbox"]):checked:is(:focus,:hover,.focus) + label {
550
579
 
551
580
  --tick-colour: var(--colour-info);
@@ -0,0 +1,630 @@
1
+ @use 'sass:math';
2
+ @use "../_func" as *;
3
+
4
+ body:has(iam-nav.open:not(.nav--sticky):not(.nav--xs-sticky)) {
5
+ max-height: 100vh;
6
+ overflow: hidden;
7
+
8
+ }
9
+
10
+ body {
11
+
12
+ --nav-height: #{rem(96)};
13
+
14
+ &:has(iam-nav a[slot="secondary"]){
15
+
16
+ --nav-height: #{rem(96 + 40)};
17
+ }
18
+ }
19
+
20
+ // #region Create the correct padding top of the page
21
+ nav:has(iam-nav) {
22
+
23
+ min-height: #{rem(96)};
24
+ display: block;
25
+
26
+ iam-nav {
27
+ position: absolute;
28
+ top: 0;
29
+ left: 0;
30
+ width: 100%;
31
+ z-index: var(--index-menu);
32
+ }
33
+ }
34
+
35
+ @include media-breakpoint-up(md) {
36
+ nav:has(iam-nav a[slot="secondary"]){
37
+
38
+ min-height: #{rem(96 + 40)};
39
+ }
40
+ }
41
+
42
+ nav:has(iam-nav.nav--sticky) {
43
+
44
+ iam-nav {
45
+ position: fixed;
46
+ }
47
+ }
48
+
49
+ @media screen and (max-width: 36em) {
50
+
51
+ body:has(iam-nav.open:not(.nav--xs-sticky)) {
52
+ max-height: 100vh;
53
+ overflow: hidden;
54
+ }
55
+
56
+ nav:has(iam-nav.nav--xs-sticky) {
57
+
58
+ iam-nav {
59
+ position: fixed;
60
+ }
61
+ }
62
+ }
63
+
64
+ @include media-breakpoint-up(sm) {
65
+ body:has(iam-nav.open:not(.nav--sticky)) {
66
+ max-height: 100vh;
67
+ overflow: hidden;
68
+ }
69
+ }
70
+ // #endregion
71
+
72
+ // #region before component is loaded
73
+ iam-nav:not(:defined) {
74
+
75
+ > *:not([slot="logo"]) {
76
+ display: none;
77
+ }
78
+
79
+ &:not(:target) > *:not(.brand) {
80
+ display: none;
81
+ }
82
+ }
83
+ // #endregion
84
+
85
+ // #region General styles
86
+ iam-nav {
87
+
88
+ --nav-height: #{rem(96)};
89
+
90
+ &:has(a[slot="secondary"]){
91
+
92
+ --nav-height: #{rem(96 + 40)};
93
+ }
94
+
95
+ overscroll-behavior: contain!important;
96
+ background-color: var(--colour-canvas);
97
+ display: block;
98
+ margin-left: auto;
99
+ margin-right: auto;
100
+ padding: var(--container-padding);
101
+ padding-top: rem(24);
102
+ padding-bottom: rem(24);
103
+ width: 100%;
104
+ max-width: rem(1280);
105
+
106
+ .brand {
107
+ font-size: rem(48);
108
+ height: rem(48);
109
+ padding: 0;
110
+ text-decoration: none;
111
+ }
112
+
113
+ a:not([slot="logo"]):not(:has(iam-card)) {
114
+
115
+ text-decoration: none;
116
+
117
+ &:where(:hover,:focus,.selected) {
118
+ text-decoration: underline;
119
+ text-underline-offset: 0.3em;
120
+ text-decoration-thickness: 2px;
121
+ text-decoration-color: var(--colour-underline);
122
+ }
123
+ &:active {
124
+ text-decoration-color: #A2D393!important;
125
+ }
126
+ &.selected {
127
+
128
+ text-decoration-color: var(--colour-info)!important;
129
+ }
130
+ }
131
+ }
132
+
133
+
134
+ iam-nav details {
135
+
136
+ > summary {
137
+
138
+ text-decoration: none;
139
+
140
+ &:where(:hover,:focus,.selected) {
141
+ text-decoration: underline;
142
+ text-underline-offset: 0.3em;
143
+ text-decoration-thickness: 2px;
144
+ text-decoration-color: var(--colour-underline);
145
+ }
146
+ &:active {
147
+ text-decoration-color: #A2D393!important;
148
+ }
149
+ }
150
+
151
+ &[open] > summary {
152
+
153
+ text-decoration: underline;
154
+ text-underline-offset: 0.3em;
155
+ text-decoration-thickness: 2px;
156
+ text-decoration-color: var(--colour-info);
157
+ }
158
+ }
159
+
160
+ // #endregion
161
+
162
+ // #region mobile and tablet mega menu
163
+ @media screen and (max-width: 62em) {
164
+ iam-nav details {
165
+
166
+ background-color: var(--colour-canvas);
167
+
168
+ @media screen and (prefers-color-scheme: light) {
169
+ background-color: #EEEEEE;
170
+ }
171
+
172
+ margin-left: -1.5rem;
173
+ margin-right: -1.5rem;
174
+ padding-inline: 1.5rem;
175
+ width: auto;
176
+ position: relative;
177
+
178
+ summary {
179
+
180
+ background-color: var(--colour-white);
181
+
182
+
183
+ @media screen and (prefers-color-scheme: dark) {
184
+
185
+ background-color: var(--colour-canvas-2);
186
+ }
187
+ display:block;
188
+ border: none;
189
+ color: var(--colour-link);
190
+ margin: 0;
191
+
192
+ margin-left: -1.5rem;
193
+ margin-right: -1.5rem;
194
+ padding: 1.5rem 4rem 1.5rem 1.5rem;
195
+ font-size: 1rem;
196
+ line-height: 1.5rem;
197
+ min-height: 1.5rem;
198
+ position: relative;
199
+ font-weight: normal;
200
+
201
+ &:after {
202
+ content: "\f055";
203
+ display: block;
204
+ font-size: rem(24);
205
+ font-weight: 300;
206
+ position: absolute;
207
+ top: 1.5rem;
208
+ right: 1.5rem;
209
+ font-family: "Font Awesome 6 Pro";
210
+ line-height: 1em;
211
+ }
212
+ }
213
+
214
+ &[open] > summary:after {
215
+ content: "\f056";
216
+ font-weight: bold;
217
+ }
218
+
219
+ a {
220
+ text-decoration: none;
221
+ display:block;
222
+ border: none;
223
+ color: var(--colour-link);
224
+ margin: 0;
225
+ margin-left: 3rem;
226
+ padding: 1.5rem 0 1.5rem 0;
227
+ font-size: 1rem;
228
+ line-height: 1.5rem;
229
+ min-height: 1.5rem;
230
+ position: relative;
231
+ font-weight: normal;
232
+
233
+ &:after {
234
+ background: var(--colour-border)!important;
235
+ top: calc(100% - 2px)!important;
236
+ width: 100%!important;
237
+ }
238
+ }
239
+
240
+ // Hide cards
241
+ a:has(iam-card){
242
+ display: none!important;
243
+ }
244
+
245
+ details a:last-child:after {
246
+ display: none;
247
+ }
248
+
249
+ &:after {
250
+ content: "";
251
+ position: absolute;
252
+ top: calc(100% - 2px);
253
+ left: 1.5rem;
254
+ height: 2px;
255
+ width: calc(100% - 3rem);
256
+ display: block;
257
+ height: 2px;
258
+ background-color: var(--colour-border) !important;
259
+ }
260
+
261
+ // Sub details
262
+ details {
263
+
264
+ &:after {
265
+ display: none;
266
+ }
267
+
268
+ summary {
269
+ padding: 0 1.5rem rem(24) 3.5rem;
270
+ position: relative;
271
+ }
272
+
273
+ summary:after {
274
+ left: 1.5rem;
275
+ font-size: rem(16);
276
+ top: rem(3);
277
+ transform: none;
278
+ font-weight: 400;
279
+ }
280
+ }
281
+
282
+ details[open] + details:before{
283
+
284
+ content: "";
285
+ display: block;
286
+ background: var(--colour-canvas-2);
287
+ padding-top: 1.5rem;
288
+ margin-left: -1.5rem;
289
+ margin-right: -1.5rem;
290
+ }
291
+ }
292
+ }
293
+ // #endregion
294
+
295
+ // #region tablet mega menu tweaks
296
+ @media screen and (max-width: 62em) and (min-width: 36em) {
297
+
298
+ iam-nav details {
299
+ padding-right: rem(40);
300
+ margin-right: rem(-40);
301
+
302
+ &:after {
303
+
304
+ width: calc(100% - 4rem);
305
+ }
306
+
307
+ summary {
308
+
309
+ padding-right: 5rem;
310
+ margin-right: rem(-40);
311
+
312
+ &:after {
313
+
314
+ right: 2.5rem;
315
+ }
316
+ }
317
+ }
318
+
319
+ iam-nav details details[open] + details:before {
320
+
321
+ padding-right: rem(40);
322
+ margin-right: rem(-40);
323
+ }
324
+ }
325
+ // #endregion
326
+
327
+ // #region Desktop mega menu
328
+ @include media-breakpoint-up(md) {
329
+ iam-nav details {
330
+
331
+ width: auto;
332
+
333
+ > summary {
334
+
335
+ display:block;
336
+ border: none;
337
+ color: var(--colour-link);
338
+ margin: 0;
339
+ font-size: 1rem;
340
+ line-height: rem(96);
341
+ min-height: rem(96);
342
+ margin-block: -1.5rem;
343
+ position: relative;
344
+ font-weight: normal;
345
+ white-space: nowrap;
346
+ padding-right: rem(24);
347
+
348
+ &:after {
349
+ content: "\f078";
350
+ display: block;
351
+ font-size: rem(16);
352
+ font-weight: 300;
353
+ position: absolute;
354
+ top: 50%;
355
+ transform: translate(0,-50%);
356
+ right: 0;
357
+ font-family: "Font Awesome 6 Pro";
358
+ line-height: 1em;
359
+ }
360
+ }
361
+
362
+ &:not(:first-child) > summary{
363
+
364
+ margin-left: 1.5rem;
365
+ }
366
+
367
+ div {
368
+ display: none;
369
+ }
370
+
371
+ &[open] > div {
372
+ position: absolute;
373
+ display: block;
374
+ top: 100%;
375
+ left: 0;
376
+ width: 100%;
377
+ padding-inline: calc(50% - #{rem(556)});
378
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
379
+
380
+
381
+ @media screen and (prefers-color-scheme: light) {
382
+ background: var(--colour-white);
383
+ @include reset-colours();
384
+ }
385
+ @media screen and (prefers-color-scheme: dark) {
386
+
387
+ @include invert-colours();
388
+ }
389
+ }
390
+
391
+ &[open] > div:has(details) {
392
+
393
+
394
+ background: var(--colour-canvas-2);
395
+
396
+ @media screen and (prefers-color-scheme: light) {
397
+ background: #EEEEEE;
398
+ }
399
+ a {
400
+ display: inline-block;
401
+ margin-right: 2rem;
402
+
403
+ &:first-child {
404
+ margin-right: 0;
405
+ }
406
+ }
407
+
408
+ a:has(iam-card) {
409
+ display: none;
410
+ }
411
+ details {
412
+ display: inline-block;
413
+
414
+ summary {
415
+ display: inline-block;
416
+ margin-left: 0!important;
417
+ margin-right: 2rem;
418
+ }
419
+
420
+ &:first-child summary{
421
+ margin-left: 0;
422
+ }
423
+ }
424
+ }
425
+
426
+ &[open] > div:not(:has(details)) {
427
+ background: var(--colour-canvas);
428
+
429
+ @media screen and (prefers-color-scheme: light) {
430
+ background: var(--colour-white);
431
+ --colour-canvas-2: white;
432
+ }
433
+
434
+ padding-top: rem(40 + 88);
435
+ padding-bottom: rem(64);
436
+ columns: 3;
437
+ column-gap: rem(110);
438
+
439
+ > a {
440
+ margin-right: 0!important;
441
+ display: block;
442
+ max-height: 6rem;
443
+
444
+ &.double-height {
445
+ min-height: 6rem;
446
+ }
447
+ }
448
+
449
+ a:has(iam-card){
450
+ display: inline-block;
451
+ }
452
+
453
+ &:before {
454
+ content: attr(data-title);
455
+ display: block;
456
+ position: absolute;
457
+ top: 0;
458
+ left: 0;
459
+ width: 100%;
460
+ color: var(--colour-white);
461
+ padding-inline: calc(50% - #{rem(556)});
462
+ font-size: rem(32);
463
+ font-weight: bold;
464
+ line-height: rem(88);
465
+
466
+ --gradient-direction: 90deg;
467
+ background-color: var(--colour-info-theme);
468
+ background-image: linear-gradient(var(--gradient-direction), var(--colour-primary-theme) 0, transparent 100%) !important;
469
+ }
470
+
471
+ &:has(iam-card){
472
+
473
+ column-gap: rem(16);
474
+
475
+ a:not(:has(iam-card)) {
476
+ margin-right: rem(94)!important;
477
+ }
478
+
479
+ a:has(iam-card){
480
+
481
+ &:after {
482
+ display: none;
483
+ }
484
+ }
485
+ a:not(:has(iam-card)) + a:has(iam-card) {
486
+
487
+ break-before: column;
488
+ }
489
+ }
490
+ }
491
+
492
+ a:not([slot="logo"]):not(:has(iam-card)) {
493
+
494
+ font-size: 1rem;
495
+ line-height: rem(24);
496
+ padding-block: 1.5rem;
497
+ position: relative;
498
+ font-weight: normal;
499
+ display: block;
500
+ margin: 0;
501
+
502
+ &:where(:hover,:focus,.selected) {
503
+ text-decoration: underline;
504
+ text-underline-offset: 0.3em;
505
+ text-decoration-thickness: 2px;
506
+ text-decoration-color: var(--colour-underline);
507
+ }
508
+ &:active {
509
+ text-decoration-color: #A2D393!important;
510
+ }
511
+ &.selected {
512
+ text-decoration-color: var(--colour-info);
513
+ }
514
+
515
+ &:after {
516
+ content: "";
517
+ display: block;
518
+ height: 2px;
519
+ width: 100%!important;
520
+ top: calc(100% - 2px);
521
+ background-color: var(--colour-border)!important;
522
+ }
523
+ }
524
+
525
+ > details > summary {
526
+
527
+ padding-right: 0;
528
+ background: transparent;
529
+
530
+ &:after {
531
+ display: none;
532
+ }
533
+ }
534
+
535
+ details:not(:first-child) > summary {
536
+
537
+ margin-left: rem(32);
538
+ }
539
+ }
540
+ }
541
+ // #endregion
542
+
543
+ // #region Search
544
+ @include media-breakpoint-up(md) {
545
+ iam-nav {
546
+
547
+ &.search-open {
548
+
549
+ > *:not([slot="logo"]):not([slot="secondary"]) {
550
+ display: none!important;
551
+ }
552
+ }
553
+ }
554
+ }
555
+ // #endregion
556
+
557
+ // #region Dual navbar in desktop
558
+ @include media-breakpoint-up(md) {
559
+ iam-nav {
560
+ .brand:has(~ [slot="dual"]) {
561
+ margin-right: rem(24);
562
+ }
563
+
564
+ *:not([slot="dual"]):has(+ [slot="dual"]) {
565
+ margin-right: auto;
566
+ }
567
+ }
568
+ }
569
+ // #endregion
570
+
571
+ // #region navbar additional menus
572
+
573
+ iam-nav .nav--menu {
574
+
575
+ outline: none!important;
576
+
577
+ &::-webkit-scrollbar {
578
+ width: 6px;
579
+ }
580
+
581
+ &::-webkit-scrollbar-track {
582
+ border: 0!important;
583
+ }
584
+
585
+ &::-webkit-scrollbar-thumb {
586
+ border: 0!important;
587
+ }
588
+
589
+ hr {
590
+
591
+ width: 100% !important;
592
+ border-top: 2px solid var(--colour-border) !important;
593
+ }
594
+ a {
595
+
596
+ display: block !important;
597
+ line-height: 1.25rem !important;
598
+ padding: 1.5rem 0 !important;
599
+ margin: 0 0 rem(36) 0!important;
600
+ flex-shrink: 0;
601
+ font-size: 1rem !important;
602
+ font-weight: normal !important;
603
+
604
+ &:has( + a ) {
605
+ margin-bottom: 0!important;
606
+ }
607
+
608
+
609
+ &:after {
610
+
611
+ content: "";
612
+ display: block;
613
+ height: 2px;
614
+ width: 100% !important;
615
+ background-color: var(--colour-border) !important;
616
+ top: calc(100% - 2px) !important;
617
+ }
618
+ }
619
+
620
+ > button {
621
+ min-width: 100%;
622
+ text-align: center;
623
+ }
624
+
625
+ &.closed * {
626
+ display: none!important;
627
+ }
628
+ }
629
+
630
+ // #endregion