0.2.6 (2024-11-03)
- floating-toolbar: should not wrap onto multiple lines (fde5184)
- image: cannot resize image if original width is not set (dcc70fb)
- image: add caption (39f11d3)
- box: add corner-toolbar (de1d016)
- box: add renderfloatingtoolbar event (9537369)
- editor: rename attribute from data-readonly to readonly (323624c)
0.2.5 (2024-10-24)
- box: jump to the start position when clicking floating toolbar (06d2bb0)
- box: sometimes toolbar is generated repeatedly (7d8bb4a)
- i18n: proofread (4167028)
- image: improve the icon displayed when an error occurs (110a446)
- menu: prevent line breaks in menu items (e31f896)
- menu: should not show scrollbar when the popup menu reaches the bottom (f2ad65a)
- popup: should not add box shadow to icon button (d9a6424)
- box-resizer: add target to config; remove box from config (cbb2968)
- floating-toolbar: add updateState method (c64da30)
- floating-toolbar: replace box property with range (a110e14)
- floating-toolbar: extend toolbar (fc13920)
- floating-toolbar: rename config.range to config.target; support node type (20ff903)
- image: add toolbar for box (2178be2)
- isVisible: rename function from nodePosition to isVisible (8bd2d89)
- isVisible: support range (d5d16c9)
0.2.4 (2024-10-02)
- add-mark: get incorrect result when there is an empty span tag containing other marks (25fec3c)
- add-mark: should not remove another empty mark when the range is collapsed (230e704)
- menu: improve style (47a84d3)
- popup: increase z-index for popup (e0468e1)
- remove-mark: should not remove another mark when the range is collapsed (3c9a2d2)
- slash: improve style (9ab3876)
- css: change custom properties from local to global (2bd2b20)
0.2.3 (2024-09-30)
- dropdown: improve CSS selector to prevent it from being overridden by other rules (40bdd3d)
0.2.2 (2024-09-30)
- box-toolbar: have incorrect position when resizing window (ced52dd)
- code-block: the width should not be fixed (9202284)
- image: box should not render after it has been removed (bd3310a)
- insertBox: should remove marks before inserting an inline box (0190a56)
- nodes: closestContainer does not support text node (d55aae4)
- slash: should pass locale to menu (192209b)
- box-toolbar: remove root property from config (ae86f45)
- dropdown: menu can be added to document body by location config (f69fe86)
- dropdown: rename config from placement to direction (c4ec524)
- editor: remove popupContainer property (558bf6f)
- editor: remove resize and scroll events (7a3d2ba)
- link-popup: remove root property from config; add onShow and onHide to config (b51b984)
- mention: add plugin (9d74d3c)
- menu: add menu class (f046735)
- range: add getCharacterRange method (c00a0df)
- dropdown: create menu when clicking dropdown (60759ad)
0.2.1 (2024-09-13)
- box: cannot deselect a selected box when clicking outside the editor (e1fde85)
- box: cannot select a box when current selection is outside the editor (2036cee)
- scroll: should be aligned to the nearest edge of the visible area (bad77de)
0.2.0 (2024-09-11)
- backspace: empty tags before the caret cannot be removed (141a384)
- slash: the popup's direction should not be changed while searching items (fc24489)
- upload: choosing the same file does not trigger change event (ba11177)
- equation: add help icon (bad6ed8)
0.1.25 (2024-09-07)
- equation: improve words (130ef06)
0.1.24 (2024-09-05)
- selection: if the range is outside, the native selection should not be updated (b2097f8)
0.1.23 (2024-09-04)
- box resizer: test case throws an exception on Firefox (44980ce)
- box toolbar: improve unmount method (a15b1a2)
- box toolbar: lake-custom-properties class is removed when hiding the toolbar of the box. (5da1d9f)
- code block: event listener of dropdown not removed when unmounting editor (2fa3e0d)
- editor: copy, cut and paste events are triggered when the current selected range is not within the editor (2551fb3)
- editor: event listeners are not removed when unmounting (0bdd330)
- editor: should clear debounce functions when unmounting editor (5bc428d)
- editor: toolbar not removed when removing editor (37c987f)
- equation: cannot hide textarea form after a new equation is inserted (4a3e65d)
- link: focus on the end of the link after finishing link editing. (911da02)
- link: while popup for link is open, box cannot be selected when clicking on it (542e581)
- toolbar: event listener of dropdown not removed when unmounting toolbar (d1709ab)
- toolbar: should not update state after the toolbar is removed (844b9d5)
- box: getEditor method always returns an editor object (b7b6a7f)
- box: set vertical alignment of inline box to middle (5d43eff)
- editor: add scroll event (55d8813)
- editor: support excluding specific plugins (54a8e2c)
- editor: rename method from updatePosition to position (668a689)
- editor: enable a plugin by setting its config to true (b27acc5)
- equation: set focus on the textarea after inserting an equation (d2e61e1)
- keystroke: remove alias (57da2f4)
- nodes: add value method (2d79dd0)
- plugin: return unmount function (22df5a5)
- plugin: use name to identify specific plugins (770870a)
- plugin: add slash shortcut (14d4f11)
- utils: add scrollToNode function (583484c)
- utils: rename function from nodeAndView to nodePosition (6824548)
0.1.22 (2024-07-16)
- code block: backspace key deletes code block when all code is selected (d4c24bf)
- code block: poor performance when typing rapidly (2af8052)
- editor: caret position is sometimes incorrect (b0c4d9d)
- editor: poor performance when typing rapidly (017560d)
- editor: remove input event (0c65a51)
0.1.21 (2024-07-13)
- selection: current selection will be changed when clicking outside the container (1869d65)
- toolbar: new content should be inserted at the end of the editor when toolbar buttons are clicked (9ae3158)
- nodes: add contains method (2834af4)
0.1.20 (2024-07-11)
- editor: throw an error when rendering multiple editors (daeb6a9)
0.1.19 (2024-07-10)
- box: display incorrect text when inputting text at the start or end of an inline box in composition mode (89c0c7b)
- HTMLParser: class attribute does not support multiple values (3cce249)
- range: getRect method returns incorrect value with empty text node (8d53728)
- range: add adjustBr method (82d7053)
- range: improve shrinkAfter method (5bbb2b4)
- utils: add appendBreak function (1a5deca)
- utils: remove appendDeepest function (2d8d83b)
- utils: rename function from getDeepest to getDeepElement (87379c9)
- utils: rename function from removeBr to removeBreak (6be718f)
0.1.18 (2024-07-06)
- backspace: br should not be merged into non-paragraph blocks (f8c9fff)
- keystroke: hotkeys should not be triggered in composition mode (f96aa47)
- nodes: isEmpty method incorrectly returns true if a block contains multiple br nodes (5480e7f)
0.1.17 (2024-07-04)
- backspace: unable to remove the first br node (c318240)
- history: doesn't re-render boxes with updated attributes when undoing or redoing (396aca7)
- editor: placeholder is not removed when inserting composition text (7fa391a)
- editor: prevent displaying duplicated contents when re-rendering a box (164dfe7)
- range: getRect throws an error with empty text node (23bec1a)
- editor: uncompleted text is inserted in composition mode (3c63151)
- editor: when the caret is positioned behind a br tag, the input event is triggered twice (936121d)
- plugin: add equation (40e8402)
- plugin: add special character (a8906c8)
- editor: disable undo and redo buttons when there is no data to do (e179d4d)
- HTMLParser: remove getNodeList method (8baf5cb)
- keystroke: replace tinykeys with is-hotkey (39531b6)
- editor: rename method from debug to info (4cbc103)
0.1.16 (2024-06-21)
- box: immediately update the classes after selection changed (11a9191)
- code block: scroll to the top after selecting language (05e05d4)
- dropdown: no hovered effect (dc78458)
- dropdown: support character (217b422)
- utils: use native functions to encode or decode base64 (009fa6f)
0.1.15 (2024-06-15)
- setBlocks: indent attribute should not be added (e89fc5a)
- upload: ensure XHR in uploading status is always canceled when removing box (d3716b0)
- plugin: add emoji (86efe76)
- dropdown: menu supports icon type (758fc27)
- editor: add historySize (0b38265)
- editor: remove boxselectionstylechange event (ad35549)
- editor: export insertBox and removeBox (ba8e075)
- editor: insertContents removed (6c9744a)
- editor: some methods support the first node only (c1f1a97)
0.1.14 (2024-06-03)
- backspace: empty code block should be removed (120645a)
- backspace: after deleting the last character inside a mark, br should not be added (7f0a51e)
- backspace: should remove empty marks when merging two blocks (b0d50cb)
- editor: history not saved after fixing incorrect content (a2df268)
- history: index is incorrect when undoing (0f008ec)
- history: sometimes cannot undo (3441f5f)
- markdown: history should not be saved after executing a command (db2e322)
- editor: minChangeSize config does not work (b3aaa9a)
- editor: scrolling to wrong position when deleting text with an empty text node (3ed1d87)
- editor: should avoid changing the DOM tree when getting value (8e450b5)
- editor: the editor sometimes loses the caret (6a5f218)
- toBookmark: zero width space should not be removed (1e4c1d2)
- editor: unsaved input data isn't reset after the length reaches minChangeSize (c7c3c0e)
- editor: value of change event is incorrect after fixing incorrect content (4c5e1be)
- editor: remove prepareOperation and commitOperation methods (9187f25)
- history: change accessibility of list and index from private to public (2bc2ab3)
0.1.13 (2024-05-27)
- copy and cut: adjust the selection when multiple boxes are selected (c38aad0)
- copy and cut: improve adjusting; rename methods from adapt to adjust (534d675)
- file: wrong style in headings (175b284)
- history: sometimes the index is not subtracted when undoing (c3cdb19)
- incorrect content generated when copying or cutting (a16e195)
- paste: inline box not rendered after copy and paste (47f99a4)
- paste: throw an error when pasting multiple inline boxes into empty block (12511ff)
- video: styling issue in headings (c9abd3e)
- editor: when there are multiple editors, the focus jumps to the wrong position after inserting content (193c92a)
- editor: move box instance methods to the editor class (a5ae9e7)
0.1.12 (2024-05-21)
- box toolbar: unable to display divider (02fbbbe)
- box: should not display boxes in undone status (89dab49)
- getBox: should save all instances (dbdc642)
- image: throw an error after removing an image before it finishes loading (33595b2)
- readonly: cannot select code or filename (6d73990)
- box: add beforeunmount event; remove useEffect method (7bf8411)
- box: add setToolbar method (5c1ab5f)
- link: support saving by pressing enter key (53b3b83)
- plugin: add video
0.1.11 (2024-05-17)
- backspace key: produce unexpected br with inline box (9925db3)
- file: unexpected activation before focusing on the box when clicking (63d359e)
- list: cannot change a numbered list that includes an inline box to another list (77426bc)
0.1.10 (2024-05-16)
- nodeAndView: sometimes returns wrong value (2b08afc)
0.1.9 (2024-05-16)
- nodeAndView: returns an incorrect top value when the page has a scrollbar (a5c926e)
- box: add toolbar for box (054b8ce)
- box: getBox supports boxName (1ba5162)
- editor: add selectBox method (669b135)
- editor: enhance removeBox method (7f78eb5)
- plugin: add file (c2e229e)
- utils: add nodeAndView (efc45f9)
0.1.8 (2024-05-10)
- editor: cannot copy or cut a box (c4106ad)
- editor: does not scroll to caret after inputting text outside viewport (4592977)
- editor: scrollToCaret is not working when overflow is visible. (4207100)
- image: cannot resize image (21a0202)
- image: lose focus when zooming in the iOS (bdc9a13)
- paste: cannot paste when selecting a box (86b0d19)
- drop: support dropping a file from outside (797d8b2)
- drop: show indication rod when dragging (22a832f)
- selection: add scrollIntoView method (177cf79)
- box: support drag-and-drop feature used to moving a block or a box (e2c1064)
0.1.7 (2024-05-01)
- markdown: should not make code block when inputting less than three backtick characters (c6d3e23)
- toolbar: dropdown should use the center point to determine displaying direction (5094a06)
- toolbar: toolbar can be placed at the bottom of the content (d16076e)
0.1.6 (2024-04-30)
- code block: dropdown menu is not fully visible (5498b92)
- editor: should remove all events after unmounting editor (342736d)
- editor: should remove all listeners when unmounting (6a0b4d2)
- editor: add placeholder (a8998f5)
0.1.5 (2024-04-28)
- deleteContents: when deleting after selecting all, an invalid empty table may be left. (61fcb12)
- editor: should not focus on the editor after loading (d2290c8)
0.1.4 (2024-04-27)
- editor: add hasFocus property; remove lake-root-focused class (7c2ef93)
0.1.3 (2024-04-26)
- code block: in read-only mode, show caret (0b99a48)
- alerts: remove success, error types; change style; (ee3fe50)
- editor: each editor can have its own lang setting (0a488d9)
- markdown: support short form of code block (02da430)
0.1.2 (2024-04-25)
- read-only: when rendering editor, plugins should be executed (2d343fe)
- code block: add config (eff9134)
0.1.1 (2024-04-23)
- editor: add setPluginConfig method; improve code around config (884db6d)
0.1.0 (2024-04-23)
- core: add HTML parser
- core: add text parser
- core: add history (undo, redo)
- core: support i18n
- plugin: add paste
- plugin: add select all
- plugin: add heading
- plugin: add blockquote
- plugin: add list (numbered list, bulleted list, checklist)
- plugin: add align (left, center, right, justify)
- plugin: add indent (increase, decrease)
- plugin: add bold
- plugin: add italic
- plugin: add underline
- plugin: add strikethrough
- plugin: add subscript
- plugin: add superscript
- plugin: add inline code
- plugin: add font family
- plugin: add font size
- plugin: add font color
- plugin: add highlight
- plugin: add remove format
- plugin: add markdown shortcuts
- plugin: add format painter
- plugin: add copy
- plugin: add cut
- plugin: add hr
- plugin: add image
- plugin: add link
- plugin: add code block
- plugin: add toolbar