@happyvertical/smrt-assets 0.55.15 → 0.55.17

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.
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-assets",
5
- "packageVersion": "0.55.15",
5
+ "packageVersion": "0.55.17",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-assets:AssetAssociation": {
8
8
  "name": "assetassociation",
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-assets",
6
- "packageVersion": "0.55.15",
6
+ "packageVersion": "0.55.17",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "44626cad73b76b2bf497f635afa58f7467228016fbf163cecdd851504573fdda",
11
- "packageJson": "a5eab964f6c61f773af5962465a7d838b4cd71e4c0ca956f34cb6f7e77ac9358",
10
+ "manifest": "2b9de54d928b2fdacc797dc51770f8ba3c86bbd2c5405eae62a754c2fa41ab2c",
11
+ "packageJson": "1186f460abc7c4456e7af10c0d866071b1cfce478736aa54ac7086645ee91c59",
12
12
  "agents": "4e84d65324e346f9c6072da7ccee6753289efb95ffb2faf5e999081502189737"
13
13
  },
14
14
  "exports": [
@@ -54,7 +54,7 @@ const count = $derived(selectedAssets.length);
54
54
  </script>
55
55
 
56
56
  {#if count > 0}
57
- <div class="action-bar">
57
+ <div class="action-bar" data-smrt-component="ActionBar">
58
58
  <div class="action-bar__left">
59
59
  <span class="action-bar__count">{count} selected</span>
60
60
  <Button
@@ -116,14 +116,16 @@ const count = $derived(selectedAssets.length);
116
116
  {/if}
117
117
 
118
118
  <style>
119
+ @layer smrt.reset, smrt.structure, smrt.theme;
120
+ @layer smrt.theme {
119
121
  .action-bar {
120
122
  display: flex;
121
123
  align-items: center;
122
124
  justify-content: space-between;
123
125
  gap: var(--smrt-spacing-3, 0.75rem);
124
126
  padding: var(--smrt-spacing-2, 0.5rem) var(--smrt-spacing-4, 1rem);
125
- background: var(--smrt-color-primary-container, #dbeafe);
126
- border-bottom: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
127
+ background: var(--smrt-color-primary-container);
128
+ border-bottom: 1px solid var(--smrt-color-outline-variant);
127
129
  animation: slideDown 200ms ease;
128
130
  }
129
131
 
@@ -141,7 +143,7 @@ const count = $derived(selectedAssets.length);
141
143
  .action-bar__count {
142
144
  font-size: var(--smrt-typography-body-medium-size, 0.875rem);
143
145
  font-weight: var(--smrt-typography-weight-semibold, 600);
144
- color: var(--smrt-color-on-primary-container, #002d6c);
146
+ color: var(--smrt-color-on-primary-container);
145
147
  }
146
148
 
147
149
  .action-bar__actions {
@@ -155,4 +157,5 @@ const count = $derived(selectedAssets.length);
155
157
  animation: none;
156
158
  }
157
159
  }
160
+ }
158
161
  </style>
@@ -309,6 +309,8 @@ function formatDate(date: Date | string | undefined): string {
309
309
  {/if}
310
310
 
311
311
  <style>
312
+ @layer smrt.reset, smrt.structure, smrt.theme;
313
+ @layer smrt.theme {
312
314
  /* Body — negative margin cancels Modal's .modal__body padding so the section
313
315
  dividers stay full-bleed (Modal owns the dialog shell + scroll container). */
314
316
  .detail__body {
@@ -317,7 +319,7 @@ function formatDate(date: Date | string | undefined): string {
317
319
 
318
320
  .detail__section {
319
321
  padding: var(--smrt-spacing-4, 1rem) var(--smrt-spacing-5, 1.25rem);
320
- border-bottom: 1px solid var(--smrt-color-outline-variant, #f3f4f6);
322
+ border-bottom: 1px solid var(--smrt-color-outline-variant);
321
323
  }
322
324
 
323
325
  .detail__section:last-child {
@@ -327,7 +329,7 @@ function formatDate(date: Date | string | undefined): string {
327
329
  .section-heading {
328
330
  margin: 0 0 var(--smrt-spacing-3, 0.75rem);
329
331
  font-weight: var(--smrt-typography-weight-semibold, 600);
330
- color: var(--smrt-color-on-surface, #111827);
332
+ color: var(--smrt-color-on-surface);
331
333
  text-transform: uppercase;
332
334
  letter-spacing: var(--smrt-typography-label-medium-tracking, 0.05em);
333
335
  font-size: var(--smrt-typography-label-medium-size, 0.75rem);
@@ -337,7 +339,7 @@ function formatDate(date: Date | string | undefined): string {
337
339
  .detail__preview {
338
340
  border-radius: var(--smrt-radius-medium, 0.5rem);
339
341
  overflow: hidden;
340
- background: var(--smrt-color-surface-container-low, #f9fafb);
342
+ background: var(--smrt-color-surface-container-low);
341
343
  }
342
344
 
343
345
  .preview-image {
@@ -372,7 +374,7 @@ function formatDate(date: Date | string | undefined): string {
372
374
  }
373
375
 
374
376
  .preview-document__link {
375
- color: var(--smrt-color-primary, #005ac1);
377
+ color: var(--smrt-color-primary);
376
378
  font-weight: var(--smrt-typography-weight-medium, 500);
377
379
  text-decoration: none;
378
380
  }
@@ -383,7 +385,7 @@ function formatDate(date: Date | string | undefined): string {
383
385
 
384
386
  .preview-generic__mime {
385
387
  font-size: var(--smrt-typography-body-small-size, 0.8rem);
386
- color: var(--smrt-color-on-surface-variant, #6b7280);
388
+ color: var(--smrt-color-on-surface-variant);
387
389
  }
388
390
 
389
391
  /* Form */
@@ -402,14 +404,14 @@ function formatDate(date: Date | string | undefined): string {
402
404
  .form-label {
403
405
  font-size: var(--smrt-typography-label-medium-size, 0.8rem);
404
406
  font-weight: var(--smrt-typography-weight-medium, 500);
405
- color: var(--smrt-color-on-surface, #111827);
407
+ color: var(--smrt-color-on-surface);
406
408
  }
407
409
 
408
410
  .label-warning {
409
411
  font-weight: var(--smrt-typography-weight-normal, 400);
410
412
  font-size: var(--smrt-typography-label-small-size, 0.7rem);
411
- color: var(--smrt-color-error, #dc2626);
412
- margin-left: var(--smrt-spacing-1, 4px);
413
+ color: var(--smrt-color-error);
414
+ margin-left: var(--smrt-spacing-1);
413
415
  }
414
416
 
415
417
  /* Metadata */
@@ -422,7 +424,7 @@ function formatDate(date: Date | string | undefined): string {
422
424
  .metadata-item {
423
425
  display: flex;
424
426
  flex-direction: column;
425
- gap: var(--smrt-spacing-1, 4px);
427
+ gap: var(--smrt-spacing-1);
426
428
  }
427
429
 
428
430
  .metadata-label {
@@ -430,12 +432,12 @@ function formatDate(date: Date | string | undefined): string {
430
432
  font-weight: var(--smrt-typography-weight-semibold, 600);
431
433
  text-transform: uppercase;
432
434
  letter-spacing: var(--smrt-typography-label-small-tracking, 0.05em);
433
- color: var(--smrt-color-on-surface-variant, #6b7280);
435
+ color: var(--smrt-color-on-surface-variant);
434
436
  }
435
437
 
436
438
  .metadata-value {
437
439
  font-size: var(--smrt-typography-body-medium-size, 0.875rem);
438
- color: var(--smrt-color-on-surface, #111827);
440
+ color: var(--smrt-color-on-surface);
439
441
  word-break: break-word;
440
442
  }
441
443
 
@@ -450,25 +452,25 @@ function formatDate(date: Date | string | undefined): string {
450
452
  bespoke bordered-surface look (vs. the transparent ghost variant), so the
451
453
  overrides reach the child-rendered <button> through :global() scoping. */
452
454
  .quick-actions :global(.quick-btn) {
453
- gap: var(--smrt-spacing-1, 4px);
455
+ gap: var(--smrt-spacing-1);
454
456
  height: 32px;
455
457
  padding: 0 var(--smrt-spacing-3, 0.75rem);
456
458
  font-size: var(--smrt-typography-label-medium-size, 0.8rem);
457
459
  font-weight: var(--smrt-typography-weight-medium, 500);
458
- border: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
459
- background: var(--smrt-color-surface, #ffffff);
460
- color: var(--smrt-color-on-surface, #111827);
460
+ border: 1px solid var(--smrt-color-outline-variant);
461
+ background: var(--smrt-color-surface);
462
+ color: var(--smrt-color-on-surface);
461
463
  }
462
464
 
463
465
  .quick-actions :global(.quick-btn:hover:not(:disabled)) {
464
- background: var(--smrt-color-surface-container-low, #f9fafb);
466
+ background: var(--smrt-color-surface-container-low);
465
467
  box-shadow: var(--smrt-elevation-1);
466
468
  }
467
469
 
468
470
  .copy-feedback {
469
471
  margin-top: var(--smrt-spacing-2, 0.5rem);
470
472
  font-size: var(--smrt-typography-label-medium-size, 0.8rem);
471
- color: var(--smrt-color-success, #22c55e);
473
+ color: var(--smrt-color-success);
472
474
  font-weight: var(--smrt-typography-weight-medium, 500);
473
475
  animation: fadeIn 150ms ease;
474
476
  }
@@ -499,4 +501,5 @@ function formatDate(date: Date | string | undefined): string {
499
501
  display: flex;
500
502
  gap: var(--smrt-spacing-2, 0.5rem);
501
503
  }
504
+ }
502
505
  </style>
@@ -79,7 +79,7 @@ function getAltText(asset: PersistedAsset): string {
79
79
  }
80
80
  </script>
81
81
 
82
- <div class="asset-grid" class:asset-grid--loading={loading}>
82
+ <div class="asset-grid" class:asset-grid--loading={loading} data-smrt-component="AssetGrid">
83
83
  {#if loading}
84
84
  <div class="asset-grid__loading">
85
85
  <span class="spinner"></span>
@@ -165,6 +165,8 @@ function getAltText(asset: PersistedAsset): string {
165
165
  </div>
166
166
 
167
167
  <style>
168
+ @layer smrt.reset, smrt.structure, smrt.theme;
169
+ @layer smrt.theme {
168
170
  .asset-grid {
169
171
  padding: var(--smrt-spacing-4, 1rem);
170
172
  }
@@ -185,8 +187,8 @@ function getAltText(asset: PersistedAsset): string {
185
187
  position: relative;
186
188
  display: flex;
187
189
  flex-direction: column;
188
- background: var(--smrt-color-surface, #ffffff);
189
- border: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
190
+ background: var(--smrt-color-surface);
191
+ border: 1px solid var(--smrt-color-outline-variant);
190
192
  border-radius: var(--smrt-radius-medium, 0.5rem);
191
193
  overflow: hidden;
192
194
  cursor: pointer;
@@ -215,14 +217,14 @@ function getAltText(asset: PersistedAsset): string {
215
217
  }
216
218
 
217
219
  .asset-card__open:focus-visible {
218
- outline: 2px solid var(--smrt-color-primary, #005ac1);
220
+ outline: 2px solid var(--smrt-color-primary);
219
221
  /* Inset so the card's `overflow: hidden` doesn't clip the focus ring. */
220
222
  outline-offset: -2px;
221
223
  }
222
224
 
223
225
  .asset-card--selected {
224
- border-color: var(--smrt-color-primary, #005ac1);
225
- background: var(--smrt-color-primary-container, #dbeafe);
226
+ border-color: var(--smrt-color-primary);
227
+ background: var(--smrt-color-primary-container);
226
228
  }
227
229
 
228
230
  /* Checkbox */
@@ -244,7 +246,7 @@ function getAltText(asset: PersistedAsset): string {
244
246
  width: 18px;
245
247
  height: 18px;
246
248
  cursor: pointer;
247
- accent-color: var(--smrt-color-primary, #005ac1);
249
+ accent-color: var(--smrt-color-primary);
248
250
  }
249
251
 
250
252
  /* Thumbnail */
@@ -253,7 +255,7 @@ function getAltText(asset: PersistedAsset): string {
253
255
  align-items: center;
254
256
  justify-content: center;
255
257
  height: 140px;
256
- background: var(--smrt-color-surface-container-low, #f9fafb);
258
+ background: var(--smrt-color-surface-container-low);
257
259
  overflow: hidden;
258
260
  }
259
261
 
@@ -276,7 +278,7 @@ function getAltText(asset: PersistedAsset): string {
276
278
  display: block;
277
279
  font-size: var(--smrt-typography-body-medium-size, 0.875rem);
278
280
  font-weight: var(--smrt-typography-weight-medium, 500);
279
- color: var(--smrt-color-on-surface, #111827);
281
+ color: var(--smrt-color-on-surface);
280
282
  white-space: nowrap;
281
283
  overflow: hidden;
282
284
  text-overflow: ellipsis;
@@ -286,13 +288,13 @@ function getAltText(asset: PersistedAsset): string {
286
288
  display: flex;
287
289
  align-items: center;
288
290
  gap: var(--smrt-spacing-1, 0.25rem);
289
- margin-top: var(--smrt-spacing-1, 4px);
291
+ margin-top: var(--smrt-spacing-1);
290
292
  }
291
293
 
292
294
  .asset-card__type {
293
295
  font-size: var(--smrt-typography-label-small-size, 0.7rem);
294
296
  font-weight: var(--smrt-typography-weight-semibold, 600);
295
- color: var(--smrt-color-on-surface-variant, #6b7280);
297
+ color: var(--smrt-color-on-surface-variant);
296
298
  text-transform: uppercase;
297
299
  letter-spacing: var(--smrt-typography-label-small-tracking, 0.05em);
298
300
  }
@@ -302,7 +304,7 @@ function getAltText(asset: PersistedAsset): string {
302
304
  position: absolute;
303
305
  top: var(--smrt-spacing-2, 0.5rem);
304
306
  right: var(--smrt-spacing-2, 0.5rem);
305
- padding: var(--smrt-spacing-1, 4px) var(--smrt-spacing-2, 8px);
307
+ padding: var(--smrt-spacing-1) var(--smrt-spacing-2);
306
308
  font-size: var(--smrt-typography-label-small-size, 0.65rem);
307
309
  font-weight: var(--smrt-typography-weight-semibold, 600);
308
310
  border-radius: var(--smrt-radius-small, 0.25rem);
@@ -313,8 +315,8 @@ function getAltText(asset: PersistedAsset): string {
313
315
  }
314
316
 
315
317
  .asset-card__badge--warning {
316
- background: var(--smrt-color-error-container, #fef2f2);
317
- color: var(--smrt-color-on-error-container, #991b1b);
318
+ background: var(--smrt-color-error-container);
319
+ color: var(--smrt-color-on-error-container);
318
320
  }
319
321
 
320
322
  /* Loading */
@@ -324,15 +326,15 @@ function getAltText(asset: PersistedAsset): string {
324
326
  justify-content: center;
325
327
  gap: var(--smrt-spacing-2, 0.5rem);
326
328
  padding: var(--smrt-spacing-8, 2rem);
327
- color: var(--smrt-color-on-surface-variant, #6b7280);
329
+ color: var(--smrt-color-on-surface-variant);
328
330
  }
329
331
 
330
332
  .spinner {
331
333
  width: 20px;
332
334
  height: 20px;
333
- border: 2px solid var(--smrt-color-outline-variant, #e5e7eb);
334
- border-top-color: var(--smrt-color-primary, #005ac1);
335
- border-radius: var(--smrt-radius-full, 9999px);
335
+ border: 2px solid var(--smrt-color-outline-variant);
336
+ border-top-color: var(--smrt-color-primary);
337
+ border-radius: var(--smrt-radius-full);
336
338
  animation: spin 0.8s linear infinite;
337
339
  }
338
340
 
@@ -356,4 +358,5 @@ function getAltText(asset: PersistedAsset): string {
356
358
  height: 100px;
357
359
  }
358
360
  }
361
+ }
359
362
  </style>
@@ -106,7 +106,7 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
106
106
  }
107
107
  </script>
108
108
 
109
- <div class="asset-list" class:asset-list--loading={loading}>
109
+ <div class="asset-list" class:asset-list--loading={loading} data-smrt-component="AssetList">
110
110
  <table class="list-table">
111
111
  <thead class="list-table__head">
112
112
  <tr>
@@ -221,6 +221,8 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
221
221
  </div>
222
222
 
223
223
  <style>
224
+ @layer smrt.reset, smrt.structure, smrt.theme;
225
+ @layer smrt.theme {
224
226
  .asset-list {
225
227
  overflow-x: auto;
226
228
  }
@@ -234,15 +236,15 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
234
236
  width: 100%;
235
237
  border-collapse: collapse;
236
238
  font-size: var(--smrt-typography-body-medium-size, 0.875rem);
237
- color: var(--smrt-color-on-surface, #111827);
239
+ color: var(--smrt-color-on-surface);
238
240
  }
239
241
 
240
242
  .list-table__head {
241
- background: var(--smrt-color-surface-container, #f3f4f6);
243
+ background: var(--smrt-color-surface-container);
242
244
  }
243
245
 
244
246
  .list-table__head tr {
245
- border-bottom: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
247
+ border-bottom: 1px solid var(--smrt-color-outline-variant);
246
248
  }
247
249
 
248
250
  .list-table__head th {
@@ -250,20 +252,21 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
250
252
  text-align: left;
251
253
  font-weight: var(--smrt-typography-weight-semibold, 600);
252
254
  white-space: nowrap;
253
- color: var(--smrt-color-on-surface, #111827);
255
+ color: var(--smrt-color-on-surface);
254
256
  }
255
257
 
256
258
  .list-table__row {
257
- border-bottom: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
259
+ border-bottom: 1px solid var(--smrt-color-outline-variant);
258
260
  transition: background 150ms ease;
259
261
  }
260
262
 
261
263
  .list-table__row:hover {
262
- background: var(--smrt-color-surface-container-low, #f9fafb);
264
+ background: var(--smrt-color-surface-container-low);
263
265
  }
264
266
 
265
- .list-table__row--selected {
266
- background: var(--smrt-color-primary-container, #dbeafe) !important;
267
+ /* Doubled class: ties :hover above on specificity and wins by source order. */
268
+ .list-table__row.list-table__row--selected {
269
+ background: var(--smrt-color-primary-container);
267
270
  }
268
271
 
269
272
  .list-table__row td {
@@ -280,7 +283,7 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
280
283
  width: 16px;
281
284
  height: 16px;
282
285
  cursor: pointer;
283
- accent-color: var(--smrt-color-primary, #005ac1);
286
+ accent-color: var(--smrt-color-primary);
284
287
  }
285
288
 
286
289
  .col-thumb {
@@ -300,11 +303,11 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
300
303
  justify-content: center;
301
304
  width: 40px;
302
305
  height: 40px;
303
- background: var(--smrt-color-surface-container, #f3f4f6);
306
+ background: var(--smrt-color-surface-container);
304
307
  border-radius: var(--smrt-radius-small, 0.25rem);
305
308
  font-size: var(--smrt-typography-label-small-size, 0.6rem);
306
309
  font-weight: var(--smrt-typography-weight-bold, 700);
307
- color: var(--smrt-color-on-surface-variant, #6b7280);
310
+ color: var(--smrt-color-on-surface-variant);
308
311
  }
309
312
 
310
313
  .col-name {
@@ -340,7 +343,7 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
340
343
  .row-desc {
341
344
  display: block;
342
345
  font-size: var(--smrt-typography-body-small-size, 0.75rem);
343
- color: var(--smrt-color-on-surface-variant, #6b7280);
346
+ color: var(--smrt-color-on-surface-variant);
344
347
  white-space: nowrap;
345
348
  overflow: hidden;
346
349
  text-overflow: ellipsis;
@@ -349,19 +352,19 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
349
352
 
350
353
  .type-badge {
351
354
  display: inline-block;
352
- padding: var(--smrt-spacing-1, 4px) var(--smrt-spacing-2, 8px);
355
+ padding: var(--smrt-spacing-1) var(--smrt-spacing-2);
353
356
  font-size: var(--smrt-typography-label-small-size, 0.65rem);
354
357
  font-weight: var(--smrt-typography-weight-bold, 700);
355
358
  text-transform: uppercase;
356
- background: var(--smrt-color-surface-container, #f3f4f6);
357
- color: var(--smrt-color-on-surface-variant, #6b7280);
359
+ background: var(--smrt-color-surface-container);
360
+ color: var(--smrt-color-on-surface-variant);
358
361
  border-radius: var(--smrt-radius-small, 0.25rem);
359
362
  letter-spacing: var(--smrt-typography-label-small-tracking, 0.05em);
360
363
  }
361
364
 
362
365
  .col-date {
363
366
  white-space: nowrap;
364
- color: var(--smrt-color-on-surface-variant, #6b7280);
367
+ color: var(--smrt-color-on-surface-variant);
365
368
  }
366
369
 
367
370
  .col-status {
@@ -373,20 +376,20 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
373
376
  display: inline-block;
374
377
  width: 8px;
375
378
  height: 8px;
376
- border-radius: var(--smrt-radius-full, 9999px);
377
- background: var(--smrt-color-outline, #9ca3af);
378
- margin-right: var(--smrt-spacing-1, 4px);
379
+ border-radius: var(--smrt-radius-full);
380
+ background: var(--smrt-color-outline);
381
+ margin-right: var(--smrt-spacing-1);
379
382
  vertical-align: middle;
380
383
  }
381
384
 
382
385
  .status-dot--active {
383
- background: var(--smrt-color-success, #22c55e);
386
+ background: var(--smrt-color-success);
384
387
  }
385
388
 
386
389
  /* Sort — renders via <Button class="sort-btn"> (issue #1589). Overrides reset
387
390
  it to an inline header-text button and reach the child <button> via :global(). */
388
391
  .list-table__head :global(.sort-btn) {
389
- gap: var(--smrt-spacing-1, 4px);
392
+ gap: var(--smrt-spacing-1);
390
393
  padding: 0;
391
394
  border: none;
392
395
  background: transparent;
@@ -396,7 +399,7 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
396
399
  }
397
400
 
398
401
  .list-table__head :global(.sort-btn:hover) {
399
- color: var(--smrt-color-primary, #005ac1);
402
+ color: var(--smrt-color-primary);
400
403
  }
401
404
 
402
405
  .sort-indicator {
@@ -411,15 +414,15 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
411
414
  justify-content: center;
412
415
  gap: var(--smrt-spacing-2, 0.5rem);
413
416
  padding: var(--smrt-spacing-8, 2rem);
414
- color: var(--smrt-color-on-surface-variant, #6b7280);
417
+ color: var(--smrt-color-on-surface-variant);
415
418
  }
416
419
 
417
420
  .spinner {
418
421
  width: 20px;
419
422
  height: 20px;
420
- border: 2px solid var(--smrt-color-outline-variant, #e5e7eb);
421
- border-top-color: var(--smrt-color-primary, #005ac1);
422
- border-radius: var(--smrt-radius-full, 9999px);
423
+ border: 2px solid var(--smrt-color-outline-variant);
424
+ border-top-color: var(--smrt-color-primary);
425
+ border-radius: var(--smrt-radius-full);
423
426
  animation: spin 0.8s linear infinite;
424
427
  }
425
428
 
@@ -432,4 +435,5 @@ function setIndeterminate(node: HTMLInputElement, value: boolean) {
432
435
  animation: none;
433
436
  }
434
437
  }
438
+ }
435
439
  </style>
@@ -251,7 +251,7 @@ function handleManagerDrop(event: DragEvent) {
251
251
  onpaste={handlePaste}
252
252
  ondragover={handleManagerDragOver}
253
253
  ondragleave={handleManagerDragLeave}
254
- ondrop={handleManagerDrop}
254
+ ondrop={handleManagerDrop} data-smrt-component="AssetManager"
255
255
  >
256
256
  {#if actionError}
257
257
  <p class="asset-manager__error" role="alert" aria-live="assertive">
@@ -349,12 +349,14 @@ function handleManagerDrop(event: DragEvent) {
349
349
  </div>
350
350
 
351
351
  <style>
352
+ @layer smrt.reset, smrt.structure, smrt.theme;
353
+ @layer smrt.theme {
352
354
  .asset-manager__error {
353
355
  margin: 0 0 var(--smrt-spacing-2, 0.5rem);
354
356
  padding: var(--smrt-spacing-2, 0.5rem) var(--smrt-spacing-3, 0.75rem);
355
357
  border-radius: var(--smrt-radius-medium, 0.5rem);
356
- background: var(--smrt-color-error-container, #fde8e6);
357
- color: var(--smrt-color-on-error-container, #410002);
358
+ background: var(--smrt-color-error-container);
359
+ color: var(--smrt-color-on-error-container);
358
360
  font-size: var(--smrt-typography-body-small-size, 0.8rem);
359
361
  }
360
362
 
@@ -364,15 +366,15 @@ function handleManagerDrop(event: DragEvent) {
364
366
  flex-direction: column;
365
367
  height: 100%;
366
368
  min-height: 400px;
367
- background: var(--smrt-color-surface, #ffffff);
368
- border: 1px solid var(--smrt-color-outline-variant, #e5e7eb);
369
+ background: var(--smrt-color-surface);
370
+ border: 1px solid var(--smrt-color-outline-variant);
369
371
  border-radius: var(--smrt-radius-large, 0.75rem);
370
372
  overflow: hidden;
371
373
  font-family: var(--smrt-font-family, inherit);
372
374
  }
373
375
 
374
376
  .asset-manager--drag-over {
375
- border-color: var(--smrt-color-primary, #005ac1);
377
+ border-color: var(--smrt-color-primary);
376
378
  }
377
379
 
378
380
  .asset-manager__content {
@@ -388,7 +390,7 @@ function handleManagerDrop(event: DragEvent) {
388
390
  align-items: center;
389
391
  justify-content: center;
390
392
  background: color-mix(in srgb, var(--smrt-color-primary) 8%, transparent);
391
- border: 2px dashed var(--smrt-color-primary, #005ac1);
393
+ border: 2px dashed var(--smrt-color-primary);
392
394
  border-radius: var(--smrt-radius-large, 0.75rem);
393
395
  z-index: 10;
394
396
  pointer-events: none;
@@ -399,7 +401,7 @@ function handleManagerDrop(event: DragEvent) {
399
401
  flex-direction: column;
400
402
  align-items: center;
401
403
  gap: var(--smrt-spacing-2, 0.5rem);
402
- color: var(--smrt-color-primary, #005ac1);
404
+ color: var(--smrt-color-primary);
403
405
  font-weight: var(--smrt-typography-weight-medium, 500);
404
406
  }
405
407
 
@@ -407,4 +409,5 @@ function handleManagerDrop(event: DragEvent) {
407
409
  margin: 0;
408
410
  font-size: var(--smrt-typography-body-large-size, 1.1rem);
409
411
  }
412
+ }
410
413
  </style>