@hero-design/rn 8.109.2 → 8.110.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/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +6 -0
- package/es/index.js +2115 -1946
- package/lib/index.js +2115 -1946
- package/package.json +2 -2
- package/src/components/RichTextEditor/BaseRichTextEditor.tsx +17 -0
- package/src/components/RichTextEditor/EditorToolbar.tsx +18 -59
- package/src/components/RichTextEditor/__tests__/EditorToolbar.spec.tsx +31 -10
- package/src/components/RichTextEditor/__tests__/RichTextEditor.spec.tsx +22 -0
- package/src/components/RichTextEditor/__tests__/__snapshots__/RichTextEditor.spec.tsx.snap +8 -0
- package/src/components/RichTextEditor/constants.ts +4 -0
- package/src/components/RichTextEditor/hooks/useRichTextEditorEvents.ts +22 -3
- package/stats/8.109.2/rn-stats.html +1 -3
- package/stats/8.110.0/rn-stats.html +4844 -0
- package/types/components/RichTextEditor/constants.d.ts +6 -2
- package/types/components/RichTextEditor/hooks/useRichTextEditorEvents.d.ts +17 -2
- package/types/components/RichTextEditor/index.d.ts +54 -2
|
@@ -5,9 +5,13 @@ export declare enum ToolbarEvents {
|
|
|
5
5
|
BulletedList = "bulleted-list",
|
|
6
6
|
NumberedList = "numbered-list",
|
|
7
7
|
HeadingOne = "heading-one",
|
|
8
|
-
HeadingTwo = "heading-two"
|
|
8
|
+
HeadingTwo = "heading-two",
|
|
9
|
+
AddLink = "add-link",
|
|
10
|
+
ApplyLink = "link"
|
|
9
11
|
}
|
|
10
12
|
export declare enum EditorEvents {
|
|
11
13
|
EditorFocus = "editor-focus",
|
|
12
|
-
EditorBlur = "editor-blur"
|
|
14
|
+
EditorBlur = "editor-blur",
|
|
15
|
+
EditorChange = "editor-change",
|
|
16
|
+
UpsertLink = "request-upsert-link"
|
|
13
17
|
}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { EditorEvents, ToolbarEvents } from '../constants';
|
|
2
2
|
type SubscribableEvent = ToolbarEvents | EditorEvents;
|
|
3
|
+
type EventData = {
|
|
4
|
+
[EditorEvents.UpsertLink]: {
|
|
5
|
+
text: string;
|
|
6
|
+
url: string;
|
|
7
|
+
};
|
|
8
|
+
[EditorEvents.EditorChange]: {
|
|
9
|
+
value: string;
|
|
10
|
+
toolbarState: Record<string, boolean>;
|
|
11
|
+
};
|
|
12
|
+
[ToolbarEvents.ApplyLink]: {
|
|
13
|
+
text: string;
|
|
14
|
+
url: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
type EventDataByEventName<T> = T extends keyof EventData ? EventData[T] : void;
|
|
3
18
|
/**
|
|
4
19
|
* Hook to subscribe to events for a rich text editor
|
|
5
20
|
* @param editorName - The name of the editor to subscribe to events for
|
|
@@ -14,8 +29,8 @@ type SubscribableEvent = ToolbarEvents | EditorEvents;
|
|
|
14
29
|
declare const useRichTextEditorEvents: (editorName: string) => {
|
|
15
30
|
emitEvent: <TEventName extends ToolbarEvents>({ type, data, }: {
|
|
16
31
|
type: TEventName;
|
|
17
|
-
data: unknown;
|
|
32
|
+
data: TEventName extends keyof EventData ? EventData[TEventName] : unknown;
|
|
18
33
|
}) => void;
|
|
19
|
-
subscribeToEvents: <TEventName extends SubscribableEvent>(eventName: TEventName, onEvent: (data:
|
|
34
|
+
subscribeToEvents: <TEventName extends SubscribableEvent>(eventName: TEventName, onEvent: (data: EventDataByEventName<TEventName>) => void) => () => void;
|
|
20
35
|
};
|
|
21
36
|
export default useRichTextEditorEvents;
|
|
@@ -10,9 +10,61 @@ declare const _default: import("react").ForwardRefExoticComponent<Omit<RichTextE
|
|
|
10
10
|
useRichTextEditorEvents: (editorName: string) => {
|
|
11
11
|
emitEvent: <TEventName extends ToolbarEvents>({ type, data, }: {
|
|
12
12
|
type: TEventName;
|
|
13
|
-
data:
|
|
13
|
+
data: TEventName extends keyof {
|
|
14
|
+
"request-upsert-link": {
|
|
15
|
+
text: string;
|
|
16
|
+
url: string;
|
|
17
|
+
};
|
|
18
|
+
"editor-change": {
|
|
19
|
+
value: string;
|
|
20
|
+
toolbarState: Record<string, boolean>;
|
|
21
|
+
};
|
|
22
|
+
link: {
|
|
23
|
+
text: string;
|
|
24
|
+
url: string;
|
|
25
|
+
};
|
|
26
|
+
} ? {
|
|
27
|
+
"request-upsert-link": {
|
|
28
|
+
text: string;
|
|
29
|
+
url: string;
|
|
30
|
+
};
|
|
31
|
+
"editor-change": {
|
|
32
|
+
value: string;
|
|
33
|
+
toolbarState: Record<string, boolean>;
|
|
34
|
+
};
|
|
35
|
+
link: {
|
|
36
|
+
text: string;
|
|
37
|
+
url: string;
|
|
38
|
+
};
|
|
39
|
+
}[TEventName] : unknown;
|
|
14
40
|
}) => void;
|
|
15
|
-
subscribeToEvents: <TEventName extends ToolbarEvents | EditorEvents>(eventName: TEventName, onEvent: (data:
|
|
41
|
+
subscribeToEvents: <TEventName extends ToolbarEvents | EditorEvents>(eventName: TEventName, onEvent: (data: TEventName extends keyof {
|
|
42
|
+
"request-upsert-link": {
|
|
43
|
+
text: string;
|
|
44
|
+
url: string;
|
|
45
|
+
};
|
|
46
|
+
"editor-change": {
|
|
47
|
+
value: string;
|
|
48
|
+
toolbarState: Record<string, boolean>;
|
|
49
|
+
};
|
|
50
|
+
link: {
|
|
51
|
+
text: string;
|
|
52
|
+
url: string;
|
|
53
|
+
};
|
|
54
|
+
} ? {
|
|
55
|
+
"request-upsert-link": {
|
|
56
|
+
text: string;
|
|
57
|
+
url: string;
|
|
58
|
+
};
|
|
59
|
+
"editor-change": {
|
|
60
|
+
value: string;
|
|
61
|
+
toolbarState: Record<string, boolean>;
|
|
62
|
+
};
|
|
63
|
+
link: {
|
|
64
|
+
text: string;
|
|
65
|
+
url: string;
|
|
66
|
+
};
|
|
67
|
+
}[TEventName] : void) => void) => () => void;
|
|
16
68
|
};
|
|
17
69
|
Base: ({ autoFocus, name, placeholder, onChange, onCursorChange, style, testID, editorRef, value, onFocus, onBlur, }: import("./BaseRichTextEditor").BaseRichTextEditorProps) => import("react").ReactElement;
|
|
18
70
|
};
|