* chore: use swc/jest replace ts-jest
* test: adjust test env and cases
* chore: remove prettier to format snapshot
* test: update snapshots
* chore: adsjut test case
* refactor: optmize canvas destroy
* test: use xml-formatter to format snapshots
* test: add toMatchAnimation matcher
* test: add createGraph util
* test: adjust test demo and types
* test: update test case and snapshots
* chore: rename cases folder to unit
* feat: contextmenu class
* chore: update context menu options
* feat: show context menu
* feat: update context menu
* chore: rename to contextmenu
* chore: rename G6ElementEvent to ElementEvent
* chore: init type define
* fix: badge typo in readme
* feat: plugin watermark
* feat: add watmermark plugin
* test: add tc for watermark, but should skip it
* docs: add demos for watermark
* test: add tc for mock
* chore: fix cr
* test: use jest-canvas-mock make ci works
* chore: update demo
* docs: add case panel
* refactor: render watermark into div
* chore: update
* refactor(runtime): merge into getChildrenData, getComboData, add get getAncestorsData
* refactor(runtime): move translate logic from graph to data controller
* feat(utils): add positionOf util
* refactor(runtime): adjust the order of drawing combos
* refactor(elements): sync combo position to model, adjust combo size calc
* refactor(utils): dfs provide depth info
* refactor(elements): combo sync position and zIndex
* feat(utils): add zIndexOf util
* refactor(runtime): refactor data/element controller to fit combo update
* test: assign graph into window.graph
* refactor(elements): combo use childrenData to get marker text
* refactor(elements): filter zIndex from graphicStyle
* feat(utils): add getSubgraphRelatedEdges util
* refactor(animation): add combo-collapse-expand animation
* refactor(runtime): add combo collapse and expand flow
* fix: fix issue in data controller and base-combo
* test: update test case and snapshots
* feat(behaviors): support click collapse-expand, drag-combo
* refactor: merge drag node and drag combo into drag element
* fix(behaviors): fix issue drag element between combo wont update
* test(behaviors): add drag-element test case and snapshots
* test: fix snapshot
* test: update test case and snapshots
* fix: fix format and types
* chore: adjust drag-node to drag element
* refactor(runtime): element split draw to draw and computeDrawData
* feat(utils): add parentIdOf util
* refactor(runtime): element controller use data flow
* refactor(utils): toGraphlibData does a shallow copy
* refactor: base-shape set visibility, setVisibility support keep raw attributes
* refactor(runtime): refactor element controller, merge runtime style into model
* test: update test case and snapshots
* test(elements): add test case and snapshots
* chore(site): update site demo
* refactor(runtime): add syntax sugar for runtime api
* test: remove layout case demo
* refactor(animation): recover to enter, exit animation stage
* refactor(runtime): add frontElement, backElement api
* refactor(runtime): add showElement, hideElement API
* refactor(behaviors): drag-node adpat new api
* refactor: export idOf util
* refactor(runtime): setElementVisibility support set animation individually
* feat(utils): add setCacheStyle util
* fix(runtime): fix issue that setVisibility call in a short period of time
* fix(elements): fix edge arrow that create and animate error
* refactor(elements): adjust nodelike default style props'
* feat(behaviors): add drag node behavior
* test(behaviors): add drag node test snapshots
* test(behavior): update test case and snapshot
* refactor: adjust exports