@salmexio/ui 1.0.0 → 1.2.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 (64) hide show
  1. package/README.md +1 -1
  2. package/dist/dialogs/ContextMenu/ContextMenu.svelte +17 -7
  3. package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts +1 -1
  4. package/dist/dialogs/Modal/Modal.svelte +37 -4
  5. package/dist/dialogs/Modal/Modal.svelte.d.ts +1 -1
  6. package/dist/feedback/Alert/Alert.svelte +67 -19
  7. package/dist/feedback/Alert/Alert.svelte.d.ts +1 -1
  8. package/dist/feedback/ProgressBar/ProgressBar.svelte +33 -11
  9. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts +3 -3
  10. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts.map +1 -1
  11. package/dist/feedback/Skeleton/Skeleton.svelte +12 -4
  12. package/dist/feedback/Skeleton/Skeleton.svelte.d.ts +1 -1
  13. package/dist/feedback/Spinner/Spinner.svelte +5 -3
  14. package/dist/feedback/Spinner/Spinner.svelte.d.ts +2 -2
  15. package/dist/feedback/Toast/Toaster.svelte +45 -13
  16. package/dist/feedback/Toast/Toaster.svelte.d.ts +1 -1
  17. package/dist/forms/Checkbox/Checkbox.svelte +37 -9
  18. package/dist/forms/Checkbox/Checkbox.svelte.d.ts +1 -1
  19. package/dist/forms/Select/Select.svelte +28 -12
  20. package/dist/forms/Select/Select.svelte.d.ts +1 -1
  21. package/dist/forms/Slider/Slider.svelte +66 -38
  22. package/dist/forms/Slider/Slider.svelte.d.ts +2 -2
  23. package/dist/forms/Slider/Slider.svelte.d.ts.map +1 -1
  24. package/dist/forms/TextInput/TextInput.svelte +35 -7
  25. package/dist/forms/TextInput/TextInput.svelte.d.ts +1 -1
  26. package/dist/forms/Textarea/Textarea.svelte +22 -7
  27. package/dist/forms/Textarea/Textarea.svelte.d.ts +1 -1
  28. package/dist/forms/Toggle/Toggle.svelte +71 -12
  29. package/dist/forms/Toggle/Toggle.svelte.d.ts +1 -1
  30. package/dist/layout/Card/Card.svelte +128 -5
  31. package/dist/layout/Card/Card.svelte.d.ts +4 -1
  32. package/dist/layout/Card/Card.svelte.d.ts.map +1 -1
  33. package/dist/layout/Container/Container.svelte +1 -1
  34. package/dist/layout/Container/Container.svelte.d.ts +1 -1
  35. package/dist/layout/ThermalBackground/ThermalBackground.svelte +275 -0
  36. package/dist/layout/ThermalBackground/ThermalBackground.svelte.d.ts +14 -0
  37. package/dist/layout/ThermalBackground/ThermalBackground.svelte.d.ts.map +1 -0
  38. package/dist/layout/ThermalBackground/index.d.ts +2 -0
  39. package/dist/layout/ThermalBackground/index.d.ts.map +1 -0
  40. package/dist/layout/ThermalBackground/index.js +1 -0
  41. package/dist/layout/index.d.ts +1 -0
  42. package/dist/layout/index.d.ts.map +1 -1
  43. package/dist/layout/index.js +1 -0
  44. package/dist/navigation/CommandPalette/CommandPalette.svelte +45 -11
  45. package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts +1 -1
  46. package/dist/navigation/NavMenu/NavMenu.svelte +800 -0
  47. package/dist/navigation/NavMenu/NavMenu.svelte.d.ts +81 -0
  48. package/dist/navigation/NavMenu/NavMenu.svelte.d.ts.map +1 -0
  49. package/dist/navigation/NavMenu/index.d.ts +3 -0
  50. package/dist/navigation/NavMenu/index.d.ts.map +1 -0
  51. package/dist/navigation/NavMenu/index.js +1 -0
  52. package/dist/navigation/Tabs/Tabs.svelte +73 -11
  53. package/dist/navigation/Tabs/Tabs.svelte.d.ts +1 -1
  54. package/dist/navigation/index.d.ts +2 -0
  55. package/dist/navigation/index.d.ts.map +1 -1
  56. package/dist/navigation/index.js +1 -0
  57. package/dist/primitives/Badge/Badge.svelte +68 -21
  58. package/dist/primitives/Badge/Badge.svelte.d.ts +1 -1
  59. package/dist/primitives/Button/Button.svelte +254 -34
  60. package/dist/primitives/Button/Button.svelte.d.ts +1 -1
  61. package/dist/primitives/Tooltip/Tooltip.svelte +10 -2
  62. package/dist/primitives/Tooltip/Tooltip.svelte.d.ts +1 -1
  63. package/dist/styles/tokens.css +202 -64
  64. package/package.json +3 -3
@@ -0,0 +1,275 @@
1
+ <!--
2
+ ThermalBackground — Dynamic INFRARED background
3
+
4
+ Layered ambient background with thermal blob drift
5
+ and film grain. Pure CSS — zero JS runtime cost.
6
+
7
+ Usage:
8
+ <ThermalBackground /> — default (all layers)
9
+ <ThermalBackground grain={false} /> — no grain overlay
10
+ <ThermalBackground intensity="low" /> — subtler blobs
11
+ -->
12
+
13
+ <script lang="ts">
14
+ interface Props {
15
+ /** Show film grain overlay */
16
+ grain?: boolean;
17
+ /** Blob intensity: low = barely visible, default = subtle, high = pronounced */
18
+ intensity?: 'low' | 'default' | 'high';
19
+ /** Additional CSS class */
20
+ class?: string;
21
+ /** Test ID */
22
+ testId?: string;
23
+ }
24
+
25
+ let {
26
+ grain = true,
27
+ intensity = 'default',
28
+ class: className = '',
29
+ testId = undefined,
30
+ }: Props = $props();
31
+ </script>
32
+
33
+ <div
34
+ class="sx-thermal-bg sx-thermal-{intensity} {className}"
35
+ aria-hidden="true"
36
+ data-testid={testId}
37
+ >
38
+ <!-- Layer 1: Thermal blobs — large diffuse orbs drifting independently -->
39
+ <div class="sx-thermal-blobs">
40
+ <div class="sx-thermal-blob sx-thermal-blob-1"></div>
41
+ <div class="sx-thermal-blob sx-thermal-blob-2"></div>
42
+ <div class="sx-thermal-blob sx-thermal-blob-3"></div>
43
+ <div class="sx-thermal-blob sx-thermal-blob-4"></div>
44
+ </div>
45
+
46
+ <!-- Layer 2: Animated film grain -->
47
+ {#if grain}
48
+ <div class="sx-thermal-grain"></div>
49
+ {/if}
50
+ </div>
51
+
52
+ <style>
53
+ /* ========================================
54
+ ROOT CONTAINER — fixed fullscreen backdrop
55
+ ======================================== */
56
+
57
+ .sx-thermal-bg {
58
+ position: fixed;
59
+ inset: 0;
60
+ z-index: 0;
61
+ overflow: hidden;
62
+ pointer-events: none;
63
+ background: var(--sx-color-base);
64
+ }
65
+
66
+ /* ========================================
67
+ THERMAL BLOBS — Drifting infrared orbs
68
+ Large, soft radial gradients that move on
69
+ independent orbits. Each has a unique size,
70
+ color, speed, and path.
71
+ ======================================== */
72
+
73
+ .sx-thermal-blobs {
74
+ position: absolute;
75
+ inset: -50%;
76
+ width: 200%;
77
+ height: 200%;
78
+ }
79
+
80
+ .sx-thermal-blob {
81
+ position: absolute;
82
+ border-radius: 50%;
83
+ filter: blur(80px);
84
+ will-change: transform;
85
+ }
86
+
87
+ /* Blob 1 — Vermilion/primary — largest, slowest */
88
+ .sx-thermal-blob-1 {
89
+ width: 45vmax;
90
+ height: 45vmax;
91
+ top: 10%;
92
+ left: 15%;
93
+ background: radial-gradient(
94
+ circle,
95
+ rgba(255, 107, 53, 0.08) 0%,
96
+ rgba(255, 107, 53, 0.02) 50%,
97
+ transparent 70%
98
+ );
99
+ animation: sx-thermal-drift-1 35s ease-in-out infinite;
100
+ }
101
+
102
+ /* Blob 2 — Brass/secondary — medium, offset orbit */
103
+ .sx-thermal-blob-2 {
104
+ width: 35vmax;
105
+ height: 35vmax;
106
+ top: 55%;
107
+ right: 10%;
108
+ background: radial-gradient(
109
+ circle,
110
+ rgba(200, 168, 78, 0.06) 0%,
111
+ rgba(200, 168, 78, 0.015) 50%,
112
+ transparent 70%
113
+ );
114
+ animation: sx-thermal-drift-2 42s ease-in-out infinite;
115
+ }
116
+
117
+ /* Blob 3 — Teal — smallest, fastest, cool counterpoint */
118
+ .sx-thermal-blob-3 {
119
+ width: 30vmax;
120
+ height: 30vmax;
121
+ bottom: 15%;
122
+ left: 40%;
123
+ background: radial-gradient(
124
+ circle,
125
+ rgba(61, 139, 139, 0.06) 0%,
126
+ rgba(61, 139, 139, 0.015) 50%,
127
+ transparent 70%
128
+ );
129
+ animation: sx-thermal-drift-3 28s ease-in-out infinite;
130
+ }
131
+
132
+ /* Blob 4 — Deep vermilion — secondary heat signature */
133
+ .sx-thermal-blob-4 {
134
+ width: 38vmax;
135
+ height: 38vmax;
136
+ top: 40%;
137
+ left: 60%;
138
+ background: radial-gradient(
139
+ circle,
140
+ rgba(224, 85, 32, 0.05) 0%,
141
+ rgba(224, 85, 32, 0.01) 50%,
142
+ transparent 70%
143
+ );
144
+ animation: sx-thermal-drift-4 50s ease-in-out infinite;
145
+ }
146
+
147
+ /* ========================================
148
+ BLOB DRIFT ORBITS
149
+ Each blob traces a unique Lissajous-like path
150
+ using translate transforms. Different durations
151
+ ensure they never sync up, creating organic motion.
152
+ ======================================== */
153
+
154
+ @keyframes sx-thermal-drift-1 {
155
+ 0% { transform: translate(0%, 0%) scale(1); }
156
+ 25% { transform: translate(12%, -8%) scale(1.05); }
157
+ 50% { transform: translate(-5%, 15%) scale(0.95); }
158
+ 75% { transform: translate(-15%, -5%) scale(1.08); }
159
+ 100% { transform: translate(0%, 0%) scale(1); }
160
+ }
161
+
162
+ @keyframes sx-thermal-drift-2 {
163
+ 0% { transform: translate(0%, 0%) scale(1); }
164
+ 20% { transform: translate(-18%, 8%) scale(1.1); }
165
+ 40% { transform: translate(8%, -12%) scale(0.9); }
166
+ 60% { transform: translate(-8%, -18%) scale(1.05); }
167
+ 80% { transform: translate(15%, 5%) scale(0.95); }
168
+ 100% { transform: translate(0%, 0%) scale(1); }
169
+ }
170
+
171
+ @keyframes sx-thermal-drift-3 {
172
+ 0% { transform: translate(0%, 0%) rotate(0deg) scale(1); }
173
+ 33% { transform: translate(20%, -15%) rotate(5deg) scale(1.1); }
174
+ 66% { transform: translate(-15%, 10%) rotate(-3deg) scale(0.92); }
175
+ 100% { transform: translate(0%, 0%) rotate(0deg) scale(1); }
176
+ }
177
+
178
+ @keyframes sx-thermal-drift-4 {
179
+ 0% { transform: translate(0%, 0%) scale(1); }
180
+ 30% { transform: translate(-10%, 12%) scale(1.06); }
181
+ 60% { transform: translate(15%, -8%) scale(0.94); }
182
+ 100% { transform: translate(0%, 0%) scale(1); }
183
+ }
184
+
185
+ /* ========================================
186
+ INTENSITY VARIANTS
187
+ Control blob visibility without changing motion
188
+ ======================================== */
189
+
190
+ .sx-thermal-low .sx-thermal-blobs {
191
+ opacity: 0.5;
192
+ }
193
+
194
+ .sx-thermal-default .sx-thermal-blobs {
195
+ opacity: 1;
196
+ }
197
+
198
+ .sx-thermal-high .sx-thermal-blobs {
199
+ opacity: 1.5;
200
+ }
201
+
202
+ .sx-thermal-high .sx-thermal-blob-1 {
203
+ background: radial-gradient(
204
+ circle,
205
+ rgba(255, 107, 53, 0.14) 0%,
206
+ rgba(255, 107, 53, 0.04) 50%,
207
+ transparent 70%
208
+ );
209
+ }
210
+
211
+ .sx-thermal-high .sx-thermal-blob-2 {
212
+ background: radial-gradient(
213
+ circle,
214
+ rgba(200, 168, 78, 0.10) 0%,
215
+ rgba(200, 168, 78, 0.03) 50%,
216
+ transparent 70%
217
+ );
218
+ }
219
+
220
+ .sx-thermal-high .sx-thermal-blob-3 {
221
+ background: radial-gradient(
222
+ circle,
223
+ rgba(61, 139, 139, 0.10) 0%,
224
+ rgba(61, 139, 139, 0.03) 50%,
225
+ transparent 70%
226
+ );
227
+ }
228
+
229
+ .sx-thermal-high .sx-thermal-blob-4 {
230
+ background: radial-gradient(
231
+ circle,
232
+ rgba(224, 85, 32, 0.09) 0%,
233
+ rgba(224, 85, 32, 0.02) 50%,
234
+ transparent 70%
235
+ );
236
+ }
237
+
238
+ /* ========================================
239
+ FILM GRAIN — Animated noise texture
240
+ SVG feTurbulence noise with subtle position
241
+ stepping for a living grain effect.
242
+ ======================================== */
243
+
244
+ .sx-thermal-grain {
245
+ position: absolute;
246
+ inset: -50%;
247
+ width: 300%;
248
+ height: 300%;
249
+ opacity: 0.03;
250
+ mix-blend-mode: overlay;
251
+ pointer-events: none;
252
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
253
+ background-size: 256px 256px;
254
+ animation: sx-thermal-grain-drift 0.4s steps(4) infinite;
255
+ }
256
+
257
+ @keyframes sx-thermal-grain-drift {
258
+ 0% { transform: translate(0, 0); }
259
+ 25% { transform: translate(-5%, -5%); }
260
+ 50% { transform: translate(3%, -8%); }
261
+ 75% { transform: translate(-8%, 2%); }
262
+ 100% { transform: translate(0, 0); }
263
+ }
264
+
265
+ /* ========================================
266
+ REDUCED MOTION — Static fallback
267
+ ======================================== */
268
+
269
+ @media (prefers-reduced-motion: reduce) {
270
+ .sx-thermal-blob,
271
+ .sx-thermal-grain {
272
+ animation: none !important;
273
+ }
274
+ }
275
+ </style>
@@ -0,0 +1,14 @@
1
+ interface Props {
2
+ /** Show film grain overlay */
3
+ grain?: boolean;
4
+ /** Blob intensity: low = barely visible, default = subtle, high = pronounced */
5
+ intensity?: 'low' | 'default' | 'high';
6
+ /** Additional CSS class */
7
+ class?: string;
8
+ /** Test ID */
9
+ testId?: string;
10
+ }
11
+ declare const ThermalBackground: import("svelte").Component<Props, {}, "">;
12
+ type ThermalBackground = ReturnType<typeof ThermalBackground>;
13
+ export default ThermalBackground;
14
+ //# sourceMappingURL=ThermalBackground.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermalBackground.svelte.d.ts","sourceRoot":"","sources":["../../../src/layout/ThermalBackground/ThermalBackground.svelte.ts"],"names":[],"mappings":"AAGC,UAAU,KAAK;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAiCF,QAAA,MAAM,iBAAiB,2CAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default as ThermalBackground } from './ThermalBackground.svelte';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/ThermalBackground/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ export { default as ThermalBackground } from './ThermalBackground.svelte';
@@ -1,3 +1,4 @@
1
1
  export { Card } from './Card/index.js';
2
2
  export { Container } from './Container/index.js';
3
+ export { ThermalBackground } from './ThermalBackground/index.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { Card } from './Card/index.js';
2
2
  export { Container } from './Container/index.js';
3
+ export { ThermalBackground } from './ThermalBackground/index.js';
@@ -1,7 +1,7 @@
1
1
  <!--
2
2
  @component CommandPalette
3
3
 
4
- Neo-Brutalist Dark — Premium keyboard-first command launcher.
4
+ INFRARED — Premium keyboard-first command launcher.
5
5
  Glass backdrop, entrance animations, fuzzy search with match highlighting,
6
6
  categorised results, shortcut display, live result count announcements.
7
7
 
@@ -467,14 +467,37 @@ function getItemId(itemId: string): string {
467
467
  border: 1px solid var(--sx-color-border-strong);
468
468
  border-radius: var(--sx-radius-lg);
469
469
  box-shadow:
470
- var(--sx-shadow-xl),
471
- 0 0 0 1px rgba(255, 255, 255, 0.04),
472
- 0 0 60px rgba(0, 0, 0, 0.5);
470
+ /* 3D extrusion */
471
+ 0 1px 0 0 rgba(0, 0, 0, 0.2),
472
+ 0 2px 0 0 rgba(0, 0, 0, 0.15),
473
+ 0 3px 0 0 rgba(0, 0, 0, 0.1),
474
+ 0 4px 0 0 rgba(0, 0, 0, 0.06),
475
+ /* Deep ambient shadow */
476
+ 0 8px 24px -4px rgba(0, 0, 0, 0.5),
477
+ 0 16px 48px -8px rgba(0, 0, 0, 0.3),
478
+ /* Warm forge glow */
479
+ 0 0 40px -10px rgba(255, 107, 53, 0.1);
473
480
  font-family: var(--sx-font-body);
474
481
  overflow: hidden;
475
482
  animation: sx-cmd-panel-in 200ms var(--sx-ease-out) both;
476
483
  }
477
484
 
485
+ /* Top-lit bevel */
486
+ .sx-command::before {
487
+ content: '';
488
+ position: absolute;
489
+ inset: 0;
490
+ border-radius: inherit;
491
+ background: linear-gradient(
492
+ 180deg,
493
+ rgba(255, 255, 255, 0.04) 0%,
494
+ transparent 25%,
495
+ rgba(0, 0, 0, 0.04) 100%
496
+ );
497
+ pointer-events: none;
498
+ z-index: 10;
499
+ }
500
+
478
501
  .sx-command-exit {
479
502
  animation: sx-cmd-panel-out 120ms ease-in both;
480
503
  }
@@ -505,17 +528,24 @@ function getItemId(itemId: string): string {
505
528
  SEARCH FIELD
506
529
  ======================================== */
507
530
  .sx-command-search {
531
+ position: relative;
532
+ z-index: 1;
508
533
  display: flex;
509
534
  align-items: center;
510
535
  gap: var(--sx-space-3);
511
536
  padding: var(--sx-space-4) var(--sx-space-5);
512
537
  border-bottom: 1px solid var(--sx-color-border);
538
+ /* Recessed search well */
539
+ background: rgba(0, 0, 0, 0.08);
540
+ box-shadow:
541
+ inset 0 1px 3px rgba(0, 0, 0, 0.2),
542
+ inset 0 0 0 1px rgba(0, 0, 0, 0.04);
513
543
  }
514
544
 
515
545
  .sx-command-search-icon {
516
546
  flex-shrink: 0;
517
547
  display: flex;
518
- color: var(--sx-color-cyan);
548
+ color: var(--sx-color-primary);
519
549
  opacity: 0.7;
520
550
  }
521
551
 
@@ -559,6 +589,8 @@ function getItemId(itemId: string): string {
559
589
  RESULTS LIST
560
590
  ======================================== */
561
591
  .sx-command-results {
592
+ position: relative;
593
+ z-index: 1;
562
594
  flex: 1;
563
595
  overflow-y: auto;
564
596
  overscroll-behavior: contain;
@@ -639,13 +671,13 @@ function getItemId(itemId: string): string {
639
671
  }
640
672
 
641
673
  .sx-command-item-active {
642
- background: var(--sx-color-cyan-hover);
674
+ background: var(--sx-color-primary-hover);
643
675
  color: var(--sx-color-text);
644
- border-left-color: var(--sx-color-cyan);
676
+ border-left-color: var(--sx-color-primary);
645
677
  }
646
678
 
647
679
  .sx-command-item:active:not(.sx-command-item-disabled) {
648
- background: var(--sx-color-cyan-active);
680
+ background: var(--sx-color-primary-active);
649
681
  }
650
682
 
651
683
  .sx-command-item-disabled {
@@ -664,7 +696,7 @@ function getItemId(itemId: string): string {
664
696
  }
665
697
 
666
698
  .sx-command-item-active .sx-command-item-icon {
667
- color: var(--sx-color-cyan);
699
+ color: var(--sx-color-primary);
668
700
  }
669
701
 
670
702
  .sx-command-item-content {
@@ -691,12 +723,12 @@ function getItemId(itemId: string): string {
691
723
  /* Match highlighting */
692
724
  .sx-command-match {
693
725
  background: none;
694
- color: var(--sx-color-cyan);
726
+ color: var(--sx-color-primary);
695
727
  font-weight: 700;
696
728
  }
697
729
 
698
730
  .sx-command-item-active .sx-command-match {
699
- color: var(--sx-color-cyan);
731
+ color: var(--sx-color-primary);
700
732
  }
701
733
 
702
734
  .sx-command-item-desc {
@@ -735,6 +767,8 @@ function getItemId(itemId: string): string {
735
767
  FOOTER
736
768
  ======================================== */
737
769
  .sx-command-footer {
770
+ position: relative;
771
+ z-index: 1;
738
772
  display: flex;
739
773
  align-items: center;
740
774
  gap: var(--sx-space-5);
@@ -30,7 +30,7 @@ interface Props {
30
30
  /**
31
31
  * CommandPalette
32
32
  *
33
- * Neo-Brutalist Dark — Premium keyboard-first command launcher.
33
+ * INFRARED — Premium keyboard-first command launcher.
34
34
  * Glass backdrop, entrance animations, fuzzy search with match highlighting,
35
35
  * categorised results, shortcut display, live result count announcements.
36
36
  *