* 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>
* 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>
* 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
* 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
Co-authored-by: Tanya Fomina <fomina.tatianaaa@yandex.ru>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
* fix: call onchange event after block insert
* changelog updated
* patch version updated
* removed the modification observer from saver
* only changelog version added
* delimiter added
* feat: test case added for save inside the onchange
* fix test of async function, fix TS type because Function is banned type
* add tests for isFunction function
* fix eslint
* add changelog for 2.23.1
* fix changelog
* fix changelog
* chore(block-tune-toggler): toggler moved to the left (draft)
* toolbox ui updated
* fixd caret jumpling, improved some styles
* toolbar moving by block-hover
- UI module triggers 'block-hovered' event
- Toolbar uses 'block-hovered' for appearing
- `currentBlock` setter added to the BlockManager
- (reactangle-selection): the throttling added to the mousemove and scroll handlers
- `getBlockIndex` method added to the Api
- (api-blocks): toolbar moving logic removed from `blocks.move()` and `blocks.swap()` methods. Instead, MoveUp and MoveDown tunes uses Toolbar API
* the dark-theme to the example-dev.html
* positioning improved
* fix(rectangle-selection): first click after RS does not clears selection state
* toolbox position fixed
* the toolbox module became a standalone class
- Toolbox became a standalone class from the editor module. It can be accessed only via the owner (the Toolbar module)
- (api.blocks) the insert() method now has the `replace` param. Also, it returns inserted Block API now.
* new(api.listeners): `on()` now returns the listener id. The new `offById()` method added
* fix bug with Tab pressing on hovered but not focused block
* mobile version improved
* upd example dev
* small updaets
* add nested-list
* linting
* (api.toolbar): `toggleBlockSettings` now fires toggling event with the same state
* EventDispatcher used instead of callbacks for the Toolbox
* UIApi added
* fix ci
* git submodules removed from the ci flow
* add paragraph submodule to the ci flow
* Update CHANGELOG.md
* Update package.json
* use ubuntu-latest for chrome ci
The new `dispatchChange()` method allows to manually trigger the 'onChange' callback. Useful when Tool made a state mutation that is invisible for editor core.
* we need to call isTune param to get result
* remove Tune from exported name
* Update CHANGELOG.md
* Bump version
* Update Tools.spec.ts
* Update Tools.spec.ts
* prevent tooltip jumping
* Update CHANGELOG.md
* Delete table
* Create table
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* feat: Add unique ids for each block
* fix: Improve code based on code review
* feat(block ids): Use nanoid library for block id generation
* Remove unused files
* Add tests
* Fix lint & test
* fix: Remove unnecessary id generation, use nanoid(10) to shorten the id, add changelog and some documentation
Also improved some documentation along the lines and fixed linting
* Update copy-paste.spec.ts
* fix id generation, add api method
* Update blocks.spec.ts
* update tests
Co-authored-by: cobb <kebincheng@yeah.net>
Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
Co-authored-by: Georgy Berezhnoy <gohabereg@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.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>
* Initial commit
* Fixed test.html file
* Create editor instance in the test
* Assert paragraph data in editor instance
* Moving cypress folder to test folder
* Minor Fixes
* Removed config test for now
* Fixed example.html
* Fixed editor.js dist path
* Minor Fixes
* Stored Host in a const
* Add nodemon and Fix commands
* Add and configure cypress eslint plugin
* Updated Tests according to best practices
* Minor FIxes
* Minor FIxes
* adjust eslint and ts
* Update .eslintrc
* improve config
* debug tests
* fix tests
* Fix declarations
* descrease debounce
* rm timeout
* Update CHANGELOG.md
* Update CHANGELOG.md
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
Co-authored-by: George Berezhnoy <gohabereg@gmail.com>