@nextop-os/workspace-issue-manager 0.0.16

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.
@@ -0,0 +1,101 @@
1
+ import {
2
+ IssueManagerNode
3
+ } from "../chunk-HMMAMS4Z.js";
4
+ import "../chunk-POBWWUUQ.js";
5
+ import "../chunk-CSDFXQBD.js";
6
+
7
+ // src/workbench/index.ts
8
+ import { createElement } from "react";
9
+ var defaultIssueManagerWorkbenchTypeId = "issue-manager";
10
+ var defaultIssueManagerNodeFrame = {
11
+ height: 620,
12
+ width: 960,
13
+ x: 220,
14
+ y: 120
15
+ };
16
+ function createIssueManagerWorkbenchNodeDefinition({
17
+ feature,
18
+ frame = defaultIssueManagerNodeFrame,
19
+ title,
20
+ typeId = defaultIssueManagerWorkbenchTypeId
21
+ }) {
22
+ return {
23
+ frame,
24
+ instance: {
25
+ mode: "single"
26
+ },
27
+ renderBody: (context) => createElement(IssueManagerNode, {
28
+ feature,
29
+ nodeId: context.node.id,
30
+ state: context.externalNodeState,
31
+ workspaceId: context.externalWorkspaceState.workspaceId ?? ""
32
+ }),
33
+ title: title ?? feature.i18n.t("title"),
34
+ typeId,
35
+ window: {
36
+ closable: true,
37
+ defaultOpen: false,
38
+ minimizable: true,
39
+ restoreOnLoad: true
40
+ }
41
+ };
42
+ }
43
+ function createIssueManagerDockEntry({
44
+ dockIcon,
45
+ feature,
46
+ id,
47
+ order,
48
+ sectionId,
49
+ typeId = defaultIssueManagerWorkbenchTypeId
50
+ }) {
51
+ return {
52
+ icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),
53
+ id: id ?? typeId,
54
+ label: feature.i18n.t("dockLabel"),
55
+ launchBehavior: "enabled",
56
+ matchNode: (node) => node.data.typeId === typeId,
57
+ order,
58
+ resolvePopupItem: ({ node }) => ({
59
+ title: node.title
60
+ }),
61
+ sectionId,
62
+ typeId,
63
+ visibility: "always"
64
+ };
65
+ }
66
+ function createIssueManagerWorkbenchLaunchHandler({
67
+ frame = defaultIssueManagerNodeFrame,
68
+ title,
69
+ typeId = defaultIssueManagerWorkbenchTypeId
70
+ } = {}) {
71
+ return (request) => {
72
+ if (request.typeId !== typeId) {
73
+ return Promise.resolve(null);
74
+ }
75
+ return Promise.resolve({
76
+ defaultFrame: frame,
77
+ dockEntryId: request.dockEntryId ?? typeId,
78
+ framePolicy: "cascade",
79
+ instanceId: typeId,
80
+ title,
81
+ typeId
82
+ });
83
+ };
84
+ }
85
+ function DefaultIssueManagerDockIcon() {
86
+ return createElement(
87
+ "span",
88
+ {
89
+ "aria-hidden": "true",
90
+ className: "workspace-issue-manager__dock-icon"
91
+ },
92
+ "!"
93
+ );
94
+ }
95
+ export {
96
+ createIssueManagerDockEntry,
97
+ createIssueManagerWorkbenchLaunchHandler,
98
+ createIssueManagerWorkbenchNodeDefinition,
99
+ defaultIssueManagerWorkbenchTypeId
100
+ };
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/workbench/index.ts"],"sourcesContent":["import { createElement, type ReactNode } from \"react\";\nimport type {\n WorkbenchFrame,\n WorkbenchHostDockEntry,\n WorkbenchHostLaunchRequest,\n WorkbenchHostLaunchResult,\n WorkbenchHostNodeDefinition\n} from \"@nextop-os/workbench-surface\";\nimport type { IssueManagerNodeState } from \"../contracts/index.ts\";\nimport type { IssueManagerFeature } from \"../core/index.ts\";\nimport { IssueManagerNode } from \"../react/IssueManagerNode.tsx\";\n\nexport interface IssueManagerExternalWorkspaceState {\n workspaceId?: string | null;\n}\n\nexport interface CreateIssueManagerWorkbenchNodeDefinitionInput {\n feature: IssueManagerFeature;\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerWorkbenchLaunchHandlerInput {\n frame?: WorkbenchFrame;\n title?: string;\n typeId?: string;\n}\n\nexport interface CreateIssueManagerDockEntryInput {\n dockIcon?: ReactNode;\n feature: IssueManagerFeature;\n id?: string;\n order?: number;\n sectionId?: string;\n typeId?: string;\n}\n\nexport const defaultIssueManagerWorkbenchTypeId = \"issue-manager\";\n\nconst defaultIssueManagerNodeFrame: WorkbenchFrame = {\n height: 620,\n width: 960,\n x: 220,\n y: 120\n};\n\nexport function createIssueManagerWorkbenchNodeDefinition<\n TExternalWorkspaceState extends IssueManagerExternalWorkspaceState =\n IssueManagerExternalWorkspaceState\n>({\n feature,\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchNodeDefinitionInput): WorkbenchHostNodeDefinition<\n Partial<IssueManagerNodeState> | null,\n TExternalWorkspaceState\n> {\n return {\n frame,\n instance: {\n mode: \"single\"\n },\n renderBody: (context) =>\n createElement(IssueManagerNode, {\n feature,\n nodeId: context.node.id,\n state: context.externalNodeState,\n workspaceId: context.externalWorkspaceState.workspaceId ?? \"\"\n }),\n title: title ?? feature.i18n.t(\"title\"),\n typeId,\n window: {\n closable: true,\n defaultOpen: false,\n minimizable: true,\n restoreOnLoad: true\n }\n };\n}\n\nexport function createIssueManagerDockEntry({\n dockIcon,\n feature,\n id,\n order,\n sectionId,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerDockEntryInput): WorkbenchHostDockEntry {\n return {\n icon: dockIcon ?? createElement(DefaultIssueManagerDockIcon),\n id: id ?? typeId,\n label: feature.i18n.t(\"dockLabel\"),\n launchBehavior: \"enabled\",\n matchNode: (node) => node.data.typeId === typeId,\n order,\n resolvePopupItem: ({ node }) => ({\n title: node.title\n }),\n sectionId,\n typeId,\n visibility: \"always\"\n };\n}\n\nexport function createIssueManagerWorkbenchLaunchHandler({\n frame = defaultIssueManagerNodeFrame,\n title,\n typeId = defaultIssueManagerWorkbenchTypeId\n}: CreateIssueManagerWorkbenchLaunchHandlerInput = {}): (\n request: WorkbenchHostLaunchRequest\n) => Promise<WorkbenchHostLaunchResult | null> {\n return (request) => {\n if (request.typeId !== typeId) {\n return Promise.resolve(null);\n }\n\n return Promise.resolve({\n defaultFrame: frame,\n dockEntryId: request.dockEntryId ?? typeId,\n framePolicy: \"cascade\",\n instanceId: typeId,\n title,\n typeId\n });\n };\n}\n\nfunction DefaultIssueManagerDockIcon() {\n return createElement(\n \"span\",\n {\n \"aria-hidden\": \"true\",\n className: \"workspace-issue-manager__dock-icon\"\n },\n \"!\"\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAS,qBAAqC;AAsCvC,IAAM,qCAAqC;AAElD,IAAM,+BAA+C;AAAA,EACnD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,GAAG;AAAA,EACH,GAAG;AACL;AAEO,SAAS,0CAGd;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,GAGE;AACA,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,YAAY,CAAC,YACX,cAAc,kBAAkB;AAAA,MAC9B;AAAA,MACA,QAAQ,QAAQ,KAAK;AAAA,MACrB,OAAO,QAAQ;AAAA,MACf,aAAa,QAAQ,uBAAuB,eAAe;AAAA,IAC7D,CAAC;AAAA,IACH,OAAO,SAAS,QAAQ,KAAK,EAAE,OAAO;AAAA,IACtC;AAAA,IACA,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,MACb,eAAe;AAAA,IACjB;AAAA,EACF;AACF;AAEO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAA6D;AAC3D,SAAO;AAAA,IACL,MAAM,YAAY,cAAc,2BAA2B;AAAA,IAC3D,IAAI,MAAM;AAAA,IACV,OAAO,QAAQ,KAAK,EAAE,WAAW;AAAA,IACjC,gBAAgB;AAAA,IAChB,WAAW,CAAC,SAAS,KAAK,KAAK,WAAW;AAAA,IAC1C;AAAA,IACA,kBAAkB,CAAC,EAAE,KAAK,OAAO;AAAA,MAC/B,OAAO,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd;AACF;AAEO,SAAS,yCAAyC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,SAAS;AACX,IAAmD,CAAC,GAEL;AAC7C,SAAO,CAAC,YAAY;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,aAAO,QAAQ,QAAQ,IAAI;AAAA,IAC7B;AAEA,WAAO,QAAQ,QAAQ;AAAA,MACrB,cAAc;AAAA,MACd,aAAa,QAAQ,eAAe;AAAA,MACpC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,SAAS,8BAA8B;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IACA;AAAA,EACF;AACF;","names":[]}