@etrepum/lexical-builder 0.0.4 → 0.0.6-nightly.20240603.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/AutoFocusPlan.d.ts +12 -0
- package/dist/AutoFocusPlan.d.ts.map +1 -0
- package/dist/DragonPlan.d.ts +9 -0
- package/dist/DragonPlan.d.ts.map +1 -0
- package/dist/HistoryPlan.d.ts +8 -0
- package/dist/HistoryPlan.d.ts.map +1 -0
- package/dist/LexicalBuilder.d.ts +20 -0
- package/dist/LexicalBuilder.d.ts.map +1 -0
- package/dist/PlainTextPlan.d.ts +2 -0
- package/dist/PlainTextPlan.d.ts.map +1 -0
- package/dist/PlanRep.d.ts +15 -0
- package/dist/PlanRep.d.ts.map +1 -0
- package/dist/ReactPlan.d.ts +40 -0
- package/dist/ReactPlan.d.ts.map +1 -0
- package/dist/ReactPluginHostPlan.d.ts +23 -0
- package/dist/ReactPluginHostPlan.d.ts.map +1 -0
- package/dist/RichTextPlan.d.ts +9 -0
- package/dist/RichTextPlan.d.ts.map +1 -0
- package/dist/__tests__/unit/LexicalBuilder.test.d.ts +9 -0
- package/dist/__tests__/unit/LexicalBuilder.test.d.ts.map +1 -0
- package/dist/deepThemeMergeInPlace.d.ts +9 -0
- package/dist/deepThemeMergeInPlace.d.ts.map +1 -0
- package/dist/definePlan.d.ts +6 -0
- package/dist/definePlan.d.ts.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +696 -0
- package/dist/index.js.map +1 -0
- package/dist/initializeEditor.d.ts +5 -0
- package/dist/initializeEditor.d.ts.map +1 -0
- package/dist/registerShowPlaceholder.d.ts +6 -0
- package/dist/registerShowPlaceholder.d.ts.map +1 -0
- package/dist/registerSubscription.d.ts +11 -0
- package/dist/registerSubscription.d.ts.map +1 -0
- package/dist/safeCast.d.ts +9 -0
- package/dist/safeCast.d.ts.map +1 -0
- package/dist/shallowMergeConfig.d.ts +4 -0
- package/dist/shallowMergeConfig.d.ts.map +1 -0
- package/dist/shared/invariant.d.ts +9 -0
- package/dist/shared/invariant.d.ts.map +1 -0
- package/dist/shared/useLayoutEffect.d.ts +5 -0
- package/dist/shared/useLayoutEffect.d.ts.map +1 -0
- package/dist/types.d.ts +111 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/useReactDecorators.d.ts +10 -0
- package/dist/useReactDecorators.d.ts.map +1 -0
- package/dist/useRegisterSubscription.d.ts +4 -0
- package/dist/useRegisterSubscription.d.ts.map +1 -0
- package/package.json +7 -10
- package/dist/index.d.mts +0 -248
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs +0 -31656
package/dist/index.d.mts
DELETED
@@ -1,248 +0,0 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
/// <reference types="react-dom" />
|
3
|
-
/**
|
4
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
5
|
-
*
|
6
|
-
* This source code is licensed under the MIT license found in the
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
8
|
-
*
|
9
|
-
*/
|
10
|
-
import { CreateEditorArgs, EditorState, LexicalEditor } from "lexical";
|
11
|
-
/**
|
12
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
13
|
-
*
|
14
|
-
* This source code is licensed under the MIT license found in the
|
15
|
-
* LICENSE file in the root directory of this source tree.
|
16
|
-
*
|
17
|
-
*/
|
18
|
-
import { HistoryState } from "@lexical/history";
|
19
|
-
import { LexicalComposerContextWithEditor } from "@lexical/react/LexicalComposerContext";
|
20
|
-
import * as React from "react";
|
21
|
-
import { Root } from "react-dom/client";
|
22
|
-
interface AutoFocusConfig {
|
23
|
-
defaultSelection?: "rootStart" | "rootEnd";
|
24
|
-
}
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
26
|
-
type AnyLexicalPlan = LexicalPlan<any, string>;
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
28
|
-
type AnyLexicalPlanArgument = LexicalPlanArgument<any, string>;
|
29
|
-
type PlanConfigBase = Record<never, never>;
|
30
|
-
type NormalizedLexicalPlanArgument<Config extends PlanConfigBase, Name extends string> = [
|
31
|
-
LexicalPlan<Config, Name>,
|
32
|
-
Config,
|
33
|
-
...Config[]
|
34
|
-
];
|
35
|
-
interface LexicalPlanRegistry {
|
36
|
-
}
|
37
|
-
interface RegisterState {
|
38
|
-
signal: AbortSignal;
|
39
|
-
getPeerConfig<Name extends keyof LexicalPlanRegistry>(name: string): undefined | LexicalPlanConfig<LexicalPlanRegistry[Name]>;
|
40
|
-
getDependencyConfig<Dependency extends AnyLexicalPlan>(dep: Dependency): LexicalPlanConfig<Dependency>;
|
41
|
-
}
|
42
|
-
type LexicalPlanArgument<Config extends PlanConfigBase, Name extends string> = LexicalPlan<Config, Name> | NormalizedLexicalPlanArgument<Config, Name>;
|
43
|
-
interface LexicalPlan<Config extends PlanConfigBase = PlanConfigBase, Name extends string = string> {
|
44
|
-
/** The name of the Plan, must be unique */
|
45
|
-
name: Name;
|
46
|
-
/** Plan names that must not be loaded with this Plan */
|
47
|
-
conflictsWith?: string[];
|
48
|
-
/** Other Plans that this Plan depends on, can also be used to configure them */
|
49
|
-
dependencies?: AnyLexicalPlanArgument[];
|
50
|
-
/**
|
51
|
-
* Other Plans, by name, that this Plan can optionally depend on or
|
52
|
-
* configure, if they are directly depended on by another Plan
|
53
|
-
*/
|
54
|
-
peerDependencies?: {
|
55
|
-
[k in keyof LexicalPlanRegistry]?: LexicalPeerConfig<k>;
|
56
|
-
};
|
57
|
-
/**
|
58
|
-
* @internal Disable root element events (for internal Meta use)
|
59
|
-
*/
|
60
|
-
disableEvents?: CreateEditorArgs["disableEvents"];
|
61
|
-
/**
|
62
|
-
* Used when this editor is nested inside of another editor
|
63
|
-
*/
|
64
|
-
parentEditor?: CreateEditorArgs["parentEditor"];
|
65
|
-
/**
|
66
|
-
* The namespace of this Editor. If two editors share the same
|
67
|
-
* namespace, JSON will be the clipboard interchange format.
|
68
|
-
* Otherwise HTML will be used.
|
69
|
-
*/
|
70
|
-
namespace?: CreateEditorArgs["namespace"];
|
71
|
-
/**
|
72
|
-
* The nodes that this Plan adds to the Editor configuration, will be merged with other Plans
|
73
|
-
*/
|
74
|
-
nodes?: CreateEditorArgs["nodes"];
|
75
|
-
/**
|
76
|
-
* EditorThemeClasses that will be deep merged with other Plans
|
77
|
-
*/
|
78
|
-
theme?: CreateEditorArgs["theme"];
|
79
|
-
/**
|
80
|
-
* Overrides for HTML serialization (exportDOM) and
|
81
|
-
* deserialization (importDOM) that does not require subclassing and node
|
82
|
-
* replacement
|
83
|
-
*/
|
84
|
-
html?: CreateEditorArgs["html"];
|
85
|
-
/**
|
86
|
-
* Whether the initial state of the editor is editable or not
|
87
|
-
*/
|
88
|
-
editable?: CreateEditorArgs["editable"];
|
89
|
-
/**
|
90
|
-
* The editor will catch errors that happen during updates and
|
91
|
-
* reconciliation and call this. It defaults to
|
92
|
-
* `(error) => console.error(error)`.
|
93
|
-
*
|
94
|
-
* @param error The Error object
|
95
|
-
* @param editor The editor that this error came from
|
96
|
-
*/
|
97
|
-
onError?: (error: Error, editor: LexicalEditor) => void;
|
98
|
-
/**
|
99
|
-
* The initial EditorState as a JSON string, an EditorState, or a function
|
100
|
-
* to update the editor once.
|
101
|
-
*/
|
102
|
-
$initialEditorState?: InitialEditorStateType;
|
103
|
-
/**
|
104
|
-
* The default configuration specific to this Plan
|
105
|
-
*/
|
106
|
-
config: Config;
|
107
|
-
/**
|
108
|
-
* By default, Config is shallow merged `{...a, ...b}`, if your Plan
|
109
|
-
* requires other strategies (such as concatenating an Array) you can
|
110
|
-
* implement it here.
|
111
|
-
*
|
112
|
-
* @param a The current configuration
|
113
|
-
* @param b The partial configuration to merge
|
114
|
-
* @returns The merged configuration
|
115
|
-
*/
|
116
|
-
mergeConfig?: (a: Config, b?: Partial<Config>) => Config;
|
117
|
-
/**
|
118
|
-
* Add behavior to the editor (register transforms, listeners, etc.) after
|
119
|
-
* the Editor is created.
|
120
|
-
*
|
121
|
-
* @param editor The editor this Plan is being registered with
|
122
|
-
* @param config The merged configuration specific to this Plan
|
123
|
-
* @param state An object containing an AbortSignal that can be
|
124
|
-
* used, and methods for accessing the merged configuration of
|
125
|
-
* dependencies and peerDependencies
|
126
|
-
* @returns A clean-up function
|
127
|
-
*/
|
128
|
-
register?: (editor: LexicalEditor, config: Config, state: RegisterState) => () => void;
|
129
|
-
}
|
130
|
-
type LexicalPeerConfig<Name extends keyof LexicalPlanRegistry | string> = [
|
131
|
-
Name
|
132
|
-
] extends [
|
133
|
-
keyof LexicalPlanRegistry
|
134
|
-
] ? LexicalPlanRegistry[Name] : PlanConfigBase;
|
135
|
-
type LexicalPlanConfig<Plan extends AnyLexicalPlan> = Plan["config"];
|
136
|
-
type LexicalPlanName<Plan extends AnyLexicalPlan> = Plan["name"];
|
137
|
-
interface EditorHandle {
|
138
|
-
editor: LexicalEditor;
|
139
|
-
dispose: () => void;
|
140
|
-
}
|
141
|
-
type InitialEditorStateType = null | string | EditorState | ((editor: LexicalEditor) => void);
|
142
|
-
declare const AutoFocusPlan: LexicalPlan<AutoFocusConfig, "@etrepum/lexical-builder/AutoFocusPlan">;
|
143
|
-
declare function definePlan<Config extends PlanConfigBase, Name extends string>(plan: LexicalPlan<Config, Name>): LexicalPlan<Config, Name>;
|
144
|
-
declare function configPlan<Plan extends AnyLexicalPlan>(plan: Plan, config: Partial<LexicalPlanConfig<Plan>>): [
|
145
|
-
Plan,
|
146
|
-
Partial<LexicalPlanConfig<Plan>>
|
147
|
-
];
|
148
|
-
declare const DragonPlan: LexicalPlan<{}, "@lexical/dragon">;
|
149
|
-
interface HistoryConfig {
|
150
|
-
delay: number;
|
151
|
-
createInitialHistoryState: () => HistoryState;
|
152
|
-
}
|
153
|
-
declare const HistoryPlan: LexicalPlan<HistoryConfig, "@etrepum/lexical-builder/HistoryPlan">;
|
154
|
-
declare class PlanRep<Plan extends AnyLexicalPlan> {
|
155
|
-
builder: LexicalBuilder;
|
156
|
-
configs: Set<LexicalPlanConfig<Plan>>;
|
157
|
-
_config?: LexicalPlanConfig<Plan>;
|
158
|
-
plan: Plan;
|
159
|
-
constructor(builder: LexicalBuilder, plan: Plan);
|
160
|
-
getPeerConfig<Name extends keyof LexicalPlanRegistry>(name: string): undefined | LexicalPlanConfig<LexicalPlanRegistry[Name]>;
|
161
|
-
getDependencyConfig<Dependency extends AnyLexicalPlan>(dep: Dependency): LexicalPlanConfig<Dependency>;
|
162
|
-
getConfig(): LexicalPlanConfig<Plan>;
|
163
|
-
}
|
164
|
-
/** @experimental */
|
165
|
-
declare class LexicalBuilder {
|
166
|
-
phases: Map<AnyLexicalPlan, PlanRep<AnyLexicalPlan>>[];
|
167
|
-
planMap: Map<AnyLexicalPlan, [
|
168
|
-
number,
|
169
|
-
PlanRep<AnyLexicalPlan>
|
170
|
-
]>;
|
171
|
-
planNameMap: Map<string, PlanRep<AnyLexicalPlan>>;
|
172
|
-
conflicts: Map<string, string>;
|
173
|
-
constructor();
|
174
|
-
static fromPlans(...args: AnyLexicalPlanArgument[]): LexicalBuilder;
|
175
|
-
buildEditor(): EditorHandle;
|
176
|
-
addPlan(arg: AnyLexicalPlanArgument): number;
|
177
|
-
sortedPlanReps(): Generator<PlanRep<AnyLexicalPlan>, void, undefined>;
|
178
|
-
registerEditor(editor: LexicalEditor): () => void;
|
179
|
-
buildCreateEditorArgs(): Pick<CreateEditorArgs, "disableEvents" | "namespace" | "nodes" | "theme" | "html" | "editable"> & Pick<AnyLexicalPlan, "onError" | "$initialEditorState">;
|
180
|
-
}
|
181
|
-
declare const PlainTextPlan: LexicalPlan<{}, "@lexical/plain-text">;
|
182
|
-
type ErrorBoundaryProps = {
|
183
|
-
children: JSX.Element;
|
184
|
-
onError: (error: Error) => void;
|
185
|
-
};
|
186
|
-
type ErrorBoundaryType = React.ComponentClass<ErrorBoundaryProps> | React.FC<ErrorBoundaryProps>;
|
187
|
-
interface EditorChildrenComponentProps {
|
188
|
-
context: LexicalComposerContextWithEditor;
|
189
|
-
placeholder: null | JSX.Element;
|
190
|
-
contentEditable: null | JSX.Element;
|
191
|
-
children?: React.ReactNode;
|
192
|
-
}
|
193
|
-
type EditorChildrenComponentType = (props: EditorChildrenComponentProps) => JSX.Element | null;
|
194
|
-
interface DecoratorComponentProps {
|
195
|
-
context: LexicalComposerContextWithEditor;
|
196
|
-
}
|
197
|
-
type DecoratorComponentType = JSX.Element | ((props: DecoratorComponentProps) => JSX.Element | null);
|
198
|
-
interface EditorComponentProps {
|
199
|
-
EditorChildrenComponent: EditorChildrenComponentType;
|
200
|
-
children?: React.ReactNode;
|
201
|
-
placeholder: ((isEditable: boolean) => null | JSX.Element) | null | JSX.Element;
|
202
|
-
contentEditable: JSX.Element | null;
|
203
|
-
ErrorBoundary: ErrorBoundaryType;
|
204
|
-
}
|
205
|
-
type EditorComponentType = (props: Partial<EditorComponentProps>) => JSX.Element;
|
206
|
-
interface ReactConfig {
|
207
|
-
contentEditable: JSX.Element | null;
|
208
|
-
placeholder: ((isEditable: boolean) => null | JSX.Element) | null | JSX.Element;
|
209
|
-
ErrorBoundary: ErrorBoundaryType;
|
210
|
-
EditorChildrenComponent: EditorChildrenComponentType;
|
211
|
-
Component: EditorComponentType;
|
212
|
-
getContext: () => LexicalComposerContextWithEditor;
|
213
|
-
decorators: readonly DecoratorComponentType[];
|
214
|
-
}
|
215
|
-
interface LexicalPlanComposerProps {
|
216
|
-
plan: AnyLexicalPlanArgument;
|
217
|
-
children: React.ReactNode;
|
218
|
-
}
|
219
|
-
declare function LexicalPlanComposer({ plan, children }: LexicalPlanComposerProps): import("react/jsx-runtime").JSX.Element | null;
|
220
|
-
declare const ReactPlan: LexicalPlan<ReactConfig, "@etrepum/lexical-builder/ReactPlan">;
|
221
|
-
interface HostMountCommandArg {
|
222
|
-
root: Root;
|
223
|
-
}
|
224
|
-
type Container = Element | DocumentFragment;
|
225
|
-
interface MountPluginCommandArg {
|
226
|
-
key: string;
|
227
|
-
element: JSX.Element | null;
|
228
|
-
domNode?: Container | null;
|
229
|
-
}
|
230
|
-
declare function mountReactPluginComponent<P extends Record<never, never> = Record<never, never>>(editor: LexicalEditor, opts: {
|
231
|
-
Component: null | React.ComponentType<P>;
|
232
|
-
props: (P & React.Attributes) | null;
|
233
|
-
} & Omit<MountPluginCommandArg, "element">): void;
|
234
|
-
declare function mountReactPluginElement(editor: LexicalEditor, opts: MountPluginCommandArg): void;
|
235
|
-
declare function mountReactPluginHost(editor: LexicalEditor, container: Container): void;
|
236
|
-
declare const REACT_PLUGIN_HOST_MOUNT_COMMAND: import("lexical").LexicalCommand<HostMountCommandArg>;
|
237
|
-
declare const REACT_MOUNT_PLUGIN_COMMAND: import("lexical").LexicalCommand<MountPluginCommandArg>;
|
238
|
-
declare const ReactPluginHostPlan: LexicalPlan<{}, "@etrepum/lexical-builder/ReactPluginHostPlan">;
|
239
|
-
declare const RichTextPlan: LexicalPlan<{}, "@lexical/rich-text">;
|
240
|
-
/**
|
241
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
242
|
-
*
|
243
|
-
* This source code is licensed under the MIT license found in the
|
244
|
-
* LICENSE file in the root directory of this source tree.
|
245
|
-
*
|
246
|
-
*/
|
247
|
-
export { AutoFocusConfig, AutoFocusPlan, configPlan, definePlan, DragonPlan, HistoryConfig, HistoryPlan, LexicalBuilder, PlainTextPlan, DecoratorComponentProps, DecoratorComponentType, EditorChildrenComponentProps, EditorChildrenComponentType, EditorComponentProps, EditorComponentType, LexicalPlanComposer, LexicalPlanComposerProps, ReactConfig, ReactPlan, HostMountCommandArg, MountPluginCommandArg, mountReactPluginComponent, mountReactPluginElement, mountReactPluginHost, REACT_MOUNT_PLUGIN_COMMAND, REACT_PLUGIN_HOST_MOUNT_COMMAND, ReactPluginHostPlan, RichTextPlan, AnyLexicalPlan, AnyLexicalPlanArgument, EditorHandle, InitialEditorStateType, LexicalPeerConfig, LexicalPlan, LexicalPlanArgument, LexicalPlanConfig, LexicalPlanName, LexicalPlanRegistry, NormalizedLexicalPlanArgument, PlanConfigBase, RegisterState, ErrorBoundaryType };
|
248
|
-
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts","../src/types.ts","../src/definePlan.ts","../src/safeCast.ts","../src/AutoFocusPlan.ts","../src/DragonPlan.ts","../src/HistoryPlan.ts","../src/shared/invariant.ts","../src/deepThemeMergeInPlace.ts","../src/initializeEditor.ts","../src/shallowMergeConfig.ts","../src/PlanRep.ts","../src/LexicalBuilder.ts","../src/PlainTextPlan.ts","../src/registerSubscription.ts","../src/registerShowPlaceholder.ts","../src/shared/useLayoutEffect.ts","../src/useReactDecorators.tsx","../src/useRegisterSubscription.ts","../src/ReactPlan.tsx","../src/ReactPluginHostPlan.tsx","../src/RichTextPlan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AAEH,OAAO,k0BAAuC,CAAwB"}
|