@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
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as __exportAll } from "./chunks/rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import "./chunks/__smrt-register__-
|
|
2
|
+
import "./chunks/__smrt-register__-C6vkgxXs.js";
|
|
3
3
|
import { a as registerMessagingProvider, n as getMessagingProvider, o as ZulipSender, r as listMessagingProviders, s as TelegramSender, t as ensureBuiltinMessagingProvidersRegistered } from "./chunks/providers-4iLula-V.js";
|
|
4
|
-
import { r as Account, t as AccountCollection } from "./chunks/AccountCollection-
|
|
5
|
-
import { t as Message } from "./chunks/Message-
|
|
6
|
-
import { t as MessageCollection } from "./chunks/MessageCollection-
|
|
7
|
-
import { t as Email } from "./chunks/Email-
|
|
8
|
-
import { t as EmailFolder } from "./chunks/EmailFolder-
|
|
4
|
+
import { r as Account, t as AccountCollection } from "./chunks/AccountCollection-BM28F2y8.js";
|
|
5
|
+
import { t as Message } from "./chunks/Message-CwqRAiRu.js";
|
|
6
|
+
import { t as MessageCollection } from "./chunks/MessageCollection-DTmvgr8c.js";
|
|
7
|
+
import { t as Email } from "./chunks/Email-CclqFojc.js";
|
|
8
|
+
import { t as EmailFolder } from "./chunks/EmailFolder-DtvYtwiz.js";
|
|
9
9
|
import { t as SlackSender } from "./chunks/SlackSender-CjSvwY1K.js";
|
|
10
10
|
import { t as TweetSender } from "./chunks/TweetSender-CcLPNNi1.js";
|
|
11
11
|
import { SmrtCollection, SmrtObject, SmrtRecipe, crossPackageRef, field, foreignKey, importOptionalDependency, isUniqueViolationError, smrt } from "@happyvertical/smrt-core";
|
|
@@ -98,7 +98,7 @@ var Attachment = class extends SmrtObject {
|
|
|
98
98
|
*/
|
|
99
99
|
async getMessage() {
|
|
100
100
|
if (!this.messageId) return null;
|
|
101
|
-
const { MessageCollection } = await import("./chunks/MessageCollection-
|
|
101
|
+
const { MessageCollection } = await import("./chunks/MessageCollection-DTmvgr8c.js").then((n) => n.n);
|
|
102
102
|
return await (await MessageCollection.create(this.options)).get({ id: this.messageId });
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
@@ -670,7 +670,7 @@ var EmailAccount = class extends Account {
|
|
|
670
670
|
for (const folderName of foldersToSync) try {
|
|
671
671
|
let folder = await folderCollection.getByPath(accountId, folderName);
|
|
672
672
|
if (!folder) {
|
|
673
|
-
const { EmailFolder } = await import("./chunks/EmailFolder-
|
|
673
|
+
const { EmailFolder } = await import("./chunks/EmailFolder-DtvYtwiz.js").then((n) => n.n);
|
|
674
674
|
folder = new EmailFolder({
|
|
675
675
|
...this.childOptions(),
|
|
676
676
|
accountId,
|
|
@@ -695,7 +695,7 @@ var EmailAccount = class extends Account {
|
|
|
695
695
|
result.messagesSkipped++;
|
|
696
696
|
continue;
|
|
697
697
|
}
|
|
698
|
-
const { Email } = await import("./chunks/Email-
|
|
698
|
+
const { Email } = await import("./chunks/Email-CclqFojc.js").then((n) => n.n);
|
|
699
699
|
let email = existingEmail;
|
|
700
700
|
if (!email) {
|
|
701
701
|
email = new Email({
|
package/dist/manifest.json
CHANGED
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-messages",
|
|
6
|
-
"packageVersion": "0.55.
|
|
6
|
+
"packageVersion": "0.55.17",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "9972520001b85fdffde8552c0794d41e4d1ad2a3f911dbbd91fd4a9073d0ae7b",
|
|
11
|
+
"packageJson": "b1982e8d954d3255865b6aefaf739630709f223f7b94b8cf9ffa772c721f39da",
|
|
12
12
|
"agents": "f2bbd8f6d74a68c2ab949153f2051c7a906bd2e4ba547873b3641d0779491c59"
|
|
13
13
|
},
|
|
14
14
|
"exports": [
|
|
@@ -45,7 +45,7 @@ const _icon = $derived.by(() => {
|
|
|
45
45
|
class:avatar--slack={providerType === 'slack'}
|
|
46
46
|
class:avatar--twitter={providerType === 'twitter'}
|
|
47
47
|
title={name}
|
|
48
|
-
aria-label={`${name} (${providerType})`}
|
|
48
|
+
aria-label={`${name} (${providerType})`} data-smrt-component="AccountAvatar"
|
|
49
49
|
>
|
|
50
50
|
{#if _icon}
|
|
51
51
|
<span class="icon">{_icon}</span>
|
|
@@ -55,13 +55,15 @@ const _icon = $derived.by(() => {
|
|
|
55
55
|
</span>
|
|
56
56
|
|
|
57
57
|
<style>
|
|
58
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
59
|
+
@layer smrt.theme {
|
|
58
60
|
.avatar {
|
|
59
61
|
display: inline-flex;
|
|
60
62
|
align-items: center;
|
|
61
63
|
justify-content: center;
|
|
62
|
-
border-radius: var(--smrt-radius-full
|
|
63
|
-
background: var(--smrt-color-secondary-container
|
|
64
|
-
color: var(--smrt-color-on-secondary-container
|
|
64
|
+
border-radius: var(--smrt-radius-full);
|
|
65
|
+
background: var(--smrt-color-secondary-container);
|
|
66
|
+
color: var(--smrt-color-on-secondary-container);
|
|
65
67
|
font-weight: var(--smrt-typography-weight-medium, 500);
|
|
66
68
|
flex-shrink: 0;
|
|
67
69
|
}
|
|
@@ -85,18 +87,18 @@ const _icon = $derived.by(() => {
|
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
.avatar--email {
|
|
88
|
-
background: var(--smrt-color-primary-container
|
|
89
|
-
color: var(--smrt-color-on-primary-container
|
|
90
|
+
background: var(--smrt-color-primary-container);
|
|
91
|
+
color: var(--smrt-color-on-primary-container);
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
.avatar--slack {
|
|
93
|
-
background: var(--smrt-color-tertiary-container
|
|
94
|
-
color: var(--smrt-color-on-tertiary-container
|
|
95
|
+
background: var(--smrt-color-tertiary-container);
|
|
96
|
+
color: var(--smrt-color-on-tertiary-container);
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
.avatar--twitter {
|
|
98
|
-
background: var(--smrt-color-secondary-container
|
|
99
|
-
color: var(--smrt-color-on-secondary-container
|
|
100
|
+
background: var(--smrt-color-secondary-container);
|
|
101
|
+
color: var(--smrt-color-on-secondary-container);
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
.icon {
|
|
@@ -107,4 +109,5 @@ const _icon = $derived.by(() => {
|
|
|
107
109
|
text-transform: uppercase;
|
|
108
110
|
letter-spacing: 0.02em;
|
|
109
111
|
}
|
|
112
|
+
}
|
|
110
113
|
</style>
|
|
@@ -80,6 +80,8 @@ const _lastSyncFormatted = $derived.by(() => {
|
|
|
80
80
|
</Card>
|
|
81
81
|
|
|
82
82
|
<style>
|
|
83
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
84
|
+
@layer smrt.theme {
|
|
83
85
|
.account-card {
|
|
84
86
|
display: flex;
|
|
85
87
|
flex-direction: column;
|
|
@@ -102,12 +104,12 @@ const _lastSyncFormatted = $derived.by(() => {
|
|
|
102
104
|
.name {
|
|
103
105
|
margin: 0;
|
|
104
106
|
font: var(--smrt-typography-title-medium-font, 500 1rem / 1.25 sans-serif);
|
|
105
|
-
color: var(--smrt-color-on-surface
|
|
107
|
+
color: var(--smrt-color-on-surface);
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
.email {
|
|
109
111
|
font: var(--smrt-typography-body-small-font, 0.75rem / 1.33 sans-serif);
|
|
110
|
-
color: var(--smrt-color-on-surface-variant
|
|
112
|
+
color: var(--smrt-color-on-surface-variant);
|
|
111
113
|
overflow: hidden;
|
|
112
114
|
text-overflow: ellipsis;
|
|
113
115
|
white-space: nowrap;
|
|
@@ -115,7 +117,7 @@ const _lastSyncFormatted = $derived.by(() => {
|
|
|
115
117
|
|
|
116
118
|
.provider {
|
|
117
119
|
font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
|
|
118
|
-
color: var(--smrt-color-on-surface-variant
|
|
120
|
+
color: var(--smrt-color-on-surface-variant);
|
|
119
121
|
text-transform: uppercase;
|
|
120
122
|
letter-spacing: 0.05em;
|
|
121
123
|
}
|
|
@@ -134,22 +136,22 @@ const _lastSyncFormatted = $derived.by(() => {
|
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
.status--active {
|
|
137
|
-
background: var(--smrt-color-tertiary-container
|
|
138
|
-
color: var(--smrt-color-on-tertiary-container
|
|
139
|
+
background: var(--smrt-color-tertiary-container);
|
|
140
|
+
color: var(--smrt-color-on-tertiary-container);
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
.status--inactive {
|
|
142
|
-
background: var(--smrt-color-surface-variant
|
|
143
|
-
color: var(--smrt-color-on-surface-variant
|
|
144
|
+
background: var(--smrt-color-surface-variant);
|
|
145
|
+
color: var(--smrt-color-on-surface-variant);
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
.sync-time {
|
|
147
|
-
color: var(--smrt-color-on-surface-variant
|
|
149
|
+
color: var(--smrt-color-on-surface-variant);
|
|
148
150
|
}
|
|
149
151
|
|
|
150
152
|
.unread-count {
|
|
151
153
|
font-weight: var(--smrt-typography-weight-medium, 500);
|
|
152
|
-
color: var(--smrt-color-primary
|
|
154
|
+
color: var(--smrt-color-primary);
|
|
153
155
|
}
|
|
154
156
|
|
|
155
157
|
.actions {
|
|
@@ -169,19 +171,20 @@ const _lastSyncFormatted = $derived.by(() => {
|
|
|
169
171
|
*/
|
|
170
172
|
.actions :global(.action-btn) {
|
|
171
173
|
padding: 0.375rem 0.75rem;
|
|
172
|
-
border: 1px solid var(--smrt-color-outline
|
|
174
|
+
border: 1px solid var(--smrt-color-outline);
|
|
173
175
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
174
|
-
background: var(--smrt-color-surface
|
|
175
|
-
color: var(--smrt-color-on-surface
|
|
176
|
+
background: var(--smrt-color-surface);
|
|
177
|
+
color: var(--smrt-color-on-surface);
|
|
176
178
|
font: var(--smrt-typography-label-medium-font, 500 0.75rem / 1.33 sans-serif);
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
.actions :global(.action-btn):hover {
|
|
180
|
-
background: var(--smrt-color-surface-variant
|
|
182
|
+
background: var(--smrt-color-surface-variant);
|
|
181
183
|
}
|
|
182
184
|
|
|
183
185
|
.actions :global(.action-btn--danger) {
|
|
184
|
-
color: var(--smrt-color-error
|
|
185
|
-
border-color: var(--smrt-color-error
|
|
186
|
+
color: var(--smrt-color-error);
|
|
187
|
+
border-color: var(--smrt-color-error);
|
|
186
188
|
}
|
|
189
|
+
}
|
|
187
190
|
</style>
|
|
@@ -56,7 +56,7 @@ function handleAccountKeydown(event: KeyboardEvent, account: AccountData) {
|
|
|
56
56
|
}
|
|
57
57
|
</script>
|
|
58
58
|
|
|
59
|
-
<div class="account-list" role="list" aria-label={t(M['messages.account_list.accounts'])}>
|
|
59
|
+
<div class="account-list" role="list" aria-label={t(M['messages.account_list.accounts'])} data-smrt-component="AccountList">
|
|
60
60
|
{#if loading}
|
|
61
61
|
<div class="loading" role="status" aria-live="polite">
|
|
62
62
|
<p>{t(M['messages.account_list.loading'])}</p>
|
|
@@ -90,15 +90,18 @@ function handleAccountKeydown(event: KeyboardEvent, account: AccountData) {
|
|
|
90
90
|
</div>
|
|
91
91
|
|
|
92
92
|
<style>
|
|
93
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
94
|
+
@layer smrt.theme {
|
|
93
95
|
.loading,
|
|
94
96
|
.empty {
|
|
95
97
|
text-align: center;
|
|
96
98
|
padding: var(--smrt-spacing-3xl, 3rem);
|
|
97
|
-
color: var(--smrt-color-on-surface-variant
|
|
99
|
+
color: var(--smrt-color-on-surface-variant);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
.loading p,
|
|
101
103
|
.empty p {
|
|
102
104
|
font: var(--smrt-typography-body-large-font, 1.125rem / 1.5 sans-serif);
|
|
103
105
|
}
|
|
106
|
+
}
|
|
104
107
|
</style>
|
|
@@ -47,7 +47,7 @@ const _formattedSize = $derived.by(() => {
|
|
|
47
47
|
<span class="size">{_formattedSize}</span>
|
|
48
48
|
</Button>
|
|
49
49
|
{:else}
|
|
50
|
-
<span class="chip" title={`${attachment.filename} (${_formattedSize})`}>
|
|
50
|
+
<span class="chip" title={`${attachment.filename} (${_formattedSize})`} data-smrt-component="AttachmentChip">
|
|
51
51
|
<span class="icon">{_icon}</span>
|
|
52
52
|
<span class="name">{attachment.filename}</span>
|
|
53
53
|
<span class="size">{_formattedSize}</span>
|
|
@@ -55,14 +55,16 @@ const _formattedSize = $derived.by(() => {
|
|
|
55
55
|
{/if}
|
|
56
56
|
|
|
57
57
|
<style>
|
|
58
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
59
|
+
@layer smrt.theme {
|
|
58
60
|
.chip {
|
|
59
61
|
display: inline-flex;
|
|
60
62
|
align-items: center;
|
|
61
63
|
gap: 0.375rem;
|
|
62
64
|
padding: 0.25rem 0.625rem;
|
|
63
65
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
64
|
-
background: var(--smrt-color-surface-variant
|
|
65
|
-
color: var(--smrt-color-on-surface-variant
|
|
66
|
+
background: var(--smrt-color-surface-variant);
|
|
67
|
+
color: var(--smrt-color-on-surface-variant);
|
|
66
68
|
font: var(--smrt-typography-label-medium-font, 500 0.75rem / 1.33 sans-serif);
|
|
67
69
|
border: none;
|
|
68
70
|
cursor: default;
|
|
@@ -84,8 +86,8 @@ const _formattedSize = $derived.by(() => {
|
|
|
84
86
|
gap: 0.375rem;
|
|
85
87
|
padding: 0.25rem 0.625rem;
|
|
86
88
|
border-radius: var(--smrt-radius-small, 0.25rem);
|
|
87
|
-
background: var(--smrt-color-surface-variant
|
|
88
|
-
color: var(--smrt-color-on-surface-variant
|
|
89
|
+
background: var(--smrt-color-surface-variant);
|
|
90
|
+
color: var(--smrt-color-on-surface-variant);
|
|
89
91
|
font: var(--smrt-typography-label-medium-font, 500 0.75rem / 1.33 sans-serif);
|
|
90
92
|
cursor: pointer;
|
|
91
93
|
max-width: 200px;
|
|
@@ -93,11 +95,11 @@ const _formattedSize = $derived.by(() => {
|
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
:global(.chip.chip--button):hover {
|
|
96
|
-
background: color-mix(in srgb, var(--smrt-color-surface-variant
|
|
98
|
+
background: color-mix(in srgb, var(--smrt-color-surface-variant) 92%, var(--smrt-color-shadow));
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
:global(.chip.chip--button):focus-visible {
|
|
100
|
-
outline: 2px solid var(--smrt-color-primary
|
|
102
|
+
outline: 2px solid var(--smrt-color-primary);
|
|
101
103
|
outline-offset: 1px;
|
|
102
104
|
}
|
|
103
105
|
|
|
@@ -117,4 +119,5 @@ const _formattedSize = $derived.by(() => {
|
|
|
117
119
|
opacity: 0.7;
|
|
118
120
|
font-size: var(--smrt-typography-label-small-size, 0.6875rem);
|
|
119
121
|
}
|
|
122
|
+
}
|
|
120
123
|
</style>
|
|
@@ -57,7 +57,7 @@ export interface Props {
|
|
|
57
57
|
}
|
|
58
58
|
</script>
|
|
59
59
|
|
|
60
|
-
<div class="attachment-upload">
|
|
60
|
+
<div class="attachment-upload" data-smrt-component="AttachmentUpload">
|
|
61
61
|
{#if attachments.length > 0}
|
|
62
62
|
<div class="attachment-list">
|
|
63
63
|
{#each attachments as attachment, i}
|
|
@@ -97,36 +97,38 @@ export interface Props {
|
|
|
97
97
|
</div>
|
|
98
98
|
|
|
99
99
|
<style>
|
|
100
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
101
|
+
@layer smrt.theme {
|
|
100
102
|
.attachment-upload {
|
|
101
103
|
display: flex;
|
|
102
104
|
flex-direction: column;
|
|
103
|
-
gap: var(--smrt-spacing-2
|
|
105
|
+
gap: var(--smrt-spacing-2);
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
.attachment-list {
|
|
107
109
|
display: flex;
|
|
108
110
|
flex-wrap: wrap;
|
|
109
|
-
gap: var(--smrt-spacing-1
|
|
111
|
+
gap: var(--smrt-spacing-1);
|
|
110
112
|
}
|
|
111
113
|
|
|
112
114
|
.attachment-item {
|
|
113
115
|
display: inline-flex;
|
|
114
116
|
align-items: center;
|
|
115
|
-
gap: var(--smrt-spacing-2
|
|
116
|
-
padding: var(--smrt-spacing-1
|
|
117
|
-
border-radius: var(--smrt-radius-sm
|
|
118
|
-
background: var(--smrt-color-surface-variant
|
|
119
|
-
font-size: var(--smrt-typography-body-medium-size
|
|
117
|
+
gap: var(--smrt-spacing-2);
|
|
118
|
+
padding: var(--smrt-spacing-1) var(--smrt-spacing-2);
|
|
119
|
+
border-radius: var(--smrt-radius-sm);
|
|
120
|
+
background: var(--smrt-color-surface-variant);
|
|
121
|
+
font-size: var(--smrt-typography-body-medium-size);
|
|
120
122
|
font-family: var(--smrt-font-family, system-ui);
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
.filename {
|
|
124
|
-
color: var(--smrt-color-on-surface-variant
|
|
126
|
+
color: var(--smrt-color-on-surface-variant);
|
|
125
127
|
}
|
|
126
128
|
|
|
127
129
|
.size {
|
|
128
|
-
color: var(--smrt-color-outline
|
|
129
|
-
font-size: var(--smrt-typography-label-small-size
|
|
130
|
+
color: var(--smrt-color-outline);
|
|
131
|
+
font-size: var(--smrt-typography-label-small-size);
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
/*
|
|
@@ -138,22 +140,22 @@ export interface Props {
|
|
|
138
140
|
.attachment-item :global(.remove) {
|
|
139
141
|
background: none;
|
|
140
142
|
border: none;
|
|
141
|
-
padding: 0 var(--smrt-spacing-1
|
|
142
|
-
color: var(--smrt-color-error
|
|
143
|
-
font-size: var(--smrt-typography-label-large-size
|
|
143
|
+
padding: 0 var(--smrt-spacing-1);
|
|
144
|
+
color: var(--smrt-color-error);
|
|
145
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
.drop-zone {
|
|
147
|
-
border: 2px dashed var(--smrt-color-outline-variant
|
|
148
|
-
border-radius: var(--smrt-radius-md
|
|
149
|
-
padding: var(--smrt-spacing-3
|
|
149
|
+
border: 2px dashed var(--smrt-color-outline-variant);
|
|
150
|
+
border-radius: var(--smrt-radius-md);
|
|
151
|
+
padding: var(--smrt-spacing-3);
|
|
150
152
|
text-align: center;
|
|
151
153
|
transition: border-color var(--smrt-duration-fast, 150ms) var(--smrt-easing-standard, ease);
|
|
152
154
|
}
|
|
153
155
|
|
|
154
156
|
.drop-zone.drag-over {
|
|
155
|
-
border-color: var(--smrt-color-primary
|
|
156
|
-
background: var(--smrt-color-primary-container
|
|
157
|
+
border-color: var(--smrt-color-primary);
|
|
158
|
+
background: var(--smrt-color-primary-container);
|
|
157
159
|
}
|
|
158
160
|
|
|
159
161
|
.upload-label {
|
|
@@ -169,8 +171,9 @@ export interface Props {
|
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
.upload-text {
|
|
172
|
-
color: var(--smrt-color-outline
|
|
173
|
-
font-size: var(--smrt-typography-body-medium-size
|
|
174
|
+
color: var(--smrt-color-outline);
|
|
175
|
+
font-size: var(--smrt-typography-body-medium-size);
|
|
174
176
|
font-family: var(--smrt-font-family, system-ui);
|
|
175
177
|
}
|
|
178
|
+
}
|
|
176
179
|
</style>
|
|
@@ -145,7 +145,7 @@ export interface Props {
|
|
|
145
145
|
}
|
|
146
146
|
</script>
|
|
147
147
|
|
|
148
|
-
<div class="compose-form-shell">
|
|
148
|
+
<div class="compose-form-shell" data-smrt-component="ComposeForm">
|
|
149
149
|
<Form class="compose-form" onsubmit={handleSend}>
|
|
150
150
|
{#if accounts.length > 1}
|
|
151
151
|
<div class="field">
|
|
@@ -285,6 +285,8 @@ export interface Props {
|
|
|
285
285
|
</div>
|
|
286
286
|
|
|
287
287
|
<style>
|
|
288
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
289
|
+
@layer smrt.theme {
|
|
288
290
|
/*
|
|
289
291
|
* The form now renders through smrt-ui's <Form> (Provider-free base `<form>`).
|
|
290
292
|
* `class="compose-form"` lands on the real `<form>` inside the Form child, so
|
|
@@ -294,22 +296,22 @@ export interface Props {
|
|
|
294
296
|
.compose-form-shell :global(.compose-form) {
|
|
295
297
|
display: flex;
|
|
296
298
|
flex-direction: column;
|
|
297
|
-
gap: var(--smrt-spacing-2
|
|
298
|
-
padding: var(--smrt-spacing-4
|
|
299
|
+
gap: var(--smrt-spacing-2);
|
|
300
|
+
padding: var(--smrt-spacing-4);
|
|
299
301
|
font-family: var(--smrt-font-family, system-ui);
|
|
300
302
|
}
|
|
301
303
|
|
|
302
304
|
.field {
|
|
303
305
|
display: flex;
|
|
304
306
|
align-items: center;
|
|
305
|
-
gap: var(--smrt-spacing-2
|
|
306
|
-
padding: var(--smrt-spacing-1
|
|
307
|
-
border-bottom: 1px solid var(--smrt-color-outline-variant
|
|
307
|
+
gap: var(--smrt-spacing-2);
|
|
308
|
+
padding: var(--smrt-spacing-1) 0;
|
|
309
|
+
border-bottom: 1px solid var(--smrt-color-outline-variant);
|
|
308
310
|
}
|
|
309
311
|
|
|
310
312
|
.field-label {
|
|
311
|
-
font-size: var(--smrt-typography-label-large-size
|
|
312
|
-
color: var(--smrt-color-on-surface-variant
|
|
313
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
314
|
+
color: var(--smrt-color-on-surface-variant);
|
|
313
315
|
min-width: 56px;
|
|
314
316
|
}
|
|
315
317
|
|
|
@@ -330,10 +332,10 @@ export interface Props {
|
|
|
330
332
|
outline: none;
|
|
331
333
|
box-shadow: none;
|
|
332
334
|
font-family: inherit;
|
|
333
|
-
font-size: var(--smrt-typography-body-medium-size
|
|
334
|
-
padding: var(--smrt-spacing-2
|
|
335
|
+
font-size: var(--smrt-typography-body-medium-size);
|
|
336
|
+
padding: var(--smrt-spacing-2) 0;
|
|
335
337
|
background: transparent;
|
|
336
|
-
color: var(--smrt-color-on-surface
|
|
338
|
+
color: var(--smrt-color-on-surface);
|
|
337
339
|
}
|
|
338
340
|
|
|
339
341
|
.field :global(.select) {
|
|
@@ -349,7 +351,7 @@ export interface Props {
|
|
|
349
351
|
|
|
350
352
|
.cc-toggles {
|
|
351
353
|
display: flex;
|
|
352
|
-
gap: var(--smrt-spacing-2
|
|
354
|
+
gap: var(--smrt-spacing-2);
|
|
353
355
|
justify-content: flex-end;
|
|
354
356
|
}
|
|
355
357
|
|
|
@@ -362,8 +364,8 @@ export interface Props {
|
|
|
362
364
|
.cc-toggles :global(.link-btn) {
|
|
363
365
|
background: none;
|
|
364
366
|
border: none;
|
|
365
|
-
color: var(--smrt-color-primary
|
|
366
|
-
font-size: var(--smrt-typography-label-large-size
|
|
367
|
+
color: var(--smrt-color-primary);
|
|
368
|
+
font-size: var(--smrt-typography-label-large-size);
|
|
367
369
|
text-decoration: underline;
|
|
368
370
|
}
|
|
369
371
|
|
|
@@ -373,28 +375,28 @@ export interface Props {
|
|
|
373
375
|
|
|
374
376
|
.char-count {
|
|
375
377
|
text-align: right;
|
|
376
|
-
font-size: var(--smrt-typography-label-medium-size
|
|
377
|
-
color: var(--smrt-color-outline
|
|
378
|
-
padding-top: var(--smrt-spacing-1
|
|
378
|
+
font-size: var(--smrt-typography-label-medium-size);
|
|
379
|
+
color: var(--smrt-color-outline);
|
|
380
|
+
padding-top: var(--smrt-spacing-1);
|
|
379
381
|
}
|
|
380
382
|
|
|
381
383
|
.char-count.over-limit {
|
|
382
|
-
color: var(--smrt-color-error
|
|
384
|
+
color: var(--smrt-color-error);
|
|
383
385
|
font-weight: var(--smrt-typography-weight-semibold, 600);
|
|
384
386
|
}
|
|
385
387
|
|
|
386
388
|
.send-error {
|
|
387
|
-
padding: var(--smrt-spacing-2
|
|
388
|
-
border-radius: var(--smrt-radius-sm
|
|
389
|
-
background: var(--smrt-color-error-container
|
|
390
|
-
color: var(--smrt-color-on-error-container
|
|
391
|
-
font-size: var(--smrt-typography-body-small-size
|
|
389
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
390
|
+
border-radius: var(--smrt-radius-sm);
|
|
391
|
+
background: var(--smrt-color-error-container);
|
|
392
|
+
color: var(--smrt-color-on-error-container);
|
|
393
|
+
font-size: var(--smrt-typography-body-small-size);
|
|
392
394
|
}
|
|
393
395
|
|
|
394
396
|
.actions {
|
|
395
397
|
display: flex;
|
|
396
|
-
gap: var(--smrt-spacing-2
|
|
397
|
-
padding-top: var(--smrt-spacing-2
|
|
398
|
+
gap: var(--smrt-spacing-2);
|
|
399
|
+
padding-top: var(--smrt-spacing-2);
|
|
398
400
|
}
|
|
399
401
|
|
|
400
402
|
/*
|
|
@@ -404,6 +406,7 @@ export interface Props {
|
|
|
404
406
|
* ghost uses the primary color) — issue #1589.
|
|
405
407
|
*/
|
|
406
408
|
.actions :global(.btn-text) {
|
|
407
|
-
color: var(--smrt-color-on-surface-variant
|
|
409
|
+
color: var(--smrt-color-on-surface-variant);
|
|
408
410
|
}
|
|
411
|
+
}
|
|
409
412
|
</style>
|