@segnavia/react 0.19.0 → 0.21.0
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/dist/elements.d.ts +7 -3
- package/dist/elements.js +20 -0
- package/dist/index.d.ts +30 -3
- package/dist/index.js +22 -1
- package/dist/props.d.ts +30 -2
- package/package.json +2 -2
package/dist/elements.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CaptionProps, CaptionsProps, CounterProps, FullscreenProps, MuteProps, NotesProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
|
|
1
|
+
import { CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
|
|
2
2
|
import { SegnaviaPlayer } from "@segnavia/frame/player";
|
|
3
|
-
import { SegnaviaStage, SegnaviaThumbnail } from "@segnavia/frame";
|
|
4
|
-
import { SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
|
|
3
|
+
import { SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail } from "@segnavia/frame";
|
|
4
|
+
import { SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPaperPicker, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
|
|
5
5
|
//#region src/elements.d.ts
|
|
6
6
|
export interface RuntimeElementDescriptor {
|
|
7
7
|
tag: `segnavia-${string}`;
|
|
@@ -19,6 +19,10 @@ export declare const ELEMENTS: {
|
|
|
19
19
|
readonly player: ElementDescriptor<SegnaviaPlayer, PlayerProps, "segnavia-player">;
|
|
20
20
|
readonly stage: ElementDescriptor<SegnaviaStage, StageProps, "segnavia-stage">;
|
|
21
21
|
readonly thumbnail: ElementDescriptor<SegnaviaThumbnail, ThumbnailProps, "segnavia-thumbnail">;
|
|
22
|
+
readonly paperPicker: ElementDescriptor<SegnaviaPaperPicker, PaperPickerProps, "segnavia-paper-picker">;
|
|
23
|
+
readonly page: ElementDescriptor<SegnaviaPage, PageProps, "segnavia-page">;
|
|
24
|
+
readonly paper: ElementDescriptor<SegnaviaPaper, PaperProps, "segnavia-paper">;
|
|
25
|
+
readonly document: ElementDescriptor<SegnaviaDocument, DocumentProps, "segnavia-document">;
|
|
22
26
|
readonly play: ElementDescriptor<SegnaviaPlay, PlayProps, "segnavia-play">;
|
|
23
27
|
readonly step: ElementDescriptor<SegnaviaStep, StepProps, "segnavia-step">;
|
|
24
28
|
readonly track: ElementDescriptor<SegnaviaTrack, TrackProps, "segnavia-track">;
|
package/dist/elements.js
CHANGED
|
@@ -30,12 +30,32 @@ const ELEMENTS = {
|
|
|
30
30
|
}),
|
|
31
31
|
thumbnail: element(HEADLESS_ELEMENTS.thumbnail, [
|
|
32
32
|
"deck",
|
|
33
|
+
"page",
|
|
34
|
+
"print",
|
|
33
35
|
"index",
|
|
34
36
|
"resolveSlide",
|
|
35
37
|
"base",
|
|
36
38
|
"css",
|
|
37
39
|
"mountMargin"
|
|
38
40
|
], { onSegnaviaThumbnailError: "segnavia-thumbnail-error" }),
|
|
41
|
+
paperPicker: element(STYLED_ELEMENTS.paperPicker, ["value", "labels"], { onChange: "change" }),
|
|
42
|
+
page: element(HEADLESS_ELEMENTS.page, [
|
|
43
|
+
"page",
|
|
44
|
+
"css",
|
|
45
|
+
"cspExtra"
|
|
46
|
+
], {}),
|
|
47
|
+
paper: element(HEADLESS_ELEMENTS.paper, [
|
|
48
|
+
"paper",
|
|
49
|
+
"side",
|
|
50
|
+
"css",
|
|
51
|
+
"cspExtra"
|
|
52
|
+
], {}),
|
|
53
|
+
document: element(HEADLESS_ELEMENTS.document, [
|
|
54
|
+
"css",
|
|
55
|
+
"cspExtra",
|
|
56
|
+
"pages",
|
|
57
|
+
"print"
|
|
58
|
+
], {}),
|
|
39
59
|
play: element(STYLED_ELEMENTS.play, controlProperties, {}),
|
|
40
60
|
step: element(STYLED_ELEMENTS.step, controlProperties, {}),
|
|
41
61
|
track: element(STYLED_ELEMENTS.track, controlProperties, {}),
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CaptionProps, CaptionsProps, CounterProps, FullscreenProps, MuteProps, NotesProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
|
|
1
|
+
import { CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
|
|
2
2
|
import { AnyElementDescriptor, ElementFor, PropsFor } from "./elements.js";
|
|
3
3
|
import { SegnaviaIntrinsicElements } from "./jsx.js";
|
|
4
4
|
import { AuthoringController, AuthoringController as AuthoringController$1, AuthoringErrorDetail, AuthoringHandlers, AuthoringHandlers as AuthoringHandlers$1, AuthoringOptions, AuthoringOptions as AuthoringOptions$1, DirtyChangeDetail, SaveNotesInput, SavePrintMomentInput } from "@segnavia/frame/authoring";
|
|
5
|
+
import { DocumentAuthoringController, DocumentAuthoringController as DocumentAuthoringController$1, DocumentAuthoringErrorDetail, DocumentAuthoringHandlers, DocumentAuthoringHandlers as DocumentAuthoringHandlers$1, MovePageHandler, MovePageInput } from "@segnavia/frame/document-authoring";
|
|
5
6
|
import { SegnaviaPlayer } from "@segnavia/frame/player";
|
|
6
7
|
import { ReactNode } from "react";
|
|
7
|
-
import { DeckController } from "@segnavia/frame";
|
|
8
|
+
import { DeckController, SegnaviaDocument } from "@segnavia/frame";
|
|
8
9
|
//#region src/index.d.ts
|
|
9
10
|
type ElementWithController = HTMLElement & {
|
|
10
11
|
controller?: DeckController | null;
|
|
@@ -21,6 +22,31 @@ export declare const Stage: import("react").ForwardRefExoticComponent<StageProps
|
|
|
21
22
|
export declare const Thumbnail: import("react").ForwardRefExoticComponent<ThumbnailProps & {
|
|
22
23
|
children?: ReactNode;
|
|
23
24
|
} & import("react").RefAttributes<import("@segnavia/frame").SegnaviaThumbnail>>;
|
|
25
|
+
export declare const PaperPicker: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").HTMLAttributes<import("@segnavia/frame/controls").SegnaviaPaperPicker>, "children"> & {
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
}, "onChange"> & {
|
|
28
|
+
value?: import("@segnavia/frame/controls").SegnaviaPaperPicker["value"];
|
|
29
|
+
labels?: import("@segnavia/frame/controls").PaperPickerLabelOverrides;
|
|
30
|
+
onChange?: (event: CustomEvent<{
|
|
31
|
+
paper: "dl" | "letter" | "legal" | "tabloid" | "a3" | "a4" | "a5" | "business-card-us" | "business-card-eu" | "business-card-square-us" | "business-card-slim-us" | "postcard-4x6" | "postcard-5x7" | "postcard-6x9" | "postcard-6x11" | "card-square-4in" | "half-letter" | "a6" | "rack-card-4x9" | "rack-card-3.5x8.5" | "poster-12x18" | "poster-16x20" | "poster-18x24" | "poster-24x36" | "a2" | "a1" | "a0" | {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
unit: "mm" | "in" | "pt";
|
|
35
|
+
};
|
|
36
|
+
orientation: "portrait" | "landscape";
|
|
37
|
+
}>) => void;
|
|
38
|
+
} & {
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
} & import("react").RefAttributes<import("@segnavia/frame/controls").SegnaviaPaperPicker>>;
|
|
41
|
+
export declare const Page: import("react").ForwardRefExoticComponent<PageProps & {
|
|
42
|
+
children?: ReactNode;
|
|
43
|
+
} & import("react").RefAttributes<import("@segnavia/frame").SegnaviaPage>>;
|
|
44
|
+
export declare const Paper: import("react").ForwardRefExoticComponent<PaperProps & {
|
|
45
|
+
children?: ReactNode;
|
|
46
|
+
} & import("react").RefAttributes<import("@segnavia/frame").SegnaviaPaper>>;
|
|
47
|
+
export declare const Document: import("react").ForwardRefExoticComponent<DocumentProps & {
|
|
48
|
+
children?: ReactNode;
|
|
49
|
+
} & import("react").RefAttributes<SegnaviaDocument>>;
|
|
24
50
|
export declare const Play: import("react").ForwardRefExoticComponent<Omit<import("react").HTMLAttributes<import("@segnavia/frame/controls").SegnaviaPlay>, "children"> & {
|
|
25
51
|
children?: ReactNode;
|
|
26
52
|
} & {
|
|
@@ -130,5 +156,6 @@ export declare const Rail: import("react").ForwardRefExoticComponent<Omit<import
|
|
|
130
156
|
} & import("react").RefAttributes<import("@segnavia/frame/controls").SegnaviaRail>>;
|
|
131
157
|
export declare function useDeckController(element: ElementWithController | null): DeckController | null;
|
|
132
158
|
export declare function useAuthoring(player: SegnaviaPlayer | null, handlers: AuthoringHandlers$1, options?: AuthoringOptions$1): AuthoringController$1 | null;
|
|
159
|
+
export declare function useDocumentAuthoring(document: SegnaviaDocument | null, handlers: DocumentAuthoringHandlers$1): DocumentAuthoringController$1 | null;
|
|
133
160
|
//#endregion
|
|
134
|
-
export type { AuthoringController, AuthoringErrorDetail, AuthoringHandlers, AuthoringOptions, CaptionProps, CaptionsProps, CounterProps, DirtyChangeDetail, FullscreenProps, MuteProps, NotesProps, PlayProps, PlayerProps, RailProps, SaveNotesInput, SavePrintMomentInput, SegnaviaIntrinsicElements, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps };
|
|
161
|
+
export type { AuthoringController, AuthoringErrorDetail, AuthoringHandlers, AuthoringOptions, CaptionProps, CaptionsProps, CounterProps, DirtyChangeDetail, DocumentAuthoringController, DocumentAuthoringErrorDetail, DocumentAuthoringHandlers, DocumentProps, FullscreenProps, MovePageHandler, MovePageInput, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, SaveNotesInput, SavePrintMomentInput, SegnaviaIntrinsicElements, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ELEMENTS } from "./elements.js";
|
|
2
2
|
import { syncElementProps } from "./react-props.js";
|
|
3
3
|
import { attachAuthoring } from "@segnavia/frame/authoring";
|
|
4
|
+
import { attachDocumentAuthoring } from "@segnavia/frame/document-authoring";
|
|
4
5
|
import "@segnavia/frame/player";
|
|
5
6
|
import { createElement, forwardRef, useCallback, useEffect, useRef, useState } from "react";
|
|
6
7
|
//#region src/index.ts
|
|
@@ -37,6 +38,10 @@ function createComponent(descriptor) {
|
|
|
37
38
|
const Player = createComponent(ELEMENTS.player);
|
|
38
39
|
const Stage = createComponent(ELEMENTS.stage);
|
|
39
40
|
const Thumbnail = createComponent(ELEMENTS.thumbnail);
|
|
41
|
+
const PaperPicker = createComponent(ELEMENTS.paperPicker);
|
|
42
|
+
const Page = createComponent(ELEMENTS.page);
|
|
43
|
+
const Paper = createComponent(ELEMENTS.paper);
|
|
44
|
+
const Document = createComponent(ELEMENTS.document);
|
|
40
45
|
const Play = createComponent(ELEMENTS.play);
|
|
41
46
|
const Step = createComponent(ELEMENTS.step);
|
|
42
47
|
const Track = createComponent(ELEMENTS.track);
|
|
@@ -85,5 +90,21 @@ function useAuthoring(player, handlers, options) {
|
|
|
85
90
|
]);
|
|
86
91
|
return controller;
|
|
87
92
|
}
|
|
93
|
+
function useDocumentAuthoring(document, handlers) {
|
|
94
|
+
const [controller, setController] = useState(null);
|
|
95
|
+
const latestHandlers = useRef(handlers);
|
|
96
|
+
latestHandlers.current = handlers;
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
if (!document) return;
|
|
99
|
+
const attached = attachDocumentAuthoring(document, latestHandlers.current);
|
|
100
|
+
setController(attached);
|
|
101
|
+
return () => {
|
|
102
|
+
attached.detach();
|
|
103
|
+
setController(null);
|
|
104
|
+
};
|
|
105
|
+
}, [document]);
|
|
106
|
+
useEffect(() => controller?.update(handlers), [controller, handlers]);
|
|
107
|
+
return controller;
|
|
108
|
+
}
|
|
88
109
|
//#endregion
|
|
89
|
-
export { Caption, Captions, Counter, Fullscreen, Mute, Notes, Play, Player, Rail, Stage, Step, Thumbnail, Time, Track, createComponent, useAuthoring, useDeckController };
|
|
110
|
+
export { Caption, Captions, Counter, Document, Fullscreen, Mute, Notes, Page, Paper, PaperPicker, Play, Player, Rail, Stage, Step, Thumbnail, Time, Track, createComponent, useAuthoring, useDeckController, useDocumentAuthoring };
|
package/dist/props.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlayerControls, PlayerFit, SegnaviaPlayer } from "@segnavia/frame/player";
|
|
2
2
|
import { HTMLAttributes, ReactNode } from "react";
|
|
3
|
-
import { ControllerOptions, DeckController, FittedSize, HostTransition, SegnaviaStage, SegnaviaThumbnail, StageReserve } from "@segnavia/frame";
|
|
4
|
-
import { PlayerLabels, SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
|
|
3
|
+
import { ControllerOptions, DeckController, FittedSize, HostTransition, PageInput, PrintInput, SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail, StageReserve } from "@segnavia/frame";
|
|
4
|
+
import { PaperPickerLabelOverrides, PlayerLabels, SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPaperPicker, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
|
|
5
5
|
//#region src/props.d.ts
|
|
6
6
|
type ElementProps<E extends HTMLElement> = Omit<HTMLAttributes<E>, 'children'> & {
|
|
7
7
|
children?: ReactNode;
|
|
@@ -51,6 +51,8 @@ export interface StageProps extends ElementProps<SegnaviaStage> {
|
|
|
51
51
|
}
|
|
52
52
|
export interface ThumbnailProps extends ElementProps<SegnaviaThumbnail> {
|
|
53
53
|
deck?: SegnaviaThumbnail['deck'];
|
|
54
|
+
page?: PageInput | null;
|
|
55
|
+
print?: PrintInput | null;
|
|
54
56
|
index?: number;
|
|
55
57
|
resolveSlide?: ControllerOptions['resolveSlide'];
|
|
56
58
|
base?: string;
|
|
@@ -58,6 +60,32 @@ export interface ThumbnailProps extends ElementProps<SegnaviaThumbnail> {
|
|
|
58
60
|
mountMargin?: number;
|
|
59
61
|
onSegnaviaThumbnailError?: CustomEventProp<unknown>;
|
|
60
62
|
}
|
|
63
|
+
export type PaperPickerProps = Omit<ElementProps<SegnaviaPaperPicker>, 'onChange'> & {
|
|
64
|
+
value?: SegnaviaPaperPicker['value'];
|
|
65
|
+
labels?: PaperPickerLabelOverrides;
|
|
66
|
+
onChange?: CustomEventProp<SegnaviaPaperPicker['value']>;
|
|
67
|
+
};
|
|
68
|
+
export interface PageProps extends ElementProps<SegnaviaPage> {
|
|
69
|
+
page?: PageInput | null;
|
|
70
|
+
css?: string;
|
|
71
|
+
cspExtra?: string;
|
|
72
|
+
src?: string;
|
|
73
|
+
unstyled?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface PaperProps extends ElementProps<SegnaviaPaper> {
|
|
76
|
+
paper?: number;
|
|
77
|
+
side?: SegnaviaPaper['side'];
|
|
78
|
+
css?: string;
|
|
79
|
+
cspExtra?: string;
|
|
80
|
+
unstyled?: boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface DocumentProps extends ElementProps<SegnaviaDocument> {
|
|
83
|
+
pages?: PageInput[];
|
|
84
|
+
print?: PrintInput | null;
|
|
85
|
+
css?: string;
|
|
86
|
+
cspExtra?: string;
|
|
87
|
+
unstyled?: boolean;
|
|
88
|
+
}
|
|
61
89
|
export type PlayProps = ControlProps<SegnaviaPlay>;
|
|
62
90
|
export type StepProps = ControlProps<SegnaviaStep> & {
|
|
63
91
|
to?: 'previous' | 'next';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segnavia/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@segnavia/frame": "0.
|
|
29
|
+
"@segnavia/frame": "0.21.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": "^18.0.0 || ^19.0.0",
|