@salmexio/ui 0.3.1 → 1.0.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.
- package/README.md +52 -3
- package/dist/dialogs/ContextMenu/ContextMenu.svelte +96 -93
- package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts +3 -2
- package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts.map +1 -1
- package/dist/dialogs/Modal/Modal.svelte +112 -102
- package/dist/dialogs/Modal/Modal.svelte.d.ts +1 -1
- package/dist/feedback/Alert/Alert.svelte +115 -221
- package/dist/feedback/Alert/Alert.svelte.d.ts +1 -1
- package/dist/feedback/ProgressBar/ProgressBar.svelte +246 -0
- package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts +40 -0
- package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts.map +1 -0
- package/dist/feedback/ProgressBar/index.d.ts +2 -0
- package/dist/feedback/ProgressBar/index.d.ts.map +1 -0
- package/dist/feedback/ProgressBar/index.js +1 -0
- package/dist/feedback/Skeleton/Skeleton.svelte +153 -0
- package/dist/feedback/Skeleton/Skeleton.svelte.d.ts +37 -0
- package/dist/feedback/Skeleton/Skeleton.svelte.d.ts.map +1 -0
- package/dist/feedback/Skeleton/index.d.ts +2 -0
- package/dist/feedback/Skeleton/index.d.ts.map +1 -0
- package/dist/feedback/Skeleton/index.js +1 -0
- package/dist/feedback/Spinner/Spinner.svelte +88 -154
- package/dist/feedback/Spinner/Spinner.svelte.d.ts +5 -3
- package/dist/feedback/Spinner/Spinner.svelte.d.ts.map +1 -1
- package/dist/feedback/Toast/Toaster.svelte +431 -0
- package/dist/feedback/Toast/Toaster.svelte.d.ts +22 -0
- package/dist/feedback/Toast/Toaster.svelte.d.ts.map +1 -0
- package/dist/feedback/Toast/index.d.ts +4 -0
- package/dist/feedback/Toast/index.d.ts.map +1 -0
- package/dist/feedback/Toast/index.js +2 -0
- package/dist/feedback/Toast/toastStore.d.ts +34 -0
- package/dist/feedback/Toast/toastStore.d.ts.map +1 -0
- package/dist/feedback/Toast/toastStore.js +43 -0
- package/dist/feedback/index.d.ts +4 -0
- package/dist/feedback/index.d.ts.map +1 -1
- package/dist/feedback/index.js +3 -0
- package/dist/forms/Checkbox/Checkbox.svelte +82 -103
- package/dist/forms/Checkbox/Checkbox.svelte.d.ts +1 -1
- package/dist/forms/Select/Select.svelte +136 -177
- package/dist/forms/Select/Select.svelte.d.ts +1 -1
- package/dist/forms/Slider/Slider.svelte +356 -0
- package/dist/forms/Slider/Slider.svelte.d.ts +50 -0
- package/dist/forms/Slider/Slider.svelte.d.ts.map +1 -0
- package/dist/forms/Slider/index.d.ts +2 -0
- package/dist/forms/Slider/index.d.ts.map +1 -0
- package/dist/forms/Slider/index.js +1 -0
- package/dist/forms/TextInput/TextInput.svelte +148 -164
- package/dist/forms/TextInput/TextInput.svelte.d.ts +1 -1
- package/dist/forms/Textarea/Textarea.svelte +615 -0
- package/dist/forms/Textarea/Textarea.svelte.d.ts +47 -0
- package/dist/forms/Textarea/Textarea.svelte.d.ts.map +1 -0
- package/dist/forms/Textarea/index.d.ts +2 -0
- package/dist/forms/Textarea/index.d.ts.map +1 -0
- package/dist/forms/Textarea/index.js +1 -0
- package/dist/forms/Toggle/Toggle.svelte +239 -0
- package/dist/forms/Toggle/Toggle.svelte.d.ts +39 -0
- package/dist/forms/Toggle/Toggle.svelte.d.ts.map +1 -0
- package/dist/forms/Toggle/index.d.ts +2 -0
- package/dist/forms/Toggle/index.d.ts.map +1 -0
- package/dist/forms/Toggle/index.js +1 -0
- package/dist/forms/index.d.ts +3 -0
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +3 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/layout/Card/Card.svelte +64 -40
- package/dist/layout/Card/Card.svelte.d.ts +1 -1
- package/dist/layout/Card/Card.svelte.d.ts.map +1 -1
- package/dist/layout/Container/Container.svelte +71 -71
- package/dist/layout/Container/Container.svelte.d.ts +2 -2
- package/dist/navigation/CommandPalette/CommandPalette.svelte +410 -181
- package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts +8 -3
- package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts.map +1 -1
- package/dist/navigation/Tabs/Tabs.svelte +94 -178
- package/dist/navigation/Tabs/Tabs.svelte.d.ts +2 -2
- package/dist/primitives/Badge/Badge.svelte +85 -223
- package/dist/primitives/Badge/Badge.svelte.d.ts +2 -2
- package/dist/primitives/Badge/Badge.svelte.d.ts.map +1 -1
- package/dist/primitives/Button/Button.svelte +138 -208
- package/dist/primitives/Button/Button.svelte.d.ts +3 -3
- package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
- package/dist/primitives/Tooltip/Tooltip.svelte +260 -0
- package/dist/primitives/Tooltip/Tooltip.svelte.d.ts +36 -0
- package/dist/primitives/Tooltip/Tooltip.svelte.d.ts.map +1 -0
- package/dist/primitives/Tooltip/index.d.ts +2 -0
- package/dist/primitives/Tooltip/index.d.ts.map +1 -0
- package/dist/primitives/Tooltip/index.js +1 -0
- package/dist/primitives/index.d.ts +1 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +1 -0
- package/dist/styles/tokens.css +200 -259
- package/package.json +5 -5
- package/dist/windowing/Window/Window.svelte +0 -602
- package/dist/windowing/Window/Window.svelte.d.ts +0 -65
- package/dist/windowing/Window/Window.svelte.d.ts.map +0 -1
- package/dist/windowing/Window/index.d.ts +0 -2
- package/dist/windowing/Window/index.d.ts.map +0 -1
- package/dist/windowing/Window/index.js +0 -1
- package/dist/windowing/WindowManager/WindowManager.svelte +0 -410
- package/dist/windowing/WindowManager/WindowManager.svelte.d.ts +0 -38
- package/dist/windowing/WindowManager/WindowManager.svelte.d.ts.map +0 -1
- package/dist/windowing/WindowManager/index.d.ts +0 -2
- package/dist/windowing/WindowManager/index.d.ts.map +0 -1
- package/dist/windowing/WindowManager/index.js +0 -1
- package/dist/windowing/index.d.ts +0 -5
- package/dist/windowing/index.d.ts.map +0 -1
- package/dist/windowing/index.js +0 -3
- package/dist/windowing/windowStore.svelte.d.ts +0 -49
- package/dist/windowing/windowStore.svelte.d.ts.map +0 -1
- package/dist/windowing/windowStore.svelte.js +0 -170
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
@component Alert
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
Neo-Brutalist Dark — Clean message banner. Left accent border, dark surface.
|
|
5
5
|
Dismissible, expandable, optional title; role="alert" for errors.
|
|
6
6
|
-->
|
|
7
7
|
<script lang="ts">
|
|
@@ -73,11 +73,11 @@ function toggleExpanded() {
|
|
|
73
73
|
<div
|
|
74
74
|
{id}
|
|
75
75
|
class={cn(
|
|
76
|
-
'
|
|
77
|
-
`
|
|
78
|
-
`
|
|
79
|
-
expandable && '
|
|
80
|
-
expandable && isExpanded && '
|
|
76
|
+
'sx-alert',
|
|
77
|
+
`sx-alert-${variant}`,
|
|
78
|
+
`sx-alert-${type}`,
|
|
79
|
+
expandable && 'sx-alert-expandable',
|
|
80
|
+
expandable && isExpanded && 'sx-alert-expanded',
|
|
81
81
|
className
|
|
82
82
|
)}
|
|
83
83
|
role={ariaRole}
|
|
@@ -85,7 +85,7 @@ function toggleExpanded() {
|
|
|
85
85
|
aria-labelledby={title ? titleId : undefined}
|
|
86
86
|
>
|
|
87
87
|
{#if showIcon}
|
|
88
|
-
<span class="
|
|
88
|
+
<span class="sx-alert-icon" aria-hidden="true">
|
|
89
89
|
{#if type === 'success'}
|
|
90
90
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
|
|
91
91
|
{:else if type === 'error'}
|
|
@@ -98,20 +98,20 @@ function toggleExpanded() {
|
|
|
98
98
|
</span>
|
|
99
99
|
{/if}
|
|
100
100
|
|
|
101
|
-
<div class="
|
|
101
|
+
<div class="sx-alert-content">
|
|
102
102
|
{#if title}
|
|
103
103
|
{#if expandable}
|
|
104
104
|
<button
|
|
105
105
|
type="button"
|
|
106
|
-
class="
|
|
106
|
+
class="sx-alert-title-btn"
|
|
107
107
|
onclick={toggleExpanded}
|
|
108
108
|
aria-expanded={isExpanded}
|
|
109
109
|
aria-controls={contentId}
|
|
110
110
|
>
|
|
111
|
-
<svelte:element this={headingLevel} id={titleId} class="
|
|
111
|
+
<svelte:element this={headingLevel} id={titleId} class="sx-alert-title">
|
|
112
112
|
{title}
|
|
113
113
|
</svelte:element>
|
|
114
|
-
<span class="
|
|
114
|
+
<span class="sx-alert-expand-icon" aria-hidden="true">
|
|
115
115
|
{#if isExpanded}
|
|
116
116
|
▼
|
|
117
117
|
{:else}
|
|
@@ -120,7 +120,7 @@ function toggleExpanded() {
|
|
|
120
120
|
</span>
|
|
121
121
|
</button>
|
|
122
122
|
{:else}
|
|
123
|
-
<svelte:element this={headingLevel} id={titleId} class="
|
|
123
|
+
<svelte:element this={headingLevel} id={titleId} class="sx-alert-title">
|
|
124
124
|
{title}
|
|
125
125
|
</svelte:element>
|
|
126
126
|
{/if}
|
|
@@ -129,8 +129,8 @@ function toggleExpanded() {
|
|
|
129
129
|
{#if children}
|
|
130
130
|
<div
|
|
131
131
|
id={contentId}
|
|
132
|
-
class="
|
|
133
|
-
class:
|
|
132
|
+
class="sx-alert-body"
|
|
133
|
+
class:sx-alert-body-hidden={expandable && !isExpanded}
|
|
134
134
|
aria-hidden={expandable && !isExpanded}
|
|
135
135
|
>
|
|
136
136
|
{@render children()}
|
|
@@ -138,7 +138,7 @@ function toggleExpanded() {
|
|
|
138
138
|
{/if}
|
|
139
139
|
|
|
140
140
|
{#if actions && (!expandable || isExpanded)}
|
|
141
|
-
<div class="
|
|
141
|
+
<div class="sx-alert-actions">
|
|
142
142
|
{@render actions()}
|
|
143
143
|
</div>
|
|
144
144
|
{/if}
|
|
@@ -147,7 +147,7 @@ function toggleExpanded() {
|
|
|
147
147
|
{#if dismissible}
|
|
148
148
|
<button
|
|
149
149
|
type="button"
|
|
150
|
-
class="
|
|
150
|
+
class="sx-alert-dismiss"
|
|
151
151
|
onclick={handleDismiss}
|
|
152
152
|
aria-label={closeLabel}
|
|
153
153
|
>
|
|
@@ -157,95 +157,90 @@ function toggleExpanded() {
|
|
|
157
157
|
</div>
|
|
158
158
|
|
|
159
159
|
<style>
|
|
160
|
-
/*
|
|
161
|
-
.
|
|
160
|
+
/* Neo-Brutalist Dark: surface card, left accent border, subtle type tint */
|
|
161
|
+
.sx-alert {
|
|
162
162
|
display: flex;
|
|
163
|
-
gap: var(--
|
|
164
|
-
padding: var(--
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
border-radius: var(--
|
|
169
|
-
|
|
170
|
-
box-shadow
|
|
171
|
-
inset 2px 2px 0 rgb(var(--salmex-button-highlight)),
|
|
172
|
-
inset -2px -2px 0 rgb(var(--salmex-button-shadow)),
|
|
173
|
-
var(--salmex-shadow-md);
|
|
174
|
-
background: rgb(var(--salmex-window-surface));
|
|
163
|
+
gap: var(--sx-space-3);
|
|
164
|
+
padding: var(--sx-space-4);
|
|
165
|
+
background: var(--sx-color-surface);
|
|
166
|
+
border: 1px solid var(--sx-color-border);
|
|
167
|
+
border-left: 2px solid var(--sx-color-border-strong);
|
|
168
|
+
border-radius: var(--sx-radius-md);
|
|
169
|
+
font-family: var(--sx-font-body);
|
|
170
|
+
transition: box-shadow var(--sx-transition-fast);
|
|
175
171
|
}
|
|
176
172
|
|
|
177
|
-
.
|
|
178
|
-
border-radius: var(--
|
|
173
|
+
.sx-alert-standard {
|
|
174
|
+
border-radius: var(--sx-radius-md);
|
|
179
175
|
}
|
|
180
176
|
|
|
181
|
-
.
|
|
182
|
-
padding: var(--
|
|
183
|
-
gap: var(--
|
|
177
|
+
.sx-alert-slim {
|
|
178
|
+
padding: var(--sx-space-2) var(--sx-space-3);
|
|
179
|
+
gap: var(--sx-space-2);
|
|
184
180
|
}
|
|
185
181
|
|
|
186
|
-
.
|
|
187
|
-
font-size: var(--
|
|
182
|
+
.sx-alert-slim .sx-alert-title {
|
|
183
|
+
font-size: var(--sx-text-sm);
|
|
188
184
|
margin-bottom: 0;
|
|
189
185
|
}
|
|
190
186
|
|
|
191
|
-
.
|
|
192
|
-
font-size: var(--
|
|
187
|
+
.sx-alert-slim .sx-alert-body {
|
|
188
|
+
font-size: var(--sx-text-xs);
|
|
193
189
|
}
|
|
194
190
|
|
|
195
|
-
.
|
|
191
|
+
.sx-alert-icon {
|
|
196
192
|
flex-shrink: 0;
|
|
197
193
|
display: flex;
|
|
198
194
|
align-items: flex-start;
|
|
199
195
|
margin-top: 2px;
|
|
200
196
|
}
|
|
201
197
|
|
|
202
|
-
.
|
|
198
|
+
.sx-alert-content {
|
|
203
199
|
flex: 1;
|
|
204
200
|
min-width: 0;
|
|
205
201
|
display: flex;
|
|
206
202
|
flex-direction: column;
|
|
207
203
|
}
|
|
208
204
|
|
|
209
|
-
.
|
|
210
|
-
font-size: var(--
|
|
211
|
-
font-weight:
|
|
205
|
+
.sx-alert-title {
|
|
206
|
+
font-size: var(--sx-text-md);
|
|
207
|
+
font-weight: 600;
|
|
212
208
|
line-height: 1.4;
|
|
213
|
-
margin: 0 0 var(--
|
|
214
|
-
|
|
215
|
-
letter-spacing: 0.5px;
|
|
209
|
+
margin: 0 0 var(--sx-space-1);
|
|
210
|
+
color: var(--sx-color-text);
|
|
216
211
|
}
|
|
217
212
|
|
|
218
|
-
.
|
|
213
|
+
.sx-alert-title:where(h2, h3, h4, h5, h6) {
|
|
219
214
|
font-size: inherit;
|
|
220
215
|
margin: inherit;
|
|
221
216
|
}
|
|
222
217
|
|
|
223
|
-
.
|
|
224
|
-
font-size: var(--
|
|
218
|
+
.sx-alert-body {
|
|
219
|
+
font-size: var(--sx-text-sm);
|
|
225
220
|
line-height: 1.55;
|
|
226
|
-
color:
|
|
221
|
+
color: var(--sx-color-text-secondary);
|
|
227
222
|
}
|
|
228
223
|
|
|
229
|
-
.
|
|
224
|
+
.sx-alert-body-hidden {
|
|
230
225
|
display: none;
|
|
231
226
|
}
|
|
232
227
|
|
|
233
|
-
.
|
|
228
|
+
.sx-alert-actions {
|
|
234
229
|
display: flex;
|
|
235
230
|
flex-wrap: wrap;
|
|
236
231
|
align-items: center;
|
|
237
|
-
gap: var(--
|
|
238
|
-
margin-top: var(--
|
|
232
|
+
gap: var(--sx-space-2);
|
|
233
|
+
margin-top: var(--sx-space-3);
|
|
239
234
|
}
|
|
240
235
|
|
|
241
|
-
.
|
|
236
|
+
.sx-alert-title-btn {
|
|
242
237
|
display: flex;
|
|
243
238
|
align-items: center;
|
|
244
239
|
justify-content: space-between;
|
|
245
240
|
width: 100%;
|
|
246
|
-
gap: var(--
|
|
241
|
+
gap: var(--sx-space-2);
|
|
247
242
|
padding: 0;
|
|
248
|
-
margin: 0 0 var(--
|
|
243
|
+
margin: 0 0 var(--sx-space-1);
|
|
249
244
|
background: none;
|
|
250
245
|
border: none;
|
|
251
246
|
cursor: pointer;
|
|
@@ -254,223 +249,122 @@ function toggleExpanded() {
|
|
|
254
249
|
font: inherit;
|
|
255
250
|
}
|
|
256
251
|
|
|
257
|
-
.
|
|
252
|
+
.sx-alert-title-btn:focus-visible {
|
|
258
253
|
outline: none;
|
|
259
|
-
box-shadow: 0 0 0 2px
|
|
254
|
+
box-shadow: 0 0 0 2px var(--sx-color-cyan);
|
|
260
255
|
}
|
|
261
256
|
|
|
262
|
-
|
|
263
|
-
box-shadow: 0 0 0 3px rgb(var(--salmex-crown-yellow));
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
.salmex-alert-expand-icon {
|
|
257
|
+
.sx-alert-expand-icon {
|
|
267
258
|
flex-shrink: 0;
|
|
268
259
|
font-size: 0.75em;
|
|
269
260
|
opacity: 0.8;
|
|
261
|
+
color: var(--sx-color-text-secondary);
|
|
270
262
|
}
|
|
271
263
|
|
|
272
|
-
/* Dismiss —
|
|
273
|
-
.
|
|
264
|
+
/* Dismiss button — transparent, minimal */
|
|
265
|
+
.sx-alert-dismiss {
|
|
274
266
|
flex-shrink: 0;
|
|
275
267
|
display: flex;
|
|
276
268
|
align-items: center;
|
|
277
269
|
justify-content: center;
|
|
278
|
-
padding: var(--
|
|
270
|
+
padding: var(--sx-space-1);
|
|
279
271
|
margin: -2px -2px -2px 0;
|
|
280
|
-
border:
|
|
281
|
-
|
|
282
|
-
|
|
272
|
+
border: none;
|
|
273
|
+
border-radius: var(--sx-radius-sm);
|
|
274
|
+
background: transparent;
|
|
275
|
+
color: var(--sx-color-text-secondary);
|
|
283
276
|
cursor: pointer;
|
|
284
|
-
transition:
|
|
285
|
-
box-shadow:
|
|
286
|
-
inset 2px 2px 0 rgb(var(--salmex-button-highlight)),
|
|
287
|
-
inset -2px -2px 0 rgb(var(--salmex-button-shadow)),
|
|
288
|
-
1px 1px 0 rgb(0 0 0 / 0.2);
|
|
277
|
+
transition: color var(--sx-transition-fast), background var(--sx-transition-fast);
|
|
289
278
|
}
|
|
290
279
|
|
|
291
|
-
.
|
|
292
|
-
|
|
293
|
-
|
|
280
|
+
.sx-alert-dismiss:hover {
|
|
281
|
+
color: var(--sx-color-text);
|
|
282
|
+
background: var(--sx-color-surface-2);
|
|
294
283
|
}
|
|
295
284
|
|
|
296
|
-
.
|
|
297
|
-
|
|
298
|
-
inset -2px -2px 0 rgb(var(--salmex-button-highlight)),
|
|
299
|
-
inset 2px 2px 0 rgb(var(--salmex-button-shadow)),
|
|
300
|
-
1px 1px 0 rgb(0 0 0 / 0.2);
|
|
301
|
-
transform: translate(1px, 1px);
|
|
285
|
+
.sx-alert-dismiss:active {
|
|
286
|
+
background: var(--sx-color-surface-3);
|
|
302
287
|
}
|
|
303
288
|
|
|
304
|
-
.
|
|
289
|
+
.sx-alert-dismiss:focus-visible {
|
|
305
290
|
outline: none;
|
|
306
|
-
box-shadow:
|
|
307
|
-
inset 2px 2px 0 rgb(var(--salmex-button-highlight)),
|
|
308
|
-
inset -2px -2px 0 rgb(var(--salmex-button-shadow)),
|
|
309
|
-
0 0 0 2px rgb(var(--salmex-midnight-black)),
|
|
310
|
-
0 0 0 5px rgb(var(--salmex-crown-yellow));
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
:global([data-theme='dark']) .salmex-alert-dismiss:focus-visible {
|
|
314
|
-
box-shadow:
|
|
315
|
-
inset 2px 2px 0 rgb(var(--salmex-button-highlight)),
|
|
316
|
-
inset -2px -2px 0 rgb(var(--salmex-button-shadow)),
|
|
317
|
-
0 0 0 3px rgb(var(--salmex-crown-yellow));
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/* Type colors — panel + left accent; canvas base, bold borders */
|
|
321
|
-
.salmex-alert-success {
|
|
322
|
-
background: rgb(var(--salmex-window-surface));
|
|
323
|
-
border-color: rgb(25 95 55);
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
.salmex-alert-success .salmex-alert-icon {
|
|
327
|
-
color: rgb(25 95 55);
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
.salmex-alert-success .salmex-alert-title {
|
|
331
|
-
color: rgb(25 95 55);
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
.salmex-alert-error {
|
|
335
|
-
background: rgb(var(--salmex-window-surface));
|
|
336
|
-
border-color: rgb(var(--salmex-street-red));
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
.salmex-alert-error .salmex-alert-icon {
|
|
340
|
-
color: rgb(var(--salmex-street-red));
|
|
291
|
+
box-shadow: 0 0 0 2px var(--sx-color-cyan);
|
|
341
292
|
}
|
|
342
293
|
|
|
343
|
-
|
|
344
|
-
|
|
294
|
+
/* Type: success */
|
|
295
|
+
.sx-alert-success {
|
|
296
|
+
background: var(--sx-color-green-subtle);
|
|
297
|
+
border-left-color: var(--sx-color-green);
|
|
345
298
|
}
|
|
346
299
|
|
|
347
|
-
.
|
|
348
|
-
|
|
349
|
-
border-color: rgb(145 75 10);
|
|
300
|
+
.sx-alert-success .sx-alert-icon {
|
|
301
|
+
color: var(--sx-color-green);
|
|
350
302
|
}
|
|
351
303
|
|
|
352
|
-
.
|
|
353
|
-
color:
|
|
304
|
+
.sx-alert-success .sx-alert-title {
|
|
305
|
+
color: var(--sx-color-text);
|
|
354
306
|
}
|
|
355
307
|
|
|
356
|
-
|
|
357
|
-
|
|
308
|
+
/* Type: error */
|
|
309
|
+
.sx-alert-error {
|
|
310
|
+
background: var(--sx-color-red-subtle);
|
|
311
|
+
border-left-color: var(--sx-color-red);
|
|
358
312
|
}
|
|
359
313
|
|
|
360
|
-
.
|
|
361
|
-
|
|
362
|
-
border-color: rgb(0 95 220);
|
|
314
|
+
.sx-alert-error .sx-alert-icon {
|
|
315
|
+
color: var(--sx-color-red);
|
|
363
316
|
}
|
|
364
317
|
|
|
365
|
-
.
|
|
366
|
-
color:
|
|
318
|
+
.sx-alert-error .sx-alert-title {
|
|
319
|
+
color: var(--sx-color-text);
|
|
367
320
|
}
|
|
368
321
|
|
|
369
|
-
|
|
370
|
-
|
|
322
|
+
/* Type: warning */
|
|
323
|
+
.sx-alert-warning {
|
|
324
|
+
background: var(--sx-color-gold-subtle);
|
|
325
|
+
border-left-color: var(--sx-color-gold);
|
|
371
326
|
}
|
|
372
327
|
|
|
373
|
-
.
|
|
374
|
-
|
|
375
|
-
border-color: rgb(var(--salmex-border-dark));
|
|
328
|
+
.sx-alert-warning .sx-alert-icon {
|
|
329
|
+
color: var(--sx-color-gold);
|
|
376
330
|
}
|
|
377
331
|
|
|
378
|
-
.
|
|
379
|
-
color:
|
|
332
|
+
.sx-alert-warning .sx-alert-title {
|
|
333
|
+
color: var(--sx-color-text);
|
|
380
334
|
}
|
|
381
335
|
|
|
382
|
-
|
|
383
|
-
|
|
336
|
+
/* Type: info */
|
|
337
|
+
.sx-alert-info {
|
|
338
|
+
background: var(--sx-color-cyan-subtle);
|
|
339
|
+
border-left-color: var(--sx-color-cyan);
|
|
384
340
|
}
|
|
385
341
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
background: rgb(var(--salmex-street-red) / 0.12);
|
|
389
|
-
border-color: rgb(255 90 95);
|
|
342
|
+
.sx-alert-info .sx-alert-icon {
|
|
343
|
+
color: var(--sx-color-cyan);
|
|
390
344
|
}
|
|
391
345
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
color: rgb(255 100 105);
|
|
346
|
+
.sx-alert-info .sx-alert-title {
|
|
347
|
+
color: var(--sx-color-text);
|
|
395
348
|
}
|
|
396
349
|
|
|
397
|
-
:
|
|
398
|
-
|
|
399
|
-
|
|
350
|
+
/* Type: neutral */
|
|
351
|
+
.sx-alert-neutral {
|
|
352
|
+
background: var(--sx-color-surface);
|
|
353
|
+
border-left-color: var(--sx-color-border-strong);
|
|
400
354
|
}
|
|
401
355
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
color: rgb(var(--salmex-urban-green));
|
|
356
|
+
.sx-alert-neutral .sx-alert-icon {
|
|
357
|
+
color: var(--sx-color-text-secondary);
|
|
405
358
|
}
|
|
406
359
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
border-color: rgb(var(--salmex-spray-orange));
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
:global([data-theme='dark']) .salmex-alert-warning .salmex-alert-icon,
|
|
413
|
-
:global([data-theme='dark']) .salmex-alert-warning .salmex-alert-title {
|
|
414
|
-
color: rgb(var(--salmex-spray-orange));
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
:global([data-theme='dark']) .salmex-alert-info {
|
|
418
|
-
background: rgb(var(--salmex-electric-blue) / 0.12);
|
|
419
|
-
border-color: rgb(var(--salmex-primary-light));
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
:global([data-theme='dark']) .salmex-alert-info .salmex-alert-icon,
|
|
423
|
-
:global([data-theme='dark']) .salmex-alert-info .salmex-alert-title {
|
|
424
|
-
color: rgb(var(--salmex-primary-light));
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
@media (prefers-color-scheme: dark) {
|
|
428
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-error {
|
|
429
|
-
background: rgb(var(--salmex-street-red) / 0.12);
|
|
430
|
-
border-color: rgb(255 90 95);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-error .salmex-alert-icon,
|
|
434
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-error .salmex-alert-title {
|
|
435
|
-
color: rgb(255 100 105);
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-success {
|
|
439
|
-
background: rgb(var(--salmex-urban-green) / 0.15);
|
|
440
|
-
border-color: rgb(var(--salmex-urban-green));
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-success .salmex-alert-icon,
|
|
444
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-success .salmex-alert-title {
|
|
445
|
-
color: rgb(var(--salmex-urban-green));
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-warning {
|
|
449
|
-
background: rgb(var(--salmex-spray-orange) / 0.15);
|
|
450
|
-
border-color: rgb(var(--salmex-spray-orange));
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-warning .salmex-alert-icon,
|
|
454
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-warning .salmex-alert-title {
|
|
455
|
-
color: rgb(var(--salmex-spray-orange));
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-info {
|
|
459
|
-
background: rgb(var(--salmex-electric-blue) / 0.12);
|
|
460
|
-
border-color: rgb(var(--salmex-primary-light));
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-info .salmex-alert-icon,
|
|
464
|
-
:global(:root:not([data-theme='light'])) .salmex-alert-info .salmex-alert-title {
|
|
465
|
-
color: rgb(var(--salmex-primary-light));
|
|
466
|
-
}
|
|
467
|
-
|
|
360
|
+
.sx-alert-neutral .sx-alert-title {
|
|
361
|
+
color: var(--sx-color-text);
|
|
468
362
|
}
|
|
469
363
|
|
|
470
364
|
@media (prefers-reduced-motion: reduce) {
|
|
471
|
-
.
|
|
472
|
-
.
|
|
473
|
-
.
|
|
365
|
+
.sx-alert,
|
|
366
|
+
.sx-alert-dismiss,
|
|
367
|
+
.sx-alert-title-btn {
|
|
474
368
|
transition: none;
|
|
475
369
|
}
|
|
476
370
|
}
|
|
@@ -21,7 +21,7 @@ interface Props {
|
|
|
21
21
|
/**
|
|
22
22
|
* Alert
|
|
23
23
|
*
|
|
24
|
-
*
|
|
24
|
+
* Neo-Brutalist Dark — Clean message banner. Left accent border, dark surface.
|
|
25
25
|
* Dismissible, expandable, optional title; role="alert" for errors.
|
|
26
26
|
*/
|
|
27
27
|
declare const Alert: import("svelte").Component<Props, {}, "">;
|