@etrepum/lexical-builder 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/dist/AutoFocusPlan.d.ts +12 -0
  2. package/dist/AutoFocusPlan.d.ts.map +1 -0
  3. package/dist/DragonPlan.d.ts +9 -0
  4. package/dist/DragonPlan.d.ts.map +1 -0
  5. package/dist/HistoryPlan.d.ts +8 -0
  6. package/dist/HistoryPlan.d.ts.map +1 -0
  7. package/dist/LexicalBuilder.d.ts +20 -0
  8. package/dist/LexicalBuilder.d.ts.map +1 -0
  9. package/dist/PlainTextPlan.d.ts +2 -0
  10. package/dist/PlainTextPlan.d.ts.map +1 -0
  11. package/dist/PlanRep.d.ts +15 -0
  12. package/dist/PlanRep.d.ts.map +1 -0
  13. package/dist/ReactPlan.d.ts +40 -0
  14. package/dist/ReactPlan.d.ts.map +1 -0
  15. package/dist/ReactPluginHostPlan.d.ts +23 -0
  16. package/dist/ReactPluginHostPlan.d.ts.map +1 -0
  17. package/dist/RichTextPlan.d.ts +9 -0
  18. package/dist/RichTextPlan.d.ts.map +1 -0
  19. package/dist/__tests__/unit/LexicalBuilder.test.d.ts +9 -0
  20. package/dist/__tests__/unit/LexicalBuilder.test.d.ts.map +1 -0
  21. package/dist/deepThemeMergeInPlace.d.ts +9 -0
  22. package/dist/deepThemeMergeInPlace.d.ts.map +1 -0
  23. package/dist/definePlan.d.ts +6 -0
  24. package/dist/definePlan.d.ts.map +1 -0
  25. package/dist/index.d.ts +24 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +696 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/initializeEditor.d.ts +5 -0
  30. package/dist/initializeEditor.d.ts.map +1 -0
  31. package/dist/registerShowPlaceholder.d.ts +6 -0
  32. package/dist/registerShowPlaceholder.d.ts.map +1 -0
  33. package/dist/registerSubscription.d.ts +11 -0
  34. package/dist/registerSubscription.d.ts.map +1 -0
  35. package/dist/safeCast.d.ts +9 -0
  36. package/dist/safeCast.d.ts.map +1 -0
  37. package/dist/shallowMergeConfig.d.ts +4 -0
  38. package/dist/shallowMergeConfig.d.ts.map +1 -0
  39. package/dist/shared/invariant.d.ts +9 -0
  40. package/dist/shared/invariant.d.ts.map +1 -0
  41. package/dist/shared/useLayoutEffect.d.ts +5 -0
  42. package/dist/shared/useLayoutEffect.d.ts.map +1 -0
  43. package/dist/types.d.ts +111 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/useReactDecorators.d.ts +10 -0
  46. package/dist/useReactDecorators.d.ts.map +1 -0
  47. package/dist/useRegisterSubscription.d.ts +4 -0
  48. package/dist/useRegisterSubscription.d.ts.map +1 -0
  49. package/package.json +7 -10
  50. package/dist/index.d.mts +0 -248
  51. package/dist/index.d.mts.map +0 -1
  52. 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
@@ -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"}