- Add
destroy()method for proper cleanup: removes event listeners, disconnects ResizeObserver, clears pending timers, and removes the cursor container from the DOM - Auto-teardown: when the Quill container is removed from the DOM, the module detects this on the next Quill event and calls
destroy()automatically
- Add CSP-compatible core bundle (
dist/quill-cursors.core.js) that does not inject inline styles, solving CSP violations for Shadow DOM users (#97) - Extract standalone CSS file (
dist/quill-cursors.min.css) for use with<link>tags or manual injection - Add
package.jsonexports map with"./core"and"./css"subpath exports
- Add RTL support: automatically detect right-to-left text direction and position cursors at the correct character edge
- Support CSS custom properties as input for the
createCursormethod by applying fade viaopacityinstead of modifying the alpha channel.
- Make event listeners passive
- Fix
ResizeObserver loop limiterror - Pin
@typescript-eslintto v5.41.0
- Moved opening/closing flag logic from CSS to JS with
touchstart,mouseoverandmousemoveevents- Get rid of using
.show-flagclass and:hoverselector for.ql-cursor-flag - Added extra
.hoverand.no-pointerclasses to.ql-cursor-caret-containerto help with toggling visibility state .ql-cursor-caret-containerhasz-index: -1on touch devices- The «active» area on touch devices depends on
.ql-cursor-caret-containerpaddings
- Get rid of using
- Relax
package.jsonengines
- Fix clicking near another user's cursor on non-touch devices
- Align interface with Quill's Module class
- Fix
ResizeObservermemory leak
- Fix inline image selection
- BREAKING: Remove most of the styling we'd previously applied to "core" Quill elements in order to stay as unopinionated as possible
- Use
.npmignoreto decrease the size of the package we publish - Flip cursor flag horizontally when it is outside the bounds container
- Add typescript declaration files
- Hide flag immediately when actively toggled
- Feature: manually toggle cursor flag
- Fix 'null' being rendered in IE
- Fix bad npm publish
- Apply
pointer-events: noneCSS to selections so that other users' selections don't block mouse and touch interaction - Ignore zero-width and zero-height selection rectangles
- Build selections from multiple
Ranges - Fix max Quill index bug
- Add a local cursor transform for smoother experience on high-latency connections
- Sort selection
spanelements - Deduplicate perfectly overlapping selection rectangles
- Add custom CSS class option
- Add HTML id attributes to the cursors
- Use ResizeObserver instead of window.onresize
- Fixes for editor with a fixed height container
- deploy.sh fix
- deploy.sh fix
- Move to TypeScript
- Breaking API changes
setCursorremoved in favour of usingcreateCursorandmoveCursor- CSS is now in-lined in JavaScript
- change to configuration options
- this module will now emit extra
selection-changeevents ontext-change
- Add tests and Travis config
- Update Webpack