@happyvertical/smrt-images 0.55.16 → 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-images",
5
- "packageVersion": "0.55.16",
5
+ "packageVersion": "0.55.17",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-images:Image": {
8
8
  "name": "image",
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-images",
6
- "packageVersion": "0.55.16",
6
+ "packageVersion": "0.55.17",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "d171494398c1ff68afaacba7948f256ed8d8e6aab8de8d563d48c6114939a12b",
11
- "packageJson": "d0eaaae0397e04c1800918802ed159323e3fe77eff107610b6b2dd8f968da2a2",
10
+ "manifest": "1b50b85d6777d0e5622922638dc90b7eb01701da6c5a75672863e9c34b836790",
11
+ "packageJson": "b941f94bc7bba28b71beb416a7f3e4103f5b758dd62d57a601fe1872a81c77c7",
12
12
  "agents": "82a1905b76f49d9a852bf1e4f591595ae596c5cfa14ec736dc6f8fe32200fd8c"
13
13
  },
14
14
  "exports": [
@@ -153,7 +153,7 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
153
153
  }
154
154
  </script>
155
155
 
156
- <div class="smrt-assets-gallery">
156
+ <div class="smrt-assets-gallery" data-smrt-component="AssetsGallery">
157
157
  <div class="gallery-header">
158
158
  <h3>{t(M['images.assets_gallery.title'])}</h3>
159
159
 
@@ -249,14 +249,16 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
249
249
  </div>
250
250
 
251
251
  <style>
252
+ @layer smrt.reset, smrt.structure, smrt.theme;
253
+ @layer smrt.theme {
252
254
  .smrt-assets-gallery {
253
255
  display: flex;
254
256
  flex-direction: column;
255
257
  gap: 1.5rem;
256
258
  height: 100%;
257
259
  min-height: 400px;
258
- background: var(--smrt-color-surface, #121212);
259
- color: var(--smrt-color-on-surface, #fff);
260
+ background: var(--smrt-color-surface);
261
+ color: var(--smrt-color-on-surface);
260
262
  }
261
263
 
262
264
  .gallery-header {
@@ -264,9 +266,9 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
264
266
  flex-direction: column;
265
267
  gap: 1rem;
266
268
  padding: 1rem;
267
- background: var(--smrt-color-surface-container, #1a1a1a);
268
- border-radius: var(--smrt-radius-lg, 8px);
269
- border: 1px solid var(--smrt-color-outline-variant, #333);
269
+ background: var(--smrt-color-surface-container);
270
+ border-radius: var(--smrt-radius-lg);
271
+ border: 1px solid var(--smrt-color-outline-variant);
270
272
  }
271
273
 
272
274
  .gallery-header h3 {
@@ -307,10 +309,10 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
307
309
  }
308
310
 
309
311
  .error-msg {
310
- color: var(--smrt-color-error, #ef4444);
312
+ color: var(--smrt-color-error);
311
313
  background: color-mix(in srgb, var(--smrt-color-error) 10%, transparent);
312
314
  padding: 1rem;
313
- border-radius: var(--smrt-radius-md, 8px);
315
+ border-radius: var(--smrt-radius-md);
314
316
  }
315
317
 
316
318
  .gallery-grid {
@@ -326,9 +328,9 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
326
328
  flex-direction: column;
327
329
  align-items: stretch;
328
330
  padding: 0;
329
- background: var(--smrt-color-surface-container, #1a1a1a);
330
- border-radius: var(--smrt-radius-lg, 8px);
331
- border: 1px solid var(--smrt-color-surface-container-high, #2a2a2a);
331
+ background: var(--smrt-color-surface-container);
332
+ border-radius: var(--smrt-radius-lg);
333
+ border: 1px solid var(--smrt-color-surface-container-high);
332
334
  box-shadow: var(--smrt-elevation-1, 0 1px 3px color-mix(in srgb, var(--smrt-color-shadow) 12%, transparent), 0 1px 2px color-mix(in srgb, var(--smrt-color-shadow) 24%, transparent));
333
335
  overflow: hidden;
334
336
  color: inherit;
@@ -342,7 +344,7 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
342
344
 
343
345
  .gallery-item.selectable:hover, .gallery-item.selectable:focus {
344
346
  transform: translateY(-2px);
345
- border-color: var(--smrt-color-primary, #3b82f6);
347
+ border-color: var(--smrt-color-primary);
346
348
  box-shadow: var(--smrt-elevation-2, 0 3px 6px color-mix(in srgb, var(--smrt-color-shadow) 16%, transparent), 0 3px 6px color-mix(in srgb, var(--smrt-color-shadow) 23%, transparent));
347
349
  outline: none;
348
350
  }
@@ -350,7 +352,7 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
350
352
  .img-container {
351
353
  aspect-ratio: 1;
352
354
  width: 100%;
353
- background: var(--smrt-color-surface-container-high, #242424);
355
+ background: var(--smrt-color-surface-container-high);
354
356
  display: flex;
355
357
  align-items: center;
356
358
  justify-content: center;
@@ -378,22 +380,22 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
378
380
  white-space: nowrap;
379
381
  overflow: hidden;
380
382
  text-overflow: ellipsis;
381
- letter-spacing: var(--smrt-typography-title-medium-tracking, 0.1px);
383
+ letter-spacing: var(--smrt-typography-title-medium-tracking);
382
384
  }
383
385
 
384
386
  .item-meta {
385
387
  font-size: var(--smrt-typography-label-large-size, 0.85rem);
386
- color: var(--smrt-color-outline, #888);
388
+ color: var(--smrt-color-outline);
387
389
  }
388
390
 
389
391
  .empty-state {
390
392
  grid-column: 1 / -1;
391
393
  text-align: center;
392
394
  padding: 3rem;
393
- color: var(--smrt-color-outline, #888);
394
- background: var(--smrt-color-surface-container, #1a1a1a);
395
- border-radius: var(--smrt-radius-lg, 8px);
396
- border: 1px dashed var(--smrt-color-outline-variant, #444);
395
+ color: var(--smrt-color-outline);
396
+ background: var(--smrt-color-surface-container);
397
+ border-radius: var(--smrt-radius-lg);
398
+ border: 1px dashed var(--smrt-color-outline-variant);
397
399
  }
398
400
 
399
401
  .load-more {
@@ -407,15 +409,16 @@ function handleDragStart(event: DragEvent, image: ImageLike) {
407
409
  (see #1589 scoping rule). */
408
410
  .load-more :global(.load-more-btn--pill) {
409
411
  padding: 0.75rem 2rem;
410
- background: var(--smrt-color-surface-container-high, #242424);
411
- color: var(--smrt-color-primary, #3b82f6);
412
- border: 1px solid var(--smrt-color-outline-variant, #444);
413
- border-radius: var(--smrt-radius-full, 9999px);
412
+ background: var(--smrt-color-surface-container-high);
413
+ color: var(--smrt-color-primary);
414
+ border: 1px solid var(--smrt-color-outline-variant);
415
+ border-radius: var(--smrt-radius-full);
414
416
  font-weight: var(--smrt-typography-weight-medium, 500);
415
417
  transition: background 0.2s;
416
418
  }
417
419
 
418
420
  .load-more :global(.load-more-btn--pill:hover:not(:disabled)) {
419
- background: var(--smrt-color-surface-container-highest, #333);
421
+ background: var(--smrt-color-surface-container-highest);
420
422
  }
423
+ }
421
424
  </style>
@@ -178,7 +178,7 @@ async function handleAIEdit() {
178
178
  }
179
179
  </script>
180
180
 
181
- <div class="smrt-image-editor">
181
+ <div class="smrt-image-editor" data-smrt-component="ImageEditor">
182
182
  <div class="header">
183
183
  <h3>{t(M['images.image_editor.title'])}</h3>
184
184
  {#if onCancel}
@@ -283,22 +283,24 @@ async function handleAIEdit() {
283
283
  </div>
284
284
 
285
285
  <style>
286
+ @layer smrt.reset, smrt.structure, smrt.theme;
287
+ @layer smrt.theme {
286
288
  .smrt-image-editor {
287
289
  display: flex;
288
290
  flex-direction: column;
289
291
  gap: 1rem;
290
292
  padding: 1.5rem;
291
- background: var(--smrt-color-surface-container, #1a1a1a);
292
- color: var(--smrt-color-on-surface, #fff);
293
- border-radius: var(--smrt-radius-lg, 8px);
294
- border: 1px solid var(--smrt-color-outline-variant, #333);
293
+ background: var(--smrt-color-surface-container);
294
+ color: var(--smrt-color-on-surface);
295
+ border-radius: var(--smrt-radius-lg);
296
+ border: 1px solid var(--smrt-color-outline-variant);
295
297
  }
296
298
 
297
299
  .header {
298
300
  display: flex;
299
301
  justify-content: space-between;
300
302
  align-items: center;
301
- border-bottom: 1px solid var(--smrt-color-outline-variant, #333);
303
+ border-bottom: 1px solid var(--smrt-color-outline-variant);
302
304
  padding-bottom: 1rem;
303
305
  margin-bottom: 0.5rem;
304
306
  }
@@ -320,7 +322,7 @@ async function handleAIEdit() {
320
322
  .empty-state {
321
323
  padding: 2rem;
322
324
  text-align: center;
323
- color: var(--smrt-color-outline, #666);
325
+ color: var(--smrt-color-outline);
324
326
  }
325
327
 
326
328
  .editor-content {
@@ -336,9 +338,9 @@ async function handleAIEdit() {
336
338
  background-size: contain;
337
339
  background-position: center;
338
340
  background-repeat: no-repeat;
339
- background-color: var(--smrt-color-surface-container-high, #242424);
340
- border-radius: var(--smrt-radius-md, 6px);
341
- border: 1px dashed var(--smrt-color-outline-variant, #444);
341
+ background-color: var(--smrt-color-surface-container-high);
342
+ border-radius: var(--smrt-radius-md);
343
+ border: 1px dashed var(--smrt-color-outline-variant);
342
344
  }
343
345
 
344
346
  .editor-controls {
@@ -352,8 +354,8 @@ async function handleAIEdit() {
352
354
  /* Segmented button style for tabs */
353
355
  .mode-selector {
354
356
  display: flex;
355
- background: var(--smrt-color-surface-container-high, #242424);
356
- border-radius: var(--smrt-radius-full, 9999px);
357
+ background: var(--smrt-color-surface-container-high);
358
+ border-radius: var(--smrt-radius-full);
357
359
  padding: 0.25rem;
358
360
  gap: 0.25rem;
359
361
  }
@@ -365,14 +367,14 @@ async function handleAIEdit() {
365
367
  flex: 1;
366
368
  padding: 0.6rem 1rem;
367
369
  font-weight: var(--smrt-typography-weight-medium, 500);
368
- border-radius: var(--smrt-radius-full, 9999px);
370
+ border-radius: var(--smrt-radius-full);
369
371
  }
370
372
 
371
373
  .tool-section h4 {
372
374
  margin: 0 0 1rem 0;
373
375
  font-size: var(--smrt-typography-title-medium-size, 0.95rem);
374
376
  font-weight: var(--smrt-typography-weight-medium, 500);
375
- color: var(--smrt-color-on-surface-variant, #ccc);
377
+ color: var(--smrt-color-on-surface-variant);
376
378
  }
377
379
 
378
380
  .row {
@@ -388,7 +390,7 @@ async function handleAIEdit() {
388
390
  flex-direction: column;
389
391
  font-size: var(--smrt-typography-label-medium-size, 0.8rem);
390
392
  font-weight: var(--smrt-typography-weight-medium, 500);
391
- color: var(--smrt-color-outline, #888);
393
+ color: var(--smrt-color-outline);
392
394
  gap: 0.25rem;
393
395
  }
394
396
 
@@ -413,18 +415,18 @@ async function handleAIEdit() {
413
415
  /* Migrated Buttons keep their bespoke filled-tonal / text-link / pill looks.
414
416
  :global() pierces into each Button's rendered <button> (see #1589). */
415
417
  .tool-section :global(.tonal-btn--filled) {
416
- background: var(--smrt-color-surface-container-highest, #333);
417
- color: var(--smrt-color-primary, #3b82f6);
418
- border: 1px solid var(--smrt-color-outline-variant, #444);
418
+ background: var(--smrt-color-surface-container-highest);
419
+ color: var(--smrt-color-primary);
420
+ border: 1px solid var(--smrt-color-outline-variant);
419
421
  padding: 0.6rem 1.2rem;
420
- border-radius: var(--smrt-radius-full, 9999px);
422
+ border-radius: var(--smrt-radius-full);
421
423
  font-weight: var(--smrt-typography-weight-medium, 500);
422
424
  transition: background 0.2s;
423
425
  margin-top: 1.25rem;
424
426
  }
425
427
 
426
428
  .tool-section :global(.tonal-btn--filled:hover:not(:disabled)) {
427
- background: var(--smrt-color-surface-container-high, #3f3f3f);
429
+ background: var(--smrt-color-surface-container-high);
428
430
  }
429
431
 
430
432
  .tool-section :global(.text-btn--link) {
@@ -432,12 +434,12 @@ async function handleAIEdit() {
432
434
  padding: 0;
433
435
  }
434
436
  .tool-section :global(.text-btn--link:hover) {
435
- color: var(--smrt-color-on-surface, #fff);
437
+ color: var(--smrt-color-on-surface);
436
438
  }
437
439
 
438
440
  .tool-section :global(.primary-btn--pill) {
439
441
  padding: 0.6rem 1.5rem;
440
- border-radius: var(--smrt-radius-full, 9999px);
442
+ border-radius: var(--smrt-radius-full);
441
443
  font-weight: var(--smrt-typography-weight-medium, 500);
442
444
  }
443
445
 
@@ -447,23 +449,24 @@ async function handleAIEdit() {
447
449
 
448
450
  .hint {
449
451
  font-size: var(--smrt-typography-body-small-size, 0.8rem);
450
- color: var(--smrt-color-outline, #888);
452
+ color: var(--smrt-color-outline);
451
453
  margin: 0 0 0.5rem 0;
452
454
  }
453
455
 
454
456
  .error-msg {
455
- color: var(--smrt-color-error, #ef4444);
457
+ color: var(--smrt-color-error);
456
458
  background: color-mix(in srgb, var(--smrt-color-error) 10%, transparent);
457
459
  padding: 0.5rem;
458
- border-radius: var(--smrt-radius-sm, 4px);
460
+ border-radius: var(--smrt-radius-sm);
459
461
  font-size: var(--smrt-typography-body-medium-size, 0.85rem);
460
462
  }
461
463
 
462
464
  .success-msg {
463
- color: var(--smrt-color-success, #22c55e);
465
+ color: var(--smrt-color-success);
464
466
  background: color-mix(in srgb, var(--smrt-color-success) 10%, transparent);
465
467
  padding: 0.5rem;
466
- border-radius: var(--smrt-radius-sm, 4px);
468
+ border-radius: var(--smrt-radius-sm);
467
469
  font-size: var(--smrt-typography-body-medium-size, 0.85rem);
468
470
  }
471
+ }
469
472
  </style>