@weavix/sdk-core 0.0.1 → 0.0.2
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 +13 -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 +101 -124
- 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/README.md
CHANGED
|
@@ -1,49 +1,36 @@
|
|
|
1
1
|
# @weavix/sdk-core
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Generic plugin SDK core runtime — framework-agnostic, no Tracker-specific types or Tracker HTTP client.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Установка
|
|
5
|
+
## Installation
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
npm install @weavix/sdk-core
|
|
11
|
-
# или
|
|
12
|
-
pnpm add @weavix/sdk-core @weavix/tracker-api-types
|
|
8
|
+
npm install @weavix/sdk-core
|
|
13
9
|
```
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## Что внутри
|
|
18
|
-
|
|
19
|
-
`@weavix/sdk-core` экспортирует:
|
|
20
|
-
|
|
21
|
-
- `trackerApi` — типизированный proxy для вызовов Tracker REST API v3.
|
|
22
|
-
- `hostApi` — методы взаимодействия с хост-приложением (theme, language, context, navigation, content size).
|
|
23
|
-
- `setHandler`/`getHandler` — регистрация плагин-обработчиков для запросов от хоста.
|
|
24
|
-
- `dispatchHostEvent`/`on`/`resetEventBus` — событийная шина для push-событий хоста.
|
|
25
|
-
- `uiApi` — Toaster и Confirm.
|
|
26
|
-
- `getField` — утилита для безопасного чтения вложенных полей.
|
|
27
|
-
- `getLocalizedString` — извлечение локализованной строки.
|
|
28
|
-
- Коды ошибок: `METHOD_NOT_SUPPORTED`, `MISSING_REQUIRED_SCOPE`, `PLUGIN_ID_*`, `UNKNOWN_ERROR`, `VALIDATION_ERROR`.
|
|
29
|
-
- `PluginActionError`.
|
|
30
|
-
|
|
31
|
-
API surface полностью идентичен internal flavor'у; различается только источник api-types-типов.
|
|
11
|
+
## Usage
|
|
32
12
|
|
|
33
|
-
|
|
13
|
+
```typescript
|
|
14
|
+
import { hostApi, uiApi, on } from '@weavix/sdk-core';
|
|
34
15
|
|
|
35
|
-
|
|
36
|
-
|
|
16
|
+
// Initialize the plugin bridge
|
|
17
|
+
hostApi.init({ autoResize: true });
|
|
37
18
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
pathParams: { id: 'KEY-1' },
|
|
19
|
+
// Listen to host events
|
|
20
|
+
on('context.changed', (context) => {
|
|
21
|
+
console.log('Context:', context);
|
|
42
22
|
});
|
|
43
|
-
|
|
44
|
-
console.log(data.summary);
|
|
45
23
|
```
|
|
46
24
|
|
|
47
|
-
##
|
|
25
|
+
## What's included
|
|
26
|
+
|
|
27
|
+
- **Bridge**: `initBridge`, `sendRequest` — low-level postMessage communication
|
|
28
|
+
- **Host API**: `hostApi` — init, getTheme, getLanguage, notifyReady, resize, etc.
|
|
29
|
+
- **Events**: `on`, `dispatchHostEvent`, `eventBus` — reactive host event subscriptions
|
|
30
|
+
- **UI**: `uiApi` — navigate, toaster, confirm
|
|
31
|
+
- **Utils**: `getField`, `getLocalizedString` — utility helpers
|
|
32
|
+
- **Error codes**: `METHOD_NOT_SUPPORTED`, `MISSING_REQUIRED_SCOPE`, etc.
|
|
33
|
+
|
|
34
|
+
## For Tracker plugins
|
|
48
35
|
|
|
49
|
-
|
|
36
|
+
Use [`@yandex-data-ui/tracker-plugin-sdk-core`](https://npm.yandex-team.ru/@yandex-data-ui/tracker-plugin-sdk-core) (internal) or [`@weavix/tracker-plugin-sdk`](https://www.npmjs.com/package/@weavix/tracker-plugin-sdk) (external) for typed Tracker API (`trackerApi.v3`, …) and host wrappers.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type RequestOptions = {
|
|
2
|
+
timeout?: number;
|
|
3
|
+
};
|
|
4
|
+
declare class PluginBridge {
|
|
5
|
+
private pluginId;
|
|
6
|
+
private elementId;
|
|
7
|
+
private targetOrigin;
|
|
8
|
+
private slot;
|
|
9
|
+
private entityId;
|
|
10
|
+
private entityMeta;
|
|
11
|
+
private pendingRequests;
|
|
12
|
+
private messageListener;
|
|
13
|
+
private readonly requestTimeout;
|
|
14
|
+
constructor(pluginId: string, elementId: string, slot: string, entityId: string | null, targetOrigin: string, entityMeta?: Record<string, string>);
|
|
15
|
+
request(method: string, payload?: unknown, options?: RequestOptions): Promise<unknown>;
|
|
16
|
+
send<T = unknown>(message: T): void;
|
|
17
|
+
destroy(): void;
|
|
18
|
+
private initListener;
|
|
19
|
+
private generateMessageId;
|
|
20
|
+
}
|
|
21
|
+
export declare function initBridge(pluginId: string, elementId: string, slot: string, entityId: string | null, targetOrigin: string, entityMeta?: Record<string, string>): PluginBridge;
|
|
22
|
+
export declare function sendRequest(method: string, payload?: unknown, options?: RequestOptions): Promise<unknown>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/bridge.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA2B3C,cAAM,YAAY;IACd,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWvC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BtF,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAcnC,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,YAAY;IA8FpB,OAAO,CAAC,iBAAiB;CAG5B;AAID,wBAAgB,UAAU,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,YAAY,CAad;AASD,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMessage.d.ts","sourceRoot":"","sources":["../../../src/bridge/types/BaseMessage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Код ошибки: не переданы обязательные параметры инициализации плагина (pluginId или slot). */
|
|
2
|
+
export declare const PLUGIN_ID_OR_SLOT_NOT_PROVIDED = 1000;
|
|
3
|
+
/** Код ошибки: переданный pluginId не совпадает с зарегистрированным плагином или неверного формата. */
|
|
4
|
+
export declare const PLUGIN_ID_IS_NOT_CORRECT = 1001;
|
|
5
|
+
/** Код ошибки: данные запроса не прошли валидацию (неверный формат, обязательные поля отсутствуют и т.п.). */
|
|
6
|
+
export declare const VALIDATION_ERROR = 1002;
|
|
7
|
+
/** Код ошибки: запрошенный метод API не поддерживается в данной конфигурации или версии. */
|
|
8
|
+
export declare const METHOD_NOT_SUPPORTED = 1003;
|
|
9
|
+
/** Код ошибки: у плагина нет необходимого scope (разрешения) для выполнения операции. */
|
|
10
|
+
export declare const MISSING_REQUIRED_SCOPE = 1004;
|
|
11
|
+
/** Код ошибки: непредвиденная или неклассифицированная ошибка. */
|
|
12
|
+
export declare const UNKNOWN_ERROR = 6666;
|
|
13
|
+
//# sourceMappingURL=ErrorCodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorCodes.d.ts","sourceRoot":"","sources":["../../../src/bridge/types/ErrorCodes.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD,wGAAwG;AACxG,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kEAAkE;AAClE,eAAO,MAAM,aAAa,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginActionError.d.ts","sourceRoot":"","sources":["../../../src/bridge/types/PluginActionError.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO;CAMjE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type PluginToastAction = {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
};
|
|
5
|
+
export type PluginToastPayload = {
|
|
6
|
+
name?: string;
|
|
7
|
+
title: string;
|
|
8
|
+
content?: string;
|
|
9
|
+
theme?: 'success' | 'danger' | 'warning' | 'info';
|
|
10
|
+
autoHiding?: number;
|
|
11
|
+
isClosable?: boolean;
|
|
12
|
+
actions?: PluginToastAction[];
|
|
13
|
+
};
|
|
14
|
+
export type PluginConfirmPayload = {
|
|
15
|
+
title?: string;
|
|
16
|
+
message: string;
|
|
17
|
+
textButtonApply?: string;
|
|
18
|
+
textButtonCancel?: string;
|
|
19
|
+
theme?: 'normal' | 'danger';
|
|
20
|
+
};
|
|
21
|
+
export type UiContract = {
|
|
22
|
+
'toast.add': {
|
|
23
|
+
payload: PluginToastPayload;
|
|
24
|
+
result: {
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
'confirm.show': {
|
|
29
|
+
payload: PluginConfirmPayload;
|
|
30
|
+
result: {
|
|
31
|
+
confirmed: boolean;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=UiContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiContract.d.ts","sourceRoot":"","sources":["../../../src/bridge/types/UiContract.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,WAAW,EAAE;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5B,CAAC;IACF,cAAc,EAAE;QACZ,OAAO,EAAE,oBAAoB,CAAC;QAC9B,MAAM,EAAE;YAAE,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;KAClC,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/common/types/Theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EventMessage, HostEventCallback, HostEventContract, HostEventMethod, Unsubscribe } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Subscribe to a host-pushed event.
|
|
4
|
+
* If a value was already dispatched for this method, the callback is called
|
|
5
|
+
* synchronously with the cached value before returning.
|
|
6
|
+
* @param method - Event method name (e.g. `'theme.changed'`)
|
|
7
|
+
* @param callback - Function called with the typed event payload
|
|
8
|
+
* @returns An `Unsubscribe` function that removes this subscription
|
|
9
|
+
*/
|
|
10
|
+
export declare function on<M extends HostEventMethod>(method: M, callback: HostEventCallback<M>): Unsubscribe;
|
|
11
|
+
/**
|
|
12
|
+
* Dispatch an incoming event message to all registered subscribers.
|
|
13
|
+
* Caches the value so late subscribers receive it on subscription.
|
|
14
|
+
*/
|
|
15
|
+
export declare function dispatchHostEvent(message: EventMessage): void;
|
|
16
|
+
/**
|
|
17
|
+
* Clears all cached last values and subscribers from the event bus.
|
|
18
|
+
* Intended for use in tests to prevent state leaking between test cases.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resetEventBus(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Public event emitter — subscribe to host-pushed events.
|
|
23
|
+
* Only events defined in `HostEventContract` are accepted.
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { eventBus } from '@yandex-data-ui/tracker-plugin-sdk-core';
|
|
27
|
+
*
|
|
28
|
+
* const unsubscribe = eventBus.on('theme.changed', (theme) => {
|
|
29
|
+
* console.log('Theme:', theme);
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* unsubscribe();
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const eventBus: {
|
|
36
|
+
on<M extends HostEventMethod>(method: M, callback: (result: HostEventContract[M]["result"]) => void): Unsubscribe;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=eventBus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../src/events/eventBus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACd,MAAM,SAAS,CAAC;AAKjB;;;;;;;GAOG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,eAAe,EACxC,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC/B,WAAW,CA0Bb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAgB7D;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ;OACd,CAAC,SAAS,eAAe,UAChB,CAAC,YACC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAC3D,WAAW;CAGjB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Theme } from '../common/types/Theme';
|
|
2
|
+
/**
|
|
3
|
+
* Contract describing host-pushed events.
|
|
4
|
+
* Each key is a `method` string from the incoming postMessage,
|
|
5
|
+
* and the value describes the `result` payload type.
|
|
6
|
+
*/
|
|
7
|
+
export type HostEventContract = {
|
|
8
|
+
'theme.changed': {
|
|
9
|
+
result: Theme;
|
|
10
|
+
};
|
|
11
|
+
'language.changed': {
|
|
12
|
+
result: string;
|
|
13
|
+
};
|
|
14
|
+
'userId.changed': {
|
|
15
|
+
result: string;
|
|
16
|
+
};
|
|
17
|
+
'isYateam.changed': {
|
|
18
|
+
result: boolean;
|
|
19
|
+
};
|
|
20
|
+
'context.changed': {
|
|
21
|
+
result: Record<string, unknown>;
|
|
22
|
+
};
|
|
23
|
+
'toast.action.clicked': {
|
|
24
|
+
result: {
|
|
25
|
+
name: string;
|
|
26
|
+
actionId: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/** Union of all supported host event method names */
|
|
31
|
+
export type HostEventMethod = keyof HostEventContract;
|
|
32
|
+
/** Callback type for a specific host event */
|
|
33
|
+
export type HostEventCallback<M extends HostEventMethod> = (result: HostEventContract[M]['result']) => void;
|
|
34
|
+
/** Function returned by `on()` to remove the subscription */
|
|
35
|
+
export type Unsubscribe = () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Shape of an incoming event message from the host (postMessage).
|
|
38
|
+
* Distinct from 'response' and 'request' message types.
|
|
39
|
+
*/
|
|
40
|
+
export type EventMessage = {
|
|
41
|
+
messageId: string;
|
|
42
|
+
type: 'event';
|
|
43
|
+
method: HostEventMethod;
|
|
44
|
+
result: unknown;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,eAAe,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,CAAC;IACnC,kBAAkB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,gBAAgB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,kBAAkB,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,iBAAiB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACvD,sBAAsB,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC1E,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC;AAEtD,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,IAAI,CACvD,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KACrC,IAAI,CAAC;AAEV,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type AnyHandler = (...args: unknown[]) => unknown;
|
|
2
|
+
/**
|
|
3
|
+
* Регистрирует handler по имени. Тип не проверяется на runtime'е;
|
|
4
|
+
* type-safety обеспечивается typed wrapper'ом в публикуемых пакетах.
|
|
5
|
+
*/
|
|
6
|
+
export declare function setHandler(name: string, handler: AnyHandler): void;
|
|
7
|
+
/**
|
|
8
|
+
* Возвращает зарегистрированный handler по имени, или undefined.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getHandler(name: string): AnyHandler | undefined;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/handlers.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAIlD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE/D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ContentSizeUpdateRequest } from './types/ContentSizeUpdateRequest';
|
|
2
|
+
export interface HostInitOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Автоматически изменять размер контейнера плагина
|
|
5
|
+
* при изменении содержимого
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
autoResize?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Untyped runtime класс HostApi. Methods, которые возвращают значения,
|
|
12
|
+
* зависящие от SlotContextMap, типизированы как `unknown` или `string`.
|
|
13
|
+
* Type-safety добавляется в публикуемых пакетах через typed wrapper.
|
|
14
|
+
*/
|
|
15
|
+
export type ContextLevel = 'basic' | 'full';
|
|
16
|
+
export type BasicContext = {
|
|
17
|
+
entityId: string;
|
|
18
|
+
entityMeta?: Record<string, string>;
|
|
19
|
+
};
|
|
20
|
+
export declare class HostApi {
|
|
21
|
+
private autoResizeManager?;
|
|
22
|
+
private slot;
|
|
23
|
+
private service;
|
|
24
|
+
private origin;
|
|
25
|
+
private innerUrl;
|
|
26
|
+
private queryParams;
|
|
27
|
+
private entityId;
|
|
28
|
+
private entityMeta;
|
|
29
|
+
private contextLevel;
|
|
30
|
+
getTheme(): Promise<unknown>;
|
|
31
|
+
getLanguage(): Promise<unknown>;
|
|
32
|
+
getUserId(): Promise<unknown>;
|
|
33
|
+
getIsYateam(): Promise<unknown>;
|
|
34
|
+
getContext(): Promise<unknown>;
|
|
35
|
+
updateContentSize(payload: ContentSizeUpdateRequest): Promise<unknown>;
|
|
36
|
+
notifyReady(): Promise<unknown>;
|
|
37
|
+
close(payload: unknown): Promise<unknown>;
|
|
38
|
+
init(options: HostInitOptions): void;
|
|
39
|
+
getSlot(): string;
|
|
40
|
+
getService(): string;
|
|
41
|
+
getOrigin(): string;
|
|
42
|
+
getInnerUrl(): string;
|
|
43
|
+
getQueryParams(): Record<string, string>;
|
|
44
|
+
getEntityId(): string | null;
|
|
45
|
+
getEntityMeta(): Record<string, string> | undefined;
|
|
46
|
+
getContextLevel(): ContextLevel;
|
|
47
|
+
disableAutoResize(): void;
|
|
48
|
+
}
|
|
49
|
+
export declare const hostApi: HostApi;
|
|
50
|
+
//# sourceMappingURL=hostApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostApi.d.ts","sourceRoot":"","sources":["../../src/host/hostApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAGjF,MAAM,WAAW,eAAe;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,qBAAa,OAAO;IAChB,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAiD;IACnE,OAAO,CAAC,YAAY,CAAwB;IAE5C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAsDpC,OAAO,IAAI,MAAM;IAOjB,UAAU,IAAI,MAAM;IAOpB,SAAS,IAAI,MAAM;IAOnB,WAAW,IAAI,MAAM;IAOrB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOxC,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAInD,eAAe,IAAI,YAAY;IAI/B,iBAAiB,IAAI,IAAI;CAG5B;AAED,eAAO,MAAM,OAAO,SAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentSizeUpdateRequest.d.ts","sourceRoot":"","sources":["../../../src/host/types/ContentSizeUpdateRequest.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type QueryParamValue = string | number | boolean | null | undefined;
|
|
2
|
+
type QueryParams = Record<string, QueryParamValue | QueryParamValue[]>;
|
|
3
|
+
export type NavigateRequest = {
|
|
4
|
+
path: string;
|
|
5
|
+
params?: QueryParams;
|
|
6
|
+
options?: {
|
|
7
|
+
newTab?: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=NavigateRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigateRequest.d.ts","sourceRoot":"","sources":["../../../src/host/types/NavigateRequest.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type ResizeCallback = (height: number) => Promise<void> | void;
|
|
2
|
+
export declare class AutoResizeManager {
|
|
3
|
+
private resizeCallback;
|
|
4
|
+
private resizeObserver?;
|
|
5
|
+
private resizeTimeout?;
|
|
6
|
+
private lastHeight;
|
|
7
|
+
private isUpdating;
|
|
8
|
+
private consecutiveSmallIncreases;
|
|
9
|
+
private readonly MAX_CONSECUTIVE_SMALL_INCREASES;
|
|
10
|
+
private readonly SMALL_INCREASE_THRESHOLD_PX;
|
|
11
|
+
constructor(resizeCallback: ResizeCallback);
|
|
12
|
+
enable(): void;
|
|
13
|
+
disable(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=autoResize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoResize.d.ts","sourceRoot":"","sources":["../../../src/host/utils/autoResize.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEtE,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAK;IACrD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAM;gBAEtC,cAAc,EAAE,cAAc;IAI1C,MAAM,IAAI,IAAI;IAgFd,OAAO,IAAI,IAAI;CAMlB"}
|