@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
@@ -20,10 +20,12 @@
20
20
  @use "components/admin-panel.scss";
21
21
  @use "components/dialog.scss";
22
22
 
23
+ @use "components/nav-global.scss";
23
24
  @use "components/pagination.scss";
24
25
  @use "components/accordion.scss";
25
26
 
26
27
  @use "components/card-global.scss";
28
+ @use "components/actionbar-global.scss";
27
29
 
28
30
  // Bootstrap elements
29
31
  @import "../bootstrap/scss/_transitions.scss";
@@ -18,6 +18,31 @@
18
18
  }
19
19
  }
20
20
 
21
+ @mixin container-up($name) {
22
+
23
+ @if $name == 'sm' {
24
+
25
+ @container (width > 23.4375em) {
26
+ @content;
27
+ }
28
+ }
29
+ @else if $name == 'md' {
30
+
31
+ @container (width > 48em) {
32
+ @content;
33
+ }
34
+ }
35
+ @else if $name =='xs' {
36
+ @content;
37
+ }
38
+ @else {
39
+ @if $mobileOnly != "true" {
40
+ @content;
41
+ }
42
+ }
43
+ }
44
+
45
+
21
46
  // Example: @include prefix(transition, transform 1.5s, webkit ms o);
22
47
  @mixin prefix($property, $value, $prefixes: (webkit ms o))
23
48
  {
@@ -160,7 +160,7 @@ $non-theme-colors: map-merge((
160
160
  "body": $body-color,
161
161
  "border": $colour-border,
162
162
  "link": var(--colour-primary-theme),
163
- "brand": var(--colour-primary),
163
+ "brand": var(--colour-primary-theme),
164
164
  "underline": var(--colour-secondary),
165
165
  "heading": var(--colour-primary),
166
166
  "focus": var(--colour-primary-theme),
@@ -0,0 +1,89 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ // #region Default view
4
+ iam-actionbar {
5
+
6
+ background-color: #FCFCFC;
7
+ display: block;
8
+ border-top-left-radius: rem(10);
9
+ border-top-right-radius: rem(10);
10
+ }
11
+ // #endregion
12
+
13
+ // #region As part of the iam-table component
14
+ iam-table iam-actionbar {
15
+
16
+ margin-left: 1.5rem;
17
+ margin-right: 1.5rem;
18
+ }
19
+
20
+ @container (width < 23.4375em) {
21
+
22
+ iam-table iam-actionbar {
23
+
24
+ display: block;
25
+ position: sticky;
26
+ left: 0;
27
+ top: calc(var(--nav-height) + #{rem(24)});
28
+ border: none;
29
+ background: var(--colour-canvas-2);
30
+
31
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
32
+ border-radius: 0.5rem;
33
+ margin-bottom: rem(24);
34
+
35
+ z-index: var(--index-menu);
36
+ }
37
+
38
+ }
39
+
40
+ @include media-breakpoint-up(sm) {
41
+
42
+ iam-table iam-actionbar {
43
+
44
+ margin-left: -2rem;
45
+ margin-right: -2rem;
46
+ margin-top: -2rem;
47
+ margin-bottom: 1rem;
48
+ }
49
+ }
50
+ // #endregion
51
+
52
+ // #region Switchview
53
+ iam-actionbar ~ :is([data-view="square"],[data-view="list"],[data-view="small"]) {
54
+ display: none;
55
+ }
56
+
57
+ iam-actionbar[data-view="square"] ~ [data-view="square"] {
58
+ display: block;
59
+ }
60
+ iam-actionbar[data-view="list"] ~ [data-view="list"] {
61
+ display: block;
62
+ }
63
+ iam-actionbar[data-view="small"] ~ [data-view="small"] {
64
+ display: block;
65
+ }
66
+ // #endregion
67
+
68
+ // #region Child elements
69
+ .actionbar__text {
70
+
71
+ font-size: rem(18);
72
+ line-height: rem(40);
73
+ color: var(--colour-heading);
74
+ display: inline-block;
75
+ }
76
+
77
+ // Dialog wrapper
78
+ .dialog__wrapper[slot="selected-overflow"] > button,
79
+ .dialog__wrapper[slot="overflow"] > button {
80
+
81
+ background: none;
82
+ border: none;
83
+ }
84
+ .dialog__wrapper[slot="selected-overflow"] dialog[open],
85
+ .dialog__wrapper[slot="overflow"] dialog[open] {
86
+
87
+ display: contents;
88
+ }
89
+ // #endregion
@@ -0,0 +1,254 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ .actionbar__wrapper {
4
+ position: relative;
5
+ z-index: 10;
6
+ height: rem(68);
7
+ container-type: inline-size;
8
+ }
9
+
10
+ // #region View states (Default, search, selected)
11
+ .views,
12
+ .selectall {
13
+ position: absolute!important;
14
+ top: 50%;
15
+ left: rem(24);
16
+
17
+ @include media-breakpoint-up(sm) {
18
+ left: rem(32);
19
+ }
20
+
21
+ transform: translate(0,-50%);
22
+ z-index: 10;
23
+
24
+ .btn-action:not(:last-child){
25
+ margin-right: rem(4)!important;
26
+ }
27
+ }
28
+
29
+ .selectall {
30
+
31
+ width: rem(40);
32
+ overflow: hidden;
33
+
34
+ label {
35
+ height: rem(40);
36
+ }
37
+
38
+ @include media-breakpoint-up(sm) {
39
+
40
+ width: auto;
41
+ overflow: visible;
42
+ }
43
+ }
44
+
45
+ .actionbar [data-search] {
46
+ display: none;
47
+ }
48
+
49
+ :host([data-search]) .actionbar [data-search] {
50
+ display: block;
51
+ margin-left: rem(16)!important;
52
+ }
53
+
54
+ :is(.actionbar,.actionbar--selected,.actionbar--search){
55
+
56
+ border-top-left-radius: rem(10);
57
+ border-top-right-radius: rem(10);
58
+ padding: 0 rem(24);
59
+ flex-wrap: nowrap;
60
+ justify-content: flex-end;
61
+ align-items: center;
62
+ height: rem(68);
63
+ position: absolute;
64
+ inset: 0;
65
+
66
+ @include container-up(sm) {
67
+ padding: 0 rem(32);
68
+ }
69
+ }
70
+
71
+ .actionbar {
72
+
73
+ display: flex;
74
+ }
75
+
76
+ .actionbar--selected {
77
+
78
+ background-color: #E6EAEC;
79
+ display: flex;
80
+ opacity: 0;
81
+ pointer-events: none;
82
+ }
83
+
84
+ .actionbar--search {
85
+
86
+ background-color: #E6EAEC;
87
+ display: flex;
88
+ z-index: 2;
89
+ position: relative;
90
+ opacity: 0;
91
+ pointer-events: none;
92
+ }
93
+
94
+ // Show selected bar
95
+ .selectall:has(input:checked) ~ .actionbar,
96
+ .selectall:has(input:indeterminate) ~ .actionbar {
97
+
98
+ opacity: 0;
99
+ pointer-events: none;
100
+ }
101
+ .selectall:has(input:checked) ~ .actionbar--selected,
102
+ .selectall:has(input:indeterminate) ~ .actionbar--selected {
103
+
104
+ opacity: 1;
105
+ pointer-events: all;
106
+ }
107
+
108
+ // Show search bar
109
+ .actionbar--search.show {
110
+
111
+ opacity: 1;
112
+ pointer-events: all;
113
+ }
114
+
115
+ .actionbar__wrapper:has(.actionbar--search.show) > *:not(.actionbar--search.show) {
116
+ opacity: 0;
117
+ pointer-events: none;
118
+ }
119
+ // #endregion
120
+
121
+ // #region Slotted elements
122
+ ::slotted(*:not([slot="overflow"])){
123
+ margin-top: 0!important;
124
+ margin-bottom: 0!important;
125
+ margin-left: rem(16)!important;
126
+ margin-right: 0!important;
127
+ }
128
+
129
+ ::slotted(.btn:not(.btn-action)){
130
+ order: 2;
131
+ }
132
+
133
+ // buttons only for single items
134
+ ::slotted([data-single]){
135
+ pointer-events: none;
136
+ opacity: 0.5;
137
+ }
138
+
139
+ :host([data-selected="1"]) ::slotted([data-single]){
140
+ pointer-events: all;
141
+ opacity: 1;
142
+ }
143
+
144
+ ::slotted(hr){
145
+ height: rem(32);
146
+ color: #9D9D9D!important;
147
+ width: 1px;
148
+ display: none;
149
+
150
+ @include container-up(md) {
151
+
152
+ display: block;
153
+ }
154
+ }
155
+ // #endregion
156
+
157
+ // #region safe area
158
+ .safe-area {
159
+
160
+ display: flex;
161
+ flex-wrap: nowrap;
162
+ justify-content: flex-end;
163
+ align-items: center;
164
+ width: rem(210);
165
+
166
+ @include container-up(sm) {
167
+
168
+ width: rem(450);
169
+ }
170
+
171
+ @include container-up(md) {
172
+
173
+ width: rem(750);
174
+ }
175
+
176
+ overflow: visible;
177
+ position: relative;
178
+
179
+ .body {
180
+ display: contents;
181
+ }
182
+ }
183
+
184
+ :host([data-switchviews]) .safe-area {
185
+
186
+ width: rem(144);
187
+ }
188
+ // #endregion
189
+
190
+ // #region overflow dialog
191
+ ::slotted(.btn-compact[slot="selected-overflow"]),
192
+ ::slotted(.btn-compact[slot="overflow"]) {
193
+
194
+ max-width: none!important;
195
+ text-indent: 0!important;
196
+ width: auto!important;
197
+ text-align: left!important;
198
+ padding-left: 0!important;
199
+ background: none!important;
200
+ border: none!important;
201
+
202
+ &:before {
203
+ position: static!important;
204
+ line-height: inherit!important;
205
+ }
206
+ }
207
+
208
+ ::slotted(.dialog__wrapper[slot="overflow"]) dialog[open]{
209
+
210
+ background: red;
211
+ }
212
+
213
+ .dialog__wrapper.dialog-overflow {
214
+ margin-left: 0.5rem;
215
+ margin-right: -0.5rem;
216
+ }
217
+ // #endregion
218
+
219
+ // #region Search bar
220
+ .actionbar--search .btn{
221
+
222
+ margin-left: rem(-12)!important;
223
+ margin-right: auto!important;
224
+ }
225
+
226
+ .search-wrapper {
227
+ width: calc(100% - #{rem(44 + 8)});
228
+ max-width: rem(350)!important;
229
+ margin: 0!important;
230
+
231
+ @include container-up(md) {
232
+
233
+ max-width: rem(450)!important;
234
+ }
235
+
236
+ input {
237
+ padding-top: rem(8);
238
+ padding-bottom: rem(8);
239
+
240
+ min-height: rem(40)!important;
241
+ max-height: rem(40)!important;
242
+ }
243
+
244
+ :is(.prefix,.suffix) {
245
+
246
+ padding: rem(8)!important;
247
+ min-height: rem(40)!important;
248
+ max-height: rem(40)!important;
249
+ min-width: rem(40)!important;
250
+ max-width: rem(40)!important;
251
+ line-height: rem(40 - 8 - 8)!important;
252
+ }
253
+ }
254
+ // #endregion
@@ -0,0 +1,327 @@
1
+ @use "../_func" as *;
2
+ // Host
3
+ :host {
4
+ --colour-border: #e9e9e9;
5
+ --side-link-hover: var(--colour-canvas-2);
6
+
7
+ @media screen and (prefers-color-scheme: light) {
8
+
9
+ --side-link-hover: #eeeeee;
10
+ }
11
+
12
+ display: block;
13
+ min-height: calc(100vh - var(--nav-height));
14
+ padding-top: 0!important;
15
+ margin-inline: auto;
16
+ max-width: 80rem;
17
+ overflow: hidden;
18
+ position: relative;
19
+ }
20
+
21
+ .container {
22
+ position: static;
23
+ min-height: 100%;
24
+ padding-top: 0!important;
25
+ padding-bottom: 0!important;
26
+ padding-left: 0!important;
27
+
28
+ @include media-breakpoint-up(md) {
29
+
30
+ padding-left: 5.25rem!important;
31
+ overflow: hidden;
32
+ }
33
+ }
34
+
35
+ // #region Side menu
36
+ .side-menu {
37
+ position: absolute;
38
+ top: 0;
39
+ left: 0;
40
+ height: 100%;
41
+ min-height: calc(100vh - var(--nav-height));
42
+ width: rem(30);
43
+ height: 100%;
44
+ background-color: var(--colour-canvas);
45
+ transition: width 1s;
46
+
47
+ &:before {
48
+ content: "";
49
+ position: absolute;
50
+ top: 0;
51
+ right: 0;
52
+ height: 100%;
53
+ border-right: 2px solid var(--colour-border);
54
+ }
55
+
56
+ @include media-breakpoint-up(sm) {
57
+
58
+ left: 0;
59
+ width: rem(40);
60
+ }
61
+
62
+ @include media-breakpoint-up(md) {
63
+
64
+ left: calc(50% - #{rem(556)});
65
+ margin-left: #{rem(-84)};
66
+
67
+ &:after {
68
+ content: "";
69
+ position: absolute;
70
+ top: 0;
71
+ height: 100%;
72
+ border-right: 2px solid var(--colour-border);
73
+ left: 0;
74
+ opacity: 1;
75
+ transition: all 1s;
76
+ //margin-left: rem(-260);
77
+ width: rem(40);
78
+ background: var(--colour-canvas);
79
+ }
80
+
81
+ &:not(.open).hover {
82
+ width: rem(344);
83
+
84
+ .btn[class*=fa-]:before {
85
+ content: "\f023" !important;
86
+ }
87
+ }
88
+ }
89
+
90
+ .btn {
91
+ position: absolute;
92
+ top: rem(32);
93
+ right: 0;
94
+ margin-bottom: 0;
95
+ margin-right: rem(-20);
96
+ background-color: var(--colour-canvas-2);
97
+ border: 2px solid var(--colour-border);
98
+ z-index: 99;
99
+ }
100
+
101
+ &:is(.open) {
102
+
103
+ width: calc(100% - var(--container-padding-x));
104
+
105
+ // Change icon
106
+ .btn[class*=fa-]:before {
107
+ content: "\f053"!important;
108
+ }
109
+
110
+ @include media-breakpoint-up(sm) {
111
+
112
+ width: rem(382);
113
+ }
114
+ @include media-breakpoint-up(md) {
115
+
116
+ width: rem(344);
117
+
118
+ .btn {
119
+ opacity: 0;
120
+ transition: opacity 0.5s;
121
+
122
+ &:is(:hover,:focus,:active) {
123
+ opacity: 1;
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ // Content
130
+
131
+ .side-menu-content {
132
+ position: absolute;
133
+ top: 0;
134
+ right: 0;
135
+ padding: rem(32) rem(40) 0 0;
136
+ width: rem(351);
137
+ opacity: 0;
138
+ transition: opacity 1s;
139
+ min-height: 100%;
140
+ overflow: auto;
141
+ max-height: 100%;
142
+
143
+ &.closed {
144
+ }
145
+
146
+ .h3 {
147
+ padding-left: rem(24);
148
+ }
149
+
150
+ @include media-breakpoint-up(sm) {
151
+
152
+ .h3 {
153
+ padding-left: rem(40);
154
+ }
155
+
156
+ width: rem(382);
157
+ }
158
+ @include media-breakpoint-up(md) {
159
+
160
+ width: rem(304);
161
+
162
+ }
163
+ }
164
+
165
+ &:not(.hover):not(.open) .side-menu-content.closed {
166
+
167
+ display: none;
168
+ }
169
+
170
+ &.open .side-menu-content {
171
+ opacity: 1;
172
+ }
173
+
174
+ @include media-breakpoint-up(md) {
175
+
176
+ &.hover .side-menu-content {
177
+ opacity: 1;
178
+ }
179
+ }
180
+ }
181
+
182
+ // Links
183
+ ::slotted(*[slot="menu"]) {
184
+ padding-left: rem(24);
185
+
186
+ @include media-breakpoint-up(sm) {
187
+ padding-left: rem(40)!important;
188
+ }
189
+ }
190
+
191
+ ::slotted(hr) {
192
+ border-bottom: 2px solid var(--colour-border)!important;
193
+ margin-right: rem(-40)!important;
194
+ }
195
+
196
+ ::slotted(a[slot="menu"]) {
197
+ display: block;
198
+
199
+ display: block!important;
200
+ line-height: rem(20)!important;
201
+ padding: rem(16) rem(40) rem(16) rem(24)!important;
202
+ margin: 0!important;
203
+ flex-shrink: 0;
204
+ font-size: 1rem!important;
205
+ font-weight: normal!important;
206
+ text-decoration: none;
207
+
208
+ border-bottom: 2px solid var(--colour-border)!important;
209
+
210
+ margin-right: rem(-40)!important;
211
+
212
+ @include media-breakpoint-up(sm) {
213
+ padding-left: rem(40)!important;
214
+ }
215
+
216
+ &:after {
217
+ display: none;
218
+ }
219
+
220
+
221
+ border-right: 2px solid var(--colour-border)!important;
222
+ /*
223
+ &:before {
224
+ content: "";
225
+ position: absolute;
226
+ top: 0;
227
+ right: 0;
228
+ height: calc(100%);
229
+ margin-top: 0;
230
+ width: 2px;
231
+ background-color: var(--colour-border);
232
+ }
233
+ */
234
+ }
235
+
236
+ ::slotted(a[slot="menu"]:where(:hover,:focus,.selected)) {
237
+
238
+ background-color: var(--side-link-hover)!important;
239
+ }
240
+
241
+ ::slotted(a[slot="menu"]:active) {
242
+
243
+ background-color: var(--side-link-hover)!important;
244
+ font-weight: bold!important;
245
+ }
246
+
247
+ ::slotted(a[slot="menu"].selected) {
248
+
249
+ background-color: var(--side-link-hover)!important;
250
+ font-weight: bold!important;
251
+ margin-right: #{rem(-40)}!important;
252
+ position: relative;
253
+
254
+ border-right: 2px solid var(--colour-info)!important;
255
+
256
+
257
+ &:before {
258
+ content: "";
259
+ position: absolute;
260
+ top: 0;
261
+ right: 0;
262
+ height: calc(100% + 4px);
263
+ margin-top: -2px;
264
+ width: 2px;
265
+ border-right: 2px solid var(--colour-info);
266
+ margin-right: -2px;
267
+
268
+
269
+ @media (forced-colors: active) {
270
+
271
+ border-right: 10px solid var(--colour-info);
272
+ }
273
+ }
274
+ }
275
+ // #endregion
276
+
277
+ // #region main content
278
+ .main-content {
279
+
280
+ padding-top: rem(24);
281
+ padding-left: rem(60);
282
+
283
+
284
+ @include media-breakpoint-up(sm) {
285
+
286
+ padding-left: rem(80);
287
+ }
288
+
289
+ @include media-breakpoint-up(md) {
290
+
291
+ padding-top: rem(40)!important;
292
+ padding-left: 0;
293
+ }
294
+
295
+ > span.h3 {
296
+ padding-top: 0.75rem;
297
+
298
+ border-bottom: 2px solid var(--colour-border);
299
+ margin-bottom: rem(40)!important;
300
+
301
+ @include media-breakpoint-up(md) {
302
+
303
+ display: none;
304
+ }
305
+ }
306
+ }
307
+
308
+ ::slotted(.main-content__title){
309
+
310
+ border-bottom: 2px solid var(--colour-border);
311
+ margin-bottom: rem(40)!important;
312
+ max-width: 100%!important;
313
+ display: block;
314
+ }
315
+
316
+ @include media-breakpoint-up(md) {
317
+
318
+ .side-menu.open + .main-content {
319
+
320
+ padding-left: rem(300);
321
+ }
322
+
323
+ ::slotted(.main-content__title){
324
+ display: none;
325
+ }
326
+ }
327
+ // #endregion