clay-server 3.8.1 → 4.0.0-beta.2
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/lib/ask-user-mcp-server.js +5 -119
- package/lib/builtin-mates.js +6 -6
- package/lib/claude-hook-installer.js +15 -0
- package/lib/clay-history-mcp-server.js +62 -297
- package/lib/daemon.js +1 -1
- package/lib/debate-model-selection.js +119 -0
- package/lib/home-debate-tool-policy.js +164 -0
- package/lib/home-response-notifications.js +26 -0
- package/lib/mate-creation-mcp-server.js +55 -0
- package/lib/mate-ready-creation.js +95 -0
- package/lib/mates.js +2 -0
- package/lib/notes.js +2 -1
- package/lib/project-ask-user.js +64 -0
- package/lib/project-capsule-catalog.js +101 -0
- package/lib/project-connection.js +4 -0
- package/lib/project-debate-proposal.js +133 -17
- package/lib/project-debate.js +214 -110
- package/lib/project-delegated-follow-up.js +84 -0
- package/lib/project-delegated-session.js +53 -0
- package/lib/project-filesystem.js +7 -9
- package/lib/project-knowledge.js +1 -0
- package/lib/project-mate-creation-proposal.js +120 -0
- package/lib/project-memory.js +14 -7
- package/lib/project-models.js +157 -32
- package/lib/project-session-notes.js +2 -2
- package/lib/project-session-pair.js +8 -8
- package/lib/project-sessions.js +66 -51
- package/lib/project-vendor-login.js +397 -0
- package/lib/project-worker-proposal.js +25 -25
- package/lib/project-workspace-query.js +144 -0
- package/lib/project.js +349 -102
- package/lib/public/app.js +85 -42
- package/lib/public/css/avatar-imprints.css +0 -1
- package/lib/public/css/base.css +4 -0
- package/lib/public/css/capsule-ui.css +389 -0
- package/lib/public/css/command-palette.css +306 -6
- package/lib/public/css/home-capsule-library.css +243 -0
- package/lib/public/css/home-capsule-source.css +192 -0
- package/lib/public/css/home-debate-live.css +146 -0
- package/lib/public/css/home-debate-planning.css +125 -0
- package/lib/public/css/home-debates-archive.css +281 -0
- package/lib/public/css/home-hub.css +896 -405
- package/lib/public/css/home-mate-creation.css +34 -0
- package/lib/public/css/home-mate-model-picker.css +131 -0
- package/lib/public/css/home-mate-settings.css +344 -0
- package/lib/public/css/home-session-actions.css +265 -0
- package/lib/public/css/home-sidebar.css +667 -0
- package/lib/public/css/icon-strip.css +1 -2
- package/lib/public/css/mates.css +7 -34
- package/lib/public/css/pane.css +1 -1
- package/lib/public/css/playbook.css +0 -80
- package/lib/public/css/sticky-notes.css +53 -117
- package/lib/public/css/tui-attention.css +0 -44
- package/lib/public/css/workspace-assignment.css +45 -0
- package/lib/public/fonts/source-serif-4/LICENSE.md +93 -0
- package/lib/public/fonts/source-serif-4/SourceSerif4Caption-Semibold.ttf.woff2 +0 -0
- package/lib/public/index.html +93 -74
- package/lib/public/modules/app-connection.js +10 -1
- package/lib/public/modules/app-dm.js +43 -160
- package/lib/public/modules/app-home-hub.js +328 -585
- package/lib/public/modules/app-message-cards.js +242 -0
- package/lib/public/modules/app-message-router.js +84 -0
- package/lib/public/modules/app-messages.js +102 -37
- package/lib/public/modules/app-notifications.js +8 -119
- package/lib/public/modules/app-projects.js +9 -1
- package/lib/public/modules/app-rendering.js +21 -602
- package/lib/public/modules/avatar-imprint.js +11 -8
- package/lib/public/modules/chat-bubble-renderer.js +152 -0
- package/lib/public/modules/chat-render-runtime.js +198 -0
- package/lib/public/modules/command-palette.js +225 -436
- package/lib/public/modules/dm-render.js +82 -0
- package/lib/public/modules/home-capsule-creation-intent.js +31 -0
- package/lib/public/modules/home-capsule-library.js +146 -0
- package/lib/public/modules/home-capsule-source.js +383 -0
- package/lib/public/modules/home-chat-identity.js +35 -0
- package/lib/public/modules/home-chat-scroll.js +77 -0
- package/lib/public/modules/home-chat-stream-state.js +34 -0
- package/lib/public/modules/home-composer-focus.js +25 -0
- package/lib/public/modules/home-conversations-sheet.js +179 -0
- package/lib/public/modules/home-debate-activity.js +48 -0
- package/lib/public/modules/home-debate-controls.js +295 -0
- package/lib/public/modules/home-debate-launch.js +41 -0
- package/lib/public/modules/home-debate-live.js +284 -0
- package/lib/public/modules/home-debate-models.js +73 -0
- package/lib/public/modules/home-debate-planning.js +335 -0
- package/lib/public/modules/home-debates-archive.js +279 -0
- package/lib/public/modules/home-dock-resize.js +74 -0
- package/lib/public/modules/home-dock.js +446 -0
- package/lib/public/modules/home-mate-chat.js +496 -0
- package/lib/public/modules/home-mate-creation.js +109 -0
- package/lib/public/modules/home-mate-model-picker.js +281 -0
- package/lib/public/modules/home-mate-selection.js +38 -0
- package/lib/public/modules/home-mate-settings-menu.js +131 -0
- package/lib/public/modules/home-mate-settings.js +383 -0
- package/lib/public/modules/home-session-actions.js +373 -0
- package/lib/public/modules/home-session-model-confirmation.js +13 -0
- package/lib/public/modules/home-shell.js +9 -0
- package/lib/public/modules/home-sidebar-chat-list.js +63 -0
- package/lib/public/modules/home-sidebar.js +158 -0
- package/lib/public/modules/home-sub-surface.js +19 -0
- package/lib/public/modules/home-surface-boot.js +68 -0
- package/lib/public/modules/home-surface.js +141 -0
- package/lib/public/modules/home-tools.js +271 -0
- package/lib/public/modules/markdown.js +50 -2
- package/lib/public/modules/mate-management.js +86 -0
- package/lib/public/modules/mate-wizard.js +0 -7
- package/lib/public/modules/mention.js +17 -19
- package/lib/public/modules/pane-bridge.js +9 -0
- package/lib/public/modules/profile.js +4 -5
- package/lib/public/modules/project-settings.js +34 -28
- package/lib/public/modules/project-switcher.js +11 -5
- package/lib/public/modules/project-workspace-assignment.js +23 -0
- package/lib/public/modules/search-clay-chat.js +402 -0
- package/lib/public/modules/server-settings.js +14 -12
- package/lib/public/modules/session-actions.js +1 -1
- package/lib/public/modules/sidebar-mates.js +56 -552
- package/lib/public/modules/sidebar-mobile.js +7 -64
- package/lib/public/modules/sidebar-presence.js +37 -0
- package/lib/public/modules/split-pair-ui.js +13 -13
- package/lib/public/modules/split-view.js +7 -0
- package/lib/public/modules/sticky-notes.js +7 -6
- package/lib/public/modules/tool-input-composition.js +48 -0
- package/lib/public/modules/tool-llm-status.js +167 -0
- package/lib/public/modules/tool-renderer-advanced.js +285 -0
- package/lib/public/modules/tool-renderer-chart.js +158 -0
- package/lib/public/modules/tool-renderer-semantics.js +35 -0
- package/lib/public/modules/tool-renderer.js +464 -0
- package/lib/public/modules/tool-runtime.js +309 -0
- package/lib/public/modules/tool-ui-evaluator.js +97 -0
- package/lib/public/modules/tool-ui-tree.js +21 -0
- package/lib/public/modules/tui-attention.js +10 -0
- package/lib/public/modules/user-settings.js +16 -23
- package/lib/public/modules/vendor-login.js +287 -0
- package/lib/public/modules/worker-proposal.js +2 -2
- package/lib/public/modules/workspace-assignment-card.js +149 -0
- package/lib/public/modules/workspace-assignment-routing.js +4 -0
- package/lib/public/style.css +13 -2
- package/lib/runtime-env.js +65 -0
- package/lib/sdk-bridge.js +120 -32
- package/lib/sdk-message-processor.js +10 -6
- package/lib/server-home-capsule-creation.js +36 -0
- package/lib/server-home-chat-events.js +287 -0
- package/lib/server-home-chat.js +518 -0
- package/lib/server-home-clay-entry.js +65 -0
- package/lib/server-home-clay-session-links.js +26 -0
- package/lib/server-home-debate-planning.js +214 -0
- package/lib/server-home-debates.js +137 -0
- package/lib/server-home-mate-creation.js +261 -0
- package/lib/server-home-models.js +241 -0
- package/lib/server-home-preferences.js +61 -0
- package/lib/server-mates.js +37 -0
- package/lib/server-tools.js +377 -0
- package/lib/server.js +111 -59
- package/lib/session-pair-mcp-server.js +6 -6
- package/lib/sessions.js +18 -3
- package/lib/tool-capsule-source.js +142 -0
- package/lib/tool-control-mcp-server.js +126 -0
- package/lib/tool-llm.js +48 -0
- package/lib/tool-storage.js +77 -0
- package/lib/tool-ui-spec-advanced.js +82 -0
- package/lib/tool-ui-spec.js +261 -0
- package/lib/tools-registry.js +286 -0
- package/lib/users-home-dock-preferences.js +77 -0
- package/lib/users-home-surface-preferences.js +99 -0
- package/lib/users-preferences.js +4 -7
- package/lib/users.js +12 -0
- package/lib/whats-new-content.js +3 -3
- package/lib/workspace-assignment-service.js +420 -0
- package/lib/workspace-query-mcp-server.js +154 -0
- package/lib/workspace-query-service.js +492 -0
- package/lib/ws-schema.js +93 -12
- package/lib/yoke/adapters/acp.js +2 -1
- package/lib/yoke/adapters/antigravity.js +2 -1
- package/lib/yoke/adapters/claude-worker.js +11 -4
- package/lib/yoke/adapters/claude.js +73 -43
- package/lib/yoke/adapters/codex.js +40 -10
- package/lib/yoke/adapters/kiro.js +2 -1
- package/lib/yoke/claude-user-input.js +38 -0
- package/lib/yoke/codex-app-server.js +20 -2
- package/lib/yoke/codex-user-input.js +64 -0
- package/lib/yoke/complete-once.js +164 -0
- package/lib/yoke/index.js +5 -1
- package/lib/yoke/interface.js +19 -0
- package/lib/yoke/mcp-bridge-server.js +2 -6
- package/lib/yoke/user-input.js +254 -0
- package/package.json +3 -2
- package/lib/public/css/home-chat.css +0 -380
- package/lib/public/modules/home-chat.js +0 -438
- package/lib/server-clay-home.js +0 -245
package/lib/public/css/mates.css
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
.mate-sidebar-avatar,
|
|
3
3
|
.mate-collapsed-avatar,
|
|
4
4
|
.dm-bubble-avatar,
|
|
5
|
-
.dm-bubble-avatar-me
|
|
6
|
-
.home-hub-mate-avatar {
|
|
5
|
+
.dm-bubble-avatar-me {
|
|
7
6
|
image-rendering: -webkit-optimize-contrast;
|
|
8
7
|
image-rendering: smooth;
|
|
9
8
|
-webkit-backface-visibility: hidden;
|
|
@@ -502,17 +501,11 @@
|
|
|
502
501
|
background: var(--border, #333);
|
|
503
502
|
}
|
|
504
503
|
|
|
505
|
-
/*
|
|
504
|
+
/* Mate colors are muted in the generated source; custom images stay intact. */
|
|
506
505
|
.icon-strip-mate .icon-strip-user-avatar {
|
|
507
506
|
border-radius: 8px;
|
|
508
|
-
filter: saturate(0.65);
|
|
509
|
-
}
|
|
510
|
-
.icon-strip-mate:hover .icon-strip-user-avatar,
|
|
511
|
-
.icon-strip-mate.mention-active .icon-strip-user-avatar {
|
|
512
|
-
filter: saturate(1);
|
|
513
507
|
}
|
|
514
508
|
.icon-strip-mate.active .icon-strip-user-avatar {
|
|
515
|
-
filter: saturate(1);
|
|
516
509
|
box-shadow: 0 0 0 2px var(--accent);
|
|
517
510
|
border-radius: 8px;
|
|
518
511
|
}
|
|
@@ -2916,31 +2909,11 @@ body.mate-dm-active .activity-inline:not(.mention-activity-bar):not(.mate-pre-ac
|
|
|
2916
2909
|
}
|
|
2917
2910
|
}
|
|
2918
2911
|
|
|
2919
|
-
/* ===
|
|
2920
|
-
/*
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
other users) but greys out and disables the Mates-specific bits. */
|
|
2925
|
-
|
|
2926
|
-
/* Always hide pure-Mates UI: rotating switch hint, individual mate
|
|
2927
|
-
avatars in the icon strip, the home-hub mates strip, and the
|
|
2928
|
-
"Ask Mate" button in the chat input. These never contain anything
|
|
2929
|
-
but mates, so they collapse in both modes. */
|
|
2930
|
-
body.mates-disabled .icon-strip-mate,
|
|
2931
|
-
body.mates-disabled #icon-strip-hint-mate,
|
|
2932
|
-
body.mates-disabled #home-hub-mates,
|
|
2933
|
-
body.mates-disabled #ask-mate-btn {
|
|
2934
|
-
display: none !important;
|
|
2935
|
-
}
|
|
2936
|
-
|
|
2937
|
-
/* Single-user only: collapse the whole icon-strip mate wrapper since it
|
|
2938
|
-
shares space with the user-strip but has no other users to display in
|
|
2939
|
-
single-user mode. The DM picker stays visible in both modes so the
|
|
2940
|
-
user always has a way to discover the toggle (single-user can't reach
|
|
2941
|
-
the picker today since the + button lives inside the wrapper, but if
|
|
2942
|
-
that ever changes the same disabled UX applies). */
|
|
2943
|
-
body.mates-disabled:not(.is-multi-user) #icon-strip-mate-section {
|
|
2912
|
+
/* === Project Mate DM gate === */
|
|
2913
|
+
/* This preference hides only legacy/project-local Mate DM shortcuts.
|
|
2914
|
+
Home, Mate mentions, creation, debates, and memory remain available. */
|
|
2915
|
+
body.project-mate-dms-disabled .icon-strip-mate,
|
|
2916
|
+
body.project-mate-dms-disabled #icon-strip-hint-mate {
|
|
2944
2917
|
display: none !important;
|
|
2945
2918
|
}
|
|
2946
2919
|
|
package/lib/public/css/pane.css
CHANGED
|
@@ -135,7 +135,7 @@ body.pane-mode #input-area {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
.split-pair-role-driver { color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, transparent); }
|
|
138
|
-
.split-pair-role-worker { color: var(--text-secondary); background: var(--bg-alt); }
|
|
138
|
+
.split-pair-role-split-worker { color: var(--text-secondary); background: var(--bg-alt); }
|
|
139
139
|
|
|
140
140
|
/* Pair roles are status labels. Control remains with the Driver through MCP. */
|
|
141
141
|
|
|
@@ -175,90 +175,10 @@
|
|
|
175
175
|
color: var(--text);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
-
/* --- Hub playbook cards --- */
|
|
179
|
-
.hub-playbooks {
|
|
180
|
-
animation: hubCardIn 0.4s ease 0.20s both;
|
|
181
|
-
}
|
|
182
|
-
.hub-playbooks-grid {
|
|
183
|
-
display: flex;
|
|
184
|
-
gap: 8px;
|
|
185
|
-
flex-wrap: wrap;
|
|
186
|
-
}
|
|
187
|
-
.hub-playbook-card {
|
|
188
|
-
display: flex;
|
|
189
|
-
align-items: center;
|
|
190
|
-
gap: 10px;
|
|
191
|
-
padding: 10px 14px;
|
|
192
|
-
background: rgba(var(--overlay-rgb), 0.03);
|
|
193
|
-
border: 1px solid var(--border-subtle);
|
|
194
|
-
border-radius: 10px;
|
|
195
|
-
cursor: pointer;
|
|
196
|
-
transition: background 0.15s, border-color 0.15s;
|
|
197
|
-
flex: 1;
|
|
198
|
-
min-width: 180px;
|
|
199
|
-
}
|
|
200
|
-
.hub-playbook-card:hover {
|
|
201
|
-
background: rgba(var(--overlay-rgb), 0.07);
|
|
202
|
-
border-color: var(--accent);
|
|
203
|
-
}
|
|
204
|
-
.hub-playbook-card.completed {
|
|
205
|
-
background: rgba(76, 175, 80, 0.08);
|
|
206
|
-
border-color: rgba(76, 175, 80, 0.25);
|
|
207
|
-
}
|
|
208
|
-
.hub-playbook-card.completed:hover {
|
|
209
|
-
background: rgba(76, 175, 80, 0.14);
|
|
210
|
-
border-color: rgba(76, 175, 80, 0.4);
|
|
211
|
-
}
|
|
212
|
-
.hub-playbook-card-icon {
|
|
213
|
-
font-size: 18px;
|
|
214
|
-
flex-shrink: 0;
|
|
215
|
-
}
|
|
216
|
-
.hub-playbook-card-body {
|
|
217
|
-
flex: 1;
|
|
218
|
-
min-width: 0;
|
|
219
|
-
}
|
|
220
|
-
.hub-playbook-card-title {
|
|
221
|
-
font-size: 13px;
|
|
222
|
-
font-weight: 600;
|
|
223
|
-
color: var(--text);
|
|
224
|
-
}
|
|
225
|
-
.hub-playbook-card-desc {
|
|
226
|
-
font-size: 11px;
|
|
227
|
-
color: var(--text-dimmer);
|
|
228
|
-
overflow: hidden;
|
|
229
|
-
text-overflow: ellipsis;
|
|
230
|
-
white-space: nowrap;
|
|
231
|
-
}
|
|
232
|
-
.hub-playbook-card-check {
|
|
233
|
-
color: var(--success);
|
|
234
|
-
font-size: 14px;
|
|
235
|
-
flex-shrink: 0;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/* --- Tip "Try it" button (inline after text) --- */
|
|
239
|
-
.hub-tip-try {
|
|
240
|
-
display: inline;
|
|
241
|
-
padding: 0;
|
|
242
|
-
border: none;
|
|
243
|
-
background: none;
|
|
244
|
-
color: var(--accent);
|
|
245
|
-
font-size: inherit;
|
|
246
|
-
font-weight: 600;
|
|
247
|
-
cursor: pointer;
|
|
248
|
-
margin-left: 6px;
|
|
249
|
-
font-family: inherit;
|
|
250
|
-
}
|
|
251
|
-
.hub-tip-try:hover {
|
|
252
|
-
background: var(--accent-12);
|
|
253
|
-
}
|
|
254
|
-
|
|
255
178
|
/* --- Mobile --- */
|
|
256
179
|
@media (max-width: 768px) {
|
|
257
180
|
.playbook-modal {
|
|
258
181
|
width: 95vw;
|
|
259
182
|
border-radius: 12px;
|
|
260
183
|
}
|
|
261
|
-
.hub-playbook-card {
|
|
262
|
-
min-width: 140px;
|
|
263
|
-
}
|
|
264
184
|
}
|
|
@@ -52,6 +52,25 @@
|
|
|
52
52
|
|
|
53
53
|
.sticky-notes-count.hidden { display: none; }
|
|
54
54
|
|
|
55
|
+
/* --- Clay brand stationery palette, independent of the selected editor skin --- */
|
|
56
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot) {
|
|
57
|
+
--note-surface: color-mix(in oklch, var(--note-tone) 40%, var(--brand-paper));
|
|
58
|
+
--note-border: color-mix(in oklch, var(--note-tone) 62%, #c7c7c1);
|
|
59
|
+
--note-ink: color-mix(in oklch, var(--note-tone) 20%, var(--brand-ink));
|
|
60
|
+
--note-swatch: color-mix(in srgb, var(--note-surface) 58%, transparent);
|
|
61
|
+
}
|
|
62
|
+
.dark-theme :is(.sticky-note, .notes-archive-card, .sticky-note-color-dot) {
|
|
63
|
+
--note-surface: color-mix(in oklch, var(--note-tone) 40%, var(--brand-ink));
|
|
64
|
+
--note-border: color-mix(in oklch, var(--note-tone) 60%, #393934);
|
|
65
|
+
--note-ink: color-mix(in oklch, var(--note-tone) 18%, var(--brand-paper));
|
|
66
|
+
}
|
|
67
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="purple"] { --note-tone: var(--brand-indigo); }
|
|
68
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="green"] { --note-tone: var(--brand-green); }
|
|
69
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="yellow"] { --note-tone: var(--brand-gold); }
|
|
70
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="blue"] { --note-tone: var(--brand-blue); }
|
|
71
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="pink"] { --note-tone: var(--brand-coral); }
|
|
72
|
+
:is(.sticky-note, .notes-archive-card, .sticky-note-color-dot)[data-color="orange"] { --note-tone: var(--brand-clay); }
|
|
73
|
+
|
|
55
74
|
/* --- Individual note --- */
|
|
56
75
|
.sticky-note.hidden { display: none; }
|
|
57
76
|
|
|
@@ -64,6 +83,11 @@
|
|
|
64
83
|
flex-direction: column;
|
|
65
84
|
min-width: 160px;
|
|
66
85
|
min-height: 80px;
|
|
86
|
+
border: 1px solid color-mix(in srgb, var(--note-border) calc(var(--note-opacity, 0.64) * 100%), transparent);
|
|
87
|
+
background: color-mix(in srgb, var(--note-surface) calc(var(--note-opacity, 0.64) * 100%), transparent);
|
|
88
|
+
-webkit-backdrop-filter: blur(7px) saturate(0.92) contrast(1.02);
|
|
89
|
+
backdrop-filter: blur(7px) saturate(0.92) contrast(1.02);
|
|
90
|
+
color: var(--note-ink);
|
|
67
91
|
transition: box-shadow 0.15s;
|
|
68
92
|
overflow: hidden;
|
|
69
93
|
}
|
|
@@ -88,22 +112,6 @@
|
|
|
88
112
|
transition: none;
|
|
89
113
|
}
|
|
90
114
|
|
|
91
|
-
/* --- Note color themes (light) --- */
|
|
92
|
-
.sticky-note[data-color="yellow"] { background: color-mix(in srgb, #FFF9C4 calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #EFD74E calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
93
|
-
.sticky-note[data-color="blue"] { background: color-mix(in srgb, #BBDEFB calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #64B5F6 calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
94
|
-
.sticky-note[data-color="green"] { background: color-mix(in srgb, #C8E6C9 calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #66BB6A calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
95
|
-
.sticky-note[data-color="pink"] { background: color-mix(in srgb, #F8BBD0 calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #F06292 calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
96
|
-
.sticky-note[data-color="orange"] { background: color-mix(in srgb, #FFE0B2 calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #FFA726 calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
97
|
-
.sticky-note[data-color="purple"] { background: color-mix(in srgb, #E1BEE7 calc(var(--note-opacity, 1) * 100%), transparent); border: 1px solid color-mix(in srgb, #AB47BC calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
98
|
-
|
|
99
|
-
/* --- Note color themes (dark) --- */
|
|
100
|
-
.dark-theme .sticky-note[data-color="yellow"] { background: color-mix(in srgb, #3D3A1E calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #8B7E2A calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
101
|
-
.dark-theme .sticky-note[data-color="blue"] { background: color-mix(in srgb, #1A2A3D calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #3A7BD5 calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
102
|
-
.dark-theme .sticky-note[data-color="green"] { background: color-mix(in srgb, #1A2D1A calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #4A8F4A calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
103
|
-
.dark-theme .sticky-note[data-color="pink"] { background: color-mix(in srgb, #3D1A2A calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #C44A72 calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
104
|
-
.dark-theme .sticky-note[data-color="orange"] { background: color-mix(in srgb, #3D2A1A calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #C47A3A calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
105
|
-
.dark-theme .sticky-note[data-color="purple"] { background: color-mix(in srgb, #2A1A3D calc(var(--note-opacity, 1) * 100%), transparent); border-color: color-mix(in srgb, #8A4AAA calc(var(--note-opacity, 1) * 100%), transparent); }
|
|
106
|
-
|
|
107
115
|
/* --- Header (drag bar) --- */
|
|
108
116
|
.sticky-note-header {
|
|
109
117
|
display: flex;
|
|
@@ -113,8 +121,8 @@
|
|
|
113
121
|
user-select: none;
|
|
114
122
|
flex-shrink: 0;
|
|
115
123
|
}
|
|
116
|
-
/*
|
|
117
|
-
.sticky-note .sticky-note-body { opacity: var(--note-opacity,
|
|
124
|
+
/* Keep writing legible while the stationery surface becomes translucent. */
|
|
125
|
+
.sticky-note .sticky-note-body { opacity: max(0.78, var(--note-opacity, 0.64)); }
|
|
118
126
|
/* On hover, header stays fully visible */
|
|
119
127
|
.sticky-note:hover .sticky-note-header { opacity: 1; }
|
|
120
128
|
|
|
@@ -159,7 +167,7 @@
|
|
|
159
167
|
}
|
|
160
168
|
|
|
161
169
|
.sticky-note:hover .sticky-note-header button { opacity: 0.5; }
|
|
162
|
-
.sticky-note .sticky-note-header button:hover { opacity: 0.9; background:
|
|
170
|
+
.sticky-note .sticky-note-header button:hover { opacity: 0.9; background: color-mix(in srgb, var(--note-ink) 8%, transparent); }
|
|
163
171
|
|
|
164
172
|
/* Opacity slider */
|
|
165
173
|
.sticky-note-opacity {
|
|
@@ -178,7 +186,7 @@
|
|
|
178
186
|
appearance: none;
|
|
179
187
|
width: 32px;
|
|
180
188
|
height: 2px;
|
|
181
|
-
background:
|
|
189
|
+
background: color-mix(in srgb, var(--note-ink) 18%, transparent);
|
|
182
190
|
border-radius: 1px;
|
|
183
191
|
cursor: pointer;
|
|
184
192
|
margin: 0;
|
|
@@ -189,7 +197,7 @@
|
|
|
189
197
|
width: 8px;
|
|
190
198
|
height: 8px;
|
|
191
199
|
border-radius: 50%;
|
|
192
|
-
background:
|
|
200
|
+
background: color-mix(in srgb, var(--note-ink) 42%, transparent);
|
|
193
201
|
border: none;
|
|
194
202
|
cursor: pointer;
|
|
195
203
|
}
|
|
@@ -197,32 +205,15 @@
|
|
|
197
205
|
width: 8px;
|
|
198
206
|
height: 8px;
|
|
199
207
|
border-radius: 50%;
|
|
200
|
-
background:
|
|
208
|
+
background: color-mix(in srgb, var(--note-ink) 42%, transparent);
|
|
201
209
|
border: none;
|
|
202
210
|
cursor: pointer;
|
|
203
211
|
}
|
|
204
|
-
.
|
|
205
|
-
.dark-theme .sticky-note-opacity-slider::-webkit-slider-thumb { background: rgba(255,255,255,0.4); }
|
|
206
|
-
.dark-theme .sticky-note-opacity-slider::-moz-range-thumb { background: rgba(255,255,255,0.4); }
|
|
207
|
-
.dark-theme .sticky-note-opacity-slider { accent-color: rgba(255,255,255,0.4); }
|
|
212
|
+
.sticky-note-opacity-slider { accent-color: var(--note-ink); }
|
|
208
213
|
|
|
209
214
|
.sticky-note-header button .lucide { width: 13px; height: 13px; }
|
|
210
215
|
|
|
211
|
-
|
|
212
|
-
.sticky-note[data-color="yellow"] .sticky-note-header button { color: #6D5E00; }
|
|
213
|
-
.sticky-note[data-color="blue"] .sticky-note-header button { color: #0D47A1; }
|
|
214
|
-
.sticky-note[data-color="green"] .sticky-note-header button { color: #1B5E20; }
|
|
215
|
-
.sticky-note[data-color="pink"] .sticky-note-header button { color: #880E4F; }
|
|
216
|
-
.sticky-note[data-color="orange"] .sticky-note-header button { color: #E65100; }
|
|
217
|
-
.sticky-note[data-color="purple"] .sticky-note-header button { color: #4A148C; }
|
|
218
|
-
|
|
219
|
-
/* Text colors per note color (dark) */
|
|
220
|
-
.dark-theme .sticky-note[data-color="yellow"] .sticky-note-header button { color: #E8E0A8; }
|
|
221
|
-
.dark-theme .sticky-note[data-color="blue"] .sticky-note-header button { color: #B0D4F1; }
|
|
222
|
-
.dark-theme .sticky-note[data-color="green"] .sticky-note-header button { color: #B0D8B0; }
|
|
223
|
-
.dark-theme .sticky-note[data-color="pink"] .sticky-note-header button { color: #F0B8CC; }
|
|
224
|
-
.dark-theme .sticky-note[data-color="orange"] .sticky-note-header button { color: #F0D0A8; }
|
|
225
|
-
.dark-theme .sticky-note[data-color="purple"] .sticky-note-header button { color: #D8B8F0; }
|
|
216
|
+
.sticky-note .sticky-note-header button { color: var(--note-ink); }
|
|
226
217
|
|
|
227
218
|
/* --- Placeholder for empty contenteditable --- */
|
|
228
219
|
.sticky-note-rendered.is-empty::before {
|
|
@@ -263,21 +254,7 @@
|
|
|
263
254
|
color: inherit;
|
|
264
255
|
}
|
|
265
256
|
|
|
266
|
-
|
|
267
|
-
.sticky-note[data-color="yellow"] .sticky-note-body { color: #5D4E00; }
|
|
268
|
-
.sticky-note[data-color="blue"] .sticky-note-body { color: #0D47A1; }
|
|
269
|
-
.sticky-note[data-color="green"] .sticky-note-body { color: #1B5E20; }
|
|
270
|
-
.sticky-note[data-color="pink"] .sticky-note-body { color: #880E4F; }
|
|
271
|
-
.sticky-note[data-color="orange"] .sticky-note-body { color: #E65100; }
|
|
272
|
-
.sticky-note[data-color="purple"] .sticky-note-body { color: #4A148C; }
|
|
273
|
-
|
|
274
|
-
/* Body text colors (dark) */
|
|
275
|
-
.dark-theme .sticky-note[data-color="yellow"] .sticky-note-body { color: #E8E0A8; }
|
|
276
|
-
.dark-theme .sticky-note[data-color="blue"] .sticky-note-body { color: #B0D4F1; }
|
|
277
|
-
.dark-theme .sticky-note[data-color="green"] .sticky-note-body { color: #B0D8B0; }
|
|
278
|
-
.dark-theme .sticky-note[data-color="pink"] .sticky-note-body { color: #F0B8CC; }
|
|
279
|
-
.dark-theme .sticky-note[data-color="orange"] .sticky-note-body { color: #F0D0A8; }
|
|
280
|
-
.dark-theme .sticky-note[data-color="purple"] .sticky-note-body { color: #D8B8F0; }
|
|
257
|
+
.sticky-note .sticky-note-body { color: var(--note-ink); }
|
|
281
258
|
|
|
282
259
|
.sticky-note-text::placeholder {
|
|
283
260
|
opacity: 0.35;
|
|
@@ -451,17 +428,13 @@
|
|
|
451
428
|
transition: transform 0.1s, border-color 0.15s;
|
|
452
429
|
padding: 0;
|
|
453
430
|
background: none;
|
|
431
|
+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--note-border) 68%, transparent);
|
|
454
432
|
}
|
|
455
433
|
|
|
456
434
|
.sticky-note-color-dot:hover { transform: scale(1.2); }
|
|
457
435
|
.sticky-note-color-dot.active { border-color: var(--text); }
|
|
458
436
|
|
|
459
|
-
.sticky-note-color-dot
|
|
460
|
-
.sticky-note-color-dot[data-color="blue"] { background: #64B5F6; }
|
|
461
|
-
.sticky-note-color-dot[data-color="green"] { background: #66BB6A; }
|
|
462
|
-
.sticky-note-color-dot[data-color="pink"] { background: #F06292; }
|
|
463
|
-
.sticky-note-color-dot[data-color="orange"] { background: #FFA726; }
|
|
464
|
-
.sticky-note-color-dot[data-color="purple"] { background: #AB47BC; }
|
|
437
|
+
.sticky-note-color-dot { background: var(--note-swatch); }
|
|
465
438
|
|
|
466
439
|
/* --- Format toolbar (WYSIWYG selection popup) --- */
|
|
467
440
|
.sn-format-toolbar {
|
|
@@ -526,12 +499,9 @@
|
|
|
526
499
|
}
|
|
527
500
|
.sticky-note-md-btn.active {
|
|
528
501
|
opacity: 1 !important;
|
|
529
|
-
background:
|
|
502
|
+
background: color-mix(in srgb, var(--note-ink) 12%, transparent) !important;
|
|
530
503
|
border-radius: 4px;
|
|
531
504
|
}
|
|
532
|
-
.dark-theme .sticky-note-md-btn.active {
|
|
533
|
-
background: rgba(255, 255, 255, 0.15) !important;
|
|
534
|
-
}
|
|
535
505
|
|
|
536
506
|
.sn-fmt-bold { font-weight: 800; }
|
|
537
507
|
.sn-fmt-italic { font-style: italic; }
|
|
@@ -697,6 +667,9 @@
|
|
|
697
667
|
flex-direction: column;
|
|
698
668
|
min-height: 80px;
|
|
699
669
|
max-height: 200px;
|
|
670
|
+
border: 1px solid var(--note-border);
|
|
671
|
+
background: var(--note-surface);
|
|
672
|
+
color: var(--note-ink);
|
|
700
673
|
transition: transform 0.15s, box-shadow 0.15s;
|
|
701
674
|
box-shadow: 0 1px 4px rgba(var(--shadow-rgb), 0.1);
|
|
702
675
|
}
|
|
@@ -706,22 +679,6 @@
|
|
|
706
679
|
box-shadow: 0 4px 16px rgba(var(--shadow-rgb), 0.18);
|
|
707
680
|
}
|
|
708
681
|
|
|
709
|
-
/* Card colors (light) */
|
|
710
|
-
.notes-archive-card[data-color="yellow"] { background: #FFF9C4; border: 1px solid #EFD74E; }
|
|
711
|
-
.notes-archive-card[data-color="blue"] { background: #BBDEFB; border: 1px solid #64B5F6; }
|
|
712
|
-
.notes-archive-card[data-color="green"] { background: #C8E6C9; border: 1px solid #66BB6A; }
|
|
713
|
-
.notes-archive-card[data-color="pink"] { background: #F8BBD0; border: 1px solid #F06292; }
|
|
714
|
-
.notes-archive-card[data-color="orange"] { background: #FFE0B2; border: 1px solid #FFA726; }
|
|
715
|
-
.notes-archive-card[data-color="purple"] { background: #E1BEE7; border: 1px solid #AB47BC; }
|
|
716
|
-
|
|
717
|
-
/* Card colors (dark) */
|
|
718
|
-
.dark-theme .notes-archive-card[data-color="yellow"] { background: #3D3A1E; border-color: #8B7E2A; }
|
|
719
|
-
.dark-theme .notes-archive-card[data-color="blue"] { background: #1A2A3D; border-color: #3A7BD5; }
|
|
720
|
-
.dark-theme .notes-archive-card[data-color="green"] { background: #1A2D1A; border-color: #4A8F4A; }
|
|
721
|
-
.dark-theme .notes-archive-card[data-color="pink"] { background: #3D1A2A; border-color: #C44A72; }
|
|
722
|
-
.dark-theme .notes-archive-card[data-color="orange"] { background: #3D2A1A; border-color: #C47A3A; }
|
|
723
|
-
.dark-theme .notes-archive-card[data-color="purple"] { background: #2A1A3D; border-color: #8A4AAA; }
|
|
724
|
-
|
|
725
682
|
/* Archived (hidden from canvas) cards — dimmed with indicator */
|
|
726
683
|
.notes-archive-card.archived {
|
|
727
684
|
opacity: 0.55;
|
|
@@ -750,21 +707,7 @@
|
|
|
750
707
|
min-width: 0;
|
|
751
708
|
}
|
|
752
709
|
|
|
753
|
-
|
|
754
|
-
.notes-archive-card[data-color="yellow"] .notes-archive-card-title { color: #6D5E00; }
|
|
755
|
-
.notes-archive-card[data-color="blue"] .notes-archive-card-title { color: #0D47A1; }
|
|
756
|
-
.notes-archive-card[data-color="green"] .notes-archive-card-title { color: #1B5E20; }
|
|
757
|
-
.notes-archive-card[data-color="pink"] .notes-archive-card-title { color: #880E4F; }
|
|
758
|
-
.notes-archive-card[data-color="orange"] .notes-archive-card-title { color: #E65100; }
|
|
759
|
-
.notes-archive-card[data-color="purple"] .notes-archive-card-title { color: #4A148C; }
|
|
760
|
-
|
|
761
|
-
/* Title text colors (dark) */
|
|
762
|
-
.dark-theme .notes-archive-card[data-color="yellow"] .notes-archive-card-title { color: #E8E0A8; }
|
|
763
|
-
.dark-theme .notes-archive-card[data-color="blue"] .notes-archive-card-title { color: #B0D4F1; }
|
|
764
|
-
.dark-theme .notes-archive-card[data-color="green"] .notes-archive-card-title { color: #B0D8B0; }
|
|
765
|
-
.dark-theme .notes-archive-card[data-color="pink"] .notes-archive-card-title { color: #F0B8CC; }
|
|
766
|
-
.dark-theme .notes-archive-card[data-color="orange"] .notes-archive-card-title { color: #F0D0A8; }
|
|
767
|
-
.dark-theme .notes-archive-card[data-color="purple"] .notes-archive-card-title { color: #D8B8F0; }
|
|
710
|
+
.notes-archive-card-title { color: var(--note-ink); }
|
|
768
711
|
|
|
769
712
|
/* --- Delete button --- */
|
|
770
713
|
.notes-archive-card-delete {
|
|
@@ -785,7 +728,7 @@
|
|
|
785
728
|
|
|
786
729
|
.notes-archive-card-delete .lucide { width: 14px; height: 14px; }
|
|
787
730
|
.notes-archive-card:hover .notes-archive-card-delete { opacity: 0.5; }
|
|
788
|
-
.notes-archive-card-delete:hover { opacity: 1 !important; background:
|
|
731
|
+
.notes-archive-card-delete:hover { opacity: 1 !important; background: color-mix(in srgb, var(--note-ink) 9%, transparent); }
|
|
789
732
|
|
|
790
733
|
/* --- Restore button (archived cards) --- */
|
|
791
734
|
.notes-archive-card-restore {
|
|
@@ -794,7 +737,7 @@
|
|
|
794
737
|
gap: 4px;
|
|
795
738
|
height: 24px;
|
|
796
739
|
border: none;
|
|
797
|
-
background:
|
|
740
|
+
background: color-mix(in srgb, var(--note-ink) 7%, transparent);
|
|
798
741
|
border-radius: 6px;
|
|
799
742
|
cursor: pointer;
|
|
800
743
|
flex-shrink: 0;
|
|
@@ -807,9 +750,7 @@
|
|
|
807
750
|
transition: opacity 0.15s, background 0.15s;
|
|
808
751
|
}
|
|
809
752
|
.notes-archive-card-restore .lucide { width: 12px; height: 12px; }
|
|
810
|
-
.notes-archive-card-restore:hover { opacity: 1; background:
|
|
811
|
-
.dark-theme .notes-archive-card-restore { background: rgba(255, 255, 255, 0.08); }
|
|
812
|
-
.dark-theme .notes-archive-card-restore:hover { background: rgba(255, 255, 255, 0.14); }
|
|
753
|
+
.notes-archive-card-restore:hover { opacity: 1; background: color-mix(in srgb, var(--note-ink) 12%, transparent); }
|
|
813
754
|
|
|
814
755
|
/* Confirm-delete state: red trash */
|
|
815
756
|
.notes-archive-card.confirm-delete .notes-archive-card-delete {
|
|
@@ -837,21 +778,7 @@
|
|
|
837
778
|
word-break: break-word;
|
|
838
779
|
}
|
|
839
780
|
|
|
840
|
-
|
|
841
|
-
.notes-archive-card[data-color="yellow"] .notes-archive-card-body { color: #5D4E00; }
|
|
842
|
-
.notes-archive-card[data-color="blue"] .notes-archive-card-body { color: #0D47A1; }
|
|
843
|
-
.notes-archive-card[data-color="green"] .notes-archive-card-body { color: #1B5E20; }
|
|
844
|
-
.notes-archive-card[data-color="pink"] .notes-archive-card-body { color: #880E4F; }
|
|
845
|
-
.notes-archive-card[data-color="orange"] .notes-archive-card-body { color: #E65100; }
|
|
846
|
-
.notes-archive-card[data-color="purple"] .notes-archive-card-body { color: #4A148C; }
|
|
847
|
-
|
|
848
|
-
/* Body text colors (dark) */
|
|
849
|
-
.dark-theme .notes-archive-card[data-color="yellow"] .notes-archive-card-body { color: #E8E0A8; }
|
|
850
|
-
.dark-theme .notes-archive-card[data-color="blue"] .notes-archive-card-body { color: #B0D4F1; }
|
|
851
|
-
.dark-theme .notes-archive-card[data-color="green"] .notes-archive-card-body { color: #B0D8B0; }
|
|
852
|
-
.dark-theme .notes-archive-card[data-color="pink"] .notes-archive-card-body { color: #F0B8CC; }
|
|
853
|
-
.dark-theme .notes-archive-card[data-color="orange"] .notes-archive-card-body { color: #F0D0A8; }
|
|
854
|
-
.dark-theme .notes-archive-card[data-color="purple"] .notes-archive-card-body { color: #D8B8F0; }
|
|
781
|
+
.notes-archive-card-body { color: var(--note-ink); }
|
|
855
782
|
|
|
856
783
|
.notes-archive-card-body code {
|
|
857
784
|
font-family: "Roboto Mono", monospace;
|
|
@@ -864,6 +791,15 @@
|
|
|
864
791
|
background: rgba(255,255,255,0.08);
|
|
865
792
|
}
|
|
866
793
|
|
|
794
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
795
|
+
.sticky-note {
|
|
796
|
+
-webkit-backdrop-filter: none;
|
|
797
|
+
backdrop-filter: none;
|
|
798
|
+
border-color: var(--note-border);
|
|
799
|
+
background: var(--note-surface);
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
867
803
|
/* --- Sidebar button active state --- */
|
|
868
804
|
#sticky-notes-sidebar-btn.active {
|
|
869
805
|
background: var(--sidebar-active);
|
|
@@ -534,50 +534,6 @@ body.tui-suspended #tui-resume-bar {
|
|
|
534
534
|
transform: scale(1.2);
|
|
535
535
|
}
|
|
536
536
|
|
|
537
|
-
/* ============================================================
|
|
538
|
-
Home page "What's New" index (title-only list, blog-style)
|
|
539
|
-
============================================================ */
|
|
540
|
-
.hub-whats-new {
|
|
541
|
-
display: flex;
|
|
542
|
-
flex-direction: column;
|
|
543
|
-
}
|
|
544
|
-
.hub-whats-new-item {
|
|
545
|
-
display: flex;
|
|
546
|
-
align-items: baseline;
|
|
547
|
-
gap: 12px;
|
|
548
|
-
padding: 10px 4px;
|
|
549
|
-
border: none;
|
|
550
|
-
background: transparent;
|
|
551
|
-
text-align: left;
|
|
552
|
-
cursor: pointer;
|
|
553
|
-
color: var(--text);
|
|
554
|
-
border-bottom: 1px solid var(--border);
|
|
555
|
-
transition: background 120ms ease;
|
|
556
|
-
width: 100%;
|
|
557
|
-
}
|
|
558
|
-
.hub-whats-new-item:last-child {
|
|
559
|
-
border-bottom: none;
|
|
560
|
-
}
|
|
561
|
-
.hub-whats-new-item:hover {
|
|
562
|
-
background: rgba(var(--overlay-rgb), 0.04);
|
|
563
|
-
}
|
|
564
|
-
.hub-whats-new-item-date {
|
|
565
|
-
font-size: 11px;
|
|
566
|
-
color: var(--text-dimmer);
|
|
567
|
-
flex-shrink: 0;
|
|
568
|
-
width: 84px;
|
|
569
|
-
font-variant-numeric: tabular-nums;
|
|
570
|
-
}
|
|
571
|
-
.hub-whats-new-item-title {
|
|
572
|
-
margin: 0;
|
|
573
|
-
font-size: 14px;
|
|
574
|
-
font-weight: 500;
|
|
575
|
-
line-height: 1.4;
|
|
576
|
-
color: var(--text);
|
|
577
|
-
flex: 1 1 auto;
|
|
578
|
-
min-width: 0;
|
|
579
|
-
}
|
|
580
|
-
|
|
581
537
|
/* ============================================================
|
|
582
538
|
Whats New article (blog-style reading view)
|
|
583
539
|
============================================================
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.workspace-assignment-card {
|
|
2
|
+
width: min(620px, calc(100% - 32px));
|
|
3
|
+
margin: 14px auto;
|
|
4
|
+
padding: 15px 16px;
|
|
5
|
+
border: 1px solid var(--border);
|
|
6
|
+
border-radius: 12px;
|
|
7
|
+
background: var(--bg-alt);
|
|
8
|
+
color: var(--text);
|
|
9
|
+
box-shadow: 0 8px 24px rgba(var(--overlay-rgb), 0.08);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.workspace-assignment-header { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
|
|
13
|
+
.workspace-assignment-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: var(--accent); background: var(--accent-bg); }
|
|
14
|
+
.workspace-assignment-mark .lucide { width: 15px; height: 15px; stroke-width: 1.8; }
|
|
15
|
+
.workspace-assignment-heading { min-width: 0; }
|
|
16
|
+
.workspace-assignment-kicker { display: block; color: var(--text-dimmer); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; }
|
|
17
|
+
.workspace-assignment-title { margin: 2px 0 0; overflow: hidden; color: var(--text); font: inherit; font-size: 14px; font-weight: 650; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
|
|
18
|
+
.workspace-assignment-status { padding: 4px 7px; border-radius: 999px; color: var(--text-muted); background: var(--code-bg); font-size: 10px; white-space: nowrap; }
|
|
19
|
+
.workspace-assignment-target { margin: 13px 0 5px; color: var(--accent); font-size: 11px; font-weight: 600; }
|
|
20
|
+
.workspace-assignment-task { margin: 0; color: var(--text-muted); font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
|
|
21
|
+
.workspace-assignment-error, .workspace-assignment-result { margin: 11px 0 0; padding: 8px 10px; border-radius: 8px; font-size: 11px; line-height: 1.45; white-space: pre-wrap; }
|
|
22
|
+
.workspace-assignment-error { color: var(--error); background: var(--error-8); }
|
|
23
|
+
.workspace-assignment-result { color: var(--text-muted); background: var(--code-bg); }
|
|
24
|
+
.workspace-assignment-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 13px; }
|
|
25
|
+
.workspace-assignment-action { min-height: 34px; padding: 0 13px; border-radius: 8px; font: inherit; font-size: 11px; font-weight: 650; cursor: pointer; }
|
|
26
|
+
.workspace-assignment-action.secondary { border: 1px solid var(--border); background: transparent; color: var(--text-muted); }
|
|
27
|
+
.workspace-assignment-action.primary { border: 1px solid var(--accent); background: var(--accent); color: var(--accent-text, #fff); }
|
|
28
|
+
.workspace-assignment-action:not(:disabled):hover { filter: brightness(1.06); }
|
|
29
|
+
.workspace-assignment-action:disabled { cursor: default; opacity: 0.58; }
|
|
30
|
+
.workspace-assignment-action:focus-visible, .workspace-assignment-resolved:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
31
|
+
.workspace-assignment-resolved { color: var(--text-muted); font-size: 11px; }
|
|
32
|
+
.workspace-assignment-card[data-status="running"] .workspace-assignment-status,
|
|
33
|
+
.workspace-assignment-card[data-status="starting"] .workspace-assignment-status { color: var(--accent); background: var(--accent-bg); }
|
|
34
|
+
.workspace-assignment-card[data-status="completed"] { border-color: color-mix(in srgb, var(--success) 38%, var(--border)); }
|
|
35
|
+
.workspace-assignment-card[data-status="completed"] .workspace-assignment-status { color: var(--success); }
|
|
36
|
+
.workspace-assignment-card[data-status="failed"] .workspace-assignment-status,
|
|
37
|
+
.workspace-assignment-card[data-status="interrupted"] .workspace-assignment-status { color: var(--error); }
|
|
38
|
+
|
|
39
|
+
@media (max-width: 600px) {
|
|
40
|
+
.workspace-assignment-card { width: calc(100% - 24px); padding: 14px; }
|
|
41
|
+
.workspace-assignment-header { grid-template-columns: 28px minmax(0, 1fr); }
|
|
42
|
+
.workspace-assignment-status { grid-column: 2; justify-self: start; }
|
|
43
|
+
.workspace-assignment-actions { align-items: stretch; }
|
|
44
|
+
.workspace-assignment-action { flex: 1; }
|
|
45
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
|
|
5
|
+
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|