* 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>
* the popover component, vertical toolbox
* toolbox position improved
* popover width improved
* always show the plus button
* search field added
* search input in popover
* trying to create mobile toolbox
* FIx mobile popover fixed positioning
* Add mobile popover overlay
* Hide mobile popover on scroll
* Tmp
* feat(toolbox): popover adapted for mobile devices (#2004)
* FIx mobile popover fixed positioning
* Add mobile popover overlay
* Hide mobile popover on scroll
* Alter toolbox buttons hover
* Fix closing popover on overlay click
* Tests fix
* Fix onchange test
* restore focus after toolbox closing by ESC
* don't move toolbar by block-hover on mobile
Resolves#1972
* popover mobile styles improved
* Cleanup
* Remove scroll event listener
* Lock scroll on mobile
* don't show shortcuts in mobile popover
* Change data attr name
* Remove unused styles
* Remove unused listeners
* disable hover on mobile popover
* Scroll fix
* Lint
* Revert "Scroll fix"
This reverts commit 82deae543e.
* Return back background color for active state of toolbox buttons
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Vertical toolbox fixes (#2017)
* Replace visibility property with display for hiding popover
* Disable arrow right and left keys for popover
* Revert "Replace visibility property with display for hiding popover"
This reverts commit af521cf6f2.
* Hide popover via setting max-height to 0 to fix animation in safari
* Remove redundant condition
* Extend element interface to avoid ts errors
* Do not subscribe to block hovered if mobile
* Add unsubscribing from overlay click event
* Rename isMobile to isMobileScreen
* Cleanup
* fix: popover opening direction (#2022)
* Change popover opening direction based on available space below it
* Update check
* Use cacheable decorator
* Update src/components/flipper.ts
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
* Fixes
* Fix test
* Clear search on popover hide
* Fix popover width
* Fix for tests
* Update todos
* Linter fixes
* rm todo about beforeInsert
because I have no idea what does it mean
* i18n for search labels done
* rm methods for hiding/showing of +
* some code style update
* Update CHANGELOG.md
* make the list items a little bit compact
* fix z-index issue caused by block-appearing animation
also, improve popover padding for two reasons:
- make the popover more consistent with the Table tool popover (in future, it can be done with the same api method)
- make popover looks better
* Some progress
Use overriden config
tmp
* Cleanup
* Proceed cleanup
* Update tool-settings.d.ts
* Get rid of isToolboxItemActive
* Get rid of key
* Filter out duplicates in conversion menu
* Rename hash to id
* Change function for generating hash
* Cleanup
* Further cleanup
* [Feature] Multiple toolbox items: using of data overrides instead of config overrides (#2064)
* Use data instead of config
* check if active toolbox entry exists
* comparison improved
* eslint fix
* rename toolbox types, simplify hasTools method
* add empty line
* wrong line
* add multiple toobox note to the doc
* Update toolbox configs merge logic
* Add a test case
* Add toolbox ui tests
* Update tests
* upd doc
* Update header
* Update changelog and package.json
* Update changelog
* Update jsdoc
* Remove unused dependency
* Make BlockTool's toolbox getter always return an array
* Fix for unconfigured toolbox
* Revert "Fix for unconfigured toolbox"
This reverts commit dff1df2304.
* Change return type
* Merge data overrides with actual block data when inserting a block
* Revert "Merge data overrides with actual block data when inserting a block"
This reverts commit eb0a59cc64.
* Merge tool's data with data overrides
* Move merging block data with data overrides to insertNewBlock
* Update changelog
* Rename getDefaultBlockData to composeBlockData
* Create block data on condition
* Update types/api/blocks.d.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update src/components/modules/api/blocks.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
* refactoring(modules): sanitizer module is util now
* Remove Sanitizer from Editor modules signature
* Bind context to config composition method
* Make sanitizer singletone
* Make sanitizer a module instead of class
* Fix
* Add test cases for default values
* Fix inline tools default value
* Move inline tools and block tunes to BlockTool instance
* Fixes after review & some test cases for sanitisation
* Upgrade test case
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>