@weavix/sdk-core 0.0.1 → 0.0.3
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/README.md +22 -35
- package/dist/bridge/bridge.d.ts +24 -0
- package/dist/bridge/bridge.d.ts.map +1 -0
- package/dist/bridge/types/BaseMessage.d.ts +4 -0
- package/dist/bridge/types/BaseMessage.d.ts.map +1 -0
- package/dist/bridge/types/ErrorCodes.d.ts +19 -0
- package/dist/bridge/types/ErrorCodes.d.ts.map +1 -0
- package/dist/bridge/types/PluginActionError.d.ts +6 -0
- package/dist/bridge/types/PluginActionError.d.ts.map +1 -0
- package/dist/bridge/types/UiContract.d.ts +35 -0
- package/dist/bridge/types/UiContract.d.ts.map +1 -0
- package/dist/common/types/Theme.d.ts +2 -0
- package/dist/common/types/Theme.d.ts.map +1 -0
- package/dist/events/eventBus.d.ts +38 -0
- package/dist/events/eventBus.d.ts.map +1 -0
- package/dist/events/types.d.ts +46 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/handlers/handlers.d.ts +12 -0
- package/dist/handlers/handlers.d.ts.map +1 -0
- package/dist/host/hostApi.d.ts +50 -0
- package/dist/host/hostApi.d.ts.map +1 -0
- package/dist/host/types/ContentSizeUpdateRequest.d.ts +7 -0
- package/dist/host/types/ContentSizeUpdateRequest.d.ts.map +1 -0
- package/dist/host/types/NavigateRequest.d.ts +11 -0
- package/dist/host/types/NavigateRequest.d.ts.map +1 -0
- package/dist/host/utils/autoResize.d.ts +15 -0
- package/dist/host/utils/autoResize.d.ts.map +1 -0
- package/dist/index.d.ts +24 -518
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +103 -123
- package/dist/index.mjs.map +1 -1
- package/dist/ui/Confirm.d.ts +14 -0
- package/dist/ui/Confirm.d.ts.map +1 -0
- package/dist/ui/Toaster.d.ts +24 -0
- package/dist/ui/Toaster.d.ts.map +1 -0
- package/dist/ui/uiApi.d.ts +11 -0
- package/dist/ui/uiApi.d.ts.map +1 -0
- package/dist/utils/getField.d.ts +27 -0
- package/dist/utils/getField.d.ts.map +1 -0
- package/dist/utils/localization.d.ts +18 -0
- package/dist/utils/localization.d.ts.map +1 -0
- package/package.json +2 -11
package/dist/index.d.ts
CHANGED
|
@@ -1,518 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
declare type ApiResult<M> = {
|
|
28
|
-
[K in keyof M]: M[K] extends (...args: infer A) => Promise<infer R> ? (...args: A) => Promise<{
|
|
29
|
-
data: R;
|
|
30
|
-
headers: Record<string, string>;
|
|
31
|
-
}> : never;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
declare type AttachmentViewerActionClosePayload = {
|
|
35
|
-
attachments: Attachment[];
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
declare type AttachmentViewerActionSlotContext = {
|
|
39
|
-
attachmentBlob: Blob;
|
|
40
|
-
meta: {
|
|
41
|
-
id: string;
|
|
42
|
-
url: string;
|
|
43
|
-
date: string;
|
|
44
|
-
size: number;
|
|
45
|
-
mimetype: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export declare type ConfirmOptions = {
|
|
50
|
-
title?: string;
|
|
51
|
-
message: string;
|
|
52
|
-
textButtonApply?: string;
|
|
53
|
-
textButtonCancel?: string;
|
|
54
|
-
theme?: 'normal' | 'danger';
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export declare type ConfirmResult = { confirmed: boolean };
|
|
58
|
-
|
|
59
|
-
export declare type ContentSizeUpdateRequest = {
|
|
60
|
-
height?: number;
|
|
61
|
-
width?: number;
|
|
62
|
-
unit?: ContentSizeUpdateRequestUnit;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
declare type ContentSizeUpdateRequestUnit = 'pixel' | 'percent';
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Dispatch an incoming event message to all registered subscribers.
|
|
69
|
-
* Caches the value so late subscribers receive it on subscription.
|
|
70
|
-
*/
|
|
71
|
-
export declare function dispatchHostEvent(message: EventMessage): void {
|
|
72
|
-
const method = message.method as HostEventMethod;
|
|
73
|
-
lastValues.set(method, message.result);
|
|
74
|
-
|
|
75
|
-
const set = subscribers.get(method);
|
|
76
|
-
if (!set) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
for (const cb of set) {
|
|
80
|
-
try {
|
|
81
|
-
cb(message.result);
|
|
82
|
-
} catch (err) {
|
|
83
|
-
console.error(`[EventBus] Error in subscriber for "${message.method}":`, err);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Shape of an incoming event message from the host (postMessage).
|
|
90
|
-
* Distinct from 'response' and 'request' message types.
|
|
91
|
-
*/
|
|
92
|
-
export declare type EventMessage = {
|
|
93
|
-
messageId: string;
|
|
94
|
-
type: 'event';
|
|
95
|
-
method: HostEventMethod;
|
|
96
|
-
result: unknown;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Маппинг trigger-слотов на тип возвращаемого значения getData.
|
|
101
|
-
*/
|
|
102
|
-
export declare type GetDataResultMap = {
|
|
103
|
-
'trigger.create.action': TriggerActionData;
|
|
104
|
-
'trigger.edit.action': TriggerActionData;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Извлекает значение из объекта по точечному пути (dot notation).
|
|
109
|
-
* Предназначена для работы с полями типа Record<string, unknown>, например со значениями полей задачи (Issue).
|
|
110
|
-
*
|
|
111
|
-
* Поддерживает вложенные пути: `'priority.display'`, `'assignee.display.ru'` и т.д.
|
|
112
|
-
* Если любой сегмент пути отсутствует или не является объектом — возвращается defaultValue или undefined.
|
|
113
|
-
* @param obj - Объект с произвольной структурой (например, issue или issue.values)
|
|
114
|
-
* @param path - Путь к полю через точку, например `'priority.display'` или `'summary'`
|
|
115
|
-
* @param defaultValue - Значение по умолчанию, если путь не найден
|
|
116
|
-
* @returns Значение по пути, defaultValue или undefined
|
|
117
|
-
* @example
|
|
118
|
-
* ```ts
|
|
119
|
-
* // Поле верхнего уровня
|
|
120
|
-
* getField(issue, 'key'); // 'QUEUE-123'
|
|
121
|
-
*
|
|
122
|
-
* // Вложенное поле (например, приоритет с display)
|
|
123
|
-
* getField(issue, 'priority.display'); // 'много' | undefined
|
|
124
|
-
*
|
|
125
|
-
* // С типизацией и значением по умолчанию
|
|
126
|
-
* const name = getField<string>(issue, 'summary', 'Без названия');
|
|
127
|
-
*
|
|
128
|
-
* // Элемент массива по индексу (массивы — объекты с числовыми ключами)
|
|
129
|
-
* getField(tags, '0'); // первый элемент
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
export declare function getField<T = unknown>(
|
|
133
|
-
obj: Record<string, unknown>,
|
|
134
|
-
path: string,
|
|
135
|
-
defaultValue?: T,
|
|
136
|
-
): T | undefined {
|
|
137
|
-
if (path === '') {
|
|
138
|
-
return defaultValue;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
const keys = path.split('.');
|
|
142
|
-
let result: unknown = obj;
|
|
143
|
-
|
|
144
|
-
for (const key of keys) {
|
|
145
|
-
if (
|
|
146
|
-
result !== null &&
|
|
147
|
-
typeof result === 'object' &&
|
|
148
|
-
Object.prototype.hasOwnProperty.call(result, key)
|
|
149
|
-
) {
|
|
150
|
-
result = (result as Record<string, unknown>)[key];
|
|
151
|
-
} else {
|
|
152
|
-
return defaultValue;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
return (result as T | undefined) ?? defaultValue;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Возвращает обработчик getData. При указании TSlot — () => GetDataResultMap[TSlot].
|
|
161
|
-
*/
|
|
162
|
-
export declare function getHandler<TSlot extends keyof GetDataResultMap>(name: 'getData'): (() => GetDataResultMap[TSlot]) | undefined;
|
|
163
|
-
|
|
164
|
-
export declare function getHandler<TKey extends keyof Handlers>(name: TKey): HandlerFunction<TKey> | undefined;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Получить локализованную строку на основе языка.
|
|
168
|
-
* Принимает api-types `LocalizedString` (Yandex flavor).
|
|
169
|
-
*/
|
|
170
|
-
export declare function getLocalizedString(value: LocalizedString, language: string | undefined, fallbackLanguage?: string): string;
|
|
171
|
-
|
|
172
|
-
declare type GoalActionsSlotContext = {
|
|
173
|
-
data: MetaEntityV2 & {
|
|
174
|
-
progress: {
|
|
175
|
-
closed: number;
|
|
176
|
-
total: number;
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
export declare type HandlerFunction<TKey extends keyof Handlers> = Handlers[TKey];
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Обработчики, которые плагин регистрирует для ответов на запросы хоста.
|
|
185
|
-
* - getData — общий метод получения данных; тип зависит от слота (GetDataResultMap).
|
|
186
|
-
*/
|
|
187
|
-
export declare type Handlers = {
|
|
188
|
-
getData: () => GetDataResultMap[keyof GetDataResultMap];
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Типизированный интерфейс HostApi для публичного API публикуемого core'а.
|
|
193
|
-
*/
|
|
194
|
-
declare interface HostApi<TSlot extends keyof SlotContextMap = keyof SlotContextMap> {
|
|
195
|
-
/**
|
|
196
|
-
* Текущая тема хоста
|
|
197
|
-
*/
|
|
198
|
-
getTheme(): Promise<Theme>;
|
|
199
|
-
/**
|
|
200
|
-
* Текущий язык хоста
|
|
201
|
-
*/
|
|
202
|
-
getLanguage(): Promise<string>;
|
|
203
|
-
/**
|
|
204
|
-
* Id пользователя
|
|
205
|
-
*/
|
|
206
|
-
getUserId(): Promise<string>;
|
|
207
|
-
/**
|
|
208
|
-
* Сборка для ятима
|
|
209
|
-
*/
|
|
210
|
-
getIsYateam(): Promise<boolean>;
|
|
211
|
-
/**
|
|
212
|
-
* Получить текущий контекст, в котором запущен плагин.
|
|
213
|
-
* Тип возвращаемого значения зависит от слота.
|
|
214
|
-
*/
|
|
215
|
-
getContext(): Promise<SlotContextMap[TSlot]>;
|
|
216
|
-
/**
|
|
217
|
-
* Изменить размер окна, в котором запущен плагин
|
|
218
|
-
*/
|
|
219
|
-
updateContentSize(payload: ContentSizeUpdateRequest): Promise<void>;
|
|
220
|
-
/**
|
|
221
|
-
* Сообщить, что плагин готов к работе
|
|
222
|
-
*/
|
|
223
|
-
notifyReady(): Promise<void>;
|
|
224
|
-
/**
|
|
225
|
-
* Сообщить, что плагин закрыт
|
|
226
|
-
*/
|
|
227
|
-
close(payload: PluginClosePayloadMap[TSlot]): Promise<void>;
|
|
228
|
-
/**
|
|
229
|
-
* Выполнить навигацию в хосте
|
|
230
|
-
*/
|
|
231
|
-
navigate(payload: NavigateRequest): Promise<void>;
|
|
232
|
-
/**
|
|
233
|
-
* Инициализация плагина
|
|
234
|
-
*/
|
|
235
|
-
init(options: HostInitOptions): void;
|
|
236
|
-
/**
|
|
237
|
-
* Текущий слот, в котором открыт плагин.
|
|
238
|
-
* Вызов до init() приведёт к ошибке.
|
|
239
|
-
*/
|
|
240
|
-
getSlot(): TSlot;
|
|
241
|
-
/**
|
|
242
|
-
* Сервис, в котором открылся плагин.
|
|
243
|
-
* Вызов до init() приведёт к ошибке.
|
|
244
|
-
*/
|
|
245
|
-
getService(): string;
|
|
246
|
-
/**
|
|
247
|
-
* Origin родительского окна (хоста).
|
|
248
|
-
* Вызов до init() приведёт к ошибке.
|
|
249
|
-
*/
|
|
250
|
-
getOrigin(): string;
|
|
251
|
-
/**
|
|
252
|
-
* Внутренний урл плагина.
|
|
253
|
-
* Вызов до init() приведёт к ошибке.
|
|
254
|
-
*/
|
|
255
|
-
getInnerUrl(): string;
|
|
256
|
-
/**
|
|
257
|
-
* Query-параметры плагина.
|
|
258
|
-
* Вызов до init() приведёт к ошибке.
|
|
259
|
-
*/
|
|
260
|
-
getQueryParams(): Record<string, string>;
|
|
261
|
-
/**
|
|
262
|
-
* Выключить автоматическое изменение размера контейнера
|
|
263
|
-
*/
|
|
264
|
-
disableAutoResize(): void;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
export declare const hostApi: HostApi;
|
|
268
|
-
|
|
269
|
-
/** Callback type for a specific host event */
|
|
270
|
-
export declare type HostEventCallback<M extends HostEventMethod> = (
|
|
271
|
-
result: HostEventContract[M]['result'],
|
|
272
|
-
) => void;
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Contract describing host-pushed events.
|
|
276
|
-
* Each key is a `method` string from the incoming postMessage,
|
|
277
|
-
* and the value describes the `result` payload type.
|
|
278
|
-
*/
|
|
279
|
-
export declare type HostEventContract = {
|
|
280
|
-
'theme.changed': { result: Theme };
|
|
281
|
-
'language.changed': { result: string };
|
|
282
|
-
'userId.changed': { result: string };
|
|
283
|
-
'isYateam.changed': { result: boolean };
|
|
284
|
-
'context.changed': { result: Record<string, unknown> };
|
|
285
|
-
'toast.action.clicked': { result: { name: string; actionId: string } };
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
/** Union of all supported host event method names */
|
|
289
|
-
export declare type HostEventMethod = keyof HostEventContract;
|
|
290
|
-
|
|
291
|
-
declare interface HostInitOptions {
|
|
292
|
-
/**
|
|
293
|
-
* Автоматически изменять размер контейнера плагина
|
|
294
|
-
* при изменении содержимого
|
|
295
|
-
* @default true
|
|
296
|
-
*/
|
|
297
|
-
autoResize?: boolean;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
export declare type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'LINK' | 'UNLINK';
|
|
301
|
-
|
|
302
|
-
declare type IssueCommentActionSlotContext = {
|
|
303
|
-
id: string;
|
|
304
|
-
createdAt: string;
|
|
305
|
-
updatedAt: string | null;
|
|
306
|
-
text: string;
|
|
307
|
-
type: string;
|
|
308
|
-
transport: string;
|
|
309
|
-
attachments: Attachment[];
|
|
310
|
-
issueVersion: number;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
export { LocalizedString }
|
|
314
|
-
|
|
315
|
-
/** Код ошибки: запрошенный метод API не поддерживается в данной конфигурации или версии. */
|
|
316
|
-
export declare const METHOD_NOT_SUPPORTED = 1003;
|
|
317
|
-
|
|
318
|
-
/** Код ошибки: у плагина нет необходимого scope (разрешения) для выполнения операции. */
|
|
319
|
-
export declare const MISSING_REQUIRED_SCOPE = 1004;
|
|
320
|
-
|
|
321
|
-
declare type NavigateRequest = {
|
|
322
|
-
path: string;
|
|
323
|
-
params?: QueryParams;
|
|
324
|
-
options?: {
|
|
325
|
-
newTab?: boolean;
|
|
326
|
-
};
|
|
327
|
-
};
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Subscribe to a host-pushed event.
|
|
331
|
-
* If a value was already dispatched for this method, the callback is called
|
|
332
|
-
* synchronously with the cached value before returning.
|
|
333
|
-
* @param method - Event method name (e.g. `'theme.changed'`)
|
|
334
|
-
* @param callback - Function called with the typed event payload
|
|
335
|
-
* @returns An `Unsubscribe` function that removes this subscription
|
|
336
|
-
*/
|
|
337
|
-
export declare function on<M extends HostEventMethod>(
|
|
338
|
-
method: M,
|
|
339
|
-
callback: HostEventCallback<M>,
|
|
340
|
-
): Unsubscribe {
|
|
341
|
-
let set = subscribers.get(method);
|
|
342
|
-
if (!set) {
|
|
343
|
-
set = new Set();
|
|
344
|
-
subscribers.set(method, set);
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
const cb = callback as (result: unknown) => void;
|
|
348
|
-
set.add(cb);
|
|
349
|
-
|
|
350
|
-
// Replay last known value to the new subscriber immediately
|
|
351
|
-
if (lastValues.has(method)) {
|
|
352
|
-
try {
|
|
353
|
-
cb(lastValues.get(method));
|
|
354
|
-
} catch (err) {
|
|
355
|
-
console.error(`[EventBus] Error replaying cached value for "${method}":`, err);
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
return () => {
|
|
360
|
-
set.delete(cb);
|
|
361
|
-
if (set.size === 0) {
|
|
362
|
-
subscribers.delete(method);
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
/** Код ошибки: переданный pluginId не совпадает с зарегистрированным плагином или неверного формата. */
|
|
368
|
-
export declare const PLUGIN_ID_IS_NOT_CORRECT = 1001;
|
|
369
|
-
|
|
370
|
-
/** Код ошибки: не переданы обязательные параметры инициализации плагина (pluginId или slot). */
|
|
371
|
-
export declare const PLUGIN_ID_OR_SLOT_NOT_PROVIDED = 1000;
|
|
372
|
-
|
|
373
|
-
export declare class PluginActionError extends Error {
|
|
374
|
-
readonly code: number;
|
|
375
|
-
|
|
376
|
-
readonly errorData?: unknown;
|
|
377
|
-
|
|
378
|
-
constructor(code: number, message: string, errorData?: unknown) {
|
|
379
|
-
super(message);
|
|
380
|
-
this.name = 'PluginActionError';
|
|
381
|
-
this.code = code;
|
|
382
|
-
this.errorData = errorData;
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
declare type PluginClosePayloadMap = WithUndefinedDefaults<PluginClosePayloadOverrides, keyof SlotContextMap>;
|
|
387
|
-
|
|
388
|
-
declare type PluginClosePayloadOverrides = {
|
|
389
|
-
'attachment.viewer.action': AttachmentViewerActionClosePayload;
|
|
390
|
-
};
|
|
391
|
-
|
|
392
|
-
declare type PortfolioActionsSlotContext = {
|
|
393
|
-
data: MetaEntityV2 & {
|
|
394
|
-
progress: {
|
|
395
|
-
closed: number;
|
|
396
|
-
total: number;
|
|
397
|
-
};
|
|
398
|
-
};
|
|
399
|
-
};
|
|
400
|
-
|
|
401
|
-
declare type ProjectActionsSlotContext = {
|
|
402
|
-
data: MetaEntityV2 & {
|
|
403
|
-
progress: {
|
|
404
|
-
closed: number;
|
|
405
|
-
total: number;
|
|
406
|
-
};
|
|
407
|
-
boardId: number;
|
|
408
|
-
};
|
|
409
|
-
};
|
|
410
|
-
|
|
411
|
-
declare type QueryParams = Record<string, QueryParamValue | QueryParamValue[]>;
|
|
412
|
-
|
|
413
|
-
declare type QueryParamValue = string | number | boolean | null | undefined;
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* Clears all cached last values and subscribers from the event bus.
|
|
417
|
-
* Intended for use in tests to prevent state leaking between test cases.
|
|
418
|
-
*/
|
|
419
|
-
export declare function resetEventBus(): void {
|
|
420
|
-
lastValues.clear();
|
|
421
|
-
subscribers.clear();
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Регистрирует обработчик. Тип возвращаемого значения задаётся слотом (GetDataResultMap).
|
|
426
|
-
*/
|
|
427
|
-
export declare function setHandler<TSlot extends keyof GetDataResultMap>(name: 'getData', handler: () => GetDataResultMap[TSlot]): void;
|
|
428
|
-
|
|
429
|
-
export declare function setHandler<TKey extends keyof Handlers>(name: TKey, handler: HandlerFunction<TKey>): void;
|
|
430
|
-
|
|
431
|
-
export declare type SlotContextMap = {
|
|
432
|
-
'issue.action': Issue;
|
|
433
|
-
'issue.block': Issue;
|
|
434
|
-
'issue.tab': Issue;
|
|
435
|
-
navigation: Record<string, never>;
|
|
436
|
-
'issue.floatingbottom.action': Record<string, never>;
|
|
437
|
-
'trigger.create.action': TriggerCreateActionsSlotContext;
|
|
438
|
-
'trigger.edit.action': TriggerEditActionsSlotContext;
|
|
439
|
-
'portfolio.action': PortfolioActionsSlotContext;
|
|
440
|
-
'project.action': ProjectActionsSlotContext;
|
|
441
|
-
'goal.action': GoalActionsSlotContext;
|
|
442
|
-
'attachment.viewer.action': AttachmentViewerActionSlotContext;
|
|
443
|
-
'issue.comment.action': IssueCommentActionSlotContext;
|
|
444
|
-
};
|
|
445
|
-
|
|
446
|
-
export declare type Theme = 'light' | 'light-hc' | 'dark' | 'dark-hc' | 'system';
|
|
447
|
-
|
|
448
|
-
export declare type ToastAction = {
|
|
449
|
-
label: string;
|
|
450
|
-
onClick: () => void;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
export declare type ToastOptions = {
|
|
454
|
-
name?: string;
|
|
455
|
-
title: string;
|
|
456
|
-
content?: string;
|
|
457
|
-
theme?: 'success' | 'danger' | 'warning' | 'info';
|
|
458
|
-
autoHiding?: number;
|
|
459
|
-
isClosable?: boolean;
|
|
460
|
-
actions?: ToastAction[];
|
|
461
|
-
};
|
|
462
|
-
|
|
463
|
-
export declare interface TrackerApi {
|
|
464
|
-
v3: TrackerApiV3;
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
export declare const trackerApi: TrackerApi;
|
|
468
|
-
|
|
469
|
-
export declare type TrackerApiCallOptions = TrackerApiCallOptions_2;
|
|
470
|
-
|
|
471
|
-
declare interface TrackerApiCallOptions_2 {
|
|
472
|
-
pathParams?: Record<string, string>;
|
|
473
|
-
queryParams?: Record<string, unknown>;
|
|
474
|
-
bodyParams?: Record<string, unknown>;
|
|
475
|
-
file?: File;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
export declare type TrackerApiInitOptions = TrackerApiInitOptions_2;
|
|
479
|
-
|
|
480
|
-
declare interface TrackerApiInitOptions_2 {
|
|
481
|
-
apiVersion?: string;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
export declare interface TrackerApiV3 {
|
|
485
|
-
get: ApiResult<ApiV3GetMethods>;
|
|
486
|
-
post: ApiResult<ApiV3PostMethods>;
|
|
487
|
-
put: ApiResult<ApiV3PutMethods>;
|
|
488
|
-
patch: ApiResult<ApiV3PatchMethods>;
|
|
489
|
-
delete: ApiResult<ApiV3DeleteMethods>;
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
export declare type TriggerActionData = Omit<WebhookTriggerActionInput, 'id' | 'type' | 'typeKey'>;
|
|
493
|
-
|
|
494
|
-
declare type TriggerCreateActionsSlotContext = {
|
|
495
|
-
queue: string;
|
|
496
|
-
};
|
|
497
|
-
|
|
498
|
-
declare type TriggerEditActionsSlotContext = {
|
|
499
|
-
queue: string;
|
|
500
|
-
data: TriggerActionData;
|
|
501
|
-
};
|
|
502
|
-
|
|
503
|
-
export declare const uiApi = new UiApi();
|
|
504
|
-
|
|
505
|
-
/** Код ошибки: непредвиденная или неклассифицированная ошибка. */
|
|
506
|
-
export declare const UNKNOWN_ERROR = 6666;
|
|
507
|
-
|
|
508
|
-
/** Function returned by `on()` to remove the subscription */
|
|
509
|
-
export declare type Unsubscribe = () => void;
|
|
510
|
-
|
|
511
|
-
/** Код ошибки: данные запроса не прошли валидацию (неверный формат, обязательные поля отсутствуют и т.п.). */
|
|
512
|
-
export declare const VALIDATION_ERROR = 1002;
|
|
513
|
-
|
|
514
|
-
declare type WithUndefinedDefaults<TMap, TKeys extends PropertyKey> = {
|
|
515
|
-
[K in TKeys]: K extends keyof TMap ? TMap[K] : undefined;
|
|
516
|
-
};
|
|
517
|
-
|
|
518
|
-
export { }
|
|
1
|
+
export { initBridge, sendRequest } from './bridge/bridge';
|
|
2
|
+
export type { BaseMessage } from './bridge/types/BaseMessage';
|
|
3
|
+
export { BAD_KEY, DATA_TOO_LARGE, METHOD_NOT_SUPPORTED, MISSING_REQUIRED_SCOPE, PLUGIN_ID_IS_NOT_CORRECT, PLUGIN_ID_OR_SLOT_NOT_PROVIDED, UNKNOWN_ERROR, VALIDATION_ERROR, VERSION_CONFLICT, } from './bridge/types/ErrorCodes';
|
|
4
|
+
export { PluginActionError } from './bridge/types/PluginActionError';
|
|
5
|
+
export type { PluginConfirmPayload, PluginToastAction, PluginToastPayload, UiContract, } from './bridge/types/UiContract';
|
|
6
|
+
export { getHandler, setHandler } from './handlers/handlers';
|
|
7
|
+
export { dispatchHostEvent, eventBus, on, resetEventBus } from './events/eventBus';
|
|
8
|
+
export type { EventMessage, HostEventCallback, HostEventContract, HostEventMethod, Unsubscribe, } from './events/types';
|
|
9
|
+
export { Confirm } from './ui/Confirm';
|
|
10
|
+
export type { ConfirmOptions, ConfirmResult } from './ui/Confirm';
|
|
11
|
+
export { Toaster } from './ui/Toaster';
|
|
12
|
+
export type { ToastAction, ToastOptions } from './ui/Toaster';
|
|
13
|
+
export { uiApi } from './ui/uiApi';
|
|
14
|
+
export { getField } from './utils/getField';
|
|
15
|
+
export { getLocalizedString } from './utils/localization';
|
|
16
|
+
export type { LocalizedString } from './utils/localization';
|
|
17
|
+
export { AutoResizeManager } from './host/utils/autoResize';
|
|
18
|
+
export type { ResizeCallback } from './host/utils/autoResize';
|
|
19
|
+
export type { ContentSizeUpdateRequest, ContentSizeUpdateRequestUnit, } from './host/types/ContentSizeUpdateRequest';
|
|
20
|
+
export type { NavigateRequest } from './host/types/NavigateRequest';
|
|
21
|
+
export type { Theme } from './common/types/Theme';
|
|
22
|
+
export { HostApi, hostApi } from './host/hostApi';
|
|
23
|
+
export type { BasicContext, ContextLevel, HostInitOptions } from './host/hostApi';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG1D,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACH,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EACR,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,GACb,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,YAAY,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAW,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACR,wBAAwB,EACxB,4BAA4B,GAC/B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|