@happyvertical/smrt-messages 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.
- package/dist/chunks/{AccountCollection-Ddu9V850.js → AccountCollection-BM28F2y8.js} +2 -2
- package/dist/chunks/{AccountCollection-Ddu9V850.js.map → AccountCollection-BM28F2y8.js.map} +1 -1
- package/dist/chunks/{Email-BsLkVCcU.js → Email-CclqFojc.js} +3 -3
- package/dist/chunks/{Email-BsLkVCcU.js.map → Email-CclqFojc.js.map} +1 -1
- package/dist/chunks/{EmailFolder-DgP2t7vD.js → EmailFolder-DtvYtwiz.js} +2 -2
- package/dist/chunks/{EmailFolder-DgP2t7vD.js.map → EmailFolder-DtvYtwiz.js.map} +1 -1
- package/dist/chunks/{Message-Sc8bIQ7X.js → Message-CwqRAiRu.js} +4 -4
- package/dist/chunks/{Message-Sc8bIQ7X.js.map → Message-CwqRAiRu.js.map} +1 -1
- package/dist/chunks/{MessageCollection-Cv1vwpZt.js → MessageCollection-DTmvgr8c.js} +2 -2
- package/dist/chunks/{MessageCollection-Cv1vwpZt.js.map → MessageCollection-DTmvgr8c.js.map} +1 -1
- package/dist/chunks/{__smrt-register__-BFJ53fMS.js → __smrt-register__-C6vkgxXs.js} +2 -2
- package/dist/chunks/{__smrt-register__-BFJ53fMS.js.map → __smrt-register__-C6vkgxXs.js.map} +1 -1
- package/dist/index.js +9 -9
- package/dist/manifest.json +1 -1
- package/dist/smrt-knowledge.json +3 -3
- package/dist/svelte/components/AccountAvatar.svelte +13 -10
- package/dist/svelte/components/AccountCard.svelte +18 -15
- package/dist/svelte/components/AccountList.svelte +5 -2
- package/dist/svelte/components/AttachmentChip.svelte +10 -7
- package/dist/svelte/components/AttachmentUpload.svelte +24 -21
- package/dist/svelte/components/ComposeForm.svelte +29 -26
- package/dist/svelte/components/EmailAccountManager.svelte +54 -51
- package/dist/svelte/components/EmailFilterManager.svelte +48 -45
- package/dist/svelte/components/FolderNav.svelte +12 -9
- package/dist/svelte/components/ForwardForm.svelte +23 -20
- package/dist/svelte/components/MailboxDemo.svelte +2 -2
- package/dist/svelte/components/MessageCard.svelte +17 -14
- package/dist/svelte/components/MessageDetail.svelte +20 -17
- package/dist/svelte/components/MessageFilters.svelte +8 -5
- package/dist/svelte/components/MessageList.svelte +7 -4
- package/dist/svelte/components/MessageStatusIndicator.svelte +10 -7
- package/dist/svelte/components/MessageToolbar.svelte +13 -10
- package/dist/svelte/components/MessageTypeBadge.svelte +3 -0
- package/dist/svelte/components/MessagingSettingsPanel.svelte +9 -6
- package/dist/svelte/components/RecipientInput.svelte +24 -21
- package/dist/svelte/components/ReplyForm.svelte +24 -21
- package/dist/svelte/components/SendStatusBadge.svelte +19 -16
- package/dist/svelte/components/ThreadView.svelte +13 -10
- package/package.json +9 -9
|
@@ -52,9 +52,9 @@ function open(message: MessageData) {
|
|
|
52
52
|
wasRead = true;
|
|
53
53
|
}
|
|
54
54
|
</script>
|
|
55
|
-
<p>{t(M['messages.mailbox_demo.disclaimer'])}</p>
|
|
55
|
+
<p data-smrt-component="MailboxDemo">{t(M['messages.mailbox_demo.disclaimer'])}</p>
|
|
56
56
|
<Button onclick={() => { composing = true; sentSubject = null; }}>{t(M['messages.mailbox_demo.compose'])}</Button>
|
|
57
|
-
{#if sentSubject !== null}<p role="status">{t(M['messages.mailbox_demo.sent'], { subject: sentSubject })}</p>{/if}
|
|
57
|
+
{#if sentSubject !== null}<p role="status" data-smrt-component="MailboxDemo">{t(M['messages.mailbox_demo.sent'], { subject: sentSubject })}</p>{/if}
|
|
58
58
|
{#if composing}
|
|
59
59
|
<ComposeForm {accounts} onsend={send} ondiscard={() => (composing = false)} />
|
|
60
60
|
{:else if selected}
|
|
@@ -104,7 +104,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
104
104
|
class:message-card--unread={!message.isRead}
|
|
105
105
|
class:message-card--compact={compact}
|
|
106
106
|
role="row"
|
|
107
|
-
aria-selected={selected}
|
|
107
|
+
aria-selected={selected} data-smrt-component="MessageCard"
|
|
108
108
|
>
|
|
109
109
|
{#if onselect}
|
|
110
110
|
<div class="select-col">
|
|
@@ -188,23 +188,25 @@ const _slackMeta = $derived.by(() => {
|
|
|
188
188
|
</div>
|
|
189
189
|
|
|
190
190
|
<style>
|
|
191
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
192
|
+
@layer smrt.theme {
|
|
191
193
|
.message-card {
|
|
192
194
|
display: flex;
|
|
193
195
|
align-items: stretch;
|
|
194
|
-
border-bottom: 1px solid var(--smrt-color-outline-variant
|
|
196
|
+
border-bottom: 1px solid var(--smrt-color-outline-variant);
|
|
195
197
|
transition: background var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
196
198
|
}
|
|
197
199
|
|
|
198
200
|
.message-card:hover {
|
|
199
|
-
background: var(--smrt-color-surface-variant
|
|
201
|
+
background: var(--smrt-color-surface-variant);
|
|
200
202
|
}
|
|
201
203
|
|
|
202
204
|
.message-card--selected {
|
|
203
|
-
background: var(--smrt-color-secondary-container
|
|
205
|
+
background: var(--smrt-color-secondary-container);
|
|
204
206
|
}
|
|
205
207
|
|
|
206
208
|
.message-card--unread {
|
|
207
|
-
background: var(--smrt-color-surface
|
|
209
|
+
background: var(--smrt-color-surface);
|
|
208
210
|
}
|
|
209
211
|
|
|
210
212
|
.select-col {
|
|
@@ -229,7 +231,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
229
231
|
}
|
|
230
232
|
|
|
231
233
|
.message-content:focus-visible {
|
|
232
|
-
outline: 2px solid var(--smrt-color-primary
|
|
234
|
+
outline: 2px solid var(--smrt-color-primary);
|
|
233
235
|
outline-offset: -2px;
|
|
234
236
|
}
|
|
235
237
|
|
|
@@ -249,7 +251,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
249
251
|
|
|
250
252
|
.sender-name {
|
|
251
253
|
font: var(--smrt-typography-body-medium-font, 0.875rem / 1.25 sans-serif);
|
|
252
|
-
color: var(--smrt-color-on-surface
|
|
254
|
+
color: var(--smrt-color-on-surface);
|
|
253
255
|
overflow: hidden;
|
|
254
256
|
text-overflow: ellipsis;
|
|
255
257
|
white-space: nowrap;
|
|
@@ -261,8 +263,8 @@ const _slackMeta = $derived.by(() => {
|
|
|
261
263
|
|
|
262
264
|
.account-label {
|
|
263
265
|
font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
|
|
264
|
-
color: var(--smrt-color-on-surface-variant
|
|
265
|
-
background: var(--smrt-color-surface-variant
|
|
266
|
+
color: var(--smrt-color-on-surface-variant);
|
|
267
|
+
background: var(--smrt-color-surface-variant);
|
|
266
268
|
padding: 0.125rem 0.375rem;
|
|
267
269
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
268
270
|
white-space: nowrap;
|
|
@@ -277,7 +279,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
277
279
|
|
|
278
280
|
.date {
|
|
279
281
|
font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
|
|
280
|
-
color: var(--smrt-color-on-surface-variant
|
|
282
|
+
color: var(--smrt-color-on-surface-variant);
|
|
281
283
|
white-space: nowrap;
|
|
282
284
|
}
|
|
283
285
|
|
|
@@ -290,7 +292,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
290
292
|
|
|
291
293
|
.subject {
|
|
292
294
|
font: var(--smrt-typography-body-medium-font, 0.875rem / 1.25 sans-serif);
|
|
293
|
-
color: var(--smrt-color-on-surface
|
|
295
|
+
color: var(--smrt-color-on-surface);
|
|
294
296
|
overflow: hidden;
|
|
295
297
|
text-overflow: ellipsis;
|
|
296
298
|
white-space: nowrap;
|
|
@@ -309,7 +311,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
309
311
|
|
|
310
312
|
.preview {
|
|
311
313
|
font: var(--smrt-typography-body-small-font, 0.75rem / 1.33 sans-serif);
|
|
312
|
-
color: var(--smrt-color-on-surface-variant
|
|
314
|
+
color: var(--smrt-color-on-surface-variant);
|
|
313
315
|
overflow: hidden;
|
|
314
316
|
text-overflow: ellipsis;
|
|
315
317
|
white-space: nowrap;
|
|
@@ -318,7 +320,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
318
320
|
.meta-inline {
|
|
319
321
|
flex-shrink: 0;
|
|
320
322
|
font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
|
|
321
|
-
color: var(--smrt-color-on-surface-variant
|
|
323
|
+
color: var(--smrt-color-on-surface-variant);
|
|
322
324
|
}
|
|
323
325
|
|
|
324
326
|
/*
|
|
@@ -335,7 +337,7 @@ const _slackMeta = $derived.by(() => {
|
|
|
335
337
|
border: none;
|
|
336
338
|
background: none;
|
|
337
339
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
338
|
-
color: var(--smrt-color-on-surface-variant
|
|
340
|
+
color: var(--smrt-color-on-surface-variant);
|
|
339
341
|
opacity: 0.5;
|
|
340
342
|
transition: opacity var(--smrt-duration-short2, 150ms);
|
|
341
343
|
}
|
|
@@ -351,4 +353,5 @@ const _slackMeta = $derived.by(() => {
|
|
|
351
353
|
.message-card--compact .preview-row {
|
|
352
354
|
display: none;
|
|
353
355
|
}
|
|
356
|
+
}
|
|
354
357
|
</style>
|
|
@@ -90,7 +90,7 @@ const _displayBody = $derived.by(() => {
|
|
|
90
90
|
});
|
|
91
91
|
</script>
|
|
92
92
|
|
|
93
|
-
<article class="message-detail">
|
|
93
|
+
<article class="message-detail" data-smrt-component="MessageDetail">
|
|
94
94
|
<Card padding="lg">
|
|
95
95
|
<header class="detail-header">
|
|
96
96
|
<div class="header-top">
|
|
@@ -190,6 +190,8 @@ const _displayBody = $derived.by(() => {
|
|
|
190
190
|
</article>
|
|
191
191
|
|
|
192
192
|
<style>
|
|
193
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
194
|
+
@layer smrt.theme {
|
|
193
195
|
.message-detail {
|
|
194
196
|
max-width: 100%;
|
|
195
197
|
}
|
|
@@ -199,7 +201,7 @@ const _displayBody = $derived.by(() => {
|
|
|
199
201
|
flex-direction: column;
|
|
200
202
|
gap: 0.75rem;
|
|
201
203
|
padding-bottom: 1rem;
|
|
202
|
-
border-bottom: 1px solid var(--smrt-color-outline-variant
|
|
204
|
+
border-bottom: 1px solid var(--smrt-color-outline-variant);
|
|
203
205
|
}
|
|
204
206
|
|
|
205
207
|
.header-top {
|
|
@@ -211,7 +213,7 @@ const _displayBody = $derived.by(() => {
|
|
|
211
213
|
.subject {
|
|
212
214
|
margin: 0;
|
|
213
215
|
font: var(--smrt-typography-title-large-font, 600 1.375rem / 1.25 sans-serif);
|
|
214
|
-
color: var(--smrt-color-on-surface
|
|
216
|
+
color: var(--smrt-color-on-surface);
|
|
215
217
|
}
|
|
216
218
|
|
|
217
219
|
.meta-grid {
|
|
@@ -229,12 +231,12 @@ const _displayBody = $derived.by(() => {
|
|
|
229
231
|
.meta-label {
|
|
230
232
|
flex-shrink: 0;
|
|
231
233
|
width: 4rem;
|
|
232
|
-
color: var(--smrt-color-on-surface-variant
|
|
234
|
+
color: var(--smrt-color-on-surface-variant);
|
|
233
235
|
font-weight: var(--smrt-typography-weight-medium, 500);
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
.meta-value {
|
|
237
|
-
color: var(--smrt-color-on-surface
|
|
239
|
+
color: var(--smrt-color-on-surface);
|
|
238
240
|
overflow: hidden;
|
|
239
241
|
text-overflow: ellipsis;
|
|
240
242
|
}
|
|
@@ -244,7 +246,7 @@ const _displayBody = $derived.by(() => {
|
|
|
244
246
|
gap: 1rem;
|
|
245
247
|
padding: 0.75rem 0;
|
|
246
248
|
font: var(--smrt-typography-body-medium-font, 0.875rem / 1.25 sans-serif);
|
|
247
|
-
color: var(--smrt-color-on-surface-variant
|
|
249
|
+
color: var(--smrt-color-on-surface-variant);
|
|
248
250
|
}
|
|
249
251
|
|
|
250
252
|
.type-detail {
|
|
@@ -257,7 +259,7 @@ const _displayBody = $derived.by(() => {
|
|
|
257
259
|
|
|
258
260
|
.body-text {
|
|
259
261
|
font: var(--smrt-typography-body-large-font, 1rem / 1.5 sans-serif);
|
|
260
|
-
color: var(--smrt-color-on-surface
|
|
262
|
+
color: var(--smrt-color-on-surface);
|
|
261
263
|
white-space: pre-wrap;
|
|
262
264
|
word-break: break-word;
|
|
263
265
|
margin: 0;
|
|
@@ -266,13 +268,13 @@ const _displayBody = $derived.by(() => {
|
|
|
266
268
|
|
|
267
269
|
.attachments {
|
|
268
270
|
padding-top: 0.75rem;
|
|
269
|
-
border-top: 1px solid var(--smrt-color-outline-variant
|
|
271
|
+
border-top: 1px solid var(--smrt-color-outline-variant);
|
|
270
272
|
}
|
|
271
273
|
|
|
272
274
|
.attachments-label {
|
|
273
275
|
margin: 0 0 0.5rem;
|
|
274
276
|
font: var(--smrt-typography-label-large-font, 500 0.875rem / 1.25 sans-serif);
|
|
275
|
-
color: var(--smrt-color-on-surface-variant
|
|
277
|
+
color: var(--smrt-color-on-surface-variant);
|
|
276
278
|
}
|
|
277
279
|
|
|
278
280
|
.attachments-list {
|
|
@@ -285,7 +287,7 @@ const _displayBody = $derived.by(() => {
|
|
|
285
287
|
display: flex;
|
|
286
288
|
gap: 0.5rem;
|
|
287
289
|
padding-top: 1rem;
|
|
288
|
-
border-top: 1px solid var(--smrt-color-outline-variant
|
|
290
|
+
border-top: 1px solid var(--smrt-color-outline-variant);
|
|
289
291
|
}
|
|
290
292
|
|
|
291
293
|
/*
|
|
@@ -298,24 +300,25 @@ const _displayBody = $derived.by(() => {
|
|
|
298
300
|
*/
|
|
299
301
|
.actions :global(.action-btn) {
|
|
300
302
|
padding: 0.5rem 1rem;
|
|
301
|
-
border: 1px solid var(--smrt-color-outline
|
|
303
|
+
border: 1px solid var(--smrt-color-outline);
|
|
302
304
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
303
|
-
background: var(--smrt-color-surface
|
|
304
|
-
color: var(--smrt-color-on-surface
|
|
305
|
+
background: var(--smrt-color-surface);
|
|
306
|
+
color: var(--smrt-color-on-surface);
|
|
305
307
|
font: var(--smrt-typography-label-large-font, 500 0.875rem / 1.25 sans-serif);
|
|
306
308
|
transition: background var(--smrt-duration-short2, 150ms);
|
|
307
309
|
}
|
|
308
310
|
|
|
309
311
|
.actions :global(.action-btn):hover {
|
|
310
|
-
background: var(--smrt-color-surface-variant
|
|
312
|
+
background: var(--smrt-color-surface-variant);
|
|
311
313
|
}
|
|
312
314
|
|
|
313
315
|
.actions :global(.action-btn--danger) {
|
|
314
|
-
color: var(--smrt-color-error
|
|
315
|
-
border-color: var(--smrt-color-error
|
|
316
|
+
color: var(--smrt-color-error);
|
|
317
|
+
border-color: var(--smrt-color-error);
|
|
316
318
|
}
|
|
317
319
|
|
|
318
320
|
.actions :global(.action-btn--danger):hover {
|
|
319
|
-
background: var(--smrt-color-error-container
|
|
321
|
+
background: var(--smrt-color-error-container);
|
|
320
322
|
}
|
|
323
|
+
}
|
|
321
324
|
</style>
|
|
@@ -89,7 +89,7 @@ const _hasActiveFilters = $derived(
|
|
|
89
89
|
);
|
|
90
90
|
</script>
|
|
91
91
|
|
|
92
|
-
<div class="message-filters" role="search" aria-label={t(M['messages.message_filters.filters_label'])}>
|
|
92
|
+
<div class="message-filters" role="search" aria-label={t(M['messages.message_filters.filters_label'])} data-smrt-component="MessageFilters">
|
|
93
93
|
<div class="search-row">
|
|
94
94
|
<Input
|
|
95
95
|
type="search"
|
|
@@ -162,13 +162,15 @@ const _hasActiveFilters = $derived(
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<style>
|
|
165
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
166
|
+
@layer smrt.theme {
|
|
165
167
|
.message-filters {
|
|
166
168
|
display: flex;
|
|
167
169
|
flex-direction: column;
|
|
168
170
|
gap: 0.5rem;
|
|
169
171
|
padding: 0.75rem;
|
|
170
|
-
background: var(--smrt-color-surface
|
|
171
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
172
|
+
background: var(--smrt-color-surface);
|
|
173
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
172
174
|
border-radius: var(--smrt-radius-medium, 0.5rem);
|
|
173
175
|
}
|
|
174
176
|
|
|
@@ -223,7 +225,7 @@ const _hasActiveFilters = $derived(
|
|
|
223
225
|
align-items: center;
|
|
224
226
|
gap: 0.25rem;
|
|
225
227
|
font: var(--smrt-typography-body-small-font, 0.75rem / 1.33 sans-serif);
|
|
226
|
-
color: var(--smrt-color-on-surface
|
|
228
|
+
color: var(--smrt-color-on-surface);
|
|
227
229
|
cursor: pointer;
|
|
228
230
|
}
|
|
229
231
|
|
|
@@ -238,7 +240,8 @@ const _hasActiveFilters = $derived(
|
|
|
238
240
|
border: none;
|
|
239
241
|
background: none;
|
|
240
242
|
font: var(--smrt-typography-label-medium-font, 500 0.75rem / 1.33 sans-serif);
|
|
241
|
-
color: var(--smrt-color-primary
|
|
243
|
+
color: var(--smrt-color-primary);
|
|
242
244
|
text-decoration: underline;
|
|
243
245
|
}
|
|
246
|
+
}
|
|
244
247
|
</style>
|
|
@@ -60,7 +60,7 @@ function getAccount(accountId: string): AccountData | undefined {
|
|
|
60
60
|
}
|
|
61
61
|
</script>
|
|
62
62
|
|
|
63
|
-
<div class="message-list" role="grid" aria-label={t(M['messages.message_list.messages_label'])}>
|
|
63
|
+
<div class="message-list" role="grid" aria-label={t(M['messages.message_list.messages_label'])} data-smrt-component="MessageList">
|
|
64
64
|
{#if loading}
|
|
65
65
|
<div class="loading" role="status" aria-live="polite">
|
|
66
66
|
<p>{t(M['messages.message_list.loading'])}</p>
|
|
@@ -91,24 +91,27 @@ function getAccount(accountId: string): AccountData | undefined {
|
|
|
91
91
|
</div>
|
|
92
92
|
|
|
93
93
|
<style>
|
|
94
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
95
|
+
@layer smrt.theme {
|
|
94
96
|
.message-list {
|
|
95
97
|
display: flex;
|
|
96
98
|
flex-direction: column;
|
|
97
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
99
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
98
100
|
border-radius: var(--smrt-radius-medium, 0.5rem);
|
|
99
101
|
overflow: hidden;
|
|
100
|
-
background: var(--smrt-color-surface
|
|
102
|
+
background: var(--smrt-color-surface);
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
.loading,
|
|
104
106
|
.empty {
|
|
105
107
|
text-align: center;
|
|
106
108
|
padding: var(--smrt-spacing-3xl, 3rem);
|
|
107
|
-
color: var(--smrt-color-on-surface-variant
|
|
109
|
+
color: var(--smrt-color-on-surface-variant);
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
.loading p,
|
|
111
113
|
.empty p {
|
|
112
114
|
font: var(--smrt-typography-body-large-font, 1.125rem / 1.5 sans-serif);
|
|
113
115
|
}
|
|
116
|
+
}
|
|
114
117
|
</style>
|
|
@@ -29,7 +29,7 @@ const {
|
|
|
29
29
|
}: Props = $props();
|
|
30
30
|
</script>
|
|
31
31
|
|
|
32
|
-
<span class="status-indicators" role="group" aria-label={t(M['messages.message_status_indicator.status'])}>
|
|
32
|
+
<span class="status-indicators" role="group" aria-label={t(M['messages.message_status_indicator.status'])} data-smrt-component="MessageStatusIndicator">
|
|
33
33
|
{#if !isRead}
|
|
34
34
|
<span class="indicator unread" title={t(M['messages.message_status_indicator.unread'])} aria-label={t(M['messages.message_status_indicator.unread'])}>
|
|
35
35
|
<span class="dot"></span>
|
|
@@ -50,6 +50,8 @@ const {
|
|
|
50
50
|
</span>
|
|
51
51
|
|
|
52
52
|
<style>
|
|
53
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
54
|
+
@layer smrt.theme {
|
|
53
55
|
.status-indicators {
|
|
54
56
|
display: inline-flex;
|
|
55
57
|
align-items: center;
|
|
@@ -65,23 +67,24 @@ const {
|
|
|
65
67
|
.unread .dot {
|
|
66
68
|
width: 0.5rem;
|
|
67
69
|
height: 0.5rem;
|
|
68
|
-
border-radius: var(--smrt-radius-full
|
|
69
|
-
background: var(--smrt-color-primary
|
|
70
|
+
border-radius: var(--smrt-radius-full);
|
|
71
|
+
background: var(--smrt-color-primary);
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
.flagged {
|
|
73
|
-
color: var(--smrt-color-error
|
|
75
|
+
color: var(--smrt-color-error);
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
.attachment {
|
|
77
|
-
color: var(--smrt-color-on-surface-variant
|
|
79
|
+
color: var(--smrt-color-on-surface-variant);
|
|
78
80
|
}
|
|
79
81
|
|
|
80
82
|
.answered {
|
|
81
|
-
color: var(--smrt-color-primary
|
|
83
|
+
color: var(--smrt-color-primary);
|
|
82
84
|
}
|
|
83
85
|
|
|
84
86
|
.draft {
|
|
85
|
-
color: var(--smrt-color-on-surface-variant
|
|
87
|
+
color: var(--smrt-color-on-surface-variant);
|
|
86
88
|
}
|
|
89
|
+
}
|
|
87
90
|
</style>
|
|
@@ -35,7 +35,7 @@ const {
|
|
|
35
35
|
}: Props = $props();
|
|
36
36
|
</script>
|
|
37
37
|
|
|
38
|
-
<div class="toolbar" role="toolbar" aria-label={t(M['messages.message_toolbar.actions_label'])}>
|
|
38
|
+
<div class="toolbar" role="toolbar" aria-label={t(M['messages.message_toolbar.actions_label'])} data-smrt-component="MessageToolbar">
|
|
39
39
|
<div class="selection-info">
|
|
40
40
|
{#if selectedCount > 0}
|
|
41
41
|
<span class="count">{t(M['messages.message_toolbar.count_selected'], { selectedCount, totalCount })}</span>
|
|
@@ -79,12 +79,14 @@ const {
|
|
|
79
79
|
</div>
|
|
80
80
|
|
|
81
81
|
<style>
|
|
82
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
83
|
+
@layer smrt.theme {
|
|
82
84
|
.toolbar {
|
|
83
85
|
display: flex;
|
|
84
86
|
align-items: center;
|
|
85
87
|
justify-content: space-between;
|
|
86
88
|
padding: 0.5rem 0.75rem;
|
|
87
|
-
background: var(--smrt-color-surface-variant
|
|
89
|
+
background: var(--smrt-color-surface-variant);
|
|
88
90
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
89
91
|
gap: 1rem;
|
|
90
92
|
flex-wrap: wrap;
|
|
@@ -98,7 +100,7 @@ const {
|
|
|
98
100
|
|
|
99
101
|
.count {
|
|
100
102
|
font: var(--smrt-typography-body-small-font, 0.75rem / 1.33 sans-serif);
|
|
101
|
-
color: var(--smrt-color-on-surface-variant
|
|
103
|
+
color: var(--smrt-color-on-surface-variant);
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
/*
|
|
@@ -114,7 +116,7 @@ const {
|
|
|
114
116
|
border: none;
|
|
115
117
|
background: none;
|
|
116
118
|
font: var(--smrt-typography-label-medium-font, 500 0.75rem / 1.33 sans-serif);
|
|
117
|
-
color: var(--smrt-color-primary
|
|
119
|
+
color: var(--smrt-color-primary);
|
|
118
120
|
text-decoration: underline;
|
|
119
121
|
padding: 0;
|
|
120
122
|
}
|
|
@@ -127,19 +129,20 @@ const {
|
|
|
127
129
|
|
|
128
130
|
.actions :global(.action-btn) {
|
|
129
131
|
padding: 0.25rem 0.625rem;
|
|
130
|
-
border: 1px solid var(--smrt-color-outline
|
|
132
|
+
border: 1px solid var(--smrt-color-outline);
|
|
131
133
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
132
|
-
background: var(--smrt-color-surface
|
|
133
|
-
color: var(--smrt-color-on-surface
|
|
134
|
+
background: var(--smrt-color-surface);
|
|
135
|
+
color: var(--smrt-color-on-surface);
|
|
134
136
|
font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
.actions :global(.action-btn):hover {
|
|
138
|
-
background: var(--smrt-color-surface-variant
|
|
140
|
+
background: var(--smrt-color-surface-variant);
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
.actions :global(.action-btn--danger) {
|
|
142
|
-
color: var(--smrt-color-error
|
|
143
|
-
border-color: var(--smrt-color-error
|
|
144
|
+
color: var(--smrt-color-error);
|
|
145
|
+
border-color: var(--smrt-color-error);
|
|
144
146
|
}
|
|
147
|
+
}
|
|
145
148
|
</style>
|
|
@@ -49,6 +49,8 @@ const _variant = $derived.by(() => {
|
|
|
49
49
|
</Badge>
|
|
50
50
|
|
|
51
51
|
<style>
|
|
52
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
53
|
+
@layer smrt.theme {
|
|
52
54
|
.type-badge {
|
|
53
55
|
display: inline-flex;
|
|
54
56
|
align-items: center;
|
|
@@ -58,4 +60,5 @@ const _variant = $derived.by(() => {
|
|
|
58
60
|
.type-icon {
|
|
59
61
|
font-size: 0.85em;
|
|
60
62
|
}
|
|
63
|
+
}
|
|
61
64
|
</style>
|
|
@@ -239,7 +239,7 @@ async function saveRoute() {
|
|
|
239
239
|
}
|
|
240
240
|
</script>
|
|
241
241
|
|
|
242
|
-
<div class="messaging-settings">
|
|
242
|
+
<div class="messaging-settings" data-smrt-component="MessagingSettingsPanel">
|
|
243
243
|
<section>
|
|
244
244
|
<header>
|
|
245
245
|
<div><h3>{t(M['messages.messaging_settings.accounts_title'])}</h3><p>{t(M['messages.messaging_settings.accounts_description'])}</p></div>
|
|
@@ -389,19 +389,22 @@ async function saveRoute() {
|
|
|
389
389
|
</div>
|
|
390
390
|
|
|
391
391
|
<style>
|
|
392
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
393
|
+
@layer smrt.theme {
|
|
392
394
|
.messaging-settings { display: grid; gap: 1.5rem; }
|
|
393
395
|
section { display: grid; gap: 0.75rem; }
|
|
394
396
|
header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
|
|
395
397
|
h3, h4, p { margin: 0; }
|
|
396
|
-
header p, small, .secret-note, .empty { color: var(--smrt-color-on-surface-variant
|
|
398
|
+
header p, small, .secret-note, .empty { color: var(--smrt-color-on-surface-variant); }
|
|
397
399
|
.items { display: grid; gap: 0.5rem; }
|
|
398
|
-
:global(.item) { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.875rem; text-align: left; background: var(--smrt-color-surface
|
|
400
|
+
:global(.item) { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.875rem; text-align: left; background: var(--smrt-color-surface); color: inherit; border: 1px solid var(--smrt-color-outline-variant); border-radius: 0.5rem; }
|
|
399
401
|
:global(.item:not(:disabled)) { cursor: pointer; }
|
|
400
402
|
:global(.item span:first-child) { display: grid; gap: 0.2rem; }
|
|
401
|
-
.ok { color: var(--smrt-color-success
|
|
402
|
-
:global(.editor) { display: grid; gap: 0.65rem; padding: 1rem; border: 1px solid var(--smrt-color-outline-variant
|
|
403
|
+
.ok { color: var(--smrt-color-success); }
|
|
404
|
+
:global(.editor) { display: grid; gap: 0.65rem; padding: 1rem; border: 1px solid var(--smrt-color-outline-variant); border-radius: 0.5rem; background: var(--smrt-color-surface-container-low); }
|
|
403
405
|
label { font-weight: var(--smrt-typography-weight-semibold, 600); }
|
|
404
406
|
.checkbox { display: flex; align-items: center; gap: 0.5rem; }
|
|
405
407
|
.actions { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 0.5rem; }
|
|
406
|
-
.error { color: var(--smrt-color-error
|
|
408
|
+
.error { color: var(--smrt-color-error); }
|
|
409
|
+
}
|
|
407
410
|
</style>
|
|
@@ -62,7 +62,7 @@ export interface Props {
|
|
|
62
62
|
}
|
|
63
63
|
</script>
|
|
64
64
|
|
|
65
|
-
<div class="recipient-input">
|
|
65
|
+
<div class="recipient-input" data-smrt-component="RecipientInput">
|
|
66
66
|
<label class="label" for={inputId}>{label}</label>
|
|
67
67
|
<div class="chips-container">
|
|
68
68
|
{#each recipients as recipient, i}
|
|
@@ -89,26 +89,28 @@ export interface Props {
|
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
91
|
<style>
|
|
92
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
93
|
+
@layer smrt.theme {
|
|
92
94
|
.recipient-input {
|
|
93
95
|
display: flex;
|
|
94
96
|
align-items: flex-start;
|
|
95
|
-
gap: var(--smrt-spacing-2
|
|
96
|
-
padding: var(--smrt-spacing-1
|
|
97
|
-
border-bottom: 1px solid var(--smrt-color-outline-variant
|
|
97
|
+
gap: var(--smrt-spacing-2);
|
|
98
|
+
padding: var(--smrt-spacing-1) 0;
|
|
99
|
+
border-bottom: 1px solid var(--smrt-color-outline-variant);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
.label {
|
|
101
103
|
font-family: var(--smrt-font-family, system-ui);
|
|
102
|
-
font-size: var(--smrt-typography-label-large-size
|
|
103
|
-
color: var(--smrt-color-on-surface-variant
|
|
104
|
-
padding-top: var(--smrt-spacing-2
|
|
104
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
105
|
+
color: var(--smrt-color-on-surface-variant);
|
|
106
|
+
padding-top: var(--smrt-spacing-2);
|
|
105
107
|
min-width: 32px;
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
.chips-container {
|
|
109
111
|
display: flex;
|
|
110
112
|
flex-wrap: wrap;
|
|
111
|
-
gap: var(--smrt-spacing-1
|
|
113
|
+
gap: var(--smrt-spacing-1);
|
|
112
114
|
flex: 1;
|
|
113
115
|
align-items: center;
|
|
114
116
|
}
|
|
@@ -116,18 +118,18 @@ export interface Props {
|
|
|
116
118
|
.chip {
|
|
117
119
|
display: inline-flex;
|
|
118
120
|
align-items: center;
|
|
119
|
-
gap: var(--smrt-spacing-1
|
|
120
|
-
padding: var(--smrt-spacing-1
|
|
121
|
-
border-radius: var(--smrt-radius-sm
|
|
122
|
-
background: var(--smrt-color-secondary-container
|
|
123
|
-
color: var(--smrt-color-on-secondary-container
|
|
124
|
-
font-size: var(--smrt-typography-label-large-size
|
|
121
|
+
gap: var(--smrt-spacing-1);
|
|
122
|
+
padding: var(--smrt-spacing-1) var(--smrt-spacing-1) var(--smrt-spacing-1) var(--smrt-spacing-2);
|
|
123
|
+
border-radius: var(--smrt-radius-sm);
|
|
124
|
+
background: var(--smrt-color-secondary-container);
|
|
125
|
+
color: var(--smrt-color-on-secondary-container);
|
|
126
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
125
127
|
font-family: var(--smrt-font-family, system-ui);
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
.chip.invalid {
|
|
129
|
-
background: var(--smrt-color-error-container
|
|
130
|
-
color: var(--smrt-color-on-error-container
|
|
131
|
+
background: var(--smrt-color-error-container);
|
|
132
|
+
color: var(--smrt-color-on-error-container);
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
/*
|
|
@@ -140,8 +142,8 @@ export interface Props {
|
|
|
140
142
|
.chips-container :global(.chip-remove) {
|
|
141
143
|
background: none;
|
|
142
144
|
border: none;
|
|
143
|
-
padding: 0 var(--smrt-spacing-1
|
|
144
|
-
font-size: var(--smrt-typography-label-large-size
|
|
145
|
+
padding: 0 var(--smrt-spacing-1);
|
|
146
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
145
147
|
color: inherit;
|
|
146
148
|
opacity: 0.7;
|
|
147
149
|
}
|
|
@@ -164,14 +166,15 @@ export interface Props {
|
|
|
164
166
|
outline: none;
|
|
165
167
|
box-shadow: none;
|
|
166
168
|
font-family: var(--smrt-font-family, system-ui);
|
|
167
|
-
font-size: var(--smrt-typography-body-medium-size
|
|
168
|
-
padding: var(--smrt-spacing-1
|
|
169
|
+
font-size: var(--smrt-typography-body-medium-size);
|
|
170
|
+
padding: var(--smrt-spacing-1) 0;
|
|
169
171
|
background: transparent;
|
|
170
|
-
color: var(--smrt-color-on-surface
|
|
172
|
+
color: var(--smrt-color-on-surface);
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
.chips-container :global(.recipient-field):focus {
|
|
174
176
|
border: none;
|
|
175
177
|
box-shadow: none;
|
|
176
178
|
}
|
|
179
|
+
}
|
|
177
180
|
</style>
|