@iamproperty/components 7.2.0 → 7.2.1--beta2

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 +36 -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 +544 -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 +132 -0
  98. package/assets/sass/components/table-basic.global.scss +365 -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 +49 -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 +656 -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,132 @@
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-context(.admin-panel) .table__container {
39
+ display: contents;
40
+ }
41
+
42
+ :host(.mh-sm) {
43
+ max-height: none !important;
44
+ }
45
+ :host(.mh-md) {
46
+ max-height: none !important;
47
+ }
48
+ :host(.mh-lg) {
49
+ max-height: none !important;
50
+ }
51
+
52
+ .table__wrapper {
53
+ display: block;
54
+ width: 100%;
55
+ overflow-x: auto;
56
+ -webkit-overflow-scrolling: touch;
57
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
58
+ }
59
+ // #endregion
60
+
61
+ // #region Tables are only stacked on mobile
62
+ @container (width < 23.4375em) {
63
+ :host(:not(.table--fullwidth)) .table__container {
64
+ margin-left: -1.5rem;
65
+ margin-right: -1.5rem;
66
+ margin-bottom: 0;
67
+ background: var(--colour-canvas-2);
68
+ border-radius: 0;
69
+ background: none;
70
+ padding: 0;
71
+ box-shadow: none;
72
+ overflow: visible;
73
+
74
+ .table__wrapper {
75
+ overflow: hidden;
76
+ max-height: none !important;
77
+ }
78
+
79
+ ::slotted(table) {
80
+ overflow: visible !important;
81
+ margin-inline: 1.5rem;
82
+ margin-bottom: 1.5rem !important;
83
+ width: calc(100% - 3rem) !important;
84
+ display: block;
85
+ }
86
+
87
+ .table--cta {
88
+ border-bottom: 0;
89
+
90
+ &:after {
91
+ content: none;
92
+ display: none !important;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ // #endregion
98
+
99
+ // #region CTA column
100
+ @container (width > 23.4375em) {
101
+ :host {
102
+ --cta-width: 8rem;
103
+ }
104
+
105
+ :host(.table--loading) {
106
+ --cta-width: 1.5rem !important;
107
+ }
108
+
109
+ .table--cta {
110
+ position: relative;
111
+ }
112
+
113
+ .table--cta .table__wrapper {
114
+ overflow-y: hidden;
115
+ margin-bottom: 0;
116
+ }
117
+ }
118
+ // #endregion
119
+
120
+ // #region Max height tables
121
+ .table__wrapper:is(.mh-sm, .mh-md, .mh-lg) {
122
+ position: relative;
123
+ overflow: auto;
124
+
125
+ &::before {
126
+ top: calc(100% - 1.2rem);
127
+ bottom: 2px;
128
+ height: 1.2rem;
129
+ border-bottom: 2px solid var(--colour-border);
130
+ margin-bottom: -1.2rem;
131
+ }
132
+ }
@@ -0,0 +1,365 @@
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
+
9
+
10
+
11
+ :is(#{$selector}) {
12
+ --hover-background: var(--colour-light);
13
+ --row-bg: var(--colour-canvas-2);
14
+
15
+ table {
16
+ margin-bottom: 0;
17
+ }
18
+
19
+ table thead tr th {
20
+ position: relative;
21
+ padding-right: 2rem !important;
22
+ padding-left: 0rem !important;
23
+ }
24
+
25
+ td {
26
+ background-color: var(--row-bg);
27
+ }
28
+
29
+ tr td p {
30
+ min-width: 10rem;
31
+ }
32
+
33
+
34
+ tbody tr {
35
+ background: var(--row-bg);
36
+
37
+ &:is(:hover, :focus-within, .hover) {
38
+ --bg-colour-rgb: 238, 238, 238;
39
+ --row-bg: var(--hover-background);
40
+ background: var(--row-bg);
41
+ }
42
+ }
43
+
44
+ /*
45
+ &[data-expandable] [data-expand-button][aria-expanded] {
46
+ background-color: transparent;
47
+ }
48
+ */
49
+ }
50
+ // #endregion
51
+
52
+ // #region Pagination
53
+ :is(#{$selector}) table:has(tr.show) tbody tr:not(.show) {
54
+ display: none !important;
55
+ }
56
+ // #endregion
57
+
58
+ // #region Tables are only stacked on mobile
59
+ :is(#{$selector}):not(.table--fullwidth) {
60
+ td:has([data-expand-button]),
61
+ .expand-button-heading {
62
+ display: none;
63
+ }
64
+
65
+ @container (width < 23.4375em) {
66
+ &:not(.table--fullwidth) {
67
+ td:has([data-expand-button]) {
68
+ height: 0;
69
+ padding: 0;
70
+ position: relative;
71
+ display: block !important;
72
+ }
73
+ td:has([data-expand-button]) + td {
74
+ border-top: none !important;
75
+ padding-top: 0 !important;
76
+ padding-right: 3rem;
77
+ }
78
+ td:has([data-expand-button]) + .td--fixed + td {
79
+ border-top: none !important;
80
+ }
81
+
82
+ [data-expand-button] {
83
+ top: 0;
84
+ right: 0;
85
+ background: transparent !important;
86
+ border: none;
87
+ position: absolute;
88
+ overflow: hidden;
89
+ --compact-size: #{rem(32)};
90
+
91
+ &:before {
92
+ font-family: 'Font Awesome 6 Pro';
93
+ content: '\f055';
94
+ font-weight: 300 !important;
95
+ font-size: rem(28);
96
+ line-height: var(--compact-size) !important;
97
+ }
98
+
99
+ &[aria-expanded] {
100
+ &:before {
101
+ content: '\f056';
102
+ font-weight: 900 !important;
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+
109
+ @container (width < 23.4375em) {
110
+ thead {
111
+ display: none;
112
+ }
113
+
114
+ tbody {
115
+ --status-pt: 2.5rem;
116
+
117
+ display: block;
118
+ overflow: visible;
119
+
120
+ tr td:first-child {
121
+ padding-top: 0;
122
+ }
123
+ }
124
+
125
+ tr {
126
+ display: block;
127
+ position: relative;
128
+ border: none;
129
+ background: var(--row-bg);
130
+ padding: var(--wrapper-padding);
131
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
132
+ border-radius: rem(8);
133
+ height: auto;
134
+
135
+ & + tr {
136
+ margin-top: rem(32);
137
+ }
138
+
139
+ &:is(:hover, :focus, .hover) {
140
+ --row-bg: var(--colour-canvas-2);
141
+ }
142
+ }
143
+
144
+ td:has([data-expand-button]) {
145
+ display: block;
146
+ }
147
+
148
+ :is(td, th) {
149
+ display: block;
150
+ border-color: var(--colour-border);
151
+
152
+ padding-right: 0;
153
+
154
+ &:nth-child(1) {
155
+ border-top: none;
156
+ }
157
+
158
+ &[data-label]:not([data-label='']):before {
159
+ content: attr(data-label);
160
+ color: var(--colour-heading);
161
+ padding: 0 0 rem(6) 0;
162
+ margin-bottom: 0;
163
+ display: block;
164
+ font-weight: bold;
165
+ }
166
+ }
167
+
168
+ td:first-child::after {
169
+ top: 1.75rem !important;
170
+ }
171
+
172
+ td::after {
173
+ top: 2.5rem;
174
+ }
175
+
176
+ .td--fixed {
177
+ padding-right: 50%;
178
+ }
179
+
180
+ tbody tr td:not(:first-child) {
181
+ border-top: var(--border-width) solid currentColor;
182
+ border-color: var(--colour-border) !important;
183
+ }
184
+
185
+ tr:not([data-view='full']) td p {
186
+ display: -webkit-box;
187
+ -webkit-box-orient: vertical;
188
+ -webkit-line-clamp: 2;
189
+ overflow: hidden;
190
+ }
191
+
192
+ tbody tr:not([data-view='full']) td:not(.td--fixed) + td:not(.td--fixed) + td + td {
193
+ display: none;
194
+ }
195
+ }
196
+ }
197
+ // #endregion
198
+
199
+ // #region CTA column
200
+
201
+ :is(#{$selector}):not(.table--fullwidth).table--cta {
202
+ @container (width < 23.4375em) {
203
+ tbody tr td:last-child {
204
+ display: block !important;
205
+ }
206
+ }
207
+ }
208
+
209
+ :is(#{$selector}).table--cta {
210
+ @container (width > 23.4375em) {
211
+ padding-right: calc(var(--wrapper-padding) + 1.5rem)!important;
212
+
213
+ tr > th:nth-last-child(2),
214
+ tr > td:nth-last-child(2) {
215
+ padding-right: var(--cta-width)!important;
216
+ }
217
+
218
+ tr > *:not(:first-child):last-child {
219
+ position: absolute;
220
+ left: calc(100% - var(--cta-width));
221
+ top: auto;
222
+ background: transparent;
223
+ width: var(--cta-width);
224
+ min-height: calc(var(--row-height) - 2px);
225
+ text-align: right;
226
+ background: linear-gradient(90deg, transparent 0%, var(--row-bg, var(--colour-canvs-2)) 1.25rem);
227
+ cursor: default;
228
+ padding-bottom: 0;
229
+
230
+ a {
231
+ white-space: nowrap;
232
+ padding-right: 0.2rem;
233
+ padding-bottom: 0;
234
+ margin: 0;
235
+ }
236
+ }
237
+
238
+ tbody tr:hover > *:not(:first-child):last-child {
239
+ background: linear-gradient(90deg, transparent 0%, var(--row-bg, var(--colour-canvs-2)) 1.25rem);
240
+ }
241
+ }
242
+ }
243
+ // #endregion
244
+
245
+ // #region Statuses
246
+ table {
247
+ .hide-status:after {
248
+ display: none;
249
+ }
250
+
251
+ :not(.hide-status):is(
252
+ [data-content='low'],
253
+ [data-content='medium'],
254
+ [data-content='high'],
255
+ [data-content='unknown'],
256
+ [data-content='due'],
257
+ [data-content='overdue'],
258
+ [data-content='incomplete'],
259
+ [data-content='requires approval'],
260
+ [data-content='upcoming'],
261
+ [data-content='approval required'],
262
+ [data-content='warning'],
263
+ [data-content='verified'],
264
+ [data-content='not started'],
265
+ [data-content='to do'],
266
+ [data-content='on track'],
267
+ [data-content='completed'],
268
+ [data-content='complete'],
269
+ [data-content='successful'],
270
+ [data-content='failed'],
271
+ .alert-status:not([data-content='0']):not([data-content='']):not(:empty)
272
+ ) {
273
+ position: relative;
274
+ padding-left: 1.5rem;
275
+
276
+ &::before {
277
+ margin-left: -1.5rem !important;
278
+ }
279
+
280
+ &:after {
281
+ font-family: 'Font Awesome 6 Pro';
282
+ position: absolute;
283
+ top: var(--status-pt, 1rem);
284
+ left: 0;
285
+ font-size: rem(16);
286
+ line-height: 1;
287
+ height: rem(16);
288
+ width: rem(16);
289
+ display: inline-block;
290
+ }
291
+ }
292
+
293
+ [data-content='high']:after {
294
+ content: '\f325';
295
+ font-weight: normal;
296
+ color: var(--colour-danger);
297
+ }
298
+
299
+ [data-content='medium']:after {
300
+ content: '\f7a4';
301
+ font-weight: normal;
302
+ color: var(--colour-warning);
303
+ }
304
+
305
+ [data-content='low']:after {
306
+ content: '\e404';
307
+ font-weight: normal;
308
+ color: var(--colour-complete);
309
+ }
310
+
311
+ [data-content='unknown']:after {
312
+ content: '\e404';
313
+ font-weight: normal;
314
+ color: var(--colour-muted);
315
+ }
316
+
317
+ :is([data-content='overdue'], [data-content='due'], [data-content='incomplete']):after {
318
+ content: '\f024';
319
+ color: var(--colour-danger);
320
+ }
321
+
322
+ :is([data-content='not started'], [data-content='to do'], [data-content='on track']):after {
323
+ content: '\f024';
324
+ color: var(--colour-muted);
325
+ }
326
+
327
+ :is(
328
+ [data-content='requires approval'],
329
+ [data-content='approval required'],
330
+ [data-content='action required'],
331
+ [data-content='upcoming']
332
+ ):after {
333
+ content: '\f024';
334
+ color: var(--colour-warning);
335
+ }
336
+
337
+ :is([data-content='warning']):after {
338
+ content: '\f071';
339
+ color: var(--colour-warning);
340
+ }
341
+
342
+ :is(
343
+ [data-content='manually verified'],
344
+ [data-content='verified'],
345
+ [data-content='completed'],
346
+ [data-content='complete'],
347
+ [data-content='successful']
348
+ ):after {
349
+ content: '\f00c';
350
+ font-weight: normal;
351
+ color: var(--colour-complete);
352
+ }
353
+
354
+ :is([data-content='failed']):after {
355
+ content: '\f00d';
356
+ font-weight: normal;
357
+ color: var(--colour-danger);
358
+ }
359
+
360
+ .alert-status:not([data-content='0']):not([data-content='']):not(:empty):after {
361
+ content: '\f0f3';
362
+ color: var(--colour-primary);
363
+ }
364
+ }
365
+ // #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