@zihanw/pi-forge 0.5.3 → 0.5.5
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/CHANGELOG.md +84 -0
- package/README.md +67 -103
- package/README.zh-CN.md +67 -95
- package/assets/pi-forge-header-concept-1.png +0 -0
- package/assets/readme/PROVENANCE.md +95 -0
- package/assets/readme/en/capability-tools.gif +0 -0
- package/assets/readme/en/context-composition.gif +0 -0
- package/assets/readme/en/context-toggle.gif +0 -0
- package/assets/readme/en/draft-diff.png +0 -0
- package/assets/readme/en/edit-draft-diff.gif +0 -0
- package/assets/readme/en/editor-overview-v3.png +0 -0
- package/assets/readme/en/editor-overview.png +0 -0
- package/assets/readme/en/mode-tools.gif +0 -0
- package/assets/readme/en/regex-transforms.gif +0 -0
- package/assets/readme/en/tool-selection.gif +0 -0
- package/assets/readme/tui-quickstart.gif +0 -0
- package/assets/readme/zh-CN/capability-tools.gif +0 -0
- package/assets/readme/zh-CN/context-composition.gif +0 -0
- package/assets/readme/zh-CN/context-toggle.gif +0 -0
- package/assets/readme/zh-CN/draft-diff.png +0 -0
- package/assets/readme/zh-CN/edit-draft-diff.gif +0 -0
- package/assets/readme/zh-CN/editor-overview-v3.png +0 -0
- package/assets/readme/zh-CN/editor-overview.png +0 -0
- package/assets/readme/zh-CN/mode-tools.gif +0 -0
- package/assets/readme/zh-CN/regex-transforms.gif +0 -0
- package/assets/readme/zh-CN/tool-selection.gif +0 -0
- package/dist/active-state.d.ts +148 -0
- package/dist/active-state.d.ts.map +1 -0
- package/dist/active-state.js +374 -0
- package/dist/active-state.js.map +1 -0
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-profile.js +11 -0
- package/dist/agent-profile.js.map +1 -1
- package/dist/capabilities.d.ts +39 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +160 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/capability-anchors.d.ts +45 -0
- package/dist/capability-anchors.d.ts.map +1 -0
- package/dist/capability-anchors.js +263 -0
- package/dist/capability-anchors.js.map +1 -0
- package/dist/capability-command.d.ts +4 -0
- package/dist/capability-command.d.ts.map +1 -0
- package/dist/capability-command.js +164 -0
- package/dist/capability-command.js.map +1 -0
- package/dist/capability-events.d.ts +79 -0
- package/dist/capability-events.d.ts.map +1 -0
- package/dist/capability-events.js +478 -0
- package/dist/capability-events.js.map +1 -0
- package/dist/capability-projection.d.ts +22 -0
- package/dist/capability-projection.d.ts.map +1 -0
- package/dist/capability-projection.js +273 -0
- package/dist/capability-projection.js.map +1 -0
- package/dist/capability-protocol.d.ts +21 -0
- package/dist/capability-protocol.d.ts.map +1 -0
- package/dist/capability-protocol.js +15 -0
- package/dist/capability-protocol.js.map +1 -0
- package/dist/capability-state.d.ts +74 -0
- package/dist/capability-state.d.ts.map +1 -0
- package/dist/capability-state.js +43 -0
- package/dist/capability-state.js.map +1 -0
- package/dist/capability-tool.d.ts +11 -0
- package/dist/capability-tool.d.ts.map +1 -0
- package/dist/capability-tool.js +25 -0
- package/dist/capability-tool.js.map +1 -0
- package/dist/capability-web-host.d.ts +11 -0
- package/dist/capability-web-host.d.ts.map +1 -0
- package/dist/capability-web-host.js +105 -0
- package/dist/capability-web-host.js.map +1 -0
- package/dist/codecs/capability.d.ts +71 -0
- package/dist/codecs/capability.d.ts.map +1 -0
- package/dist/codecs/capability.js +363 -0
- package/dist/codecs/capability.js.map +1 -0
- package/dist/codecs/prompt-stack.d.ts +1 -1
- package/dist/codecs/prompt-stack.d.ts.map +1 -1
- package/dist/codecs/prompt-stack.js +140 -13
- package/dist/codecs/prompt-stack.js.map +1 -1
- package/dist/command-contribution/index.d.ts +21 -0
- package/dist/command-contribution/index.d.ts.map +1 -0
- package/dist/command-contribution/index.js +14 -0
- package/dist/command-contribution/index.js.map +1 -0
- package/dist/compile-cycle.d.ts +7 -1
- package/dist/compile-cycle.d.ts.map +1 -1
- package/dist/compile-cycle.js +2 -0
- package/dist/compile-cycle.js.map +1 -1
- package/dist/compiler.d.ts +7 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +140 -19
- package/dist/compiler.js.map +1 -1
- package/dist/context-diff-history.d.ts +2 -0
- package/dist/context-diff-history.d.ts.map +1 -1
- package/dist/context-diff-history.js +9 -0
- package/dist/context-diff-history.js.map +1 -1
- package/dist/forge-command.d.ts +10 -0
- package/dist/forge-command.d.ts.map +1 -0
- package/dist/forge-command.js +106 -0
- package/dist/forge-command.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -7
- package/dist/index.js.map +1 -1
- package/dist/json-fingerprint.d.ts +11 -0
- package/dist/json-fingerprint.d.ts.map +1 -0
- package/dist/json-fingerprint.js +66 -0
- package/dist/json-fingerprint.js.map +1 -0
- package/dist/lifecycle.d.ts +14 -0
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +175 -66
- package/dist/lifecycle.js.map +1 -1
- package/dist/payload-command.d.ts +2 -2
- package/dist/payload-command.d.ts.map +1 -1
- package/dist/payload-command.js +80 -26
- package/dist/payload-command.js.map +1 -1
- package/dist/payload-state.d.ts +1 -0
- package/dist/payload-state.d.ts.map +1 -1
- package/dist/payload-state.js +1 -0
- package/dist/payload-state.js.map +1 -1
- package/dist/policy.d.ts +2 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +3 -0
- package/dist/policy.js.map +1 -1
- package/dist/preset-command.d.ts +2 -0
- package/dist/preset-command.d.ts.map +1 -1
- package/dist/preset-command.js +101 -36
- package/dist/preset-command.js.map +1 -1
- package/dist/preview-text.d.ts +5 -0
- package/dist/preview-text.d.ts.map +1 -0
- package/dist/preview-text.js +27 -0
- package/dist/preview-text.js.map +1 -0
- package/dist/preview.d.ts +18 -1
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +134 -99
- package/dist/preview.js.map +1 -1
- package/dist/profile-command.d.ts +4 -1
- package/dist/profile-command.d.ts.map +1 -1
- package/dist/profile-command.js +77 -14
- package/dist/profile-command.js.map +1 -1
- package/dist/prompt-cache-warning.d.ts +23 -0
- package/dist/prompt-cache-warning.d.ts.map +1 -0
- package/dist/prompt-cache-warning.js +74 -0
- package/dist/prompt-cache-warning.js.map +1 -0
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +5 -0
- package/dist/regex.js.map +1 -1
- package/dist/render-helpers.d.ts.map +1 -1
- package/dist/render-helpers.js +2 -0
- package/dist/render-helpers.js.map +1 -1
- package/dist/repositories/capability.d.ts +53 -0
- package/dist/repositories/capability.d.ts.map +1 -0
- package/dist/repositories/capability.js +294 -0
- package/dist/repositories/capability.js.map +1 -0
- package/dist/runtime/capability-runtime.d.ts +91 -0
- package/dist/runtime/capability-runtime.d.ts.map +1 -0
- package/dist/runtime/capability-runtime.js +967 -0
- package/dist/runtime/capability-runtime.js.map +1 -0
- package/dist/runtime/tool-policy-runtime.d.ts +8 -0
- package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
- package/dist/runtime/tool-policy-runtime.js +171 -30
- package/dist/runtime/tool-policy-runtime.js.map +1 -1
- package/dist/session-adapter.d.ts +13 -0
- package/dist/session-adapter.d.ts.map +1 -1
- package/dist/session-adapter.js +110 -0
- package/dist/session-adapter.js.map +1 -1
- package/dist/session-usage.d.ts +65 -0
- package/dist/session-usage.d.ts.map +1 -0
- package/dist/session-usage.js +134 -0
- package/dist/session-usage.js.map +1 -0
- package/dist/subagent/fingerprints.d.ts +3 -15
- package/dist/subagent/fingerprints.d.ts.map +1 -1
- package/dist/subagent/fingerprints.js +5 -69
- package/dist/subagent/fingerprints.js.map +1 -1
- package/dist/subagent/index.d.ts +2 -0
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js +2 -0
- package/dist/subagent/index.js.map +1 -1
- package/dist/subagent-host.d.ts +2 -2
- package/dist/subagent-host.d.ts.map +1 -1
- package/dist/subagent-host.js +13 -1
- package/dist/subagent-host.js.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/web-editor/client-script.generated.d.ts.map +1 -1
- package/dist/web-editor/client-script.generated.js +1 -1
- package/dist/web-editor/client-script.generated.js.map +1 -1
- package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
- package/dist/web-editor/client-styles.generated.js +1 -1
- package/dist/web-editor/client-styles.generated.js.map +1 -1
- package/dist/web-editor/server.d.ts.map +1 -1
- package/dist/web-editor/server.js +152 -4
- package/dist/web-editor/server.js.map +1 -1
- package/dist/web-editor/styles.d.ts.map +1 -1
- package/dist/web-editor/styles.js +521 -116
- package/dist/web-editor/styles.js.map +1 -1
- package/dist/web-editor/types.d.ts +81 -1
- package/dist/web-editor/types.d.ts.map +1 -1
- package/dist/web-host.d.ts +7 -0
- package/dist/web-host.d.ts.map +1 -1
- package/dist/web-host.js +168 -5
- package/dist/web-host.js.map +1 -1
- package/dist/workspace.d.ts +11 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +63 -5
- package/dist/workspace.js.map +1 -1
- package/docs/README.md +4 -0
- package/docs/design/README.md +3 -1
- package/docs/design/architecture-0.5.md +22 -0
- package/docs/design/archive/2026-09-12-system-update-design.md +229 -0
- package/docs/design/pi-forge-system-update-design-notes.md +157 -0
- package/docs/development/release.md +20 -20
- package/docs/development/roadmap.md +17 -2
- package/docs/development/scoped-global-profiles-stacks.md +1 -1
- package/docs/development/setup.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/guides/delegation.md +22 -20
- package/docs/guides/migrating-to-0.5.md +29 -0
- package/docs/guides/use-cases.md +6 -2
- package/docs/guides/web-editor.md +73 -5
- package/docs/reference/active-state.md +77 -0
- package/docs/reference/capabilities.md +259 -0
- package/docs/reference/commands.md +52 -24
- package/docs/reference/configuration.md +4 -2
- package/docs/reference/features.md +70 -4
- package/docs/reference/provider-support.md +67 -0
- package/docs/reference/public-api.md +49 -3
- package/docs/reference/session-cache.md +112 -0
- package/docs/reference/stack-schema.md +18 -4
- package/docs/reference/subagent-host-port.md +8 -0
- package/docs/zh-CN/README.md +3 -0
- package/docs/zh-CN/getting-started.md +1 -1
- package/docs/zh-CN/guides/delegation.md +22 -10
- package/docs/zh-CN/guides/migrating-to-0.5.md +29 -0
- package/docs/zh-CN/guides/web-editor.md +74 -7
- package/docs/zh-CN/reference/capabilities.md +259 -0
- package/docs/zh-CN/reference/commands.md +61 -33
- package/docs/zh-CN/reference/provider-support.md +67 -0
- package/docs/zh-CN/reference/session-cache.md +112 -0
- package/examples/capabilities/review.json +12 -0
- package/examples/capabilities/write-tools.json +15 -0
- package/examples/read-first-worker-prompt-stack.json +49 -0
- package/package.json +16 -9
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
export const EDITOR_STYLES = String.raw `
|
|
2
2
|
:root {
|
|
3
3
|
color-scheme: light;
|
|
4
|
-
--bg: #
|
|
4
|
+
--bg: #f5f8f7;
|
|
5
5
|
--pane: #ffffff;
|
|
6
|
-
--line: #
|
|
7
|
-
--line-strong: #
|
|
8
|
-
--text: #
|
|
9
|
-
--muted: #
|
|
10
|
-
--accent: #
|
|
11
|
-
--accent-bg: #
|
|
12
|
-
--warning: #
|
|
13
|
-
--warning-bg: #
|
|
6
|
+
--line: #d7e3de;
|
|
7
|
+
--line-strong: #a9bdb5;
|
|
8
|
+
--text: #20312f;
|
|
9
|
+
--muted: #657774;
|
|
10
|
+
--accent: #176c5b;
|
|
11
|
+
--accent-bg: #e9f4f0;
|
|
12
|
+
--warning: #8b5d10;
|
|
13
|
+
--warning-bg: #fff4dc;
|
|
14
14
|
--error: #b42318;
|
|
15
15
|
--error-bg: #fde8e7;
|
|
16
|
-
--success: #
|
|
16
|
+
--success: #20764b;
|
|
17
|
+
--role-system: #7564a8;
|
|
18
|
+
--role-user: #2f7d68;
|
|
19
|
+
--role-assistant: #3e76ad;
|
|
20
|
+
--role-tool-result: #b16b2e;
|
|
21
|
+
--item-block: #4f6f9f;
|
|
22
|
+
--item-slot: #8b5fa8;
|
|
23
|
+
--slot-chat-history: #2f8a78;
|
|
24
|
+
--slot-tools: #a36a2c;
|
|
25
|
+
--slot-tool-guidelines: #ad7a32;
|
|
26
|
+
--slot-skills: #4e7fa3;
|
|
27
|
+
--slot-project-context: #6977a8;
|
|
28
|
+
--slot-date: #8b6aa8;
|
|
29
|
+
--slot-date-cwd: #7b6095;
|
|
30
|
+
--slot-built-in: #5f7185;
|
|
31
|
+
--slot-custom: #8a667d;
|
|
17
32
|
--control: #ffffff;
|
|
18
33
|
--control-muted: #f3f5f8;
|
|
19
34
|
--pane-soft: #fbfcfe;
|
|
@@ -24,23 +39,38 @@ export const EDITOR_STYLES = String.raw `
|
|
|
24
39
|
}
|
|
25
40
|
body[data-theme="dark"] {
|
|
26
41
|
color-scheme: dark;
|
|
27
|
-
--bg: #
|
|
28
|
-
--pane: #
|
|
29
|
-
--line: #
|
|
30
|
-
--line-strong: #
|
|
31
|
-
--text: #
|
|
32
|
-
--muted: #
|
|
33
|
-
--accent: #
|
|
34
|
-
--accent-bg: #
|
|
42
|
+
--bg: #111716;
|
|
43
|
+
--pane: #19211f;
|
|
44
|
+
--line: #33413d;
|
|
45
|
+
--line-strong: #536761;
|
|
46
|
+
--text: #e7efeb;
|
|
47
|
+
--muted: #a4b3ad;
|
|
48
|
+
--accent: #3dbb99;
|
|
49
|
+
--accent-bg: #173b33;
|
|
35
50
|
--warning: #e4b75f;
|
|
36
51
|
--warning-bg: #3a2d13;
|
|
37
52
|
--error: #f06f64;
|
|
38
53
|
--error-bg: #3c1d1a;
|
|
39
54
|
--success: #69c98c;
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
43
|
-
--
|
|
55
|
+
--role-system: #b8a8ec;
|
|
56
|
+
--role-user: #65c6a9;
|
|
57
|
+
--role-assistant: #82b9ef;
|
|
58
|
+
--role-tool-result: #e5ad70;
|
|
59
|
+
--item-block: #88a9dc;
|
|
60
|
+
--item-slot: #c59be0;
|
|
61
|
+
--slot-chat-history: #70d0ba;
|
|
62
|
+
--slot-tools: #e5aa68;
|
|
63
|
+
--slot-tool-guidelines: #e7bd74;
|
|
64
|
+
--slot-skills: #8fc5e8;
|
|
65
|
+
--slot-project-context: #a7b4eb;
|
|
66
|
+
--slot-date: #c6a8e9;
|
|
67
|
+
--slot-date-cwd: #b697dc;
|
|
68
|
+
--slot-built-in: #a9bacb;
|
|
69
|
+
--slot-custom: #d0a5c3;
|
|
70
|
+
--control: #202a27;
|
|
71
|
+
--control-muted: #25312e;
|
|
72
|
+
--pane-soft: #151d1b;
|
|
73
|
+
--row: #1c2623;
|
|
44
74
|
--code-bg: #0b0d10;
|
|
45
75
|
--code-text: #e8edf2;
|
|
46
76
|
--shadow: rgba(0, 0, 0, .42);
|
|
@@ -75,20 +105,25 @@ button[data-icon]::before {
|
|
|
75
105
|
color: currentColor;
|
|
76
106
|
}
|
|
77
107
|
button.icon[data-icon]::before {
|
|
78
|
-
margin-
|
|
108
|
+
margin:0; font-size:14px; line-height:30px;
|
|
79
109
|
}
|
|
80
110
|
button.primary {
|
|
81
111
|
border-color: var(--accent);
|
|
82
112
|
background: var(--accent);
|
|
83
113
|
color: white;
|
|
84
114
|
}
|
|
115
|
+
button.quiet-danger {
|
|
116
|
+
background:transparent; border-color:transparent; color:var(--muted);
|
|
117
|
+
}
|
|
118
|
+
button.quiet-danger:hover, button.quiet-danger:focus-visible {
|
|
119
|
+
border-color:var(--error); color:var(--error);
|
|
120
|
+
}
|
|
85
121
|
button.danger {
|
|
86
122
|
border-color: var(--error);
|
|
87
123
|
color: var(--error);
|
|
88
124
|
}
|
|
89
125
|
button.icon {
|
|
90
|
-
width:
|
|
91
|
-
padding: 5px 0;
|
|
126
|
+
width:32px; height:32px; min-height:32px; flex:0 0 32px; padding:0; font-size:0; overflow:hidden;
|
|
92
127
|
}
|
|
93
128
|
button:disabled {
|
|
94
129
|
cursor: default;
|
|
@@ -123,14 +158,7 @@ html, body {
|
|
|
123
158
|
}
|
|
124
159
|
}
|
|
125
160
|
.topbar {
|
|
126
|
-
display: flex;
|
|
127
|
-
align-items: center;
|
|
128
|
-
flex-wrap: wrap;
|
|
129
|
-
gap: 8px;
|
|
130
|
-
min-height: 40px;
|
|
131
|
-
padding: 4px 10px;
|
|
132
|
-
border-bottom: 1px solid var(--line);
|
|
133
|
-
background: var(--pane);
|
|
161
|
+
display:flex; align-items:center; gap:8px; flex:none; min-height:32px; padding:3px 10px; border-top:1px solid var(--line); background:var(--pane); font-size:12px;
|
|
134
162
|
}
|
|
135
163
|
.brand {
|
|
136
164
|
font-weight: 700;
|
|
@@ -160,7 +188,7 @@ html, body {
|
|
|
160
188
|
}
|
|
161
189
|
.shell {
|
|
162
190
|
display: grid;
|
|
163
|
-
grid-template-columns:
|
|
191
|
+
grid-template-columns: 212px minmax(0, 1fr);
|
|
164
192
|
height: calc(100vh - 48px);
|
|
165
193
|
min-height: 0;
|
|
166
194
|
transition: grid-template-columns .16s ease;
|
|
@@ -255,16 +283,7 @@ html, body {
|
|
|
255
283
|
flex-direction: column;
|
|
256
284
|
}
|
|
257
285
|
.main-actions {
|
|
258
|
-
display: flex;
|
|
259
|
-
align-items: center;
|
|
260
|
-
gap: 6px;
|
|
261
|
-
flex-wrap: nowrap;
|
|
262
|
-
min-height: 42px;
|
|
263
|
-
padding: 5px 10px;
|
|
264
|
-
border-bottom: 1px solid var(--line);
|
|
265
|
-
background: var(--pane);
|
|
266
|
-
position: relative;
|
|
267
|
-
z-index: 3;
|
|
286
|
+
display:flex; flex-wrap:wrap; align-items:center; gap:5px; position:relative; z-index:3; flex:0 1 auto; padding:0; border:0; background:transparent;
|
|
268
287
|
}
|
|
269
288
|
.new-stack-control {
|
|
270
289
|
display: flex;
|
|
@@ -408,7 +427,7 @@ html, body {
|
|
|
408
427
|
}
|
|
409
428
|
.workspace {
|
|
410
429
|
display: grid;
|
|
411
|
-
grid-template-columns:
|
|
430
|
+
grid-template-columns: 190px minmax(0, 1fr);
|
|
412
431
|
flex: 1;
|
|
413
432
|
min-height: 0;
|
|
414
433
|
}
|
|
@@ -440,33 +459,12 @@ html, body {
|
|
|
440
459
|
display: grid;
|
|
441
460
|
grid-template-columns: minmax(0, 1fr);
|
|
442
461
|
}
|
|
443
|
-
.editor-dock-area.dock-open {
|
|
444
|
-
grid-template-columns: minmax(0, 1fr) minmax(440px, 48%);
|
|
445
|
-
}
|
|
446
462
|
.editor-dock-area .workspace,
|
|
447
463
|
.editor-dock-area .tab-panel,
|
|
448
464
|
.editor-dock-area .context-diff-panel {
|
|
449
465
|
min-width: 0;
|
|
450
466
|
min-height: 0;
|
|
451
467
|
}
|
|
452
|
-
.editor-dock-area.dock-open .workspace {
|
|
453
|
-
display: grid;
|
|
454
|
-
grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
|
|
455
|
-
border-right: 1px solid var(--line);
|
|
456
|
-
}
|
|
457
|
-
.editor-dock-area.dock-open .context-diff-panel {
|
|
458
|
-
display: block;
|
|
459
|
-
border-left: 1px solid var(--line);
|
|
460
|
-
}
|
|
461
|
-
.editor-dock-area.dock-open.dock-focus {
|
|
462
|
-
grid-template-columns: minmax(0, 1fr);
|
|
463
|
-
}
|
|
464
|
-
.editor-dock-area.dock-open.dock-focus .workspace {
|
|
465
|
-
display: none;
|
|
466
|
-
}
|
|
467
|
-
.editor-dock-area.dock-open.dock-focus .context-diff-panel {
|
|
468
|
-
border-left: 0;
|
|
469
|
-
}
|
|
470
468
|
.tab-section {
|
|
471
469
|
border: 1px solid var(--line);
|
|
472
470
|
border-radius: 6px;
|
|
@@ -500,22 +498,6 @@ html, body {
|
|
|
500
498
|
border-bottom: 1px solid var(--line);
|
|
501
499
|
font-weight: 650;
|
|
502
500
|
}
|
|
503
|
-
.item-tools {
|
|
504
|
-
display: flex;
|
|
505
|
-
flex-wrap: wrap;
|
|
506
|
-
gap: 6px;
|
|
507
|
-
padding: 8px 12px;
|
|
508
|
-
border-bottom: 1px solid var(--line);
|
|
509
|
-
flex: 0 0 auto;
|
|
510
|
-
}
|
|
511
|
-
.item-tools button,
|
|
512
|
-
.main-actions button {
|
|
513
|
-
white-space: nowrap;
|
|
514
|
-
}
|
|
515
|
-
.item-tools-spacer {
|
|
516
|
-
flex: 1 1 auto;
|
|
517
|
-
min-width: 8px;
|
|
518
|
-
}
|
|
519
501
|
.item-list {
|
|
520
502
|
padding: 8px;
|
|
521
503
|
overflow: auto;
|
|
@@ -526,29 +508,31 @@ html, body {
|
|
|
526
508
|
background: var(--accent-bg);
|
|
527
509
|
}
|
|
528
510
|
.item-row {
|
|
529
|
-
width:
|
|
530
|
-
text-align: left;
|
|
531
|
-
border: 1px solid var(--line);
|
|
532
|
-
background: var(--row);
|
|
533
|
-
border-radius: 6px;
|
|
534
|
-
padding: 8px;
|
|
535
|
-
margin-bottom: 6px;
|
|
536
|
-
display: grid;
|
|
537
|
-
grid-template-columns: 18px minmax(0, 1fr) 48px;
|
|
538
|
-
gap: 8px;
|
|
539
|
-
align-items: center;
|
|
540
|
-
cursor: grab;
|
|
541
|
-
position: relative;
|
|
511
|
+
width:100%; text-align:left; border:1px solid transparent; border-left:2px solid var(--line); border-bottom-color:var(--line); background:transparent; border-radius:5px; padding:8px 7px 8px 20px; margin-bottom:3px; display:grid; grid-template-columns:minmax(0,1fr) 30px; gap:3px 6px; align-items:center; cursor:grab; position:relative;
|
|
542
512
|
}
|
|
543
513
|
.item-row:active {
|
|
544
514
|
cursor: grabbing;
|
|
545
515
|
}
|
|
516
|
+
.item-row.kind-block {
|
|
517
|
+
border-left-color: var(--item-block);
|
|
518
|
+
}
|
|
519
|
+
.item-row.kind-slot {
|
|
520
|
+
border-left-color: var(--item-slot);
|
|
521
|
+
}
|
|
546
522
|
.item-row.selected {
|
|
547
|
-
border-color: var(--accent);
|
|
523
|
+
border-top-color: var(--accent);
|
|
524
|
+
border-right-color: var(--accent);
|
|
525
|
+
border-bottom-color: var(--accent);
|
|
548
526
|
background: var(--accent-bg);
|
|
549
527
|
}
|
|
528
|
+
.item-row.selected.kind-block {
|
|
529
|
+
border-left-color: var(--item-block);
|
|
530
|
+
}
|
|
531
|
+
.item-row.selected.kind-slot {
|
|
532
|
+
border-left-color: var(--item-slot);
|
|
533
|
+
}
|
|
550
534
|
.item-row.disabled {
|
|
551
|
-
opacity: .
|
|
535
|
+
opacity: .76;
|
|
552
536
|
}
|
|
553
537
|
.item-row.dragging {
|
|
554
538
|
border-style: dashed;
|
|
@@ -618,6 +602,7 @@ html, body {
|
|
|
618
602
|
border-color: var(--warning);
|
|
619
603
|
}
|
|
620
604
|
.item-title {
|
|
605
|
+
font-size: 13px;
|
|
621
606
|
font-weight: 650;
|
|
622
607
|
overflow-wrap: anywhere;
|
|
623
608
|
}
|
|
@@ -654,6 +639,7 @@ html, body {
|
|
|
654
639
|
gap: 10px;
|
|
655
640
|
flex: 0 0 auto;
|
|
656
641
|
}
|
|
642
|
+
.slot-flags { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px 24px; }
|
|
657
643
|
.item-body {
|
|
658
644
|
flex: 1;
|
|
659
645
|
min-height: 0;
|
|
@@ -696,13 +682,7 @@ html, body {
|
|
|
696
682
|
color: var(--accent);
|
|
697
683
|
}
|
|
698
684
|
.options-grid {
|
|
699
|
-
display: grid;
|
|
700
|
-
grid-template-columns: repeat(3, minmax(150px, 1fr));
|
|
701
|
-
gap: 10px;
|
|
702
|
-
overflow: auto;
|
|
703
|
-
padding-right: 4px;
|
|
704
|
-
flex: 1;
|
|
705
|
-
min-height: 0;
|
|
685
|
+
display:grid; grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr)); align-content:start; align-items:start; gap:14px 16px; overflow:auto; padding-right:4px; flex:1; min-height:0;
|
|
706
686
|
}
|
|
707
687
|
.option-note {
|
|
708
688
|
color: var(--muted);
|
|
@@ -934,6 +914,48 @@ html, body {
|
|
|
934
914
|
padding: 12px;
|
|
935
915
|
background: var(--pane-soft);
|
|
936
916
|
}
|
|
917
|
+
.modal-dialog.resource-modal {
|
|
918
|
+
align-self: center;
|
|
919
|
+
width: min(560px, calc(100vw - 32px));
|
|
920
|
+
height: auto;
|
|
921
|
+
max-height: calc(100vh - 32px);
|
|
922
|
+
}
|
|
923
|
+
.resource-form {
|
|
924
|
+
display: grid;
|
|
925
|
+
gap: 6px;
|
|
926
|
+
max-width: 480px;
|
|
927
|
+
margin: 0 auto;
|
|
928
|
+
}
|
|
929
|
+
.resource-form label {
|
|
930
|
+
color: var(--muted);
|
|
931
|
+
font-size: 12px;
|
|
932
|
+
font-weight: 600;
|
|
933
|
+
}
|
|
934
|
+
/* New-preset choices share the existing resource dialog and scroll container. */
|
|
935
|
+
.template-options { display: flex; flex-direction: column; gap: 6px; margin: 2px 0 6px; }
|
|
936
|
+
.template-option { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--pane); cursor: pointer; }
|
|
937
|
+
.template-option:hover { border-color: var(--line-strong); }
|
|
938
|
+
.template-option:has(input:checked) { border-color: var(--accent); background: var(--accent-bg); }
|
|
939
|
+
.template-option input[type="radio"] { margin: 2px 0 0; width: auto; flex: none; cursor: pointer; accent-color: var(--accent); }
|
|
940
|
+
.template-option:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
941
|
+
.template-option-content { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
|
|
942
|
+
.template-option-title { font-size: 13px; font-weight: 600; color: var(--text); }
|
|
943
|
+
.template-option-desc { font-size: 12px; font-weight: 400; color: var(--muted); line-height: 1.4; }
|
|
944
|
+
.resource-form-note {
|
|
945
|
+
margin: 6px 0 2px;
|
|
946
|
+
padding: 8px;
|
|
947
|
+
border: 1px solid var(--line);
|
|
948
|
+
border-radius: 6px;
|
|
949
|
+
color: var(--warning);
|
|
950
|
+
background: var(--warning-bg);
|
|
951
|
+
font-size: 12px;
|
|
952
|
+
}
|
|
953
|
+
.resource-form-actions {
|
|
954
|
+
display: flex;
|
|
955
|
+
justify-content: flex-end;
|
|
956
|
+
gap: 8px;
|
|
957
|
+
margin-top: 8px;
|
|
958
|
+
}
|
|
937
959
|
.modal-toolbar {
|
|
938
960
|
display: flex;
|
|
939
961
|
gap: 8px;
|
|
@@ -1171,17 +1193,7 @@ html, body {
|
|
|
1171
1193
|
.workspace {
|
|
1172
1194
|
display: block;
|
|
1173
1195
|
}
|
|
1174
|
-
|
|
1175
|
-
.editor-dock-area.dock-open.dock-focus {
|
|
1176
|
-
grid-template-columns: minmax(0, 1fr);
|
|
1177
|
-
}
|
|
1178
|
-
.editor-dock-area.dock-open .workspace {
|
|
1179
|
-
display: none;
|
|
1180
|
-
}
|
|
1181
|
-
.editor-dock-area.dock-open .context-diff-panel {
|
|
1182
|
-
border-left: 0;
|
|
1183
|
-
}
|
|
1184
|
-
.item-form {
|
|
1196
|
+
.item-form {
|
|
1185
1197
|
height: auto;
|
|
1186
1198
|
overflow: visible;
|
|
1187
1199
|
}
|
|
@@ -1204,8 +1216,10 @@ html, body {
|
|
|
1204
1216
|
border-right: 0;
|
|
1205
1217
|
border-bottom: 1px solid var(--line);
|
|
1206
1218
|
}
|
|
1219
|
+
.shell.sidebar-collapsed { grid-template-columns:minmax(0,1fr); }
|
|
1220
|
+
.shell.sidebar-collapsed .sidebar { display:none; }
|
|
1207
1221
|
.sidebar {
|
|
1208
|
-
min-height:
|
|
1222
|
+
min-height: 0;
|
|
1209
1223
|
max-height: 240px;
|
|
1210
1224
|
}
|
|
1211
1225
|
.metadata-head {
|
|
@@ -1254,5 +1268,396 @@ html, body {
|
|
|
1254
1268
|
font-size: 14px;
|
|
1255
1269
|
}
|
|
1256
1270
|
}
|
|
1271
|
+
|
|
1272
|
+
/* V4 workspace: the library owns creation/reload; the editor header owns identity. */
|
|
1273
|
+
.topbar .brand {
|
|
1274
|
+
display: none;
|
|
1275
|
+
}
|
|
1276
|
+
.resource-header {
|
|
1277
|
+
display: flex;
|
|
1278
|
+
align-items: center;
|
|
1279
|
+
gap: 10px;
|
|
1280
|
+
flex-wrap: wrap;
|
|
1281
|
+
min-width: 0;
|
|
1282
|
+
padding: 4px 10px;
|
|
1283
|
+
border-bottom: 1px solid var(--line);
|
|
1284
|
+
background: var(--pane);
|
|
1285
|
+
}
|
|
1286
|
+
.resource-identity,
|
|
1287
|
+
.resource-title-line,
|
|
1288
|
+
.resource-subline {
|
|
1289
|
+
min-width: 0;
|
|
1290
|
+
}
|
|
1291
|
+
.resource-title-line {
|
|
1292
|
+
display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0;
|
|
1293
|
+
}
|
|
1294
|
+
.resource-title-line h1 {
|
|
1295
|
+
flex:0 1 auto; min-width:0; max-width:100%; margin:0; font-size:18px; line-height:1.3; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
|
|
1296
|
+
}
|
|
1297
|
+
.resource-subline {
|
|
1298
|
+
display: flex;
|
|
1299
|
+
align-items: center;
|
|
1300
|
+
gap: 6px;
|
|
1301
|
+
margin-top: 3px;
|
|
1302
|
+
color: var(--muted);
|
|
1303
|
+
font-size: 12px;
|
|
1304
|
+
overflow-wrap: anywhere;
|
|
1305
|
+
}
|
|
1306
|
+
.resource-subline code {
|
|
1307
|
+
color: var(--accent);
|
|
1308
|
+
overflow-wrap: anywhere;
|
|
1309
|
+
}
|
|
1310
|
+
.resource-editing-label {
|
|
1311
|
+
flex: 0 0 auto;
|
|
1312
|
+
color: var(--muted);
|
|
1313
|
+
font-size: 11px;
|
|
1314
|
+
}
|
|
1315
|
+
.runtime-badge {
|
|
1316
|
+
flex: 0 0 auto;
|
|
1317
|
+
border: 1px solid var(--line);
|
|
1318
|
+
border-radius: 999px;
|
|
1319
|
+
padding: 1px 7px;
|
|
1320
|
+
color: var(--muted);
|
|
1321
|
+
font-size: 11px;
|
|
1322
|
+
white-space: nowrap;
|
|
1323
|
+
}
|
|
1324
|
+
.runtime-badge.active {
|
|
1325
|
+
color: var(--accent);
|
|
1326
|
+
border-color: var(--accent);
|
|
1327
|
+
background: var(--accent-bg);
|
|
1328
|
+
}
|
|
1329
|
+
.side-head {
|
|
1330
|
+
display: flex;
|
|
1331
|
+
flex-direction: column;
|
|
1332
|
+
align-items: stretch;
|
|
1333
|
+
justify-content: space-between;
|
|
1334
|
+
gap: 8px;
|
|
1335
|
+
}
|
|
1336
|
+
.side-head-title {
|
|
1337
|
+
min-width: 0;
|
|
1338
|
+
flex: 1 1 auto;
|
|
1339
|
+
}
|
|
1340
|
+
.library-actions {
|
|
1341
|
+
display: flex;
|
|
1342
|
+
flex-wrap: wrap;
|
|
1343
|
+
align-items: center;
|
|
1344
|
+
gap: 4px;
|
|
1345
|
+
flex: 0 0 auto;
|
|
1346
|
+
}
|
|
1347
|
+
.library-actions select {
|
|
1348
|
+
width: auto;
|
|
1349
|
+
min-width: 74px;
|
|
1350
|
+
padding: 4px 6px;
|
|
1351
|
+
font-size: 12px;
|
|
1352
|
+
}
|
|
1353
|
+
.library-actions button {
|
|
1354
|
+
font-size: 12px;
|
|
1355
|
+
min-height: 30px;
|
|
1356
|
+
padding: 4px 7px;
|
|
1357
|
+
white-space: nowrap;
|
|
1358
|
+
}
|
|
1359
|
+
.library-actions #reloadBtn {
|
|
1360
|
+
width: 30px;
|
|
1361
|
+
padding-inline: 0;
|
|
1362
|
+
overflow: hidden;
|
|
1363
|
+
color: transparent;
|
|
1364
|
+
font-size: 0;
|
|
1365
|
+
}
|
|
1366
|
+
.library-actions #reloadBtn::before {
|
|
1367
|
+
margin-right: 0;
|
|
1368
|
+
color: var(--text);
|
|
1369
|
+
font-size: 14px;
|
|
1370
|
+
}
|
|
1371
|
+
.resource-header .resource-identity {
|
|
1372
|
+
flex:1 1 280px; min-width:min(280px,100%);
|
|
1373
|
+
}
|
|
1374
|
+
.resource-header .main-actions .action-spacer {
|
|
1375
|
+
min-width: 4px;
|
|
1376
|
+
}
|
|
1377
|
+
.item-row:focus-visible {
|
|
1378
|
+
outline: 2px solid var(--accent);
|
|
1379
|
+
outline-offset: 2px;
|
|
1380
|
+
}
|
|
1381
|
+
.item-row.selected {
|
|
1382
|
+
border-color: var(--accent);
|
|
1383
|
+
}
|
|
1384
|
+
.item-row.selected.kind-block,
|
|
1385
|
+
.item-row.selected.kind-slot {
|
|
1386
|
+
border-left-color: var(--accent);
|
|
1387
|
+
}
|
|
1388
|
+
.item-title {
|
|
1389
|
+
display: -webkit-box;
|
|
1390
|
+
-webkit-line-clamp: 2;
|
|
1391
|
+
-webkit-box-orient: vertical;
|
|
1392
|
+
overflow: hidden;
|
|
1393
|
+
color: var(--text);
|
|
1394
|
+
}
|
|
1395
|
+
.item-meta {
|
|
1396
|
+
display: block;
|
|
1397
|
+
white-space: nowrap;
|
|
1398
|
+
overflow: hidden;
|
|
1399
|
+
text-overflow: ellipsis;
|
|
1400
|
+
overflow-wrap: normal;
|
|
1401
|
+
}
|
|
1402
|
+
.item-form {
|
|
1403
|
+
gap: 8px;
|
|
1404
|
+
padding: 14px 16px;
|
|
1405
|
+
}
|
|
1406
|
+
.item-primary-field {
|
|
1407
|
+
flex: 0 0 auto;
|
|
1408
|
+
}
|
|
1409
|
+
.item-primary-field label {
|
|
1410
|
+
color: var(--text);
|
|
1411
|
+
font-weight: 650;
|
|
1412
|
+
}
|
|
1413
|
+
.item-primary-field input {
|
|
1414
|
+
min-height: 36px;
|
|
1415
|
+
font-size: 15px;
|
|
1416
|
+
}
|
|
1417
|
+
.item-technical-row {
|
|
1418
|
+
display: flex;
|
|
1419
|
+
align-items: center;
|
|
1420
|
+
flex-wrap: wrap;
|
|
1421
|
+
gap: 8px;
|
|
1422
|
+
min-width: 0;
|
|
1423
|
+
color: var(--muted);
|
|
1424
|
+
font-size: 12px;
|
|
1425
|
+
}
|
|
1426
|
+
.role-control {
|
|
1427
|
+
display: inline-flex;
|
|
1428
|
+
align-items: center;
|
|
1429
|
+
gap: 4px;
|
|
1430
|
+
min-width: 0;
|
|
1431
|
+
color: var(--text);
|
|
1432
|
+
font-size: 12px;
|
|
1433
|
+
}
|
|
1434
|
+
.role-control select {
|
|
1435
|
+
width: auto;
|
|
1436
|
+
min-width: 88px;
|
|
1437
|
+
min-height: 30px;
|
|
1438
|
+
padding: 3px 22px 3px 5px;
|
|
1439
|
+
border: 1px solid transparent;
|
|
1440
|
+
background-color: transparent;
|
|
1441
|
+
color: var(--text);
|
|
1442
|
+
font-size: 14px;
|
|
1443
|
+
appearance: none;
|
|
1444
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23677770' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5l5 5 5-5'/%3E%3C/svg%3E");
|
|
1445
|
+
background-position: right 3px center;
|
|
1446
|
+
background-size: 16px 16px;
|
|
1447
|
+
background-repeat: no-repeat;
|
|
1448
|
+
}
|
|
1449
|
+
.role-control select:hover,
|
|
1450
|
+
.role-control select:focus-visible {
|
|
1451
|
+
border-color: var(--line);
|
|
1452
|
+
background: var(--accent-bg);
|
|
1453
|
+
}
|
|
1454
|
+
.item-properties {
|
|
1455
|
+
position: relative;
|
|
1456
|
+
flex: 0 0 auto;
|
|
1457
|
+
}
|
|
1458
|
+
.item-properties > summary {
|
|
1459
|
+
cursor: pointer;
|
|
1460
|
+
list-style: none;
|
|
1461
|
+
color: var(--muted);
|
|
1462
|
+
padding: 3px 5px;
|
|
1463
|
+
border-radius: 4px;
|
|
1464
|
+
}
|
|
1465
|
+
.item-properties > summary::-webkit-details-marker {
|
|
1466
|
+
display: none;
|
|
1467
|
+
}
|
|
1468
|
+
.item-properties > summary::after {
|
|
1469
|
+
content: "⌄";
|
|
1470
|
+
margin-left: 4px;
|
|
1471
|
+
font-size: 16px;
|
|
1472
|
+
line-height: 12px;
|
|
1473
|
+
vertical-align: -1px;
|
|
1474
|
+
}
|
|
1475
|
+
.item-properties[open] > summary::after {
|
|
1476
|
+
content: "⌃";
|
|
1477
|
+
}
|
|
1478
|
+
.item-properties > summary:hover,
|
|
1479
|
+
.item-properties > summary:focus-visible {
|
|
1480
|
+
color: var(--accent);
|
|
1481
|
+
background: var(--accent-bg);
|
|
1482
|
+
outline: none;
|
|
1483
|
+
}
|
|
1484
|
+
.item-properties-popover {
|
|
1485
|
+
position:fixed; z-index:4; display:grid; grid-template-columns:1fr; gap:10px; width:min(330px,calc(100vw - 32px)); max-height:65vh; overflow:auto; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--pane); box-shadow:0 8px 24px var(--shadow);
|
|
1486
|
+
}
|
|
1487
|
+
.item-properties-popover .field:last-child {
|
|
1488
|
+
grid-column: 1 / -1;
|
|
1489
|
+
}
|
|
1490
|
+
.item-body {
|
|
1491
|
+
min-width: 0;
|
|
1492
|
+
}
|
|
1493
|
+
.content-field {
|
|
1494
|
+
min-width: 0;
|
|
1495
|
+
}
|
|
1496
|
+
.content-field textarea {
|
|
1497
|
+
color: var(--text);
|
|
1498
|
+
background: var(--control);
|
|
1499
|
+
line-height: 1.6;
|
|
1500
|
+
}
|
|
1501
|
+
.metadata-details > summary {
|
|
1502
|
+
display: flex;
|
|
1503
|
+
align-items: center;
|
|
1504
|
+
gap: 8px;
|
|
1505
|
+
min-width: 0;
|
|
1506
|
+
padding: 5px 10px;
|
|
1507
|
+
cursor: pointer;
|
|
1508
|
+
list-style: none;
|
|
1509
|
+
color: var(--muted);
|
|
1510
|
+
font-size: 12px;
|
|
1511
|
+
}
|
|
1512
|
+
.metadata-details > summary::-webkit-details-marker {
|
|
1513
|
+
display: none;
|
|
1514
|
+
}
|
|
1515
|
+
.metadata-details > summary::before {
|
|
1516
|
+
content: "▸";
|
|
1517
|
+
color: var(--accent);
|
|
1518
|
+
}
|
|
1519
|
+
.metadata-details[open] > summary::before {
|
|
1520
|
+
content: "▾";
|
|
1521
|
+
}
|
|
1522
|
+
.metadata-summary-title {
|
|
1523
|
+
flex: 0 0 auto;
|
|
1524
|
+
color: var(--text);
|
|
1525
|
+
font-weight: 650;
|
|
1526
|
+
}
|
|
1527
|
+
.metadata-details .metadata-summary {
|
|
1528
|
+
margin: 0;
|
|
1529
|
+
}
|
|
1530
|
+
@media (max-width: 900px) {
|
|
1531
|
+
.resource-header {
|
|
1532
|
+
padding: 5px 10px;
|
|
1533
|
+
}
|
|
1534
|
+
.resource-header .main-actions {
|
|
1535
|
+
flex: 1 1 auto;
|
|
1536
|
+
}
|
|
1537
|
+
.resource-editing-label {
|
|
1538
|
+
display: none;
|
|
1539
|
+
}
|
|
1540
|
+
.library-actions {
|
|
1541
|
+
flex-wrap: wrap;
|
|
1542
|
+
justify-content: flex-end;
|
|
1543
|
+
}
|
|
1544
|
+
.library-actions select {
|
|
1545
|
+
max-width: 82px;
|
|
1546
|
+
}
|
|
1547
|
+
}
|
|
1548
|
+
@media (max-width: 520px) {
|
|
1549
|
+
.side-head {
|
|
1550
|
+
display: block;
|
|
1551
|
+
}
|
|
1552
|
+
.library-actions {
|
|
1553
|
+
margin-top: 7px;
|
|
1554
|
+
justify-content: flex-start;
|
|
1555
|
+
}
|
|
1556
|
+
.resource-title-line h1 {
|
|
1557
|
+
font-size: 16px;
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
.item-row .drag-handle { position: absolute; left: 3px; top: 13px; font-size: 14px; width: 12px; }
|
|
1562
|
+
.item-row .item-toggle { width: 30px; min-height: 24px; padding: 1px 0; font-size: 10px; border-radius: 5px; }
|
|
1563
|
+
.item-row .item-toggle.enabled { background: var(--accent-bg); color: var(--accent); border-color: var(--line); }
|
|
1564
|
+
.item-row > div:not(.drag-handle) { min-width: 0; }
|
|
1565
|
+
.item-row .item-title { grid-column:1; grid-row:1; }
|
|
1566
|
+
.item-row .item-toggle { grid-column:2; grid-row:1; }
|
|
1567
|
+
.stack-row { display: flex; flex-direction: column; align-items: stretch; }
|
|
1568
|
+
.stack-row .stack-meta:nth-child(2) { order: -1; font-size: 13px; color: var(--text); font-weight: 650; margin-top: 0; }
|
|
1569
|
+
.stack-row .stack-name { font-size: 11px; color: var(--muted); margin-top: 4px; }
|
|
1570
|
+
.view-tabs { gap: 18px; padding: 0 12px; }
|
|
1571
|
+
.view-tabs button { border: 0; border-radius: 0; background: transparent; padding: 7px 2px; position: relative; }
|
|
1572
|
+
.view-tabs button[data-icon]::before { display: none; }
|
|
1573
|
+
.view-tabs button.active { background: transparent; color: var(--accent); }
|
|
1574
|
+
.view-tabs button.active::after { content: ""; position: absolute; bottom: 0; height: 2px; left: 0; right: 0; background: var(--accent); }
|
|
1575
|
+
.library-actions { flex-wrap: nowrap; }
|
|
1576
|
+
@media(max-width:520px) { .view-tabs { gap: 14px; } }
|
|
1577
|
+
|
|
1578
|
+
.stack-list, .item-list { flex: 0 1 auto; }
|
|
1579
|
+
.side-head { flex-direction: row; align-items: flex-start; }
|
|
1580
|
+
.side-head .library-actions { flex: 0 0 auto; }
|
|
1581
|
+
.side-head .cwd { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1582
|
+
|
|
1583
|
+
/* Second-pass workspace polish: keep creation and item operations close to their
|
|
1584
|
+
owning list/editor, while the preview remains a separate dock column. */
|
|
1585
|
+
.library-create {
|
|
1586
|
+
flex: 0 0 auto;
|
|
1587
|
+
display: grid;
|
|
1588
|
+
gap: 5px;
|
|
1589
|
+
padding: 10px 8px 12px;
|
|
1590
|
+
border-top: 1px solid var(--line);
|
|
1591
|
+
background: var(--pane-soft);
|
|
1592
|
+
}
|
|
1593
|
+
.library-create #newStackBtn {
|
|
1594
|
+
width: 100%;
|
|
1595
|
+
margin-top: 2px;
|
|
1596
|
+
border-style: dashed;
|
|
1597
|
+
justify-content: center;
|
|
1598
|
+
}
|
|
1599
|
+
.item-add-wrap {
|
|
1600
|
+
position: relative;
|
|
1601
|
+
flex: 0 0 auto;
|
|
1602
|
+
padding: 8px 12px 12px;
|
|
1603
|
+
border-top: 1px solid var(--line);
|
|
1604
|
+
background: var(--pane);
|
|
1605
|
+
}
|
|
1606
|
+
.item-add-wrap > .outline-add {
|
|
1607
|
+
width: 100%;
|
|
1608
|
+
border-style: dashed;
|
|
1609
|
+
color: var(--muted);
|
|
1610
|
+
}
|
|
1611
|
+
.add-content-menu {
|
|
1612
|
+
position: absolute;
|
|
1613
|
+
z-index: 5;
|
|
1614
|
+
left: 12px;
|
|
1615
|
+
right: 12px;
|
|
1616
|
+
bottom: calc(100% - 4px);
|
|
1617
|
+
display: grid;
|
|
1618
|
+
gap: 4px;
|
|
1619
|
+
padding: 6px;
|
|
1620
|
+
border: 1px solid var(--line-strong);
|
|
1621
|
+
border-radius: 7px;
|
|
1622
|
+
background: var(--pane);
|
|
1623
|
+
box-shadow: 0 8px 24px var(--shadow);
|
|
1624
|
+
}
|
|
1625
|
+
.add-content-menu[hidden] {
|
|
1626
|
+
display: none;
|
|
1627
|
+
}
|
|
1628
|
+
.add-content-menu button {
|
|
1629
|
+
width: 100%;
|
|
1630
|
+
display: grid;
|
|
1631
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
1632
|
+
text-align: left;
|
|
1633
|
+
border-color: transparent;
|
|
1634
|
+
}
|
|
1635
|
+
.add-content-menu button small {
|
|
1636
|
+
grid-column: 2;
|
|
1637
|
+
color: var(--muted);
|
|
1638
|
+
font-size: 11px;
|
|
1639
|
+
}
|
|
1640
|
+
.view-tabs [data-dock-tab] {
|
|
1641
|
+
margin-left: auto;
|
|
1642
|
+
border: 1px solid var(--line);
|
|
1643
|
+
border-radius: 5px;
|
|
1644
|
+
background: var(--pane-soft);
|
|
1645
|
+
padding-inline: 10px;
|
|
1646
|
+
color: var(--muted);
|
|
1647
|
+
font-size: 12px;
|
|
1648
|
+
}
|
|
1649
|
+
.view-tabs [data-dock-tab].active {
|
|
1650
|
+
border-color: var(--accent);
|
|
1651
|
+
background: var(--accent-bg);
|
|
1652
|
+
color: var(--accent);
|
|
1653
|
+
}
|
|
1654
|
+
.view-tabs [data-dock-tab].active::after {
|
|
1655
|
+
display: none;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
/* Navigation has one summary line, not a second miniature form. */
|
|
1660
|
+
.item-row .item-meta { grid-column:1 / -1; margin:0; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
|
1661
|
+
.preset-properties-entry { flex:0 0 auto; }
|
|
1257
1662
|
`;
|
|
1258
1663
|
//# sourceMappingURL=styles.js.map
|