@ikonai/sdk-react-ui 0.0.11 → 0.0.13
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/ikon-ui-registry.d.ts +3 -3
- package/ikon-ui.d.ts +0 -2
- package/index.d.ts +3 -1
- package/index.js +1140 -629
- package/media/media-module.d.ts +8 -0
- package/media/video-canvas.d.ts +6 -0
- package/package.json +1 -1
- package/renderer/component-library.d.ts +2 -2
- package/renderer/index.d.ts +1 -1
- package/renderer/types.d.ts +9 -6
- package/renderer/ui-renderer.d.ts +5 -2
- package/shared/render-motion-letters.d.ts +2 -0
- package/surface.d.ts +4 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IkonUiModuleLoader, IkonUiRegistry } from '../ikon-ui-registry';
|
|
2
|
+
import { createMediaResolvers, IKON_UI_VIDEO_CANVAS_TYPE, IKON_UI_VIDEO_URL_PLAYER_TYPE } from './video-canvas';
|
|
3
|
+
export declare const IKON_UI_MEDIA_MODULE = "media";
|
|
4
|
+
export { IKON_UI_VIDEO_CANVAS_TYPE };
|
|
5
|
+
export { IKON_UI_VIDEO_URL_PLAYER_TYPE };
|
|
6
|
+
export declare const loadMediaModule: IkonUiModuleLoader;
|
|
7
|
+
export declare function registerMediaModule(registry: IkonUiRegistry): void;
|
|
8
|
+
export { createMediaResolvers };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IkonUiComponentResolver } from '../ikon-ui-registry';
|
|
2
|
+
export declare const IKON_UI_VIDEO_CANVAS_TYPE: "media.video-canvas";
|
|
3
|
+
export declare const IKON_UI_VIDEO_URL_PLAYER_TYPE: "media.video-url-player";
|
|
4
|
+
export declare function createVideoCanvasResolver(): IkonUiComponentResolver;
|
|
5
|
+
export declare function createMediaResolvers(): IkonUiComponentResolver[];
|
|
6
|
+
export declare function createVideoUrlPlayerResolver(): IkonUiComponentResolver;
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UiComponentLibrary, UiComponentRenderer,
|
|
1
|
+
import { UiComponentLibrary, UiComponentRenderer, UiNode } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Minimal, fixed registry of UI renderers keyed by element type.
|
|
4
4
|
*
|
|
@@ -20,7 +20,7 @@ export declare class UiComponentRegistry implements UiComponentLibrary {
|
|
|
20
20
|
constructor(entries?: Iterable<[string, UiComponentRenderer]>, fallback?: UiComponentRenderer | undefined);
|
|
21
21
|
register(type: string, renderer: UiComponentRenderer): void;
|
|
22
22
|
setFallback(renderer: UiComponentRenderer | undefined): void;
|
|
23
|
-
resolve(node:
|
|
23
|
+
resolve(node: UiNode): UiComponentRenderer | undefined;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Convenience factory to build a `UiComponentRegistry` from a plain object.
|
package/renderer/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { UiRenderer, type UiRendererProps } from './ui-renderer';
|
|
2
2
|
export { UiComponentRegistry, createComponentLibrary, } from './component-library';
|
|
3
3
|
export { useUiStore } from './use-ui-store';
|
|
4
|
-
export type { UiComponentRenderer, UiComponentLibrary,
|
|
4
|
+
export type { UiComponentRenderer, UiComponentLibrary, UiNode, UiRenderContext, UiComponentRendererProps, ParsedUiUpdate, UiSnapshot, UiFullSnapshot, UiDiffSnapshot, UiNodeDiff, TextDelta, UiNodeProps, UiUpdateType, UiStoreSnapshot, UiOptimisticPatchState, } from './types';
|
package/renderer/types.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { UIPayload } from '../../../../shared/generated/src/index.ts';
|
|
2
|
-
import {
|
|
2
|
+
import { UiNode } from '../../../sdk-ui/src/index.ts';
|
|
3
|
+
import { IkonClient, IkonVideoPlayback } from '../../../sdk-core/src/index.ts';
|
|
3
4
|
import { ComponentType, ReactNode } from 'react';
|
|
4
|
-
export { type UiUpdateType, type
|
|
5
|
+
export { type UiUpdateType, type UiNodeProps, type UiNode, type UiNodeDiff, type UiSnapshot, type UiFullSnapshot, type UiDiffSnapshot, type UiSnapshotMetadata, type UiOptimisticPatchMetadata, type UiOptimisticReconcileMetadata, type TextDelta, type ParsedUiUpdate, type UiStoreSnapshot, type UiOptimisticPatchState, } from '../../../sdk-ui/src/index.ts';
|
|
5
6
|
export interface UiRenderContext {
|
|
6
7
|
getPayload(key: string): UIPayload | undefined;
|
|
7
|
-
renderChildren(nodes: readonly
|
|
8
|
-
|
|
8
|
+
renderChildren(nodes: readonly UiNode[]): ReactNode;
|
|
9
|
+
renderView(viewId: string): ReactNode;
|
|
9
10
|
dispatchAction(actionId: string, payload?: unknown): void;
|
|
11
|
+
client?: IkonClient;
|
|
12
|
+
video?: IkonVideoPlayback;
|
|
10
13
|
}
|
|
11
14
|
export interface UiComponentRendererProps {
|
|
12
|
-
readonly node:
|
|
15
|
+
readonly node: UiNode;
|
|
13
16
|
readonly context: UiRenderContext;
|
|
14
17
|
readonly children: readonly ReactNode[];
|
|
15
18
|
readonly className?: string;
|
|
@@ -17,5 +20,5 @@ export interface UiComponentRendererProps {
|
|
|
17
20
|
}
|
|
18
21
|
export type UiComponentRenderer = ComponentType<UiComponentRendererProps>;
|
|
19
22
|
export interface UiComponentLibrary {
|
|
20
|
-
resolve(node:
|
|
23
|
+
resolve(node: UiNode): UiComponentRenderer | undefined;
|
|
21
24
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { IkonClient, IkonVideoPlayback } from '../../../sdk-core/src/index.ts';
|
|
1
2
|
import { UiStreamStore } from '../../../sdk-ui/src/index.ts';
|
|
2
3
|
import { ReactNode } from 'react';
|
|
3
4
|
import { UiComponentLibrary } from './types';
|
|
4
5
|
export interface UiRendererProps {
|
|
5
6
|
readonly store: UiStreamStore;
|
|
6
7
|
readonly library: UiComponentLibrary;
|
|
7
|
-
readonly
|
|
8
|
+
readonly viewId?: string;
|
|
8
9
|
readonly emptyFallback?: ReactNode;
|
|
9
10
|
readonly onAction?: (actionId: string, payloadJson: string) => void;
|
|
11
|
+
readonly client?: IkonClient;
|
|
12
|
+
readonly video?: IkonVideoPlayback;
|
|
10
13
|
}
|
|
11
|
-
export declare function UiRenderer({ store, library,
|
|
14
|
+
export declare function UiRenderer({ store, library, viewId, emptyFallback, onAction, client, video }: UiRendererProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null;
|
package/surface.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UIStreamCategories } from '../../../shared/generated/src/index.ts';
|
|
2
2
|
import { UiStreamStore } from '../../sdk-ui/src/index.ts';
|
|
3
3
|
import { UiComponentLibrary } from './renderer';
|
|
4
|
+
import { IkonClient, IkonVideoPlayback } from '../../sdk-core/src/index.ts';
|
|
4
5
|
export declare const IKON_UI_STREAM_CATEGORY: "ikon-ui";
|
|
5
6
|
export type IkonUiCategory = UIStreamCategories | typeof IKON_UI_STREAM_CATEGORY | (string & {});
|
|
6
7
|
export interface IkonUiStoreEntry {
|
|
@@ -14,5 +15,7 @@ export interface IkonUiSurfaceProps {
|
|
|
14
15
|
category?: IkonUiCategory;
|
|
15
16
|
version?: number;
|
|
16
17
|
onAction?: (actionId: string, payload?: string) => void;
|
|
18
|
+
client?: IkonClient;
|
|
19
|
+
video?: IkonVideoPlayback;
|
|
17
20
|
}
|
|
18
|
-
export declare function IkonUiSurface({ stores, library, category, version, onAction }: IkonUiSurfaceProps): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export declare function IkonUiSurface({ stores, library, category, version, onAction, client, video }: IkonUiSurfaceProps): import("react/jsx-runtime").JSX.Element | null;
|