Peter Savchenko
b619946e8f
fix(slash): do not handle / + shift/alt, support for ascii keyboard ( #2599 )
...
* fix(slash): do not handle / + shift/alt, support for ascii keyboard
* support keyboards without physical '/'
2024-01-28 13:45:01 +03:00
Betty Steger
4bdf7a12b7
chore(on-change): check data-mutation-free of parent nodes ( #2548 )
...
* add data-mutation-free=deep
* just use closest and reduce waiting time in test
* Update src/components/block/index.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update test/cypress/tests/onchange.cy.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* add data-mutation-free=deep
* just use closest and reduce waiting time in test
* Update src/components/block/index.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update test/cypress/tests/onchange.cy.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* add line in Changelog
* Update docs/CHANGELOG.md
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* add support for characterData mutations
* Update onchange.cy.ts
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2024-01-10 22:27:19 +03:00
Peter Savchenko
11925ca980
fix(caret): caret loosing on mobile devices ( #2570 )
...
* fix(caret): caret loosing on mobile devices
* rm unused import
2023-12-22 23:31:46 +03:00
Peter Savchenko
cd29c52e51
feat(ui): native-like tab behaviour, slash for toolbox ( #2569 )
...
* slash to open toolbox, tab for navigation
* tab, focus improvements
- remove "focused" block state
- tab navigation respects inputs
- allow to focus contentless blocks
* fix tests
* tests for Slash
* tab tests
* test for tabbing out of editor
* tests fixed
* review fixes
2023-12-22 23:15:35 +03:00
Peter Savchenko
c5854eea14
fix(inline-toolbar): appearance logic improved ( #2550 )
...
* fix(inline-toolbar): appearing logic improved
* tests added
* fix tests
* debounce added
* fix test build in github action
* increase closeTo delta for ff
2023-12-09 02:05:27 +03:00
ferntheplant
494d6e4b9b
fix: use type imports for block events ( #2491 )
...
* fix: use type imports for block events
* add changelog entry
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-12-05 19:26:10 +03:00
Peter Savchenko
5e8fe06dd6
fix: errors caused by events fired while editor is not initialized yet ( #2532 )
...
* fix(init): errors cause by events fired while editor is not initialized yet
* Update package.json
2023-11-08 22:35:52 +03:00
Al-Amin Firdows
92ccfc5317
docs: replace holderId config by holder ( #2525 )
...
* docs: replace holderId by holder
* docs: replace holderId by holder
2023-11-02 19:46:09 +03:00
Peter Savchenko
ee188bfe5d
feat(config): new style.nonce option for CSP ( #2519 )
2023-10-23 01:08:26 +03:00
Peter Savchenko
35337747c5
fix(inline-toolbar): editor element grow on inline toolbar close ( #2516 )
2023-10-19 00:44:06 +03:00
Peter Savchenko
e8acc59487
fix(onchange): blocks.render would not call onChange in safari ( #2514 )
2023-10-17 18:26:23 +03:00
Peter Savchenko
bdb6eed9d1
Merge branch '2.28' into next
2023-10-17 15:43:50 +03:00
Peter Savchenko
b8cfcaec26
fix(build): 2.28.1 package rebuilt
2023-10-17 15:19:57 +03:00
Peter Savchenko
7d0db9b622
chore(patch): pull 2.28.1 patch to the next ( #2507 )
...
* fix(paste): delay onPaste call to be sure that block is ready (#2506 )
* chore(package.json): increment patch version
* Update CHANGELOG.md
2023-10-11 20:28:16 +03:00
Peter Savchenko
ca2bc803a1
fix(paste): delay onPaste call to be sure that block is ready ( #2506 )
2023-10-11 19:43:18 +03:00
Peter Savchenko
ec569f9981
fix(toolbar): layout shrink after blocks removing ( #2484 )
2023-09-20 11:07:25 +03:00
Peter Savchenko
0369ff5827
fix(renderer): handle empty array as data.blocks ( #2454 )
2023-09-05 11:24:47 +03:00
Peter Savchenko
59c8d28da5
chore(release): bump version to 2.28.0 ( #2455 )
2023-08-25 00:23:57 +03:00
Peter Savchenko
42612a0fd9
chore(blocks.render): mutex for onchange added to the blocks.render() ( #2449 )
2023-08-21 12:28:31 +03:00
Peter Savchenko
922dfd8741
chore(api): blocks.update(id, data) method improved ( #2443 )
...
* 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
2023-08-19 07:53:42 +03:00
Peter Savchenko
b39996616c
chore(perf): initialisation and rendering performance optimisations ( #2430 )
...
* renderer batching
* initialization and rendering performance optimized
* insertMany api method added
* Update index.html
* rm old method
* upd changelog
* upd paragraph
* paste tests fixed
* api blocks tests fixed
* backspace event tests fixed
* async issues in tests fixed
* eslint
* stub block added, tests added
* eslint
* eslint
* add test for insertMany()
* Update package.json
2023-08-08 22:17:09 +03:00
Peter Savchenko
022320940e
feat(shortcuts): convert block by tools shortcut ( #2419 )
...
* 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
2023-07-20 23:27:18 +03:00
Peter Savchenko
b24bebbc40
feat(blocks-dom): block ids exported as data-id attribute ( #2404 )
2023-07-06 23:59:28 +03:00
Peter Savchenko
2ab9eb13bc
feat(block-events): delete keydown handling added ( #2402 )
...
* feat(block-events): delete keydown logic added
* chore(ui-events): delete keydown will remove selected blocks
* backspace tests added
* delete keydown tests
* tests for ui added
* fix ci
* separate block events tests for several files
* Delete BlockEvents.cy.ts
* rm unused change
* add code-review fixes + corner cases handling
* Update blockEvents.ts
* allow merging only same type blocks
2023-07-06 23:45:12 +03:00
Peter Savchenko
9e64003c0a
fix(onchange): support data-mutation-free on attributes chane ( #2393 )
2023-06-22 20:42:14 +03:00
Peter Savchenko
c8993332e3
fix(onchange): callback will be fired on removing of a whole text ( #2392 )
...
* fix(onchange): callback will be fired when the whole text is removed in a block
* whops
2023-06-21 20:32:25 +03:00
Peter Savchenko
1f74c5bec9
chore(release): change log updated, version updated ( #2356 )
...
* changelog updated, version updated
2023-05-15 22:43:45 +03:00
Peter Savchenko
b7b00fd060
chore(onChange): bugfix, batching, improvements of ModificationsObserver ( #2349 )
...
* block onchange stash
* improve block filtration
* update tool root
* chore(block): remove willSelect und willUnselect
* onchange events batching
* get rid of CustomEvent extension, create custom event map instead
* improve types of EventsDispatcher
* fix tests
* custom sinon + chai matchers
* improve tests, add mutex for fake cursor
* add test for fake-cursor mutex
* test for batch filtering
* fix caret setting by enter press at the end of the block
* test for detectToolRootChange
* remove resolved todos
* changelog added
* fix tests
* Update CHANGELOG.md
* rename FakeCursorAboutToBeSet -> FakeCursorAboutToBeToggled
* update didMutated statements
* move inputs cache clearing to a separate method
* rm Record inheritance from Event maps
* add type alisases
* rename isElementContainsFakeCursor -> isFakeCursorInsideContainer
* improve code style
2023-05-12 20:50:48 +03:00
Taly
aafab1d395
Use Vite builder ( #2300 )
...
* vite builder initial
* save
* add displayName
* add paragraph from npm
* fix postcss apply
* remove some packages, fix tests
* Update cypress.yml
* remove logs
* remove unused packages
* update path to image
* update
* Update index.html
* Update cypress.yml
* Update cypress.yml
* Update cypress.yml
* remove displayName field
* update names
* Update index.ts
* Update index.ts
* update packages
* remove packages
* postcss preserve: true
* Update index.html
* Update editor-modules.d.ts
* use public dir for static
* Update vite.config.js
* update modules type
* Update CHANGELOG.md
2023-04-13 22:25:29 +03:00
Guillaume Leon
0491155e33
feat(toolbar-api): method for toggling toolbox ( #2332 )
...
* Expose toolbox control method
* Add test for toolbox
* rename method to toggleToolbox
* add missing test case
* Add changelog
* remove eslint rule
* Update changelog
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* fix linter problems
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-04-13 20:02:46 +03:00
Ilya Maroz
f5313fda40
ci(tests): improve workflow for running tests ( #2328 )
...
* ci: use ubuntu container for edge runner
* chore: upgrade CHANGELOG.md
* chore: fix linter in cypress config
2023-04-02 22:16:45 +01:00
Ilya Maroz
d7f1853ca1
deps(Cypress): upgrade library and related packages to latest versions, migrate config, fix type error ( #2327 )
...
* deps: upgrade cypress and related libraries
* chore: automate migrate cypress config, rename spec files
* fix: custom commands types
* chore: upgrade CHANGELOG.md
* ci: upgrade cypress action to support new config file format
* ci: remove container from firefox job, upgrade checkout action
2023-04-02 19:20:59 +01:00
Ilya Maroz
75379c66a9
deps(TypeScript) - upgrade to v5, upgrade ts-loader, fix types error, fix pasteConfig getter wrapper ( #2322 )
...
* 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>
2023-04-02 16:52:42 +01:00
Taly
b7d754c93d
chore(docs): use local images in docs files ( #2239 )
...
* update image
* use local images
---------
Co-authored-by: Ilya Maroz <moroz.ilya.olegovich@gmail.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-03-21 18:59:57 +00:00
Peter Savchenko
5257b061c4
fix(block): remember plugin's content element instead of dom search ( #2311 )
...
* fix(block): remember plugin's content element instead of dom search
* improve doc
* test case added
2023-03-20 23:28:17 +03:00
Anwar Hussain
86c84d8555
hotfix: add popular grammar checker extension node names ( #2096 )
...
* hotfix: add popular grammar checker extension node names
* fix: prettier messed the existing code style
* update the changelog
* Update docs/CHANGELOG.md
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update CHANGELOG.md
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-03-15 12:27:25 +00:00
Ilya Maroz
447f980d4a
build(publish): optimise npm package size ( #2301 )
...
* build: optimize npm package size
* fix: excluded regexes
* chore: update CHANGELOG.md
* fix: changelog information
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-03-14 11:09:42 +00:00
Kirk Douglas Jr
9ae96b9e17
fix(move-up-tune): scroll up offset for blocks above viewport ( #2298 )
...
* fix: scroll up offset for blocks above viewport
* Update CHANGELOG.md
* Update CHANGELOG.md
---------
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-03-14 00:09:04 +03:00
Alireza Kamali
7bd5c53ab2
fix(types): compiler error from importing type BlockToolData ( #2264 )
...
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-02-21 00:18:50 +02:00
Peter Savchenko
dfb07ec4e4
fix(tests): fire mutation event on tune activation ( #2281 )
...
* 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
2023-02-20 00:59:10 +02:00
Tatiana Fomina
07b1ce2aca
Chore/popover refactoring ( #2249 )
...
* Add new popover class
* Add flipper
* confirmation
* confirmation
* Add confirmation support
* Add search
* Add toggle group support and update popover tests
* Add custom content support
* Fix scroll issue
* Add mobile version
* Integration
* Fix animation
* Cleanup
* Fix popover position for narrow mode
* Fix tests
* Update version and changelog
* Rename css classes
* Move files
* Stop using PopoverItem from outside of popover context
* Fix jsdoc
* Move error animation to popover item
* Update css variables
* Update docs/CHANGELOG.md
Co-authored-by: Ilya Maroz <37909603+ilyamore88@users.noreply.github.com>
* Update src/components/block-tunes/block-tune-move-down.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Update src/components/block-tunes/block-tune-move-up.ts
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* Fixes
* Fix imports
* Fix toolbox close event
* Move search-input file
* Fix comment
* Rename method
* Cleanup
* Remove onFlip callback from popover item
* Rename
* Fix removing event listener
* Move popover animations to popover.css file
* Cleanup styles
* Fix jsdoc
* Fix confirmation chains
* Close toolbox oly when it's open
* Change activation error animation
* Update version and changelog
* Fix overlay
* Update icon border-radius on mobile
* Disable item text select
* Update changelog
* Update yarn.lock
* Add rc postfix to version
---------
Co-authored-by: Ilya Maroz <37909603+ilyamore88@users.noreply.github.com>
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
2023-02-10 21:29:58 +03:00
Denys Vuika
d6cad60af3
Remove incorrect import for typings ( #2252 )
...
* Remove incorrect import for typings
Removes incorrect `'cypress/types/bluebird'` import; fixes #2251
* Update changelog and version
* Update CHANGELOG.md
---------
Co-authored-by: Tanya Fomina <fomina.tatianaaa@yandex.ru>
2023-01-31 20:32:43 +03:00
Tatiana Fomina
870e265af0
fix(tunes): Make label an alias for title in tunes menu item ( #2198 )
...
* 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
2022-12-14 23:46:36 +03:00
Umang G. Patel
c97f0842f5
fix(paste): handle pasteConfig with tag names specified in upper case ( #2217 )
...
* 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>
2022-12-14 14:25:02 +05:30
Tatiana Fomina
b9a0665672
fix(tunes): make installed tunes render above default tunes ( #2204 )
...
* Fix tunes order
* Update version and changelog
* Fix tests
2022-12-06 16:32:57 +03:00
Tatiana Fomina
913ad0c8dc
feat: Add toggle group support ( #2195 )
...
* 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>
2022-12-01 20:58:58 +03:00
Peter Savchenko
d56c07c3dc
chore(icons): icons size increased for mobile devices ( #2190 )
...
* popover icons size increased on mobile devices
* update icon size on mobile
* some mobile styles improvements
* inline tools click on mobile devices improved
2022-11-29 12:02:23 +04:00
Peter Savchenko
1a72d2153b
fix(toolbox): shortcuts appearance fixed, icons became optional ( #2188 )
...
* fix(toolbox): shortcuts appearing fixed, icons became optional
* rm only from test
* Update tools.spec.ts
* rm useless tests
* Update CHANGELOG.md
2022-11-29 01:57:48 +04:00
Peter Savchenko
0bf5007f6c
fix ci ( #2182 )
2022-11-26 11:32:04 +04:00
Valerii Varankin
811a41366b
Fix: check for Files substitutions before handling files paste ( #1928 )
...
* 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>
2022-11-26 01:24:17 +04:00