@salmexio/ui 1.1.0 → 1.2.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 (40) hide show
  1. package/dist/dialogs/ContextMenu/ContextMenu.svelte +11 -1
  2. package/dist/dialogs/Modal/Modal.svelte +34 -1
  3. package/dist/feedback/Alert/Alert.svelte +54 -11
  4. package/dist/feedback/ProgressBar/ProgressBar.svelte +11 -8
  5. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts +2 -2
  6. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts.map +1 -1
  7. package/dist/feedback/Skeleton/Skeleton.svelte +7 -3
  8. package/dist/feedback/Spinner/Spinner.svelte +2 -0
  9. package/dist/feedback/Toast/Toaster.svelte +35 -3
  10. package/dist/forms/Checkbox/Checkbox.svelte +30 -7
  11. package/dist/forms/Select/Select.svelte +19 -3
  12. package/dist/forms/Slider/Slider.svelte +41 -13
  13. package/dist/forms/Slider/Slider.svelte.d.ts +1 -1
  14. package/dist/forms/Slider/Slider.svelte.d.ts.map +1 -1
  15. package/dist/forms/TextInput/TextInput.svelte +19 -1
  16. package/dist/forms/Textarea/Textarea.svelte +18 -3
  17. package/dist/forms/Toggle/Toggle.svelte +70 -11
  18. package/dist/layout/Card/Card.svelte +125 -4
  19. package/dist/layout/Card/Card.svelte.d.ts +3 -0
  20. package/dist/layout/Card/Card.svelte.d.ts.map +1 -1
  21. package/dist/layout/ThermalBackground/ThermalBackground.svelte +2 -40
  22. package/dist/layout/ThermalBackground/ThermalBackground.svelte.d.ts +0 -2
  23. package/dist/layout/ThermalBackground/ThermalBackground.svelte.d.ts.map +1 -1
  24. package/dist/navigation/CommandPalette/CommandPalette.svelte +37 -3
  25. package/dist/navigation/NavMenu/NavMenu.svelte +800 -0
  26. package/dist/navigation/NavMenu/NavMenu.svelte.d.ts +81 -0
  27. package/dist/navigation/NavMenu/NavMenu.svelte.d.ts.map +1 -0
  28. package/dist/navigation/NavMenu/index.d.ts +3 -0
  29. package/dist/navigation/NavMenu/index.d.ts.map +1 -0
  30. package/dist/navigation/NavMenu/index.js +1 -0
  31. package/dist/navigation/Tabs/Tabs.svelte +37 -8
  32. package/dist/navigation/index.d.ts +2 -0
  33. package/dist/navigation/index.d.ts.map +1 -1
  34. package/dist/navigation/index.js +1 -0
  35. package/dist/primitives/Badge/Badge.svelte +55 -10
  36. package/dist/primitives/Button/Button.svelte +220 -71
  37. package/dist/primitives/Tooltip/Tooltip.svelte +33 -1
  38. package/dist/primitives/Tooltip/Tooltip.svelte.d.ts.map +1 -1
  39. package/dist/styles/tokens.css +1 -0
  40. package/package.json +1 -1
@@ -209,40 +209,112 @@ const isDisabled = $derived(disabled);
209
209
  VARIANT STYLES - INFRARED
210
210
  ======================================== */
211
211
 
212
- /* Default variant */
212
+ /* Default variant — Neutral 3D panel.
213
+ Same physical language as primary but with neutral
214
+ surface colors. Top-lit bevel + stacked extrusion. */
213
215
  .sx-btn-default {
214
216
  background: var(--sx-color-surface-2);
215
217
  color: var(--sx-color-text);
216
218
  border: 1px solid var(--sx-color-border-strong);
219
+ overflow: hidden;
220
+
221
+ /* 3D extrusion — neutral dark tones */
222
+ box-shadow:
223
+ 0 1px 0 0 rgba(255, 255, 255, 0.04),
224
+ 0 1px 0 0 rgba(0, 0, 0, 0.2),
225
+ 0 2px 0 0 rgba(0, 0, 0, 0.15),
226
+ 0 3px 0 0 rgba(0, 0, 0, 0.1),
227
+ 0 5px 10px -3px rgba(0, 0, 0, 0.4);
228
+ }
229
+
230
+ /* Top-lit bevel for default */
231
+ .sx-btn-default::before {
232
+ content: '';
233
+ position: absolute;
234
+ inset: 0;
235
+ border-radius: inherit;
236
+ pointer-events: none;
237
+ z-index: 1;
238
+ background:
239
+ linear-gradient(
240
+ 180deg,
241
+ rgba(255, 255, 255, 0.06) 0%,
242
+ rgba(255, 255, 255, 0.02) 35%,
243
+ transparent 50%,
244
+ rgba(0, 0, 0, 0.08) 100%
245
+ );
246
+ }
247
+
248
+ .sx-btn-default:hover:not(:disabled) {
249
+ transform: translateY(-2px);
250
+ border-color: var(--sx-color-border-hover);
251
+ box-shadow:
252
+ 0 1px 0 0 rgba(255, 255, 255, 0.05),
253
+ 0 1px 0 0 rgba(0, 0, 0, 0.2),
254
+ 0 2px 0 0 rgba(0, 0, 0, 0.15),
255
+ 0 3px 0 0 rgba(0, 0, 0, 0.1),
256
+ 0 4px 0 0 rgba(0, 0, 0, 0.06),
257
+ 0 8px 16px -3px rgba(0, 0, 0, 0.5);
258
+ }
259
+
260
+ .sx-btn-default:active:not(:disabled) {
261
+ transform: translateY(1px);
262
+ box-shadow:
263
+ 0 1px 0 0 rgba(0, 0, 0, 0.1),
264
+ 0 1px 3px -1px rgba(0, 0, 0, 0.2);
265
+ transition: transform 60ms ease, box-shadow 60ms ease;
217
266
  }
218
267
 
219
- /* Primary variant — Aurora grain.
220
- Two-layer background: mostly-opaque vermilion on top with slight
221
- edge transparency, a slow-drifting brass/teal/vermilion aurora
222
- underneath that bleeds through at the margins. SVG noise grain
223
- overlay for tactile feel. Breathing glow pulse at rest. */
268
+ /* Primary variant — INFRARED Forge.
269
+ Multi-color gradient surface (vermilion brass teal) that
270
+ drifts slowly. 3D extruded depth via stacked box-shadows.
271
+ Top-lit bevel highlight via ::before. Grain texture via ::after.
272
+ Traveling border-light sweep on hover. */
224
273
  .sx-btn-primary {
225
274
  background:
226
- radial-gradient(
227
- ellipse at center,
228
- rgba(255, 107, 53, 0.97) 25%,
229
- rgba(255, 107, 53, 0.82) 100%
230
- ),
231
275
  linear-gradient(
232
276
  135deg,
233
- #C8A84E 0%,
234
- #3D8B8B 35%,
235
- #FF6B35 65%,
236
- #C8A84E 100%
277
+ #FF6B35 0%,
278
+ #E05520 20%,
279
+ #C8A84E 50%,
280
+ #8B8B3D 80%,
281
+ #FF6B35 100%
237
282
  );
238
- background-size: 100% 100%, 280% 280%;
283
+ background-size: 300% 300%;
239
284
  color: var(--sx-color-text-inverse);
240
285
  border: none;
241
- font-weight: 600;
286
+ font-weight: 700;
287
+ letter-spacing: 0.3px;
242
288
  overflow: hidden;
243
- animation:
244
- sx-primary-aurora 10s ease-in-out infinite,
245
- sx-primary-glow 4s ease-in-out infinite;
289
+ isolation: isolate;
290
+ animation: sx-forge-drift 8s ease-in-out infinite;
291
+
292
+ /* 3D extrusion — stacked shadows create physical depth */
293
+ box-shadow:
294
+ 0 1px 0 0 rgba(255, 140, 90, 0.4),
295
+ 0 2px 0 0 #A63D10,
296
+ 0 3px 0 0 #8B3210,
297
+ 0 4px 0 0 #702810,
298
+ 0 6px 12px -2px rgba(0, 0, 0, 0.5),
299
+ 0 0 16px -4px rgba(255, 107, 53, 0.3);
300
+ }
301
+
302
+ /* Top-lit bevel — light source from above */
303
+ .sx-btn-primary::before {
304
+ content: '';
305
+ position: absolute;
306
+ inset: 0;
307
+ border-radius: inherit;
308
+ pointer-events: none;
309
+ z-index: 1;
310
+ background:
311
+ linear-gradient(
312
+ 180deg,
313
+ rgba(255, 255, 255, 0.25) 0%,
314
+ rgba(255, 255, 255, 0.08) 30%,
315
+ transparent 50%,
316
+ rgba(0, 0, 0, 0.15) 100%
317
+ );
246
318
  }
247
319
 
248
320
  /* Grain texture — SVG feTurbulence noise at low opacity */
@@ -252,56 +324,56 @@ const isDisabled = $derived(disabled);
252
324
  inset: 0;
253
325
  border-radius: inherit;
254
326
  pointer-events: none;
255
- opacity: 0.06;
327
+ z-index: 2;
328
+ opacity: 0.08;
256
329
  mix-blend-mode: overlay;
257
330
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
258
331
  }
259
332
 
260
- /* Aurora drift — moves the underlayer gradient position */
261
- @keyframes sx-primary-aurora {
262
- 0%, 100% { background-position: center, 0% 50%; }
263
- 33% { background-position: center, 100% 0%; }
264
- 66% { background-position: center, 50% 100%; }
265
- }
266
-
267
- /* Breathing glow pulse */
268
- @keyframes sx-primary-glow {
269
- 0%, 100% {
270
- box-shadow:
271
- var(--sx-shadow-sm),
272
- 0 0 12px -3px rgba(255, 107, 53, 0.3);
273
- }
274
- 50% {
275
- box-shadow:
276
- var(--sx-shadow-sm),
277
- 0 0 20px -2px rgba(255, 107, 53, 0.5);
278
- }
333
+ /* Gradient drift — visible color shift across the surface */
334
+ @keyframes sx-forge-drift {
335
+ 0%, 100% { background-position: 0% 50%; }
336
+ 25% { background-position: 100% 0%; }
337
+ 50% { background-position: 100% 100%; }
338
+ 75% { background-position: 0% 100%; }
279
339
  }
280
340
 
281
341
  .sx-btn-primary:hover:not(:disabled) {
282
- transform: translateY(-2px);
283
- animation:
284
- sx-primary-aurora 10s ease-in-out infinite;
342
+ transform: translateY(-3px);
343
+ animation: sx-forge-drift 5s ease-in-out infinite;
344
+
345
+ /* Lift increases the extrusion depth */
285
346
  box-shadow:
286
- var(--sx-shadow-md),
287
- 0 0 24px -3px rgba(255, 107, 53, 0.55);
347
+ 0 1px 0 0 rgba(255, 140, 90, 0.5),
348
+ 0 2px 0 0 #A63D10,
349
+ 0 3px 0 0 #8B3210,
350
+ 0 4px 0 0 #702810,
351
+ 0 5px 0 0 #5A2010,
352
+ 0 6px 0 0 #451810,
353
+ 0 10px 20px -3px rgba(0, 0, 0, 0.6),
354
+ 0 0 28px -4px rgba(255, 107, 53, 0.5);
288
355
  }
289
356
 
357
+ /* Active — press into the surface, collapse depth */
290
358
  .sx-btn-primary:active:not(:disabled) {
291
- transform: translateY(0);
359
+ transform: translateY(2px);
292
360
  box-shadow:
293
- var(--sx-shadow-sm),
294
- 0 0 8px -2px rgba(255, 107, 53, 0.2);
361
+ 0 1px 0 0 #8B3210,
362
+ 0 2px 4px -1px rgba(0, 0, 0, 0.4),
363
+ 0 0 8px -3px rgba(255, 107, 53, 0.2);
364
+ transition: transform 60ms ease, box-shadow 60ms ease;
295
365
  }
296
366
 
297
367
  .sx-btn-primary:disabled {
298
368
  animation-play-state: paused;
299
369
  }
300
370
 
301
- /* Ghost variant — transparent, subtle */
371
+ /* Ghost variant — Flat at rest, materializes on hover.
372
+ Rises out of the surface with a thin extrusion when
373
+ you reach for it. Stays part of the physical language. */
302
374
  .sx-btn-ghost {
303
375
  background: transparent;
304
- border: none;
376
+ border: 1px solid transparent;
305
377
  color: var(--sx-color-text-secondary);
306
378
  box-shadow: none;
307
379
  }
@@ -309,33 +381,86 @@ const isDisabled = $derived(disabled);
309
381
  .sx-btn-ghost:hover:not(:disabled) {
310
382
  background: var(--sx-color-surface-2);
311
383
  color: var(--sx-color-text);
312
- transform: none;
313
- box-shadow: none;
384
+ border-color: var(--sx-color-border);
385
+ transform: translateY(-1px);
386
+
387
+ /* Materializes — thin extrusion appears */
388
+ box-shadow:
389
+ 0 1px 0 0 rgba(255, 255, 255, 0.03),
390
+ 0 1px 0 0 rgba(0, 0, 0, 0.15),
391
+ 0 2px 0 0 rgba(0, 0, 0, 0.08),
392
+ 0 3px 6px -2px rgba(0, 0, 0, 0.25);
314
393
  }
315
394
 
316
395
  .sx-btn-ghost:active:not(:disabled) {
317
396
  background: var(--sx-color-surface-2);
318
397
  transform: translateY(0);
319
- box-shadow: none;
398
+ box-shadow:
399
+ 0 1px 0 0 rgba(0, 0, 0, 0.08),
400
+ 0 1px 2px -1px rgba(0, 0, 0, 0.15);
401
+ transition: transform 60ms ease, box-shadow 60ms ease;
320
402
  }
321
403
 
322
- /* Danger variant — red glow */
404
+ /* Danger variant — Dark crimson surface, light text.
405
+ Red enough to read as danger, dark enough to not
406
+ overwhelm. Light text for readability. */
323
407
  .sx-btn-danger {
324
- background: var(--sx-color-red-hover);
325
- color: var(--sx-color-red);
326
- border: 1px solid rgba(220, 38, 38, 0.2);
408
+ background: #3A1010;
409
+ color: var(--sx-color-text);
410
+ border: 1px solid rgba(220, 38, 38, 0.3);
411
+ overflow: hidden;
412
+
413
+ /* 3D extrusion — deep crimson tones */
414
+ box-shadow:
415
+ 0 1px 0 0 rgba(220, 60, 60, 0.12),
416
+ 0 2px 0 0 #2A0808,
417
+ 0 3px 0 0 #1E0505,
418
+ 0 4px 0 0 #140303,
419
+ 0 6px 12px -2px rgba(0, 0, 0, 0.5),
420
+ 0 0 12px -4px rgba(220, 38, 38, 0.2);
421
+ }
422
+
423
+ /* Top-lit bevel for danger — red-tinted highlight */
424
+ .sx-btn-danger::before {
425
+ content: '';
426
+ position: absolute;
427
+ inset: 0;
428
+ border-radius: inherit;
429
+ pointer-events: none;
430
+ z-index: 1;
431
+ background:
432
+ linear-gradient(
433
+ 180deg,
434
+ rgba(220, 60, 60, 0.12) 0%,
435
+ rgba(255, 255, 255, 0.04) 25%,
436
+ transparent 50%,
437
+ rgba(0, 0, 0, 0.15) 100%
438
+ );
327
439
  }
328
440
 
329
441
  .sx-btn-danger:hover:not(:disabled) {
330
- background: rgba(220, 38, 38, 0.2);
331
442
  transform: translateY(-2px);
332
- box-shadow: var(--sx-shadow-glow-red);
333
- border-color: rgba(220, 38, 38, 0.4);
443
+ background: #451212;
444
+ border-color: rgba(220, 38, 38, 0.45);
445
+
446
+ box-shadow:
447
+ 0 1px 0 0 rgba(220, 60, 60, 0.18),
448
+ 0 2px 0 0 #2A0808,
449
+ 0 3px 0 0 #1E0505,
450
+ 0 4px 0 0 #140303,
451
+ 0 5px 0 0 #0C0202,
452
+ 0 9px 18px -3px rgba(0, 0, 0, 0.6),
453
+ 0 0 22px -4px rgba(220, 38, 38, 0.3);
334
454
  }
335
455
 
336
456
  .sx-btn-danger:active:not(:disabled) {
337
- transform: translateY(0);
338
- box-shadow: var(--sx-shadow-sm);
457
+ transform: translateY(2px);
458
+ background: #2A0808;
459
+ box-shadow:
460
+ 0 1px 0 0 #1E0505,
461
+ 0 2px 4px -1px rgba(0, 0, 0, 0.4),
462
+ 0 0 6px -3px rgba(220, 38, 38, 0.12);
463
+ transition: transform 60ms ease, box-shadow 60ms ease;
339
464
  }
340
465
 
341
466
  /* ========================================
@@ -346,7 +471,7 @@ const isDisabled = $derived(disabled);
346
471
  align-items: center;
347
472
  gap: var(--sx-space-2);
348
473
  position: relative;
349
- z-index: 1;
474
+ z-index: 3;
350
475
  }
351
476
 
352
477
  .sx-btn-icon {
@@ -366,16 +491,18 @@ const isDisabled = $derived(disabled);
366
491
  border-radius: var(--sx-radius-sm);
367
492
  }
368
493
 
369
- /* Shortcut on primary: semi-transparent against the vermilion fill */
494
+ /* Shortcut on primary: frosted inset against the multi-color fill */
370
495
  .sx-btn-primary .sx-btn-shortcut {
371
- background: rgba(0, 0, 0, 0.15);
496
+ background: rgba(0, 0, 0, 0.25);
372
497
  color: var(--sx-color-text-inverse);
498
+ border: 1px solid rgba(255, 255, 255, 0.1);
373
499
  }
374
500
 
375
- /* Shortcut on danger: match the red text */
501
+ /* Shortcut on danger: red-tinted badge */
376
502
  .sx-btn-danger .sx-btn-shortcut {
377
- background: rgba(220, 38, 38, 0.15);
378
- color: var(--sx-color-red);
503
+ background: rgba(220, 38, 38, 0.12);
504
+ color: var(--sx-color-text);
505
+ border: 1px solid rgba(220, 38, 38, 0.15);
379
506
  }
380
507
 
381
508
  /* Shortcut on ghost: subtle */
@@ -400,11 +527,33 @@ const isDisabled = $derived(disabled);
400
527
  transform: none;
401
528
  }
402
529
 
403
- /* Fallback: solid vermilion, no aurora/glow animation */
530
+ /* Primary solid gradient, no drift, simple depth */
404
531
  .sx-btn-primary {
405
532
  animation: none;
406
- background: var(--sx-color-primary);
407
- box-shadow: var(--sx-shadow-sm);
533
+ background: linear-gradient(135deg, #FF6B35, #C8A84E);
534
+ box-shadow:
535
+ 0 2px 0 0 #8B3210,
536
+ 0 4px 8px -2px rgba(0, 0, 0, 0.4);
537
+ }
538
+
539
+ .sx-btn-primary:hover:not(:disabled) {
540
+ box-shadow:
541
+ 0 3px 0 0 #8B3210,
542
+ 0 6px 12px -2px rgba(0, 0, 0, 0.5);
543
+ }
544
+
545
+ /* Default — simple depth */
546
+ .sx-btn-default {
547
+ box-shadow:
548
+ 0 2px 0 0 rgba(0, 0, 0, 0.15),
549
+ 0 4px 8px -2px rgba(0, 0, 0, 0.3);
550
+ }
551
+
552
+ /* Danger — simple depth */
553
+ .sx-btn-danger {
554
+ box-shadow:
555
+ 0 2px 0 0 #4A0A0A,
556
+ 0 4px 8px -2px rgba(0, 0, 0, 0.3);
408
557
  }
409
558
  }
410
559
  </style>
@@ -17,6 +17,7 @@
17
17
  import type { Snippet } from 'svelte';
18
18
  import { cn } from '../../utils/cn.js';
19
19
  import { tick } from 'svelte';
20
+ import { onMount } from 'svelte';
20
21
 
21
22
  type Placement = 'top' | 'bottom' | 'left' | 'right';
22
23
 
@@ -140,6 +141,28 @@ function positionTooltip() {
140
141
  computedLeft = `${left}px`;
141
142
  placementOverride = finalPlacement;
142
143
  }
144
+
145
+ // Portal: move tooltip to document.body so position:fixed is viewport-relative
146
+ // (ancestors with transform/backdrop-filter would otherwise create a containing block)
147
+ $effect(() => {
148
+ if (tooltipEl && visible) {
149
+ document.body.appendChild(tooltipEl);
150
+ tick().then(() => positionTooltip());
151
+ return () => {
152
+ if (tooltipEl?.parentNode === document.body) {
153
+ document.body.removeChild(tooltipEl);
154
+ }
155
+ };
156
+ }
157
+ });
158
+
159
+ onMount(() => {
160
+ return () => {
161
+ if (tooltipEl?.parentNode === document.body) {
162
+ document.body.removeChild(tooltipEl);
163
+ }
164
+ };
165
+ });
143
166
  </script>
144
167
 
145
168
  <svelte:window onkeydown={handleKeydown} />
@@ -187,15 +210,24 @@ function positionTooltip() {
187
210
  padding: var(--sx-space-1-5) var(--sx-space-3);
188
211
  background: var(--sx-color-surface-3);
189
212
  border: 1px solid var(--sx-color-border-strong);
213
+ border-top-color: rgba(255, 255, 255, 0.06);
190
214
  border-radius: var(--sx-radius-sm);
191
215
  font-family: var(--sx-font-body);
192
216
  font-size: var(--sx-text-xs);
193
217
  font-weight: 500;
194
218
  color: var(--sx-color-text);
195
219
  line-height: var(--sx-leading-normal);
196
- box-shadow: var(--sx-shadow-lg);
220
+ box-shadow:
221
+ /* Thin 3D extrusion */
222
+ 0 1px 0 0 rgba(0, 0, 0, 0.2),
223
+ 0 2px 0 0 rgba(0, 0, 0, 0.1),
224
+ /* Ambient shadow */
225
+ 0 4px 12px -2px rgba(0, 0, 0, 0.4),
226
+ /* Subtle warm edge glow */
227
+ 0 0 8px -4px rgba(255, 107, 53, 0.1);
197
228
  pointer-events: none;
198
229
  animation: sx-tooltip-in 150ms var(--sx-ease-out) both;
230
+ white-space: normal;
199
231
  word-wrap: break-word;
200
232
  }
201
233
 
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.svelte.d.ts","sourceRoot":"","sources":["../../../src/primitives/Tooltip/Tooltip.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKtC,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,UAAU,KAAK;IACd,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAyID;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Tooltip.svelte.d.ts","sourceRoot":"","sources":["../../../src/primitives/Tooltip/Tooltip.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMtC,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,UAAU,KAAK;IACd,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAgKD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -294,6 +294,7 @@
294
294
  :focus-visible {
295
295
  outline: 2px solid var(--sx-color-primary);
296
296
  outline-offset: 2px;
297
+ border-radius: inherit;
297
298
  }
298
299
 
299
300
  /* ========================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salmexio/ui",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Salmex I/O Design System — INFRARED component library for Salmex products",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",