@uxf/wysiwyg 0.4.1 → 0.4.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.
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { ElementTypeButtonProps } from "./types";
3
- export declare const ElementTypeButton: React.NamedExoticComponent<ElementTypeButtonProps>;
3
+ export declare const ElementTypeButton: React.NamedExoticComponent<ElementTypeButtonProps<string>>;
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from "react";
2
2
  import { SupportedBlockElementTypes, ToolbarButtonProps } from "../../../types";
3
- export interface ElementTypeButtonProps extends ToolbarButtonProps {
4
- name: SupportedBlockElementTypes;
3
+ export interface ElementTypeButtonProps<SUPPORTED_TYPES = string> extends ToolbarButtonProps {
4
+ name: SupportedBlockElementTypes<SUPPORTED_TYPES>;
5
5
  title: string;
6
6
  label: ReactElement;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { Editor } from "slate";
2
- import { EditorButtonElement, EditorImageElement, EditorLinkElement, EditorVideoElement, LeafMarks, SupportedBlockElementTypes } from "../../types";
2
+ import { EditorBlockElement, EditorButtonElement, EditorImageElement, EditorLinkElement, EditorVideoElement, LeafMarks, SupportedBlockElementTypes } from "../../types";
3
3
  export declare const isMarkActive: (editor: Editor, mark: LeafMarks) => boolean;
4
4
  export declare const toggleMark: (editor: Editor, format: LeafMarks) => void;
5
5
  export declare const isElementActive: (editor: Editor, format: SupportedBlockElementTypes) => boolean;
@@ -10,7 +10,7 @@ export declare const unwrapLink: (editor: Editor) => void;
10
10
  export declare const wrapLink: (editor: Editor, url: string, text?: string | undefined, target?: "_blank" | "_self" | undefined) => void;
11
11
  export declare const insertLink: (editor: Editor, url: string, text?: string | undefined, target?: "_blank" | "_self" | undefined) => void;
12
12
  export declare const removeLink: (editor: Editor) => void;
13
- export declare const createEmptyParagraph: () => import("../../types").SupportedBlockElements;
13
+ export declare const createEmptyParagraph: () => import("../../types").SupportedBlockElements<EditorBlockElement<string>>;
14
14
  export declare const insertImage: (editor: Editor, image: EditorImageElement, range?: import("slate").BaseRange | null | undefined) => void;
15
15
  export declare const insertButton: (editor: Editor, buttonText: string, buttonUrl: string, range?: import("slate").BaseRange | null | undefined) => void;
16
16
  export declare const isImageActive: (editor: Editor) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/wysiwyg",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "UXF Wysiwyg editor",
5
5
  "author": "Robin Dvorak <dvorak@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/wysiwyg",
package/types.d.ts CHANGED
@@ -22,10 +22,10 @@ export declare type FontStyle = "italic" | "bold" | "underline" | "code";
22
22
  export declare type LeafMarks = FontStyle;
23
23
  export declare type Headings = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "paragraph";
24
24
  export declare type Lists = "bulleted-list" | "list-item" | "numbered-list";
25
- export declare type SupportedBlockElementTypes = Headings | Lists | "block-quote" | "link" | "image" | "video" | "button";
25
+ export declare type SupportedBlockElementTypes<SUPPORTED_TYPES = string> = Headings | Lists | "block-quote" | "link" | "image" | "video" | "button" | SUPPORTED_TYPES;
26
26
  export declare type EditorBlockElementChildren = Array<SupportedBlockElements | EditorLeafElement>;
27
- export interface EditorBlockElement {
28
- type: SupportedBlockElementTypes;
27
+ export interface EditorBlockElement<SUPPORTED_ELEMENTS = SupportedBlockElementTypes> {
28
+ type: SUPPORTED_ELEMENTS;
29
29
  children: EditorBlockElementChildren;
30
30
  [key: string]: any;
31
31
  }
@@ -55,7 +55,7 @@ export interface EditorButtonElement extends EditorBlockElement {
55
55
  buttonUrl: string;
56
56
  buttonText: string;
57
57
  }
58
- export declare type SupportedBlockElements = EditorBlockElement | EditorImageElement | EditorLinkElement | EditorVideoElement | EditorButtonElement;
58
+ export declare type SupportedBlockElements<AdditionalElements = EditorBlockElement> = EditorBlockElement | EditorImageElement | EditorLinkElement | EditorVideoElement | EditorButtonElement | AdditionalElements;
59
59
  /**
60
60
  * Marks are either present and true or undefined
61
61
  */
@@ -67,25 +67,6 @@ export interface EditorLeafElement {
67
67
  code?: true;
68
68
  [key: string]: unknown;
69
69
  }
70
- export interface DisabledActions {
71
- h1?: boolean;
72
- h2?: boolean;
73
- h3?: boolean;
74
- h4?: boolean;
75
- h5?: boolean;
76
- h6?: boolean;
77
- bulletedList?: boolean;
78
- numberedList?: boolean;
79
- blockQuote?: boolean;
80
- bold?: boolean;
81
- code?: boolean;
82
- underline?: boolean;
83
- italic?: boolean;
84
- image?: boolean;
85
- link?: boolean;
86
- video?: boolean;
87
- button?: boolean;
88
- }
89
70
  export declare type WysiwygContent = Array<SupportedBlockElements>;
90
71
  export declare type UXFEditor = BaseEditor & ReactEditor;
91
72
  declare module "slate" {
@@ -95,12 +76,6 @@ declare module "slate" {
95
76
  Text: EditorLeafElement;
96
77
  }
97
78
  }
98
- export interface WysiwygToolbarProps {
99
- imageUploadHandler: ImageUploadHandler;
100
- imageNamespace: string;
101
- disabledActions?: DisabledActions;
102
- children: FC<ToolbarButtonProps>[];
103
- }
104
79
  export interface EditorElementPlugin {
105
80
  toolbarButton?: FC<ToolbarButtonProps>;
106
81
  editorElementRenderer: FC<EditorElementRendererProps>;