@ibgib/space-gib 0.0.34 → 0.0.36

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.
Files changed (54) hide show
  1. package/dist/client/bootstrap.mjs +1 -1
  2. package/dist/client/{chunk-25PXC4HP.mjs → chunk-5DTAUY3E.mjs} +1586 -464
  3. package/dist/client/chunk-J7X3XTAI.mjs +53 -0
  4. package/dist/client/css/activity-bar.css +21 -3
  5. package/dist/client/css/layout.css +126 -5
  6. package/dist/client/css/tutorial.css +327 -0
  7. package/dist/client/index.html +6 -0
  8. package/dist/client/index.mjs +22 -45
  9. package/dist/client/privacy.html +22 -22
  10. package/dist/client/script.mjs +1 -1
  11. package/dist/client/style.css +1 -0
  12. package/dist/server/server.mjs +3 -3
  13. package/package.json +6 -6
  14. package/src/client/AUTO-GENERATED-version.mts +1 -1
  15. package/src/client/cosmos/seed-cosmos-workspace.mts +20 -6
  16. package/src/client/css/activity-bar.css +21 -3
  17. package/src/client/css/layout.css +126 -5
  18. package/src/client/css/tutorial.css +327 -0
  19. package/src/client/dev-tools/vcs-workspace.mts +4 -4
  20. package/src/client/index.html +6 -0
  21. package/src/client/privacy.html +22 -22
  22. package/src/client/style.css +1 -0
  23. package/src/client/ui/component/changes/changes.css +413 -0
  24. package/src/client/ui/component/changes/changes.html +37 -0
  25. package/src/client/ui/component/changes/changes.mts +766 -0
  26. package/src/client/ui/component/changes/index.mts +9 -0
  27. package/src/client/ui/component/chat-view/chat-view.html +6 -58
  28. package/src/client/ui/component/chat-view/chat-view.mts +13 -26
  29. package/src/client/ui/component/clone/clone.mts +67 -39
  30. package/src/client/ui/component/code-editor/code-editor.css +91 -9
  31. package/src/client/ui/component/code-editor/code-editor.html +58 -45
  32. package/src/client/ui/component/code-editor/code-editor.mts +265 -49
  33. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.css +1 -1
  34. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.html +5 -10
  35. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.mts +328 -64
  36. package/src/client/ui/component/file-explorer/file-explorer.css +475 -11
  37. package/src/client/ui/component/file-explorer/file-explorer.html +45 -65
  38. package/src/client/ui/component/file-explorer/file-explorer.mts +1164 -98
  39. package/src/client/ui/component/nested-chat/chat/chat.mts +5 -90
  40. package/src/client/ui/component/nested-chat/nested-chat.mts +10 -8
  41. package/src/client/ui/component/timeline/timeline.css +16 -1
  42. package/src/client/ui/component/timeline/timeline.mts +37 -93
  43. package/src/client/ui/component/tutorial/index.mts +9 -0
  44. package/src/client/ui/component/tutorial/scripts/pitch-tour-script.mts +265 -0
  45. package/src/client/ui/component/tutorial/tutorial-controller.mts +622 -0
  46. package/src/client/ui/component/tutorial/tutorial-types.mts +45 -0
  47. package/src/client/ui/component/tutorial/tutorial.css +260 -0
  48. package/src/client/ui/router/space-gib-router-helpers.mts +33 -233
  49. package/src/client/ui/router/space-gib-router-helpers.respec.mts +298 -122
  50. package/src/client/ui/router/space-gib-router-service.mts +28 -151
  51. package/src/client/ui/router/space-gib-router-types.mts +32 -76
  52. package/src/client/ui/shell/cosmic-big-bang.mts +12 -3
  53. package/src/client/ui/shell/space-gib-shell-service.mts +715 -143
  54. package/dist/client/chunk-RXWLL2AI.mjs +0 -30
@@ -0,0 +1,413 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ height: 100%;
6
+ min-height: 0;
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ :host([collapsed]) {
11
+ height: auto !important;
12
+ flex: 0 0 auto !important;
13
+ }
14
+
15
+ .changes-root {
16
+ display: flex;
17
+ flex-direction: column;
18
+ width: 100%;
19
+ height: 100%;
20
+ min-height: 0;
21
+ overflow: hidden;
22
+ user-select: none;
23
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ /* Changes Accordion Header */
28
+ .changes-header {
29
+ display: flex;
30
+ align-items: center;
31
+ gap: 0.35rem;
32
+ padding: 0.28rem 0.5rem;
33
+ background: rgba(255, 255, 255, 0.04);
34
+ border: 1px solid rgba(255, 255, 255, 0.08);
35
+ border-left: 3px solid var(--branch-accent-color, rgba(255, 255, 255, 0.08));
36
+ border-radius: 6px;
37
+ font-size: 0.82rem;
38
+ font-weight: 600;
39
+ color: #cbd5e1;
40
+ cursor: pointer;
41
+ transition: all 0.15s ease;
42
+ outline: none;
43
+ box-sizing: border-box;
44
+ flex: 0 0 auto !important;
45
+ flex-shrink: 0 !important;
46
+ }
47
+
48
+ .changes-header:hover {
49
+ background: var(--branch-accent-translucent, rgba(255, 255, 255, 0.07));
50
+ border-color: var(--branch-accent-color, rgba(124, 92, 252, 0.3));
51
+ color: #f1f5f9;
52
+ }
53
+
54
+ .changes-toggle-btn {
55
+ background: transparent;
56
+ border: none;
57
+ color: inherit;
58
+ font-size: 0.65rem;
59
+ padding: 0;
60
+ margin: 0;
61
+ cursor: pointer;
62
+ display: flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ width: 14px;
66
+ height: 14px;
67
+ line-height: 1;
68
+ }
69
+
70
+ .chevron-icon {
71
+ display: inline-block;
72
+ transition: transform 0.15s ease;
73
+ }
74
+
75
+ .changes-header.collapsed .chevron-icon {
76
+ transform: rotate(-90deg);
77
+ }
78
+
79
+ .changes-icon {
80
+ font-size: 0.85rem;
81
+ line-height: 1;
82
+ color: #e2c08d;
83
+ }
84
+
85
+ .changes-title {
86
+ flex: 1;
87
+ font-size: 0.82rem;
88
+ color: #e2e8f0;
89
+ font-weight: 600;
90
+ }
91
+
92
+ .changes-badges-container {
93
+ display: inline-flex;
94
+ align-items: center;
95
+ gap: 4px;
96
+ margin-left: 0.25rem;
97
+ }
98
+
99
+ .changes-branch-badge {
100
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
101
+ font-size: 0.68rem;
102
+ font-weight: 700;
103
+ padding: 1px 6px;
104
+ border-radius: 10px;
105
+ background: var(--badge-accent-translucent, rgba(255, 255, 255, 0.1));
106
+ color: var(--badge-accent-color, #94a3b8);
107
+ border: 1px solid var(--badge-accent-color, transparent);
108
+ line-height: 1.2;
109
+ cursor: pointer;
110
+ transition: transform 0.1s ease, filter 0.1s ease;
111
+ user-select: none;
112
+ }
113
+
114
+ .changes-branch-badge:hover {
115
+ transform: scale(1.08);
116
+ filter: brightness(1.2);
117
+ }
118
+
119
+ .changes-counter-badge {
120
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
121
+ font-size: 0.68rem;
122
+ font-weight: 700;
123
+ padding: 1px 6px;
124
+ border-radius: 10px;
125
+ background: var(--branch-accent-translucent, rgba(255, 255, 255, 0.1));
126
+ color: var(--branch-accent-color, #94a3b8);
127
+ border: 1px solid var(--branch-accent-translucent, transparent);
128
+ line-height: 1.2;
129
+ }
130
+
131
+ .changes-actions {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: 2px;
135
+ opacity: 0;
136
+ transition: opacity 0.15s ease;
137
+ margin-left: 0.25rem;
138
+ }
139
+
140
+ .changes-header:hover .changes-actions {
141
+ opacity: 1;
142
+ }
143
+
144
+ .action-btn {
145
+ background: transparent;
146
+ border: none;
147
+ color: #94a3b8;
148
+ font-size: 0.78rem;
149
+ padding: 2px 4px;
150
+ border-radius: 3px;
151
+ cursor: pointer;
152
+ line-height: 1;
153
+ transition: all 0.12s ease;
154
+ }
155
+
156
+ .action-btn:hover {
157
+ background: rgba(255, 255, 255, 0.1);
158
+ color: #fff;
159
+ }
160
+
161
+ /* Changes Body Container */
162
+ .changes-body-container {
163
+ display: flex;
164
+ flex-direction: column;
165
+ flex: 1 1 0px;
166
+ min-height: 0;
167
+ gap: 4px;
168
+ padding: 0.35rem 0.2rem 0.6rem;
169
+ box-sizing: border-box;
170
+ overflow: hidden;
171
+ }
172
+
173
+ .changes-body-container.hidden {
174
+ display: none !important;
175
+ }
176
+
177
+ .empty-changes-msg {
178
+ padding: 1rem 0.8rem;
179
+ text-align: center;
180
+ color: #64748b;
181
+ font-size: 0.78rem;
182
+ font-style: italic;
183
+ line-height: 1.4;
184
+ }
185
+
186
+ /* Changes List */
187
+ .changes-list {
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 2px;
191
+ flex: 1 1 0px;
192
+ min-height: 0;
193
+ overflow-y: auto;
194
+ padding-right: 2px;
195
+ }
196
+
197
+ .change-item {
198
+ display: flex;
199
+ align-items: center;
200
+ gap: 0.35rem;
201
+ padding: 0.3rem 0.5rem;
202
+ border-radius: 4px;
203
+ font-size: 0.82rem;
204
+ color: #94a3b8;
205
+ cursor: pointer;
206
+ transition: all 0.12s ease;
207
+ border: 1px solid transparent;
208
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;
209
+ outline: none;
210
+ box-sizing: border-box;
211
+ }
212
+
213
+ .change-item:hover {
214
+ background: rgba(255, 255, 255, 0.05);
215
+ color: #f1f5f9;
216
+ }
217
+
218
+ .change-item.selected {
219
+ background: rgba(120, 248, 126, 0.1);
220
+ border-color: rgba(120, 248, 126, 0.25);
221
+ color: #78f87e;
222
+ }
223
+
224
+ .change-icon {
225
+ font-size: 0.85rem;
226
+ line-height: 1;
227
+ flex-shrink: 0;
228
+ }
229
+
230
+ .change-label {
231
+ flex: 1;
232
+ overflow: hidden;
233
+ text-overflow: ellipsis;
234
+ white-space: nowrap;
235
+ }
236
+
237
+ .change-item-discard-btn {
238
+ opacity: 0;
239
+ background: transparent;
240
+ border: none;
241
+ color: #94a3b8;
242
+ font-size: 0.75rem;
243
+ padding: 2px 4px;
244
+ border-radius: 3px;
245
+ cursor: pointer;
246
+ line-height: 1;
247
+ transition: all 0.12s ease;
248
+ }
249
+
250
+ .change-item:hover .change-item-discard-btn {
251
+ opacity: 0.8;
252
+ }
253
+
254
+ .change-item-discard-btn:hover {
255
+ opacity: 1 !important;
256
+ background: rgba(255, 91, 91, 0.2);
257
+ color: #ff5b5b;
258
+ }
259
+
260
+ /* Commit Box */
261
+ .changes-commit-box {
262
+ display: flex;
263
+ flex-direction: column;
264
+ gap: 6px;
265
+ margin-top: 6px;
266
+ padding-top: 6px;
267
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
268
+ flex-shrink: 0 !important;
269
+ }
270
+
271
+ .commit-message-input {
272
+ width: 100%;
273
+ box-sizing: border-box;
274
+ background: rgba(0, 0, 0, 0.35);
275
+ border: 1px solid rgba(255, 255, 255, 0.12);
276
+ border-radius: 4px;
277
+ padding: 0.4rem 0.5rem;
278
+ color: #f1f5f9;
279
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
280
+ font-size: 0.78rem;
281
+ resize: vertical;
282
+ outline: none;
283
+ transition: border-color 0.15s ease;
284
+ }
285
+
286
+ .commit-message-input:focus {
287
+ border-color: var(--branch-accent-color, #78f87e);
288
+ box-shadow: 0 0 0 1px var(--branch-accent-color, rgba(120, 248, 126, 0.25));
289
+ }
290
+
291
+ .btn-commit {
292
+ display: inline-flex;
293
+ align-items: center;
294
+ justify-content: center;
295
+ gap: 0.4rem;
296
+ width: 100%;
297
+ padding: 0.45rem 0.6rem;
298
+ background: rgba(15, 23, 42, 0.85);
299
+ color: #f1f5f9;
300
+ border: 2px solid var(--branch-accent-color, #78f87e);
301
+ border-radius: 5px;
302
+ font-size: 0.78rem;
303
+ font-weight: 700;
304
+ cursor: pointer;
305
+ transition: all 0.15s ease;
306
+ box-sizing: border-box;
307
+ box-shadow: 0 0 10px var(--branch-accent-translucent, rgba(120, 248, 126, 0.15));
308
+ }
309
+
310
+ .btn-commit:hover:not(:disabled) {
311
+ background: var(--branch-accent-translucent, rgba(120, 248, 126, 0.15));
312
+ border-color: var(--branch-accent-color, #78f87e);
313
+ color: #ffffff;
314
+ box-shadow: 0 0 14px var(--branch-accent-translucent, rgba(120, 248, 126, 0.3));
315
+ }
316
+
317
+ .btn-commit:disabled {
318
+ background: rgba(255, 255, 255, 0.04);
319
+ border-color: rgba(255, 255, 255, 0.1);
320
+ color: #64748b;
321
+ cursor: not-allowed;
322
+ box-shadow: none;
323
+ }
324
+
325
+ .commit-btn-icon {
326
+ font-size: 0.85rem;
327
+ line-height: 1;
328
+ color: var(--branch-accent-color, #78f87e);
329
+ }
330
+
331
+ /* ── Multi-Branch Group Styles ── */
332
+ .branch-changes-group {
333
+ display: flex;
334
+ flex-direction: column;
335
+ background: rgba(255, 255, 255, 0.02);
336
+ border: 1px solid rgba(255, 255, 255, 0.07);
337
+ border-left: 3px solid var(--group-accent-color, #78f87e);
338
+ border-radius: 6px;
339
+ padding: 6px 8px;
340
+ margin-bottom: 8px;
341
+ gap: 6px;
342
+ }
343
+
344
+ .branch-group-header {
345
+ display: flex;
346
+ align-items: center;
347
+ gap: 0.35rem;
348
+ font-size: 0.78rem;
349
+ font-family: ui-monospace, SFMono-Regular, monospace;
350
+ font-weight: 600;
351
+ color: #e2e8f0;
352
+ user-select: none;
353
+ }
354
+
355
+ .branch-group-icon {
356
+ font-size: 0.82rem;
357
+ color: var(--group-accent-color, #78f87e);
358
+ }
359
+
360
+ .branch-group-title {
361
+ color: var(--group-accent-color, #e2e8f0);
362
+ font-weight: 600;
363
+ overflow: hidden;
364
+ text-overflow: ellipsis;
365
+ white-space: nowrap;
366
+ }
367
+
368
+ .branch-group-badge {
369
+ font-size: 0.65rem;
370
+ padding: 1px 5px;
371
+ border-radius: 8px;
372
+ background: var(--group-accent-translucent, rgba(120, 248, 126, 0.15));
373
+ color: var(--group-accent-color, #78f87e);
374
+ border: 1px solid var(--group-accent-translucent, rgba(120, 248, 126, 0.3));
375
+ font-weight: 700;
376
+ margin-right: auto;
377
+ }
378
+
379
+ .branch-group-files {
380
+ display: flex;
381
+ flex-direction: column;
382
+ gap: 2px;
383
+ }
384
+
385
+ .branch-group-commit-box {
386
+ display: flex;
387
+ flex-direction: column;
388
+ gap: 5px;
389
+ margin-top: 4px;
390
+ padding-top: 6px;
391
+ border-top: 1px dashed rgba(255, 255, 255, 0.08);
392
+ flex-shrink: 0 !important;
393
+ }
394
+
395
+ .branch-group-commit-box .btn-commit {
396
+ border-color: var(--group-accent-color, #78f87e);
397
+ box-shadow: 0 0 10px var(--group-accent-translucent, rgba(120, 248, 126, 0.15));
398
+ }
399
+
400
+ .branch-group-commit-box .btn-commit:hover:not(:disabled) {
401
+ background: var(--group-accent-translucent, rgba(120, 248, 126, 0.15));
402
+ border-color: var(--group-accent-color, #78f87e);
403
+ box-shadow: 0 0 14px var(--group-accent-translucent, rgba(120, 248, 126, 0.3));
404
+ }
405
+
406
+ .branch-group-commit-box .commit-btn-icon {
407
+ color: var(--group-accent-color, #78f87e);
408
+ }
409
+
410
+ .branch-group-commit-box .commit-message-input:focus {
411
+ border-color: var(--group-accent-color, #78f87e);
412
+ box-shadow: 0 0 0 1px var(--group-accent-color, rgba(120, 248, 126, 0.25));
413
+ }
@@ -0,0 +1,37 @@
1
+ <div class="changes-root" id="changes-root">
2
+ <!-- Changes Accordion Header -->
3
+ <div class="changes-header" id="changes-header">
4
+ <button id="btn-changes-toggle" class="changes-toggle-btn" type="button" title="Toggle Changes">
5
+ <span class="chevron-icon">▼</span>
6
+ </button>
7
+ <span class="changes-icon">⎇</span>
8
+ <span class="changes-title" id="changes-title">Changes</span>
9
+ <div class="changes-badges-container" id="changes-badges-container"></div>
10
+ <span class="changes-counter-badge" id="changes-counter" style="display: none;">0</span>
11
+ <div class="changes-actions">
12
+ <button id="btn-discard-all" class="action-btn" type="button" title="Discard All Changes">↺</button>
13
+ </div>
14
+ </div>
15
+
16
+ <!-- Changes Body Container (Collapsible) -->
17
+ <div class="changes-body-container" id="changes-body-container">
18
+ <!-- Empty State -->
19
+ <div class="empty-changes-msg" id="empty-changes-msg">
20
+ No uncommitted changes
21
+ </div>
22
+
23
+ <!-- Changes List -->
24
+ <div class="changes-list" id="changes-list" style="display: none;">
25
+ <!-- Dynamically generated changed file items -->
26
+ </div>
27
+
28
+ <!-- Commit Box -->
29
+ <div class="changes-commit-box" id="changes-commit-box" style="display: none;">
30
+ <textarea id="commit-message-input" class="commit-message-input" placeholder="Commit message (Ctrl+Enter to commit)..." rows="2"></textarea>
31
+ <button id="btn-commit-changes" class="btn-commit" type="button">
32
+ <span class="commit-btn-icon">✓</span>
33
+ <span class="commit-btn-text" id="commit-btn-text">Commit to [main]</span>
34
+ </button>
35
+ </div>
36
+ </div>
37
+ </div>