@pc-nexus/models 0.1.0 → 0.5.0-next.1

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.
@@ -27,6 +27,9 @@ var NotifyType;
27
27
  NotifyType["info"] = "info";
28
28
  })(NotifyType || (NotifyType = {}));
29
29
 
30
+ const NEXUS_CONTENT_UPDATE_EVENT = "nexus:content:update";
31
+ const NEXUS_CONTENT_CHANGE_EVENT = "nexus:content:change";
32
+
30
33
  var HistoryAction;
31
34
  (function (HistoryAction) {
32
35
  HistoryAction["pop"] = "POP";
@@ -41,8 +44,18 @@ var ViewportSize;
41
44
  ViewportSize["large"] = "large";
42
45
  ViewportSize["xlarge"] = "xlarge";
43
46
  ViewportSize["max"] = "max";
47
+ ViewportSize["fullscreen"] = "fullscreen";
44
48
  })(ViewportSize || (ViewportSize = {}));
45
49
 
50
+ var WorkItemTypeGroup;
51
+ (function (WorkItemTypeGroup) {
52
+ WorkItemTypeGroup[WorkItemTypeGroup["requirement"] = 1] = "requirement";
53
+ WorkItemTypeGroup[WorkItemTypeGroup["task"] = 2] = "task";
54
+ WorkItemTypeGroup[WorkItemTypeGroup["bug"] = 3] = "bug";
55
+ WorkItemTypeGroup[WorkItemTypeGroup["issue"] = 4] = "issue";
56
+ WorkItemTypeGroup[WorkItemTypeGroup["plan"] = 5] = "plan";
57
+ })(WorkItemTypeGroup || (WorkItemTypeGroup = {}));
58
+
46
59
  /*
47
60
  * Public API Surface of models
48
61
  */
@@ -51,5 +64,5 @@ var ViewportSize;
51
64
  * Generated bundle index. Do not edit.
52
65
  */
53
66
 
54
- export { HistoryAction, NavigationTarget, NexusAppEnvironment, NotifyType, SUPPORTED_LOCALE_CODES, ViewportSize };
67
+ export { HistoryAction, NEXUS_CONTENT_CHANGE_EVENT, NEXUS_CONTENT_UPDATE_EVENT, NavigationTarget, NexusAppEnvironment, NotifyType, SUPPORTED_LOCALE_CODES, ViewportSize, WorkItemTypeGroup };
55
68
  //# sourceMappingURL=pc-nexus-models.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pc-nexus-models.mjs","sources":["../../../../web/models/src/environment.ts","../../../../web/models/src/locale.ts","../../../../web/models/src/navigation.ts","../../../../web/models/src/notify.ts","../../../../web/models/src/view.ts","../../../../web/models/src/viewport.ts","../../../../web/models/src/public-api.ts","../../../../web/models/src/pc-nexus-models.ts"],"sourcesContent":["export enum NexusAppEnvironment {\n development = \"development\",\n production = \"production\",\n}\n","export const SUPPORTED_LOCALE_CODES = [\"zh-cn\", \"en-us\"] as const;\n\nexport type NexusSupportedLocaleCode = (typeof SUPPORTED_LOCALE_CODES)[number];\n\nexport interface Translator {\n translate: (key: string, params?: Record<string, any>) => TranslationResourceContent | string;\n}\nexport interface GetTranslationsResult {\n locale: NexusSupportedLocaleCode;\n translations: TranslationResourceContent | null;\n}\n\nexport interface TranslationResourceContent {\n [key: string]: string | TranslationResourceContent;\n}\n","export enum NavigationTarget {\n workItem = \"workItem\",\n testCase = \"testCase\",\n page = \"page\",\n idea = \"idea\",\n ticket = \"ticket\",\n project = \"project\",\n library = \"library\",\n space = \"space\",\n product = \"product\",\n}\n\ninterface NavigationTargetParams {\n target: NavigationTarget;\n id: string;\n}\n\nexport type NavigationLocation = NavigationTargetParams;\n","export enum NotifyType {\n success = \"success\",\n error = \"error\",\n warning = \"warning\",\n info = \"info\",\n}\n\nexport interface NotifyOptions {\n type?: NotifyType;\n title?: string;\n description?: string;\n detail?: string | NotifyDetail;\n actions?: NotifyAction[];\n isAutoClose?: boolean;\n}\n\nexport interface NotifyRef {\n close: () => void;\n}\n\nexport interface NotifyDetail {\n link?: string;\n content?: string;\n}\n\nexport interface NotifyAction {\n text: string;\n icon?: string;\n onClick: (event?: Event) => void;\n}\n","export enum HistoryAction {\n pop = \"POP\",\n push = \"PUSH\",\n replace = \"REPLACE\",\n}\n\nexport interface LocationDescriptor {\n pathname: string;\n search?: string;\n hash?: string;\n state?: unknown;\n}\n\nexport type UnlistenCallback = () => void;\n\nexport interface NexusHistory {\n action: HistoryAction;\n location: LocationDescriptor;\n push(path: string, state?: unknown): void;\n push(location: LocationDescriptor): void;\n replace(path: string, state?: unknown): void;\n replace(location: LocationDescriptor): void;\n go(n: number): void;\n goBack(): void;\n goForward(): void;\n listen(listener: (location: LocationDescriptor, action: HistoryAction) => void): Promise<UnlistenCallback>;\n}\n","export interface Viewport {\n size?: ViewportSize;\n}\n\nexport enum ViewportSize {\n small = \"small\",\n medium = \"medium\",\n large = \"large\",\n xlarge = \"xlarge\",\n max = \"max\",\n}\n","/*\n * Public API Surface of models\n */\n\nexport * from \"./context\";\nexport * from \"./dialog\";\nexport * from \"./environment\";\nexport * from \"./events\";\nexport * from \"./extension\";\nexport * from \"./invoke\";\nexport * from \"./locale\";\nexport * from \"./navigation\";\nexport * from \"./notify\";\nexport * from \"./processor\";\nexport * from \"./request-api\";\nexport * from \"./user\";\nexport * from \"./view\";\nexport * from \"./viewport\";\nexport * from \"./work-item\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC7B,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;MCAlB,sBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO;;ICA3C;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;ICAhB;AAAZ,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;ICAV;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;ICIb;AAAZ,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACf,CAAC,EANW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ACJxB;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"pc-nexus-models.mjs","sources":["../../../../web/models/src/environment.ts","../../../../web/models/src/locale.ts","../../../../web/models/src/navigation.ts","../../../../web/models/src/notify.ts","../../../../web/models/src/richtext.ts","../../../../web/models/src/view.ts","../../../../web/models/src/viewport.ts","../../../../web/models/src/work-item.ts","../../../../web/models/src/public-api.ts","../../../../web/models/src/pc-nexus-models.ts"],"sourcesContent":["export enum NexusAppEnvironment {\n development = \"development\",\n production = \"production\",\n}\n","export const SUPPORTED_LOCALE_CODES = [\"zh-cn\", \"en-us\"] as const;\n\nexport type NexusSupportedLocaleCode = (typeof SUPPORTED_LOCALE_CODES)[number];\n\nexport interface Translator {\n translate: (key: string, params?: Record<string, any>) => TranslationResourceContent | string;\n}\nexport interface GetTranslationsResult {\n locale: NexusSupportedLocaleCode;\n translations: TranslationResourceContent | null;\n}\n\nexport interface TranslationResourceContent {\n [key: string]: string | TranslationResourceContent;\n}\n","export enum NavigationTarget {\n workItem = \"workItem\",\n testCase = \"testCase\",\n page = \"page\",\n idea = \"idea\",\n ticket = \"ticket\",\n project = \"project\",\n library = \"library\",\n space = \"space\",\n product = \"product\",\n}\n\ninterface NavigationTargetParams {\n target: NavigationTarget;\n id: string;\n}\n\nexport type NavigationLocation = NavigationTargetParams;\n","export enum NotifyType {\n success = \"success\",\n error = \"error\",\n warning = \"warning\",\n info = \"info\",\n}\n\nexport interface NotifyOptions {\n type: NotifyType;\n title?: string;\n description?: string;\n detail?: string | NotifyDetail;\n actions?: NotifyAction[];\n isAutoClose?: boolean;\n}\n\nexport interface NotifyRef {\n close: () => void;\n}\n\nexport interface NotifyDetail {\n link?: string;\n content?: string;\n}\n\nexport interface NotifyAction {\n text: string;\n icon?: string;\n onClick: (event?: Event) => void;\n}\n","export const NEXUS_CONTENT_UPDATE_EVENT = \"nexus:content:update\";\nexport const NEXUS_CONTENT_CHANGE_EVENT = \"nexus:content:change\";\n\nexport interface RichtextText {\n text: string;\n [key: string]: unknown;\n}\n\nexport interface RichtextElement {\n type: string;\n children: Descendant[];\n [key: string]: unknown;\n}\n\nexport type Descendant = RichtextElement | RichtextText;\nexport type RichtextContent = Descendant[] | string;\n\nexport interface RichtextRendererRef {\n iframe: HTMLIFrameElement;\n update: (content: RichtextContent) => void;\n}\n\nexport interface RichtextEditorRef extends RichtextRendererRef {\n destroy: () => void;\n}\n\nexport interface RendererIframeOptions {\n content?: RichtextContent;\n}\n\nexport interface EditorIframeOptions extends RendererIframeOptions {\n onContentChange?: (content: RichtextContent) => void;\n}\n\nexport interface RichtextBridgeMessage {\n type: string;\n content?: any;\n timestamp?: number;\n source?: string;\n readonly?: boolean;\n}\n\nexport interface IframeResizerApi {\n sendMessage: (message: unknown, targetOrigin?: string) => void;\n}\n","export enum HistoryAction {\n pop = \"POP\",\n push = \"PUSH\",\n replace = \"REPLACE\",\n}\n\nexport interface LocationDescriptor {\n pathname: string;\n search?: string;\n hash?: string;\n state?: unknown;\n}\n\nexport type UnlistenCallback = () => void;\n\nexport interface NexusHistory {\n action: HistoryAction;\n location: LocationDescriptor;\n push(path: string, state?: unknown): void;\n push(location: LocationDescriptor): void;\n replace(path: string, state?: unknown): void;\n replace(location: LocationDescriptor): void;\n go(n: number): void;\n goBack(): void;\n goForward(): void;\n listen(listener: (location: LocationDescriptor, action: HistoryAction) => void): Promise<UnlistenCallback>;\n}\n","export interface Viewport {\n size?: ViewportSize;\n}\n\nexport enum ViewportSize {\n small = \"small\",\n medium = \"medium\",\n large = \"large\",\n xlarge = \"xlarge\",\n max = \"max\",\n fullscreen = \"fullscreen\",\n}\n","export enum WorkItemTypeGroup {\n requirement = 1,\n task = 2,\n bug = 3,\n issue = 4,\n plan = 5,\n}\n\nexport interface WorkItem {\n id: string;\n short_id: string;\n identifier: string;\n title: string;\n type_group?: WorkItemTypeGroup;\n type_id?: string;\n}\n\nexport interface WorkItemOpenCreateOptions {\n defaultValues?: {\n title?: string;\n project_id?: string;\n };\n onSuccess?: (payload: WorkItem) => void;\n}\n","/*\n * Public API Surface of models\n */\n\nexport * from \"./context\";\nexport * from \"./dialog\";\nexport * from \"./environment\";\nexport * from \"./events\";\nexport * from \"./extension\";\nexport * from \"./invoke\";\nexport * from \"./locale\";\nexport * from \"./navigation\";\nexport * from \"./notify\";\nexport * from \"./processor\";\nexport * from \"./request-api\";\nexport * from \"./richtext\";\nexport * from \"./user\";\nexport * from \"./view\";\nexport * from \"./viewport\";\nexport * from \"./work-item\";\nexport * from \"./idea\";\nexport * from \"./test-case\";\nexport * from \"./ticket\";\nexport * from \"./page\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC7B,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;MCAlB,sBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO;;ICA3C;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;ICAhB;AAAZ,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACjB,CAAC,EALW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;ACAf,MAAM,0BAA0B,GAAG;AACnC,MAAM,0BAA0B,GAAG;;ICD9B;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EAJW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;ICIb;AAAZ,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,YAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,YAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAC7B,CAAC,EAPW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ICJZ;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AACzB,IAAA,iBAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,iBAAA,CAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACZ,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,GAAA,EAAA,CAAA,CAAA;;ACA7B;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pc-nexus/models",
3
- "version": "0.1.0",
3
+ "version": "0.5.0-next.1",
4
4
  "peerDependencies": {},
5
5
  "dependencies": {
6
6
  "tslib": "^2.3.0"
@@ -16,5 +16,6 @@
16
16
  "types": "./types/pc-nexus-models.d.ts",
17
17
  "default": "./fesm2022/pc-nexus-models.mjs"
18
18
  }
19
- }
19
+ },
20
+ "type": "module"
20
21
  }
@@ -18,15 +18,35 @@ interface TranslationResourceContent {
18
18
 
19
19
  type ExtensionData = Record<string, any>;
20
20
  interface NexusFullContext<T = ExtensionData> {
21
- team_id?: string;
22
- extension: T;
23
- environment_id: string;
24
- environment_type: NexusAppEnvironment;
25
- local_id: string;
26
- locale: NexusSupportedLocaleCode;
27
- module_key: string;
28
- site_url: string;
29
- timezone: string;
21
+ app: {
22
+ id: string;
23
+ version: string;
24
+ };
25
+ environment: {
26
+ id: string;
27
+ type: NexusAppEnvironment;
28
+ };
29
+ team: {
30
+ id: string;
31
+ url: string;
32
+ locale: NexusSupportedLocaleCode;
33
+ timezone: string;
34
+ };
35
+ installation: {
36
+ id: string;
37
+ };
38
+ user: {
39
+ id: string;
40
+ locale: NexusSupportedLocaleCode;
41
+ timezone: string;
42
+ };
43
+ extension: {
44
+ key: string;
45
+ local_id: string;
46
+ target: string;
47
+ location: string;
48
+ data: T;
49
+ };
30
50
  }
31
51
 
32
52
  interface Viewport {
@@ -37,7 +57,8 @@ declare enum ViewportSize {
37
57
  medium = "medium",
38
58
  large = "large",
39
59
  xlarge = "xlarge",
40
- max = "max"
60
+ max = "max",
61
+ fullscreen = "fullscreen"
41
62
  }
42
63
 
43
64
  interface DialogOptions {
@@ -46,10 +67,19 @@ interface DialogOptions {
46
67
  context?: Record<string, unknown>;
47
68
  backdropClosable?: boolean;
48
69
  onClose?: (payload?: unknown) => void;
70
+ title?: string;
71
+ icon?: string;
49
72
  }
50
73
  interface DialogRef<T = unknown> {
51
74
  close: (payload?: T) => void;
52
75
  }
76
+ interface DialogConfirmOptions {
77
+ content: string;
78
+ title?: string;
79
+ operationType?: "danger" | "primary";
80
+ onConfirm: () => Promise<void>;
81
+ onCancel?: () => void;
82
+ }
53
83
 
54
84
  interface ExtensionProperties {
55
85
  key: string;
@@ -68,19 +98,18 @@ interface EgressItem {
68
98
  category: string | null;
69
99
  in_scope_eud: string | null;
70
100
  }
71
- interface NexusAppExtension {
72
- id: string;
101
+ interface NexusAppExtension<T extends ExtensionProperties = ExtensionProperties> {
102
+ app_id: string;
103
+ app_version: string;
73
104
  target: string;
74
- scopes: string[];
75
- module_id: string;
105
+ extension_id: string;
76
106
  environment_id: string;
77
107
  environment_key: string;
78
108
  environment_type: NexusAppEnvironment;
79
109
  installation_id: string;
80
- app_version: string;
81
- properties: ExtensionProperties;
110
+ properties: T;
82
111
  egress?: EgressItem[];
83
- installation_config: unknown | null;
112
+ resource_ports?: Record<string, number>;
84
113
  }
85
114
 
86
115
  interface EventCallbackParams {
@@ -132,7 +161,7 @@ declare enum NotifyType {
132
161
  info = "info"
133
162
  }
134
163
  interface NotifyOptions {
135
- type?: NotifyType;
164
+ type: NotifyType;
136
165
  title?: string;
137
166
  description?: string;
138
167
  detail?: string | NotifyDetail;
@@ -173,11 +202,49 @@ interface RequestApiResponseData {
173
202
  headers?: Record<string, string>;
174
203
  body?: Record<string, any>;
175
204
  }
205
+ type NexusRequestInit = Omit<RequestInit, "signal">;
206
+
207
+ declare const NEXUS_CONTENT_UPDATE_EVENT = "nexus:content:update";
208
+ declare const NEXUS_CONTENT_CHANGE_EVENT = "nexus:content:change";
209
+ interface RichtextText {
210
+ text: string;
211
+ [key: string]: unknown;
212
+ }
213
+ interface RichtextElement {
214
+ type: string;
215
+ children: Descendant[];
216
+ [key: string]: unknown;
217
+ }
218
+ type Descendant = RichtextElement | RichtextText;
219
+ type RichtextContent = Descendant[] | string;
220
+ interface RichtextRendererRef {
221
+ iframe: HTMLIFrameElement;
222
+ update: (content: RichtextContent) => void;
223
+ }
224
+ interface RichtextEditorRef extends RichtextRendererRef {
225
+ destroy: () => void;
226
+ }
227
+ interface RendererIframeOptions {
228
+ content?: RichtextContent;
229
+ }
230
+ interface EditorIframeOptions extends RendererIframeOptions {
231
+ onContentChange?: (content: RichtextContent) => void;
232
+ }
233
+ interface RichtextBridgeMessage {
234
+ type: string;
235
+ content?: any;
236
+ timestamp?: number;
237
+ source?: string;
238
+ readonly?: boolean;
239
+ }
240
+ interface IframeResizerApi {
241
+ sendMessage: (message: unknown, targetOrigin?: string) => void;
242
+ }
176
243
 
177
244
  interface SelectMemberDialogOptions {
178
245
  title?: string;
179
246
  selection?: string[];
180
- onConfirm?: (payload?: string[]) => Promise<void>;
247
+ onConfirm: (payload?: string[]) => Promise<void>;
181
248
  }
182
249
  interface SelectMemberPopBaseOptions {
183
250
  origin: HTMLElement;
@@ -219,17 +286,79 @@ interface NexusHistory {
219
286
  listen(listener: (location: LocationDescriptor, action: HistoryAction) => void): Promise<UnlistenCallback>;
220
287
  }
221
288
 
289
+ declare enum WorkItemTypeGroup {
290
+ requirement = 1,
291
+ task = 2,
292
+ bug = 3,
293
+ issue = 4,
294
+ plan = 5
295
+ }
296
+ interface WorkItem {
297
+ id: string;
298
+ short_id: string;
299
+ identifier: string;
300
+ title: string;
301
+ type_group?: WorkItemTypeGroup;
302
+ type_id?: string;
303
+ }
222
304
  interface WorkItemOpenCreateOptions {
223
305
  defaultValues?: {
224
306
  title?: string;
225
- projectId?: string;
307
+ project_id?: string;
226
308
  };
227
- onSuccess?: (payload: {
228
- _id: string;
309
+ onSuccess?: (payload: WorkItem) => void;
310
+ }
311
+
312
+ interface Idea {
313
+ id: string;
314
+ short_id: string;
315
+ identifier: string;
316
+ title: string;
317
+ }
318
+ interface IdeaOpenCreateOptions {
319
+ defaultValues?: {
229
320
  title?: string;
230
- project_id?: string;
231
- }) => void;
321
+ product_id?: string;
322
+ };
323
+ onSuccess?: (payload: Idea) => void;
324
+ }
325
+
326
+ interface TestCase {
327
+ id: string;
328
+ short_id: string;
329
+ identifier: string;
330
+ title: string;
331
+ }
332
+ interface TestCaseOpenCreateOptions {
333
+ defaultValues?: {
334
+ title?: string;
335
+ library_id?: string;
336
+ };
337
+ onSuccess?: (payload: TestCase) => void;
338
+ }
339
+
340
+ interface Ticket {
341
+ id: string;
342
+ short_id: string;
343
+ identifier: string;
344
+ title: string;
345
+ }
346
+ interface TicketOpenCreateOptions {
347
+ defaultValues?: {
348
+ title?: string;
349
+ product_id?: string;
350
+ };
351
+ onSuccess?: (payload: Ticket) => void;
352
+ }
353
+
354
+ interface Page {
355
+ id: string;
356
+ short_id: string;
357
+ name: string;
358
+ }
359
+ interface PageOpenCreateOptions {
360
+ onSuccess?: (payload: Page) => void;
232
361
  }
233
362
 
234
- export { HistoryAction, NavigationTarget, NexusAppEnvironment, NotifyType, SUPPORTED_LOCALE_CODES, ViewportSize };
235
- export type { DialogOptions, DialogRef, EgressItem, EventCallbackParams, EventCallbackType, EventEmitParams, EventOnParams, ExtensionData, ExtensionProperties, GetTranslationsResult, InvokeFunctionParams, LocationDescriptor, MultipleSelectOptions, NavigationLocation, NexusAppExtension, NexusFullContext, NexusHistory, NexusSupportedLocaleCode, NotifyAction, NotifyDetail, NotifyOptions, NotifyRef, ProcessOptions, ProcessRef, RequestApiResponseData, SelectMemberDialogOptions, SelectMemberPopOptions, SingleSelectOptions, Subscription, TranslationResourceContent, Translator, UnlistenCallback, Viewport, WorkItemOpenCreateOptions };
363
+ export { HistoryAction, NEXUS_CONTENT_CHANGE_EVENT, NEXUS_CONTENT_UPDATE_EVENT, NavigationTarget, NexusAppEnvironment, NotifyType, SUPPORTED_LOCALE_CODES, ViewportSize, WorkItemTypeGroup };
364
+ export type { Descendant, DialogConfirmOptions, DialogOptions, DialogRef, EditorIframeOptions, EgressItem, EventCallbackParams, EventCallbackType, EventEmitParams, EventOnParams, ExtensionData, ExtensionProperties, GetTranslationsResult, Idea, IdeaOpenCreateOptions, IframeResizerApi, InvokeFunctionParams, LocationDescriptor, MultipleSelectOptions, NavigationLocation, NexusAppExtension, NexusFullContext, NexusHistory, NexusRequestInit, NexusSupportedLocaleCode, NotifyAction, NotifyDetail, NotifyOptions, NotifyRef, Page, PageOpenCreateOptions, ProcessOptions, ProcessRef, RendererIframeOptions, RequestApiResponseData, RichtextBridgeMessage, RichtextContent, RichtextEditorRef, RichtextElement, RichtextRendererRef, RichtextText, SelectMemberDialogOptions, SelectMemberPopOptions, SingleSelectOptions, Subscription, TestCase, TestCaseOpenCreateOptions, Ticket, TicketOpenCreateOptions, TranslationResourceContent, Translator, UnlistenCallback, Viewport, WorkItem, WorkItemOpenCreateOptions };