@iamproperty/components 7.2.0 → 7.2.1--beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/card.component.css +1 -1
  8. package/assets/css/components/card.component.css.map +1 -1
  9. package/assets/css/components/carousel.component.css +1 -1
  10. package/assets/css/components/carousel.component.css.map +1 -1
  11. package/assets/css/components/doughnutchart.component.css +1 -1
  12. package/assets/css/components/doughnutchart.component.css.map +1 -1
  13. package/assets/css/components/pagination.css +1 -1
  14. package/assets/css/components/pagination.css.map +1 -1
  15. package/assets/css/components/table-basic.component.css +1 -0
  16. package/assets/css/components/table-basic.component.css.map +1 -0
  17. package/assets/css/components/table-basic.global.css +1 -0
  18. package/assets/css/components/table-basic.global.css.map +1 -0
  19. package/assets/css/components/table.component.css +1 -1
  20. package/assets/css/components/table.component.css.map +1 -1
  21. package/assets/css/components/table.global.css +1 -1
  22. package/assets/css/components/table.global.css.map +1 -1
  23. package/assets/css/components/tabs.config.css +1 -0
  24. package/assets/css/components/tabs.config.css.map +1 -0
  25. package/assets/css/components/tabs.css +1 -1
  26. package/assets/css/components/tabs.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/mobile-core.min.css +1 -1
  30. package/assets/css/mobile-core.min.css.map +1 -1
  31. package/assets/css/mobile.min.css +1 -1
  32. package/assets/css/mobile.min.css.map +1 -1
  33. package/assets/css/style.min.css +1 -1
  34. package/assets/css/style.min.css.map +1 -1
  35. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  36. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  37. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  38. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  39. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  40. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  41. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  42. package/assets/js/components/card/card.component.min.js +2 -2
  43. package/assets/js/components/carousel/carousel.component.min.js +2 -2
  44. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  45. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  46. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  47. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  48. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  49. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  50. package/assets/js/components/header/header.component.min.js +1 -1
  51. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  52. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  53. package/assets/js/components/menu/menu.component.min.js +1 -1
  54. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  55. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  56. package/assets/js/components/nav/nav.component.min.js +1 -1
  57. package/assets/js/components/notification/notification.component.min.js +1 -1
  58. package/assets/js/components/pagination/pagination.component.js +11 -4
  59. package/assets/js/components/pagination/pagination.component.min.js +5 -5
  60. package/assets/js/components/pagination/pagination.component.min.js.map +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/search/search.component.min.js.map +1 -1
  64. package/assets/js/components/slider/slider.component.min.js +1 -1
  65. package/assets/js/components/table/table.component.js +35 -198
  66. package/assets/js/components/table/table.component.min.js +13 -23
  67. package/assets/js/components/table/table.component.min.js.map +1 -1
  68. package/assets/js/components/table-ajax/table-ajax.component.js +46 -0
  69. package/assets/js/components/table-ajax/table-ajax.component.min.js +22 -0
  70. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -0
  71. package/assets/js/components/table-basic/table-basic.component.js +46 -0
  72. package/assets/js/components/table-basic/table-basic.component.min.js +22 -0
  73. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -0
  74. package/assets/js/components/table-no-submit/table-no-submit.component.js +77 -0
  75. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +22 -0
  76. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -0
  77. package/assets/js/components/table-submit/table-submit.component.js +55 -0
  78. package/assets/js/components/table-submit/table-submit.component.min.js +22 -0
  79. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -0
  80. package/assets/js/components/tabs/tabs.component.js +2 -0
  81. package/assets/js/components/tabs/tabs.component.min.js +6 -4
  82. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  83. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  84. package/assets/js/modules/helpers.js +4 -0
  85. package/assets/js/modules/table.js +543 -294
  86. package/assets/js/modules/tabs.js +43 -13
  87. package/assets/js/scripts.bundle.js +3 -3
  88. package/assets/js/scripts.bundle.js.map +1 -1
  89. package/assets/js/scripts.bundle.min.js +2 -2
  90. package/assets/js/scripts.bundle.min.js.map +1 -1
  91. package/assets/js/scripts.js +31 -24
  92. package/assets/js/tests/table.spec.js +0 -31
  93. package/assets/sass/_components.scss +3 -0
  94. package/assets/sass/components/actionbar.component.scss +1 -0
  95. package/assets/sass/components/actionbar.global.scss +0 -70
  96. package/assets/sass/components/pagination.scss +2 -1
  97. package/assets/sass/components/table-basic.component.scss +128 -0
  98. package/assets/sass/components/table-basic.global.scss +355 -0
  99. package/assets/sass/components/table.component.scss +2 -133
  100. package/assets/sass/components/table.global.scss +175 -434
  101. package/assets/sass/components/tabs.config.scss +27 -0
  102. package/assets/sass/components/tabs.scss +33 -1
  103. package/assets/sass/elements/buttons--global.scss +2 -1
  104. package/assets/sass/elements/table.element.scss +9 -7
  105. package/assets/sass/foundations/root.scss +1 -1
  106. package/assets/ts/components/pagination/pagination.component.ts +17 -4
  107. package/assets/ts/components/table/table.component.ts +48 -243
  108. package/assets/ts/components/table-ajax/table-ajax.component.ts +64 -0
  109. package/assets/ts/components/table-basic/README.md +40 -0
  110. package/assets/ts/components/table-basic/table-basic.component.ts +56 -0
  111. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +134 -0
  112. package/assets/ts/components/table-submit/table-submit.component.ts +64 -0
  113. package/assets/ts/components/tabs/tabs.component.ts +2 -0
  114. package/assets/ts/modules/helpers.ts +6 -0
  115. package/assets/ts/modules/table.ts +655 -328
  116. package/assets/ts/modules/tabs.ts +54 -12
  117. package/assets/ts/scripts.ts +5 -3
  118. package/assets/ts/tests/table.spec.ts +0 -38
  119. package/dist/components.es.js +138 -136
  120. package/dist/components.umd.js +108 -116
  121. package/package.json +1 -1
  122. package/src/components/Table/TableAjax.vue +34 -0
  123. package/src/components/Table/TableBasic.vue +34 -0
  124. package/src/components/Table/TableNoSubmit.vue +34 -0
  125. package/src/components/Table/TableSubmit.vue +34 -0
  126. package/src/components/Table/Table.spec.js +0 -47
@@ -43,76 +43,6 @@ main > .actionbar__sticky-wrapper > .actionbar__sticky > iam-actionbar {
43
43
  }
44
44
  // #endregion
45
45
 
46
- // #region As part of the iam-table component
47
- iam-table iam-actionbar {
48
- margin-left: 1.5rem;
49
- margin-right: 1.5rem;
50
- }
51
- iam-table.table--fullwidth:has(iam-actionbar) {
52
- padding-top: 0;
53
- }
54
- iam-table.table--fullwidth iam-actionbar {
55
- margin: 0 -2rem 2rem -2rem;
56
- box-shadow: none;
57
- border-radius: 0;
58
-
59
- @include light-mode($darkMode) {
60
- background-color: #e6eaec;
61
- }
62
- }
63
-
64
- .actionbar__sticky-wrapper {
65
- container-type: inline-size;
66
-
67
- @include media-breakpoint-up(sm, $mobileOnly) {
68
- padding: 0 !important;
69
- }
70
- }
71
-
72
- @container (width < 23.4375em) {
73
- :is(iam-table, .actionbar__sticky-wrapper) > .actionbar__sticky {
74
- display: block;
75
- position: sticky;
76
- left: 0;
77
- top: calc(var(--sticky-padding) + #{rem(16)});
78
- z-index: var(--index-menu);
79
- pointer-events: none;
80
-
81
- &:after {
82
- content: '';
83
- display: block;
84
- width: 100%;
85
- height: calc(100vh - #{rem(68 + 24 + 16)});
86
- pointer-events: none;
87
- }
88
-
89
- & + * {
90
- margin-top: calc(-100vh - -6.75rem);
91
- }
92
- }
93
-
94
- :is(iam-table, .actionbar__sticky) > iam-actionbar {
95
- pointer-events: all !important;
96
- display: block;
97
- border: none;
98
- background: var(--colour-canvas-2);
99
- box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
100
- border-radius: 0.5rem;
101
- margin-bottom: rem(24);
102
- }
103
- }
104
-
105
- @include container-up(sm) {
106
- iam-table.table--fullwidth iam-actionbar,
107
- iam-table iam-actionbar {
108
- margin-left: -2rem;
109
- margin-right: -2rem;
110
- margin-top: 0;
111
- margin-bottom: 2rem;
112
- }
113
- }
114
- // #endregion
115
-
116
46
  // #region Switchview
117
47
  iam-actionbar ~ :is([data-view='square'], [data-view='list'], [data-view='small']) {
118
48
  display: none;
@@ -22,8 +22,9 @@
22
22
  align-items: center;
23
23
  }
24
24
 
25
- *:has(.prev:disabled):has(.next:disabled) {
25
+ &:has(.prev:disabled):has(.next:disabled) {
26
26
  display: none;
27
+ padding: 0;
27
28
  }
28
29
  }
29
30
 
@@ -0,0 +1,128 @@
1
+ @use '../_func.scss' as *;
2
+
3
+ @include max-height();
4
+
5
+ $darkMode: 'true' !default;
6
+
7
+ // #region Table container - Add via JS if needed, provides a safe space to scroll
8
+ :host {
9
+ container-type: inline-size;
10
+ display: block;
11
+ }
12
+
13
+ .table__container {
14
+ --wrapper-padding: #{rem(32)};
15
+ --bg-colour: #ffffff;
16
+ display: block;
17
+ background: white;
18
+ padding: var(--wrapper-padding);
19
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
20
+ border-radius: rem(10);
21
+ margin-bottom: rem(32);
22
+ overflow: hidden;
23
+
24
+ &:before {
25
+ display: none !important;
26
+ }
27
+
28
+ @media screen and (prefers-color-scheme: dark) {
29
+ background: var(--colour-canvas-2);
30
+ }
31
+
32
+ @media (forced-colors: active) {
33
+ --wrapper-padding: 0;
34
+ background: var(--colour-canvas-2);
35
+ }
36
+ }
37
+
38
+ :host(.mh-sm) {
39
+ max-height: none !important;
40
+ }
41
+ :host(.mh-md) {
42
+ max-height: none !important;
43
+ }
44
+ :host(.mh-lg) {
45
+ max-height: none !important;
46
+ }
47
+
48
+ .table__wrapper {
49
+ display: block;
50
+ width: 100%;
51
+ overflow-x: auto;
52
+ -webkit-overflow-scrolling: touch;
53
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
54
+ }
55
+ // #endregion
56
+
57
+ // #region Tables are only stacked on mobile
58
+ @container (width < 23.4375em) {
59
+ :host(:not(.table--fullwidth)) .table__container {
60
+ margin-left: -1.5rem;
61
+ margin-right: -1.5rem;
62
+ margin-bottom: 0;
63
+ background: var(--colour-canvas-2);
64
+ border-radius: 0;
65
+ background: none;
66
+ padding: 0;
67
+ box-shadow: none;
68
+ overflow: visible;
69
+
70
+ .table__wrapper {
71
+ overflow: hidden;
72
+ max-height: none !important;
73
+ }
74
+
75
+ ::slotted(table) {
76
+ overflow: visible !important;
77
+ margin-inline: 1.5rem;
78
+ margin-bottom: 1.5rem !important;
79
+ width: calc(100% - 3rem) !important;
80
+ display: block;
81
+ }
82
+
83
+ .table--cta {
84
+ border-bottom: 0;
85
+
86
+ &:after {
87
+ content: none;
88
+ display: none !important;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ // #endregion
94
+
95
+ // #region CTA column
96
+ @container (width > 23.4375em) {
97
+ :host {
98
+ --cta-width: 8rem;
99
+ }
100
+
101
+ :host(.table--loading) {
102
+ --cta-width: 1.5rem !important;
103
+ }
104
+
105
+ .table--cta {
106
+ position: relative;
107
+ }
108
+
109
+ .table--cta .table__wrapper {
110
+ overflow-y: hidden;
111
+ margin-bottom: 0;
112
+ }
113
+ }
114
+ // #endregion
115
+
116
+ // #region Max height tables
117
+ .table__wrapper:is(.mh-sm, .mh-md, .mh-lg) {
118
+ position: relative;
119
+ overflow: auto;
120
+
121
+ &::before {
122
+ top: calc(100% - 1.2rem);
123
+ bottom: 2px;
124
+ height: 1.2rem;
125
+ border-bottom: 2px solid var(--colour-border);
126
+ margin-bottom: -1.2rem;
127
+ }
128
+ }
@@ -0,0 +1,355 @@
1
+ @use '../_func.scss' as *;
2
+
3
+ $darkMode: 'true' !default;
4
+
5
+ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
6
+
7
+ // #region Basic table stuff
8
+ :is(#{$selector}) {
9
+ --hover-background: var(--colour-light);
10
+ --row-bg: var(--colour-canvas-2);
11
+
12
+ table {
13
+ margin-bottom: 0;
14
+ }
15
+
16
+ td {
17
+ background-color: var(--row-bg);
18
+ }
19
+
20
+ tr td p {
21
+ min-width: 10rem;
22
+ }
23
+
24
+
25
+ tbody tr {
26
+ background: var(--row-bg);
27
+
28
+ &:is(:hover, :focus-within, .hover) {
29
+ --bg-colour-rgb: 238, 238, 238;
30
+ --row-bg: var(--hover-background);
31
+ background: var(--row-bg);
32
+ }
33
+ }
34
+
35
+ /*
36
+ &[data-expandable] [data-expand-button][aria-expanded] {
37
+ background-color: transparent;
38
+ }
39
+ */
40
+ }
41
+ // #endregion
42
+
43
+ // #region Pagination
44
+ :is(#{$selector}) table:has(tr.show) tbody tr:not(.show) {
45
+ display: none !important;
46
+ }
47
+ // #endregion
48
+
49
+ // #region Tables are only stacked on mobile
50
+ :is(#{$selector}):not(.table--fullwidth) {
51
+ td:has([data-expand-button]),
52
+ .expand-button-heading {
53
+ display: none;
54
+ }
55
+
56
+ @container (width < 23.4375em) {
57
+ &:not(.table--fullwidth) {
58
+ td:has([data-expand-button]) {
59
+ height: 0;
60
+ padding: 0;
61
+ position: relative;
62
+ display: block !important;
63
+ }
64
+ td:has([data-expand-button]) + td {
65
+ border-top: none !important;
66
+ padding-top: 0 !important;
67
+ padding-right: 3rem;
68
+ }
69
+ td:has([data-expand-button]) + .td--fixed + td {
70
+ border-top: none !important;
71
+ }
72
+
73
+ [data-expand-button] {
74
+ top: 0;
75
+ right: 0;
76
+ background: transparent !important;
77
+ border: none;
78
+ position: absolute;
79
+ overflow: hidden;
80
+ --compact-size: #{rem(32)};
81
+
82
+ &:before {
83
+ font-family: 'Font Awesome 6 Pro';
84
+ content: '\f055';
85
+ font-weight: 300 !important;
86
+ font-size: rem(28);
87
+ line-height: var(--compact-size) !important;
88
+ }
89
+
90
+ &[aria-expanded] {
91
+ &:before {
92
+ content: '\f056';
93
+ font-weight: 900 !important;
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ @container (width < 23.4375em) {
101
+ thead {
102
+ display: none;
103
+ }
104
+
105
+ tbody {
106
+ --status-pt: 2.5rem;
107
+
108
+ display: block;
109
+ overflow: visible;
110
+
111
+ tr td:first-child {
112
+ padding-top: 0;
113
+ }
114
+ }
115
+
116
+ tr {
117
+ display: block;
118
+ position: relative;
119
+ border: none;
120
+ background: var(--row-bg);
121
+ padding: var(--wrapper-padding);
122
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
123
+ border-radius: rem(8);
124
+ height: auto;
125
+
126
+ & + tr {
127
+ margin-top: rem(32);
128
+ }
129
+
130
+ &:is(:hover, :focus, .hover) {
131
+ --row-bg: var(--colour-canvas-2);
132
+ }
133
+ }
134
+
135
+ td:has([data-expand-button]) {
136
+ display: block;
137
+ }
138
+
139
+ :is(td, th) {
140
+ display: block;
141
+ border-color: var(--colour-border);
142
+
143
+ padding-right: 0;
144
+
145
+ &:nth-child(1) {
146
+ border-top: none;
147
+ }
148
+
149
+ &[data-label]:not([data-label='']):before {
150
+ content: attr(data-label);
151
+ color: var(--colour-heading);
152
+ padding: 0 0 rem(6) 0;
153
+ margin-bottom: 0;
154
+ display: block;
155
+ font-weight: bold;
156
+ }
157
+ }
158
+
159
+ td:first-child::after {
160
+ top: 1.75rem !important;
161
+ }
162
+
163
+ td::after {
164
+ top: 2.5rem;
165
+ }
166
+
167
+ .td--fixed {
168
+ padding-right: 50%;
169
+ }
170
+
171
+ tbody tr td:not(:first-child) {
172
+ border-top: var(--border-width) solid currentColor;
173
+ border-color: var(--colour-border) !important;
174
+ }
175
+
176
+ tr:not([data-view='full']) td p {
177
+ display: -webkit-box;
178
+ -webkit-box-orient: vertical;
179
+ -webkit-line-clamp: 2;
180
+ overflow: hidden;
181
+ }
182
+
183
+ tbody tr:not([data-view='full']) td:not(.td--fixed) + td:not(.td--fixed) + td + td {
184
+ display: none;
185
+ }
186
+ }
187
+ }
188
+ // #endregion
189
+
190
+ // #region CTA column
191
+
192
+ :is(#{$selector}):not(.table--fullwidth).table--cta {
193
+ @container (width < 23.4375em) {
194
+ tbody tr td:last-child {
195
+ display: block !important;
196
+ }
197
+ }
198
+ }
199
+
200
+ :is(#{$selector}).table--cta {
201
+ @container (width > 23.4375em) {
202
+ padding-right: calc(var(--wrapper-padding) + 1.5rem);
203
+
204
+ tr > th:nth-last-child(2),
205
+ tr > td:nth-last-child(2) {
206
+ padding-right: var(--cta-width);
207
+ }
208
+
209
+ tr > *:not(:first-child):last-child {
210
+ position: absolute;
211
+ left: calc(100% - var(--cta-width));
212
+ top: auto;
213
+ background: transparent;
214
+ width: var(--cta-width);
215
+ min-height: calc(var(--row-height) - 2px);
216
+ text-align: right;
217
+ background: linear-gradient(90deg, transparent 0%, var(--row-bg, var(--colour-canvs-2)) 1.25rem);
218
+ cursor: default;
219
+ padding-bottom: 0;
220
+
221
+ a {
222
+ white-space: nowrap;
223
+ padding-right: 0.2rem;
224
+ padding-bottom: 0;
225
+ }
226
+ }
227
+
228
+ tbody tr:hover > *:not(:first-child):last-child {
229
+ background: linear-gradient(90deg, transparent 0%, var(--row-bg, var(--colour-canvs-2)) 1.25rem);
230
+ }
231
+ }
232
+ }
233
+ // #endregion
234
+
235
+ // #region Statuses
236
+ table {
237
+ .hide-status:after {
238
+ display: none;
239
+ }
240
+
241
+ :not(.hide-status):is(
242
+ [data-content='low'],
243
+ [data-content='medium'],
244
+ [data-content='high'],
245
+ [data-content='unknown'],
246
+ [data-content='due'],
247
+ [data-content='overdue'],
248
+ [data-content='incomplete'],
249
+ [data-content='requires approval'],
250
+ [data-content='upcoming'],
251
+ [data-content='approval required'],
252
+ [data-content='warning'],
253
+ [data-content='verified'],
254
+ [data-content='not started'],
255
+ [data-content='to do'],
256
+ [data-content='on track'],
257
+ [data-content='completed'],
258
+ [data-content='complete'],
259
+ [data-content='successful'],
260
+ [data-content='failed'],
261
+ .alert-status:not([data-content='0']):not([data-content='']):not(:empty)
262
+ ) {
263
+ position: relative;
264
+ padding-left: 1.5rem;
265
+
266
+ &::before {
267
+ margin-left: -1.5rem !important;
268
+ }
269
+
270
+ &:after {
271
+ font-family: 'Font Awesome 6 Pro';
272
+ position: absolute;
273
+ top: var(--status-pt, 1rem);
274
+ left: 0;
275
+ font-size: rem(16);
276
+ line-height: 1;
277
+ height: rem(16);
278
+ width: rem(16);
279
+ display: inline-block;
280
+ }
281
+ }
282
+
283
+ [data-content='high']:after {
284
+ content: '\f325';
285
+ font-weight: normal;
286
+ color: var(--colour-danger);
287
+ }
288
+
289
+ [data-content='medium']:after {
290
+ content: '\f7a4';
291
+ font-weight: normal;
292
+ color: var(--colour-warning);
293
+ }
294
+
295
+ [data-content='low']:after {
296
+ content: '\e404';
297
+ font-weight: normal;
298
+ color: var(--colour-complete);
299
+ }
300
+
301
+ [data-content='unknown']:after {
302
+ content: '\e404';
303
+ font-weight: normal;
304
+ color: var(--colour-muted);
305
+ }
306
+
307
+ :is([data-content='overdue'], [data-content='due'], [data-content='incomplete']):after {
308
+ content: '\f024';
309
+ color: var(--colour-danger);
310
+ }
311
+
312
+ :is([data-content='not started'], [data-content='to do'], [data-content='on track']):after {
313
+ content: '\f024';
314
+ color: var(--colour-muted);
315
+ }
316
+
317
+ :is(
318
+ [data-content='requires approval'],
319
+ [data-content='approval required'],
320
+ [data-content='action required'],
321
+ [data-content='upcoming']
322
+ ):after {
323
+ content: '\f024';
324
+ color: var(--colour-warning);
325
+ }
326
+
327
+ :is([data-content='warning']):after {
328
+ content: '\f071';
329
+ color: var(--colour-warning);
330
+ }
331
+
332
+ :is(
333
+ [data-content='manually verified'],
334
+ [data-content='verified'],
335
+ [data-content='completed'],
336
+ [data-content='complete'],
337
+ [data-content='successful']
338
+ ):after {
339
+ content: '\f00c';
340
+ font-weight: normal;
341
+ color: var(--colour-complete);
342
+ }
343
+
344
+ :is([data-content='failed']):after {
345
+ content: '\f00d';
346
+ font-weight: normal;
347
+ color: var(--colour-danger);
348
+ }
349
+
350
+ .alert-status:not([data-content='0']):not([data-content='']):not(:empty):after {
351
+ content: '\f0f3';
352
+ color: var(--colour-primary);
353
+ }
354
+ }
355
+ // #endregion
@@ -1,127 +1,8 @@
1
1
  @use '../_func.scss' as *;
2
2
 
3
- // #region Table wrapper - Add via JS if needed, provides a safe space to scroll
4
- :host {
5
- --wrapper-padding: #{rem(32)};
6
- --bg-colour: #ffffff;
7
- display: block;
8
- background: white;
9
- padding: var(--wrapper-padding);
10
- box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
11
- border-radius: rem(10);
12
- margin-bottom: rem(32);
13
- overflow: hidden;
3
+ $darkMode: 'true' !default;
14
4
 
15
- &:before {
16
- display: none !important;
17
- }
18
-
19
- @media screen and (prefers-color-scheme: dark) {
20
- background: var(--colour-canvas-2);
21
- }
22
-
23
- @media (forced-colors: active) {
24
- --wrapper-padding: 0;
25
- background: var(--colour-canvas-2);
26
- }
27
- }
28
-
29
- ::slotted(table) {
30
- margin-bottom: 0 !important;
31
- }
32
-
33
- .table__wrapper {
34
- display: block;
35
- width: 100%;
36
- overflow-x: auto;
37
- -webkit-overflow-scrolling: touch;
38
- -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
39
- }
40
- // #endregion
41
-
42
- // #region Tables are only stacked on mobile
43
- @container (width < 23.4375em) {
44
- :host(:not(.table--fullwidth)) {
45
- margin-left: -1.5rem;
46
- margin-right: -1.5rem;
47
- margin-bottom: 0;
48
- background: var(--colour-canvas-2);
49
- border-radius: 0;
50
-
51
- .table__wrapper:not(.table--fullwidth) {
52
- overflow: hidden;
53
- max-height: none !important;
54
- }
55
-
56
- background: none;
57
- padding: 0;
58
- box-shadow: none;
59
- overflow: visible;
60
-
61
- ::slotted(table) {
62
- overflow: visible !important;
63
- margin-inline: 1.5rem;
64
- margin-bottom: 1.5rem !important;
65
- width: calc(100% - 3rem) !important;
66
- display: block;
67
- }
68
-
69
- .table--cta {
70
- border-bottom: 0;
71
-
72
- &:after {
73
- content: none;
74
- display: none !important;
75
- }
76
- }
77
- }
78
- }
79
- // #endregion
80
-
81
- // #region CTA column
82
- @container (width > 23.4375em) {
83
- :host {
84
- --cta-width: 8rem;
85
- }
86
-
87
- :host(.table--loading) {
88
- --cta-width: 1.5rem !important;
89
- }
90
-
91
- .table--cta {
92
- position: relative;
93
- }
94
-
95
- .table--cta .table__wrapper {
96
- overflow-y: hidden;
97
- margin-bottom: 0;
98
- }
99
- }
100
- // #endregion
101
-
102
- // #region Max height tables
103
- .table__wrapper:is(.mh-sm, .mh-md, .mh-lg) {
104
- position: relative;
105
-
106
- &::before {
107
- top: calc(100% - 1.2rem);
108
- bottom: 2px;
109
- height: 1.2rem;
110
- border-bottom: 2px solid var(--colour-border);
111
- margin-bottom: -1.2rem;
112
- }
113
- }
114
-
115
- // If table CTA class is set then undo max-height
116
- .table--cta > .table__wrapper:is(.mh-sm, .mh-md, .mh-lg) {
117
- max-height: none;
118
- position: static;
119
-
120
- &::before {
121
- display: none;
122
- }
123
- }
124
- //#endregion
5
+ @use './table-basic.component.scss';
125
6
 
126
7
  // #region Table with actionbar
127
8
  @container (width < 23.4375em) {
@@ -157,15 +38,3 @@
157
38
  }
158
39
  }
159
40
  // #endregion
160
-
161
- // #region pagination
162
- @container (width < 23.4375em) {
163
- .pagination--table {
164
- margin-inline: rem(24);
165
- width: auto;
166
- }
167
- :host(.table--fullwidth) .pagination--table {
168
- margin-inline: 0;
169
- }
170
- }
171
- // #endregion