Skip to content

Releases: umaranis/svelte-lexical

0.4.2

19 Sep 14:17
Compare
Choose a tag to compare

New Features

  • feat: Column Layout plugin to arrange content in columns (thanks to @Sulkar)
  • feat: add text color and background color pickers to toolbar (@umaranis)
  • feat: upgrade to lexical 0.17.0 from 0.14.5
  • feat: show image error UI when image loading fails
  • feat: theme class added to horizontal rule node
  • feat: image captions can now be disabled

Bugs

  • bug: can't remove link formatting from Auto Link
  • bug: insert an image inside another image's caption
  • bug: fix auto link node escapes on second "."
  • bug: support pasting Google Doc checklist
  • bug: changing font size does not take effect when clicking in the editor after change
  • bug: fix Auto Link styles on creation
  • bug: crash when heading or quote is selected for clear formatting
  • bug: with block decorator nodes error on indent
  • bug: Prismjs causing issues with dev build when npm is used #85
  • bug: code block doesn't render properly with small width editor

Tests

  • test: a lot of new tests
  • test: add more parallelism to tests running in CI
  • test: exclude legacy events tests in CI except chromium on windows

See more details at https://umaranis.com/2024/09/27/released-svelte-lexical-0-4-2-column-layout-plugin-and-color-picker/

0.4.1

12 Jun 22:10
Compare
Choose a tag to compare

New Features

  • feat: MardownShortcutPlugin - Create a markdown shortcuts plugin
  • feat: clear formatting command
  • feat: subscript and superscript support
  • feat: show empty paragraph formatting in dev tool
  • feat: toolbar - move Strikethrough into more formatting drop down
  • feat: support SvelteKit for MardownShortcutPlugin, LinkPlugin and AutoLinkPlugin
  • feat: allow transformers to be specified when defining Markdown Shortcuts Plugin
  • feat: upgrade lexical from 0.14.2 to 0.14.5

Performance

  • perf: build size reduced by ~10kb after lexical ESM changes

Bugs

  • bug: prettier v3 async not working with synchronous lexical update calls; also required estree plugin
  • bug: wrong logic for FloatingLinkEditorPlugin bad node
  • bug: Numbered list does not increment in ImageNode caption
  • bug: respect CSS zoom
  • bug: return unregister callback from onMount
  • bug: fix bulletting a node selection
  • bug: Unbullet one list item not the whole list
  • bug: support multiple windows
  • bug: Preserve bullet item indent on newline

Tests

  • test: passing tests increased from 137 to 287
  • test: fix strike through test

Docs

  • docs: new examples
  • docs: list of plugins
  • docs: react to svelte porting tips are moved under porting plugins page

Build

  • build: CI action script version upgrade to 4
  • build: upgrade y-websocket to v1.5.4
  • build: include @lexical/text as dependency after ESM fix
  • build: move plantext-editor and richtext-editor packages to vite 5
  • build: import 'IS_' and 'CAN_*' environment constants from @lexical/utils

0.4.0

06 Apr 03:47
Compare
Choose a tag to compare

Breaking Changes

  • breaking: upgrade to sveltekit 2
  • breaking: upgrade to vite 5
  • breaking: port svelte-lexical package from rollup to vite

New Features

  • feat: upgrade to lexical 0.14.2 from 0.11.2
  • feat: Font Size entry control
  • feat: Floating link editor for AutoLinkNode and conversion to LinkNode once modified
  • fest: Meta + Click opens a link in new window
  • feat: right click select images
  • feat: Support HTML export overrides from config for nested editors
  • feat: allow overriding HTML serialization behavior from the editor config
  • feat: add nodes replacement support for nested composer

Build and Test

  • build: upgrade to prettier 3 (supports ESM)
  • build: setup prettier for playground package
  • build: upgrade node version to 18 in CI
  • build: remove dependency on @lexical/text as ESM build not working
  • build: missing exports condition warning
  • build: fix eslint warning post upgrade
  • test: fix failing tests after upgrade
  • test: move from jest to vitest
  • perf: increase the size limit on playground from 162kb to 170kb
  • perf: move to native UUID

Bug Fixes

  • bug: allow setting className for checklist in theme
  • bug: Edit Link modal fix when link and extra text is selected
  • bug: Make autolinks work for formatted text
  • bug: link address is not shown if comment is set
  • bug: floating formatter toolbar position
  • bug: dispatching undo & redo states for collaboration
  • bug: divider not showing in dropdown
  • bug: fix Double Deletion on Backspace
  • bug: prevent file:/// img conversion
  • bug: image resizer fix
  • bug: add selection adjustments for node removal

0.3.5

05 Feb 07:20
Compare
Choose a tag to compare
  • breaking change: upgrade to svelte 4
  • feat: new logo for svelte-lexical
  • feat: added trash button to floatingLinkEditor plugin to remove the link
  • feat: Add a title to the link node to support titles in markdown
  • feat: Allow excluding specific properties from collab syncing via plugin
  • feat: View DOM HTML in Debug Tree View
  • feat: Add keyboard shortcut for adding hyperlinks
  • bug: misaligned drop down menus for sveltekit project #56
  • bug: fix unresponsive resize handle in Safari
  • bug: Editing a link and changing selection shows wrong link value
  • bug: toggle link using keyboard shortcut doesn't clear the link
  • bug: insert link through toolbar or shortcut doesn't open floating editor in edit mode
  • test: lot of new tests and update to existing tests
  • perf: size limit for library

0.3.4

16 Jul 14:28
Compare
Choose a tag to compare
  • fix: npm dev build issue (#53)
  • test: fix HorizontalRule test for Webkit
  • feat: add hashtag plugin

0.3.3

06 Jul 14:05
Compare
Choose a tag to compare
  • feat: upgrade to Lexical 0.11.1
  • feat: sticky toolbar to assist in editing large content
  • test: a number of new tests
  • feat: Floating link editor - better positioning
  • fix: opening dropdown submits forms
  • refactor: Composer.getEditor() for easy access to editor for library users

0.3.2

25 Apr 16:04
Compare
Choose a tag to compare
  • feat: upgrade to lexical 0.9.0
  • feat: apply node transform not only to the original node but also to the overriding node
  • feat: set the update tag from yjs based on the origin
  • feat: allow users to customise the indentation of tabs
  • feat: add style properties to RangeSelection in Debug TreeView
  • feat: remove floating toolbars on mobile devices
  • feat: enable use of other providers for collaboration
  • feat: add command logging into debug tree view
  • feat: improved link editor UX
  • bug: styling tweaks to better accommodate long urls
  • bug: sveltekit dev build error about import of y-websocket
  • bug: static image path change due to upgrade of svelte/vite
  • test: add fixme annotation to flaky collab tests (lexical)

0.3.1

18 Apr 20:44
Compare
Choose a tag to compare
  • feat: support collaboration in a nested editor (image caption)
  • feat: improved Model Dialog component (better look and feel, more configurable)
  • feat: make toolbar insert menu configurable (ability to choose commands)
  • feat: upgrade to lexical 0.7.7
  • feat: upload image
  • feat: add sample images in playground
  • perf: reduce bundle size if collaboration is not used for image caption editor
  • build: support css import in JavaScript and svelte files for rollup build
  • test: remove html comments and empty class attributes in comparing actual and expected
  • test: new tests for Copy Paste, Horizontal Rule and Images
  • bug: focus lost after inserting image through toolbar
  • bug: ssr (server-side rendering) error for sveltekit due to collaration.ts (fix #38)

0.3.0

04 Apr 08:04
Compare
Choose a tag to compare
  • breaking: remove package richtext-editor-basic

New Features

  • feat: inline code format
  • feat: code block with syntax highlighting for 14 languages
  • feat: floating toolbar to copy and format code, close #33
  • perf: load prettier and its parsers on demand for code block (#34)
  • feat: AutoLinkPlugin - auto create links from url and email
  • feat: support for link / URL nodes; pasted links are converted to Link Nodes
  • feat: floating link editor
  • feat: Insert link command for toolbar
  • feat: working plaintext editor demo
  • feat: support for plaintext editor in playground
  • feat: keyboard support in toolbar DropDown menus
  • feat: show keyboard shortcuts for undo/redo button (OS specific)
  • feat: replace platform select control with custom html components in the toolbar
  • feat: make toolbar configurable (add/remove commands)
  • feat: update toolbar commands to work with active editor (useful with nested editors)

Build Enhancements

  • build: only es module (no UMD) for svelte-lexical to support code splitting
  • build: fix all lint and svelte-check issues
  • build: run build script in CI for svelte-lexical and demo projects
  • build: show error on using console (eslint no-console)
  • build: ts-ignore lint issue with typing inside svelte html
  • refactor: use TypeScript for all svelte files

Bug Fixes

  • bug: ssr changes broke image drag/drop, fix #24
  • bug: DropDown not supporting SSR (fix #36)
  • bug: wrong icons for Outdent and Indent commands on the toolbar, fix #31
  • bug: include split page html into the prod build for playground package

Testing

  • test: commands for running tests on different browsers, OS and app settings
  • test: also run on linux in CI
  • test: also run on mac in CI
  • test: run collab tests in CI on windows, macos and linux
  • test: prettier autoload plugins not working with pnpm, fix #25
  • test: new tests for list, code block and keyword plugins

0.2.0

21 Feb 15:45
Compare
Choose a tag to compare
  • feat: support for collaboration (CollaborationPlugin)
  • feat: support for image caption
  • feat: KeywordPlugin - highlight keywords
  • feat: support for Decorator Nodes (mechanism for plugging UI framework in lexical) - See more here
  • feat: supported nested editors with NestedComposer component
  • feat: shared history state for nested editors - undo/redo
  • bug: ensure no global state - support multiple editors on a single page
  • feat: support SSR (server-side rendering) - see sveltekit demo
  • feat: support for placeholder text in the editor
  • feat: AutoFocusPlugin - automatically focuses the editor on page load
  • refactor: expose class attribute for ContentEditable
  • test: split view to test collaboration
  • feat: settings UI in the playground (turn off debug view etc.)
  • test: turn off not implemented tests with fixme