@ibgib/space-gib 0.0.33 → 0.0.35
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-FIAGRVBY.mjs +10933 -0
- package/dist/client/chunk-XLQ3UCQY.mjs +53 -0
- package/dist/client/css/activity-bar.css +435 -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 +1017 -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 +208 -31
- package/dist/client/index.mjs +22 -45
- package/dist/client/privacy.html +22 -22
- 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 +6880 -3110
- package/package.json +6 -6
- package/src/client/AUTO-GENERATED-version.mts +1 -1
- package/src/client/cosmos/seed-cosmos-workspace.mts +83 -0
- package/src/client/css/activity-bar.css +435 -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 +1017 -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 +7 -7
- package/src/client/index.html +208 -31
- package/src/client/privacy.html +22 -22
- package/src/client/style.css +11 -1056
- package/src/client/ui/component/changes/changes.css +413 -0
- package/src/client/ui/component/changes/changes.html +37 -0
- package/src/client/ui/component/changes/changes.mts +766 -0
- package/src/client/ui/component/changes/index.mts +9 -0
- 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 +52 -0
- package/src/client/ui/component/chat-view/chat-view.mts +264 -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 +648 -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 +357 -0
- package/src/client/ui/component/code-editor/code-editor.html +67 -0
- package/src/client/ui/component/code-editor/code-editor.mts +643 -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 +92 -0
- package/src/client/ui/component/cosmos-navigator/cosmos-navigator.mts +1317 -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 +720 -0
- package/src/client/ui/component/file-explorer/file-explorer.html +55 -0
- package/src/client/ui/component/file-explorer/file-explorer.mts +1412 -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 +561 -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 +395 -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 +279 -0
- package/src/client/ui/component/timeline/timeline.html +23 -0
- package/src/client/ui/component/timeline/timeline.mts +261 -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 +72 -0
- package/src/client/ui/router/space-gib-router-helpers.respec.mts +529 -0
- package/src/client/ui/router/space-gib-router-service.mts +63 -0
- package/src/client/ui/router/space-gib-router-types.mts +49 -0
- package/src/client/ui/shell/cosmic-big-bang.mts +853 -0
- package/src/client/ui/shell/space-gib-shell-constants.mts +7 -0
- package/src/client/ui/shell/space-gib-shell-service.mts +2297 -32
- package/src/server/server.mts +20 -1
- package/tsconfig.test.json +5 -1
- package/dist/client/chunk-CRJV762I.mjs +0 -3102
- package/dist/client/chunk-LXRCF5OS.mjs +0 -25
- package/dist/client/chunk-UBDQUZZV.mjs +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getComponentSvc } from "@ibgib/web-gib/dist/ui/component/ibgib-component-service.mjs";
|
|
2
|
+
import { FileExplorerComponentMeta } from "./file-explorer.mjs";
|
|
3
|
+
|
|
4
|
+
export * from "./file-explorer.mjs";
|
|
5
|
+
|
|
6
|
+
export async function registerFileExplorerComponent(): Promise<void> {
|
|
7
|
+
const componentSvc = await getComponentSvc();
|
|
8
|
+
componentSvc.registerComponentMeta(new FileExplorerComponentMeta());
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# space-gib-nested-chat Component Implementation
|
|
2
|
+
|
|
3
|
+
## 1. Overview
|
|
4
|
+
`space-gib-nested-chat` is a dynamic container Web Component that hosts recursive `space-gib-chat` instances in the `space-gib` right panel. It extends `IbGibDynamicComponentInstanceBase_ParentOfTabs` to manage child tabs formatted as an interactive breadcrumb navigation rail.
|
|
5
|
+
|
|
6
|
+
## 2. Core Concepts & Navigation Paradigm
|
|
7
|
+
- **Breadcrumb-Styled Tabs**:
|
|
8
|
+
- Rather than traditional square tabs, tabs are styled as a horizontal breadcrumb path (`[🌿 src/index.ts] › [💬 Architectural Rationale...] › [💬 Boundary Try/Catch...]`).
|
|
9
|
+
- The currently active breadcrumb has high-contrast accent styling.
|
|
10
|
+
- **Non-Destructive Ancestor Navigation**:
|
|
11
|
+
- Clicking any ancestor breadcrumb activates that ancestor's `space-gib-chat` component in the main content viewport (`this.activateIbGib({ addr })`).
|
|
12
|
+
- Descendant breadcrumb tabs remain in the rail so the user can easily hop back and forth along the conversation trail.
|
|
13
|
+
- **Branch Divergence**:
|
|
14
|
+
- If the user is currently focused on an ancestor tab and selects a *different* comment to drill down into, any descendant tabs beyond the active tab are pruned and the new child comment is appended as the new active tab.
|
|
15
|
+
|
|
16
|
+
## 3. Events Handled & Dispatched
|
|
17
|
+
- Listens for `space-gib-chat-drill-down`: Triggers drill-down into child comment context.
|
|
18
|
+
- Dispatches `space-gib-chat-closed` / `space-gib-chat-close-requested`: Requests shell collapse/close of right chat panel.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# space-gib-chat Component Implementation
|
|
2
|
+
|
|
3
|
+
## 1. Overview
|
|
4
|
+
`space-gib-chat` is a dynamic Web Component representing a single chatroom context within the `space-gib-nested-chat` container. In the ibGib model, any ibGib (a source file, commit, diff, or individual comment) can act as a chatroom context.
|
|
5
|
+
|
|
6
|
+
## 2. Responsibilities
|
|
7
|
+
- Renders the list of living comments attached to the context ibGib (`this.ibGib.rel8ns.chat`).
|
|
8
|
+
- Renders author identity, avatar, role (Keystone/Peer/Agent), timestamps, and optional code anchors.
|
|
9
|
+
- Provides a drill-down trigger (`↳ N replies / Drill In 🔍`) that fires `space-gib-chat-drill-down` custom event upward to `space-gib-nested-chat`.
|
|
10
|
+
- Provides an inline message composer to append new living comments to the current context.
|
|
11
|
+
|
|
12
|
+
## 3. Events Dispatched
|
|
13
|
+
- `space-gib-chat-drill-down`: Bubbling, composed event carrying `{ addr: IbGibAddr, text: string, author?: string }`.
|
|
14
|
+
- `space-gib-chat-message-sent`: Notification event carrying `{ message: ChatCommentItem, contextAddr: IbGibAddr }`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* in the chat component, there are two different types of behavior for ENTER
|
|
3
|
+
* key: "send" | "newline".
|
|
4
|
+
*
|
|
5
|
+
* This is the key used in storage for storing this small settings locally.
|
|
6
|
+
*
|
|
7
|
+
* ## driving use case
|
|
8
|
+
*
|
|
9
|
+
* It drives me bonkers when I have to remember to hit SHIFT+ENTER in order to
|
|
10
|
+
* avoid sending a complex message/text.
|
|
11
|
+
*/
|
|
12
|
+
export const SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY = 'space_gib_enter_behavior';
|
|
13
|
+
|
|
14
|
+
export const SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY_DEFAULT = 'newline';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
|
|
2
|
+
import { storageGet, storagePut } from "@ibgib/web-gib/dist/storage/storage-helpers.web.mjs";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
import { APP_CONFIG, GLOBAL_LOG_A_LOT } from "../../../../constants.mjs";
|
|
6
|
+
import { SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY, SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY_DEFAULT } from "./chat-constants.mjs";
|
|
7
|
+
|
|
8
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* gets value of how the ENTER key should behave when pressed in the chat.
|
|
12
|
+
* First looks in storage, and if not found (or errored), returns default.
|
|
13
|
+
*
|
|
14
|
+
* ## driving use case
|
|
15
|
+
*
|
|
16
|
+
* It drives me bonkers when I have to remember to hit SHIFT+ENTER in order to
|
|
17
|
+
* avoid sending a complex message/text.
|
|
18
|
+
*
|
|
19
|
+
* @returns enter behavior from storage or default
|
|
20
|
+
*
|
|
21
|
+
* @see {@link SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY}
|
|
22
|
+
* @see {@link SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY_DEFAULT}
|
|
23
|
+
*/
|
|
24
|
+
export async function getSavedEnterBehavior(): Promise<'send' | 'newline'> {
|
|
25
|
+
const lc = `[${getSavedEnterBehavior.name}]`;
|
|
26
|
+
try {
|
|
27
|
+
const saved = await storageGet({
|
|
28
|
+
dbName: APP_CONFIG.dbName,
|
|
29
|
+
storeName: APP_CONFIG.storeName,
|
|
30
|
+
key: SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY,
|
|
31
|
+
});
|
|
32
|
+
if (saved === 'newline' || saved === 'send') {
|
|
33
|
+
return saved;
|
|
34
|
+
} else {
|
|
35
|
+
throw new Error(`invalid saved value: ${saved}. expected "newline" or "send" (E: 2ff05888161f88781ec3a778b8dbdc26)`);
|
|
36
|
+
}
|
|
37
|
+
} catch (error) {
|
|
38
|
+
console.log(`${lc} (NOT THROWN) error: ${extractErrorMsg(error)}. returning default value: ${SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY_DEFAULT} (E: 71a0df6714c22a322e65702a2f743126)`);
|
|
39
|
+
return SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY_DEFAULT;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @see {@link getSavedEnterBehavior}
|
|
45
|
+
*/
|
|
46
|
+
export async function setSavedEnterBehavior(value: 'send' | 'newline'): Promise<void> {
|
|
47
|
+
const lc = `[${setSavedEnterBehavior.name}]`;
|
|
48
|
+
try {
|
|
49
|
+
if (logalot) { console.log(`${lc} starting... (I: 39e3f846651cb92cfec3da4ee305ea26)`); }
|
|
50
|
+
|
|
51
|
+
if (value !== "send" && value !== "newline") {
|
|
52
|
+
throw new Error(`(UNEXPECTED) invalid val (val)? should be "send" or "newline" (E: b5323681d3d66ddb3868cc9aa7fae826)`);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
await storagePut({
|
|
56
|
+
dbName: APP_CONFIG.dbName,
|
|
57
|
+
storeName: APP_CONFIG.storeName,
|
|
58
|
+
key: SPACE_GIB_CHAT_ENTER_BEHAVIOR_KEY,
|
|
59
|
+
value,
|
|
60
|
+
});
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(`${lc} (NOT THROWN) ${extractErrorMsg(error)}`);
|
|
63
|
+
} finally {
|
|
64
|
+
if (logalot) { console.log(`${lc} complete.`); }
|
|
65
|
+
}
|
|
66
|
+
}
|