@iamproperty/components 3.4.6 → 3.4.7

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 (149) hide show
  1. package/assets/css/components/accordion.css.map +1 -1
  2. package/assets/css/components/applied-filters.css +1 -0
  3. package/assets/css/components/applied-filters.css.map +1 -0
  4. package/assets/css/components/card.css +1 -1
  5. package/assets/css/components/card.css.map +1 -1
  6. package/assets/css/components/charts.css +1 -1
  7. package/assets/css/components/charts.css.map +1 -1
  8. package/assets/css/components/container.css +1 -1
  9. package/assets/css/components/container.css.map +1 -1
  10. package/assets/css/components/dialog.css +1 -0
  11. package/assets/css/components/dialog.css.map +1 -0
  12. package/assets/css/components/forms.css +1 -1
  13. package/assets/css/components/forms.css.map +1 -1
  14. package/assets/css/components/lists.css +1 -1
  15. package/assets/css/components/lists.css.map +1 -1
  16. package/assets/css/components/nav.css +1 -1
  17. package/assets/css/components/nav.css.map +1 -1
  18. package/assets/css/components/pagination.css +1 -0
  19. package/assets/css/components/pagination.css.map +1 -0
  20. package/assets/css/components/table.css +1 -0
  21. package/assets/css/components/table.css.map +1 -0
  22. package/assets/css/core.min.css +1 -1
  23. package/assets/css/core.min.css.map +1 -1
  24. package/assets/css/style.min.css +1 -1
  25. package/assets/css/style.min.css.map +1 -1
  26. package/assets/js/bundle.js +18 -11
  27. package/assets/js/components/accordion/accordion.component.js +6 -0
  28. package/assets/js/components/accordion/accordion.component.min.js +3 -3
  29. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  30. package/assets/js/components/applied-filters/applied-filters.component.js +26 -0
  31. package/assets/js/components/card/card.component.js +91 -0
  32. package/assets/js/components/card/card.component.min.js +21 -0
  33. package/assets/js/components/card/card.component.min.js.map +1 -0
  34. package/assets/js/components/filterlist/filterlist.component.js +49 -0
  35. package/assets/js/components/filterlist/filterlist.component.min.js +23 -0
  36. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -0
  37. package/assets/js/components/header/header.component.js +6 -0
  38. package/assets/js/components/header/header.component.min.js +2 -2
  39. package/assets/js/components/header/header.component.min.js.map +1 -1
  40. package/assets/js/components/pagination/pagination.component.js +34 -0
  41. package/assets/js/components/table/table.component.js +104 -0
  42. package/assets/js/components/table/table.component.min.js +24 -0
  43. package/assets/js/components/table/table.component.min.js.map +1 -0
  44. package/assets/js/components/tabs/tabs.component.js +6 -0
  45. package/assets/js/components/tabs/tabs.component.min.js +17 -0
  46. package/assets/js/components/tabs/tabs.component.min.js.map +1 -0
  47. package/assets/js/dynamic.js +7 -18
  48. package/assets/js/dynamic.min.js +2 -53
  49. package/assets/js/dynamic.min.js.map +1 -1
  50. package/assets/js/flat-components.js +27 -9
  51. package/assets/js/modules/applied-filters.js +100 -0
  52. package/assets/js/modules/data-layer.js +45 -0
  53. package/assets/js/modules/filterlist.js +32 -0
  54. package/assets/js/modules/helpers.js +77 -49
  55. package/assets/js/modules/pagination.js +33 -0
  56. package/assets/js/modules/table.js +507 -420
  57. package/assets/js/modules/tabs.js +6 -0
  58. package/assets/js/modules/youtubevideo.js +53 -61
  59. package/assets/js/scripts.bundle.js +77 -62
  60. package/assets/js/scripts.bundle.js.map +1 -1
  61. package/assets/js/scripts.bundle.min.js +2 -2
  62. package/assets/js/scripts.bundle.min.js.map +1 -1
  63. package/assets/js/tests/filterlist.spec.js +22 -0
  64. package/assets/js/tests/pagination.spec.js +15 -0
  65. package/assets/js/tests/table.spec.js +147 -0
  66. package/assets/sass/_components.scss +1 -2
  67. package/assets/sass/_corefiles.scss +5 -4
  68. package/assets/sass/_functions/utilities.scss +16 -0
  69. package/assets/sass/_functions/variables.scss +32 -18
  70. package/assets/sass/_tests/colours.spec.scss +1 -1
  71. package/assets/sass/components/applied-filters.scss +65 -0
  72. package/assets/sass/components/card.scss +177 -233
  73. package/assets/sass/components/charts.scss +4 -0
  74. package/assets/sass/components/container.scss +7 -2
  75. package/assets/sass/components/dialog.scss +202 -0
  76. package/assets/sass/components/forms.scss +37 -5
  77. package/assets/sass/components/lists.scss +15 -0
  78. package/assets/sass/components/nav.scss +5 -1
  79. package/assets/sass/components/pagination.scss +140 -0
  80. package/assets/sass/components/table.scss +419 -0
  81. package/assets/sass/foundations/icons.scss +1 -1
  82. package/assets/sass/{components → foundations}/links.scss +26 -0
  83. package/assets/sass/foundations/reboot.scss +19 -13
  84. package/assets/svg/illustrations/table.svg +165 -0
  85. package/assets/ts/bundle.ts +23 -12
  86. package/assets/ts/components/accordion/accordion.component.ts +7 -0
  87. package/assets/ts/components/applied-filters/README.md +5 -0
  88. package/assets/ts/components/applied-filters/applied-filters.component.ts +33 -0
  89. package/assets/ts/components/card/README.md +22 -0
  90. package/assets/ts/components/card/card.component.ts +117 -0
  91. package/assets/ts/components/filterlist/README.md +17 -0
  92. package/assets/ts/components/filterlist/filterlist.component.ts +60 -0
  93. package/assets/ts/components/header/header.component.ts +8 -0
  94. package/assets/ts/components/pagination/README.md +11 -0
  95. package/assets/ts/components/pagination/pagination.component.ts +45 -0
  96. package/assets/ts/components/table/README.md +23 -0
  97. package/assets/ts/components/table/table.component.ts +128 -0
  98. package/assets/ts/components/tabs/tabs.component.ts +7 -0
  99. package/assets/ts/dynamic.ts +12 -19
  100. package/assets/ts/flat-components.ts +37 -9
  101. package/assets/ts/modules/applied-filters.ts +146 -0
  102. package/assets/ts/modules/data-layer.ts +58 -0
  103. package/assets/ts/modules/filterlist.ts +46 -0
  104. package/assets/ts/modules/helpers.ts +90 -60
  105. package/assets/ts/modules/pagination.ts +44 -0
  106. package/assets/ts/modules/table.ts +598 -433
  107. package/assets/ts/modules/tabs.ts +8 -1
  108. package/assets/ts/modules/youtubevideo.ts +58 -63
  109. package/assets/ts/tests/filterlist.spec.ts +29 -0
  110. package/assets/ts/tests/pagination.spec.ts +21 -0
  111. package/assets/ts/tests/table.spec.ts +191 -0
  112. package/dist/components.es.js +1264 -1296
  113. package/dist/components.umd.js +70 -65
  114. package/dist/style.css +1 -1
  115. package/package.json +7 -5
  116. package/src/components/AppliedFilters/AppliedFilters.vue +20 -0
  117. package/src/components/AppliedFilters/README.md +5 -0
  118. package/src/components/Card/Card.vue +11 -112
  119. package/src/components/Card/README.md +16 -18
  120. package/src/components/Carousel/Carousel.vue +49 -10
  121. package/src/components/Chart/Chart.vue +46 -4
  122. package/src/components/Filterlist/Filterlist.vue +20 -0
  123. package/src/components/Filterlist/README.md +17 -0
  124. package/src/components/Pagination/Pagination.vue +30 -0
  125. package/src/components/Pagination/README.md +11 -0
  126. package/src/components/Table/README.md +29 -44
  127. package/src/components/Table/Table.spec.js +5 -37
  128. package/src/components/Table/Table.vue +16 -91
  129. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +1 -1
  130. package/src/index.js +3 -2
  131. package/assets/css/components/cardDeck.css +0 -1
  132. package/assets/css/components/cardDeck.css.map +0 -1
  133. package/assets/css/components/links.css +0 -1
  134. package/assets/css/components/links.css.map +0 -1
  135. package/assets/css/components/modal.css +0 -1
  136. package/assets/css/components/modal.css.map +0 -1
  137. package/assets/css/components/tables.css +0 -1
  138. package/assets/css/components/tables.css.map +0 -1
  139. package/assets/js/modules/modal.js +0 -69
  140. package/assets/sass/components/cardDeck.scss +0 -108
  141. package/assets/sass/components/modal.scss +0 -136
  142. package/assets/sass/components/tables.scss +0 -291
  143. package/assets/ts/modules/modal.ts +0 -91
  144. package/src/components/CardDeck/CardDeck.spec.js +0 -99
  145. package/src/components/CardDeck/CardDeck.vue +0 -77
  146. package/src/components/CardDeck/README.md +0 -25
  147. package/src/components/Modal/Modal.spec.js +0 -22
  148. package/src/components/Modal/Modal.vue +0 -43
  149. package/src/components/Modal/README.md +0 -20
@@ -74,9 +74,41 @@
74
74
  }
75
75
  }
76
76
 
77
+
78
+ .form-control__wrapper.form-control--inline-text {
79
+
80
+ display: inline;
81
+
82
+ label {
83
+ display: inline;
84
+ font-size: inherit;
85
+ font-weight: inherit;
86
+ line-height: inherit;
87
+ color: inherit;
88
+ }
89
+
90
+ select {
91
+ display: inline;
92
+ font-size: inherit;
93
+ font-weight: inherit;
94
+ line-height: inherit;
95
+ color: inherit;
96
+ background-color: transparent;
97
+ border: none;
98
+ padding: 0 5px;
99
+ margin: 0 -5px;
100
+ display: inline-block;
101
+ width: auto;
102
+ padding-right: $form-select-padding-x;
103
+ background-position: right 0.2rem center;
104
+ }
105
+ }
106
+
77
107
  // #region checkbox
78
108
  .form-check {
79
109
 
110
+ overflow: hidden;
111
+
80
112
  input,
81
113
  label {
82
114
  cursor: pointer;
@@ -153,21 +185,21 @@ select[multiple]::-webkit-scrollbar-thumb {
153
185
 
154
186
  .form-control__wrapper :is(.prefix,.suffix) {
155
187
 
156
- color: #212529;
157
- background: #e9ecef;
188
+ color: var(--colour-white);
189
+ background: var(--colour-primary);
158
190
  padding: 0.75em 1em;
159
191
  font-size: 1rem;
160
192
  font-weight: normal;
161
193
  line-height: 1.5;
162
194
  position: absolute;
163
- bottom: 1px;
195
+ bottom: 2px;
164
196
  }
165
197
 
166
198
  .form-control__wrapper .prefix {
167
199
 
168
200
  border-top-left-radius: 0.625rem;
169
201
  border-bottom-left-radius: 0.625rem;
170
- left: 1px;
202
+ left: 0;
171
203
  }
172
204
 
173
205
  .form-control__wrapper :is(.prefix-sm,.suffix-sm) {
@@ -188,7 +220,7 @@ select[multiple]::-webkit-scrollbar-thumb {
188
220
 
189
221
  .form-control__wrapper .suffix {
190
222
  left: auto;
191
- right: 1px;
223
+ right: 0;
192
224
  border-top-right-radius: 0.625rem;
193
225
  border-bottom-right-radius: 0.625rem;
194
226
  }
@@ -157,4 +157,19 @@
157
157
  right: calc(100% + 1rem);
158
158
  text-align: center;
159
159
  }
160
+ }
161
+
162
+ // list wrapper to apply a min height
163
+ .list__wrapper {
164
+ overflow-x: hidden;
165
+ overflow-y: auto;
166
+ }
167
+ .list__wrapper--small {
168
+ max-height: 12.5rem;
169
+ }
170
+ .list__wrapper--medium {
171
+ max-height: 25rem;
172
+ }
173
+ .list__wrapper--large {
174
+ max-height: 37.5rem;
160
175
  }
@@ -32,8 +32,8 @@
32
32
 
33
33
  // #region General styles
34
34
  .nav {
35
-
36
35
 
36
+ overflow-x: hidden;
37
37
  font-weight: bold;
38
38
 
39
39
  &__inner,
@@ -416,6 +416,10 @@ nav + main > *:first-child {
416
416
  height: 100vh;
417
417
  }
418
418
 
419
+ .nav:has(#showMenu:checked){
420
+ min-height: 100vh;
421
+ }
422
+
419
423
  #showMenu:checked ~ .nav__inner,
420
424
  #showAccount:checked ~ .nav__menu--account {
421
425
 
@@ -0,0 +1,140 @@
1
+ @use "../_func" as *;
2
+
3
+ @import "../../../node_modules/bootstrap/scss/_pagination.scss";
4
+
5
+ // #region Basic fixes
6
+ .pagination {
7
+ gap: rem(4);
8
+ padding-top: rem(24);
9
+ }
10
+
11
+ .pagination .page-link {
12
+ font-size: rem(14);
13
+ width: rem(28);
14
+ line-height: rem(28);
15
+ padding: 0;
16
+ text-align: center;
17
+ overflow: hidden;
18
+ border: none!important;
19
+ }
20
+
21
+ .pagination .page-item {
22
+ border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);
23
+ border-radius: 4px!important;
24
+ @include transition($pagination-transition);
25
+
26
+ &:hover {
27
+ border-color: var(--#{$prefix}pagination-hover-border-color);
28
+ }
29
+
30
+ &:focus {
31
+ box-shadow: var(--#{$prefix}pagination-focus-box-shadow);
32
+ }
33
+
34
+ &.active {
35
+ border-color: var(--#{$prefix}pagination-active-border-color);
36
+ }
37
+
38
+ &.disabled {
39
+ border-color: var(--#{$prefix}pagination-disabled-border-color);
40
+ }
41
+ }
42
+ // #endregion
43
+
44
+ // #region First and last buttons
45
+ .pagination .page-item {
46
+
47
+ &:first-child .page-link,
48
+ &:last-child .page-link {
49
+
50
+ overflow: hidden;
51
+ text-indent: -300%;
52
+ background: currentColor;
53
+ mask-image: var(--icon-arrow);
54
+ mask-size: 50%;
55
+ mask-repeat: no-repeat;
56
+ mask-position: 50% 50%;
57
+ -webkit-mask-image: var(--icon-arrow);
58
+ -webkit-mask-size: 50%;
59
+ -webkit-mask-repeat: no-repeat;
60
+ -webkit-mask-position: 50% 50%;
61
+ }
62
+
63
+ &:first-child .page-link,
64
+ {
65
+ transform: rotate(180deg);
66
+ }
67
+ }
68
+ // #endregion
69
+
70
+ // #region Minimise the amount of buttons on display
71
+ .pagination:has(.page-item:nth-child(8)) {
72
+
73
+ .page-item {
74
+ display: none;
75
+ }
76
+
77
+ .page-item:is(:first-child, :last-child, :nth-child(2), :nth-last-child(2)) {
78
+ display: block;
79
+ }
80
+
81
+ .page-item.active {
82
+ display: block;
83
+ }
84
+
85
+ .page-item:has(+ .active),
86
+ .page-item.active + .page-item,
87
+ .page-item:nth-child(2).active + .page-item + .page-item,
88
+ .page-item:has(+ .page-item + .page-item:nth-last-child(2).active) {
89
+ display: block;
90
+ }
91
+
92
+ .page-item:nth-child(2),
93
+ .page-item:nth-last-child(2) {
94
+
95
+ margin-right: rem(4 + 28);
96
+ position: relative;
97
+
98
+ &:after {
99
+ content: "...";
100
+ display: block;
101
+ width: rem(28);
102
+ line-height: rem(28);
103
+ position: absolute;
104
+ left: calc(100% + #{rem(4)} + 2px);
105
+ top: -1px;
106
+ pointer-events: none;
107
+ border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);
108
+
109
+ border-radius: 4px;
110
+ text-align: center;
111
+ }
112
+ }
113
+
114
+ .page-item:nth-last-child(2) {
115
+
116
+ margin-left: rem(4 + 28);
117
+ margin-right: 0;
118
+
119
+ &:after {
120
+ left: auto;
121
+ right: calc(100% + #{rem(4)} + 2px);
122
+ }
123
+ }
124
+
125
+ .page-item:nth-child(2).active,
126
+ .page-item:nth-child(2):has(+ .active),
127
+ .page-item:nth-child(2):has(+ .page-item + .active),
128
+ .page-item:nth-last-child(4).active + .page-item + .page-item,
129
+ .page-item:nth-last-child(3).active + .page-item,
130
+ .page-item:nth-last-child(2).active {
131
+
132
+ margin-left: 0;
133
+ margin-right: 0;
134
+
135
+ &:after {
136
+ display: none;
137
+ }
138
+ }
139
+ }
140
+ // #endregion
@@ -0,0 +1,419 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ // #region Default table
4
+ table {
5
+ --border-width: 2px;
6
+ --inner-border-width: 2px;
7
+ width: 100%;
8
+ font-size: rem(16);
9
+ border: none;
10
+ margin-bottom: rem(32);
11
+ overflow: auto;
12
+ }
13
+
14
+ td,th {
15
+ padding: rem(12) rem(32) rem(12) 0;
16
+
17
+ font-weight: normal;
18
+ text-align: left;
19
+ vertical-align: top;
20
+ border: none;
21
+ font-size: rem(16);
22
+ line-height: rem(24);
23
+ color: var(--colour-body);
24
+
25
+ @include media-breakpoint-up(sm) {
26
+ min-width: #{$td-mw};
27
+ }
28
+
29
+ &:last-child {
30
+ padding-right: 0;
31
+ }
32
+ }
33
+
34
+ th {
35
+ font-weight: bold;
36
+ @include var(color,--colour-heading);
37
+ }
38
+
39
+ thead {
40
+
41
+ th {
42
+ font-weight: bold;
43
+ vertical-align: bottom;
44
+
45
+ @include media-breakpoint-up(sm) {
46
+ white-space: nowrap;
47
+ min-width: #{$td-mw};
48
+ }
49
+ }
50
+ }
51
+
52
+
53
+ tbody tr {
54
+
55
+
56
+ &:is(:hover,:focus,.hover) {
57
+
58
+ td {
59
+ --bg-colour-rgb: 238,238,238;
60
+ background: #EEEEEE;
61
+ }
62
+ }
63
+
64
+ td {
65
+
66
+ border-top: var(--border-width) solid currentColor;
67
+ @include var(border-color,--colour-border);
68
+ }
69
+
70
+ &:first-child td{
71
+ border-top: var(--border-width) solid currentColor;
72
+ @include var(border-color,--colour-primary);
73
+ }
74
+
75
+ &:last-child td{
76
+ border-bottom: var(--border-width) solid currentColor;
77
+ @include var(border-color,--colour-border);
78
+ }
79
+ }
80
+
81
+ .border-0 > table,
82
+ table.border-0 {
83
+
84
+ --border-width: 0px;
85
+ --inner-border-width: 0px;
86
+ }
87
+ // #endregion
88
+
89
+ // #region Table wrapper - Add via JS if needed, provides a safe space to scroll
90
+ :is(iam-table, .iam-table) {
91
+
92
+ display: block;
93
+ padding: rem(32);
94
+ box-shadow: 0px 6px 12px rgba(0,0,0,0.11);
95
+ border-radius: rem(8);
96
+ margin-bottom: rem(32);
97
+
98
+ table {
99
+ margin-bottom: 0;
100
+ }
101
+ }
102
+
103
+ .table__wrapper {
104
+ display: block;
105
+ width: 100%;
106
+ overflow-x: auto;
107
+ -webkit-overflow-scrolling: touch;
108
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
109
+ }
110
+ // #endregion
111
+
112
+ // #region Tables are only stacked on mobile
113
+ *:has(> iam-table){
114
+ container-type: inline-size;
115
+ }
116
+ *:has(> .iam-table){
117
+ container-type: inline-size;
118
+ }
119
+ @container (width < 23.4375em) {
120
+
121
+ .table__wrapper:not(.table--fullwidth) {
122
+
123
+ overflow: hidden;
124
+ max-height: none!important;
125
+
126
+ }
127
+ :is(iam-table, .iam-table):not(.table--fullwidth) {
128
+
129
+ table {
130
+
131
+ thead {
132
+ display: none;
133
+ }
134
+
135
+ tbody {
136
+ display: block;
137
+
138
+ tr td:first-child {
139
+ padding-top:0;
140
+ }
141
+ }
142
+
143
+ tr {
144
+ display: block;
145
+ position: relative;
146
+ border: none;
147
+
148
+ & + tr {
149
+ margin-top: rem(32);
150
+ }
151
+
152
+ &:is(:hover,:focus,.hover) {
153
+
154
+ td {
155
+ background: transparent;
156
+ }
157
+ }
158
+
159
+ &:last-child td:not(:last-child) {
160
+ border-bottom:none;
161
+ }
162
+
163
+ &:first-child td:first-child {
164
+ border-top: none;
165
+ border-color: var(--colour-border);
166
+ }
167
+ &:first-child td {
168
+ border-color: var(--colour-border);
169
+ }
170
+ }
171
+
172
+ td,
173
+ th {
174
+ display: block;
175
+ @include var(border-color,--colour-border);
176
+
177
+ &:nth-child(1){
178
+
179
+ border-top: none;
180
+ }
181
+
182
+ &[data-label]:before {
183
+ content: attr(data-label);
184
+ color: var(--colour-heading);
185
+ padding: 0;
186
+ margin-bottom: 0;
187
+ display: block;
188
+ font-weight: bold;
189
+ margin: 0;
190
+ }
191
+ }
192
+
193
+ tbody tr:first-child td:not(:first-child) {
194
+ border-top: var(--border-width) solid currentColor!important;
195
+ border-color: var(--colour-border)!important;
196
+ }
197
+
198
+ tbody tr:has(td:nth-child(4)) td:first-child {
199
+
200
+ position: relative;
201
+
202
+ button {
203
+ display: block!important;
204
+ top: 0;
205
+ left: 0;
206
+ height: 100%;
207
+ width: 100%;
208
+ background: transparent;
209
+ border: none;
210
+ position: absolute;
211
+ overflow: hidden;
212
+ text-indent: -300%;
213
+
214
+ &:after {
215
+ font-family: "Font Awesome 6 Pro";
216
+ content: "\f055";
217
+ position: absolute;
218
+ top: 1px;
219
+ right: 1px;
220
+ font-size: rem(28);
221
+ line-height: rem(28);
222
+ font-weight: 300;
223
+ color: var(--colour-primary);
224
+ text-indent: 0;
225
+ }
226
+ }
227
+ }
228
+
229
+ tbody tr:has(td:nth-child(4))[data-view="full"] td:first-child {
230
+ button:after {
231
+ content: "\f056";
232
+ font-weight: 900;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ body:not(.js-enabled) :is(iam-table, .iam-table):not(.table--fullwidth) tbody tr:not(:hover):not(:focus-within),
238
+ :is(iam-table, .iam-table):not(.table--fullwidth) tbody tr:not([data-view="full"]) {
239
+
240
+ td:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){
241
+ display: none;
242
+ }
243
+ td:first-child {
244
+
245
+ button:after {
246
+ content: "\f055";
247
+ }
248
+ }
249
+ }
250
+
251
+ .table--cta:not(.table--fullwidth) tr td:last-child {
252
+ display: block!important;
253
+ }
254
+
255
+ }
256
+ // #endregion
257
+
258
+ // #region CTA column
259
+ @include media-breakpoint-up(sm) {
260
+
261
+ :is(iam-table) {
262
+
263
+ --cta-width: 8rem;
264
+ }
265
+
266
+ :not(iam-table).table--cta {
267
+
268
+ position: relative;
269
+ margin-right: calc(var(--cta-width) - 1.5rem);
270
+
271
+ &::after {
272
+ content: "";
273
+ display: block;
274
+ position: absolute;
275
+ bottom: 0;
276
+ left: 0;
277
+ width: calc(100% + calc(var(--cta-width) - 1.5rem));
278
+ border-bottom: 2px solid currentColor;
279
+ @include var(border-color,--colour-border);
280
+ z-index: 99;
281
+ }
282
+ }
283
+
284
+ .table--cta .table__wrapper {
285
+ overflow-y: hidden;
286
+ margin-bottom: 0;
287
+ }
288
+
289
+ .table--cta {
290
+
291
+ tr > *:last-child {
292
+
293
+ position: absolute;
294
+ left: 100%;
295
+ top: auto;
296
+ z-index: 3;
297
+ background: transparent;
298
+ width: var(--cta-width);
299
+ padding-left: rem(40);
300
+ margin-left: rem(-40);
301
+ min-width: fit-content;
302
+ min-height: var(--row-height);
303
+ text-align: right;
304
+ background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 1.25rem);
305
+ background: linear-gradient(90deg, rgba(var(--bg-colour-rgb,255,255,255),0) 0%, rgba(var(--bg-colour-rgb,255,255,255),1) 1.25rem);
306
+
307
+ a {
308
+ white-space: nowrap;
309
+ }
310
+ }
311
+
312
+ tbody tr > *:last-child {
313
+ margin-top: -1px;
314
+ }
315
+ tbody tr {
316
+
317
+ &:last-child td{
318
+ border-bottom: none;
319
+ }
320
+ }
321
+ }
322
+ }
323
+ // #endregion
324
+
325
+ // #region Max height tables
326
+ .table__wrapper:is(.table--mh-small,.table--mh-medium,.table--mh-large) {
327
+ max-height: var(--table-mh,#{rem(200)});
328
+ overflow: auto;
329
+ position: relative;
330
+
331
+ &::before {
332
+ content: "";
333
+ top: calc(100% - 1.2rem);
334
+ bottom: 2px;
335
+ left: 0;
336
+ right: 0;
337
+ height: 1.2rem;
338
+ position: sticky;
339
+ display: block;
340
+ background: linear-gradient(180deg, rgba(var(--bg-colour-rgb, 255, 255, 255), 0) 0%, rgba(var(--bg-colour-rgb, 255, 255, 255), 1) 100%);
341
+ border-bottom: 2px solid var(--colour-border);
342
+ z-index: 2;
343
+ margin-bottom: -1.2rem;
344
+ }
345
+ }
346
+
347
+ .table__wrapper.table--mh-small {
348
+ --table-mh: #{$table-mh-sm};
349
+ }
350
+ .table__wrapper.table--mh-medium {
351
+ --table-mh: #{$table-mh-md};
352
+ }
353
+ .table__wrapper.table--mh-large {
354
+ --table-mh: #{$table-mh-lg};
355
+ }
356
+
357
+ // If table CTA class is set then undo max-height
358
+ .table--cta > .table__wrapper:is(.table--mh-small,.table--mh-medium,.table--mh-large) {
359
+ max-height: none;
360
+ position: static;
361
+
362
+ &::before {
363
+ display: none;
364
+ }
365
+ }
366
+
367
+ iam-table:is(.table--mh-small,.table--mh-medium,.table--mh-large):not(.table--cta) {
368
+
369
+ position: relative;
370
+
371
+ thead {
372
+ position: sticky;
373
+ top: 0;
374
+ left: 0;
375
+ z-index: 1;
376
+ background-color: var(--colour-white);;
377
+
378
+ &:before {
379
+ content: "";
380
+ position: absolute;
381
+ bottom: 0;
382
+ left: 0;
383
+ width: 100%;
384
+ height: 2px;
385
+ background: var(--colour-primary);
386
+ }
387
+ }
388
+ tbody {
389
+ position: relative;
390
+
391
+ tr:first-child td {
392
+ border-top: 0;
393
+ }
394
+ tr:last-child td {
395
+ border-bottom: 0;
396
+ }
397
+
398
+ }
399
+ }
400
+ //#endregion
401
+
402
+ // filters
403
+ .table--filtered tbody tr:not(.filtered--show) {
404
+ display: none!important;
405
+ }
406
+
407
+ table:not(.table--filtered) tbody tr:nth-child(15) ~ tr {
408
+ display: none;
409
+ }
410
+
411
+ // Statuses
412
+ /* Will be used in the future
413
+ [data-content="Incomplete"] {
414
+ background-color: red;
415
+ }
416
+ [data-content="Verified"] {
417
+ background-color: green;
418
+ }
419
+ */
@@ -4,7 +4,7 @@
4
4
  fill: currentColor;
5
5
  stroke: currentColor;
6
6
  stroke-width: 0;
7
- @include var(color,--colour-brand);
7
+ @include var(color,--colour-primary);
8
8
  width: rem(64);
9
9
  height: rem(64);
10
10
  display: inline-block;
@@ -96,4 +96,30 @@ a,
96
96
  margin-right: 0.2em;
97
97
  }
98
98
  }
99
+ }
100
+
101
+ // Support card component
102
+ :is(a,button,label):has(.card, iam-card){
103
+ &:before {
104
+ display: none;
105
+ }
106
+ border: none;
107
+ background: none;
108
+ padding:0;
109
+ display: flex;
110
+ margin: 0 0 rem(24) 0;
111
+ outline: none!important;
112
+
113
+ &:not(.d-inline-block){
114
+
115
+ width: 100%;
116
+ }
117
+
118
+ iam-card {
119
+ width: 100%;
120
+ }
121
+ }
122
+
123
+ .col > :is(a,button):has(.card, iam-card):first-child:last-child{
124
+ min-height: calc(100% - rem(24));
99
125
  }