@iamproperty/components 3.4.4 → 3.4.6

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 (126) hide show
  1. package/README.md +30 -66
  2. package/assets/css/components/accordion.css +1 -0
  3. package/assets/css/components/accordion.css.map +1 -0
  4. package/assets/css/components/alert.css +1 -0
  5. package/assets/css/components/alert.css.map +1 -0
  6. package/assets/css/components/buttons.css +1 -0
  7. package/assets/css/components/buttons.css.map +1 -0
  8. package/assets/css/components/card.css +1 -0
  9. package/assets/css/components/card.css.map +1 -0
  10. package/assets/css/components/cardDeck.css +1 -0
  11. package/assets/css/components/cardDeck.css.map +1 -0
  12. package/assets/css/components/carousel.css +1 -0
  13. package/assets/css/components/carousel.css.map +1 -0
  14. package/assets/css/components/charts.css +1 -0
  15. package/assets/css/components/charts.css.map +1 -0
  16. package/assets/css/components/container.css +1 -0
  17. package/assets/css/components/container.css.map +1 -0
  18. package/assets/css/components/forms.css +1 -0
  19. package/assets/css/components/forms.css.map +1 -0
  20. package/assets/css/components/header.css +1 -0
  21. package/assets/css/components/header.css.map +1 -0
  22. package/assets/css/components/links.css +1 -0
  23. package/assets/css/components/links.css.map +1 -0
  24. package/assets/css/components/lists.css +1 -0
  25. package/assets/css/components/lists.css.map +1 -0
  26. package/assets/css/components/modal.css +1 -0
  27. package/assets/css/components/modal.css.map +1 -0
  28. package/assets/css/components/nav.css +1 -0
  29. package/assets/css/components/nav.css.map +1 -0
  30. package/assets/css/components/panel.css +1 -0
  31. package/assets/css/components/panel.css.map +1 -0
  32. package/assets/css/components/property-searchbar.css +1 -0
  33. package/assets/css/components/property-searchbar.css.map +1 -0
  34. package/assets/css/components/snapshot.css +1 -0
  35. package/assets/css/components/snapshot.css.map +1 -0
  36. package/assets/css/components/stepper.css +1 -0
  37. package/assets/css/components/stepper.css.map +1 -0
  38. package/assets/css/components/tables.css +1 -0
  39. package/assets/css/components/tables.css.map +1 -0
  40. package/assets/css/components/tabs.css +1 -0
  41. package/assets/css/components/tabs.css.map +1 -0
  42. package/assets/css/components/testimonial.css +1 -0
  43. package/assets/css/components/testimonial.css.map +1 -0
  44. package/assets/css/components/timeline.css +1 -0
  45. package/assets/css/components/timeline.css.map +1 -0
  46. package/assets/css/components/tooltips.css +1 -0
  47. package/assets/css/components/tooltips.css.map +1 -0
  48. package/assets/css/core.min.css +1 -1
  49. package/assets/css/core.min.css.map +1 -1
  50. package/assets/css/style.min.css +1 -1
  51. package/assets/css/style.min.css.map +1 -1
  52. package/assets/fonts/qanelas-bold-webfont.woff +0 -0
  53. package/assets/fonts/qanelas-bold-webfont.woff2 +0 -0
  54. package/assets/js/bundle.js +61 -0
  55. package/assets/js/components/accordion/accordion.component.js +27 -0
  56. package/assets/js/components/accordion/accordion.component.min.js +14 -0
  57. package/assets/js/components/accordion/accordion.component.min.js.map +1 -0
  58. package/assets/js/components/header/header.component.js +45 -0
  59. package/assets/js/components/header/header.component.min.js +30 -0
  60. package/assets/js/components/header/header.component.min.js.map +1 -0
  61. package/assets/js/components/tabs/tabs.component.js +28 -0
  62. package/assets/js/dynamic.js +85 -0
  63. package/assets/js/dynamic.min.js +56 -0
  64. package/assets/js/dynamic.min.js.map +1 -0
  65. package/assets/js/{main.js → flat-components.js} +15 -11
  66. package/assets/js/modules/accordion.js +11 -14
  67. package/assets/js/modules/helpers.js +9 -4
  68. package/assets/js/modules/tabs.js +91 -0
  69. package/assets/js/scripts.bundle.js +92 -980
  70. package/assets/js/scripts.bundle.js.map +1 -1
  71. package/assets/js/scripts.bundle.min.js +3 -4
  72. package/assets/js/scripts.bundle.min.js.map +1 -1
  73. package/assets/sass/_fonts.scss +4 -4
  74. package/assets/sass/_func.scss +1 -0
  75. package/assets/sass/_functions/functions.scss +6 -0
  76. package/assets/sass/_functions/mixins.scss +9 -9
  77. package/assets/sass/_functions/variables.scss +96 -68
  78. package/assets/sass/_tests/mixins.spec.scss +1 -1
  79. package/assets/sass/_tests/typography.spec.scss +2 -2
  80. package/assets/sass/components/accordion.scss +9 -6
  81. package/assets/sass/components/card.scss +7 -0
  82. package/assets/sass/components/container.scss +6 -6
  83. package/assets/sass/components/forms.scss +2 -0
  84. package/assets/sass/components/header.scss +34 -11
  85. package/assets/sass/components/links.scss +3 -2
  86. package/assets/sass/components/panel.scss +3 -4
  87. package/assets/sass/components/snapshot.scss +1 -1
  88. package/assets/sass/components/tabs.scss +52 -36
  89. package/assets/sass/components/timeline.scss +2 -2
  90. package/assets/sass/foundations/reboot.scss +2 -2
  91. package/assets/sass/foundations/root.scss +12 -5
  92. package/assets/sass/foundations/type.scss +90 -66
  93. package/assets/ts/README.md +12 -0
  94. package/assets/ts/bundle.ts +76 -0
  95. package/assets/ts/components/accordion/README.md +17 -0
  96. package/assets/ts/components/accordion/accordion.component.ts +36 -0
  97. package/assets/ts/components/header/README.md +26 -0
  98. package/assets/ts/components/header/header.component.ts +53 -0
  99. package/assets/ts/components/tabs/README.md +18 -0
  100. package/assets/ts/components/tabs/tabs.component.ts +34 -0
  101. package/assets/ts/dynamic.ts +105 -0
  102. package/assets/ts/{main.ts → flat-components.ts} +15 -11
  103. package/assets/ts/html.d.ts +4 -0
  104. package/assets/ts/modules/accordion.ts +15 -21
  105. package/assets/ts/modules/helpers.ts +12 -4
  106. package/assets/ts/modules/tabs.ts +129 -0
  107. package/dist/components.es.js +845 -873
  108. package/dist/components.umd.js +63 -19
  109. package/dist/style.css +1 -1
  110. package/package.json +19 -10
  111. package/src/components/Accordion/Accordion.spec.js +1 -1
  112. package/src/components/Accordion/Accordion.vue +7 -5
  113. package/src/components/Accordion/AccordionItem.vue +3 -6
  114. package/src/components/Accordion/README.md +0 -2
  115. package/src/components/Header/Header.spec.js +5 -4
  116. package/src/components/Header/Header.vue +14 -20
  117. package/src/components/Snapshot/Snapshot.vue +1 -1
  118. package/src/components/Tabs/README.md +0 -2
  119. package/src/components/Tabs/Tab.vue +3 -2
  120. package/src/components/Tabs/Tabs.vue +8 -64
  121. package/src/index.js +0 -1
  122. package/assets/fonts/qanelassoft-extrabold-webfont.woff +0 -0
  123. package/assets/fonts/qanelassoft-extrabold-webfont.woff2 +0 -0
  124. package/assets/sass/components/drawer.scss +0 -47
  125. package/src/components/Drawer/Drawer.vue +0 -53
  126. package/src/components/Drawer/README.md +0 -23
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @import "../../../node_modules/bootstrap/scss/_variables.scss";
2
3
  @import "../../../node_modules/bootstrap/scss/_maps.scss";
3
4
 
@@ -17,7 +18,7 @@ $grid-breakpoints: (
17
18
 
18
19
  $device-xs-width: 375;
19
20
  $device-sm-width: 768;
20
- $device-md-width: 1440;
21
+ $device-md-width: 1280;
21
22
 
22
23
  $container-max-widths: (
23
24
  sm: 0,
@@ -27,9 +28,11 @@ $container-max-widths: (
27
28
  $grid-columns: 12;
28
29
  $grid-gutter-width: 1rem; // 15px
29
30
 
30
- $container-padding-x: 20;
31
- $container-padding-x-md: 60;
31
+ $container-padding-x: 24;
32
+ $container-padding-x-sm: 40;
33
+ $container-padding-x-md: 84;
32
34
  $container-padding: var(--container-padding-top) rem($container-padding-x) var(--container-padding-bottom) rem($container-padding-x);
35
+ $container-padding-sm: var(--container-padding-top) rem($container-padding-x-sm) var(--container-padding-bottom) rem($container-padding-x-sm);
33
36
  $container-padding-md: var(--container-padding-top) rem($container-padding-x-md) var(--container-padding-bottom) rem($container-padding-x-md);
34
37
 
35
38
  $vars: map-merge((
@@ -38,13 +41,37 @@ $vars: map-merge((
38
41
  "--container-padding-x": #{rem($container-padding-x)},
39
42
  "--container-padding-x-md": #{rem($container-padding-x-md)},
40
43
  "--container-padding": $container-padding,
44
+ "--container-padding-sm": $container-padding-sm,
41
45
  "--container-padding-md": $container-padding-md
42
46
  ), $vars);
43
47
 
48
+ $varsSM: map-merge((
49
+ "--container-padding": var(--container-padding-sm),
50
+ "--container-padding-x": var(--container-padding-x-sm)
51
+ ), $varsSM);
52
+
44
53
  $varsMD: map-merge((
45
54
  "--container-padding": var(--container-padding-md),
46
55
  "--container-padding-x": var(--container-padding-x-md)
47
56
  ), $varsMD);
57
+
58
+ $spacer: 1rem;
59
+ $spacers: (
60
+ 0: 0,
61
+ 1: $spacer * .5,
62
+ 2: $spacer,
63
+ 3: $spacer * 1.5,
64
+ 4: $spacer * 2,
65
+ 5: $spacer * 3,
66
+ );
67
+
68
+ @each $key, $value in $spacers {
69
+
70
+ $vars: map-merge((
71
+ --spacing-#{$key}: #{$value}
72
+ ), $vars);
73
+ }
74
+
48
75
  // #endregion
49
76
 
50
77
  // #region Colours
@@ -60,7 +87,7 @@ $dark: #46003c;
60
87
 
61
88
 
62
89
  // Functional/state variables
63
- $colour-body: #6f6f6f;
90
+ $colour-body: #595959;
64
91
  $colour-muted: #9d9d9d;
65
92
  $colour-border: #6f6f6f;
66
93
  $colour-link: $primary;
@@ -68,6 +95,8 @@ $colour-focus: #000000;
68
95
  $colour-hover: #000000;
69
96
  $colour-active: $success;
70
97
  $colour-selected: $info;
98
+ $body-color: $colour-body;
99
+ $colour-inverted: #FCFCFC;
71
100
 
72
101
  $colors: ();
73
102
  $grays: ();
@@ -142,7 +171,9 @@ $non-theme-colors: map-merge((
142
171
  "focus": $colour-focus,
143
172
  "hover": $colour-hover,
144
173
  "active": $colour-active,
145
- "selected": $colour-selected
174
+ "selected": $colour-selected,
175
+ "body": $colour-body,
176
+ "inverted": $colour-inverted
146
177
  ), $non-theme-colors);
147
178
 
148
179
  @each $color, $value in $non-theme-colors {
@@ -154,7 +185,6 @@ $non-theme-colors: map-merge((
154
185
  }
155
186
 
156
187
  $vars: map-merge((
157
- "--colour-body-theme": rgba(to-rgb($colour-body),var(--alpha,1)),
158
188
  "--colour-white-theme": rgba(to-rgb(#ffffff),var(--alpha,1)),
159
189
  "--colour-black-theme": rgba(to-rgb(#000000),var(--alpha,1)),
160
190
  "--colour-body": rgba(to-rgb($colour-body),var(--alpha,1)),
@@ -176,10 +206,10 @@ $aspect-ratios: (
176
206
  );
177
207
  // #endregion
178
208
 
179
- // #region fonts
209
+ // #region Type
180
210
 
181
- $font-body: 'qanelasmedium', arial, sans-serif;
182
- $font-heading: 'qanelas_softextrabold', arial, sans-serif;
211
+ $font-body: 'Qanelas', arial, sans-serif;
212
+ $font-heading: 'Qanelas', arial, sans-serif;
183
213
 
184
214
  $fonts: ();
185
215
  $fonts: map-merge((
@@ -187,7 +217,6 @@ $fonts: map-merge((
187
217
  "body": $font-body
188
218
  ), $fonts);
189
219
 
190
-
191
220
  @each $font, $value in $fonts {
192
221
 
193
222
  $vars: map-merge((
@@ -195,83 +224,82 @@ $fonts: map-merge((
195
224
  ), $vars);
196
225
  }
197
226
 
198
- // #endregion
199
-
200
- // #region Type
201
227
 
202
- $type-scale-1: #{rem(100)};
203
- $type-scale-2: #{rem(60)};
204
- $type-scale-3: #{rem(40)};
205
- $type-scale-4: #{rem(32)};
206
- $type-scale-5: #{rem(28)};
207
- $type-scale-6: #{rem(16)};
208
- $type-scale-7: #{rem(14)};
209
-
210
- $font-sizes: (
211
- 'display': $type-scale-3,
212
- 1: $type-scale-3,
213
- 2: $type-scale-4,
214
- 3: $type-scale-5,
215
- 4: $type-scale-6,
216
- 5: $type-scale-6,
217
- 6: $type-scale-6,
218
- 'badge': $badge-font-size,
219
- 'small': $type-scale-7,
220
- 'strapline': $type-scale-6
228
+ /* Headings variables are setup this way so that we can export them into the vue documentation */
229
+ $heading-sizes: (
230
+ /* H1 */
231
+ "h1_fs": 48,
232
+ "h1_lh": 56,
233
+ "h1_pb": 48,
234
+ "h1_fs_sm": 64,
235
+ "h1_lh_sm": 72,
236
+ "h1_pb_sm": 64,
237
+ /* H2 */
238
+ "h2_fs": 36,
239
+ "h2_lh": 44,
240
+ "h2_pb": 40,
241
+ "h2_fs_sm": 48,
242
+ "h2_lh_sm": 56,
243
+ "h2_pb_sm": 48,
244
+ /* H3 */
245
+ "h3_fs": 28,
246
+ "h3_lh": 36,
247
+ "h3_pb": 40,
248
+ "h3_fs_sm": 32,
249
+ "h3_lh_sm": 40,
250
+ "h3_pb_sm": 40,
251
+ /* H4 */
252
+ "h4_fs": 24,
253
+ "h4_lh": 32,
254
+ "h4_pb": 32,
255
+ "h4_fs_sm": 24,
256
+ "h4_lh_sm": 32,
257
+ "h4_pb_sm": 32,
258
+ "lead_fs": 18,
259
+ "lead_lh": 28,
260
+ "lead_pb": 48,
261
+ "body_fs": 16,
262
+ "body_lh": 24,
263
+ "body_pb": 48 - 24,
264
+ "body_end_pb": 48,
265
+ "small_fs": 14,
266
+ "small_lh": 24,
267
+ "small_pb": 48,
221
268
  );
222
269
 
223
- @each $size, $value in $font-sizes {
224
-
225
- $vars: map-merge((
226
- --fs-#{$size}: #{$value}
227
- ), $vars);
228
- }
270
+ /* H2 */
271
+ $h1-font-size: rem(map-get($heading-sizes,"h1_fs"));
272
+ $h2-font-size: rem(map-get($heading-sizes,"h2_fs"));
273
+ $h3-font-size: rem(map-get($heading-sizes,"h3_fs"));
274
+ $h4-font-size: rem(map-get($heading-sizes,"h4_fs"));
275
+ $h5-font-size: rem(map-get($heading-sizes,"h4_fs"));
276
+ $h6-font-size: rem(map-get($heading-sizes,"h4_fs"));
229
277
 
230
-
231
- $h1-font-size: var(--fs-1);
232
- $h2-font-size: var(--fs-2);
233
- $h3-font-size: var(--fs-3);
234
- $h4-font-size: var(--fs-4);
235
- $h5-font-size: var(--fs-5);
236
- $h6-font-size: var(--fs-6);
237
-
238
- $headings-margin-bottom: clamp(1rem,0.5em,0.5em);
239
- $headings-font-style: normal;
240
- $headings-line-height: clamp(1em,2.5rem,clamp(1.5em,1rem,1.2em));
241
- $display-line-height: $headings-line-height;
278
+ $heading-weight: 700;
242
279
 
243
280
  @if $compatible == 'true' {
244
281
  $headings-font-family: $font-heading;
245
- $headings-font-weight: 700;
282
+ $headings-font-weight: $heading-weight;
246
283
  $headings-color: $primary;
247
284
  }
248
285
  @else {
249
286
  $headings-font-family: var(--font-heading);
250
287
  $headings-font-weight: var(--heading-weight);
251
- $headings-color: var(--colour-primary);
288
+ $headings-color: var(--colour-heading);
252
289
  }
253
290
 
254
- $font-md-sizes: (
255
- 'display': $type-scale-1,
256
- 1: $type-scale-2,
257
- 2: $type-scale-3,
258
- 3: $type-scale-4,
259
- 4: $type-scale-5,
260
- 'strapline': $type-scale-5
261
- );
262
-
263
- @each $size, $value in $font-md-sizes {
291
+ $headings-margin-bottom: 0;
292
+ $headings-font-style: normal;
293
+ $headings-line-height: 2rem;
294
+ $display-line-height: $headings-line-height;
264
295
 
265
- $varsMD: map-merge((
266
- --fs-#{$size}: #{$value}
267
- ), $varsMD);
268
- }
269
296
 
270
297
  $vars: map-merge((
271
- --heading-weight: 700
298
+ --heading-weight: $heading-weight
272
299
  ), $vars);
273
300
 
274
- $content-max-width: rem(820);
301
+ $content-max-width-px: 800;
302
+ $content-max-width: rem($content-max-width-px);
275
303
  $paragraph-margin-bottom: 2rem;
276
304
 
277
305
  // #endregion
@@ -181,7 +181,7 @@
181
181
  @include font-size($h1-font-size, 'true');
182
182
  }
183
183
  @include expect {
184
- font-size: var(--fs-1);
184
+ font-size: 3rem;
185
185
  font-size: $h1-font-size;
186
186
  }
187
187
  }
@@ -9,7 +9,7 @@
9
9
  font-family: map-get($vars, --font-body);
10
10
  }
11
11
  @include expect {
12
- font-family: qanelasmedium, arial, sans-serif;
12
+ font-family: Qanelas, arial, sans-serif;
13
13
  }
14
14
  }
15
15
  }
@@ -19,7 +19,7 @@
19
19
  font-family: map-get($vars, --font-heading);
20
20
  }
21
21
  @include expect {
22
- font-family: qanelas_softextrabold, arial, sans-serif;
22
+ font-family: Qanelas, arial, sans-serif;
23
23
  }
24
24
  }
25
25
  }
@@ -1,7 +1,7 @@
1
1
  @use "../_func.scss" as *;
2
2
 
3
3
  // Accordion
4
- .accordion {
4
+ :is(.accordion, iam-accordion) {
5
5
  --accordion-indent: 0.75rem;
6
6
  --accordion-right-padding: 3rem;
7
7
  --accordion-y-padding: 1rem;
@@ -17,7 +17,7 @@
17
17
  }
18
18
  }
19
19
 
20
- .accordion-button {
20
+ .accordion-header {
21
21
 
22
22
  padding: $accordion-button-padding-y var(--accordion-right-padding) $accordion-button-padding-y $accordion-button-padding-x;
23
23
  color: var(--colour-heading);
@@ -29,6 +29,7 @@
29
29
  --marker-bg: var(--colour-secondary);
30
30
  cursor: pointer;
31
31
  position: relative;
32
+ max-width: 100%;
32
33
 
33
34
  .badge {
34
35
  vertical-align: bottom;
@@ -105,7 +106,7 @@
105
106
  }
106
107
 
107
108
  // #region Coloured summary
108
- summary[class*="bg-"] {
109
+ .accordion-header[class*="bg-"] {
109
110
 
110
111
  .accordion-button {
111
112
 
@@ -148,7 +149,7 @@ summary[class*="bg-"] {
148
149
  }
149
150
  }
150
151
 
151
- .accordion-body {
152
+ .accordion-item summary ~ * {
152
153
  text-align: left;
153
154
  padding: 0 $accordion-body-padding-x;
154
155
  }
@@ -156,11 +157,11 @@ summary[class*="bg-"] {
156
157
  // #region Straight edge
157
158
  .accordion--straight {
158
159
  > details > summary:not([class*="bg-"]) > .accordion-button,
159
- > details > .accordion-body {
160
+ > details > .accordion-item summary ~ * {
160
161
  padding-left: 0!important;
161
162
  }
162
163
 
163
- > details > .accordion-body {
164
+ .accordion-item summary ~ * {
164
165
  padding-right: 0!important;
165
166
  }
166
167
  }
@@ -195,3 +196,5 @@ summary[class*="bg-"] {
195
196
  }
196
197
  }
197
198
  // #endregion
199
+
200
+
@@ -25,6 +25,11 @@ a.card {
25
25
  overflow: hidden;
26
26
  max-width: rem(925);
27
27
 
28
+ .card-title {
29
+ margin-bottom: 0;
30
+ padding-bottom: 0;
31
+ }
32
+
28
33
  &:hover,
29
34
  &:focus {
30
35
  --spread: #{rem(6)};
@@ -109,6 +114,7 @@ a.card {
109
114
  color: var(--colour-body);
110
115
 
111
116
  *:last-child {
117
+ padding-bottom: 0;
112
118
  margin-bottom: 0;
113
119
  }
114
120
  }
@@ -159,6 +165,7 @@ a.card {
159
165
 
160
166
  .card-title {
161
167
  margin-bottom: 0;
168
+ padding-bottom: 0;
162
169
  padding-left: 2em;
163
170
  position: relative;
164
171
 
@@ -5,14 +5,14 @@
5
5
 
6
6
  // #region container
7
7
  .container {
8
-
8
+ display: block;
9
9
  margin-left: auto;
10
10
  margin-right: auto;
11
- padding: var(--container-padding-top) var(--container-padding-x) var(--container-padding-bottom) var(--container-padding-x);
11
+ padding: var(--container-padding);
12
12
  width: 100%;
13
13
 
14
14
  &:not(.container-fluid) {
15
- max-width: rem(1440);
15
+ max-width: rem(1280);
16
16
  }
17
17
 
18
18
  .container:not(.container-xs-breakout) {
@@ -23,13 +23,13 @@
23
23
  }
24
24
 
25
25
  &[class*="bg-"] {
26
- --container-padding-top: #{rem(48)};
27
- --container-padding-bottom: #{rem(32)};
26
+ padding-top: #{rem(48)};
27
+ padding-bottom: #{rem(32)};
28
28
  }
29
29
 
30
30
  &[class*="bg-"] + .container:not([class*="bg-"]) {
31
31
 
32
- --container-padding-top: #{rem(32)};
32
+ padding-top: #{rem(32)};
33
33
  }
34
34
 
35
35
 
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .form-control__wrapper {
2
4
  margin-bottom: 1.5rem;
3
5
  max-width: $content-max-width;
@@ -5,6 +5,10 @@
5
5
  margin-bottom: rem(32);
6
6
  position: relative;
7
7
  overflow: hidden;
8
+ max-width: 100%!important;
9
+
10
+
11
+
8
12
  @include media-breakpoint-up(md) {
9
13
  min-height: rem(470);
10
14
  }
@@ -14,6 +18,18 @@
14
18
  position: relative;
15
19
  }
16
20
 
21
+ .breadcrumb {
22
+
23
+ margin-top: rem(24);
24
+ margin-bottom: -0.5rem;
25
+
26
+ @include media-breakpoint-up(md) {
27
+ position: absolute;
28
+ top: 0;
29
+ left: rem(60);
30
+ }
31
+ }
32
+
17
33
  &__inner {
18
34
 
19
35
  @include reset-colours();
@@ -30,13 +46,14 @@
30
46
  margin: rem(112) 0 rem(80) 0;
31
47
  padding: rem(56) rem(64);
32
48
  }
49
+
33
50
  > *:last-child {
34
51
  padding-bottom: 0;
35
52
  margin-bottom: 0;
36
53
  }
37
54
  }
38
55
 
39
- > picture img {
56
+ picture img {
40
57
  display: none;
41
58
  @include media-breakpoint-up(md) {
42
59
  display: block;
@@ -50,15 +67,21 @@
50
67
  }
51
68
  }
52
69
 
53
- > .container > .breadcrumb {
54
-
55
- margin-top: rem(24);
56
- margin-bottom: -0.5rem;
70
+ }
57
71
 
58
- @include media-breakpoint-up(md) {
59
- position: absolute;
60
- top: 0;
61
- left: rem(60);
62
- }
72
+ // Web component CSS
73
+ ::slotted(.breadcrumb){
74
+ margin-top: rem(24)!important;
75
+ margin-bottom: -0.5rem!important;
76
+
77
+ @include media-breakpoint-up(md) {
78
+ position: absolute!important;
79
+ top: 0!important;
80
+ left: 5.25rem!important;
63
81
  }
64
- }
82
+ }
83
+
84
+ ::slotted(*:last-child) {
85
+ padding-bottom: 0!important;
86
+ margin-bottom: 0!important;
87
+ }
@@ -8,6 +8,8 @@ a,
8
8
  margin-bottom: rem(16);
9
9
  position: relative;
10
10
  text-decoration: none;
11
+ background: none;
12
+ border: none;
11
13
 
12
14
  &:not(.text-decoration-none):not(.btn):before {
13
15
  content: '';
@@ -30,8 +32,7 @@ a,
30
32
  width: 0%;
31
33
  }
32
34
 
33
- &:hover,
34
- &:focus,
35
+ &:is(:hover, :focus, .focus),
35
36
  .card:hover &,
36
37
  .card:focus & {
37
38
  @include var (color, --colour-hover);
@@ -33,7 +33,7 @@
33
33
  margin-top: var(--panel-gutter);
34
34
  }
35
35
 
36
- > *:last-child {
36
+ > *:last-child:not(details) {
37
37
  margin-bottom: var(--panel-gutter);
38
38
  }
39
39
 
@@ -49,7 +49,7 @@
49
49
 
50
50
  > .table__wrapper,
51
51
  > .note-feed > .table__wrapper,
52
- > .tabs__container:first-child > .tabs > .tab > .table__wrapper {
52
+ > .tabs > details > .table__wrapper {
53
53
 
54
54
  margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
55
55
  padding: 0 var(--panel-gutter) 0 var(--panel-gutter);
@@ -105,8 +105,7 @@
105
105
  min-height: calc(100% - 2rem);
106
106
  }
107
107
 
108
- .admin-panel .admin-panel__links,
109
- .admin-panel > .tabs__container:first-child > .tabs__links {
108
+ .admin-panel .admin-panel__links {
110
109
 
111
110
  margin-top: -3px!important;
112
111
  margin-left: calc(var(--panel-gutter) * -1);
@@ -57,7 +57,7 @@
57
57
  }
58
58
 
59
59
  &__title {
60
- margin-bottom: 1rem;
60
+ padding-bottom: 1rem;
61
61
 
62
62
  &:after {
63
63
  content: ":";
@@ -1,16 +1,9 @@
1
1
  @use "../_func" as *;
2
2
 
3
- .tabs__container {
3
+ .tabs {
4
4
 
5
5
  position: relative;
6
6
 
7
- .tab__input {
8
- position: absolute;
9
- top: 0;
10
- left: 0;
11
- opacity: 0;
12
- }
13
-
14
7
  > .tabs__links {
15
8
  margin-bottom: 1.5rem;
16
9
  overflow: hidden;
@@ -24,6 +17,7 @@
24
17
  margin: 0 0 0.5rem 0;
25
18
  float: left;
26
19
  clear: both;
20
+ padding: 0;
27
21
 
28
22
  @include media-breakpoint-up(sm) {
29
23
  clear: none;
@@ -37,51 +31,73 @@
37
31
  }
38
32
 
39
33
  &:hover:before,
40
- &:focus:before {
34
+ &:focus:before,
35
+ &.focus:before {
41
36
  width: 100%;
42
37
  }
43
38
  }
44
39
  }
45
40
 
46
- .tab {
47
- display: none;
48
- }
49
-
50
- input:focus-visible ~ .tabs__links {
51
- outline: blue outset 1px;
52
- }
53
-
54
- @for $i from 1 through 10 {
55
- input:checked:nth-child(#{$i}) ~ .tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(#{$i}) {
41
+ .tabs__links .link:not(.text-decoration-none):not(.btn)[aria-pressed="true"] {
56
42
 
57
- --is-current: 1;
58
- --panel-tab-colour: white;
59
- --panel-tab-border: var(--colour-secondary)
60
- }
61
- input:checked:nth-child(#{$i}) ~ .tabs > .tab:nth-child(#{$i}){
62
- display: block;
63
- display: contents;
64
- }
43
+ --is-current: 1;
44
+ --panel-tab-colour: white;
45
+ --panel-tab-border: var(--colour-secondary)
65
46
  }
66
47
  }
67
48
 
68
49
  // #region admin panel
69
- .admin-panel > .tabs__container:first-child {
50
+ .admin-panel .tabs__links,
51
+ :host(.admin-panel) .tabs__links {
52
+
53
+ margin-top: -3px!important;
54
+ margin-left: calc(var(--panel-gutter) * -1);
55
+ margin-right: calc(var(--panel-gutter) * -1);
56
+ display: flex;
57
+ flex-direction: column;
58
+ background-color: var(--body-bg);
59
+ border-bottom: 2px solid var(--colour-border-light);
60
+ margin-bottom: var(--panel-gutter);
61
+
62
+ @include media-breakpoint-up(sm) {
63
+
64
+ flex-direction: row;
65
+ border-top: 1px solid var(--colour-border-light);
66
+ }
70
67
 
71
- display: contents;
68
+ .link:not(.text-decoration-none):not(.btn) {
69
+ padding: var(--panel-gutter);
70
+ margin: 0;
71
+ width: 100%;
72
+ background: var(--panel-tab-colour);
73
+ border-top: 1px solid var(--colour-border-light);
74
+ border-left: 3px solid var(--panel-tab-border, #fafafa);
75
+ text-align: left;
76
+
77
+ &:before {
78
+ display: none;
79
+ }
72
80
 
73
- > .tabs {
74
- display: contents;
75
- }
81
+ @include media-breakpoint-up(sm) {
76
82
 
77
- > .tabs__links {
83
+ margin-right: 0!important;
78
84
 
79
- padding-bottom: 0;
85
+ &:first-child{
86
+ border-left: none!important;
87
+ }
80
88
 
81
- .link:not(.text-decoration-none):not(.btn) {
89
+ &:not(:first-child){
82
90
 
83
- margin-bottom: 0;
91
+ border-left: 1px solid var(--colour-border-light)!important;
92
+ }
93
+
94
+ border-top: 3px solid var(--panel-tab-border, #fafafa);
84
95
  }
85
96
  }
86
97
  }
98
+
99
+ :host(.admin-panel) {
100
+
101
+ display: block;
102
+ }
87
103
  // #endregion
@@ -60,12 +60,12 @@
60
60
  }
61
61
 
62
62
  > * {
63
- max-width: rem(math.div(1320,2) - 96);
63
+ max-width: rem(math.div(1112,2) - 96);
64
64
  order: 1;
65
65
  }
66
66
 
67
67
  > img {
68
- max-width: min(100%, #{rem(math.div(1320,2) - 96)});
68
+ max-width: min(100%, #{rem(math.div(1112,2) - 96)});
69
69
  margin-bottom: 2rem;
70
70
  }
71
71