@xemahq/ui-kernel 0.1.4
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/LICENSE +17 -0
- package/README.md +72 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/biome-host/biome-mode.d.ts +2 -0
- package/dist/lib/biome-host/biome-mode.d.ts.map +1 -0
- package/dist/lib/biome-host/biome-mode.js +3 -0
- package/dist/lib/biome-host/biome-mode.js.map +1 -0
- package/dist/lib/biome-host/biome-registry.d.ts +30 -0
- package/dist/lib/biome-host/biome-registry.d.ts.map +1 -0
- package/dist/lib/biome-host/biome-registry.js +134 -0
- package/dist/lib/biome-host/biome-registry.js.map +1 -0
- package/dist/lib/biome-host/composition-validation.d.ts +22 -0
- package/dist/lib/biome-host/composition-validation.d.ts.map +1 -0
- package/dist/lib/biome-host/composition-validation.js +127 -0
- package/dist/lib/biome-host/composition-validation.js.map +1 -0
- package/dist/lib/biome-host/frontend-biome.d.ts +47 -0
- package/dist/lib/biome-host/frontend-biome.d.ts.map +1 -0
- package/dist/lib/biome-host/frontend-biome.js +3 -0
- package/dist/lib/biome-host/frontend-biome.js.map +1 -0
- package/dist/lib/biome-host/host-bridge.d.ts +55 -0
- package/dist/lib/biome-host/host-bridge.d.ts.map +1 -0
- package/dist/lib/biome-host/host-bridge.js +16 -0
- package/dist/lib/biome-host/host-bridge.js.map +1 -0
- package/dist/lib/biome-host/host-sources.d.ts +12 -0
- package/dist/lib/biome-host/host-sources.d.ts.map +1 -0
- package/dist/lib/biome-host/host-sources.js +3 -0
- package/dist/lib/biome-host/host-sources.js.map +1 -0
- package/dist/lib/biome-host/index.d.ts +10 -0
- package/dist/lib/biome-host/index.d.ts.map +1 -0
- package/dist/lib/biome-host/index.js +26 -0
- package/dist/lib/biome-host/index.js.map +1 -0
- package/dist/lib/biome-host/nav.d.ts +17 -0
- package/dist/lib/biome-host/nav.d.ts.map +1 -0
- package/dist/lib/biome-host/nav.js +52 -0
- package/dist/lib/biome-host/nav.js.map +1 -0
- package/dist/lib/biome-host/session-contributions.d.ts +143 -0
- package/dist/lib/biome-host/session-contributions.d.ts.map +1 -0
- package/dist/lib/biome-host/session-contributions.js +3 -0
- package/dist/lib/biome-host/session-contributions.js.map +1 -0
- package/dist/lib/biome-host/session-profiles.d.ts +18 -0
- package/dist/lib/biome-host/session-profiles.d.ts.map +1 -0
- package/dist/lib/biome-host/session-profiles.js +39 -0
- package/dist/lib/biome-host/session-profiles.js.map +1 -0
- package/dist/lib/system-bus/capability-invoke.d.ts +18 -0
- package/dist/lib/system-bus/capability-invoke.d.ts.map +1 -0
- package/dist/lib/system-bus/capability-invoke.js +3 -0
- package/dist/lib/system-bus/capability-invoke.js.map +1 -0
- package/dist/lib/system-bus/deeplink.d.ts +33 -0
- package/dist/lib/system-bus/deeplink.d.ts.map +1 -0
- package/dist/lib/system-bus/deeplink.js +99 -0
- package/dist/lib/system-bus/deeplink.js.map +1 -0
- package/dist/lib/system-bus/enums.d.ts +27 -0
- package/dist/lib/system-bus/enums.d.ts.map +1 -0
- package/dist/lib/system-bus/enums.js +35 -0
- package/dist/lib/system-bus/enums.js.map +1 -0
- package/dist/lib/system-bus/host-ports.d.ts +24 -0
- package/dist/lib/system-bus/host-ports.d.ts.map +1 -0
- package/dist/lib/system-bus/host-ports.js +3 -0
- package/dist/lib/system-bus/host-ports.js.map +1 -0
- package/dist/lib/system-bus/index.d.ts +11 -0
- package/dist/lib/system-bus/index.d.ts.map +1 -0
- package/dist/lib/system-bus/index.js +27 -0
- package/dist/lib/system-bus/index.js.map +1 -0
- package/dist/lib/system-bus/intent-registry.d.ts +14 -0
- package/dist/lib/system-bus/intent-registry.d.ts.map +1 -0
- package/dist/lib/system-bus/intent-registry.js +66 -0
- package/dist/lib/system-bus/intent-registry.js.map +1 -0
- package/dist/lib/system-bus/intents.d.ts +30 -0
- package/dist/lib/system-bus/intents.d.ts.map +1 -0
- package/dist/lib/system-bus/intents.js +3 -0
- package/dist/lib/system-bus/intents.js.map +1 -0
- package/dist/lib/system-bus/palette.d.ts +25 -0
- package/dist/lib/system-bus/palette.d.ts.map +1 -0
- package/dist/lib/system-bus/palette.js +3 -0
- package/dist/lib/system-bus/palette.js.map +1 -0
- package/dist/lib/system-bus/system-bus-builder.d.ts +10 -0
- package/dist/lib/system-bus/system-bus-builder.d.ts.map +1 -0
- package/dist/lib/system-bus/system-bus-builder.js +82 -0
- package/dist/lib/system-bus/system-bus-builder.js.map +1 -0
- package/dist/lib/system-bus/system-bus.d.ts +13 -0
- package/dist/lib/system-bus/system-bus.d.ts.map +1 -0
- package/dist/lib/system-bus/system-bus.js +3 -0
- package/dist/lib/system-bus/system-bus.js.map +1 -0
- package/dist/lib/system-bus/windows.d.ts +21 -0
- package/dist/lib/system-bus/windows.d.ts.map +1 -0
- package/dist/lib/system-bus/windows.js +3 -0
- package/dist/lib/system-bus/windows.js.map +1 -0
- package/dist/org-db/components/DbResultTable.d.ts +13 -0
- package/dist/org-db/components/DbResultTable.d.ts.map +1 -0
- package/dist/org-db/components/DbResultTable.js +58 -0
- package/dist/org-db/components/DbResultTable.js.map +1 -0
- package/dist/org-db/index.d.ts +2 -0
- package/dist/org-db/index.d.ts.map +1 -0
- package/dist/org-db/index.js +6 -0
- package/dist/org-db/index.js.map +1 -0
- package/dist/registry/index.d.ts +9 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +25 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/lib/biome-slot.d.ts +7 -0
- package/dist/registry/lib/biome-slot.d.ts.map +1 -0
- package/dist/registry/lib/biome-slot.js +18 -0
- package/dist/registry/lib/biome-slot.js.map +1 -0
- package/dist/registry/lib/biomes-enabled-context.d.ts +3 -0
- package/dist/registry/lib/biomes-enabled-context.d.ts.map +1 -0
- package/dist/registry/lib/biomes-enabled-context.js +11 -0
- package/dist/registry/lib/biomes-enabled-context.js.map +1 -0
- package/dist/registry/lib/composition-validation-host.d.ts +3 -0
- package/dist/registry/lib/composition-validation-host.d.ts.map +1 -0
- package/dist/registry/lib/composition-validation-host.js +10 -0
- package/dist/registry/lib/composition-validation-host.js.map +1 -0
- package/dist/registry/lib/extension-points.d.ts +15 -0
- package/dist/registry/lib/extension-points.d.ts.map +1 -0
- package/dist/registry/lib/extension-points.js +17 -0
- package/dist/registry/lib/extension-points.js.map +1 -0
- package/dist/registry/lib/primitives/SessionEventCard.d.ts +14 -0
- package/dist/registry/lib/primitives/SessionEventCard.d.ts.map +1 -0
- package/dist/registry/lib/primitives/SessionEventCard.js +60 -0
- package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -0
- package/dist/registry/lib/primitives/SessionEventTimeline.d.ts +13 -0
- package/dist/registry/lib/primitives/SessionEventTimeline.d.ts.map +1 -0
- package/dist/registry/lib/primitives/SessionEventTimeline.js +35 -0
- package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -0
- package/dist/registry/lib/primitives/SessionMutationBar.d.ts +10 -0
- package/dist/registry/lib/primitives/SessionMutationBar.d.ts.map +1 -0
- package/dist/registry/lib/primitives/SessionMutationBar.js +37 -0
- package/dist/registry/lib/primitives/SessionMutationBar.js.map +1 -0
- package/dist/registry/lib/primitives/SessionTabbedDrawer.d.ts +19 -0
- package/dist/registry/lib/primitives/SessionTabbedDrawer.d.ts.map +1 -0
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js +75 -0
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -0
- package/dist/registry/lib/primitives/index.d.ts +5 -0
- package/dist/registry/lib/primitives/index.d.ts.map +1 -0
- package/dist/registry/lib/primitives/index.js +21 -0
- package/dist/registry/lib/primitives/index.js.map +1 -0
- package/dist/registry/lib/session-context-builder.d.ts +13 -0
- package/dist/registry/lib/session-context-builder.d.ts.map +1 -0
- package/dist/registry/lib/session-context-builder.js +39 -0
- package/dist/registry/lib/session-context-builder.js.map +1 -0
- package/dist/registry/lib/session-context-provider.d.ts +10 -0
- package/dist/registry/lib/session-context-provider.d.ts.map +1 -0
- package/dist/registry/lib/session-context-provider.js +24 -0
- package/dist/registry/lib/session-context-provider.js.map +1 -0
- package/dist/registry/lib/session-selectors.d.ts +9 -0
- package/dist/registry/lib/session-selectors.d.ts.map +1 -0
- package/dist/registry/lib/session-selectors.js +149 -0
- package/dist/registry/lib/session-selectors.js.map +1 -0
- package/dist/session/comments/CommentRail.d.ts +20 -0
- package/dist/session/comments/CommentRail.d.ts.map +1 -0
- package/dist/session/comments/CommentRail.js +16 -0
- package/dist/session/comments/CommentRail.js.map +1 -0
- package/dist/session/index.d.ts +4 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +10 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/lib/cn.d.ts +3 -0
- package/dist/session/lib/cn.d.ts.map +1 -0
- package/dist/session/lib/cn.js +9 -0
- package/dist/session/lib/cn.js.map +1 -0
- package/dist/session/shell/SessionWorkspaceShell.d.ts +16 -0
- package/dist/session/shell/SessionWorkspaceShell.d.ts.map +1 -0
- package/dist/session/shell/SessionWorkspaceShell.js +15 -0
- package/dist/session/shell/SessionWorkspaceShell.js.map +1 -0
- package/package.json +84 -0
- package/src/index.ts +2 -0
- package/src/lib/biome-host/biome-mode.ts +6 -0
- package/src/lib/biome-host/biome-registry.ts +245 -0
- package/src/lib/biome-host/composition-validation.ts +215 -0
- package/src/lib/biome-host/frontend-biome.ts +162 -0
- package/src/lib/biome-host/host-bridge.ts +178 -0
- package/src/lib/biome-host/host-sources.ts +41 -0
- package/src/lib/biome-host/index.ts +23 -0
- package/src/lib/biome-host/nav.ts +83 -0
- package/src/lib/biome-host/session-contributions.ts +293 -0
- package/src/lib/biome-host/session-profiles.ts +99 -0
- package/src/lib/system-bus/capability-invoke.ts +92 -0
- package/src/lib/system-bus/deeplink.ts +200 -0
- package/src/lib/system-bus/enums.ts +86 -0
- package/src/lib/system-bus/host-ports.ts +96 -0
- package/src/lib/system-bus/index.ts +16 -0
- package/src/lib/system-bus/intent-registry.ts +106 -0
- package/src/lib/system-bus/intents.ts +109 -0
- package/src/lib/system-bus/palette.ts +77 -0
- package/src/lib/system-bus/system-bus-builder.ts +157 -0
- package/src/lib/system-bus/system-bus.ts +37 -0
- package/src/lib/system-bus/windows.ts +51 -0
- package/src/org-db/components/DbResultTable.tsx +143 -0
- package/src/org-db/index.ts +1 -0
- package/src/registry/index.ts +8 -0
- package/src/registry/lib/biome-slot.tsx +47 -0
- package/src/registry/lib/biomes-enabled-context.ts +20 -0
- package/src/registry/lib/composition-validation-host.ts +37 -0
- package/src/registry/lib/extension-points.ts +134 -0
- package/src/registry/lib/primitives/SessionEventCard.tsx +138 -0
- package/src/registry/lib/primitives/SessionEventTimeline.tsx +89 -0
- package/src/registry/lib/primitives/SessionMutationBar.tsx +76 -0
- package/src/registry/lib/primitives/SessionTabbedDrawer.tsx +155 -0
- package/src/registry/lib/primitives/index.ts +18 -0
- package/src/registry/lib/session-context-builder.ts +68 -0
- package/src/registry/lib/session-context-provider.tsx +50 -0
- package/src/registry/lib/session-selectors.ts +231 -0
- package/src/session/comments/CommentRail.tsx +164 -0
- package/src/session/index.ts +3 -0
- package/src/session/lib/cn.ts +11 -0
- package/src/session/shell/SessionWorkspaceShell.tsx +141 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BiomeSlot = BiomeSlot;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const index_1 = require("../../index");
|
|
7
|
+
const biomes_enabled_context_1 = require("./biomes-enabled-context");
|
|
8
|
+
function BiomeSlot(props) {
|
|
9
|
+
(0, index_1.useBiomeRegistryRevision)();
|
|
10
|
+
const enabled = (0, biomes_enabled_context_1.useBiomesEnabled)();
|
|
11
|
+
if (!enabled)
|
|
12
|
+
return props.fallback ?? null;
|
|
13
|
+
const panels = index_1.biomeRegistry.panelsForSlot(props.name);
|
|
14
|
+
if (panels.length === 0)
|
|
15
|
+
return props.fallback ?? null;
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: panels.map((panel) => ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: panel.render() }, panel.id))) }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=biome-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biome-slot.js","sourceRoot":"","sources":["../../../src/registry/lib/biome-slot.tsx"],"names":[],"mappings":";;AAgCA,8BAcC;;AA9CD,iCAAoD;AAEpD,uCAAsE;AAEtE,qEAA4D;AA4B5D,SAAgB,SAAS,CAAC,KAAqB;IAE7C,IAAA,gCAAwB,GAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,yCAAgB,GAAE,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,qBAAa,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvD,OAAO,CACL,uBAAC,gBAAQ,cACN,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,uBAAC,gBAAQ,cAAiB,KAAK,CAAC,MAAM,EAAE,IAAzB,KAAK,CAAC,EAAE,CAA6B,CACrD,CAAC,GACO,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biomes-enabled-context.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/biomes-enabled-context.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,oBAAoB,kCAA+B,CAAC;AAGjE,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BiomesEnabledContext = void 0;
|
|
4
|
+
exports.useBiomesEnabled = useBiomesEnabled;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.BiomesEnabledContext = (0, react_1.createContext)(true);
|
|
7
|
+
exports.BiomesEnabledContext.displayName = 'BiomesEnabledContext';
|
|
8
|
+
function useBiomesEnabled() {
|
|
9
|
+
return (0, react_1.useContext)(exports.BiomesEnabledContext);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=biomes-enabled-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biomes-enabled-context.js","sourceRoot":"","sources":["../../../src/registry/lib/biomes-enabled-context.ts"],"names":[],"mappings":";;;AAiBA,4CAEC;AAnBD,iCAAkD;AAcrC,QAAA,oBAAoB,GAAG,IAAA,qBAAa,EAAU,IAAI,CAAC,CAAC;AACjE,4BAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAE1D,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,kBAAU,EAAC,4BAAoB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-validation-host.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/composition-validation-host.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAEnB,MAAM,aAAa,CAAC;AAkBrB,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,SAAS,qBAAqB,EAAE,CAElC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateHostBiomeComposition = validateHostBiomeComposition;
|
|
4
|
+
const index_1 = require("../../index");
|
|
5
|
+
const extension_points_1 = require("./extension-points");
|
|
6
|
+
const HOST_SLOT_IDS = new Set(Object.values(extension_points_1.HostExtensionSlots));
|
|
7
|
+
function validateHostBiomeComposition(biomes) {
|
|
8
|
+
return (0, index_1.validateBiomeComposition)(biomes, { knownSlots: HOST_SLOT_IDS });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=composition-validation-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition-validation-host.js","sourceRoot":"","sources":["../../../src/registry/lib/composition-validation-host.ts"],"names":[],"mappings":";;AAgCA,oEAIC;AA1BD,uCAIqB;AAErB,yDAAwD;AAOxD,MAAM,aAAa,GAAwB,IAAI,GAAG,CAChD,MAAM,CAAC,MAAM,CAAC,qCAAkB,CAAC,CAClC,CAAC;AAOF,SAAgB,4BAA4B,CAC1C,MAAgC;IAEhC,OAAO,IAAA,gCAAwB,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const HostExtensionSlots: {
|
|
2
|
+
readonly OrgHeaderActions: "org-header-actions";
|
|
3
|
+
readonly BiomesOverviewCards: "biomes-overview-cards";
|
|
4
|
+
readonly ProjectOverviewCards: "project-overview-cards";
|
|
5
|
+
readonly ProjectOverviewSecondary: "project-overview-secondary";
|
|
6
|
+
readonly DashboardEmptyState: "dashboard-empty-state";
|
|
7
|
+
readonly RunDetailActions: "run-detail-actions";
|
|
8
|
+
readonly RunDetailSidePanel: "run-detail-side-panel";
|
|
9
|
+
readonly SessionActions: "session-actions";
|
|
10
|
+
readonly SessionSidePanel: "session-side-panel";
|
|
11
|
+
readonly SessionRightHeader: "session-right-header";
|
|
12
|
+
readonly SettingsTabs: "settings-tabs";
|
|
13
|
+
};
|
|
14
|
+
export type HostExtensionSlot = (typeof HostExtensionSlots)[keyof typeof HostExtensionSlots];
|
|
15
|
+
//# sourceMappingURL=extension-points.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-points.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/extension-points.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAqFrB,CAAC;AAQX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HostExtensionSlots = void 0;
|
|
4
|
+
exports.HostExtensionSlots = {
|
|
5
|
+
OrgHeaderActions: 'org-header-actions',
|
|
6
|
+
BiomesOverviewCards: 'biomes-overview-cards',
|
|
7
|
+
ProjectOverviewCards: 'project-overview-cards',
|
|
8
|
+
ProjectOverviewSecondary: 'project-overview-secondary',
|
|
9
|
+
DashboardEmptyState: 'dashboard-empty-state',
|
|
10
|
+
RunDetailActions: 'run-detail-actions',
|
|
11
|
+
RunDetailSidePanel: 'run-detail-side-panel',
|
|
12
|
+
SessionActions: 'session-actions',
|
|
13
|
+
SessionSidePanel: 'session-side-panel',
|
|
14
|
+
SessionRightHeader: 'session-right-header',
|
|
15
|
+
SettingsTabs: 'settings-tabs',
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=extension-points.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-points.js","sourceRoot":"","sources":["../../../src/registry/lib/extension-points.ts"],"names":[],"mappings":";;;AAuCa,QAAA,kBAAkB,GAAG;IAOhC,gBAAgB,EAAE,oBAAoB;IAOtC,mBAAmB,EAAE,uBAAuB;IAQ5C,oBAAoB,EAAE,wBAAwB;IAO9C,wBAAwB,EAAE,4BAA4B;IAMtD,mBAAmB,EAAE,uBAAuB;IAQ5C,gBAAgB,EAAE,oBAAoB;IAQtC,kBAAkB,EAAE,uBAAuB;IAQ3C,cAAc,EAAE,iBAAiB;IAMjC,gBAAgB,EAAE,oBAAoB;IAUtC,kBAAkB,EAAE,sBAAsB;IAS1C,YAAY,EAAE,eAAe;CACrB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode, type ReactElement } from 'react';
|
|
2
|
+
export type SessionEventCardTone = 'default' | 'pending' | 'success' | 'error' | 'info';
|
|
3
|
+
export interface SessionEventCardProps {
|
|
4
|
+
readonly time: string;
|
|
5
|
+
readonly icon?: ReactNode;
|
|
6
|
+
readonly title: ReactNode;
|
|
7
|
+
readonly detail?: ReactNode;
|
|
8
|
+
readonly children?: ReactNode;
|
|
9
|
+
readonly tone?: SessionEventCardTone;
|
|
10
|
+
readonly style?: CSSProperties;
|
|
11
|
+
readonly className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function SessionEventCard({ time, icon, title, detail, children, tone, style, className, }: SessionEventCardProps): ReactElement;
|
|
14
|
+
//# sourceMappingURL=SessionEventCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEventCard.d.ts","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionEventCard.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAkBxF,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAE5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAgB,EAChB,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,GAAG,YAAY,CA+DtC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionEventCard = SessionEventCard;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const TONE_DOT = {
|
|
6
|
+
default: 'hsl(var(--ink-4, 228 6% 58%))',
|
|
7
|
+
pending: 'hsl(var(--info, 220 70% 50%))',
|
|
8
|
+
success: 'hsl(var(--success, 152 50% 35%))',
|
|
9
|
+
error: 'hsl(var(--destructive, 8 70% 50%))',
|
|
10
|
+
info: 'hsl(var(--info, 220 70% 50%))',
|
|
11
|
+
};
|
|
12
|
+
const TONE_BG = {
|
|
13
|
+
default: 'hsl(var(--paper-elev, 0 0% 100%))',
|
|
14
|
+
pending: 'hsl(var(--info, 220 70% 50%) / 0.08)',
|
|
15
|
+
success: 'hsl(var(--success, 152 50% 35%) / 0.08)',
|
|
16
|
+
error: 'hsl(var(--destructive, 8 70% 50%) / 0.10)',
|
|
17
|
+
info: 'hsl(var(--info, 220 70% 50%) / 0.08)',
|
|
18
|
+
};
|
|
19
|
+
function formatTime(iso) {
|
|
20
|
+
const date = new Date(iso);
|
|
21
|
+
if (Number.isNaN(date.getTime()))
|
|
22
|
+
return '—';
|
|
23
|
+
return date.toLocaleTimeString([], {
|
|
24
|
+
hour: '2-digit',
|
|
25
|
+
minute: '2-digit',
|
|
26
|
+
second: '2-digit',
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function SessionEventCard({ time, icon, title, detail, children, tone = 'default', style, className, }) {
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: className, style: {
|
|
31
|
+
display: 'flex',
|
|
32
|
+
gap: 10,
|
|
33
|
+
padding: '4px 8px',
|
|
34
|
+
borderRadius: 6,
|
|
35
|
+
fontSize: 12,
|
|
36
|
+
...style,
|
|
37
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { style: {
|
|
38
|
+
width: 56,
|
|
39
|
+
flexShrink: 0,
|
|
40
|
+
fontFamily: 'var(--font-mono, ui-monospace, monospace)',
|
|
41
|
+
fontSize: 11,
|
|
42
|
+
color: 'hsl(var(--ink-4, 228 6% 58%))',
|
|
43
|
+
fontVariantNumeric: 'tabular-nums',
|
|
44
|
+
}, children: formatTime(time) }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
45
|
+
width: 20,
|
|
46
|
+
height: 20,
|
|
47
|
+
flexShrink: 0,
|
|
48
|
+
display: 'flex',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
justifyContent: 'center',
|
|
51
|
+
borderRadius: 4,
|
|
52
|
+
background: TONE_BG[tone],
|
|
53
|
+
}, children: icon ?? ((0, jsx_runtime_1.jsx)("span", { style: {
|
|
54
|
+
width: 6,
|
|
55
|
+
height: 6,
|
|
56
|
+
borderRadius: '50%',
|
|
57
|
+
background: TONE_DOT[tone],
|
|
58
|
+
} })) }), (0, jsx_runtime_1.jsxs)("div", { style: { minWidth: 0, flex: 1 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 6, alignItems: 'baseline', flexWrap: 'wrap' }, children: [(0, jsx_runtime_1.jsx)("span", { style: { color: 'hsl(var(--ink, 228 14% 11%))', wordBreak: 'break-word' }, children: title }), detail != null && ((0, jsx_runtime_1.jsx)("span", { style: { color: 'hsl(var(--ink-3, 228 6% 40%))', wordBreak: 'break-word' }, children: detail }))] }), children != null && (0, jsx_runtime_1.jsx)("div", { style: { marginTop: 4 }, children: children })] })] }));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=SessionEventCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEventCard.js","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionEventCard.tsx"],"names":[],"mappings":";;AAiEA,4CAwEC;;AA/GD,MAAM,QAAQ,GAAyC;IACrD,OAAO,EAAE,+BAA+B;IACxC,OAAO,EAAE,+BAA+B;IACxC,OAAO,EAAE,kCAAkC;IAC3C,KAAK,EAAE,oCAAoC;IAC3C,IAAI,EAAE,+BAA+B;CACtC,CAAC;AAEF,MAAM,OAAO,GAAyC;IACpD,OAAO,EAAE,mCAAmC;IAC5C,OAAO,EAAE,sCAAsC;IAC/C,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,2CAA2C;IAClD,IAAI,EAAE,sCAAsC;CAC7C,CAAC;AAeF,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;QACjC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAI,GAAG,SAAS,EAChB,KAAK,EACL,SAAS,GACa;IACtB,OAAO,CACL,iCACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,EAAE;YACZ,GAAG,KAAK;SACT,aAED,iCACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,2CAA2C;oBACvD,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,+BAA+B;oBACtC,kBAAkB,EAAE,cAAc;iBACnC,YAEA,UAAU,CAAC,IAAI,CAAC,GACZ,EACP,gCACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;iBAC1B,YAEA,IAAI,IAAI,CACP,iCACE,KAAK,EAAE;wBACL,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,CAAC;wBACT,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;qBAC3B,GACD,CACH,GACG,EACN,iCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAClC,iCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,aAC/E,iCAAM,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,SAAS,EAAE,YAAY,EAAE,YAC5E,KAAK,GACD,EACN,MAAM,IAAI,IAAI,IAAI,CACjB,iCAAM,KAAK,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE,SAAS,EAAE,YAAY,EAAE,YAC7E,MAAM,GACF,CACR,IACG,EACL,QAAQ,IAAI,IAAI,IAAI,gCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAAG,QAAQ,GAAO,IAC/D,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
export interface SessionEventTimelineProps<TItem> {
|
|
3
|
+
readonly items: readonly TItem[];
|
|
4
|
+
readonly getKey: (item: TItem) => string;
|
|
5
|
+
readonly renderItem: (item: TItem) => ReactNode;
|
|
6
|
+
readonly banner?: ReactNode;
|
|
7
|
+
readonly empty?: ReactNode;
|
|
8
|
+
readonly stickThreshold?: number;
|
|
9
|
+
readonly style?: CSSProperties;
|
|
10
|
+
readonly className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function SessionEventTimeline<TItem>({ items, getKey, renderItem, banner, empty, stickThreshold, style, className, }: SessionEventTimelineProps<TItem>): ReactElement;
|
|
13
|
+
//# sourceMappingURL=SessionEventTimeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEventTimeline.d.ts","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionEventTimeline.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,yBAAyB,CAAC,KAAK;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;IAEhD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAE5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAE3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,EAC1C,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,cAAmB,EACnB,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAG,YAAY,CAyCjD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionEventTimeline = SessionEventTimeline;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
function SessionEventTimeline({ items, getKey, renderItem, banner, empty, stickThreshold = 32, style, className, }) {
|
|
7
|
+
const scrollRef = (0, react_1.useRef)(null);
|
|
8
|
+
const [stuckToBottom, setStuckToBottom] = (0, react_1.useState)(true);
|
|
9
|
+
(0, react_1.useEffect)(() => {
|
|
10
|
+
const node = scrollRef.current;
|
|
11
|
+
if (!node)
|
|
12
|
+
return;
|
|
13
|
+
const handler = () => {
|
|
14
|
+
const distanceFromBottom = node.scrollHeight - node.scrollTop - node.clientHeight;
|
|
15
|
+
setStuckToBottom(distanceFromBottom < stickThreshold);
|
|
16
|
+
};
|
|
17
|
+
node.addEventListener('scroll', handler, { passive: true });
|
|
18
|
+
return () => node.removeEventListener('scroll', handler);
|
|
19
|
+
}, [stickThreshold]);
|
|
20
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
21
|
+
if (!stuckToBottom)
|
|
22
|
+
return;
|
|
23
|
+
const node = scrollRef.current;
|
|
24
|
+
if (!node)
|
|
25
|
+
return;
|
|
26
|
+
node.scrollTop = node.scrollHeight;
|
|
27
|
+
}, [items, stuckToBottom]);
|
|
28
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: scrollRef, className: className, style: {
|
|
29
|
+
height: '100%',
|
|
30
|
+
overflowY: 'auto',
|
|
31
|
+
padding: '8px 4px',
|
|
32
|
+
...style,
|
|
33
|
+
}, children: [banner, items.length === 0 && empty, items.map((item) => ((0, jsx_runtime_1.jsx)("div", { children: renderItem(item) }, getKey(item))))] }));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=SessionEventTimeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionEventTimeline.js","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionEventTimeline.tsx"],"names":[],"mappings":";;AAsCA,oDAkDC;;AA1ED,iCAQe;AAgBf,SAAgB,oBAAoB,CAAQ,EAC1C,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,cAAc,GAAG,EAAE,EACnB,KAAK,EACL,SAAS,GACwB;IACjC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAEzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,kBAAkB,GACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;YACzD,gBAAgB,CAAC,kBAAkB,GAAG,cAAc,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,iCACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,SAAS;YAClB,GAAG,KAAK;SACT,aAEA,MAAM,EACN,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,EAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,0CAAyB,UAAU,CAAC,IAAI,CAAC,IAA/B,MAAM,CAAC,IAAI,CAAC,CAA0B,CACjD,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode, type ReactElement } from 'react';
|
|
2
|
+
export type SessionMutationBarTone = 'default' | 'accent' | 'warning' | 'destructive';
|
|
3
|
+
export interface SessionMutationBarProps {
|
|
4
|
+
readonly tone?: SessionMutationBarTone;
|
|
5
|
+
readonly children: ReactNode;
|
|
6
|
+
readonly style?: CSSProperties;
|
|
7
|
+
readonly className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function SessionMutationBar({ tone, children, style, className, }: SessionMutationBarProps): ReactElement;
|
|
10
|
+
//# sourceMappingURL=SessionMutationBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMutationBar.d.ts","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionMutationBar.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;AAwBtF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAM7B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAE/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAgB,EAChB,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,uBAAuB,GAAG,YAAY,CAiBxC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionMutationBar = SessionMutationBar;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const TONE_STYLES = {
|
|
6
|
+
default: {
|
|
7
|
+
background: 'hsl(var(--paper-elev, 0 0% 100%))',
|
|
8
|
+
borderBottom: '1px solid hsl(var(--rule, 40 14% 86%))',
|
|
9
|
+
},
|
|
10
|
+
accent: {
|
|
11
|
+
background: 'hsl(var(--accent-tint, 230 50% 96%))',
|
|
12
|
+
borderBottom: '1px solid hsl(var(--rule, 40 14% 86%))',
|
|
13
|
+
color: 'hsl(var(--accent-ink, 230 50% 30%))',
|
|
14
|
+
},
|
|
15
|
+
warning: {
|
|
16
|
+
background: 'hsl(var(--warning, 32 80% 50%) / 0.10)',
|
|
17
|
+
borderBottom: '1px solid hsl(var(--warning, 32 80% 50%) / 0.30)',
|
|
18
|
+
color: 'hsl(var(--ink, 228 14% 11%))',
|
|
19
|
+
},
|
|
20
|
+
destructive: {
|
|
21
|
+
background: 'hsl(var(--destructive, 8 70% 50%) / 0.10)',
|
|
22
|
+
borderBottom: '1px solid hsl(var(--destructive, 8 70% 50%) / 0.30)',
|
|
23
|
+
color: 'hsl(var(--ink, 228 14% 11%))',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
function SessionMutationBar({ tone = 'default', children, style, className, }) {
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: className, style: {
|
|
28
|
+
...TONE_STYLES[tone],
|
|
29
|
+
padding: '6px 12px',
|
|
30
|
+
fontSize: 13,
|
|
31
|
+
display: 'flex',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
gap: 8,
|
|
34
|
+
...style,
|
|
35
|
+
}, children: children }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=SessionMutationBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionMutationBar.js","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionMutationBar.tsx"],"names":[],"mappings":";;AAqDA,gDAsBC;;AAzDD,MAAM,WAAW,GAAkD;IACjE,OAAO,EAAE;QACP,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,wCAAwC;KACvD;IACD,MAAM,EAAE;QACN,UAAU,EAAE,sCAAsC;QAClD,YAAY,EAAE,wCAAwC;QACtD,KAAK,EAAE,qCAAqC;KAC7C;IACD,OAAO,EAAE;QACP,UAAU,EAAE,wCAAwC;QACpD,YAAY,EAAE,kDAAkD;QAChE,KAAK,EAAE,8BAA8B;KACtC;IACD,WAAW,EAAE;QACX,UAAU,EAAE,2CAA2C;QACvD,YAAY,EAAE,qDAAqD;QACnE,KAAK,EAAE,8BAA8B;KACtC;CACF,CAAC;AAeF,SAAgB,kBAAkB,CAAC,EACjC,IAAI,GAAG,SAAS,EAChB,QAAQ,EACR,KAAK,EACL,SAAS,GACe;IACxB,OAAO,CACL,gCACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,GAAG,WAAW,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
export interface SessionTabbedDrawerTab {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly label: ReactNode;
|
|
5
|
+
readonly icon?: ReactNode;
|
|
6
|
+
readonly badge?: ReactNode;
|
|
7
|
+
readonly render: () => ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export interface SessionTabbedDrawerProps {
|
|
10
|
+
readonly tabs: readonly SessionTabbedDrawerTab[];
|
|
11
|
+
readonly initialTabId?: string;
|
|
12
|
+
readonly activeTabId?: string;
|
|
13
|
+
readonly onActiveTabChange?: (id: string) => void;
|
|
14
|
+
readonly enableKeyboardShortcuts?: boolean;
|
|
15
|
+
readonly style?: CSSProperties;
|
|
16
|
+
readonly className?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function SessionTabbedDrawer({ tabs, initialTabId, activeTabId, onActiveTabChange, enableKeyboardShortcuts, style, className, }: SessionTabbedDrawerProps): ReactElement;
|
|
19
|
+
//# sourceMappingURL=SessionTabbedDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionTabbedDrawer.d.ts","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionTabbedDrawer.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAKlD,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,uBAA8B,EAC9B,KAAK,EACL,SAAS,GACV,EAAE,wBAAwB,GAAG,YAAY,CAsGzC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionTabbedDrawer = SessionTabbedDrawer;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
function SessionTabbedDrawer({ tabs, initialTabId, activeTabId, onActiveTabChange, enableKeyboardShortcuts = true, style, className, }) {
|
|
7
|
+
const fallbackTabId = initialTabId ?? tabs[0]?.id ?? '';
|
|
8
|
+
const [internalActive, setInternalActive] = (0, react_1.useState)(fallbackTabId);
|
|
9
|
+
const effectiveActive = activeTabId ?? internalActive;
|
|
10
|
+
const select = (0, react_1.useMemo)(() => {
|
|
11
|
+
return (id) => {
|
|
12
|
+
if (activeTabId === undefined)
|
|
13
|
+
setInternalActive(id);
|
|
14
|
+
onActiveTabChange?.(id);
|
|
15
|
+
};
|
|
16
|
+
}, [activeTabId, onActiveTabChange]);
|
|
17
|
+
(0, react_1.useEffect)(() => {
|
|
18
|
+
if (!enableKeyboardShortcuts)
|
|
19
|
+
return;
|
|
20
|
+
const handler = (event) => {
|
|
21
|
+
if (!(event.metaKey || event.ctrlKey))
|
|
22
|
+
return;
|
|
23
|
+
const idx = Number.parseInt(event.key, 10);
|
|
24
|
+
if (Number.isNaN(idx) || idx < 1 || idx > tabs.length)
|
|
25
|
+
return;
|
|
26
|
+
const target = tabs[idx - 1];
|
|
27
|
+
if (!target)
|
|
28
|
+
return;
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
select(target.id);
|
|
31
|
+
};
|
|
32
|
+
window.addEventListener('keydown', handler);
|
|
33
|
+
return () => window.removeEventListener('keydown', handler);
|
|
34
|
+
}, [enableKeyboardShortcuts, tabs, select]);
|
|
35
|
+
const active = tabs.find((tab) => tab.id === effectiveActive) ?? tabs[0];
|
|
36
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: className, style: {
|
|
37
|
+
display: 'flex',
|
|
38
|
+
flexDirection: 'column',
|
|
39
|
+
height: '100%',
|
|
40
|
+
minHeight: 0,
|
|
41
|
+
...style,
|
|
42
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { role: "tablist", style: {
|
|
43
|
+
display: 'flex',
|
|
44
|
+
alignItems: 'center',
|
|
45
|
+
gap: 4,
|
|
46
|
+
padding: '8px 16px 0',
|
|
47
|
+
borderBottom: '1px solid hsl(var(--rule, 40 14% 86%))',
|
|
48
|
+
overflowX: 'auto',
|
|
49
|
+
}, children: tabs.map((tab, idx) => {
|
|
50
|
+
const isActive = tab.id === active?.id;
|
|
51
|
+
return ((0, jsx_runtime_1.jsxs)("button", { type: "button", role: "tab", "aria-selected": isActive, onClick: () => select(tab.id), title: `${typeof tab.label === 'string' ? tab.label : 'Tab'} (⌘${idx + 1})`, style: {
|
|
52
|
+
position: 'relative',
|
|
53
|
+
display: 'inline-flex',
|
|
54
|
+
alignItems: 'center',
|
|
55
|
+
gap: 6,
|
|
56
|
+
padding: '8px 12px',
|
|
57
|
+
fontSize: 13,
|
|
58
|
+
background: 'transparent',
|
|
59
|
+
border: 'none',
|
|
60
|
+
cursor: 'pointer',
|
|
61
|
+
color: isActive
|
|
62
|
+
? 'hsl(var(--ink, 228 14% 11%))'
|
|
63
|
+
: 'hsl(var(--ink-3, 228 6% 40%))',
|
|
64
|
+
whiteSpace: 'nowrap',
|
|
65
|
+
}, children: [tab.icon, tab.label, tab.badge, isActive && ((0, jsx_runtime_1.jsx)("span", { "aria-hidden": true, style: {
|
|
66
|
+
position: 'absolute',
|
|
67
|
+
inset: '0 4px -1px',
|
|
68
|
+
top: 'auto',
|
|
69
|
+
height: 2,
|
|
70
|
+
background: 'hsl(var(--primary, 230 50% 45%))',
|
|
71
|
+
borderRadius: 1,
|
|
72
|
+
} }))] }, tab.id));
|
|
73
|
+
}) }), (0, jsx_runtime_1.jsx)("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: active?.render() })] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=SessionTabbedDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionTabbedDrawer.js","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/SessionTabbedDrawer.tsx"],"names":[],"mappings":";;AA4CA,kDA8GC;;AA7ID,iCAOe;AAwBf,SAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,uBAAuB,GAAG,IAAI,EAC9B,KAAK,EACL,SAAS,GACgB;IACzB,MAAM,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAS,aAAa,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,WAAW,IAAI,cAAc,CAAC;IAEtD,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1B,OAAO,CAAC,EAAU,EAAE,EAAE;YACpB,IAAI,WAAW,KAAK,SAAS;gBAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACrD,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAErC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,uBAAuB;YAAE,OAAO;QACrC,MAAM,OAAO,GAAG,CAAC,KAAoB,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO;YAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO,CACL,iCACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,GAAG,KAAK;SACT,aAED,gCACE,IAAI,EAAC,SAAS,EACd,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,YAAY;oBACrB,YAAY,EAAE,wCAAwC;oBACtD,SAAS,EAAE,MAAM;iBAClB,YAEA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;oBACvC,OAAO,CACL,oCAEE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAC7B,KAAK,EAAE,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,GAAG,CAAC,GAAG,EAC3E,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,OAAO,EAAE,aAAa;4BACtB,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,UAAU;4BACnB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,aAAa;4BACzB,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,SAAS;4BACjB,KAAK,EAAE,QAAQ;gCACb,CAAC,CAAC,8BAA8B;gCAChC,CAAC,CAAC,+BAA+B;4BACnC,UAAU,EAAE,QAAQ;yBACrB,aAEA,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,EACT,QAAQ,IAAI,CACX,sDAEE,KAAK,EAAE;oCACL,QAAQ,EAAE,UAAU;oCACpB,KAAK,EAAE,YAAY;oCACnB,GAAG,EAAE,MAAM;oCACX,MAAM,EAAE,CAAC;oCACT,UAAU,EAAE,kCAAkC;oCAC9C,YAAY,EAAE,CAAC;iCAChB,GACD,CACH,KArCI,GAAG,CAAC,EAAE,CAsCJ,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,EACN,gCAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YACpD,MAAM,EAAE,MAAM,EAAE,GACb,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/index.ts"],"names":[],"mappings":"AAcA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./SessionEventCard"), exports);
|
|
18
|
+
__exportStar(require("./SessionEventTimeline"), exports);
|
|
19
|
+
__exportStar(require("./SessionMutationBar"), exports);
|
|
20
|
+
__exportStar(require("./SessionTabbedDrawer"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/registry/lib/primitives/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AACrC,wDAAsC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type SessionContext } from '../../index';
|
|
2
|
+
export interface BuildSessionContextInput {
|
|
3
|
+
readonly sessionId: string;
|
|
4
|
+
readonly orgId: string;
|
|
5
|
+
readonly projectId: string;
|
|
6
|
+
readonly biomeId?: string;
|
|
7
|
+
readonly profileKey?: string;
|
|
8
|
+
readonly status: string;
|
|
9
|
+
readonly isActive: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function isStatusActive(status: string): boolean;
|
|
12
|
+
export declare function useSessionContext(input: BuildSessionContextInput): SessionContext;
|
|
13
|
+
//# sourceMappingURL=session-context-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context-builder.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/session-context-builder.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAUD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,GAAG,cAAc,CAwBjF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isStatusActive = isStatusActive;
|
|
4
|
+
exports.useSessionContext = useSessionContext;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const index_1 = require("../../index");
|
|
7
|
+
const TERMINAL_STATUSES = new Set([
|
|
8
|
+
'paused',
|
|
9
|
+
'completed',
|
|
10
|
+
'cancelled',
|
|
11
|
+
'failed',
|
|
12
|
+
'terminated',
|
|
13
|
+
]);
|
|
14
|
+
function isStatusActive(status) {
|
|
15
|
+
return !TERMINAL_STATUSES.has(status);
|
|
16
|
+
}
|
|
17
|
+
function useSessionContext(input) {
|
|
18
|
+
const descriptor = (0, index_1.useSessionProfileDescriptor)(input.biomeId, input.profileKey);
|
|
19
|
+
return (0, react_1.useMemo)(() => ({
|
|
20
|
+
sessionId: input.sessionId,
|
|
21
|
+
orgId: input.orgId,
|
|
22
|
+
projectId: input.projectId,
|
|
23
|
+
biomeId: input.biomeId ?? descriptor.biomeId,
|
|
24
|
+
profileKey: input.profileKey ?? descriptor.key,
|
|
25
|
+
status: input.status,
|
|
26
|
+
capabilities: Object.freeze(new Set(descriptor.capabilities)),
|
|
27
|
+
isActive: input.isActive,
|
|
28
|
+
}), [
|
|
29
|
+
input.sessionId,
|
|
30
|
+
input.orgId,
|
|
31
|
+
input.projectId,
|
|
32
|
+
input.biomeId,
|
|
33
|
+
input.profileKey,
|
|
34
|
+
input.status,
|
|
35
|
+
input.isActive,
|
|
36
|
+
descriptor,
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=session-context-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context-builder.js","sourceRoot":"","sources":["../../../src/registry/lib/session-context-builder.ts"],"names":[],"mappings":";;AAuCA,wCAEC;AAED,8CAwBC;AArDD,iCAAgC;AAEhC,uCAGqB;AAYrB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,QAAQ;IACR,WAAW;IACX,WAAW;IACX,QAAQ;IACR,YAAY;CACb,CAAC,CAAC;AAEH,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA+B;IAC/D,MAAM,UAAU,GAAG,IAAA,mCAA2B,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChF,OAAO,IAAA,eAAO,EACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO;QAC5C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,EACF;QACE,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ;QACd,UAAU;KACX,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ReactNode, type ReactElement } from 'react';
|
|
2
|
+
import type { SessionContext } from '../../index';
|
|
3
|
+
export interface SessionContextProviderProps {
|
|
4
|
+
readonly value: SessionContext;
|
|
5
|
+
readonly children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function SessionContextProvider({ value, children, }: SessionContextProviderProps): ReactElement;
|
|
8
|
+
export declare function useCurrentSessionContext(): SessionContext;
|
|
9
|
+
export declare function useOptionalSessionContext(): SessionContext | null;
|
|
10
|
+
//# sourceMappingURL=session-context-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context-provider.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/session-context-provider.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAA6B,MAAM,OAAO,CAAC;AAErF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,GACT,EAAE,2BAA2B,GAAG,YAAY,CAE5C;AAED,wBAAgB,wBAAwB,IAAI,cAAc,CASzD;AAOD,wBAAgB,yBAAyB,IAAI,cAAc,GAAG,IAAI,CAEjE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionContextProvider = SessionContextProvider;
|
|
4
|
+
exports.useCurrentSessionContext = useCurrentSessionContext;
|
|
5
|
+
exports.useOptionalSessionContext = useOptionalSessionContext;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const Ctx = (0, react_1.createContext)(null);
|
|
9
|
+
Ctx.displayName = 'SessionContext';
|
|
10
|
+
function SessionContextProvider({ value, children, }) {
|
|
11
|
+
return (0, jsx_runtime_1.jsx)(Ctx.Provider, { value: value, children: children });
|
|
12
|
+
}
|
|
13
|
+
function useCurrentSessionContext() {
|
|
14
|
+
const ctx = (0, react_1.useContext)(Ctx);
|
|
15
|
+
if (!ctx) {
|
|
16
|
+
throw new Error('[biome-registry-web] useCurrentSessionContext() called outside <SessionContextProvider>. ' +
|
|
17
|
+
'The host shell must wrap session UI with the provider before any biome reads it.');
|
|
18
|
+
}
|
|
19
|
+
return ctx;
|
|
20
|
+
}
|
|
21
|
+
function useOptionalSessionContext() {
|
|
22
|
+
return (0, react_1.useContext)(Ctx);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=session-context-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context-provider.js","sourceRoot":"","sources":["../../../src/registry/lib/session-context-provider.tsx"],"names":[],"mappings":";;AAwBA,wDAKC;AAED,4DASC;AAOD,8DAEC;;AArCD,iCAAqF;AAIrF,MAAM,GAAG,GAAG,IAAA,qBAAa,EAAwB,IAAI,CAAC,CAAC;AACvD,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAOnC,SAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,QAAQ,GACoB;IAC5B,OAAO,uBAAC,GAAG,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAgB,CAAC;AAC/D,CAAC;AAED,SAAgB,wBAAwB;IACtC,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,2FAA2F;YACzF,kFAAkF,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAOD,SAAgB,yBAAyB;IACvC,OAAO,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ActivityRendererContribution, type AttachmentClassContribution, type HeaderChipContribution, type MutationBarContribution, type SecondaryDrawerTabContribution, type SessionActivityEvent, type SessionContext, type SessionToolCallEvent, type SlashCommandContribution, type ToolCallRendererContribution } from '../../index';
|
|
2
|
+
export declare function useSessionSlashCommands(session: SessionContext): readonly SlashCommandContribution[];
|
|
3
|
+
export declare function useSessionDrawerTabs(session: SessionContext): readonly SecondaryDrawerTabContribution[];
|
|
4
|
+
export declare function useActivityRenderer(session: SessionContext, event: SessionActivityEvent): ActivityRendererContribution | null;
|
|
5
|
+
export declare function useToolCallRenderer(session: SessionContext, event: SessionToolCallEvent): ToolCallRendererContribution | null;
|
|
6
|
+
export declare function useSessionMutationBars(session: SessionContext): readonly MutationBarContribution[];
|
|
7
|
+
export declare function useSessionHeaderChips(session: SessionContext): readonly HeaderChipContribution[];
|
|
8
|
+
export declare function useSessionAttachmentClasses(session: SessionContext): readonly AttachmentClassContribution[];
|
|
9
|
+
//# sourceMappingURL=session-selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-selectors.d.ts","sourceRoot":"","sources":["../../../src/registry/lib/session-selectors.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAGlC,MAAM,aAAa,CAAC;AA2BrB,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,GACtB,SAAS,wBAAwB,EAAE,CAarC;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,GACtB,SAAS,8BAA8B,EAAE,CAa3C;AAcD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,oBAAoB,GAC1B,4BAA4B,GAAG,IAAI,CAerC;AAoCD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,oBAAoB,GAC1B,4BAA4B,GAAG,IAAI,CASrC;AAID,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,GACtB,SAAS,uBAAuB,EAAE,CAapC;AAID,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,GACtB,SAAS,sBAAsB,EAAE,CAanC;AAID,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,GACtB,SAAS,2BAA2B,EAAE,CAaxC"}
|