@byline/richtext-lexical 5.0.0 → 5.1.1

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 (40) hide show
  1. package/dist/config.d.ts +7 -7
  2. package/dist/field/config/default-extensions.d.ts +2 -2
  3. package/dist/field/config/default.d.ts +1 -1
  4. package/dist/field/config/editor-config-context.d.ts +1 -1
  5. package/dist/field/config/resolve-editor-config.d.ts +1 -1
  6. package/dist/field/config/types.d.ts +1 -1
  7. package/dist/field/editor-component.d.ts +1 -1
  8. package/dist/field/editor-context.d.ts +1 -1
  9. package/dist/field/editor-field.d.ts +1 -1
  10. package/dist/field/extensions/admonition/admonition-commands.d.ts +1 -1
  11. package/dist/field/extensions/admonition/admonition-extension.d.ts +2 -2
  12. package/dist/field/extensions/admonition/admonition-modal.d.ts +1 -1
  13. package/dist/field/extensions/admonition/admonition-node.d.ts +1 -1
  14. package/dist/field/extensions/admonition/fields.d.ts +2 -2
  15. package/dist/field/extensions/admonition/types.d.ts +1 -1
  16. package/dist/field/extensions/auto-embed/auto-embed-modal.d.ts +1 -1
  17. package/dist/field/extensions/byline-floating-ui/index.d.ts +1 -1
  18. package/dist/field/extensions/byline-toolbar/index.d.ts +1 -1
  19. package/dist/field/extensions/inline-image/inline-image-extension.d.ts +1 -1
  20. package/dist/field/extensions/inline-image/inline-image-modal.d.ts +1 -1
  21. package/dist/field/extensions/inline-image/inline-image-node-component.d.ts +2 -2
  22. package/dist/field/extensions/inline-image/inline-image-node.d.ts +2 -2
  23. package/dist/field/extensions/inline-image/node-types.d.ts +1 -1
  24. package/dist/field/extensions/inline-image/populate.d.ts +1 -1
  25. package/dist/field/extensions/inline-image/types.d.ts +2 -2
  26. package/dist/field/extensions/inline-image/utils.d.ts +1 -1
  27. package/dist/field/extensions/link/auto-link-node.d.ts +2 -2
  28. package/dist/field/extensions/link/auto-link-plugin.d.ts +1 -1
  29. package/dist/field/extensions/link/index.d.ts +5 -5
  30. package/dist/field/extensions/link/link-modal-types.d.ts +1 -1
  31. package/dist/field/extensions/link/link-modal.d.ts +1 -1
  32. package/dist/field/extensions/link/link-node.d.ts +2 -2
  33. package/dist/field/extensions/link/populate.d.ts +1 -1
  34. package/dist/field/extensions/link/types.d.ts +1 -1
  35. package/dist/index.d.ts +27 -27
  36. package/dist/lexical-editor.d.ts +2 -2
  37. package/dist/richtext-field.d.ts +1 -1
  38. package/dist/server.d.ts +9 -9
  39. package/dist/types.d.ts +1 -1
  40. package/package.json +26 -26
package/dist/config.d.ts CHANGED
@@ -36,10 +36,10 @@
36
36
  * `configExtension`)? Import it from the `.` barrel instead — and accept
37
37
  * that doing so pulls that extension's runtime into the bundle.
38
38
  */
39
- export { type BuiltInExtensionName, builtInExtensions, } from './field/config/built-in-extension-names';
40
- export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './field/extensions/byline-toolbar';
41
- export { ToolbarActiveEditorProvider, useToolbarActiveEditor, } from './field/plugins/toolbar-plugin/toolbar-active-editor';
42
- export { lexicalEditor } from './lexical-editor';
43
- export type { ExtensionsList } from './field/config/extensions-list';
44
- export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types';
45
- export type { LexicalEditorConfigureInput } from './lexical-editor';
39
+ export { type BuiltInExtensionName, builtInExtensions, } from './field/config/built-in-extension-names.js';
40
+ export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './field/extensions/byline-toolbar/index.js';
41
+ export { ToolbarActiveEditorProvider, useToolbarActiveEditor, } from './field/plugins/toolbar-plugin/toolbar-active-editor.js';
42
+ export { lexicalEditor } from './lexical-editor.js';
43
+ export type { ExtensionsList } from './field/config/extensions-list.js';
44
+ export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types.js';
45
+ export type { LexicalEditorConfigureInput } from './lexical-editor.js';
@@ -6,8 +6,8 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type { AnyLexicalExtensionArgument } from 'lexical';
9
- import { ExtensionsList } from './extensions-list';
10
- import type { EditorConfig } from './types';
9
+ import { ExtensionsList } from './extensions-list.js';
10
+ import type { EditorConfig } from './types.js';
11
11
  /**
12
12
  * Returns a fresh array of every Byline-built-in Lexical extension in
13
13
  * their canonical order. Includes the `BylineToolbarExtension` registry
@@ -1,5 +1,5 @@
1
1
  import type { EditorConfig as LexicalEditorConfig } from 'lexical';
2
- import type { EditorConfig, EditorSettings } from './types';
2
+ import type { EditorConfig, EditorSettings } from './types.js';
3
3
  export declare const defaultEditorLexicalConfig: LexicalEditorConfig;
4
4
  export declare const DEFAULT_EDITOR_SETTINGS: EditorSettings;
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import type * as React from 'react';
2
- import type { EditorSettings, OptionName } from './types';
2
+ import type { EditorSettings, OptionName } from './types.js';
3
3
  interface ContextType {
4
4
  setOption: (name: OptionName, value: boolean) => void;
5
5
  config: EditorSettings;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- import type { EditorConfig } from './types';
8
+ import type { EditorConfig } from './types.js';
9
9
  /**
10
10
  * Merge a schema field's `editorConfig` over the registered editor's
11
11
  * config (baked at registration via `lexicalEditor()`, or the package
@@ -1,5 +1,5 @@
1
1
  import type { EditorConfig as LexicalEditorConfig } from 'lexical';
2
- import type { ExtensionsList } from './extensions-list';
2
+ import type { ExtensionsList } from './extensions-list.js';
3
3
  /**
4
4
  * Settings that aren't expressible as "is extension X present in the
5
5
  * extensions list?" — toolbar / UI mode toggles, debug switches, the
@@ -6,7 +6,7 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type React from 'react';
9
- import type { EditorFieldProps } from '../types';
9
+ import type { EditorFieldProps } from '../types.js';
10
10
  import './editor-component.css';
11
11
  import './themes/lexical-editor-theme.css';
12
12
  export declare const EditorComponent: React.MemoExoticComponent<({ name, id, label, description, required, readonly, editorConfig, defaultValue, value, onChange, minHeight, maxHeight, validate, onError: _onError, lexicalEditorProps: _lexicalEditorProps, featureBeforeEditor, featureAfterEditor, featureChildren, }: EditorFieldProps) => React.JSX.Element>;
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type * as React from 'react';
9
9
  import { type EditorState, type LexicalEditor, type SerializedEditorState } from 'lexical';
10
- import type { EditorConfig } from './config/types';
10
+ import type { EditorConfig } from './config/types.js';
11
11
  export declare function EditorContext(props: {
12
12
  composerKey: string;
13
13
  editorConfig: EditorConfig;
@@ -29,5 +29,5 @@
29
29
  * Copyright (c) Infonomic Company Limited
30
30
  */
31
31
  import type * as React from 'react';
32
- import type { EditorFieldProps } from '../types';
32
+ import type { EditorFieldProps } from '../types.js';
33
33
  export declare function EditorField(props: EditorFieldProps): React.JSX.Element;
@@ -12,7 +12,7 @@
12
12
  * without importing the extension (which imports the node — a cycle).
13
13
  */
14
14
  import { type LexicalCommand, type NodeKey } from 'lexical';
15
- import type { AdmonitionAttributes } from './node-types';
15
+ import type { AdmonitionAttributes } from './node-types.js';
16
16
  /**
17
17
  * Opens the admonition modal. Payload of `null` means "insert a new
18
18
  * admonition"; a `{ nodeKey }` payload means "edit the existing node"
@@ -6,8 +6,8 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import * as React from 'react';
9
- import { INSERT_ADMONITION_COMMAND, OPEN_ADMONITION_MODAL_COMMAND } from './admonition-commands';
10
- import type { AdmonitionAttributes } from './node-types';
9
+ import { INSERT_ADMONITION_COMMAND, OPEN_ADMONITION_MODAL_COMMAND } from './admonition-commands.js';
10
+ import type { AdmonitionAttributes } from './node-types.js';
11
11
  export type InsertAdmonitionPayload = Readonly<AdmonitionAttributes>;
12
12
  export { INSERT_ADMONITION_COMMAND, OPEN_ADMONITION_MODAL_COMMAND };
13
13
  export declare function AdmonitionPlugin(): React.JSX.Element;
@@ -6,6 +6,6 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type React from 'react';
9
- import type { AdmonitionDrawerProps } from './types';
9
+ import type { AdmonitionDrawerProps } from './types.js';
10
10
  import './admonition-modal.css';
11
11
  export declare function AdmonitionModal({ open, onSubmit, onClose, data: dataFromProps, }: AdmonitionDrawerProps): React.ReactNode;
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { DOMConversionMap, DOMExportOutput, EditorConfig, ElementDOMSlot, LexicalEditor, LexicalNode, LexicalUpdateJSON, NodeKey } from 'lexical';
9
9
  import { ElementNode } from 'lexical';
10
- import type { AdmonitionAttributes, AdmonitionType, SerializedAdmonitionNode } from './node-types';
10
+ import type { AdmonitionAttributes, AdmonitionType, SerializedAdmonitionNode } from './node-types.js';
11
11
  import './admonition-node.css';
12
12
  /**
13
13
  * The admonition (callout) block. An `ElementNode` whose body is real
@@ -6,8 +6,8 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type { RadioGroupValue } from '@byline/ui/react';
9
- import type { AdmonitionType } from './node-types';
10
- import type { AdmonitionFormState } from './types';
9
+ import type { AdmonitionType } from './node-types.js';
10
+ import type { AdmonitionFormState } from './types.js';
11
11
  export declare const admonitionTypeOptions: RadioGroupValue[];
12
12
  export declare function getInitialState(data: {
13
13
  admonitionType?: AdmonitionType;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- import type { AdmonitionType } from './node-types';
8
+ import type { AdmonitionType } from './node-types.js';
9
9
  export interface AdmonitionFormState {
10
10
  title: {
11
11
  value?: string;
@@ -1,4 +1,4 @@
1
- import type { AutoEmbedConfig } from './auto-embed-extension';
1
+ import type { AutoEmbedConfig } from './auto-embed-extension.js';
2
2
  import './auto-embed-modal.css';
3
3
  export declare function AutoEmbedModal({ open, embedConfig, onClose, }: {
4
4
  open: boolean;
@@ -5,4 +5,4 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- export { type BylineFloatingUIConfig, BylineFloatingUIExtension, type BylineFloatingUIItem, type BylineFloatingUIProps, selectFloatingUIItems, } from './byline-floating-ui-extension';
8
+ export { type BylineFloatingUIConfig, BylineFloatingUIExtension, type BylineFloatingUIItem, type BylineFloatingUIProps, selectFloatingUIItems, } from './byline-floating-ui-extension.js';
@@ -5,4 +5,4 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './byline-toolbar-extension';
8
+ export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './byline-toolbar-extension.js';
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import type * as React from 'react';
11
11
  import { type LexicalCommand, type NodeKey } from 'lexical';
12
- import type { InlineImageAttributes } from './node-types';
12
+ import type { InlineImageAttributes } from './node-types.js';
13
13
  export type InsertInlineImagePayload = Readonly<InlineImageAttributes>;
14
14
  export type UpdateInlineImagePayload = Readonly<{
15
15
  nodeKey: NodeKey;
@@ -6,6 +6,6 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type * as React from 'react';
9
- import type { InlineImageModalProps } from './types';
9
+ import type { InlineImageModalProps } from './types.js';
10
10
  import './inline-image-modal.css';
11
11
  export declare const InlineImageModal: React.FC<InlineImageModalProps>;
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import type * as React from 'react';
9
9
  import type { LexicalEditor, NodeKey } from 'lexical';
10
- import type { DocumentRelation } from '../../nodes/document-relation';
11
- import type { Position } from './node-types';
10
+ import type { DocumentRelation } from '../../nodes/document-relation.js';
11
+ import type { Position } from './node-types.js';
12
12
  import './inline-image-node-component.css';
13
13
  export default function InlineImageComponent({ relation, src, position, altText, width, height, showCaption, caption, nodeKey, }: {
14
14
  relation: DocumentRelation;
@@ -8,8 +8,8 @@
8
8
  import * as React from 'react';
9
9
  import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical';
10
10
  import { DecoratorNode } from 'lexical';
11
- import type { DocumentRelation } from '../../nodes/document-relation';
12
- import type { InlineImageAttributes, Position, SerializedInlineImageNode } from './node-types';
11
+ import type { DocumentRelation } from '../../nodes/document-relation.js';
12
+ import type { InlineImageAttributes, Position, SerializedInlineImageNode } from './node-types.js';
13
13
  export declare class InlineImageNode extends DecoratorNode<React.JSX.Element> {
14
14
  __relation: DocumentRelation;
15
15
  __src: string;
@@ -6,7 +6,7 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type { LexicalEditor, NodeKey, SerializedEditor, SerializedLexicalNode, Spread } from 'lexical';
9
- import type { DocumentRelation } from '../../nodes/document-relation';
9
+ import type { DocumentRelation } from '../../nodes/document-relation.js';
10
10
  export type Position = 'left' | 'right' | 'full' | 'wide' | 'default' | undefined;
11
11
  export interface InlineImageAttributes extends DocumentRelation {
12
12
  src: string;
@@ -5,5 +5,5 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- import type { LexicalNodeVisitor } from '../../lexical-populate-shared';
8
+ import type { LexicalNodeVisitor } from '../../lexical-populate-shared.js';
9
9
  export declare const inlineImageVisitor: LexicalNodeVisitor;
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- import type { DocumentRelation } from '../../nodes/document-relation';
9
- import type { Position } from './node-types';
8
+ import type { DocumentRelation } from '../../nodes/document-relation.js';
9
+ import type { Position } from './node-types.js';
10
10
  /**
11
11
  * The form-shape carried into / out of the inline image modal. Mirrors
12
12
  * `InlineImageAttributes` minus the Lexical-managed bits (`key`, `caption:
@@ -6,7 +6,7 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type { StoredFileValue } from '@byline/core';
9
- import type { Position } from './node-types';
9
+ import type { Position } from './node-types.js';
10
10
  export interface PreferredSize {
11
11
  url: string;
12
12
  width?: number;
@@ -1,6 +1,6 @@
1
1
  import { type ElementNode, type LexicalNode, type RangeSelection } from 'lexical';
2
- import { LinkNode } from './link-node';
3
- import type { LinkAttributes, SerializedLinkNode } from './types';
2
+ import { LinkNode } from './link-node.js';
3
+ import type { LinkAttributes, SerializedLinkNode } from './types.js';
4
4
  export type SerializedAutoLinkNode = SerializedLinkNode;
5
5
  export declare class AutoLinkNode extends LinkNode {
6
6
  static getType(): string;
@@ -1,4 +1,4 @@
1
- import { type LinkAttributes } from '.';
1
+ import { type LinkAttributes } from './index.js';
2
2
  type ChangeHandler = (url: string | null, prevUrl: string | null) => void;
3
3
  interface LinkMatcherResult {
4
4
  attributes?: LinkAttributes;
@@ -1,5 +1,5 @@
1
- export { AutoLinkExtension } from './auto-link-extension';
2
- export * from './auto-link-node';
3
- export { LinkExtension, registerLink } from './link-extension';
4
- export * from './link-node';
5
- export * from './types';
1
+ export { AutoLinkExtension } from './auto-link-extension.js';
2
+ export * from './auto-link-node.js';
3
+ export { LinkExtension, registerLink } from './link-extension.js';
4
+ export * from './link-node.js';
5
+ export * from './types.js';
@@ -1,4 +1,4 @@
1
- import type { LinkAttributes } from '.';
1
+ import type { LinkAttributes } from './index.js';
2
2
  /**
3
3
  * The payload of a link node
4
4
  * This can be delivered from the link node to the drawer, or from the drawer/anything to the TOGGLE_LINK_COMMAND
@@ -6,5 +6,5 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type * as React from 'react';
9
- import type { LinkModalProps } from './link-modal-types';
9
+ import type { LinkModalProps } from './link-modal-types.js';
10
10
  export declare const LinkModal: React.FC<LinkModalProps>;
@@ -6,8 +6,8 @@
6
6
  *
7
7
  */
8
8
  import { type DOMConversionMap, type EditorConfig, ElementNode, type LexicalCommand, type LexicalNode, type NodeKey, type NodeSelection, type RangeSelection } from 'lexical';
9
- import type { SerializedAutoLinkNode } from './auto-link-node';
10
- import type { LinkAttributes, SerializedLinkNode } from './types';
9
+ import type { SerializedAutoLinkNode } from './auto-link-node.js';
10
+ import type { LinkAttributes, SerializedLinkNode } from './types.js';
11
11
  /** @noInheritDoc */
12
12
  export declare class LinkNode extends ElementNode {
13
13
  __attributes: LinkAttributes;
@@ -5,5 +5,5 @@
5
5
  *
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
- import type { LexicalNodeVisitor } from '../../lexical-populate-shared';
8
+ import type { LexicalNodeVisitor } from '../../lexical-populate-shared.js';
9
9
  export declare const linkVisitor: LexicalNodeVisitor;
@@ -1,5 +1,5 @@
1
1
  import type { SerializedElementNode, Spread } from 'lexical';
2
- import type { DocumentRelation } from '../../nodes/document-relation';
2
+ import type { DocumentRelation } from '../../nodes/document-relation.js';
3
3
  interface BaseLinkAttributes {
4
4
  newTab?: boolean;
5
5
  rel?: null | string;
package/dist/index.d.ts CHANGED
@@ -1,28 +1,28 @@
1
1
  export type { SerializedEditor, SerializedEditorState, SerializedElementNode, SerializedLexicalNode, SerializedRootNode, SerializedTextNode, } from 'lexical';
2
- export { type BuiltInExtensionName, builtInExtensions, } from './field/config/built-in-extension-names';
3
- export { defaultEditorConfig } from './field/config/default';
4
- export { defaultClientEditorConfig, defaultExtensionsArray, defaultExtensionsList, } from './field/config/default-extensions';
5
- export { ExtensionsList } from './field/config/extensions-list';
6
- export { EditorField } from './field/editor-field';
7
- export { AdmonitionExtension } from './field/extensions/admonition/admonition-extension';
8
- export { AutoEmbedExtension } from './field/extensions/auto-embed/auto-embed-extension';
9
- export { type BylineFloatingUIConfig, BylineFloatingUIExtension, type BylineFloatingUIItem, type BylineFloatingUIProps, selectFloatingUIItems, } from './field/extensions/byline-floating-ui';
10
- export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './field/extensions/byline-toolbar';
11
- export { CodeHighlightExtension } from './field/extensions/code-highlight/code-highlight-extension';
12
- export { FloatingTextFormatExtension } from './field/extensions/floating-text-format/floating-text-format-extension';
13
- export { HorizontalRuleExtension } from './field/extensions/horizontal-rule/horizontal-rule-extension';
14
- export { type InlineImageConfig, InlineImageExtension, } from './field/extensions/inline-image/inline-image-extension';
15
- export { LayoutExtension } from './field/extensions/layout/layout-extension';
16
- export { AutoLinkExtension, LinkExtension } from './field/extensions/link';
17
- export { TableExtension } from './field/extensions/table/table-extension';
18
- export { VimeoExtension } from './field/extensions/vimeo/vimeo-extension';
19
- export { YouTubeExtension } from './field/extensions/youtube/youtube-extension';
20
- export { Nodes } from './field/nodes';
21
- export { ToolbarActiveEditorProvider, useToolbarActiveEditor, } from './field/plugins/toolbar-plugin/toolbar-active-editor';
22
- export { lexicalEditor } from './lexical-editor';
23
- export { RichTextField } from './richtext-field';
24
- export { createEmptyEditorState } from './validate/createEmptyEditorState';
25
- export { hasText } from './validate/hasText';
26
- export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types';
27
- export type { InlineImageAttributes, Position as InlineImagePosition, SerializedInlineImageNode, } from './field/extensions/inline-image/node-types';
28
- export type { DocumentRelation } from './field/nodes/document-relation';
2
+ export { type BuiltInExtensionName, builtInExtensions, } from './field/config/built-in-extension-names.js';
3
+ export { defaultEditorConfig } from './field/config/default.js';
4
+ export { defaultClientEditorConfig, defaultExtensionsArray, defaultExtensionsList, } from './field/config/default-extensions.js';
5
+ export { ExtensionsList } from './field/config/extensions-list.js';
6
+ export { EditorField } from './field/editor-field.js';
7
+ export { AdmonitionExtension } from './field/extensions/admonition/admonition-extension.js';
8
+ export { AutoEmbedExtension } from './field/extensions/auto-embed/auto-embed-extension.js';
9
+ export { type BylineFloatingUIConfig, BylineFloatingUIExtension, type BylineFloatingUIItem, type BylineFloatingUIProps, selectFloatingUIItems, } from './field/extensions/byline-floating-ui/index.js';
10
+ export { type BylineToolbarConfig, BylineToolbarExtension, type BylineToolbarItem, type BylineToolbarPlacement, selectToolbarItems, } from './field/extensions/byline-toolbar/index.js';
11
+ export { CodeHighlightExtension } from './field/extensions/code-highlight/code-highlight-extension.js';
12
+ export { FloatingTextFormatExtension } from './field/extensions/floating-text-format/floating-text-format-extension.js';
13
+ export { HorizontalRuleExtension } from './field/extensions/horizontal-rule/horizontal-rule-extension.js';
14
+ export { type InlineImageConfig, InlineImageExtension, } from './field/extensions/inline-image/inline-image-extension.js';
15
+ export { LayoutExtension } from './field/extensions/layout/layout-extension.js';
16
+ export { AutoLinkExtension, LinkExtension } from './field/extensions/link/index.js';
17
+ export { TableExtension } from './field/extensions/table/table-extension.js';
18
+ export { VimeoExtension } from './field/extensions/vimeo/vimeo-extension.js';
19
+ export { YouTubeExtension } from './field/extensions/youtube/youtube-extension.js';
20
+ export { Nodes } from './field/nodes/index.js';
21
+ export { ToolbarActiveEditorProvider, useToolbarActiveEditor, } from './field/plugins/toolbar-plugin/toolbar-active-editor.js';
22
+ export { lexicalEditor } from './lexical-editor.js';
23
+ export { RichTextField } from './richtext-field.js';
24
+ export { createEmptyEditorState } from './validate/createEmptyEditorState.js';
25
+ export { hasText } from './validate/hasText.js';
26
+ export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types.js';
27
+ export type { InlineImageAttributes, Position as InlineImagePosition, SerializedInlineImageNode, } from './field/extensions/inline-image/node-types.js';
28
+ export type { DocumentRelation } from './field/nodes/document-relation.js';
@@ -6,8 +6,8 @@
6
6
  * Copyright (c) Infonomic Company Limited
7
7
  */
8
8
  import type { RichTextEditorComponent } from '@byline/core';
9
- import type { ExtensionsList } from './field/config/extensions-list';
10
- import type { EditorConfig } from './field/config/types';
9
+ import type { ExtensionsList } from './field/config/extensions-list.js';
10
+ import type { EditorConfig } from './field/config/types.js';
11
11
  /**
12
12
  * Inside `lexicalEditor((c) => ...)` the seed always carries an
13
13
  * `ExtensionsList`, so narrow the callback parameter so callers can write
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type React from 'react';
9
9
  import type { RichTextField as FieldType } from '@byline/core';
10
- import type { EditorConfig } from './field/config/types';
10
+ import type { EditorConfig } from './field/config/types.js';
11
11
  interface Props {
12
12
  field: FieldType;
13
13
  readonly?: boolean;
package/dist/server.d.ts CHANGED
@@ -37,15 +37,15 @@
37
37
  */
38
38
  import type { BylineClient } from '@byline/client';
39
39
  import type { RichTextEmbedFn, RichTextPopulateFn, RichTextToMarkdownFn, RichTextToTextFn } from '@byline/core';
40
- import { type LexicalNodeVisitor } from './field/lexical-populate-shared';
41
- export { defaultEditorConfig } from './field/config/default';
42
- export { lexicalToText } from './field/lexical-to-text';
43
- export { type LexicalToMarkdownOptions, type LexicalToMarkdownResult, type LexicalToMarkdownWarning, lexicalToMarkdown, } from './field/markdown/lexical-to-markdown';
44
- import { type LexicalToMarkdownOptions } from './field/markdown/lexical-to-markdown';
45
- export { inlineImageVisitor } from './field/extensions/inline-image/populate';
46
- export { linkVisitor } from './field/extensions/link/populate';
47
- export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types';
48
- export type { LexicalNodeLike, LexicalNodeVisitor, PendingHydration, } from './field/lexical-populate-shared';
40
+ import { type LexicalNodeVisitor } from './field/lexical-populate-shared.js';
41
+ export { defaultEditorConfig } from './field/config/default.js';
42
+ export { lexicalToText } from './field/lexical-to-text.js';
43
+ export { type LexicalToMarkdownOptions, type LexicalToMarkdownResult, type LexicalToMarkdownWarning, lexicalToMarkdown, } from './field/markdown/lexical-to-markdown.js';
44
+ import { type LexicalToMarkdownOptions } from './field/markdown/lexical-to-markdown.js';
45
+ export { inlineImageVisitor } from './field/extensions/inline-image/populate.js';
46
+ export { linkVisitor } from './field/extensions/link/populate.js';
47
+ export type { EditorConfig, EditorSettings, EditorSettingsOverride } from './field/config/types.js';
48
+ export type { LexicalNodeLike, LexicalNodeVisitor, PendingHydration, } from './field/lexical-populate-shared.js';
49
49
  export interface LexicalServerOptions {
50
50
  /**
51
51
  * Returns the server-side `BylineClient` used to batch-fetch target
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { EditorConfig as LexicalEditorConfig, SerializedEditorState } from 'lexical';
2
- import type { EditorConfig, EditorSettings } from './field/config/types';
2
+ import type { EditorConfig, EditorSettings } from './field/config/types.js';
3
3
  export interface LexicalEditorProps {
4
4
  settings?: (config: EditorSettings) => EditorSettings;
5
5
  lexical?: LexicalEditorConfig;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "private": false,
4
4
  "type": "module",
5
5
  "license": "MPL-2.0",
6
- "version": "5.0.0",
6
+ "version": "5.1.1",
7
7
  "engines": {
8
8
  "node": ">=20.9.0"
9
9
  },
@@ -56,46 +56,46 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@lexical/code": "0.49.0",
60
- "@lexical/extension": "0.49.0",
61
- "@lexical/headless": "0.49.0",
62
- "@lexical/link": "0.49.0",
63
- "@lexical/list": "0.49.0",
64
- "@lexical/mark": "0.49.0",
65
- "@lexical/markdown": "0.49.0",
66
- "@lexical/overflow": "0.49.0",
67
- "@lexical/react": "0.49.0",
68
- "@lexical/rich-text": "0.49.0",
69
- "@lexical/selection": "0.49.0",
70
- "@lexical/table": "0.49.0",
71
- "@lexical/utils": "0.49.0",
59
+ "@lexical/code": "0.50.0",
60
+ "@lexical/extension": "0.50.0",
61
+ "@lexical/headless": "0.50.0",
62
+ "@lexical/link": "0.50.0",
63
+ "@lexical/list": "0.50.0",
64
+ "@lexical/mark": "0.50.0",
65
+ "@lexical/markdown": "0.50.0",
66
+ "@lexical/overflow": "0.50.0",
67
+ "@lexical/react": "0.50.0",
68
+ "@lexical/rich-text": "0.50.0",
69
+ "@lexical/selection": "0.50.0",
70
+ "@lexical/table": "0.50.0",
71
+ "@lexical/utils": "0.50.0",
72
72
  "clsx": "^2.1.1",
73
- "lexical": "0.49.0",
74
- "react-error-boundary": "^6.1.3",
75
- "@byline/admin": "5.0.0",
76
- "@byline/ui": "5.0.0",
77
- "@byline/core": "5.0.0",
78
- "@byline/client": "5.0.0"
73
+ "lexical": "0.50.0",
74
+ "react-error-boundary": "^6.1.5",
75
+ "@byline/admin": "5.1.1",
76
+ "@byline/client": "5.1.1",
77
+ "@byline/ui": "5.1.1",
78
+ "@byline/core": "5.1.1"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "react": "^19.0.0",
82
82
  "react-dom": "^19.0.0"
83
83
  },
84
84
  "devDependencies": {
85
- "@biomejs/biome": "2.5.10",
85
+ "@biomejs/biome": "2.5.12",
86
86
  "@rsbuild/plugin-react": "^2.1.0",
87
- "@rslib/core": "^0.23.2",
88
- "@types/node": "^26.4.0",
87
+ "@rslib/core": "^1.0.0",
88
+ "@types/node": "^26.5.0",
89
89
  "@types/react": "19.2.18",
90
- "@types/react-dom": "19.2.5",
91
- "@vitejs/plugin-react": "^6.1.0",
90
+ "@types/react-dom": "19.2.7",
91
+ "@vitejs/plugin-react": "^6.1.1",
92
92
  "npm-run-all": "^4.1.5",
93
93
  "react": "^19.2.8",
94
94
  "react-dom": "^19.2.8",
95
95
  "typescript": "^7.0.2",
96
96
  "typescript-plugin-css-modules": "^5.2.0",
97
97
  "vite": "^8.2.2",
98
- "vitest": "^4.1.11"
98
+ "vitest": "^5.0.0"
99
99
  },
100
100
  "publishConfig": {
101
101
  "access": "public",