@segnavia/react 0.38.0 → 0.40.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.
@@ -1,7 +1,8 @@
1
- import { CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, ItemSettingsProps, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
1
+ import { BookProps, CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, ItemSettingsProps, MarkdownEditorProps, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
2
2
  import { SegnaviaItemSettings } from "@segnavia/frame/item-settings";
3
3
  import { SegnaviaPlayer } from "@segnavia/frame/player";
4
- import { SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail } from "@segnavia/frame";
4
+ import { SegnaviaMarkdownEditor } from "@segnavia/frame/markdown-editor";
5
+ import { SegnaviaBook, SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail } from "@segnavia/frame";
5
6
  import { SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPaperPicker, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
6
7
  //#region src/elements.d.ts
7
8
  export interface RuntimeElementDescriptor {
@@ -9,7 +10,7 @@ export interface RuntimeElementDescriptor {
9
10
  properties: readonly string[];
10
11
  events: Readonly<Partial<Record<string, string>>>;
11
12
  }
12
- export interface ElementDescriptor<E extends HTMLElement, P extends object, Tag extends `segnavia-${string}` = `segnavia-${string}`> extends RuntimeElementDescriptor {
13
+ export interface ElementDescriptor<E extends object, P extends object, Tag extends `segnavia-${string}` = `segnavia-${string}`> extends RuntimeElementDescriptor {
13
14
  tag: Tag;
14
15
  properties: readonly Extract<keyof P, string>[];
15
16
  events: Readonly<Partial<Record<Extract<keyof P, `on${string}`>, string>>>;
@@ -23,6 +24,8 @@ export declare const ELEMENTS: {
23
24
  readonly paperPicker: ElementDescriptor<SegnaviaPaperPicker, PaperPickerProps, "segnavia-paper-picker">;
24
25
  readonly itemSettings: ElementDescriptor<SegnaviaItemSettings, ItemSettingsProps, "segnavia-item-settings">;
25
26
  readonly page: ElementDescriptor<SegnaviaPage, PageProps, "segnavia-page">;
27
+ readonly markdownEditor: ElementDescriptor<SegnaviaMarkdownEditor, MarkdownEditorProps, "segnavia-markdown-editor">;
28
+ readonly book: ElementDescriptor<SegnaviaBook, BookProps, "segnavia-book">;
26
29
  readonly paper: ElementDescriptor<SegnaviaPaper, PaperProps, "segnavia-paper">;
27
30
  readonly document: ElementDescriptor<SegnaviaDocument, DocumentProps, "segnavia-document">;
28
31
  readonly play: ElementDescriptor<SegnaviaPlay, PlayProps, "segnavia-play">;
package/dist/elements.js CHANGED
@@ -16,6 +16,7 @@ const ELEMENTS = {
16
16
  "cspExtra",
17
17
  "dependencyOrigins",
18
18
  "resolveSlide",
19
+ "placements",
19
20
  "transition",
20
21
  "slots"
21
22
  ], { onSegnaviaLabels: "segnavia-labels" }),
@@ -44,7 +45,10 @@ const ELEMENTS = {
44
45
  "mountMargin",
45
46
  "slots",
46
47
  "motifs",
47
- "fonts"
48
+ "fonts",
49
+ "placements",
50
+ "designedCover",
51
+ "pageWidths"
48
52
  ], { onSegnaviaThumbnailError: "segnavia-thumbnail-error" }),
49
53
  paperPicker: element(STYLED_ELEMENTS.paperPicker, ["value", "labels"], { onChange: "change" }),
50
54
  itemSettings: element("segnavia-item-settings", [
@@ -62,7 +66,37 @@ const ELEMENTS = {
62
66
  "dependencyOrigins",
63
67
  "slots",
64
68
  "motifs",
65
- "fonts"
69
+ "fonts",
70
+ "alertLabels",
71
+ "placements",
72
+ "pageWidths"
73
+ ], {}),
74
+ markdownEditor: element("segnavia-markdown-editor", [
75
+ "markdown",
76
+ "mode",
77
+ "title",
78
+ "titleSource",
79
+ "lockedFences",
80
+ "css",
81
+ "fonts",
82
+ "fontReferences",
83
+ "linkOrigins",
84
+ "alertLabels"
85
+ ], {
86
+ onSegnaviaMarkdownChange: "segnavia-markdown-change",
87
+ onSegnaviaTitleChange: "segnavia-title-change",
88
+ onSegnaviaModeChange: "segnavia-mode-change",
89
+ onSegnaviaSave: "segnavia-save",
90
+ onSegnaviaEditorState: "segnavia-editor-state",
91
+ onSegnaviaLinkRequest: "segnavia-link-request"
92
+ }),
93
+ book: element(HEADLESS_ELEMENTS.book, [
94
+ "view",
95
+ "fonts",
96
+ "motifs",
97
+ "placements",
98
+ "pageWidths",
99
+ "dependencyOrigins"
66
100
  ], {}),
67
101
  paper: element(HEADLESS_ELEMENTS.paper, [
68
102
  "paper",
@@ -72,7 +106,9 @@ const ELEMENTS = {
72
106
  "dependencyOrigins",
73
107
  "slots",
74
108
  "motifs",
75
- "fonts"
109
+ "fonts",
110
+ "placements",
111
+ "pageWidths"
76
112
  ], {}),
77
113
  document: element(HEADLESS_ELEMENTS.document, [
78
114
  "css",
@@ -82,7 +118,9 @@ const ELEMENTS = {
82
118
  "print",
83
119
  "slots",
84
120
  "motifs",
85
- "fonts"
121
+ "fonts",
122
+ "placements",
123
+ "pageWidths"
86
124
  ], {}),
87
125
  play: element(STYLED_ELEMENTS.play, controlProperties, {}),
88
126
  step: element(STYLED_ELEMENTS.step, controlProperties, {}),
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, ItemSettingsProps, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps } from "./props.js";
1
+ import { BookProps, CaptionProps, CaptionsProps, CounterProps, DocumentProps, FullscreenProps, ItemSettingsProps, MarkdownEditorProps, 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";
@@ -55,6 +55,9 @@ export declare const ItemSettings: import("react").ForwardRefExoticComponent<Omi
55
55
  export declare const Page: import("react").ForwardRefExoticComponent<PageProps & {
56
56
  children?: ReactNode;
57
57
  } & import("react").RefAttributes<import("@segnavia/frame").SegnaviaPage>>;
58
+ export declare const Book: import("react").ForwardRefExoticComponent<BookProps & {
59
+ children?: ReactNode;
60
+ } & import("react").RefAttributes<import("@segnavia/frame").SegnaviaBook>>;
58
61
  export declare const Paper: import("react").ForwardRefExoticComponent<PaperProps & {
59
62
  children?: ReactNode;
60
63
  } & import("react").RefAttributes<import("@segnavia/frame").SegnaviaPaper>>;
@@ -173,4 +176,4 @@ export declare function useAuthoring(player: SegnaviaPlayer | null, handlers: Au
173
176
  export declare function useDocumentAuthoring(document: SegnaviaDocument | null, handlers: DocumentAuthoringHandlers$1, options?: DocumentAuthoringOptions$1): DocumentAuthoringController$1 | null;
174
177
  export declare function useItemSettings(element: SegnaviaItemSettings | null, handlers: ItemSettingsHandlers$1): ItemSettingsController$1 | null;
175
178
  //#endregion
176
- export type { AuthoringController, AuthoringErrorDetail, AuthoringHandlers, AuthoringOptions, CaptionProps, CaptionsProps, CounterProps, DirtyChangeDetail, DocumentAuthoringController, DocumentAuthoringErrorDetail, DocumentAuthoringHandlers, DocumentAuthoringOptions, DocumentProps, FullscreenProps, ItemSettingsController, ItemSettingsErrorDetail, ItemSettingsHandlers, ItemSettingsLabels, ItemSettingsProps, ItemSettingsSection, ItemSettingsSectionContext, MovePageHandler, MovePageInput, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, SaveNotesInput, SavePrintMomentInput, SegnaviaIntrinsicElements, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps };
179
+ export type { AuthoringController, AuthoringErrorDetail, AuthoringHandlers, AuthoringOptions, BookProps, CaptionProps, CaptionsProps, CounterProps, DirtyChangeDetail, DocumentAuthoringController, DocumentAuthoringErrorDetail, DocumentAuthoringHandlers, DocumentAuthoringOptions, DocumentProps, FullscreenProps, ItemSettingsController, ItemSettingsErrorDetail, ItemSettingsHandlers, ItemSettingsLabels, ItemSettingsProps, ItemSettingsSection, ItemSettingsSectionContext, MarkdownEditorProps, MovePageHandler, MovePageInput, MuteProps, NotesProps, PageProps, PaperPickerProps, PaperProps, PlayProps, PlayerProps, RailProps, SaveNotesInput, SavePrintMomentInput, SegnaviaIntrinsicElements, StageProps, StepProps, ThumbnailProps, TimeProps, TrackProps };
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ const Thumbnail = createComponent(ELEMENTS.thumbnail);
42
42
  const PaperPicker = createComponent(ELEMENTS.paperPicker);
43
43
  const ItemSettings = createComponent(ELEMENTS.itemSettings);
44
44
  const Page = createComponent(ELEMENTS.page);
45
+ const Book = createComponent(ELEMENTS.book);
45
46
  const Paper = createComponent(ELEMENTS.paper);
46
47
  const Document = createComponent(ELEMENTS.document);
47
48
  const Play = createComponent(ELEMENTS.play);
@@ -131,4 +132,4 @@ function useItemSettings(element, handlers) {
131
132
  return controller;
132
133
  }
133
134
  //#endregion
134
- export { Caption, Captions, Counter, Document, Fullscreen, ItemSettings, Mute, Notes, Page, Paper, PaperPicker, Play, Player, Rail, Stage, Step, Thumbnail, Time, Track, createComponent, useAuthoring, useDeckController, useDocumentAuthoring, useItemSettings };
135
+ export { Book, Caption, Captions, Counter, Document, Fullscreen, ItemSettings, Mute, Notes, Page, Paper, PaperPicker, Play, Player, Rail, Stage, Step, Thumbnail, Time, Track, createComponent, useAuthoring, useDeckController, useDocumentAuthoring, useItemSettings };
@@ -0,0 +1,8 @@
1
+ import { MarkdownEditorProps } from "./props.js";
2
+ import "@segnavia/frame/markdown-editor";
3
+ //#region src/markdown-editor.d.ts
4
+ export declare const MarkdownEditor: import("react").ForwardRefExoticComponent<MarkdownEditorProps & {
5
+ children?: import("react").ReactNode;
6
+ } & import("react").RefAttributes<import("@segnavia/frame/markdown-editor").SegnaviaMarkdownEditor>>;
7
+ //#endregion
8
+ export type { MarkdownEditorProps };
@@ -0,0 +1,7 @@
1
+ import { ELEMENTS } from "./elements.js";
2
+ import { createComponent } from "./index.js";
3
+ import "@segnavia/frame/markdown-editor";
4
+ //#region src/markdown-editor.ts
5
+ const MarkdownEditor = createComponent(ELEMENTS.markdownEditor);
6
+ //#endregion
7
+ export { MarkdownEditor };
package/dist/props.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { ItemSettingsLabels, SegnaviaItemSettings } from "@segnavia/frame/item-settings";
2
2
  import { PlayerControls, PlayerFit, SegnaviaPlayer } from "@segnavia/frame/player";
3
3
  import { HTMLAttributes, ReactNode } from "react";
4
- import { ControllerOptions, DeckController, FittedSize, HostTransition, PageInput, PrintInput, SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail, StageReserve } from "@segnavia/frame";
4
+ import { MarkdownEditorMode, MarkdownEditorStateDetail, MarkdownTitleSource, SegnaviaMarkdownEditor } from "@segnavia/frame/markdown-editor";
5
+ import { ControllerOptions, DeckController, FittedSize, HostTransition, PageInput, PrintInput, SegnaviaBook, SegnaviaDocument, SegnaviaPage, SegnaviaPaper, SegnaviaStage, SegnaviaThumbnail, StageReserve } from "@segnavia/frame";
5
6
  import { PaperPickerLabelOverrides, PlayerLabels, SegnaviaCaption, SegnaviaCaptions, SegnaviaCounter, SegnaviaFullscreen, SegnaviaMute, SegnaviaNotes, SegnaviaPaperPicker, SegnaviaPlay, SegnaviaRail, SegnaviaStep, SegnaviaTime, SegnaviaTrack } from "@segnavia/frame/controls";
6
7
  //#region src/props.d.ts
7
- type ElementProps<E extends HTMLElement> = Omit<HTMLAttributes<E>, 'children'> & {
8
+ type ElementProps<E> = Omit<HTMLAttributes<E>, 'children'> & {
8
9
  children?: ReactNode;
9
10
  };
10
11
  type CustomEventProp<D = unknown> = (event: CustomEvent<D>) => void;
@@ -19,6 +20,7 @@ export interface PlayerProps extends ElementProps<SegnaviaPlayer> {
19
20
  cspExtra?: string;
20
21
  dependencyOrigins?: SegnaviaPlayer['dependencyOrigins'];
21
22
  resolveSlide?: ControllerOptions['resolveSlide'];
23
+ placements?: SegnaviaPlayer['placements'];
22
24
  transition?: HostTransition;
23
25
  slots?: SegnaviaPlayer['slots'];
24
26
  src?: string;
@@ -67,6 +69,9 @@ export interface ThumbnailProps extends ElementProps<SegnaviaThumbnail> {
67
69
  slots?: SegnaviaThumbnail['slots'];
68
70
  motifs?: SegnaviaThumbnail['motifs'];
69
71
  fonts?: SegnaviaThumbnail['fonts'];
72
+ placements?: SegnaviaThumbnail['placements'];
73
+ designedCover?: SegnaviaThumbnail['designedCover'];
74
+ pageWidths?: SegnaviaThumbnail['pageWidths'];
70
75
  onSegnaviaThumbnailError?: CustomEventProp<unknown>;
71
76
  }
72
77
  export type PaperPickerProps = Omit<ElementProps<SegnaviaPaperPicker>, 'onChange'> & {
@@ -91,11 +96,55 @@ export interface PageProps extends ElementProps<SegnaviaPage> {
91
96
  slots?: SegnaviaPage['slots'];
92
97
  motifs?: SegnaviaPage['motifs'];
93
98
  fonts?: SegnaviaPage['fonts'];
99
+ alertLabels?: SegnaviaPage['alertLabels'];
100
+ placements?: SegnaviaPage['placements'];
101
+ pageWidths?: SegnaviaPage['pageWidths'];
94
102
  src?: string;
95
103
  label?: string;
96
104
  bounded?: boolean;
97
105
  unstyled?: boolean;
98
106
  }
107
+ export interface MarkdownEditorProps extends Omit<ElementProps<HTMLElement>, 'title'> {
108
+ markdown?: string;
109
+ mode?: MarkdownEditorMode;
110
+ title?: string | null;
111
+ titleSource?: MarkdownTitleSource;
112
+ dir?: string;
113
+ lang?: string;
114
+ unstyled?: boolean;
115
+ lockedFences?: Record<string, string>;
116
+ css?: string;
117
+ fonts?: SegnaviaMarkdownEditor['fonts'];
118
+ fontReferences?: SegnaviaMarkdownEditor['fontReferences'];
119
+ linkOrigins?: SegnaviaMarkdownEditor['linkOrigins'];
120
+ alertLabels?: SegnaviaMarkdownEditor['alertLabels'];
121
+ onSegnaviaMarkdownChange?: CustomEventProp<{
122
+ markdown: string;
123
+ }>;
124
+ onSegnaviaTitleChange?: CustomEventProp<{
125
+ title: string;
126
+ }>;
127
+ onSegnaviaModeChange?: CustomEventProp<{
128
+ mode: MarkdownEditorMode;
129
+ }>;
130
+ onSegnaviaSave?: CustomEventProp;
131
+ onSegnaviaEditorState?: CustomEventProp<MarkdownEditorStateDetail>;
132
+ onSegnaviaLinkRequest?: CustomEventProp<{
133
+ href: string | null;
134
+ }>;
135
+ }
136
+ export interface BookProps extends ElementProps<SegnaviaBook> {
137
+ view?: SegnaviaBook['view'];
138
+ fonts?: SegnaviaBook['fonts'];
139
+ motifs?: SegnaviaBook['motifs'];
140
+ placements?: SegnaviaBook['placements'];
141
+ pageWidths?: SegnaviaBook['pageWidths'];
142
+ dependencyOrigins?: SegnaviaBook['dependencyOrigins'];
143
+ src?: string;
144
+ spread?: boolean;
145
+ layout?: SegnaviaBook['layout'];
146
+ unstyled?: boolean;
147
+ }
99
148
  export interface PaperProps extends ElementProps<SegnaviaPaper> {
100
149
  paper?: number;
101
150
  side?: SegnaviaPaper['side'];
@@ -105,6 +154,8 @@ export interface PaperProps extends ElementProps<SegnaviaPaper> {
105
154
  slots?: SegnaviaPaper['slots'];
106
155
  motifs?: SegnaviaPaper['motifs'];
107
156
  fonts?: SegnaviaPaper['fonts'];
157
+ placements?: SegnaviaPaper['placements'];
158
+ pageWidths?: SegnaviaPaper['pageWidths'];
108
159
  unstyled?: boolean;
109
160
  }
110
161
  export interface DocumentProps extends ElementProps<SegnaviaDocument> {
@@ -116,6 +167,8 @@ export interface DocumentProps extends ElementProps<SegnaviaDocument> {
116
167
  slots?: SegnaviaDocument['slots'];
117
168
  motifs?: SegnaviaDocument['motifs'];
118
169
  fonts?: SegnaviaDocument['fonts'];
170
+ placements?: SegnaviaDocument['placements'];
171
+ pageWidths?: SegnaviaDocument['pageWidths'];
119
172
  unstyled?: boolean;
120
173
  }
121
174
  export type PlayProps = ControlProps<SegnaviaPlay>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@segnavia/react",
3
- "version": "0.38.0",
3
+ "version": "0.40.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -23,10 +23,15 @@
23
23
  "@segnavia/source": "./src/index.ts",
24
24
  "types": "./dist/index.d.ts",
25
25
  "default": "./dist/index.js"
26
+ },
27
+ "./markdown-editor": {
28
+ "@segnavia/source": "./src/markdown-editor.ts",
29
+ "types": "./dist/markdown-editor.d.ts",
30
+ "default": "./dist/markdown-editor.js"
26
31
  }
27
32
  },
28
33
  "dependencies": {
29
- "@segnavia/frame": "0.38.0"
34
+ "@segnavia/frame": "0.40.0"
30
35
  },
31
36
  "peerDependencies": {
32
37
  "react": "^18.0.0 || ^19.0.0",