@prismicio/editor-fields 0.4.4 → 0.4.6

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.
Files changed (52) hide show
  1. package/dist/EditorConfig.d.ts +26 -13
  2. package/dist/fields/EmbedField/EmbedFooter.d.ts +8 -0
  3. package/dist/fields/GeoPointField/GeoPointField.d.ts +13 -0
  4. package/dist/fields/GeoPointField/geoPointFieldUtils.d.ts +6 -0
  5. package/dist/fields/GeoPointField/index.d.ts +1 -0
  6. package/dist/fields/ImageField/CropperDialog/CropperDialog.d.ts +0 -1
  7. package/dist/fields/ImageField/EmptyCardContent.d.ts +8 -0
  8. package/dist/fields/ImageField/ImageAltControl.d.ts +8 -0
  9. package/dist/fields/ImageField/ImageFieldCard.d.ts +16 -0
  10. package/dist/fields/ImageField/MediaPicker/MediaLibrary/MediaLibrary.d.ts +0 -5
  11. package/dist/fields/ImageField/MediaPicker/MediaLibrary/mediaLibraryData.d.ts +9 -15
  12. package/dist/fields/ImageField/MediaPicker/externalImage.d.ts +2 -1
  13. package/dist/fields/ImageField/MediaPicker/mediaPickerData.d.ts +1 -5
  14. package/dist/fields/LinkField/Documents/DocumentsModal.d.ts +9 -0
  15. package/dist/fields/LinkField/Documents/documentsData.d.ts +291 -0
  16. package/dist/fields/LinkField/Documents/filterData.d.ts +2 -0
  17. package/dist/fields/LinkField/LinkFieldActions.d.ts +2 -0
  18. package/dist/fields/LinkField/useLinkField.d.ts +27 -4
  19. package/dist/fields/RichTextField/BubbleMenu/BubbleMenu.d.ts +7 -0
  20. package/dist/fields/RichTextField/BubbleMenu/ExtraItems.d.ts +8 -0
  21. package/dist/fields/RichTextField/BubbleMenu/LinkItems.d.ts +6 -0
  22. package/dist/fields/RichTextField/BubbleMenu/MarkItems.d.ts +8 -0
  23. package/dist/fields/RichTextField/BubbleMenu/NodeItems.d.ts +8 -0
  24. package/dist/fields/RichTextField/BubbleMenu/index.d.ts +1 -0
  25. package/dist/fields/RichTextField/RichTextField.d.ts +1 -2
  26. package/dist/fields/RichTextField/coreExtensions/ListItem.d.ts +4 -4
  27. package/dist/fields/RichTextField/extensions/Bold/Bold.d.ts +3 -0
  28. package/dist/fields/RichTextField/extensions/BulletList/BulletList.d.ts +3 -0
  29. package/dist/fields/RichTextField/extensions/CodeBlock/CodeBlock.d.ts +3 -0
  30. package/dist/fields/RichTextField/extensions/Embed/EmbedExtension.d.ts +10 -0
  31. package/dist/fields/RichTextField/extensions/Embed/EmbedView.d.ts +13 -3
  32. package/dist/fields/RichTextField/extensions/Embed/useEmbedView.d.ts +12 -0
  33. package/dist/fields/RichTextField/extensions/Heading/Heading.d.ts +21 -0
  34. package/dist/fields/RichTextField/extensions/Image/ImageExtension.d.ts +10 -0
  35. package/dist/fields/RichTextField/extensions/Image/ImageView.d.ts +13 -0
  36. package/dist/fields/RichTextField/extensions/Italic/Italic.d.ts +3 -0
  37. package/dist/fields/RichTextField/extensions/Link/Link.d.ts +44 -0
  38. package/dist/fields/RichTextField/extensions/Link.d.ts +1 -43
  39. package/dist/fields/RichTextField/extensions/OrderedList/OrderedList.d.ts +3 -0
  40. package/dist/fields/RichTextField/extensions/Paragraph/Paragraph.d.ts +3 -0
  41. package/dist/fields/RichTextField/extensions/extensions.d.ts +16 -0
  42. package/dist/fields/RichTextField/extensions/index.d.ts +1 -14
  43. package/dist/fields/RichTextField/models/EditorExtension.d.ts +3 -1
  44. package/dist/fields/RichTextField/models/MenuItems.d.ts +5 -4
  45. package/dist/fields/RichTextField/models/RichTextConfig.d.ts +22 -6
  46. package/dist/fields/RichTextField/useEditor.d.ts +4 -0
  47. package/dist/fields/utils.d.ts +3 -2
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.es.js +20226 -18385
  50. package/dist/index.umd.js +40 -39
  51. package/dist/zones/RepeatableZoneEditor.d.ts +3 -4
  52. package/package.json +5 -6
@@ -1,6 +1,5 @@
1
1
  import type { RichTextContent } from "@prismicio/types-internal/lib/content";
2
2
  import type { RichText } from "@prismicio/types-internal/lib/customtypes";
3
- import { type FC } from "react";
4
3
  interface RichTextFieldProps {
5
4
  content: RichTextContent | undefined;
6
5
  field: RichText;
@@ -8,5 +7,5 @@ interface RichTextFieldProps {
8
7
  onContentChange: (content: RichTextContent | undefined) => void;
9
8
  readOnly: boolean;
10
9
  }
11
- export declare const RichTextField: FC<RichTextFieldProps>;
10
+ export declare function RichTextField(props: RichTextFieldProps): JSX.Element;
12
11
  export {};
@@ -4,7 +4,7 @@ declare const _default: {
4
4
  component: import("@tiptap/core").Node<import("@tiptap/extension-list-item").ListItemOptions, any>;
5
5
  converter: {
6
6
  fromPrismic(schema: Schema<any, any>): (list: {
7
- type: "em" | "embed" | "strong" | "image" | "paragraph" | "list-item" | "o-list-item" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "preformatted" | "hyperlink" | "rtl";
7
+ type: "em" | "embed" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
8
8
  content: {
9
9
  text: string;
10
10
  } & {
@@ -13,7 +13,7 @@ declare const _default: {
13
13
  } & {
14
14
  start: number;
15
15
  end: number;
16
- type: "label" | "em" | "embed" | "strong" | "image" | "paragraph" | "list-item" | "o-list-item" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "preformatted" | "hyperlink" | "rtl";
16
+ type: "em" | "embed" | "label" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
17
17
  })[] | undefined;
18
18
  };
19
19
  } & {
@@ -21,7 +21,7 @@ declare const _default: {
21
21
  direction?: string | undefined;
22
22
  }) => ProsemirrorNode | undefined;
23
23
  toPrismic(node: ProsemirrorNode, nodeType: "list-item" | "o-list-item"): readonly ({
24
- type: "em" | "embed" | "strong" | "image" | "paragraph" | "list-item" | "o-list-item" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "preformatted" | "hyperlink" | "rtl";
24
+ type: "em" | "embed" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
25
25
  content: {
26
26
  text: string;
27
27
  } & {
@@ -30,7 +30,7 @@ declare const _default: {
30
30
  } & {
31
31
  start: number;
32
32
  end: number;
33
- type: "label" | "em" | "embed" | "strong" | "image" | "paragraph" | "list-item" | "o-list-item" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "preformatted" | "hyperlink" | "rtl";
33
+ type: "em" | "embed" | "label" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
34
34
  })[] | undefined;
35
35
  };
36
36
  } & {
@@ -0,0 +1,3 @@
1
+ import { MarkExtension } from "../../models/EditorExtension";
2
+ declare const EditorBold: MarkExtension<unknown>;
3
+ export default EditorBold;
@@ -0,0 +1,3 @@
1
+ import { ListExtension } from "../../models";
2
+ declare const EditorBulletList: ListExtension;
3
+ export default EditorBulletList;
@@ -0,0 +1,3 @@
1
+ import { TextExtension } from "../../models";
2
+ declare const EditorCodeBlock: TextExtension;
3
+ export default EditorCodeBlock;
@@ -0,0 +1,10 @@
1
+ import { EmbedExtension } from "../../models";
2
+ declare module "@tiptap/core" {
3
+ interface Commands<ReturnType> {
4
+ embed: {
5
+ setEmbed: () => ReturnType;
6
+ };
7
+ }
8
+ }
9
+ declare const _default: EmbedExtension;
10
+ export default _default;
@@ -1,3 +1,13 @@
1
- import { type FC } from "react";
2
- declare const EmbedView: FC;
3
- export default EmbedView;
1
+ import type { EmbedContent } from "@prismicio/types-internal/lib/content";
2
+ import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
3
+ import { NodeViewProps } from "@tiptap/react";
4
+ interface EmbedNode extends ProseMirrorNode {
5
+ attrs: {
6
+ content: EmbedContent | undefined;
7
+ };
8
+ }
9
+ export interface EmbedViewProps extends NodeViewProps {
10
+ node: EmbedNode;
11
+ }
12
+ export declare function EmbedView(props: EmbedViewProps): JSX.Element;
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { EmbedContent } from "@prismicio/types-internal/lib/content";
2
+ import { KeyboardEvent, RefObject } from "react";
3
+ import type { EmbedViewProps } from "./EmbedView";
4
+ export declare function useEmbedView(props: EmbedViewProps, inputRef: RefObject<HTMLInputElement>, containerRef: RefObject<HTMLDivElement>): {
5
+ inputRef: RefObject<HTMLInputElement>;
6
+ containerRef: RefObject<HTMLDivElement>;
7
+ onKeyDown: (event: KeyboardEvent<Element>) => void;
8
+ url: string;
9
+ urlChanged: (url: string) => void;
10
+ onContentChange: (content?: EmbedContent) => void;
11
+ debouncedUrl: string;
12
+ };
@@ -0,0 +1,21 @@
1
+ import { RichTextNodeType } from "@prismicio/types-internal/lib/customtypes";
2
+ import { type Level as TTLevel } from "@tiptap/extension-heading";
3
+ import { type ReadonlyNonEmptyArray } from "fp-ts/ReadonlyNonEmptyArray";
4
+ import type { Node as ProsemirrorNode } from "prosemirror-model";
5
+ import { HeadingTextExtension } from "../../models";
6
+ export declare type Level = TTLevel;
7
+ interface HeadingName {
8
+ fullName: RichTextNodeType;
9
+ level: Level;
10
+ }
11
+ export declare const HeadingName: {
12
+ byLevel(level: Level): RichTextNodeType;
13
+ default(level: Level): HeadingName;
14
+ fromPrismic(headingName: string, levels?: ReadonlyNonEmptyArray<Level>): HeadingName | undefined;
15
+ fromProsemirror(nodeAttributes: ProsemirrorNode["attrs"], levels: ReadonlyNonEmptyArray<Level>): HeadingName | undefined;
16
+ };
17
+ declare const _default: {
18
+ name: string;
19
+ build: (nodeTypes?: Set<RichTextNodeType>) => HeadingTextExtension | undefined;
20
+ };
21
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { ImageExtension } from "../../models";
2
+ declare module "@tiptap/core" {
3
+ interface Commands<ReturnType> {
4
+ image: {
5
+ setImage: () => ReturnType;
6
+ };
7
+ }
8
+ }
9
+ declare const _default: ImageExtension;
10
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { ImageContent } from "@prismicio/types-internal/lib/content";
2
+ import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
3
+ import { NodeViewProps } from "@tiptap/react";
4
+ interface ImageNode extends ProseMirrorNode {
5
+ attrs: {
6
+ content: ImageContent | undefined;
7
+ };
8
+ }
9
+ export interface ImageViewProps extends NodeViewProps {
10
+ node: ImageNode;
11
+ }
12
+ export declare function ImageView(props: ImageViewProps): JSX.Element;
13
+ export {};
@@ -0,0 +1,3 @@
1
+ import { MarkExtension } from "../../models/EditorExtension";
2
+ declare const EditorItalic: MarkExtension<unknown>;
3
+ export default EditorItalic;
@@ -0,0 +1,44 @@
1
+ import { MarkExtension } from "../../models";
2
+ declare const EditorLink: MarkExtension<{
3
+ __TYPE__: "LinkContent";
4
+ value: ({
5
+ __TYPE__: "ImageLink";
6
+ } & {
7
+ id: string;
8
+ url: string;
9
+ height: string;
10
+ width: string;
11
+ size: string;
12
+ name: string;
13
+ kind: string;
14
+ } & {
15
+ date?: string | null | undefined;
16
+ }) | ({
17
+ id: string;
18
+ url: string;
19
+ name: string;
20
+ kind: string;
21
+ size: string;
22
+ } & {
23
+ date?: string | null | undefined;
24
+ } & {
25
+ __TYPE__: "FileLink";
26
+ } & {
27
+ size?: string | undefined;
28
+ }) | ({
29
+ __TYPE__: "DocumentLink";
30
+ } & {
31
+ id: string;
32
+ }) | ({
33
+ __TYPE__: "ExternalLink";
34
+ } & {
35
+ url: string;
36
+ } & {
37
+ kind?: "web" | undefined;
38
+ target?: string | null | undefined;
39
+ preview?: {
40
+ title?: string | undefined;
41
+ } | null | undefined;
42
+ });
43
+ }>;
44
+ export default EditorLink;
@@ -1,44 +1,2 @@
1
1
  import { MarkExtension } from "../models";
2
- declare const EditorLink: MarkExtension<{
3
- __TYPE__: "LinkContent";
4
- value: ({
5
- __TYPE__: "ImageLink";
6
- } & {
7
- id: string;
8
- url: string;
9
- height: string;
10
- width: string;
11
- size: string;
12
- name: string;
13
- kind: string;
14
- } & {
15
- date?: string | null | undefined;
16
- }) | ({
17
- id: string;
18
- url: string;
19
- name: string;
20
- kind: string;
21
- size: string;
22
- } & {
23
- date?: string | null | undefined;
24
- } & {
25
- __TYPE__: "FileLink";
26
- } & {
27
- size?: string | undefined;
28
- }) | ({
29
- __TYPE__: "DocumentLink";
30
- } & {
31
- id: string;
32
- }) | ({
33
- __TYPE__: "ExternalLink";
34
- } & {
35
- url: string;
36
- } & {
37
- kind?: "web" | undefined;
38
- target?: string | null | undefined;
39
- preview?: {
40
- title?: string | undefined;
41
- } | null | undefined;
42
- });
43
- }>;
44
- export default EditorLink;
2
+ export declare const Link: MarkExtension<unknown>;
@@ -0,0 +1,3 @@
1
+ import { ListExtension } from "../../models";
2
+ declare const EditorOrderedList: ListExtension;
3
+ export default EditorOrderedList;
@@ -0,0 +1,3 @@
1
+ import { TextExtension } from "../../models";
2
+ declare const EditorParagraph: TextExtension;
3
+ export default EditorParagraph;
@@ -0,0 +1,16 @@
1
+ import type { RichTextNodeType } from "@prismicio/types-internal/lib/customtypes";
2
+ import type { WidgetExtension } from "../models";
3
+ import { default as Bold } from "./Bold/Bold";
4
+ import { default as BulletList } from "./BulletList/BulletList";
5
+ import { default as CodeBlock } from "./CodeBlock/CodeBlock";
6
+ import { default as Embed } from "./Embed/EmbedExtension";
7
+ import { default as Heading } from "./Heading/Heading";
8
+ import { default as Image } from "./Image/ImageExtension";
9
+ import { default as Italic } from "./Italic/Italic";
10
+ import { Link } from "./Link";
11
+ import { default as OrderedList } from "./OrderedList/OrderedList";
12
+ import { default as Paragraph } from "./Paragraph/Paragraph";
13
+ export declare const DefaultTextExtension: import("../models").TextExtension;
14
+ export declare const MarkExtensions: import("../models").MarkExtension<unknown>[];
15
+ export declare function getAllExtensions(nodeTypes?: Set<RichTextNodeType>): WidgetExtension[];
16
+ export { Bold, BulletList, CodeBlock, Embed, Heading, Image, Italic, Link, OrderedList, Paragraph };
@@ -1,14 +1 @@
1
- import type { RichTextNodeType } from "@prismicio/types-internal/lib/customtypes";
2
- import type { WidgetExtension } from "../models";
3
- import { default as Bold } from "./Bold";
4
- import { default as BulletList } from "./BulletList";
5
- import { default as CodeBlock } from "./CodeBlock";
6
- import { default as Embed } from "./Embed";
7
- import { default as Heading } from "./Heading";
8
- import { default as Italic } from "./Italic";
9
- import { default as OrderedList } from "./OrderedList";
10
- import { default as Paragraph } from "./Paragraph";
11
- export declare const DefaultExtension: import("../models").TextExtension;
12
- export declare const MarkExtensions: import("../models").MarkExtension<unknown>[];
13
- export declare const Extensions: (nodeTypes?: Set<RichTextNodeType>) => readonly WidgetExtension[];
14
- export { Bold, BulletList, CodeBlock, Embed, Heading, Italic, OrderedList, Paragraph };
1
+ export * from "./extensions";
@@ -4,7 +4,7 @@ import type { Mark, Node } from "@tiptap/core";
4
4
  import type { NonEmptyArray } from "fp-ts/NonEmptyArray";
5
5
  import type { ReadonlyNonEmptyArray } from "fp-ts/ReadonlyNonEmptyArray";
6
6
  import type { Mark as ProsemirrorMark, Node as ProsemirrorNode, Schema } from "prosemirror-model";
7
- import type { Level } from "../extensions/Heading";
7
+ import type { Level } from "../extensions/Heading/Heading";
8
8
  export declare enum ExtensionType {
9
9
  Document = "document",
10
10
  Mark = "mark",
@@ -63,6 +63,7 @@ export declare class TextExtension {
63
63
  toPrismic(elmt: ProsemirrorNode): TextBlock | readonly TextBlock[] | undefined;
64
64
  }, placeholder?: ExtensionPlaceholder, lockedFormat?: boolean);
65
65
  }
66
+ export declare function isTextExtension(extension: WidgetExtension): extension is TextExtension;
66
67
  export declare class EmbedExtension {
67
68
  readonly richTextNodeTypes: NonEmptyArray<RichTextNodeType>;
68
69
  readonly name: string;
@@ -106,3 +107,4 @@ export declare class ListExtension extends TextExtension {
106
107
  toPrismic(elmt: ProsemirrorNode): readonly TextBlock[];
107
108
  });
108
109
  }
110
+ export declare function isListExtension(extension: WidgetExtension): extension is ListExtension;
@@ -1,9 +1,9 @@
1
+ import type { IconName } from "@prismicio/editor-ui";
1
2
  import { RichTextNodeType } from "@prismicio/types-internal/lib/customtypes";
2
- import type { Editor, Range } from "@tiptap/core";
3
- import type { ReactNode } from "react";
3
+ import type { ChainedCommands, Editor, Range } from "@tiptap/core";
4
4
  export declare type MenuItem = Readonly<{
5
5
  nodeType: RichTextNodeType;
6
- icon: ReactNode;
6
+ icon: IconName;
7
7
  isActive: (editor: Editor) => boolean;
8
8
  runCommands: (editor: Editor, options?: RunCommandsOptions) => boolean;
9
9
  } & ({
@@ -20,5 +20,6 @@ declare type RunCommandsOptions = Readonly<{
20
20
  export declare const ALL_NODE_ITEMS: readonly MenuItem[];
21
21
  export declare const ALL_MARK_ITEMS: readonly MenuItem[];
22
22
  export declare const ALL_EXTRA_ITEMS: readonly MenuItem[];
23
- export declare function filterMenuItems(menuItems: readonly MenuItem[], nodeTypes: readonly string[]): readonly MenuItem[];
23
+ export declare function createRunCommandsFn(chainCommands: (commands: ChainedCommands, editor: Editor) => ChainedCommands): (editor: Editor, options?: RunCommandsOptions) => boolean;
24
+ export declare function filterMenuItems(menuItems: readonly MenuItem[], nodeTypes: readonly string[]): MenuItem[];
24
25
  export {};
@@ -1,10 +1,26 @@
1
- import type { TextBlock } from "@prismicio/types-internal/lib/content";
2
1
  import { RichTextConfig } from "@prismicio/types-internal/lib/customtypes";
3
2
  import type { Node as ProsemirrorNode, Schema } from "prosemirror-model";
4
3
  import { type WidgetExtension } from "./EditorExtension";
5
- declare type TextConverter = (text: TextBlock) => ProsemirrorNode | undefined;
6
- export declare function composeExtensions(config: RichTextConfig | undefined): {
7
- defaultTextConverter: ((schema: Schema<any, any>) => TextConverter) | undefined;
8
- extensions: readonly WidgetExtension[];
4
+ export declare function composeExtensions(config?: RichTextConfig): {
5
+ extensions: WidgetExtension[];
6
+ defaultTextConverter: undefined;
7
+ } | {
8
+ extensions: WidgetExtension[];
9
+ defaultTextConverter: (schema: Schema<any, any>) => (block: {
10
+ type: "em" | "embed" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
11
+ content: {
12
+ text: string;
13
+ } & {
14
+ spans?: ({
15
+ data?: unknown;
16
+ } & {
17
+ start: number;
18
+ end: number;
19
+ type: "em" | "embed" | "label" | "strong" | "image" | "heading1" | "heading2" | "heading3" | "heading4" | "heading5" | "heading6" | "paragraph" | "preformatted" | "hyperlink" | "rtl" | "list-item" | "o-list-item";
20
+ })[] | undefined;
21
+ };
22
+ } & {
23
+ label?: string | undefined;
24
+ direction?: string | undefined;
25
+ }) => ProsemirrorNode | undefined;
9
26
  };
10
- export {};
@@ -0,0 +1,4 @@
1
+ import type { EditorOptions } from "@tiptap/core";
2
+ import { Editor } from "@tiptap/react";
3
+ import { DependencyList } from "react";
4
+ export declare function useEditor(options?: Partial<EditorOptions>, deps?: DependencyList): Editor | undefined;
@@ -1,7 +1,8 @@
1
- import type { BooleanField, NestableWidget, Separator, UID } from "@prismicio/types-internal/lib/customtypes";
1
+ import type { BooleanField, GeoPoint, NestableWidget, Separator, UID } from "@prismicio/types-internal/lib/customtypes";
2
2
  declare type Widgets = NestableWidget | UID;
3
- declare type Field = Exclude<Widgets, Separator>;
3
+ declare type Field = Exclude<Widgets, Separator | GeoPoint>;
4
4
  export declare function getFieldLabel(field: Widgets): string;
5
+ export declare const DEFAULT_PLACEHOLDER = "...";
5
6
  export declare function getFieldPlaceholder(field: Exclude<Field, BooleanField>): string;
6
7
  export declare function getFieldPlaceholder(field: BooleanField, value: boolean): string;
7
8
  export {};
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { DocumentEditor } from "./DocumentEditor";
2
- export type { EditorConfig } from "./EditorConfig";
2
+ export { type EditorConfig, suppressConfigErrors, throwConfigError } from "./EditorConfig";
3
3
  export type { Selection } from "./Selection";
4
4
  export { SharedSliceEditor } from "./slices/SharedSliceEditor";