@ibgib/space-gib 0.0.32 โ 0.0.34
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/client/bootstrap.mjs +24 -51
- package/dist/client/chunk-25PXC4HP.mjs +9914 -0
- package/dist/client/chunk-RXWLL2AI.mjs +30 -0
- package/dist/client/css/activity-bar.css +417 -0
- package/dist/client/css/base.css +167 -0
- package/dist/client/css/components.css +218 -0
- package/dist/client/css/cosmic.css +557 -0
- package/dist/client/css/dev-tools.css +163 -0
- package/dist/client/css/landing.css +184 -0
- package/dist/client/css/layout.css +896 -0
- package/dist/client/css/onboarding.css +181 -0
- package/dist/client/css/repos.css +740 -0
- package/dist/client/css/variables.css +64 -0
- package/dist/client/index.html +202 -31
- package/dist/client/index.mjs +31 -31
- package/dist/client/script.mjs +1 -1
- package/dist/client/style.css +11 -1056
- package/dist/respec-gib.node.mjs +5 -0
- package/dist/server/server.mjs +6879 -3109
- package/package.json +6 -6
- package/src/client/AUTO-GENERATED-version.mts +1 -1
- package/src/client/cosmos/seed-cosmos-workspace.mts +69 -0
- package/src/client/css/activity-bar.css +417 -0
- package/src/client/css/base.css +167 -0
- package/src/client/css/components.css +218 -0
- package/src/client/css/cosmic.css +557 -0
- package/src/client/css/dev-tools.css +163 -0
- package/src/client/css/landing.css +184 -0
- package/src/client/css/layout.css +896 -0
- package/src/client/css/onboarding.css +181 -0
- package/src/client/css/repos.css +740 -0
- package/src/client/css/variables.css +64 -0
- package/src/client/dev-tools/vcs-workspace.mts +3 -3
- package/src/client/index.html +202 -31
- package/src/client/style.css +11 -1056
- package/src/client/ui/component/chat-view/IMPLEMENTATION.md +48 -0
- package/src/client/ui/component/chat-view/chat-view.css +381 -0
- package/src/client/ui/component/chat-view/chat-view.html +104 -0
- package/src/client/ui/component/chat-view/chat-view.mts +277 -0
- package/src/client/ui/component/chat-view/index.mts +9 -0
- package/src/client/ui/component/clone/IMPLEMENTATION.md +68 -0
- package/src/client/ui/component/clone/clone-constants.mts +16 -0
- package/src/client/ui/component/clone/clone-types.mts +60 -0
- package/src/client/ui/component/clone/clone.css +383 -0
- package/src/client/ui/component/clone/clone.html +89 -0
- package/src/client/ui/component/clone/clone.mts +620 -0
- package/src/client/ui/component/clone/index.mts +11 -0
- package/src/client/ui/component/code-editor/IMPLEMENTATION.md +89 -0
- package/src/client/ui/component/code-editor/code-editor.css +275 -0
- package/src/client/ui/component/code-editor/code-editor.html +54 -0
- package/src/client/ui/component/code-editor/code-editor.mts +427 -0
- package/src/client/ui/component/code-editor/index.mts +9 -0
- package/src/client/ui/component/cosmos-navigator/IMPLEMENTATION.md +31 -0
- package/src/client/ui/component/cosmos-navigator/cosmos-navigator.css +864 -0
- package/src/client/ui/component/cosmos-navigator/cosmos-navigator.html +97 -0
- package/src/client/ui/component/cosmos-navigator/cosmos-navigator.mts +1084 -0
- package/src/client/ui/component/cosmos-navigator/index.mts +18 -0
- package/src/client/ui/component/file-explorer/IMPLEMENTATION.md +42 -0
- package/src/client/ui/component/file-explorer/file-explorer.css +256 -0
- package/src/client/ui/component/file-explorer/file-explorer.html +75 -0
- package/src/client/ui/component/file-explorer/file-explorer.mts +346 -0
- package/src/client/ui/component/file-explorer/index.mts +9 -0
- package/src/client/ui/component/nested-chat/IMPLEMENTATION.md +18 -0
- package/src/client/ui/component/nested-chat/chat/IMPLEMENTATION.md +14 -0
- package/src/client/ui/component/nested-chat/chat/chat-constants.mts +14 -0
- package/src/client/ui/component/nested-chat/chat/chat-helpers.mts +66 -0
- package/src/client/ui/component/nested-chat/chat/chat.css +654 -0
- package/src/client/ui/component/nested-chat/chat/chat.html +90 -0
- package/src/client/ui/component/nested-chat/chat/chat.mts +646 -0
- package/src/client/ui/component/nested-chat/chat/index.mts +7 -0
- package/src/client/ui/component/nested-chat/index.mts +14 -0
- package/src/client/ui/component/nested-chat/nested-chat-constants.mts +12 -0
- package/src/client/ui/component/nested-chat/nested-chat-types.mts +53 -0
- package/src/client/ui/component/nested-chat/nested-chat.css +142 -0
- package/src/client/ui/component/nested-chat/nested-chat.html +11 -0
- package/src/client/ui/component/nested-chat/nested-chat.mts +393 -0
- package/src/client/ui/component/notes-explorer/index.mts +9 -0
- package/src/client/ui/component/notes-explorer/notes-explorer.css +313 -0
- package/src/client/ui/component/notes-explorer/notes-explorer.html +136 -0
- package/src/client/ui/component/notes-explorer/notes-explorer.mts +240 -0
- package/src/client/ui/component/notes-inspector/index.mts +9 -0
- package/src/client/ui/component/notes-inspector/notes-inspector.css +244 -0
- package/src/client/ui/component/notes-inspector/notes-inspector.html +97 -0
- package/src/client/ui/component/notes-inspector/notes-inspector.mts +152 -0
- package/src/client/ui/component/pitch/IMPLEMENTATION.md +48 -0
- package/src/client/ui/component/pitch/index.mts +9 -0
- package/src/client/ui/component/pitch/pitch.css +295 -0
- package/src/client/ui/component/pitch/pitch.html +97 -0
- package/src/client/ui/component/pitch/pitch.mts +135 -0
- package/src/client/ui/component/timeline/IMPLEMENTATION.md +33 -0
- package/src/client/ui/component/timeline/index.mts +9 -0
- package/src/client/ui/component/timeline/timeline.css +264 -0
- package/src/client/ui/component/timeline/timeline.html +23 -0
- package/src/client/ui/component/timeline/timeline.mts +317 -0
- package/src/client/ui/component/timeline-item-details/IMPLEMENTATION.md +28 -0
- package/src/client/ui/component/timeline-item-details/index.mts +9 -0
- package/src/client/ui/component/timeline-item-details/timeline-item-details.css +286 -0
- package/src/client/ui/component/timeline-item-details/timeline-item-details.html +64 -0
- package/src/client/ui/component/timeline-item-details/timeline-item-details.mts +194 -0
- package/src/client/ui/router/index.mts +3 -0
- package/src/client/ui/router/space-gib-router-helpers.mts +272 -0
- package/src/client/ui/router/space-gib-router-helpers.respec.mts +353 -0
- package/src/client/ui/router/space-gib-router-service.mts +186 -0
- package/src/client/ui/router/space-gib-router-types.mts +93 -0
- package/src/client/ui/shell/cosmic-big-bang.mts +844 -0
- package/src/client/ui/shell/space-gib-shell-constants.mts +7 -0
- package/src/client/ui/shell/space-gib-shell-service.mts +1728 -31
- package/src/server/server.mts +20 -1
- package/tsconfig.test.json +5 -1
- package/dist/client/chunk-AX6BROMT.mjs +0 -1
- package/dist/client/chunk-CIQUGV7U.mjs +0 -25
- package/dist/client/chunk-YPCHYDKL.mjs +0 -3102
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ui/component/cosmos-navigator
|
|
3
|
+
*
|
|
4
|
+
* space-gib-cosmos-navigator Web Component barrel export and registration.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export * from './cosmos-navigator.mjs';
|
|
8
|
+
|
|
9
|
+
import { getComponentSvc } from "@ibgib/web-gib/dist/ui/component/ibgib-component-service.mjs";
|
|
10
|
+
import { CosmosNavigatorComponentMeta } from "./cosmos-navigator.mjs";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Registers the CosmosNavigator Web Component with the central component service.
|
|
14
|
+
*/
|
|
15
|
+
export async function registerCosmosNavigatorComponent(): Promise<void> {
|
|
16
|
+
const componentSvc = await getComponentSvc();
|
|
17
|
+
componentSvc.registerComponentMeta(new CosmosNavigatorComponentMeta());
|
|
18
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# space-gib-file-explorer Component Specification
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
`space-gib-file-explorer` is an encapsulated `@ibgib` Web Component (Custom Element) representing a Branch File Explorer in the `space-gib` Left Panel.
|
|
5
|
+
|
|
6
|
+
## Component Identity
|
|
7
|
+
- **Tag**: `<space-gib-file-explorer>`
|
|
8
|
+
- **Meta Class**: `FileExplorerComponentMeta`
|
|
9
|
+
- **Instance Class**: `FileExplorerComponentInstance`
|
|
10
|
+
- **Path Constant**: `space-gib-file-explorer`
|
|
11
|
+
- **Initial Backing ibGib**: `ROOT_ADDR` (`ibgib` root address)
|
|
12
|
+
|
|
13
|
+
## Visual Architecture & Shadow DOM Layout
|
|
14
|
+
1. **Branch Worktree Header**:
|
|
15
|
+
- Chevron collapse toggle (`โผ` / `โถ`)
|
|
16
|
+
- Branch icon: `๐ฟ`
|
|
17
|
+
- Branch label: `main` (or active branch name)
|
|
18
|
+
- Worktree badge: `worktree`
|
|
19
|
+
- Action icons (visible on hover):
|
|
20
|
+
- `+ New File` (`๐+`)
|
|
21
|
+
- `+ New Folder` (`๐+`)
|
|
22
|
+
- `Collapse All` (`โฑ`)
|
|
23
|
+
2. **File Tree Container**:
|
|
24
|
+
- Hierarchical collapsible folders (`๐ src/`, `๐ docs/`)
|
|
25
|
+
- File items (`๐ index.ts`, `๐ helper.ts`, `๐ README.md`, `โ๏ธ package.json`)
|
|
26
|
+
- Living companion note indicator badges (`๐ฌ`)
|
|
27
|
+
- Indentation guides (`.tree-indent`, `.tree-indent-2`)
|
|
28
|
+
- Active / selected file indicator with accent glow
|
|
29
|
+
|
|
30
|
+
## Event Contracts
|
|
31
|
+
Dispatched across Shadow DOM boundary (`bubbles: true`, `composed: true`):
|
|
32
|
+
- `space-gib-file-selected`: `{ branch: string, path: string, name: string }`
|
|
33
|
+
- `space-gib-branch-selected`: `{ branch: string }`
|
|
34
|
+
- `space-gib-new-file-requested`: `{ branch: string, folder?: string }`
|
|
35
|
+
- `space-gib-new-folder-requested`: `{ branch: string, folder?: string }`
|
|
36
|
+
|
|
37
|
+
## Lifecycle Checklist
|
|
38
|
+
- [x] Extends `IbGibDynamicComponentMetaBase` and `IbGibDynamicComponentInstanceBase`.
|
|
39
|
+
- [x] Queries elements in `created()`.
|
|
40
|
+
- [x] Cleans up event listeners in `disconnected()`.
|
|
41
|
+
- [x] Renders worktree branch file tree with folder expansion toggling.
|
|
42
|
+
- [x] Dispatches composed events to app shell.
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 100%;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.file-explorer-root {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
width: 100%;
|
|
12
|
+
user-select: none;
|
|
13
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Branch Worktree Accordion Header */
|
|
18
|
+
.branch-header {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: 0.35rem;
|
|
22
|
+
padding: 0.4rem 0.6rem;
|
|
23
|
+
background: rgba(255, 255, 255, 0.04);
|
|
24
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
25
|
+
border-radius: 6px;
|
|
26
|
+
font-size: 0.82rem;
|
|
27
|
+
font-weight: 600;
|
|
28
|
+
color: #cbd5e1;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
transition: all 0.15s ease;
|
|
31
|
+
outline: none;
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.branch-header:hover {
|
|
36
|
+
background: rgba(255, 255, 255, 0.07);
|
|
37
|
+
border-color: rgba(124, 92, 252, 0.3);
|
|
38
|
+
color: #f1f5f9;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.branch-header:focus-visible {
|
|
42
|
+
border-color: #a78bfa;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.branch-toggle-btn {
|
|
46
|
+
background: transparent;
|
|
47
|
+
border: none;
|
|
48
|
+
color: inherit;
|
|
49
|
+
font-size: 0.65rem;
|
|
50
|
+
padding: 0;
|
|
51
|
+
margin: 0;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
width: 14px;
|
|
57
|
+
height: 14px;
|
|
58
|
+
line-height: 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.chevron-icon {
|
|
62
|
+
display: inline-block;
|
|
63
|
+
transition: transform 0.15s ease;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.branch-header.collapsed .chevron-icon {
|
|
67
|
+
transform: rotate(-90deg);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.branch-icon {
|
|
71
|
+
font-size: 0.9rem;
|
|
72
|
+
line-height: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.branch-title {
|
|
76
|
+
flex: 1;
|
|
77
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
|
|
78
|
+
font-size: 0.82rem;
|
|
79
|
+
color: #a78bfa;
|
|
80
|
+
font-weight: 600;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
text-overflow: ellipsis;
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.worktree-badge {
|
|
87
|
+
font-size: 0.58rem;
|
|
88
|
+
text-transform: uppercase;
|
|
89
|
+
letter-spacing: 0.04em;
|
|
90
|
+
background: rgba(124, 92, 252, 0.18);
|
|
91
|
+
color: #c084fc;
|
|
92
|
+
padding: 1px 5px;
|
|
93
|
+
border-radius: 4px;
|
|
94
|
+
border: 1px solid rgba(192, 132, 252, 0.3);
|
|
95
|
+
font-weight: 600;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.branch-actions {
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
gap: 2px;
|
|
102
|
+
opacity: 0;
|
|
103
|
+
transition: opacity 0.15s ease;
|
|
104
|
+
margin-left: 0.25rem;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.branch-header:hover .branch-actions {
|
|
108
|
+
opacity: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.action-btn {
|
|
112
|
+
background: transparent;
|
|
113
|
+
border: none;
|
|
114
|
+
color: #94a3b8;
|
|
115
|
+
font-size: 0.72rem;
|
|
116
|
+
padding: 2px 4px;
|
|
117
|
+
border-radius: 3px;
|
|
118
|
+
cursor: pointer;
|
|
119
|
+
line-height: 1;
|
|
120
|
+
transition: all 0.12s ease;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.action-btn:hover {
|
|
124
|
+
background: rgba(255, 255, 255, 0.1);
|
|
125
|
+
color: #fff;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* File Tree Container */
|
|
129
|
+
.file-tree-container {
|
|
130
|
+
display: flex;
|
|
131
|
+
flex-direction: column;
|
|
132
|
+
gap: 2px;
|
|
133
|
+
padding: 0.35rem 0.2rem;
|
|
134
|
+
transition: max-height 0.2s ease, opacity 0.2s ease;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.file-tree-container.collapsed {
|
|
138
|
+
display: none !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/* Tree Item (Folder / File) */
|
|
142
|
+
.tree-item {
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
gap: 0.35rem;
|
|
146
|
+
padding: 0.32rem 0.5rem;
|
|
147
|
+
border-radius: 4px;
|
|
148
|
+
font-size: 0.82rem;
|
|
149
|
+
color: #94a3b8;
|
|
150
|
+
cursor: pointer;
|
|
151
|
+
transition: all 0.12s ease;
|
|
152
|
+
border: 1px solid transparent;
|
|
153
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
|
|
154
|
+
outline: none;
|
|
155
|
+
box-sizing: border-box;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.tree-item:hover {
|
|
159
|
+
background: rgba(255, 255, 255, 0.05);
|
|
160
|
+
color: #f1f5f9;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.tree-item:focus-visible {
|
|
164
|
+
border-color: rgba(124, 92, 252, 0.4);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.tree-item.selected {
|
|
168
|
+
background: rgba(120, 248, 126, 0.1);
|
|
169
|
+
border-color: rgba(120, 248, 126, 0.25);
|
|
170
|
+
color: #78f87e;
|
|
171
|
+
font-weight: 500;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.tree-item.hidden {
|
|
175
|
+
display: none !important;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.tree-chevron {
|
|
179
|
+
font-size: 0.6rem;
|
|
180
|
+
width: 12px;
|
|
181
|
+
display: inline-flex;
|
|
182
|
+
align-items: center;
|
|
183
|
+
justify-content: center;
|
|
184
|
+
opacity: 0.7;
|
|
185
|
+
flex-shrink: 0;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.tree-indent {
|
|
189
|
+
display: inline-block;
|
|
190
|
+
width: 0.75rem;
|
|
191
|
+
flex-shrink: 0;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.tree-indent-2 {
|
|
195
|
+
width: 1.5rem;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.tree-icon {
|
|
199
|
+
font-size: 0.9rem;
|
|
200
|
+
line-height: 1;
|
|
201
|
+
flex-shrink: 0;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.tree-label {
|
|
205
|
+
flex: 1;
|
|
206
|
+
overflow: hidden;
|
|
207
|
+
text-overflow: ellipsis;
|
|
208
|
+
white-space: nowrap;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.file-comment-badge {
|
|
212
|
+
margin-left: auto;
|
|
213
|
+
font-size: 0.75rem;
|
|
214
|
+
color: #fbbf24;
|
|
215
|
+
line-height: 1;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.file-action-btn {
|
|
219
|
+
opacity: 0;
|
|
220
|
+
background: transparent;
|
|
221
|
+
border: none;
|
|
222
|
+
color: #94a3b8;
|
|
223
|
+
padding: 1px 4px;
|
|
224
|
+
border-radius: 3px;
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
font-size: 0.8rem;
|
|
227
|
+
line-height: 1;
|
|
228
|
+
transition: all 0.15s ease;
|
|
229
|
+
margin-left: 4px;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.tree-item:hover .file-action-btn {
|
|
233
|
+
opacity: 0.8;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.file-action-btn:hover {
|
|
237
|
+
opacity: 1 !important;
|
|
238
|
+
background: rgba(99, 102, 241, 0.25);
|
|
239
|
+
color: #c7d2fe;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.file-branch-btn:hover {
|
|
243
|
+
background: rgba(16, 185, 129, 0.25) !important;
|
|
244
|
+
color: #6ee7b7 !important;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
#btn-branch-branch {
|
|
248
|
+
color: #6ee7b7;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
#btn-branch-branch:hover {
|
|
252
|
+
background: rgba(16, 185, 129, 0.2);
|
|
253
|
+
color: #a7f3d0;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<div id="file-explorer-root" class="file-explorer-root">
|
|
2
|
+
<!-- Worktree Branch Header Accordion -->
|
|
3
|
+
<div id="branch-header" class="branch-header expanded" tabindex="0">
|
|
4
|
+
<button id="btn-branch-toggle" class="branch-toggle-btn" type="button" aria-label="Toggle Branch Files">
|
|
5
|
+
<span class="chevron-icon">โผ</span>
|
|
6
|
+
</button>
|
|
7
|
+
<span class="branch-icon">๐ฟ</span>
|
|
8
|
+
<span id="branch-title" class="branch-title">main</span>
|
|
9
|
+
<!-- <span class="worktree-badge">worktree</span> -->
|
|
10
|
+
<div class="branch-actions">
|
|
11
|
+
<button id="btn-branch-branch" class="action-btn" type="button" title="Branch from worktree (๐ฟ+)">๐ฟ+</button>
|
|
12
|
+
<button id="btn-clone-branch" class="action-btn" type="button" title="Clone / Export Worktree (โค)">โค</button>
|
|
13
|
+
<button id="btn-new-file" class="action-btn" type="button" title="New File">๐+</button>
|
|
14
|
+
<button id="btn-new-folder" class="action-btn" type="button" title="New Folder">๐+</button>
|
|
15
|
+
<button id="btn-collapse-all" class="action-btn" type="button" title="Collapse All">โฑ</button>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<!-- Worktree Files Container -->
|
|
20
|
+
<div id="file-tree-container" class="file-tree-container">
|
|
21
|
+
<!-- Folder: src -->
|
|
22
|
+
<div class="tree-item folder expanded" data-folder="src" tabindex="0">
|
|
23
|
+
<span class="tree-chevron">โผ</span>
|
|
24
|
+
<span class="tree-icon">๐</span>
|
|
25
|
+
<span class="tree-label">src</span>
|
|
26
|
+
<button class="file-action-btn file-branch-btn" title="Branch from directory item (๐ฟ+)"
|
|
27
|
+
type="button">๐ฟ+</button>
|
|
28
|
+
<button class="file-action-btn file-clone-btn" title="Clone directory item" type="button">โค</button>
|
|
29
|
+
</div>
|
|
30
|
+
<!-- File: src/index.ts (Selected by default) -->
|
|
31
|
+
<div class="tree-item file selected" data-path="src/index.ts" data-name="index.ts" tabindex="0">
|
|
32
|
+
<span class="tree-indent tree-indent-2"></span>
|
|
33
|
+
<span class="tree-icon">๐</span>
|
|
34
|
+
<span class="tree-label">index.ts</span>
|
|
35
|
+
<span class="file-comment-badge" title="Living companion comment attached">๐ฌ</span>
|
|
36
|
+
<button class="file-action-btn file-branch-btn" title="Branch from file item (๐ฟ+)" type="button">๐ฟ+</button>
|
|
37
|
+
<button class="file-action-btn file-clone-btn" title="Clone file item" type="button">โค</button>
|
|
38
|
+
</div>
|
|
39
|
+
<!-- File: src/helper.ts -->
|
|
40
|
+
<div class="tree-item file" data-path="src/helper.ts" data-name="helper.ts" tabindex="0">
|
|
41
|
+
<span class="tree-indent tree-indent-2"></span>
|
|
42
|
+
<span class="tree-icon">๐</span>
|
|
43
|
+
<span class="tree-label">helper.ts</span>
|
|
44
|
+
<button class="file-action-btn file-branch-btn" title="Branch from file item (๐ฟ+)" type="button">๐ฟ+</button>
|
|
45
|
+
<button class="file-action-btn file-clone-btn" title="Clone file item" type="button">โค</button>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<!-- Folder: docs -->
|
|
49
|
+
<div class="tree-item folder" data-folder="docs" tabindex="0">
|
|
50
|
+
<span class="tree-chevron">โผ</span>
|
|
51
|
+
<span class="tree-icon">๐</span>
|
|
52
|
+
<span class="tree-label">docs</span>
|
|
53
|
+
<button class="file-action-btn file-branch-btn" title="Branch from directory item (๐ฟ+)"
|
|
54
|
+
type="button">๐ฟ+</button>
|
|
55
|
+
<button class="file-action-btn file-clone-btn" title="Clone directory item" type="button">โค</button>
|
|
56
|
+
</div>
|
|
57
|
+
<!-- File: docs/README.md (Initially hidden under collapsed docs) -->
|
|
58
|
+
<div class="tree-item file child-of-docs hidden" data-path="docs/README.md" data-name="README.md" tabindex="0">
|
|
59
|
+
<span class="tree-indent tree-indent-2"></span>
|
|
60
|
+
<span class="tree-icon">๐</span>
|
|
61
|
+
<span class="tree-label">README.md</span>
|
|
62
|
+
<button class="file-action-btn file-branch-btn" title="Branch from file item (๐ฟ+)" type="button">๐ฟ+</button>
|
|
63
|
+
<button class="file-action-btn file-clone-btn" title="Clone file item" type="button">โค</button>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<!-- Root File: package.json -->
|
|
67
|
+
<div class="tree-item file" data-path="package.json" data-name="package.json" tabindex="0">
|
|
68
|
+
<span class="tree-indent"></span>
|
|
69
|
+
<span class="tree-icon">โ๏ธ</span>
|
|
70
|
+
<span class="tree-label">package.json</span>
|
|
71
|
+
<button class="file-action-btn file-branch-btn" title="Branch from file item (๐ฟ+)" type="button">๐ฟ+</button>
|
|
72
|
+
<button class="file-action-btn file-clone-btn" title="Clone file item" type="button">โค</button>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|