* add custom Chai assertion "be.calledWithBatchedEvents" for testing onchange
* chore(api): blocks.update(id, data) method improved
- `blocks.update(id, data)` now can accept partial data object — it will update only passed properties, others will remain the same.
- `blocks.update(id, data)` now will trigger onChange with only `block-change` event.
- `blocks.update(id, data)` will return a promise with BlockAPI object of changed block.
* fix tests
* Update blocks.cy.ts
* feat(conversion): allow to convert block using shortcut
* display shortcuts in conversion toolbar
* tests for the blocks.convert
* tests for the toolbox shortcuts
* Update CHANGELOG.md
* Update toolbox.cy.ts
* rm unused imports
* firefox test fixed
* test errors via to.throw
* deps: upgrade typescript to v5, upgrade ts-loader to support newest TS
* Fix (??) type of `pasteConfig`
TypeScript 4.9 found something is wrong with this code, but it's unclear (to me) which line is wrong. This PR is a guess, do with it what you will.
In paste.ts there's a check to see if `pasteConfig === false`:
https://github.com/codex-team/editor.js/blob/next/src/components/modules/paste.ts#L287
However, this getter never returns false because if the LHS of the `||` is `false`, `{ }` is returned instead.
It seems like this meant to be `??` instead so that if `this.constructable[InternalBlockToolSettings.PasteConfig]` was `undefined` (missing), then `{}` would be returned instead. But maybe you meant `false` here - I don't know.
* feat: create alias for PasteConfig, fix lint
* fix: problems with types
* test: add case for disabling preventing default behavior of paste event handler, add cases for pasteConfig getter in BlockTool wrapper
* chore: upgrade CHANGELOG.md
* fix: interface naming convention
* chore: apply CHANGELOG.md suggestion
* refactor: create custom Editor instance inside test case
* fix: remove editor instance destroy after PR feedback
---------
Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@users.noreply.github.com>
* fix(onchange): fire mutation event if there are other changes along with mutation-free nodes
* update header dependency
* use node 16 for windows
* fix onChange firing by manual dispatchChange() call
* eslint
* use node 16 for ci tests
* Update CHANGELOG.md
* Make label an alias for title in tunes item
* Cleanup
* Update version and changelog
* Update changelog
* Move resolveAlias to utils
* Add fallback for popover item title
* Lint
* Lint
* Add fallback icon and title to popover
* Update version
* Lint
* Fix changelog
* Fallback to empty string
This reverts commit ae9d643557.
* Fix changelog again
* Cleanup
* Add deprecated
* toLower case added
* regression test case added
* change log update
* version updated
* Apply suggestions from code review
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update docs/CHANGELOG.md
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Add toggle group support
* Update version and changelog
* Fix
* Simplify
* Update test/cypress/tests/utils/popover.spec.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* popover icons size increased on mobile devices
* update icon size on mobile
* some mobile styles improvements
* inline tools click on mobile devices improved
* FIX: Paste text from MS Word instead of image
* changelog added
* Update CHANGELOG.md
* rm submodule change
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* refactor: added id to the insert method to allow user pass and existing id to the method
When working with multiple editor at the same and need to link all blocks to each editor and keeping the same ids in all.
* moved the position of the block_id params to the end to aaviod breaking cha
* doc: updated the documentation on insert method params
* refactor : formatted the code to add/remove space
* refactor: moved the position of the `id` and its description to the respective position
* refactor: rollback to previous commit
* added back the removed default value
* fix error, remove garbage
* test added, changelog added
Co-authored-by: Umang G. Patel <23169768+robonetphy@users.noreply.github.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* chore(icons): migrating to the coded icon pack
* conversion toolbar
* inline toolbar, part 1
* inline-link tool has the new icons
* added a test for creating a link by Enter keydown in link input
* rm last icons, svg sprite, loaders
* rollback .ce-settings styles
* Update CHANGELOG.md
* Update settings.json
* Default tunes to popover
* Add the rest of default tunes
* Add popover
* Cleanup
* Rename custom content
* Cleanup
* Add ability to open block settings upwards
* Fix tests
* Cleanup default tunes
* Rename and cleanup
* Add ability to display rendered custom tunes
* cleanup
* Rename
* Add flag to close tunes popover
* Cleanup
* i18n
* Cleanup
* Fix build and tests
* Fix for iframe
* Add comments
* Display active item, move closeOnActivate to popover
* Add confirmation support to popover
* Handle boolean value in confirmation param
* Clarify flippable logic in popover
* Comments
* Pass editor element as a param of popover constructor
* Fix readability
* Tests
* Fix flipper for confirmation element
* Update confirmation config structure
* Rename onClick to onActivate
* Fix tests and build
* Make confirmation props optional
* Simplify processing tunes
* Renamings
* Fix text block tunes
* Docs
* Update event type
* Move enabling confirmation state to separate method
* move popover types
* Unhardcode color
* Support toggling
* Add support of disabled items
* Fix tab in empty block leading to selecting second item in popover
* Remove margins for styles api settings button class
* Fix arrow navigation between blocks after opening block tunes
* Cleaup in default tunes code
* Fix chaining confirmations
* Colors
* Types
* Change the way flippable elements of popover custom area are set
* Remove borders around popover icons
* Fix untabbable inline toolbar
* Fix locked scroll after closing tunes popover on mobile
* Cleanup
* Set max popover width
* Make popover icon's border outside
* Fix tab issue
* Fix focus/hover issue
* Reformat
* Cleanup
* Fix opening block tunes via keyboard
* Add disableSpecialHoverAndFocusBehavior
* Add deprecated comment
* Cleanup
* Fix popover active state
* Fix checklist deletion with confirmation
* Fix checklist deletion 2
* Fix popover focus
* Fix popover items being impossible to flip after searching
* Fix popover item highlighting issue
* Update flipper.spec.ts
* Fixes after review
* Add Tunes Api tests
* Fix multiple popover entries configured by one tune
* Add tool's renderSettings() tests
* Add popover confirmation state test
* Fix popover width on mobile
* Add popover tests
* Add changelog and update version
* Update changelog
* Fix block tunes being unable to open after tune activation
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>