@moldable-ai/editor 0.1.9 → 0.1.11

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.
@@ -1,5 +1,5 @@
1
- import { type MarkdownEditorHandle } from '../lib/lexical/find-replace-plugin';
2
1
  import { type MarkdownReferenceOption } from '../lib/lexical/file-reference-plugin';
2
+ import { type MarkdownEditorHandle } from '../lib/lexical/find-replace-plugin';
3
3
  import { type MarkdownMediaUpload } from '../lib/lexical/media-plugin';
4
4
  export interface MarkdownEditorProps {
5
5
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-editor.d.ts","sourceRoot":"","sources":["../../src/components/markdown-editor.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAA;AAkB3C,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAA;AAG7C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAA;AAOpC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAC7C;AAED,eAAO,MAAM,cAAc,sHAmJzB,CAAA;AAEF,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"markdown-editor.d.ts","sourceRoot":"","sources":["../../src/components/markdown-editor.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAA;AAS3C,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,6BAA6B,CAAA;AAkBpC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IACzC,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAA;CAC7C;AAED,eAAO,MAAM,cAAc,sHAmJzB,CAAA;AAEF,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
@@ -18,8 +18,13 @@ import { cn } from '@moldable-ai/ui';
18
18
  import { LINK_MATCHERS } from '../lib/lexical/auto-link-config';
19
19
  import { ClickableLinkPlugin } from '../lib/lexical/clickable-link-plugin';
20
20
  import { editorTheme } from '../lib/lexical/editor-theme';
21
+ import { FileReferencePlugin, } from '../lib/lexical/file-reference-plugin';
21
22
  import { FIND_REPLACE_UPDATE_TAG, FindReplacePlugin, } from '../lib/lexical/find-replace-plugin';
23
+ import { ImageNode } from '../lib/lexical/image-node';
22
24
  import { $convertFromMarkdownString, $convertToMarkdownString, markdownTransformers, } from '../lib/lexical/markdown-transformers';
25
+ import { MediaProvider } from '../lib/lexical/media-context';
26
+ import { MediaNode } from '../lib/lexical/media-node';
27
+ import { MediaPasteDropPlugin, } from '../lib/lexical/media-plugin';
23
28
  import { EXTERNAL_MARKDOWN_SYNC_TAG, SyncPlugin, } from '../lib/lexical/sync-plugin';
24
29
  import { FloatingToolbar } from './floating-toolbar';
25
30
  import { CodeHighlightNode, CodeNode } from '@lexical/code';
@@ -29,11 +34,6 @@ import { ListItemNode, ListNode } from '@lexical/list';
29
34
  import { MarkNode } from '@lexical/mark';
30
35
  import { HeadingNode, QuoteNode } from '@lexical/rich-text';
31
36
  import { $createParagraphNode, $getRoot } from 'lexical';
32
- import { FileReferencePlugin, } from '../lib/lexical/file-reference-plugin';
33
- import { ImageNode } from '../lib/lexical/image-node';
34
- import { MediaNode } from '../lib/lexical/media-node';
35
- import { MediaPasteDropPlugin, } from '../lib/lexical/media-plugin';
36
- import { MediaProvider } from '../lib/lexical/media-context';
37
37
  export const MarkdownEditor = forwardRef(function MarkdownEditor({ value, onChange, placeholder = 'Write something...', disabled = false, autoFocus = false, className, contentClassName, minHeight = '150px', maxHeight = '50vh', hideMarkdownHint = false, findQuery = '', currentFindMatch = 0, onFindMatchCountChange, onMediaUpload, resolveMediaUrl, referenceOptions, }, ref) {
38
38
  const initialValueRef = useRef(value);
39
39
  const initialConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"file-reference-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/file-reference-plugin.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAqDD,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,GACX,EAAE;IACD,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACvC,2CAmGA"}
1
+ {"version":3,"file":"file-reference-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/file-reference-plugin.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAqDD,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,GACX,EAAE;IACD,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAA;CACvC,2CAsGA"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { LexicalTypeaheadMenuPlugin, MenuOption, useBasicTypeaheadTriggerMatch, } from '@lexical/react/LexicalTypeaheadMenuPlugin';
4
- import { $createTextNode } from 'lexical';
5
4
  import { useMemo, useState } from 'react';
6
5
  import { createPortal } from 'react-dom';
7
6
  import { cn } from '@moldable-ai/ui';
7
+ import { $createTextNode } from 'lexical';
8
8
  class FileReferenceOption extends MenuOption {
9
9
  path;
10
10
  title;
@@ -1,4 +1,6 @@
1
1
  import { editorTheme } from './editor-theme';
2
+ import { ImageNode } from './image-node';
3
+ import { MediaNode } from './media-node';
2
4
  import { CodeHighlightNode, CodeNode } from '@lexical/code';
3
5
  import { HorizontalRuleNode } from '@lexical/extension';
4
6
  import { createHeadlessEditor } from '@lexical/headless';
@@ -6,8 +8,6 @@ import { AutoLinkNode, LinkNode } from '@lexical/link';
6
8
  import { ListItemNode, ListNode } from '@lexical/list';
7
9
  import { MarkNode } from '@lexical/mark';
8
10
  import { HeadingNode, QuoteNode } from '@lexical/rich-text';
9
- import { ImageNode } from './image-node';
10
- import { MediaNode } from './media-node';
11
11
  /**
12
12
  * Creates a headless Lexical editor for server-side operations.
13
13
  * Use this for translation, content extraction, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"image-component.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/image-component.tsx"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,SAAS,CAAA;AAiBhB,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,GAAG,EACH,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,2CAoIA"}
1
+ {"version":3,"file":"image-component.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/image-component.tsx"],"names":[],"mappings":"AAcA,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,SAAS,CAAA;AAQhB,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,GAAG,EACH,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,2CAsIA"}
@@ -2,11 +2,11 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
4
4
  import { useLexicalNodeSelection } from '@lexical/react/useLexicalNodeSelection';
5
- import { mergeRegister } from '@lexical/utils';
6
- import { $getNodeByKey, $getSelection, $isNodeSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, } from 'lexical';
7
5
  import { useCallback, useEffect, useRef, useState, } from 'react';
8
6
  import { $isImageNode } from './image-node';
9
7
  import { useMediaResolver } from './media-context';
8
+ import { mergeRegister } from '@lexical/utils';
9
+ import { $getNodeByKey, $getSelection, $isNodeSelection, CLICK_COMMAND, COMMAND_PRIORITY_LOW, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, } from 'lexical';
10
10
  const MIN_IMAGE_WIDTH = 96;
11
11
  function clamp(value, min, max) {
12
12
  return Math.min(Math.max(value, min), max);
@@ -1,5 +1,5 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical';
2
1
  import type { JSX } from 'react';
2
+ import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical';
3
3
  import { DecoratorNode } from 'lexical';
4
4
  export type ImagePayload = {
5
5
  altText?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"image-node.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/image-node.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAA;AAG9D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAyBD,qBAAa,SAAU,SAAQ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAIxC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAQjE,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;gBAS/B,GAAG,EAAE,MAAM,EAAE,OAAO,SAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAOpE,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,eAAe;IAQ5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW;IAO5C,SAAS,IAAI,KAAK;IAIlB,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMzC,QAAQ,IAAI,GAAG,CAAC,OAAO;CAUxB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,GAAG,EACH,GAAG,EACH,KAAK,GACN,EAAE,YAAY,GAAG,SAAS,CAE1B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
1
+ {"version":3,"file":"image-node.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/image-node.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAyBD,qBAAa,SAAU,SAAQ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAIxC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAQjE,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;gBAS/B,GAAG,EAAE,MAAM,EAAE,OAAO,SAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAOpE,UAAU,IAAI,mBAAmB;IASjC,SAAS,IAAI,eAAe;IAQ5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW;IAO5C,SAAS,IAAI,KAAK;IAIlB,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMzC,QAAQ,IAAI,GAAG,CAAC,OAAO;CAUxB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,GAAG,EACH,GAAG,EACH,KAAK,GACN,EAAE,YAAY,GAAG,SAAS,CAE1B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { $applyNodeReplacement, DecoratorNode } from 'lexical';
4
3
  import { ImageComponent } from './image-component';
4
+ import { $applyNodeReplacement, DecoratorNode } from 'lexical';
5
5
  function $convertImageElement(domNode) {
6
6
  const image = domNode;
7
7
  const src = image.getAttribute('src');
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-transformers.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/markdown-transformers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAUvD;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,kBAgBhB,CAAA;AAUD,eAAO,MAAM,KAAK,EAAE,oBAuBnB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,oBAyBlC,CAAA;AAMD,eAAO,MAAM,KAAK,EAAE,oBAiBnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,WAAW,CAUnD,CAAA;AAED;;GAEG;AACH,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,YAAmC,EACnC,IAAI,EACJ,sBAA6B,EAC7B,wBAAgC,GACjC,EAAE,0BAA0B,GAAG,IAAI,CAQnC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAmC,EACnC,IAAI,EACJ,sBAA6B,GAC9B,GAAE,wBAA6B,GAAG,MAAM,CAExC"}
1
+ {"version":3,"file":"markdown-transformers.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/markdown-transformers.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAGvD;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,kBAgBhB,CAAA;AAUD,eAAO,MAAM,KAAK,EAAE,oBAuBnB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,oBA2BlC,CAAA;AAMD,eAAO,MAAM,KAAK,EAAE,oBAiBnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,WAAW,CAUnD,CAAA;AAED;;GAEG;AACH,UAAU,0BAA0B;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,YAAmC,EACnC,IAAI,EACJ,sBAA6B,EAC7B,wBAAgC,GACjC,EAAE,0BAA0B,GAAG,IAAI,CAQnC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAmC,EACnC,IAAI,EACJ,sBAA6B,GAC9B,GAAE,wBAA6B,GAAG,MAAM,CAExC"}
@@ -2,11 +2,11 @@
2
2
  * Markdown Transformers for Lexical Editor
3
3
  * Provides import/export functionality with proper newline preservation
4
4
  */
5
+ import { $createImageNode, $isImageNode, ImageNode } from './image-node';
6
+ import { $createMediaNode, $isMediaNode, MediaNode, } from './media-node';
5
7
  import { $createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode, } from '@lexical/extension';
6
8
  import { CHECK_LIST, ELEMENT_TRANSFORMERS, MULTILINE_ELEMENT_TRANSFORMERS, TEXT_FORMAT_TRANSFORMERS, TEXT_MATCH_TRANSFORMERS, $convertFromMarkdownString as lexicalConvertFromMarkdown, $convertToMarkdownString as lexicalConvertToMarkdown, } from '@lexical/markdown';
7
9
  import { $createTextNode } from 'lexical';
8
- import { $createImageNode, $isImageNode, ImageNode } from './image-node';
9
- import { $createMediaNode, $isMediaNode, MediaNode, } from './media-node';
10
10
  /**
11
11
  * Horizontal rule transformer - supports ---, ***, and ___
12
12
  */
@@ -65,7 +65,9 @@ export const OBSIDIAN_IMAGE_EMBED = {
65
65
  const width = /^\d+$/.test(labelOrWidth)
66
66
  ? Number.parseInt(labelOrWidth, 10)
67
67
  : undefined;
68
- const altText = width ? src.split('/').pop() : labelOrWidth || src.split('/').pop();
68
+ const altText = width
69
+ ? src.split('/').pop()
70
+ : labelOrWidth || src.split('/').pop();
69
71
  if (!/\.(avif|gif|jpe?g|png|svg|webp)$/i.test(src)) {
70
72
  return $createTextNode(match[0]);
71
73
  }
@@ -1,5 +1,5 @@
1
- import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical';
2
1
  import type { JSX } from 'react';
2
+ import type { DOMConversionMap, DOMExportOutput, EditorConfig, LexicalNode, NodeKey, SerializedLexicalNode } from 'lexical';
3
3
  import { DecoratorNode } from 'lexical';
4
4
  export type MediaKind = 'audio' | 'video';
5
5
  export type MediaPayload = {
@@ -1 +1 @@
1
- {"version":3,"file":"media-node.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/media-node.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAA;AAG9D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AA4BD,qBAAa,SAAU,SAAQ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAIxC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAOjE,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;gBAa/B,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAMvD,UAAU,IAAI,mBAAmB;IAQjC,SAAS,IAAI,eAAe;IAO5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW;IAO5C,SAAS,IAAI,KAAK;IAIlB,OAAO,IAAI,SAAS;IAIpB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,GAAG,CAAC,OAAO;CAGxB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,YAAY,GAAG,SAAS,CAE5E;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
1
+ {"version":3,"file":"media-node.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/media-node.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,KAAK,EACV,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,OAAO,EACP,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAyB,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AA4BD,qBAAa,SAAU,SAAQ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAIxC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAOjE,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;gBAa/B,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAMvD,UAAU,IAAI,mBAAmB;IAQjC,SAAS,IAAI,eAAe;IAO5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW;IAO5C,SAAS,IAAI,KAAK;IAIlB,OAAO,IAAI,SAAS;IAIpB,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,GAAG,CAAC,OAAO;CAGxB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,YAAY,GAAG,SAAS,CAE5E;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { RichMediaPlayer } from '@moldable-ai/ui';
4
- import { $applyNodeReplacement, DecoratorNode } from 'lexical';
5
4
  import { useMediaResolver } from './media-context';
5
+ import { $applyNodeReplacement, DecoratorNode } from 'lexical';
6
6
  function mediaKindFromElement(element) {
7
7
  if (element.tagName.toLowerCase() === 'audio')
8
8
  return 'audio';
@@ -1 +1 @@
1
- {"version":3,"file":"media-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/media-plugin.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpE,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,IAAI,EAAE,IAAI,KACP,OAAO,CAAC,yBAAyB,CAAC,CAAA;AA2CvC,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,GACd,EAAE;IACD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,QAsGA"}
1
+ {"version":3,"file":"media-plugin.d.ts","sourceRoot":"","sources":["../../../src/lib/lexical/media-plugin.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpE,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,IAAI,EAAE,IAAI,KACP,OAAO,CAAC,yBAAyB,CAAC,CAAA;AA4CvC,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,GACd,EAAE;IACD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,QA0GA"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
- import { $createParagraphNode, $createTextNode, $insertNodes, COMMAND_PRIORITY_HIGH, DROP_COMMAND, PASTE_COMMAND, } from 'lexical';
4
3
  import { useEffect } from 'react';
5
4
  import { $createImageNode } from './image-node';
6
5
  import { $createMediaNode } from './media-node';
6
+ import { $createParagraphNode, $createTextNode, $insertNodes, COMMAND_PRIORITY_HIGH, DROP_COMMAND, PASTE_COMMAND, } from 'lexical';
7
7
  function dataUrlForFile(file) {
8
8
  return new Promise((resolve, reject) => {
9
9
  const reader = new FileReader();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moldable-ai/editor",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Rich text markdown editor for Moldable applications",
5
5
  "author": "Desiderata LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -75,7 +75,7 @@
75
75
  "vitest": "^4.0.16"
76
76
  },
77
77
  "peerDependencies": {
78
- "@moldable-ai/ui": ">=0.2.10",
78
+ "@moldable-ai/ui": ">=0.2.12",
79
79
  "react": "^19.0.0",
80
80
  "react-dom": "^19.0.0"
81
81
  }