@softwareone/spi-sv5-library 1.14.3 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) 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 +41 -44
  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 +6 -6
  10. package/dist/components/confirmation/Confirmation.svelte.d.ts +2 -2
  11. package/dist/components/controls/attach-file/AttachFile.svelte +18 -41
  12. package/dist/components/controls/attach-file/FileManager.svelte +16 -30
  13. package/dist/components/controls/attach-file/Warnings.svelte +13 -15
  14. package/dist/components/controls/input/Input.svelte +46 -72
  15. package/dist/components/controls/input/InputIcon.svelte +13 -13
  16. package/dist/components/controls/label/Label.svelte +5 -9
  17. package/dist/components/controls/radio-group/RadioGroup.svelte +25 -39
  18. package/dist/components/controls/select/Select.svelte +49 -71
  19. package/dist/components/controls/textarea/TextArea.svelte +36 -45
  20. package/dist/components/controls/toggle/Toggle.svelte +35 -37
  21. package/dist/components/delete-confirmation/DeleteConfirmation.svelte +3 -5
  22. package/dist/components/error-page/ErrorPage.svelte +9 -18
  23. package/dist/components/footer/Footer.svelte +9 -14
  24. package/dist/components/footer/Footer.svelte.d.ts +0 -1
  25. package/dist/components/footer/FooterLogo.svelte +16 -0
  26. package/dist/components/footer/FooterLogo.svelte.d.ts +26 -0
  27. package/dist/components/form/Form.svelte +1 -1
  28. package/dist/components/header/Header.svelte +39 -45
  29. package/dist/components/header/HeaderAccount.svelte +21 -33
  30. package/dist/components/header/HeaderLoader.svelte +13 -8
  31. package/dist/components/highlight-panel/HighlightPanel.svelte +29 -34
  32. package/dist/components/home/Home.svelte +18 -36
  33. package/dist/components/link/Link.svelte +1 -1
  34. package/dist/components/menu/Menu.svelte +16 -21
  35. package/dist/components/menu/MenuItem.svelte +25 -29
  36. package/dist/components/menu/Sidebar.svelte +32 -40
  37. package/dist/components/menu/utils.d.ts +1 -1
  38. package/dist/components/menu/utils.js +6 -7
  39. package/dist/components/modal/Modal.svelte +8 -11
  40. package/dist/components/modal/ModalContent.svelte +3 -3
  41. package/dist/components/modal/ModalFooter.svelte +5 -5
  42. package/dist/components/modal/ModalHeader.svelte +6 -11
  43. package/dist/components/notification/Notification.svelte +20 -27
  44. package/dist/components/processing/Processing.svelte +9 -16
  45. package/dist/components/progress-page/ProgressPage.svelte +13 -18
  46. package/dist/components/progress-wizard/ProgressWizard.svelte +43 -54
  47. package/dist/components/search/Search.svelte +24 -29
  48. package/dist/components/spinner/Spinner.svelte +1 -1
  49. package/dist/components/switcher/Switcher.svelte +14 -23
  50. package/dist/components/table/ActionsColumn.svelte +13 -33
  51. package/dist/components/table/AdvancedFilter.svelte +39 -74
  52. package/dist/components/table/Body.svelte +9 -18
  53. package/dist/components/table/ColumnVisibilityDropdown.svelte +24 -55
  54. package/dist/components/table/Footer.svelte +2 -4
  55. package/dist/components/table/Header.svelte +23 -44
  56. package/dist/components/table/PageSize.svelte +24 -36
  57. package/dist/components/table/Pagination.svelte +49 -35
  58. package/dist/components/table/RowCheckBox.svelte +5 -12
  59. package/dist/components/table/Skeleton.svelte +16 -25
  60. package/dist/components/table/Table.svelte +50 -38
  61. package/dist/components/table/Table.svelte.d.ts +5 -1
  62. package/dist/components/table/types.d.ts +9 -1
  63. package/dist/components/table/utils.d.ts +5 -1
  64. package/dist/components/table/utils.js +8 -8
  65. package/dist/components/tabs/Tabs.svelte +16 -20
  66. package/dist/components/toast/Toast.svelte +27 -30
  67. package/dist/components/tooltip/Tooltip.svelte +15 -19
  68. package/dist/components/waffle/Waffle.svelte +9 -13
  69. package/dist/components/waffle/WaffleItems.svelte +10 -13
  70. package/dist/styles/index.css +3 -0
  71. package/dist/styles/reset.css +19 -0
  72. package/dist/styles/tokens/index.css +2 -0
  73. package/dist/styles/tokens/primitives/borders.css +17 -0
  74. package/dist/styles/tokens/primitives/colors.css +41 -0
  75. package/dist/styles/tokens/primitives/index.css +7 -0
  76. package/dist/styles/tokens/primitives/motion.css +11 -0
  77. package/dist/styles/tokens/primitives/opacity.css +6 -0
  78. package/dist/styles/tokens/primitives/shadows.css +11 -0
  79. package/dist/styles/tokens/primitives/sizing.css +19 -0
  80. package/dist/styles/tokens/primitives/typography.css +13 -0
  81. package/dist/styles/tokens/semantic/colors.css +78 -0
  82. package/dist/styles/tokens/semantic/index.css +2 -0
  83. package/dist/styles/tokens/semantic/shadows.css +9 -0
  84. package/dist/styles/utilities.css +73 -0
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/index.js +1 -0
  87. package/dist/utils/url.d.ts +3 -0
  88. package/dist/utils/url.js +15 -0
  89. package/package.json +3 -2
@@ -77,14 +77,14 @@
77
77
  onmouseenter={toggleActionsMenu}
78
78
  onmouseleave={toggleActionsMenu}
79
79
  >
80
- <span class="actions-trigger">...</span>
80
+ <span class="actions-trigger spi-text-bold-6">...</span>
81
81
  {#if isOpen}
82
82
  <div
83
83
  class="actions-menu"
84
84
  {@attach autoPosition}
85
85
  transition:fade={{ duration: 100 }}
86
86
  >
87
- <ul class="actions-list">
87
+ <ul class="actions-list spi-text-regular-2">
88
88
  {#each actions as action, index (index)}
89
89
  <li>
90
90
  <button
@@ -111,23 +111,6 @@
111
111
 
112
112
  <style>
113
113
  .actions-column {
114
- --color-primary: #472aff;
115
- --color-red-200: #dc182c;
116
- --color-gray-200: #e5e7eb;
117
- --color-gray-300: #d1d5db;
118
- --color-white: #ffffff;
119
- --color-text: #000000;
120
- --shadow-menu: 0 2px 10px rgba(0, 0, 0, 0.2);
121
- --radius-lg: 8px;
122
- --spacing-xs: 4px;
123
- --spacing-sm: 8px;
124
- --spacing-md: 10px;
125
- --spacing-lg: 14px;
126
- --z-index-menu: 1;
127
- --font-size-sm: 14px;
128
- --font-size-2xl: 24px;
129
- --transition-standard: all 0.3s ease;
130
-
131
114
  position: relative;
132
115
  display: flex;
133
116
  align-items: center;
@@ -136,33 +119,30 @@
136
119
 
137
120
  .actions-trigger {
138
121
  display: inline-block;
139
- font-size: var(--font-size-2xl);
140
- font-weight: bold;
141
122
  line-height: 0;
142
123
  cursor: default;
143
124
  }
144
125
 
145
126
  .actions-menu {
146
127
  position: fixed;
147
- z-index: var(--z-index-menu);
128
+ z-index: 1;
148
129
  width: 108px;
149
130
  left: var(--menu-left);
150
131
  top: var(--menu-top);
151
- padding: var(--spacing-md) var(--spacing-lg);
152
- background: var(--color-white);
153
- border-radius: var(--radius-lg);
154
- box-shadow: var(--shadow-menu);
132
+ padding: var(--spi-size-3) var(--spi-size-4);
133
+ background: var(--spi-color-surface-default);
134
+ border-radius: var(--spi-rounded-lg);
135
+ box-shadow: var(--spi-shadow-dropdown);
155
136
  }
156
137
 
157
138
  .actions-list {
158
139
  display: flex;
159
140
  flex-direction: column;
160
- gap: var(--spacing-sm);
141
+ gap: var(--spi-size-2);
161
142
  margin: 0;
162
143
  padding: 0;
163
144
  list-style: none;
164
145
  text-align: left;
165
- font-size: var(--font-size-sm);
166
146
  }
167
147
 
168
148
  .action-button {
@@ -171,7 +151,7 @@
171
151
  padding: 0;
172
152
  border: none;
173
153
  background: none;
174
- color: var(--color-text);
154
+ color: var(--spi-color-text-primary);
175
155
  font-size: inherit;
176
156
  cursor: pointer;
177
157
  }
@@ -181,13 +161,13 @@
181
161
  }
182
162
 
183
163
  .action-button:disabled {
184
- color: var(--color-gray-300);
164
+ color: var(--spi-color-text-disabled);
185
165
  cursor: not-allowed;
186
166
  font-weight: normal;
187
167
  }
188
168
 
189
169
  .action-button--delete {
190
- color: var(--color-red-200);
170
+ color: var(--spi-color-text-danger);
191
171
  }
192
172
 
193
173
  .action-button--single {
@@ -196,7 +176,7 @@
196
176
  }
197
177
 
198
178
  .action-button--primary {
199
- color: var(--color-primary);
179
+ color: var(--spi-color-primary-base);
200
180
  }
201
181
 
202
182
  .action-button--primary:hover {
@@ -205,7 +185,7 @@
205
185
 
206
186
  .action-divider {
207
187
  border: none;
208
- border-top: 1px solid var(--color-gray-200);
188
+ border-top: var(--spi-border-1) solid var(--spi-color-border-default);
209
189
  margin: 0;
210
190
  }
211
191
  </style>
@@ -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) {