@softwareone/spi-sv5-library 1.14.4 → 1.15.1

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 (79) hide show
  1. package/dist/components/accordion/Accordion.svelte +14 -23
  2. package/dist/components/announcement/Announcement.svelte +53 -61
  3. package/dist/components/avatar/Avatar.svelte +30 -12
  4. package/dist/components/avatar/Avatar.svelte.d.ts +2 -2
  5. package/dist/components/button/Button.svelte +43 -46
  6. package/dist/components/card/Card.svelte +4 -6
  7. package/dist/components/chips/Chips.svelte +37 -36
  8. package/dist/components/chips/Chips.svelte.d.ts +1 -1
  9. package/dist/components/confirmation/Confirmation.svelte +1 -1
  10. package/dist/components/controls/attach-file/AttachFile.svelte +18 -41
  11. package/dist/components/controls/attach-file/FileManager.svelte +16 -30
  12. package/dist/components/controls/attach-file/Warnings.svelte +13 -15
  13. package/dist/components/controls/input/Input.svelte +46 -72
  14. package/dist/components/controls/input/InputIcon.svelte +13 -13
  15. package/dist/components/controls/label/Label.svelte +5 -9
  16. package/dist/components/controls/radio-group/RadioGroup.svelte +25 -39
  17. package/dist/components/controls/select/Select.svelte +49 -71
  18. package/dist/components/controls/textarea/TextArea.svelte +36 -45
  19. package/dist/components/controls/toggle/Toggle.svelte +35 -37
  20. package/dist/components/delete-confirmation/DeleteConfirmation.svelte +1 -1
  21. package/dist/components/error-page/ErrorPage.svelte +9 -18
  22. package/dist/components/footer/Footer.svelte +6 -7
  23. package/dist/components/form/Form.svelte +1 -1
  24. package/dist/components/header/Header.svelte +39 -45
  25. package/dist/components/header/HeaderAccount.svelte +21 -33
  26. package/dist/components/header/HeaderLoader.svelte +13 -8
  27. package/dist/components/highlight-panel/HighlightPanel.svelte +29 -34
  28. package/dist/components/home/Home.svelte +18 -36
  29. package/dist/components/link/Link.svelte +1 -1
  30. package/dist/components/menu/Menu.svelte +12 -12
  31. package/dist/components/menu/MenuItem.svelte +25 -29
  32. package/dist/components/menu/Sidebar.svelte +32 -40
  33. package/dist/components/modal/Modal.svelte +8 -12
  34. package/dist/components/modal/ModalContent.svelte +3 -3
  35. package/dist/components/modal/ModalFooter.svelte +5 -5
  36. package/dist/components/modal/ModalHeader.svelte +6 -11
  37. package/dist/components/notification/Notification.svelte +20 -27
  38. package/dist/components/processing/Processing.svelte +9 -16
  39. package/dist/components/progress-page/ProgressPage.svelte +13 -18
  40. package/dist/components/progress-wizard/ProgressWizard.svelte +43 -54
  41. package/dist/components/search/Search.svelte +24 -29
  42. package/dist/components/spinner/Spinner.svelte +1 -1
  43. package/dist/components/switcher/Switcher.svelte +14 -23
  44. package/dist/components/table/ActionsColumn.svelte +13 -33
  45. package/dist/components/table/AdvancedFilter.svelte +39 -74
  46. package/dist/components/table/Body.svelte +9 -18
  47. package/dist/components/table/ColumnVisibilityDropdown.svelte +24 -55
  48. package/dist/components/table/Footer.svelte +2 -4
  49. package/dist/components/table/Header.svelte +23 -44
  50. package/dist/components/table/PageSize.svelte +24 -36
  51. package/dist/components/table/Pagination.svelte +49 -35
  52. package/dist/components/table/RowCheckBox.svelte +5 -12
  53. package/dist/components/table/Skeleton.svelte +16 -25
  54. package/dist/components/table/Table.svelte +50 -38
  55. package/dist/components/table/Table.svelte.d.ts +5 -1
  56. package/dist/components/table/types.d.ts +9 -1
  57. package/dist/components/table/utils.d.ts +5 -1
  58. package/dist/components/table/utils.js +8 -8
  59. package/dist/components/tabs/Tabs.svelte +16 -20
  60. package/dist/components/toast/Toast.svelte +27 -30
  61. package/dist/components/tooltip/Tooltip.svelte +15 -19
  62. package/dist/components/waffle/Waffle.svelte +9 -13
  63. package/dist/components/waffle/WaffleItems.svelte +10 -13
  64. package/dist/styles/index.css +3 -0
  65. package/dist/styles/reset.css +19 -0
  66. package/dist/styles/tokens/index.css +2 -0
  67. package/dist/styles/tokens/primitives/borders.css +17 -0
  68. package/dist/styles/tokens/primitives/colors.css +41 -0
  69. package/dist/styles/tokens/primitives/index.css +7 -0
  70. package/dist/styles/tokens/primitives/motion.css +11 -0
  71. package/dist/styles/tokens/primitives/opacity.css +6 -0
  72. package/dist/styles/tokens/primitives/shadows.css +11 -0
  73. package/dist/styles/tokens/primitives/sizing.css +19 -0
  74. package/dist/styles/tokens/primitives/typography.css +13 -0
  75. package/dist/styles/tokens/semantic/colors.css +78 -0
  76. package/dist/styles/tokens/semantic/index.css +2 -0
  77. package/dist/styles/tokens/semantic/shadows.css +9 -0
  78. package/dist/styles/utilities.css +73 -0
  79. package/package.json +3 -2
@@ -88,10 +88,10 @@
88
88
  <div class="filter-container">
89
89
  <button
90
90
  type="button"
91
- class={['filter-button', hasActiveFilters && 'filter-button--active']}
91
+ class={['filter-button', 'spi-text-regular-2', hasActiveFilters && 'filter-button--active']}
92
92
  onclick={toggleModal}
93
93
  >
94
- <span class="material-icons">filter_list</span>
94
+ <span class="material-icons spi-text-regular-5">filter_list</span>
95
95
  {#if hasActiveFilters}
96
96
  <strong>{filters.length} {filters.length === 1 ? 'Filter' : 'Filters'}</strong>
97
97
  {:else}
@@ -115,14 +115,14 @@
115
115
  aria-labelledby="filter-dialog-title"
116
116
  >
117
117
  <div class="filter-header">
118
- <h2 id="filter-dialog-title" class="filter-title">Filters</h2>
118
+ <h2 id="filter-dialog-title" class="filter-title spi-text-semibold-4">Filters</h2>
119
119
  <button
120
120
  type="button"
121
121
  onclick={toggleModal}
122
122
  class="filter-close-button"
123
123
  aria-label="Close"
124
124
  >
125
- <span class="material-icons">close</span>
125
+ <span class="material-icons spi-text-regular-5">close</span>
126
126
  </button>
127
127
  </div>
128
128
 
@@ -168,7 +168,7 @@
168
168
  class="filter-delete-button"
169
169
  aria-label="Remove filter"
170
170
  >
171
- <span class="material-icons-outlined">delete</span>
171
+ <span class="material-icons-outlined spi-text-regular-5">delete</span>
172
172
  </button>
173
173
  </div>
174
174
  {/each}
@@ -204,55 +204,29 @@
204
204
 
205
205
  <style>
206
206
  .filter-container {
207
- --color-primary: #472aff;
208
- --color-primary-light: #eaecff;
209
- --color-white: #fff;
210
- --color-text-primary: #25282d;
211
- --color-text-dark: #111827;
212
- --color-text-secondary: #6b7280;
213
- --color-text-hover: #374151;
214
- --color-bg-hover: #f4f6f8;
215
- --color-border: #e5e7eb;
216
- --spacing-xs: 4px;
217
- --spacing-sm: 8px;
218
- --spacing-md: 12px;
219
- --spacing-lg: 16px;
220
- --spacing-xl: 24px;
221
- --font-size-sm: 14px;
222
- --font-size-md: 18px;
223
- --font-size-icon: 20px;
224
- --border-radius-sm: 8px;
225
- --border-radius-circle: 50%;
226
- --button-size: 40px;
227
- --delete-button-size: 48px;
228
- --modal-width: 640px;
229
- --operation-column-width: 80px;
230
- --transition-speed: 0.2s;
231
-
232
207
  position: relative;
233
208
  }
234
209
 
235
210
  .filter-button {
236
211
  display: flex;
237
212
  align-items: center;
238
- gap: var(--spacing-sm);
239
- padding: var(--spacing-sm) var(--spacing-lg);
213
+ gap: var(--spi-size-2);
214
+ padding: var(--spi-size-2) var(--spi-size-4);
240
215
  border: none;
241
- border-radius: var(--border-radius-sm);
242
- background: var(--color-white);
243
- font-size: var(--font-size-sm);
244
- color: var(--color-text-primary);
216
+ border-radius: var(--spi-rounded-lg);
217
+ background: var(--spi-color-surface-default);
218
+ color: var(--spi-color-text-primary);
245
219
  cursor: pointer;
246
- transition: background-color var(--transition-speed) ease-in-out;
220
+ transition: background-color var(--spi-duration-normal) var(--spi-ease-in-out);
247
221
  }
248
222
 
249
223
  .filter-button:hover {
250
- background: var(--color-bg-hover);
224
+ background: var(--spi-color-surface-subtle);
251
225
  }
252
226
 
253
227
  .filter-button--active {
254
- background: var(--color-primary-light);
255
- color: var(--color-primary);
228
+ background: var(--spi-color-primary-lighter);
229
+ color: var(--spi-color-primary-base);
256
230
  }
257
231
 
258
232
  .filter-overlay {
@@ -266,58 +240,54 @@
266
240
 
267
241
  .filter-modal {
268
242
  position: absolute;
269
- top: calc(100% + var(--spacing-sm));
243
+ top: calc(100% + var(--spi-size-2));
270
244
  right: 0;
271
245
  z-index: 10;
272
- width: var(--modal-width);
273
- padding: var(--spacing-xl);
274
- border: 1px solid var(--color-border);
275
- border-radius: var(--border-radius-sm);
276
- background: var(--color-white);
277
- box-shadow:
278
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
279
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
246
+ width: 640px;
247
+ padding: var(--spi-size-6);
248
+ border: var(--spi-border-1) solid var(--spi-color-border-default);
249
+ border-radius: var(--spi-rounded-lg);
250
+ background: var(--spi-color-surface-default);
251
+ box-shadow: var(--spi-shadow-dropdown);
280
252
  }
281
253
 
282
254
  .filter-header {
283
255
  display: flex;
284
256
  align-items: center;
285
257
  justify-content: space-between;
286
- margin-bottom: var(--spacing-xl);
258
+ margin-bottom: var(--spi-size-6);
287
259
  }
288
260
 
289
261
  .filter-title {
290
- font-size: var(--font-size-md);
291
- font-weight: 600;
292
- color: var(--color-text-dark);
262
+ color: var(--spi-color-text-primary);
293
263
  }
294
264
 
295
265
  .filter-close-button {
296
266
  display: flex;
297
267
  align-items: center;
298
- padding: var(--spacing-xs);
268
+ padding: var(--spi-size-1);
299
269
  border: none;
300
270
  background: transparent;
301
- color: var(--color-text-secondary);
271
+ color: var(--spi-color-text-muted);
302
272
  cursor: pointer;
303
- transition: color var(--transition-speed) ease-in-out;
273
+ transition: color var(--spi-duration-normal) var(--spi-ease-in-out);
304
274
  }
305
275
 
306
276
  .filter-close-button:hover {
307
- color: var(--color-text-hover);
277
+ color: var(--spi-color-text-secondary);
308
278
  }
309
279
 
310
280
  .filter-body {
311
281
  display: flex;
312
282
  flex-direction: column;
313
- gap: var(--spacing-lg);
283
+ gap: var(--spi-size-4);
314
284
  }
315
285
 
316
286
  .filter-row {
317
287
  display: grid;
318
- grid-template-columns: var(--operation-column-width) 1fr 1fr var(--delete-button-size);
288
+ grid-template-columns: var(--spi-size-20) 1fr 1fr var(--spi-size-12);
319
289
  align-items: end;
320
- gap: var(--spacing-md);
290
+ gap: var(--spi-size-3);
321
291
  }
322
292
 
323
293
  .filter-operation,
@@ -330,36 +300,31 @@
330
300
  display: flex;
331
301
  align-items: center;
332
302
  justify-content: center;
333
- padding: var(--spacing-sm);
303
+ padding: var(--spi-size-2);
334
304
  border: none;
335
305
  background: transparent;
336
- color: var(--color-text-primary);
337
- border-radius: var(--border-radius-circle);
338
- width: var(--button-size);
339
- height: var(--button-size);
306
+ color: var(--spi-color-text-primary);
307
+ border-radius: var(--spi-rounded-full);
308
+ width: var(--spi-size-10);
309
+ height: var(--spi-size-10);
340
310
  cursor: pointer;
341
- transition: background-color var(--transition-speed) ease-in-out;
311
+ transition: background-color var(--spi-duration-normal) var(--spi-ease-in-out);
342
312
  }
343
313
 
344
314
  .filter-delete-button:hover {
345
- background: var(--color-bg-hover);
315
+ background: var(--spi-color-surface-subtle);
346
316
  }
347
317
 
348
318
  .filter-actions {
349
319
  display: flex;
350
320
  align-items: center;
351
321
  justify-content: space-between;
352
- margin-top: var(--spacing-sm);
322
+ margin-top: var(--spi-size-2);
353
323
  }
354
324
 
355
325
  .filter-footer {
356
326
  display: flex;
357
327
  justify-content: flex-end;
358
- margin-top: var(--spacing-lg);
359
- }
360
-
361
- .material-icons,
362
- .material-icons-outlined {
363
- font-size: var(--font-size-icon);
328
+ margin-top: var(--spi-size-4);
364
329
  }
365
330
  </style>
@@ -38,6 +38,7 @@
38
38
  <td
39
39
  class={[
40
40
  'table-cell',
41
+ 'spi-text-regular-2',
41
42
  alignColumn === 'right' && 'table-cell--right',
42
43
  alignColumn === 'center' && 'table-cell--center',
43
44
  !alignColumn && 'table-cell--left'
@@ -54,32 +55,23 @@
54
55
 
55
56
  <style>
56
57
  .table-body {
57
- --color-white: #fff;
58
- --color-black: #000;
59
- --color-row-selected: #eaecff;
60
- --color-gray-300: #e0e5e8;
61
- --color-gray-400: #f3f4f6;
62
- --spacing-md: 8px;
63
- --spacing-lg: 16px;
64
- --font-size-sm: 14px;
65
-
66
- background: var(--color-white);
58
+ background: var(--spi-color-surface-default);
67
59
  }
68
60
 
69
61
  .table-row {
70
- transition: background-color 100ms ease;
62
+ transition: background-color var(--spi-duration-fast) var(--spi-ease-default);
71
63
  }
72
64
 
73
65
  .table-row:hover {
74
- background: var(--color-gray-400);
66
+ background: var(--spi-color-surface-subtle);
75
67
  }
76
68
 
77
69
  .table-row--selected {
78
- background: var(--color-row-selected);
70
+ background: var(--spi-color-primary-lighter);
79
71
  }
80
72
 
81
73
  .table-row--selected:hover {
82
- background: var(--color-row-selected);
74
+ background: var(--spi-color-primary-lighter);
83
75
  }
84
76
 
85
77
  .table-row--clickable {
@@ -88,10 +80,9 @@
88
80
 
89
81
  .table-cell {
90
82
  max-width: 50px;
91
- padding: var(--spacing-md) var(--spacing-lg);
92
- border-bottom: 0.5px solid var(--color-gray-300);
93
- font-size: var(--font-size-sm);
94
- color: var(--color-black);
83
+ padding: var(--spi-size-2) var(--spi-size-4);
84
+ border-bottom: var(--spi-border-1) solid var(--spi-color-border-default);
85
+ color: var(--spi-color-text-primary);
95
86
  word-wrap: break-word;
96
87
  white-space: normal;
97
88
  }
@@ -15,17 +15,17 @@
15
15
  </script>
16
16
 
17
17
  <div class="column-visibility">
18
- <button type="button" class="column-visibility-toggle" onclick={toggleModal}>
19
- <span class="material-icons">table_rows</span>
18
+ <button type="button" class="column-visibility-toggle spi-text-regular-2" onclick={toggleModal}>
19
+ <span class="material-icons spi-text-regular-2">table_rows</span>
20
20
  Columns
21
21
  </button>
22
22
 
23
23
  {#if isOpen}
24
24
  <div class="column-visibility-dropdown" role="menu">
25
25
  <div class="column-visibility-header">
26
- <h2 class="column-visibility-title">Toggle columns</h2>
26
+ <h2 class="column-visibility-title spi-text-semibold-2">Toggle columns</h2>
27
27
  <button type="button" onclick={toggleModal} class="column-visibility-close">
28
- <span class="material-icons">close</span>
28
+ <span class="material-icons spi-text-regular-2">close</span>
29
29
  </button>
30
30
  </div>
31
31
 
@@ -41,7 +41,7 @@
41
41
  checked={column.getIsVisible()}
42
42
  onchange={() => column.toggleVisibility()}
43
43
  />
44
- <span class="column-visibility-label">{header}</span>
44
+ <span class="column-visibility-label spi-text-regular-2">{header}</span>
45
45
  </label>
46
46
  {/each}
47
47
  </div>
@@ -60,68 +60,45 @@
60
60
 
61
61
  <style>
62
62
  .column-visibility {
63
- --color-white: #ffffff;
64
- --color-gray-50: #f9fafb;
65
- --color-gray-100: #f3f4f6;
66
- --color-gray-500: #6b7280;
67
- --color-gray-600: #4b5563;
68
- --spacing-xs: 8px;
69
- --spacing-sm: 8px;
70
- --spacing-md: 16px;
71
- --font-size-sm: 14px;
72
- --font-size-icon: 14px;
73
- --font-semibold: 600;
74
- --radius-lg: 8px;
75
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
76
- --z-index-dropdown: 10;
77
- --z-index-backdrop: 9;
78
-
79
63
  position: relative;
80
64
  }
81
65
 
82
66
  .column-visibility-toggle {
83
67
  display: flex;
84
68
  align-items: center;
85
- gap: var(--spacing-xs);
86
- padding: var(--spacing-sm) var(--spacing-md);
69
+ gap: var(--spi-size-2);
70
+ padding: var(--spi-size-2) var(--spi-size-4);
87
71
  border: none;
88
- border-radius: var(--radius-lg);
89
- background: var(--color-white);
90
- font-size: var(--font-size-sm);
72
+ border-radius: var(--spi-rounded-lg);
73
+ background: var(--spi-color-surface-default);
91
74
  cursor: pointer;
92
75
  }
93
76
 
94
77
  .column-visibility-toggle:hover {
95
- background: var(--color-gray-100);
96
- }
97
-
98
- .column-visibility-toggle .material-icons {
99
- font-size: var(--font-size-icon);
78
+ background: var(--spi-color-surface-muted);
100
79
  }
101
80
 
102
81
  .column-visibility-dropdown {
103
82
  position: absolute;
104
- top: 48px;
83
+ top: var(--spi-size-12);
105
84
  right: 0;
106
- z-index: var(--z-index-dropdown);
85
+ z-index: 10;
107
86
  width: 224px;
108
- padding: var(--spacing-md);
109
- background: var(--color-white);
110
- border-radius: var(--radius-lg);
111
- box-shadow: var(--shadow-lg);
87
+ padding: var(--spi-size-4);
88
+ background: var(--spi-color-surface-default);
89
+ border-radius: var(--spi-rounded-lg);
90
+ box-shadow: var(--spi-shadow-dropdown);
112
91
  }
113
92
 
114
93
  .column-visibility-header {
115
94
  display: flex;
116
95
  align-items: center;
117
96
  justify-content: space-between;
118
- margin-bottom: var(--spacing-sm);
97
+ margin-bottom: var(--spi-size-2);
119
98
  }
120
99
 
121
100
  .column-visibility-title {
122
101
  margin: 0;
123
- font-size: var(--font-size-sm);
124
- font-weight: var(--font-semibold);
125
102
  }
126
103
 
127
104
  .column-visibility-close {
@@ -130,16 +107,12 @@
130
107
  padding: 0;
131
108
  border: none;
132
109
  background: none;
133
- color: var(--color-gray-500);
110
+ color: var(--spi-color-text-muted);
134
111
  cursor: pointer;
135
112
  }
136
113
 
137
114
  .column-visibility-close:hover {
138
- color: var(--color-gray-600);
139
- }
140
-
141
- .column-visibility-close .material-icons {
142
- font-size: var(--font-size-icon);
115
+ color: var(--spi-color-text-secondary);
143
116
  }
144
117
 
145
118
  .column-visibility-list {
@@ -150,24 +123,20 @@
150
123
  .column-visibility-item {
151
124
  display: flex;
152
125
  align-items: center;
153
- gap: var(--spacing-xs);
154
- padding: var(--spacing-sm);
155
- border-radius: var(--radius-lg);
126
+ gap: var(--spi-size-2);
127
+ padding: var(--spi-size-2);
128
+ border-radius: var(--spi-rounded-lg);
156
129
  cursor: pointer;
157
130
  }
158
131
 
159
132
  .column-visibility-item:hover {
160
- background: var(--color-gray-50);
161
- }
162
-
163
- .column-visibility-label {
164
- font-size: var(--font-size-sm);
133
+ background: var(--spi-color-surface-subtle);
165
134
  }
166
135
 
167
136
  .column-visibility-backdrop {
168
137
  position: fixed;
169
138
  inset: 0;
170
- z-index: var(--z-index-backdrop);
139
+ z-index: 9;
171
140
  border: none;
172
141
  background: transparent;
173
142
  cursor: default;
@@ -11,7 +11,7 @@
11
11
  let { table, minPageSize }: Props = $props();
12
12
  </script>
13
13
 
14
- <footer class="table-footer">
14
+ <footer class="table-footer spi-text-medium-2">
15
15
  <Pagination {table} />
16
16
  <PageSize {table} {minPageSize} />
17
17
  </footer>
@@ -21,9 +21,7 @@
21
21
  display: flex;
22
22
  align-items: center;
23
23
  justify-content: space-between;
24
- margin-bottom: 20px;
25
- font-size: 14px;
26
- font-weight: 500;
24
+ margin-bottom: var(--spi-size-5);
27
25
  }
28
26
 
29
27
  @media (max-width: 750px) {
@@ -25,7 +25,7 @@
25
25
  };
26
26
  </script>
27
27
 
28
- <thead class="container">
28
+ <thead>
29
29
  {#each headerGroups as headerGroup (headerGroup.id)}
30
30
  <tr class="table-header-row">
31
31
  {#each headerGroup.headers as header (header.id)}
@@ -42,6 +42,7 @@
42
42
  colSpan={header.colSpan}
43
43
  class={[
44
44
  'table-header-cell',
45
+ 'spi-text-bold-2',
45
46
  className,
46
47
  isActive && 'table-header-cell--active'
47
48
  ]}
@@ -54,7 +55,7 @@
54
55
  <button
55
56
  type="button"
56
57
  class={[
57
- 'table-header-button',
58
+ 'table-header-button spi-text-bold-2',
58
59
  canSort && 'table-header-button--sortable',
59
60
  !canSort && 'table-header-button--disabled'
60
61
  ]}
@@ -74,7 +75,7 @@
74
75
 
75
76
  {#if canSort}
76
77
  <div class="table-header-sort-icon">
77
- <span class="material-icons"
78
+ <span class="material-icons spi-text-regular-2"
78
79
  >{getSortIcon[header.column.getIsSorted().toString()]}</span
79
80
  >
80
81
  </div>
@@ -82,13 +83,18 @@
82
83
 
83
84
  {#if isFiltered}
84
85
  <div class="table-header-filtered-icon">
85
- <span class="material-icons-outlined">filter_alt</span>
86
+ <span class="material-icons-outlined spi-text-regular-2"
87
+ >filter_alt</span
88
+ >
86
89
  </div>
87
90
  {/if}
88
91
  </button>
89
92
 
90
93
  {#if enableColumnSearch && !hideColumnFilter}
91
- <div class="table-header-search" style:justify-content={justifyContent}>
94
+ <div
95
+ class="table-header-search spi-text-regular-1"
96
+ style:justify-content={justifyContent}
97
+ >
92
98
  <Search
93
99
  oninput={({ currentTarget }) =>
94
100
  header.column.setFilterValue(currentTarget.value)}
@@ -105,42 +111,24 @@
105
111
  </thead>
106
112
 
107
113
  <style>
108
- .container {
109
- --color-primary: #472aff;
110
- --color-primary-light: #eaecff;
111
- --color-black: #000000;
112
- --color-gray-100: #f3f4f6;
113
- --color-gray-200: #e5e7eb;
114
- --color-gray-300: #e0e5e8;
115
- --spacing-xs: 4px;
116
- --spacing-sm: 8px;
117
- --spacing-md: 16px;
118
- --font-size-xs: 12px;
119
- --font-size-sm: 14px;
120
- --font-bold: 700;
121
- --font-normal: 400;
122
- }
123
-
124
114
  .table-header-cell:first-child {
125
- border-left: 0.5px solid var(--color-gray-300);
115
+ border-left: 0.5px solid var(--spi-color-border-default);
126
116
  }
127
117
 
128
118
  .table-header-cell {
129
- padding: var(--spacing-sm) var(--spacing-md);
130
- border-right: 0.5px solid var(--color-gray-300);
131
- border-bottom: 2px solid var(--color-black);
119
+ padding: var(--spi-size-2) var(--spi-size-4);
120
+ border-right: 0.5px solid var(--spi-color-border-default);
121
+ border-bottom: var(--spi-border-2) solid var(--spi-color-text-primary);
132
122
  text-align: left;
133
- font-size: var(--font-size-sm);
134
- font-weight: var(--font-bold);
135
123
  }
136
124
 
137
125
  .table-header-cell:hover {
138
- background: var(--color-gray-100);
126
+ background: var(--spi-color-surface-subtle);
139
127
  }
140
128
 
141
129
  .table-header-cell--active {
142
- background: var(--color-primary-light);
143
- color: var(--color-primary);
130
+ background: var(--spi-color-primary-lighter);
131
+ color: var(--spi-color-primary-base);
144
132
  }
145
133
 
146
134
  .table-header-button {
@@ -151,8 +139,6 @@
151
139
  padding: 0;
152
140
  border: none;
153
141
  background: none;
154
- font-size: inherit;
155
- font-weight: inherit;
156
142
  color: inherit;
157
143
  }
158
144
 
@@ -169,7 +155,7 @@
169
155
  }
170
156
 
171
157
  .table-header-label--sortable {
172
- margin-right: 16px;
158
+ margin-right: var(--spi-size-4);
173
159
  }
174
160
 
175
161
  @media (max-width: 750px) {
@@ -181,7 +167,7 @@
181
167
  .table-header-sort-icon {
182
168
  position: absolute;
183
169
  right: -8px;
184
- margin-top: 4px;
170
+ margin-top: var(--spi-size-1);
185
171
  }
186
172
 
187
173
  .table-header-sort-icon:has(+ .table-header-filtered-icon) {
@@ -191,23 +177,16 @@
191
177
  .table-header-filtered-icon {
192
178
  position: absolute;
193
179
  right: -13px;
194
- margin-top: 4px;
195
- }
196
-
197
- .table-header-sort-icon .material-icons,
198
- .material-icons-outlined {
199
- font-size: var(--font-size-sm);
180
+ margin-top: var(--spi-size-1);
200
181
  }
201
182
 
202
183
  .table-header-search {
203
184
  display: flex;
204
185
  min-width: 144px;
205
- margin: var(--spacing-xs) 0;
206
- font-weight: var(--font-normal);
186
+ margin: var(--spi-size-1) 0;
207
187
  }
208
188
 
209
189
  .table-header-search :global(.search-input) {
210
- padding: var(--spacing-xs) 36px;
211
- font-size: var(--font-size-xs);
190
+ padding: var(--spi-size-1) var(--spi-size-9);
212
191
  }
213
192
  </style>