Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fabric

Package Overview
Dependencies
Maintainers
2
Versions
302
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fabric - npm Package Versions

1
31

6.0.0-beta12

Diff

Changelog

Source

[6.0.0-beta12]

  • fix(Object): border rendering with padding under group #9161
  • fix(MultiSelection): add target from behind active selection #8744
  • test(): fix snapshots by removing version #9164
asturur
published 6.0.0-beta11 •

Changelog

Source

[6.0.0-beta11]

  • patch(): Avoid unwanted mutation to passed objects array to Group constructor #9151
  • patch(): ActiveSelection initialization + types #9143
  • chore(TS): BREAKING remove canvas.interactive, added typings for canvas options #9140
  • chore(TS): BREAKING PREVIOUS BETA mv + rename TProps => TOptions #9139
  • test(playwright): Use embedded eval from playwright #9133
  • chore(TS): Fix event types and .once this binding #9119
  • docs(): rm canvas2pdf #9135
  • chore(TS): export types #9129
  • ci(e2e): support relative imports #9108
  • chore(TS): complete type check #9119
  • chore(TS): Add type-checking to files excluded with ts-nocheck #9097
  • chore(TS): Add type-checking to files excluded with ts-nocheck ( Parser mostly ) #9085
  • docs(): revise test section #9114
  • fix(): #8344 stroke projection #8374
  • fix(Filters) Removing type from the options passed in the constructor #9089
  • feat(InteractiveObject): add getActiveControl() to expose __corner #9102
  • ci(sandbox): bump next.js #9100
  • test(playwright): add snapshots, refactor utils, coverage #9078
  • test(Text): Add some tests for text in Jest #9083
  • ci(): Install system deps only when necessary #9086
  • fix(util, Path): path distance measurement fix for M cmd #9076
  • chore(TS): Image class type checks, BREAKING change to FromURL static method #9036
  • ci(): properly checkout head for stats #9080
  • fix(Text): _getFontDeclaration wasn't considering fontFamily from the style object #9082
  • chore(TS): Fix ITextBehaviour enterEditing type #9075
  • cd(node): ban package.json main entry #9068
  • chore(TS): export FabricObjectProps and GroupProps #9025
  • chore(TS): Replace BaseFabricObject with FabricObject #9016
  • refactor(svgImport): remove the css/gradient/clipPath global definitions #9030
  • fix(): tweaks to type getter #9022
  • ci() Refactor GHA actions for caching and reuse #9029
  • ci(): install dev deps types #9039
asturur
published 6.0.0-beta10 •

Changelog

Source

[6.0.0-beta10]

  • chore(TS): Remove @ts-nocheck from Text class. #9018
  • Fix(Textbox) minimum word width calculation across all lines #9004
  • ci(): add Jest for the unit tests #8919
  • ci(): Revert "invoke tests after changelog action (#8974)" #9013
  • fix(IText): empty line selection #9019
  • ci(): Added playwright testing #8616
  • fix(IText): exitEditing should clear contextTop #9020
  • ci(): prettier after changelog action #9021
asturur
published 6.0.0-beta9 •

Changelog

Source

[6.0.0-beta9]

  • fix(fabric): Fix the serialization and registry dependency from minification #9009
  • chore(TS): remove troublesome AssertKeys TS construct #9012
  • fix(lib): fix aligning_guideline zoom #8998
  • fix(IText): support control interaction in text editing mode #8995
  • fix(Textbox): splitByGrapheme measurements infix length bug #8990
  • patch(Text): styles es6 minor patch #8988
asturur
published 6.0.0-beta8 •

Changelog

Source

[6.0.0-beta8]

  • BREAKING fix(IText): detect cursor from proper offsets, remove getLocalPointer from IText class #8972
  • fix(Text): styles line break #8973
  • fix(): regression to itext focusing from #8939 #8970
  • ci(): warn build errors in dev mode #8971
  • ci(): invoke tests after changelog action #8974
  • chore(TS): Export more types #8965
  • BREAKING: fabric.util.makeElementSelectable / fabric.util.makeElementUnselectable are removed #8930
  • refactor(): Canvas DOM delegation to utility class #8930
asturur
published 6.0.0-beta7 •

Changelog

Source

[6.0.0-beta7]

  • feat(): Export setFilterBackend and port the texture filtering option from fabric 5, exports some extra types #8954
  • chore(): swap commonly used string with constants #8933
  • chore(TS): Add more text types #8941
  • ci(): fix changelog action race condition #8949
  • ci(): automate PR changelog #8938
  • chore(): move canvas click handler to TextManager #8939
  • refactor(): write less bulky code #8943
asturur
published 6.0.0-beta6 •

Changelog

Source

[6.0.0-beta6]

  • patch(): expose Control#shouldActivate #8934
  • feat(Color) Improve regex for new standards, more documentation and code cleanup #8916
  • fix(TS): extending canvas and object event types (type => interface) #8926
  • chore(build) simple deps update #8929
  • fix(Canvas): sync cleanup of dom elements in dispose #8903
  • chore(TS): export util types #8915
  • chore(TS): change enums with types #8918
  • chore(TS): export gradient types
  • chore(lint) export filter colors and brushes types #8913
  • chore(lint) Add a rule for import type #8907
  • fix(Object): dirty unflagging inconsistency #8910
  • chore(TS): minor type/import fixes #8904
  • chore(): Matrix util cleanup #8894
  • chore(TS): pattern cleanup + export types #8875
  • fix(): Disable offscreen check for bg and overlay when not needed #8898
  • chore(): cleanup #8888 #8892
  • feat(env): relative window/document, support iframe #8897
  • docs(): add repo repro link to bug_report.yml #8900
  • refactor(fabric.Line): Line position is calculated from the center between the 2 points now #8877
  • chore(Path, Polyline): Clean up old SVG import code #8857
asturur
published 6.0.0-beta5 •

Changelog

Source

[6.0.0-beta5]

  • refactor(): SVG loading and parsing functionality are now promises or async. Callback have been removed #8884
  • refactor(fabric.Line): Line position is calculated from the center between the 2 points now #8877
  • bundle(): export setEnv for test interoperability #8888
asturur
published 6.0.0-beta4 •

Changelog

Source

[6.0.0-beta4]

  • chore(): Code cleanup and reuse of code in svg-parsing code #8881
  • chore(TS): Parse transform attribute typing #8878
  • chore(TS): Fix typing for DOMParser #8871
  • fix(Path, Polyline): fix for SVG import #8879
  • chore(TS) add types for loadSVGFromURl, parseSVGDocument, loadSVGFromString #8869
  • chore(TS): finalize Path migration #8438
  • fix(Path, Obect) Fix path parsing edge case for zeroed arc command and for too small canvas patterns #8853
asturur
published 6.0.0-beta3 •

Changelog

Source

[6.0.0-beta3]

  • chore(TS): Path type fixes #8842
  • fix(TS): add types to some untyped empty arrays #8830
  • chore(TS): Complete typings for toObject/fromObject #8756
  • fix(): text styles edge case #8820
  • chore(TS): Group types #8807
  • chore(TS): Path util typings and refactoring #8787
  • rename(): IPoint => XY #8806
  • ci(): use sandbox apps in issue template, use the current branch when deploying an app, minors #8803
  • perf(): optimize perPixelTargetFind #8770
  • BREAKING fix(): reflect NUM_FRACTION_DIGITS to SVG path data [#8782] (https://github.com/fabricjs/fabric.js/pull/8782)
  • fix(IText): layout change regression caused by #8663 (text was changed but layout was skipped) #8711
  • fix(IText, Textbox): fix broken text input #8775
  • ci(): .codesandbox #8135
  • ci(): disallow circular deps #8759
  • fix(): env WebGL import cycle #8758
  • chore(TS): remove controls from prototype. BREAKING: controls aren't shared anymore #8753
  • chore(TS): remove object type from prototype #8714
  • chore(TS): type Object props #8677
  • chore(TS): remove default values from filter prototypes #8742
  • chore(TS): remove default values from Objects prototypes, ( filters in a followup ) #8719
  • fix(Intersection): bug causing selection edge case #8735
  • chore(TS): class interface for options/brevity #8674
  • ci(): fix import autocomplete in dev mode #8725
  • chore(): remove deprecated class util #8731
  • lint(): fix eslint errors #8729
  • fix(TS): this.constructor types #8675
  • fix(DraggableText): drag image blur #8712
  • ci(): Fix tests for firefox 110 update #8710
  • chore(): index files for exports and tree shaking #8661
  • ci(test): cleanup node config (#8694 followup) #8707
  • fix(): BREAKING set/discard active object return value, discard active object now return false if no discard happened #8672
  • fix(): selection logic to support nested multiselection #8665
  • fix(test): remove bad node config #8694
  • fix(): keep browser files as .js #8690
  • fix(): object dispose removes canvas/event refs #8673
  • fix(test): Textbox fromObject test is incorrectly trying to restore an instance #8686
  • TS(): Moved cache properties to static properties on classes #xxxx
  • refactor(): Moved cache properties to static properties on classes #8662
  • docs(): v6 announcements #8664
  • ci(): remove TS transformer #8660
  • refactor(): BREAKING remove stateful mixin and functionality #8663
  • patch(): Added WebGLProbe to env, removed isLikelyNode, added specific env dispose ( instead of cleanup JSDOM ) #8652
  • ci(): Removed the browser publish script #8656
  • feat(): Node entry point #8632
  • chore(): Change import and export strategy #8622
  • chore(): rename files to modern style #8621
  • chore(): move and rename text & itext files and organize as folders, rename mixins #8620
  • chore(TS): type IText, IText behavior, IText click behavior #8610
  • BREAKING: refactor clone(obj, true) with cloneDeep(obj) and remove all extend, clone calls in favor of object spreads. #8600
  • chore(TS): Fix some error caused by ts-nocheck removals #8615
  • refactor(IText): extract draggable text logic to a delegate #8598
  • chore(TS): Update StaticCanvas to remove ts-nocheck #8606
  • chore(TS): Update filters to remove ts-nocheck and added types where missing #8609
  • chore(TS): Intersection class, finalize TS #8603
  • chore(TS): Update Pattern to remove ts-nocheck and added types where missing #8605
  • chore(TS): Followup for interactivy and controls migration to TS #8404
  • refactor(IText): Fixes Draggable Text for retina and viewport transform #8534
  • chore(TS): refactor canvas init, fix _initRetinaScaling regression #8520
  • chore(TS): remove all remaining empty declarations #8593
  • refactor(IText): modernize IText cursor animation based on animation API changes (and fix minor regression) plus leftovers from #8547 #8583
  • refactor(Canvas, IText): Handle cross instance text editing states to an EditingManager class #8543
  • chore(TS): move to export, babel, new rollup, change import statement for fabric. #8585;
  • chore(TS): Add declare in front of properties that are type definitions. #8574
  • refactor(Animation): BREAKING: Animation api reduction and semplification (byValue is removed, '+=' syntax is removed, callbacks fired 100%) #8547
  • feat(PolyControl): modify the shape of a poly with control points #8556
  • BREAKING: remove Object.stateful and Object.statefulCache #8573
  • fix(IText): refactor clearing context top logic of itext to align with brush pattern, using the canvas rendering cycle in order to guard from edge cases #8560
  • fix(Canvas): _initRetinaScaling initializaing the scaling regardless of settings in Canvas. #8565
  • fix(Canvas): regression of canvas migration with pointer and sendPointToPlane #8563
  • chore(TS): Use exports from files to build fabricJS, get rid of HEADER.js #8549
  • chore(): rm fabric.filterBackend => getFilterBackend #8487
  • chore(TS): migrate text SVG export mixin #8486
  • refactor(TS): animate and AnimationRegistry to classes #8297 BREAKING:
    • return animation instance from animate instead of a cancel function and remove findAnimationByXXX from AnimationRegistry
    • change animateColor signature to match animate, removed colorEasing
  • fix(Object Stacking): 🔙 refactor logic to support Group 🔝
  • chore(TS): migrate Group/ActiveSelection #8455
  • chore(TS): Migrate smaller mixins to classes (dataurl and serialization ) #8542
  • chore(TS): Convert Canvas events mixin and grouping mixin #8519
  • chore(TS): Remove backward compatibility initialize methods #8525
  • chore(TS): replace getKlass utility with a registry that doesn't require full fabricJS to work #8500
  • chore(): use context in static constructors #8522
  • chore(TS): Convert Canvas class #8510
  • chore(TS): Move object classes #8511
  • chore(TS): polish text #8489
  • chore(TS): fix import cycle, extract groupSVGElements #8506
  • chore(TS): permissive Point typings #8434
  • chore(TS): polish files #8488
  • fix(TS): EventSpec recognition #8497
  • chore(): rm dead code #8493
  • fix(scaleObject): handle when scale is 0 to not bug flip #8490
  • chore(TS): migrate StatiCanvas to TS #8485
  • chore(): refactor Object.__uid++ => uid() #8482
  • chore(TS): migrate object mixins to TS #8414
  • chore(TS): migrate filters #8474
  • chore(TS): BaseBrush abstract methods #8428
  • feat(): Add createObjectDefaultControls and createTextboxDefaultControls to create copies of control sets. #8415
  • fix(PatternBrush): getPatternSrc, rm getPatternSrcFunction #8468
  • chore(TS): more FabricObject typing #8405
  • chore(TS): Observable types #8431
  • chore(TS): migrate Group/ActiveSelection #8455
  • fix(TS): migration error of itext key mixin (#8421) #8457
  • chore(TS): migrate text classes/mixins #8421
  • chore(TS): migrate Image #8443
  • chore(TS): migrate Shadow #8462
  • fix(Itext): show incorrect pointer position after scale changed
  • chore(TS): migrate text classes/mixins #8408
  • chore(TS): migrate Collection #8433
  • ci(): Simplify filestats even more #8449
  • chore(TS): migrate filter backends #8403
  • chore(TS): migrate Text classes/mixins #8408
  • chore(TS): migrate Path #8412
  • ci(): remove unwanted build stats (from #8395) #8416
  • chore(TS): migrate Line #8413
  • chore(TS): migrate Polyline/Polygon #8417
  • chore(TS): migrate Rect #8411
  • chore(TS): migrate Ellipse #8408
  • chore(TS): migrate Triangle to TS #8410
  • chore(TS): migrate Circle to TS #8406
  • chore(TS): convert Object interactivity mixin to its own class #8401
  • chore(TS): Convert controls e6/ts #8400
  • ci(): remove buggy changelog action in favor of git diff bash script + direct git how to merge CHANGELOG.md #8309
  • fix(): skewing controls accuracy + successive interactions #8380
  • chore(TS): Convert Geometry and Origin to classes/e6/ts #8390
  • ci(): build stats report #8395
  • chore(TS): convert object to es6 class #8322
  • docs(): guides follow up, feature request template #8379
  • docs(): refactor guides, bug report template #8189
  • BREAKING fix(polyline/polygon): stroke bounding box for all line join/cap cases #8344 BREAKING: _setPositionDimensions was removed in favor of setDimensions
  • test(): Added 2 tests for polygon shapes and transforms with translations #8370
  • fix(textStyles): Handle style objects with only a textBackgroundColor property in stylesToArray #8365
  • chore(): fix typos in intersection file #8345
  • fix(textStyles): Handle empty style object in stylesToArray #8357
  • ci(build): safeguard concurrent unlocking #8309
  • ci(): update stale bot #8307
  • ci(test): await golden generation in visual tests #8284
  • ci(): Add a pipeline check for verifying that CHANGELOG.md has been updated #8302
  • BREAKING feat(fabric.IText) rename data-fabric-hiddentextarea to data-fabric with value textarea
  • ci(): adds a lock file to the repo when build is in progress, makes local testing wait for the build to complete #8290
  • fix(WebGLProbe): regression caused by #8199, #8301
  • fix(fabric.utils) added missing import in dom_misc #8293
  • fix(Object): extraParam should not be passed to options #8295
  • test(): add globalCompositeOperation tests #8271
  • fix(): use sendObjectToPlane in mergeClipPaths #8247
  • chore(): prettify all source code #8276
  • chore(lint): disallow Math.hypot, window, document #8277
  • ci(): Add node18 and add a check for prettier #8275
  • ci(test): suite fixes for browser #8176
  • ci(): install prettier #8242
  • ci(): migrate scripts to es6 modules #8266
  • BREAKING refactor(util): remove lang_array since there are no more use cases #8274
  • chore(TS): migrate Pattern #8255
  • ci(): add source-map-support for testing #8248
  • ci(): file cleanup #8254
  • ci(): fix test global error handlers #8267
  • fix(fabric.Canvas): dispose and request animation frame scheduling fix #8220
  • ci(test): fix golden creation from browser #8270
  • BREAKING refactor(util): boundingBoxFromPoints, removed transform #8269
  • ci(): reintroduce node 14 testing #8232
  • chore(TS): finish converting utils #8230
  • test(): Add extensive coverage for mergeClipPath #8245
  • ci() Nicer names for GHA #8235
  • Update tests.yml
  • ci(): consolidate test workflows #8227
  • chore(TS): BREAKING: populateWithProperties => pick #8202
  • chore(TS): extract initFilterBackend from HEADER #8199
  • chore(TS): extract caches from HEADER #8198
  • Chore(TS): migrate Intersection #8121
  • chore(TS): es6 for util/path.ts and more utils converted #8201
  • fix(ci): report build script failure + fix missing logs #8188
  • fix(): update window => fabric.window #8209
  • chore(TS): extract const reNonWord from HEADER #8197
  • chore(TS): extract config values in its own module #8194
  • ci(): update code coverage action comment #8205
  • fix(fabric.Gradient): Guard against deep mutation on svg export for color exports #8196
  • chore(TS): migrate gradient #8154
  • Chore(TS): Convert more utilities #8193
  • docs(CONTRIBUTING): fix typo #8191
  • chore(TS): move control files under controls folder #8185
  • chore(TS): ElementsParser => parser/ElementsParser #8183
  • dep(): fabric.console #8184
  • chore(TS) convert more utils #8180
  • chore(TS): migrate brushes #8182
  • fix(): propagate failed exit code to the process #8187
  • fix(): regain focus on mouse move #8179
  • chore(TS): read fabric version from package.json
  • ci(test): migrate test cmd #8138
  • chore(TS): Move more utils to TS #8164
  • chore(TS): more conversion of utils #8148
  • chore(): Update package.json contributors #8157
  • docs(contributing): rework #8158
  • fix(): add pointer data to drop event #8156
  • chore(TS): prepare for gradient migration #8155
  • docs(Collection): JSDOC fix item return type #8152
  • chore(ts): Convert some utils #8123
  • chore(TS): Migrate Circle to es6/ts
  • chore(TS): migrate parser #8122
  • fix(TS): color merge conflict #8133
  • chore(TS): migrate Point to es6 class and update references. Deprecate xxxEquals methods #8120
  • Chore(TS) Rect to Es6, remove global scope function. #8118
  • chore(TS): Color #8115
  • chore(TS): prepare for Color migration #8116
  • ci(): adapt build script to rollup #8114
  • fix(): Delegate toJson to toObject properly and fix tests #8111
  • chore(TS): convert file ext #8108
  • ci(scripts) patch #8102
  • ci(): switch the old custom build for rollup #8013
  • feat(IText): Draggable text #7802
  • feat(Text): condensed styles structure v6 #8006
  • feat(): on discardActiveObject interrupt current transform. Also add a method to interrupt current transform programmatically #7954
  • fix(fabric.StaticCanvas): imageSmoothing setter for node-cavas special case #8032
  • feat(): support aborting loading resources that requires network calls (promises/requests) #7827
  • fix(fabric.IText) wrong typeof syntax #8023
  • ci(typescript): transformer #8020
  • fix(canvas): clear transform event caching on resize #8021
  • fix(fabric.Canvas): mouseout bug #8011
  • refactor(object_interactivity): draw operation for borders can be overriden #7932
  • feat(Group,canvas): remove canvas from object before firing removed event, filter insertAt for group
  • tests(): fix the visual test loop to work again on fabricjs.com #8007
  • fix(Group): 🛠️ layout, angle and origin ⚡ #8004
  • chore(): move away from extend/clone #8001
  • fix(Canvas): flipped viewport transform coords #7515
  • fix(): cleanup merge conflict resolution artifact #7956
  • fix(Group): part 2 minors changes #7916
  • feat(fabric.Image.filter): Alpha support for Invert filter #7933
  • fix(EraserBrush): visual trace while erasing #7991
  • fix(Point): safeguard initialization #7961
  • fix(Textbox): flipped changeWidth control behavior #7980
  • test(): remove deleted event from test name #7992
  • feat(observable): BREAKING return disposer instead of context for chaining #7994
  • fix(util): setStyle exception #7869
  • test(freedrawing): test enhancement #7941
  • Cleanup README.md #7947
  • ci() update uglifyjs #7939
  • fix(): assigning canvas for collections #7934
  • fix(EraserBrush): use rendered objects for pattern #7938
  • fix(v6): 4th PR of Group Rewrite 🎛️ nested controls 😜 #7861
  • feat(path): getRegularPolygonPath #7918
  • fix(canvas export): regression caused by safegurading #7907
  • ci(): fix build script option exclude #7915
  • feat(Group): 2nd Patch of New Group! 🎉 #7859
  • chore(ci): rename option #7875
  • fix(Canvas): dispose race condition #7885
  • Update funding.yml include Shachar and Steve
  • feat(Group): Change group code, adapt the rest around it #7858
  • chore(): PR template #7857
  • fix(Canvas): safeguard canvas add #7866
  • fix(fabric.Text): support text alignments in RTL text #7674
  • chore(canvas): minor cleanup #7851
  • docs(): fix typo, fix JSDOC for website, minors #7853
  • fix(Canvas): safeguard dispose #7775
  • fix(Polyline): safegurad _setPositionDimensions #7850
  • feat(ci): CLI logging and filter option #7844
  • fix(itext): stop cursor on blur #7784
  • fix(itext): set during text editing #7837
  • fix(Canvas): Safeguard from multiple initialization #7776
  • feat(): fire contextmenu event #7714
  • docs(Text): add proper type for GraphemeBBox #7834
  • chore(): create an alias for getSelectionContext as getTopContext #7711
  • fix(EraserBrush): inverted erasing #7689
  • fix(ci): CLI debug and recreate options #7833
  • feat(ci): better cli #7825
  • feat(fabric.util.animation): add delay option #7805
  • chore(): Update bug report templates #7790
  • fix(Textbox): expose methods for overrides + fix resize filckering #7806
  • fix(fabric.Canvas): canvas export, force retina scaling >= 1
  • fix(itext_key_behavior.mixin.js): typo #7816
  • feat(): dataURL export - filter objects #7788
  • feat(util): transform utils #7614
  • chore/fix(v6): prerequisites for Group #7728
  • tests() adding an extra controls test where the group are transformed #7736
  • chore(): Group prerequisite minor refactor object_origin
  • fix(): ensure scaling factor is positive for strokeUniform #7729
  • MAJOR chore(v6): neutral prerequisites for fabric.Group rework #7726
  • fix(): add eraser to Object state/cache props #7720
  • feat(Object.isType): accept multiple type #7715
  • MAJOR feat(fabric.Point): divide, scalarDivide, scalarDivideEquals #7716
  • MAJOR feat(): Reuse fabric.Point logic for scaling and naming consistency #7710
  • feat(Canvas#getCenter): migrate to getCenterPoint #7699
  • MAJOR feat(fabric) remove callbacks in for Promise support #7657
  • chore(): BREAKING Cleanup fabric.Point for v6 #7709 7e563c7
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc