* 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>
* Add padding only to opened popover
* Update version and changelog
* Update docs/CHANGELOG.md
Co-authored-by: Ilya Moroz <37909603+ilyamore88@users.noreply.github.com>
* Use pointer event approach
Co-authored-by: Ilya Moroz <37909603+ilyamore88@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
* 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
* 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>