@iamproperty/components 7.7.1--beta17 → 7.7.1--beta19

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 (95) hide show
  1. package/assets/css/components/carousel.component.css +1 -1
  2. package/assets/css/components/carousel.component.css.map +1 -1
  3. package/assets/css/components/carousel.config.css +1 -1
  4. package/assets/css/components/carousel.config.css.map +1 -1
  5. package/assets/css/components/header.component.css +1 -1
  6. package/assets/css/components/header.component.css.map +1 -1
  7. package/assets/css/components/nav.component.css +1 -1
  8. package/assets/css/components/nav.component.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/std-nav-standalone.component.css +1 -1
  12. package/assets/css/components/std-nav-standalone.component.css.map +1 -1
  13. package/assets/css/core.min.css +1 -1
  14. package/assets/css/core.min.css.map +1 -1
  15. package/assets/css/style.min.css +1 -1
  16. package/assets/css/style.min.css.map +1 -1
  17. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  18. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  19. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  20. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  21. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  22. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  23. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  24. package/assets/js/components/button/button.component.min.js +1 -1
  25. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  26. package/assets/js/components/card/card.component.min.js +1 -1
  27. package/assets/js/components/carousel/carousel.component.js +19 -38
  28. package/assets/js/components/carousel/carousel.component.min.js +8 -16
  29. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  30. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  31. package/assets/js/components/config/config.component.min.js +1 -1
  32. package/assets/js/components/content/content.component.js +2 -0
  33. package/assets/js/components/content/content.component.min.js +3 -3
  34. package/assets/js/components/content/content.component.min.js.map +1 -1
  35. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  36. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  37. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  38. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  39. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  40. package/assets/js/components/form/form.component.min.js +1 -1
  41. package/assets/js/components/header/header.component.min.js +2 -2
  42. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  43. package/assets/js/components/input/input.component.min.js +1 -1
  44. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  45. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  46. package/assets/js/components/menu/menu.component.min.js +1 -1
  47. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  48. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  49. package/assets/js/components/modal/modal.component.min.js +1 -1
  50. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  51. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  52. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  53. package/assets/js/components/nav/nav.component.min.js +3 -3
  54. package/assets/js/components/notification/notification.component.min.js +1 -1
  55. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  56. package/assets/js/components/password/password.component.min.js +1 -1
  57. package/assets/js/components/popover/popover.component.min.js +1 -1
  58. package/assets/js/components/rank/rank.component.min.js +1 -1
  59. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  60. package/assets/js/components/rating/rating.component.min.js +1 -1
  61. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  62. package/assets/js/components/search/search.component.min.js +1 -1
  63. package/assets/js/components/slider/slider.component.min.js +1 -1
  64. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  65. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  66. package/assets/js/components/std-nav/std-nav.component.min.js +3 -3
  67. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +2 -2
  68. package/assets/js/components/table/table.component.min.js +1 -1
  69. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  70. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  71. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  72. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  73. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  74. package/assets/js/components/tag/tag.component.min.js +1 -1
  75. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  76. package/assets/js/components/video/video.component.min.js +1 -1
  77. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  78. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  79. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  80. package/assets/js/modules/content.js +11 -0
  81. package/assets/js/scripts.bundle.js +1 -1
  82. package/assets/js/scripts.bundle.min.js +1 -1
  83. package/assets/sass/components/carousel.component.scss +0 -640
  84. package/assets/sass/components/carousel.config.scss +670 -7
  85. package/assets/sass/components/header.component.scss +5 -0
  86. package/assets/sass/components/nav.component.scss +5 -4
  87. package/assets/sass/components/nav.global.scss +3 -1
  88. package/assets/sass/foundations/reboot.scss +1 -0
  89. package/assets/ts/components/carousel/carousel.component.ts +29 -53
  90. package/assets/ts/components/content/content.component.ts +4 -0
  91. package/assets/ts/components/std-nav/std-nav.component.ts +0 -2
  92. package/assets/ts/modules/content.ts +17 -0
  93. package/dist/components.es.js +24 -24
  94. package/dist/components.umd.js +96 -104
  95. package/package.json +1 -1
@@ -25,20 +25,683 @@
25
25
  }
26
26
  }
27
27
 
28
- /* #region Carousel inside of a admin panel */
29
- .admin-panel:has(iam-carousel) {
30
- --hide-carousel-btns: 1;
28
+ }
29
+
30
+
31
+
32
+ @layer components {
33
+
34
+
35
+ iam-carousel {
36
+ --button-height: 3rem;
37
+ --marker-height: 1.25rem;
38
+ --marker-mb: 1rem;
39
+ padding-inline: 0.5rem;
40
+ margin-inline: -0.5rem;
41
+ padding-bottom: calc(1rem + var(--button-height) + var(--marker-height) + var(--marker-mb));
42
+
43
+ margin-bottom: var(--carousel-mb, 1.5rem);
44
+ scroll-padding: 0.5rem;
45
+ display: grid;
46
+ grid-auto-flow: column;
47
+ gap: var(--gap);
48
+ anchor-scope: all;
49
+ anchor-name: --carousel;
50
+ overflow-x: auto;
51
+ overscroll-behavior-x: contain;
52
+ scroll-snap-type: x mandatory;
53
+ scrollbar-width: none;
54
+ scroll-marker-group: before;
55
+ scroll-behavior: smooth;
56
+ grid-auto-flow: column;
57
+ grid-auto-columns: calc((100% / var(--count,1)) - ((var(--gap) * (var(--count,1) - 1)) / var(--count,1)));
31
58
  }
32
59
 
33
- .admin-panel:has(iam-carousel:last-child) {
34
- --carousel-mb: 0rem;
60
+ /* #region items */
61
+
62
+ iam-carousel > * {
63
+
64
+ container-type: scroll-state;
65
+ grid-column: auto;
66
+ min-height: 100%;
67
+ margin: 0;
68
+ scroll-snap-align: start;
35
69
  }
70
+ /* #endregion */
36
71
 
37
-
72
+ /* #region left and right buttons */
73
+ iam-carousel {
74
+
75
+ &::scroll-button(*) {
76
+
77
+ cursor: pointer;
78
+ position-anchor: --carousel;
79
+ background: none;
80
+ border: none;
81
+
82
+ font-size: 1rem !important;
83
+ padding: 0 !important;
84
+ margin-bottom: .5rem;
85
+ text-align: center;
86
+ width: var(--button-height);
87
+ height: var(--button-height);
88
+ align-content: center;
89
+ line-height: 1 !important;
90
+ overflow: hidden;
91
+ font-size: 1rem;
92
+ font-family: "Font Awesome 7 Pro" !important;
93
+ display: none;
94
+ position: absolute;
95
+ position-area: block-end center;
96
+ border-radius: 50%;
97
+ margin-top: calc((var(--button-height) + var(--marker-height) + var(--marker-mb)) * -1);
98
+
99
+ }
100
+
101
+ &::scroll-button(left) {
102
+
103
+ display: inline-block;
104
+ //left: anchor(left);
105
+ content: "\f053" / "Scroll left"!important;
106
+ margin-left: calc(var(--button-height) * -1) !important;
107
+ }
108
+
109
+ &::scroll-button(right) {
110
+
111
+ display: inline-block;
112
+ //right: anchor(right);
113
+ content: "\f054" / "Scroll right"!important;
114
+ margin-right: calc(var(--button-height) * -1) !important;
115
+ }
116
+
117
+ &::scroll-button(*):disabled {
118
+ pointer-events: none;
119
+ }
120
+
121
+ &::scroll-button(*):is(:hover,:focus-visible) {
122
+ outline-offset: 5px;
123
+ background-color: var(--colour-light);
124
+ border-color: var(--colour);
125
+ }
126
+ }
38
127
  /* #endregion */
39
128
 
40
- /* #region carousel in dialog */
129
+ /* #region left and right buttons on desktop */
130
+ iam-carousel-wrapper iam-carousel {
131
+
132
+ @container (min-width: 62em) {
133
+
134
+ --button-height: 0rem;
135
+
136
+ &::scroll-button(*) {
137
+ --button-height: 3rem;
138
+ margin-top: -1rem;
139
+ }
140
+ &::scroll-button(left) {
141
+ position-area: center inline-start;
142
+ }
143
+
144
+ &::scroll-button(right) {
145
+ position-area: center inline-end;
146
+ }
147
+ }
148
+ }
149
+ /* #endregion */
150
+
151
+ @container style(--hide-carousel-btns) {
152
+ iam-carousel {
153
+
154
+ --button-height: 0rem;
155
+ }
156
+ iam-carousel::scroll-button(*) {
157
+
158
+ display: none!important;
159
+ }
160
+ }
161
+
162
+ /* #region markers */
163
+ iam-carousel {
164
+ &::scroll-marker-group {
41
165
 
166
+ position: absolute;
167
+ position-anchor: --carousel;
168
+ container: marker-group / inline-size;
169
+ display: grid;
170
+ place-content: safe center;
171
+ box-sizing: border-box;
172
+ border-radius: var(--radius-round);
173
+ scrollbar-width: none;
174
+ scroll-behavior: smooth;
175
+ inline-size: 100%;
176
+ max-inline-size: 100cqi;
177
+ overflow-x: auto;
178
+ scroll-snap-type: x mandatory;
179
+ overscroll-behavior-x: contain;
180
+ grid-auto-columns: var(--marker-height); /* Magic number */
181
+ grid-auto-rows: var(--marker-height); /* Magic number */
182
+
183
+ overflow-x: auto;
184
+ top: auto;
185
+ bottom: anchor(bottom);
186
+ grid-auto-flow: column;
187
+ justify-items: center;
188
+ align-items: center;
189
+ padding-block: 0;
190
+ margin-bottom: var(--marker-mb);
191
+ left: anchor(center);
192
+ transform: translate(-50%, 0);
193
+ }
194
+
195
+
196
+ > *::scroll-marker {
197
+ content: "";
198
+ scroll-snap-align: start;
199
+ cursor: pointer;
200
+ text-decoration: none;
201
+ interactivity: auto;
202
+ //display: none;
203
+ width: .5rem;
204
+ aspect-ratio: 1;
205
+ border-radius: 50%;
206
+ overflow: hidden;
207
+ background: #a5ecfd; /* Magic colour */
208
+ cursor: pointer;
209
+ border: none;
210
+ }
211
+
212
+ > *::scroll-marker:target-current {
213
+
214
+ border-color: var(--colour-info);
215
+ background: var(--colour-info);
216
+ width: 1rem;
217
+ height: 1rem;
218
+ min-height: 1rem;
219
+ margin-inline: .125rem; /* Magic number */
220
+ }
221
+
222
+ }
223
+ /* #endregion */
224
+
225
+ /* #region count the number of items and set variables to hide the controls/markers */
226
+ iam-carousel:has(> *:first-child:last-child) {
227
+
228
+ --hide-buttons: 1;
229
+ --hide-markers: 1;
230
+ }
42
231
 
232
+ iam-carousel {
233
+
234
+ @container (min-width: 36em) {
235
+ &[data-smcols='2']:not(:has(> *:nth-child(3))) {
236
+
237
+ --hide-buttons: 1;
238
+ --hide-markers: 1;
239
+
240
+ --button-height: 0rem;
241
+ --marker-height: 0rem;
242
+ --marker-mb: 0rem;
243
+ }
244
+ &[data-smcols='3']:not(:has(> *:nth-child(4))) {
245
+
246
+ --hide-buttons: 1;
247
+ --hide-markers: 1;
248
+
249
+ --button-height: 0rem;
250
+ --marker-height: 0rem;
251
+ --marker-mb: 0rem;
252
+ }
253
+ }
254
+
255
+ @container (min-width: 62em) {
256
+ &[data-mdcols='2']:not(:has(> *:nth-child(3))) {
257
+
258
+ --hide-buttons: 1;
259
+ --hide-markers: 1;
260
+
261
+ --button-height: 0rem;
262
+ --marker-height: 0rem;
263
+ --marker-mb: 0rem;
264
+ }
265
+ &[data-mdcols='3']:not(:has(> *:nth-child(4))) {
266
+
267
+ --hide-buttons: 1;
268
+ --hide-markers: 1;
269
+
270
+ --button-height: 0rem;
271
+ --marker-height: 0rem;
272
+ --marker-mb: 0rem;
273
+ }
274
+ }
275
+ }
276
+ /* #endregion */
277
+
278
+ /* #region change the item count via queries */
279
+ iam-carousel {
280
+
281
+ @container (min-width: 36em) {
282
+ &[data-smcols='2'] {
283
+
284
+ --count: 2;
285
+ }
286
+ &[data-smcols='3'] {
287
+
288
+ --count: 3;
289
+ }
290
+ }
291
+
292
+ @container (min-width: 64em) {
293
+ &[data-mdcols='2'] {
294
+
295
+ --count: 2;
296
+ }
297
+ &[data-mdcols='3'] {
298
+
299
+ --count: 3;
300
+ }
301
+ }
302
+ }
303
+ /* #endregion */
304
+
305
+ /* #region carousel responsive to the count number variable */
306
+ iam-carousel {
307
+
308
+ > * {
309
+
310
+ @container style(--count) {
311
+
312
+ scroll-snap-align: unset;
313
+
314
+ &::scroll-marker{
315
+
316
+ display: none;
317
+ }
318
+ }
319
+
320
+ @container not scroll-state(snapped: x) {
321
+
322
+ --opacity: 0;
323
+ }
324
+
325
+ @container style(--count: 2) {
326
+
327
+ &:nth-child(2n - 1) {
328
+ scroll-snap-align: start;
329
+ scroll-snap-stop: always;
330
+ }
331
+
332
+ &:nth-child(2n - 1)::scroll-marker{
333
+
334
+ display: block;
335
+ }
336
+ }
337
+
338
+ @container style(--count: 3) {
339
+
340
+ &:nth-child(3n - 2) {
341
+ scroll-snap-align: start;
342
+ scroll-snap-stop: always;
343
+ }
344
+
345
+ &:nth-child(3n - 2)::scroll-marker{
346
+
347
+ display: block;
348
+ }
349
+ }
350
+ }
351
+ }
352
+
353
+ /* #endregion */
354
+
355
+ /* #region hide controls/markers */
356
+ iam-carousel {
357
+
358
+ @container style(--hide-buttons) {
359
+
360
+ --button-height: 0rem;
361
+
362
+ &::scroll-button(*) {
363
+ display: none;
364
+ }
365
+ }
366
+
367
+ @container style(--hide-markers) {
368
+
369
+ --marker-height: 0rem;
370
+ --marker-mb: 0rem;
371
+
372
+ &::scroll-marker-group {
373
+ display: none;
374
+ }
375
+ }
376
+ }
377
+ /* #endregion */
378
+
379
+ /* #region carousel inside of admin panel */
380
+ .admin-panel {
381
+
382
+ --hide-buttons: 1;
383
+
384
+ &:has(iam-carousel){
385
+
386
+ container-type: inline-size;
387
+ }
388
+
389
+ iam-carousel {
390
+
391
+ --button-height: 0rem;
392
+ --marker-mb: 0rem;
393
+ margin-bottom: 0;
394
+ }
395
+ }
396
+ /* #endregion */
397
+
398
+
399
+ /* #region progress bar */
400
+ .carousel__controls {
401
+ display: none;
402
+ position: absolute;
403
+ position-anchor: --carousel;
404
+
405
+ top: auto;
406
+ left: anchor(left);
407
+ right: anchor(right);
408
+ min-height: 0;
409
+ width: auto;
410
+ bottom: anchor(bottom);
411
+ z-index: 99;
412
+ }
413
+
414
+ .carousel__progress {
415
+ margin-inline: auto;
416
+ text-align: center;
417
+ display: none;
418
+ padding-bottom: 0;
419
+
420
+ input[type='range'] {
421
+ --track-size: 0.5rem;
422
+ --track-colour: #a5ecfd;
423
+ --thumb-colour: var(--colour-info);
424
+ --thumb-size: 1rem;
425
+ --thumb-size-outline: 0;
426
+ width: 90%;
427
+ max-width: 10.75rem; /* 172 */
428
+
429
+ background: transparent;
430
+ cursor: pointer;
431
+ margin: 0;
432
+ height: 1rem;
433
+ border-radius: 50%;
434
+ accent-color: var(--thumb-colour);
435
+ -webkit-appearance: none;
436
+ appearance: none;
437
+ }
438
+
439
+ /* Track Styles */
440
+ input[type='range']::-webkit-slider-runnable-track {
441
+ background: var(--track-colour);
442
+ height: var(--track-size);
443
+ border-radius: 0.5625rem; /* 9 */
444
+ }
445
+
446
+ input[type='range']::-moz-range-track {
447
+ background: var(--track-colour);
448
+ height: var(--track-size);
449
+ border-radius: 0.5625rem; /* 9 */
450
+ }
451
+
452
+ /* Extended track functionality */
453
+ input[type='range']::-webkit-slider-runnable-track {
454
+ background: linear-gradient(
455
+ to right,
456
+ var(--track-colour),
457
+ var(--track-colour) var(--start-percent, 0%),
458
+ var(--thumb-colour) var(--start-percent, 0%),
459
+ var(--thumb-colour) calc(var(--percent, 0%)),
460
+ var(--track-colour) calc(var(--percent, 0%))
461
+ );
462
+ }
463
+
464
+ input[type='range']::-moz-range-track {
465
+ background: linear-gradient(
466
+ to right,
467
+ var(--track-colour),
468
+ var(--track-colour) var(--start-percent, 0%),
469
+ var(--thumb-colour) var(--start-percent, 0%),
470
+ var(--thumb-colour) calc(var(--percent, 0%)),
471
+ var(--track-colour) calc(var(--percent, 0%))
472
+ );
473
+ }
474
+
475
+ /* Thumb Styles */
476
+ input[type='range']::-webkit-slider-thumb {
477
+ -webkit-appearance: none; /* Override default look */
478
+ appearance: none;
479
+ margin-top: -0.25rem; /* Centers thumb on the track */
480
+ background-color: var(--thumb-colour);
481
+ height: var(--thumb-size);
482
+ width: var(--thumb-size);
483
+ border-radius: 50%;
484
+ position: relative;
485
+ z-index: 99;
486
+ pointer-events: all;
487
+ }
488
+
489
+ input[type='range']::-moz-range-thumb {
490
+ border: none; /*Removes extra border that FF applies*/
491
+ background-color: var(--thumb-colour); /*Removes default border-radius that FF applies*/
492
+ height: var(--thumb-size);
493
+ width: var(--thumb-size);
494
+ border-radius: 50%;
495
+ position: relative;
496
+ z-index: 99;
497
+ pointer-events: all;
498
+ }
499
+
500
+ /* Focus Styles */
501
+ input[type='range']:focus {
502
+ outline: none;
503
+ }
504
+
505
+ input[type='range']:hover::-webkit-slider-thumb,
506
+ input[type='range']:focus::-webkit-slider-thumb {
507
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
508
+ }
509
+
510
+ input[type='range']:active::-webkit-slider-thumb {
511
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
512
+ }
513
+
514
+ input[type='range']:hover::-moz-range-thumb,
515
+ input[type='range']:focus::-moz-range-thumb {
516
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
517
+ }
518
+ input[type='range']:focus::-moz-range-thumb {
519
+ outline: var(--thumb-size-outline) solid var(--thumb-colour);
520
+ }
521
+ }
522
+ /* #endregion */
523
+ @supports not selector(::scroll-marker-group) {
524
+
525
+ iam-carousel {
526
+ --button-height: 0rem;
527
+ --marker-height: 0rem;
528
+ --marker-mb: 0rem;
529
+ }
530
+
531
+ .carousel__controls {
532
+ display: block;
533
+ }
534
+
535
+ .carousel__progress-xs {
536
+ display: block;
537
+ }
538
+
539
+ @container (min-width: 36em) {
540
+
541
+ .carousel__progress-xs {
542
+ display: none;
543
+ }
544
+ .carousel__progress-sm {
545
+ display: block;
546
+ }
547
+ }
548
+
549
+ @container (min-width: 62em) {
550
+
551
+ .carousel__progress-sm {
552
+ display: none;
553
+ }
554
+ .carousel__progress-md {
555
+ display: block;
556
+ }
557
+ }
558
+
559
+ }
560
+
561
+ @supports selector(::scroll-marker-group) {
562
+
563
+
564
+ @container (max-width: 36em) {
565
+ iam-carousel:has(> *:nth-child(5)){
566
+
567
+ --button-height: 0rem;
568
+
569
+ --hide-buttons: 1;
570
+ --hide-markers: 1;
571
+
572
+ .carousel__controls {
573
+ display: block;
574
+ }
575
+ }
576
+ iam-carousel:has(> *:nth-child(5)) + .carousel__progress {
577
+ display: block;
578
+ }
579
+ }
580
+
581
+ @container (min-width: 36em) {
582
+
583
+ .carousel__progress {
584
+ display: none;
585
+ }
586
+
587
+ iam-carousel[data-smcols="2"]:has(> *:nth-child(10)){
588
+
589
+ --button-height: 0rem;
590
+
591
+ --hide-buttons: 1;
592
+ --hide-markers: 1;
593
+
594
+ .carousel__controls {
595
+ display: block;
596
+ }
597
+ }
598
+ iam-carousel[data-smcols="2"]:has(> *:nth-child(10)) .carousel__progress-sm {
599
+ display: block;
600
+ }
601
+
602
+ iam-carousel[data-smcols="3"]:has(> *:nth-child(15)){
603
+
604
+ --button-height: 0rem;
605
+
606
+ --hide-buttons: 1;
607
+ --hide-markers: 1;
608
+
609
+ .carousel__controls {
610
+ display: block;
611
+ }
612
+ }
613
+
614
+ iam-carousel[data-smcols="3"]:has(> *:nth-child(15)) .carousel__progress-sm {
615
+ display: block;
616
+ }
617
+ }
618
+
619
+ @container (min-width: 62em) {
620
+
621
+ .carousel__progress-sm {
622
+ display: none;
623
+ }
624
+
625
+ iam-carousel[data-mdcols="2"]:has(> *:nth-child(10)){
626
+
627
+ --button-height: 0rem;
628
+
629
+ --hide-buttons: 1;
630
+ --hide-markers: 1;
631
+
632
+ .carousel__controls {
633
+ display: block;
634
+ }
635
+ }
636
+
637
+ iam-carousel[data-mdcols="2"]:has(> *:nth-child(10)) .carousel__progress-md {
638
+ display: block;
639
+ }
640
+
641
+ iam-carousel[data-mdcols="3"]:has(> *:nth-child(15)){
642
+
643
+ --button-height: 0rem;
644
+
645
+ --hide-buttons: 1;
646
+ --hide-markers: 1;
647
+
648
+ .carousel__controls {
649
+ display: block;
650
+ }
651
+ }
652
+
653
+ iam-carousel[data-mdcols="3"]:has(> *:nth-child(15)) .carousel__progress-md {
654
+ display: block;
655
+ }
656
+ }
657
+
658
+ }
659
+
660
+
661
+ /* #region thumbnails */
662
+ iam-carousel.thumbnails {
663
+
664
+ --hide-buttons: 1;
665
+ --hide-markers: 1;
666
+
667
+ .carousel__controls {
668
+ display: block;
669
+ }
670
+ }
671
+ .carousel__pips {
672
+ display: flex !important;
673
+ flex-wrap: nowrap;
674
+ max-width: 100%;
675
+ overflow: hidden;
676
+ height: 5rem;
677
+ overflow-x: auto;
678
+
679
+ button {
680
+ padding: 0;
681
+ margin: 0 0.2rem 0.4rem;
682
+
683
+ width: 6rem;
684
+ height: 4rem;
685
+ aspect-ratio: 3 / 2;
686
+
687
+ border-radius: 0;
688
+ position: relative;
689
+ border-radius: 0.25rem;
690
+
691
+ img {
692
+ position: absolute;
693
+ inset: 0;
694
+ height: 100%;
695
+ width: 100%;
696
+ object-fit: cover;
697
+ margin: 0;
698
+ }
699
+
700
+ &[aria-current] {
701
+ outline: 2px solid var(--colour-info);
702
+ }
703
+ }
704
+ }
705
+
43
706
  /* #endregion */
44
707
  }
@@ -140,6 +140,11 @@ slot[name="badge"] {
140
140
  max-width: 4.75rem!important; /* TODO: magic number 1 column */
141
141
  }
142
142
 
143
+ ::slotted(img.panel-img--lg[slot="panel"]) {
144
+
145
+ max-width: 14.25rem!important; /* TODO: magic number 2 column */
146
+ }
147
+
143
148
  :host(.has-panel) slot[name="panel"]{
144
149
  container-type: inline-size;
145
150
  anchor-name: --anchor;