@iamproperty/components 7.1.0--beta5 → 7.1.0--beta7

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 (100) hide show
  1. package/assets/css/components/actionbar.css.map +1 -1
  2. package/assets/css/components/actionbar.global.css.map +1 -1
  3. package/assets/css/components/barchart.component.css +1 -1
  4. package/assets/css/components/barchart.component.css.map +1 -1
  5. package/assets/css/components/card.component.css.map +1 -1
  6. package/assets/css/components/carousel.component.css.map +1 -1
  7. package/assets/css/components/carousel.config.css.map +1 -1
  8. package/assets/css/components/charts.module.css +1 -1
  9. package/assets/css/components/charts.module.css.map +1 -1
  10. package/assets/css/components/collapsible-side.css.map +1 -1
  11. package/assets/css/components/header.css.map +1 -1
  12. package/assets/css/components/marketing.css.map +1 -1
  13. package/assets/css/components/multi-step.component.css.map +1 -1
  14. package/assets/css/components/multiselect.css +1 -1
  15. package/assets/css/components/multiselect.css.map +1 -1
  16. package/assets/css/components/multiselect.preload.css.map +1 -1
  17. package/assets/css/components/nav.css.map +1 -1
  18. package/assets/css/components/nav.docs.css.map +1 -1
  19. package/assets/css/components/nav.global.css.map +1 -1
  20. package/assets/css/components/nav.old.css.map +1 -1
  21. package/assets/css/components/nav.preload.css.map +1 -1
  22. package/assets/css/components/notification.css.map +1 -1
  23. package/assets/css/components/pagination.css.map +1 -1
  24. package/assets/css/components/property-searchbar.css.map +1 -1
  25. package/assets/css/components/snapshot.css.map +1 -1
  26. package/assets/css/components/stepper.css.map +1 -1
  27. package/assets/css/components/table.global.css.map +1 -1
  28. package/assets/css/components/tabs.css +1 -1
  29. package/assets/css/components/tabs.css.map +1 -1
  30. package/assets/css/components/testimonial.css.map +1 -1
  31. package/assets/css/components/timeline.css.map +1 -1
  32. package/assets/css/core.min.css +1 -1
  33. package/assets/css/core.min.css.map +1 -1
  34. package/assets/css/style.min.css +1 -1
  35. package/assets/css/style.min.css.map +1 -1
  36. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  37. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  38. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  39. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  40. package/assets/js/components/barchart/barchart.component.min.js +4 -4
  41. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  42. package/assets/js/components/card/card.component.min.js +1 -1
  43. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  44. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  45. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  46. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  47. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  48. package/assets/js/components/header/header.component.min.js +1 -1
  49. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  50. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  51. package/assets/js/components/multiselect/multiselect.component.js +5 -0
  52. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  53. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  54. package/assets/js/components/nav/nav.component.min.js +1 -1
  55. package/assets/js/components/notification/notification.component.min.js +1 -1
  56. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  57. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  58. package/assets/js/components/search/search.component.min.js +1 -1
  59. package/assets/js/components/slider/slider.component.min.js +1 -1
  60. package/assets/js/components/table/table.component.js +4 -2
  61. package/assets/js/components/table/table.component.min.js +2 -2
  62. package/assets/js/components/table/table.component.min.js.map +1 -1
  63. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  64. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  65. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  66. package/assets/js/components.bundle.js +1 -1
  67. package/assets/js/modules/chart.module.js +19 -5
  68. package/assets/js/modules/tabs.js +12 -22
  69. package/assets/js/scripts.bundle.js +1 -1
  70. package/assets/js/scripts.bundle.min.js +1 -1
  71. package/assets/sass/_bs_grid.scss +36 -0
  72. package/assets/sass/_corefiles.scss +1 -18
  73. package/assets/sass/_func.scss +2 -4
  74. package/assets/sass/_functions/mixins.scss +0 -39
  75. package/assets/sass/_functions/utility-mixins.scss +1433 -0
  76. package/assets/sass/{foundations/grid.scss → _grid.scss} +83 -83
  77. package/assets/sass/_utilities.scss +26 -118
  78. package/assets/sass/_utility-mixins.scss +32 -0
  79. package/assets/sass/components/barchart.component.scss +2 -0
  80. package/assets/sass/components/charts.module.scss +29 -2
  81. package/assets/sass/components/multiselect.scss +1 -1
  82. package/assets/sass/components/tabs.scss +2 -3
  83. package/assets/sass/core.scss +3 -1
  84. package/assets/sass/elements/admin-panel.scss +62 -9
  85. package/assets/sass/elements/container.scss +33 -0
  86. package/assets/sass/email.scss +4 -0
  87. package/assets/sass/error.scss +4 -0
  88. package/assets/sass/helpers/line-clamp.scss +0 -23
  89. package/assets/sass/main.scss +4 -1
  90. package/assets/ts/components/multiselect/multiselect.component.ts +5 -0
  91. package/assets/ts/components/table/table.component.ts +8 -5
  92. package/assets/ts/modules/chart.module.ts +24 -5
  93. package/assets/ts/modules/tabs.ts +11 -23
  94. package/dist/components.es.js +11 -11
  95. package/dist/components.umd.js +14 -14
  96. package/dist/style.css +1 -1
  97. package/package.json +1 -1
  98. package/assets/sass/components.reset.scss +0 -8
  99. package/assets/sass/foundations/bs_grid.scss +0 -32
  100. /package/assets/sass/_functions/{utilities.scss → bs_utilities.scss} +0 -0
@@ -1,87 +1,6 @@
1
1
  @use 'sass:math';
2
2
  @use 'sass:map';
3
- @use '../_func' as *;
4
-
5
- // #region Main grid setup
6
- body {
7
- --excess-space: calc((100% - var(--max-width, #{$max-width})) / 2);
8
- --col-size: calc(
9
- (
10
- 100% - max(0%, var(--excess-space)) - max(0%, var(--excess-space)) - var(--gutter, #{$gutter}) - var(
11
- --gutter,
12
- #{$gutter}
13
- ) -
14
- (var(--gap, #{$gap}) * (#{$columns - 1}))
15
- ) /
16
- #{$columns}
17
- );
18
- column-gap: var(--gap, #{$gap});
19
- display: grid;
20
- margin-inline: 0;
21
- width: 100%;
22
- $templateColumns: '';
23
- @for $i from 1 to $columns {
24
- $templateColumns: $templateColumns + 'var(--col-size) [col-' + $i + '-end col-'+ ($i + 1)+'-start] ';
25
- }
26
- grid-template-columns:
27
- [full-width-start container-start] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
28
- [content-start col-1-start]
29
- #{$templateColumns}
30
- var(--col-size) [col-#{$columns}-end content-end] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
31
- [container-end full-width-end];
32
-
33
- @media screen and (min-width: #{em($max-width-px * $max-scale-up)}) {
34
- grid-template-columns:
35
- [full-width-start] calc(var(--excess-space) - var(--gap, #{$gap}))
36
- [container-start] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
37
- [content-start col-1-start]
38
- #{$templateColumns}
39
- var(--col-size) [col-#{$columns}-end content-end] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
40
- [container-end] calc(var(--excess-space) - var(--gap, #{$gap})) [full-width-end];
41
- }
42
-
43
- grid-template-rows: auto;
44
- align-content: start;
45
- justify-content: center;
46
-
47
- & * {
48
- grid-column: content;
49
-
50
- &:where(button):not(:has(.card)) {
51
- max-width: fit-content;
52
- place-self: start;
53
- }
54
-
55
- &:is(div) {
56
- align-content: start;
57
- }
58
- }
59
- }
60
-
61
- div:has(main) {
62
- display: contents !important;
63
- }
64
-
65
- :is(nav, main, footer) {
66
- display: grid;
67
- grid-column: full-width !important;
68
- grid-template-columns: subgrid;
69
- }
70
-
71
- *:not(.row) > main:not(:has(.container:last-child)):not(:has(iam-collapsible-side:last-child)) {
72
- padding-bottom: 1rem;
73
- }
74
-
75
- main > :is(.full-width, [class*='bg-']:has(.container), iam-header, iam-collapsible-side, iam-notification) {
76
- grid-column: full-width;
77
- }
78
-
79
- [class*='bg-']:not([class*='col-']):has(.container) {
80
- display: grid;
81
- grid-column: full-width;
82
- grid-template-columns: subgrid;
83
- }
84
- // #endregion
3
+ @use '_func' as *;
85
4
 
86
5
  // #region grid mixins
87
6
  @mixin grid-utilities($br: '') {
@@ -179,7 +98,88 @@ main > :is(.full-width, [class*='bg-']:has(.container), iam-header, iam-collapsi
179
98
  }
180
99
  // #endregion
181
100
 
182
- @if $enable-new-grid == 'true' {
101
+ @include layer('reset') {
102
+ // #region Main grid setup
103
+ body {
104
+ --excess-space: calc((100% - var(--max-width, #{$max-width})) / 2);
105
+ --col-size: calc(
106
+ (
107
+ 100% - max(0%, var(--excess-space)) - max(0%, var(--excess-space)) - var(--gutter, #{$gutter}) - var(
108
+ --gutter,
109
+ #{$gutter}
110
+ ) -
111
+ (var(--gap, #{$gap}) * (#{$columns - 1}))
112
+ ) /
113
+ #{$columns}
114
+ );
115
+ column-gap: var(--gap, #{$gap});
116
+ display: grid;
117
+ margin-inline: 0;
118
+ width: 100%;
119
+ $templateColumns: '';
120
+ @for $i from 1 to $columns {
121
+ $templateColumns: $templateColumns + 'var(--col-size) [col-' + $i + '-end col-'+ ($i + 1)+'-start] ';
122
+ }
123
+ grid-template-columns:
124
+ [full-width-start container-start] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
125
+ [content-start col-1-start]
126
+ #{$templateColumns}
127
+ var(--col-size) [col-#{$columns}-end content-end] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
128
+ [container-end full-width-end];
129
+
130
+ @media screen and (min-width: #{em($max-width-px * $max-scale-up)}) {
131
+ grid-template-columns:
132
+ [full-width-start] calc(var(--excess-space) - var(--gap, #{$gap}))
133
+ [container-start] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
134
+ [content-start col-1-start]
135
+ #{$templateColumns}
136
+ var(--col-size) [col-#{$columns}-end content-end] calc(var(--gutter, #{$gutter}) - var(--gap, #{$gap}))
137
+ [container-end] calc(var(--excess-space) - var(--gap, #{$gap})) [full-width-end];
138
+ }
139
+
140
+ grid-template-rows: auto;
141
+ align-content: start;
142
+ justify-content: center;
143
+
144
+ & * {
145
+ grid-column: content;
146
+
147
+ &:where(button):not(:has(.card)) {
148
+ max-width: fit-content;
149
+ place-self: start;
150
+ }
151
+
152
+ &:is(div) {
153
+ align-content: start;
154
+ }
155
+ }
156
+ }
157
+
158
+ div:has(main) {
159
+ display: contents !important;
160
+ }
161
+
162
+ :is(nav, main, footer) {
163
+ display: grid;
164
+ grid-column: full-width !important;
165
+ grid-template-columns: subgrid;
166
+ }
167
+
168
+ *:not(.row) > main:not(:has(.container:last-child)):not(:has(iam-collapsible-side:last-child)) {
169
+ padding-bottom: 1rem;
170
+ }
171
+
172
+ main > :is(.full-width, [class*='bg-']:has(.container), iam-header, iam-collapsible-side, iam-notification) {
173
+ grid-column: full-width;
174
+ }
175
+
176
+ [class*='bg-']:not([class*='col-']):has(.container) {
177
+ display: grid;
178
+ grid-column: full-width;
179
+ grid-template-columns: subgrid;
180
+ }
181
+ // #endregion
182
+
183
183
  // #region Grid utility classes
184
184
  *:has([class*='order-']) > *:not([class*='order-']) {
185
185
  order: 99;
@@ -1,135 +1,43 @@
1
- // Helpers
2
- //@import "../bootstrap/scss/helpers";
3
- .clearfix {
4
- @include clearfix();
5
- }
6
-
7
- //@import "../bootstrap/scss/helpers/colored-links";
8
- .ratio {
9
- position: relative;
10
- width: 100%;
11
-
12
- &::before {
13
- display: block;
14
- padding-top: var(--#{$prefix}aspect-ratio);
15
- content: '';
16
- }
17
-
18
- > * {
19
- position: absolute;
20
- top: 0;
21
- left: 0;
22
- width: 100%;
23
- height: 100%;
24
- }
25
- }
26
-
27
- @each $key, $ratio in $aspect-ratios {
28
- .ratio-#{$key} {
29
- --#{$prefix}aspect-ratio: #{$ratio};
30
- }
31
- }
32
-
33
- .fixed-top {
34
- position: fixed;
35
- top: 0;
36
- right: 0;
37
- left: 0;
38
- z-index: $zindex-fixed;
39
- }
40
-
41
- .fixed-bottom {
42
- position: fixed;
43
- right: 0;
44
- bottom: 0;
45
- left: 0;
46
- z-index: $zindex-fixed;
47
- }
48
-
49
- // Responsive sticky top and bottom
50
- @each $breakpoint in map-keys($grid-breakpoints) {
51
- @include media-breakpoint-up($breakpoint) {
52
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
53
-
54
- .sticky#{$infix}-top {
55
- position: sticky;
56
- top: 0;
57
- z-index: $zindex-sticky;
58
- }
59
-
60
- .sticky#{$infix}-bottom {
61
- position: sticky;
62
- bottom: 0;
63
- z-index: $zindex-sticky;
64
- }
65
- }
66
- }
1
+ @use 'sass:math';
2
+ @use '_func' as *;
67
3
 
68
- .visually-hidden,
69
- .visually-hidden-focusable:not(:focus):not(:focus-within) {
4
+ @include layer('utilities') {
5
+ // Missing classes that exist as mixins
6
+ @include clearfix();
70
7
  @include visually-hidden();
71
- }
72
-
73
- //@import "../bootstrap/scss/helpers/stretched-link";
74
-
75
- .text-truncate {
76
8
  @include text-truncate();
77
- }
78
-
79
- //@import "../bootstrap/scss/helpers/vr";
80
-
81
- // Helpers
82
- @import 'helpers/max-height.scss';
83
- @import 'helpers/dynamic.scss';
84
- @import 'helpers/line-clamp.scss';
85
- @import 'helpers/wider-colours.scss';
86
-
87
- // Utilities
88
-
89
- // Loop over each breakpoint
90
- @each $breakpoint in map-keys($grid-breakpoints) {
91
- // Generate media query if needed
92
- @include media-breakpoint-up($breakpoint) {
93
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
94
-
95
- // Loop over each utility property
96
- @each $key, $utility in $utilities {
97
- // The utility can be disabled with `false`, thus check if the utility is a map first
98
- // Only proceed if responsive media queries are enabled or if it's the base media query
99
- @if type-of($utility) == 'map' and (map-get($utility, responsive) or $infix == '') {
100
- @include generate-utility($utility, $infix);
101
- }
102
- }
103
- }
104
- }
105
-
106
- // RFS rescaling
107
- /*
108
- @media (min-width: $rfs-mq-value) {
9
+ @include ratio();
10
+ @include fixed();
11
+ @include sticky();
12
+ @include max-height();
13
+ @include js-display();
14
+ @include line-clamp();
15
+
16
+ // Loop over each breakpoint
109
17
  @each $breakpoint in map-keys($grid-breakpoints) {
110
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
18
+ // Generate media query if needed
19
+ @include media-breakpoint-up($breakpoint) {
20
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
111
21
 
112
- @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {
113
22
  // Loop over each utility property
114
23
  @each $key, $utility in $utilities {
115
24
  // The utility can be disabled with `false`, thus check if the utility is a map first
116
25
  // Only proceed if responsive media queries are enabled or if it's the base media query
117
- @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") {
118
- @include generate-utility($utility, $infix, true);
26
+ @if type-of($utility) == 'map' and (map-get($utility, responsive) or $infix == '') {
27
+ @include generate-utility($utility, $infix);
119
28
  }
120
29
  }
121
30
  }
122
31
  }
123
- }
124
- */
125
32
 
126
- // Print utilities
127
- @media print {
128
- @each $key, $utility in $utilities {
129
- // The utility can be disabled with `false`, thus check if the utility is a map first
130
- // Then check if the utility needs print styles
131
- @if type-of($utility) == 'map' and map-get($utility, print) == true {
132
- @include generate-utility($utility, '-print');
33
+ // Print utilities
34
+ @media print {
35
+ @each $key, $utility in $utilities {
36
+ // The utility can be disabled with `false`, thus check if the utility is a map first
37
+ // Then check if the utility needs print styles
38
+ @if type-of($utility) == 'map' and map-get($utility, print) == true {
39
+ @include generate-utility($utility, '-print');
40
+ }
133
41
  }
134
42
  }
135
43
  }
@@ -0,0 +1,32 @@
1
+ @use 'sass:math';
2
+ @use '_func' as *;
3
+
4
+ @include layer('utilities') {
5
+ @include clearfix();
6
+ @include visually-hidden();
7
+ @include text-truncate();
8
+ @include ratio();
9
+ @include fixed();
10
+ @include sticky();
11
+ @include max-height();
12
+ @include js-display();
13
+ @include line-clamp();
14
+ @include align();
15
+ @include opacity();
16
+ @include overflow();
17
+ @include display();
18
+ @include position();
19
+ @include border();
20
+ @include sizes();
21
+ @include flex();
22
+ @include order();
23
+ @include margins();
24
+ @include paddings();
25
+ @include gap();
26
+ @include text();
27
+ @include colours();
28
+ @include wider-colours();
29
+ @include pointer-events();
30
+ @include rounded();
31
+ @include visible();
32
+ }
@@ -1,5 +1,6 @@
1
1
  @use '../_func.scss' as *;
2
2
  @use 'charts.module.scss' as *;
3
+ @import '../elements/buttons.scss';
3
4
 
4
5
  // #region Hide data sets
5
6
  .chart__outer > input[type='checkbox']:not(:checked) ~ .chart__wrapper table tbody tr td:not(:first-child) {
@@ -67,6 +68,7 @@
67
68
  align-items: flex-start;
68
69
  margin-bottom: 0.5rem;
69
70
  padding: 0;
71
+ min-height: 1.5rem;
70
72
 
71
73
  td {
72
74
  // part=value
@@ -199,13 +199,13 @@ $chart-height-lg: #{rem(200)} !default;
199
199
  }
200
200
 
201
201
  .key {
202
- margin: 0;
202
+ margin: 0 !important;
203
203
 
204
204
  &:before {
205
205
  content: '';
206
206
  height: 0.8em;
207
207
  width: 0.8em;
208
- margin-right: 0.3em;
208
+ margin-right: 0.3em !important;
209
209
  background-color: var(--chart-colour);
210
210
  display: inline-block;
211
211
  border-radius: var(--key-border-radius, 4px);
@@ -500,14 +500,41 @@ $chart-height-lg: #{rem(200)} !default;
500
500
  &::before {
501
501
  content: attr(data-group) '\A';
502
502
  }
503
+
503
504
  &[data-label]::before {
504
505
  content: attr(data-group) '\A' attr(data-label) '\A';
505
506
  }
507
+
508
+ &:has(:is(a, button)) {
509
+ top: 0;
510
+ left: 50%;
511
+ transform: translate(-50%, -100%);
512
+ font-size: 0.9rem;
513
+ }
514
+
515
+ hr {
516
+ margin: 0;
517
+ opacity: 0;
518
+ }
519
+ :is(a, button) {
520
+ display: inline-block;
521
+ clear: both;
522
+ float: left;
523
+ margin-top: 1rem;
524
+ margin-right: 1rem;
525
+ margin-bottom: 0.25em;
526
+ font-size: 1em;
527
+ }
528
+
529
+ :is(a, button) + :is(a, button) {
530
+ margin-top: 0;
531
+ }
506
532
  }
507
533
 
508
534
  &:hover span {
509
535
  opacity: 1;
510
536
  z-index: var(--index-above);
537
+ pointer-events: all;
511
538
  }
512
539
  }
513
540
 
@@ -132,7 +132,7 @@ button {
132
132
  }
133
133
 
134
134
  @media (hover: none) {
135
- :host-context(.hover) .wrapper .dropdown {
135
+ :host(.hover) .wrapper .dropdown {
136
136
  display: block;
137
137
  }
138
138
  }
@@ -55,14 +55,13 @@ iam-tabs.tabs--guided::part(next-button):not(:hover) {
55
55
  }
56
56
  }
57
57
 
58
- .tabs__links {
59
- scroll-snap-type: x mandatory;
60
-
58
+ .tabs:not(.admin-panel) .tabs__links {
61
59
  -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
62
60
  mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
63
61
  }
64
62
 
65
63
  .tabs__links {
64
+ scroll-snap-type: x mandatory;
66
65
  padding-bottom: 3px;
67
66
  position: relative;
68
67
  display: flex;
@@ -2,4 +2,6 @@
2
2
 
3
3
  @use '_fonts';
4
4
  @use '_corefiles.scss';
5
- @use '_print';
5
+ @import '_utilities';
6
+
7
+ @import '_utility-mixins';
@@ -3,7 +3,7 @@
3
3
  .admin-panel {
4
4
  --padding-x: #{rem(24)};
5
5
  --padding-top: #{rem(16)};
6
- --padding-bottom: #{rem(24)};
6
+ --padding-bottom: #{rem(16)};
7
7
  --mh-modifier: #{rem(56 + 16)};
8
8
  --mh-padding-inline: var(--padding-x);
9
9
  display: block;
@@ -49,7 +49,7 @@
49
49
  font-size: rem(18);
50
50
  line-height: rem(24);
51
51
  font-weight: bold;
52
- padding: rem(16) var(--padding-x);
52
+ padding: rem(16) rem(24);
53
53
  }
54
54
 
55
55
  > :is(.admin-panel__heading):first-child {
@@ -57,7 +57,7 @@
57
57
  flex-wrap: wrap;
58
58
  gap: 1rem;
59
59
  align-items: center;
60
- padding: rem(16) var(--padding-x);
60
+ padding: rem(16) rem(24);
61
61
 
62
62
  > :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
63
63
  padding: 0;
@@ -66,6 +66,7 @@
66
66
 
67
67
  .btn {
68
68
  --btn-margin: 0;
69
+ margin-bottom: 0;
69
70
  }
70
71
 
71
72
  .dialog__wrapper + .btn {
@@ -105,7 +106,7 @@
105
106
  padding-bottom: rem(24);
106
107
  }
107
108
 
108
- > :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg) {
109
+ > :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg, .mh-fluid) {
109
110
  overflow: auto;
110
111
 
111
112
  &:before {
@@ -114,12 +115,23 @@
114
115
  }
115
116
 
116
117
  > :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6):first-child
117
- + :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg) {
118
+ + :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg, .mh-fluid) {
118
119
  padding-top: var(--padding-top);
119
120
  margin-top: calc(var(--padding-top) * -1);
120
121
  }
121
122
 
122
- > :is(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg):last-child {
123
+ > :is(
124
+ .mh-sm,
125
+ .mh-md,
126
+ .mh-lg,
127
+ .mh-sm-sm,
128
+ .mh-sm-md,
129
+ .mh-sm-lg,
130
+ .mh-md-sm,
131
+ .mh-md-md,
132
+ .mh-md-lg,
133
+ .mh-fluid
134
+ ):last-child {
123
135
  padding-bottom: var(--padding-bottom);
124
136
  margin-bottom: calc(var(--padding-bottom) * -1) !important;
125
137
 
@@ -135,11 +147,16 @@
135
147
  > iam-pagination {
136
148
  margin-top: -1rem;
137
149
  }
150
+
151
+ &:has(.mh-fluid) {
152
+ max-height: 100%;
153
+ display: flex;
154
+ flex-direction: column;
155
+ }
138
156
  }
139
157
 
140
- [class*='col']
141
- .admin-panel:first-child:last-child:not(
142
- :has(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg)
158
+ [class*='col'].admin-panel:first-child:last-child:not(
159
+ :has(.mh-sm, .mh-md, .mh-lg, .mh-sm-sm, .mh-sm-md, .mh-sm-lg, .mh-md-sm, .mh-md-md, .mh-md-lg, .mh-fluid)
143
160
  ) {
144
161
  min-height: calc(100% - #{rem(24)});
145
162
  }
@@ -183,3 +200,39 @@
183
200
  }
184
201
  }
185
202
  // #endregion
203
+
204
+ // #region Admin panel as details
205
+ details.admin-panel {
206
+ summary:after {
207
+ content: '\f077';
208
+ font-weight: bold;
209
+ margin-left: 0;
210
+ height: 2rem;
211
+ width: 2rem;
212
+ text-align: center;
213
+ line-height: 2rem;
214
+ margin-right: -0.5rem;
215
+ }
216
+
217
+ summary:not(:has(.btn:hover)):hover:after {
218
+ background: var(--colour-light);
219
+ border-radius: 50%;
220
+ }
221
+ summary:not(:has(.btn:hover)):active:after {
222
+ background: var(--colour-light);
223
+ filter: brightness(85%);
224
+ border-radius: 50%;
225
+ }
226
+ }
227
+ details.admin-panel:not([open]) {
228
+ padding-bottom: 0;
229
+
230
+ summary:first-child {
231
+ margin-bottom: 0;
232
+ }
233
+
234
+ summary:after {
235
+ content: '\f078';
236
+ }
237
+ }
238
+ // #endregion
@@ -11,6 +11,39 @@
11
11
  grid-column: container !important;
12
12
  width: 100%;
13
13
 
14
+ &:not(:has(.row)):has([class*='col-']) {
15
+ display: grid;
16
+ grid-template-columns:
17
+ [content-start col-1-start] 1fr [col-1-end col-2-start] 1fr [col-2-end
18
+ col-3-start] 1fr [col-3-end
19
+ col-4-start] 1fr [col-4-end
20
+ col-5-start] 1fr [col-5-end
21
+ col-6-start] 1fr [col-6-end
22
+ col-7-start] 1fr [col-7-end
23
+ col-8-start] 1fr [col-8-end
24
+ col-9-start] 1fr [col-9-end
25
+ col-10-start] 1fr [col-10-end
26
+ col-11-start] 1fr [col-11-end
27
+ col-12-start] 1fr [col-12-end content-end];
28
+ column-gap: 1rem;
29
+ }
30
+
31
+ [class*='col-span-']:not([class*='-col-span-']):not(:first-child) {
32
+ --col-start: auto;
33
+ }
34
+
35
+ @include media-breakpoint-up(sm) {
36
+ [class*='sm-col-span-']:not(:first-child) {
37
+ --col-start: auto;
38
+ }
39
+ }
40
+
41
+ @include media-breakpoint-up(md) {
42
+ [class*='md-col-span-']:not(:first-child) {
43
+ --col-start: auto;
44
+ }
45
+ }
46
+
14
47
  &:not(.container-fluid) {
15
48
  max-width: var(--container-max-width);
16
49
  }
@@ -21,6 +21,10 @@ $container-padding-x: 32;
21
21
  $default-curve-width: 600;
22
22
 
23
23
  @import '_corefiles';
24
+ @import '_grid';
25
+ @import '_bs_grid';
26
+ @import '_utilities';
27
+ @import '_utility-mixins';
24
28
 
25
29
  :root {
26
30
  --container-padding-x: #{rem(66)};
@@ -11,6 +11,10 @@
11
11
  }
12
12
 
13
13
  @import '_corefiles';
14
+ @import '_grid';
15
+ @import '_bs_grid';
16
+ @import '_utilities';
17
+ @import '_utility-mixins';
14
18
 
15
19
  @include layer('elements') {
16
20
  .h1 {
@@ -1,23 +0,0 @@
1
- .line-clamp {
2
- display: -webkit-box;
3
- -webkit-box-orient: vertical;
4
- -webkit-line-clamp: 1;
5
- text-overflow: hidden;
6
- overflow: hidden;
7
- }
8
-
9
- .line-clamp--2 {
10
- -webkit-line-clamp: 2;
11
- }
12
-
13
- .line-clamp--3 {
14
- -webkit-line-clamp: 3;
15
- }
16
-
17
- .line-clamp--4 {
18
- -webkit-line-clamp: 4;
19
- }
20
-
21
- .line-clamp--5 {
22
- -webkit-line-clamp: 5;
23
- }