@etrepum/lexical-builder 0.0.4 → 0.0.5

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/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"}