From eec15af0adc44517b2e6f725bae8462848a1cba8 Mon Sep 17 00:00:00 2001 From: Ali Shakiba Date: Wed, 1 May 2024 23:41:39 +0330 Subject: [PATCH] migrate docs to vocs --- .gitignore | 1 + docs/API.md | 71 - docs/api/README.md | 69 - docs/api/classes/aabb.md | 314 - docs/api/classes/boxshape.md | 306 - docs/api/classes/chainshape.md | 382 - docs/api/classes/circleshape.md | 253 - docs/api/classes/clipvertex.md | 55 - docs/api/classes/contactedge.md | 63 - docs/api/classes/distanceinput.md | 62 - docs/api/classes/distancejoint.md | 417 - docs/api/classes/distanceoutput.md | 60 - docs/api/classes/edgeshape.md | 347 - docs/api/classes/fixtureproxy.md | 61 - docs/api/classes/frictionjoint.md | 395 - docs/api/classes/gearjoint.md | 378 - docs/api/classes/joint.md | 291 - docs/api/classes/manifold.md | 150 - docs/api/classes/mat22.md | 346 - docs/api/classes/mat33.md | 253 - docs/api/classes/motorjoint.md | 453 - docs/api/classes/mousejoint.md | 435 - docs/api/classes/polygonshape.md | 274 - docs/api/classes/position.md | 49 - docs/api/classes/prismaticjoint.md | 553 - docs/api/classes/pulleyjoint.md | 405 - docs/api/classes/ropejoint.md | 383 - docs/api/classes/rot.md | 349 - docs/api/classes/separationfunction.md | 153 - docs/api/classes/shape.md | 196 - docs/api/classes/shapecastinput.md | 61 - docs/api/classes/simplex.md | 163 - docs/api/classes/simplexvertex.md | 93 - docs/api/classes/solver.md | 188 - docs/api/classes/toiinput.md | 63 - docs/api/classes/transform.md | 329 - docs/api/classes/treenode.md | 101 - docs/api/classes/vec2.md | 953 - docs/api/classes/vec3.md | 325 - docs/api/classes/velocityconstraintpoint.md | 73 - docs/api/classes/weldjoint.md | 406 - docs/api/classes/wheeljoint.md | 527 - docs/api/enums/contactfeaturetype.md | 29 - docs/api/enums/separationfunctiontype.md | 36 - docs/api/enums/toioutputstate.md | 50 - docs/api/globals.md | 912 - docs/api/interfaces/aabbvalue.md | 26 - docs/api/interfaces/distancejointdef.md | 122 - docs/api/interfaces/fixturedef.md | 109 - docs/api/interfaces/frictionjointdef.md | 107 - docs/api/interfaces/frictionjointopt.md | 59 - docs/api/interfaces/gearjointdef.md | 96 - docs/api/interfaces/gearjointopt.md | 50 - docs/api/interfaces/jointdef.md | 79 - docs/api/interfaces/jointopt.md | 57 - docs/api/interfaces/motorjointdef.md | 122 - docs/api/interfaces/mousejointdef.md | 114 - docs/api/interfaces/prismaticjointdef.md | 175 - docs/api/interfaces/pulleyjointdef.md | 131 - docs/api/interfaces/pulleyjointopt.md | 42 - docs/api/interfaces/revolutejointdef.md | 170 - docs/api/interfaces/ropejointdef.md | 99 - docs/api/interfaces/weldjointdef.md | 121 - docs/api/interfaces/wheeljointdef.md | 154 - docs/next.config.js | 10 - docs/package-lock.json | 17460 ++++++++-------- docs/package.json | 27 +- docs/pages/_meta.json | 37 - docs/pages/api-conventions/_meta.json | 6 - .../factories-and-definitions.md | 6 +- .../api-conventions/implicit-destruction.md | 6 +- docs/pages/api-conventions/units.md | 6 +- docs/pages/api-conventions/user-data.md | 6 +- docs/pages/api/classes/aabb.md | 316 + docs/{ => pages}/api/classes/body.md | 282 +- docs/pages/api/classes/boxshape.md | 308 + docs/{ => pages}/api/classes/broadphase.md | 92 +- docs/pages/api/classes/chainshape.md | 384 + docs/pages/api/classes/circleshape.md | 255 + docs/pages/api/classes/clipvertex.md | 57 + docs/{ => pages}/api/classes/contact.md | 122 +- docs/pages/api/classes/contactedge.md | 65 + docs/{ => pages}/api/classes/contactid.md | 36 +- .../{ => pages}/api/classes/contactimpulse.md | 18 +- docs/pages/api/classes/distanceinput.md | 64 + docs/pages/api/classes/distancejoint.md | 419 + docs/pages/api/classes/distanceoutput.md | 62 + docs/{ => pages}/api/classes/distanceproxy.md | 40 +- docs/{ => pages}/api/classes/dynamictree.md | 122 +- docs/pages/api/classes/edgeshape.md | 349 + docs/{ => pages}/api/classes/fixture.md | 126 +- docs/pages/api/classes/fixtureproxy.md | 63 + docs/pages/api/classes/frictionjoint.md | 397 + docs/pages/api/classes/gearjoint.md | 380 + docs/pages/api/classes/joint.md | 293 + docs/{ => pages}/api/classes/jointedge.md | 20 +- docs/pages/api/classes/manifold.md | 152 + docs/{ => pages}/api/classes/manifoldpoint.md | 24 +- docs/pages/api/classes/mat22.md | 348 + docs/pages/api/classes/mat33.md | 255 + docs/pages/api/classes/motorjoint.md | 455 + docs/pages/api/classes/mousejoint.md | 437 + docs/pages/api/classes/polygonshape.md | 276 + docs/pages/api/classes/position.md | 51 + docs/pages/api/classes/prismaticjoint.md | 555 + docs/pages/api/classes/pulleyjoint.md | 407 + docs/{ => pages}/api/classes/revolutejoint.md | 164 +- docs/pages/api/classes/ropejoint.md | 385 + docs/pages/api/classes/rot.md | 351 + docs/pages/api/classes/separationfunction.md | 155 + docs/{ => pages}/api/classes/settings.md | 48 +- docs/pages/api/classes/shape.md | 198 + docs/pages/api/classes/shapecastinput.md | 63 + .../api/classes/shapecastoutput.md | 12 +- docs/pages/api/classes/simplex.md | 165 + docs/{ => pages}/api/classes/simplexcache.md | 14 +- docs/pages/api/classes/simplexvertex.md | 95 + docs/pages/api/classes/solver.md | 190 + docs/{ => pages}/api/classes/sweep.md | 48 +- docs/{ => pages}/api/classes/testbed.md | 76 +- docs/{ => pages}/api/classes/timestep.md | 22 +- docs/pages/api/classes/toiinput.md | 65 + docs/{ => pages}/api/classes/toioutput.md | 12 +- docs/pages/api/classes/transform.md | 331 + docs/pages/api/classes/treenode.md | 103 + docs/pages/api/classes/vec2.md | 955 + docs/pages/api/classes/vec3.md | 327 + docs/{ => pages}/api/classes/velocity.md | 8 +- .../api/classes/velocityconstraintpoint.md | 75 + docs/pages/api/classes/weldjoint.md | 408 + docs/pages/api/classes/wheeljoint.md | 529 + docs/{ => pages}/api/classes/world.md | 228 +- docs/{ => pages}/api/classes/worldmanifold.md | 18 +- docs/pages/api/enums/contactfeaturetype.md | 31 + docs/{ => pages}/api/enums/manifoldtype.md | 12 +- docs/{ => pages}/api/enums/pointstate.md | 12 +- .../pages/api/enums/separationfunctiontype.md | 38 + docs/pages/api/enums/toioutputstate.md | 52 + docs/pages/api/globals.md | 914 + docs/pages/api/index.md | 1 + docs/pages/api/interfaces/aabbvalue.md | 28 + docs/{ => pages}/api/interfaces/bodydef.md | 38 +- docs/pages/api/interfaces/distancejointdef.md | 124 + .../api/interfaces/distancejointopt.md | 22 +- docs/pages/api/interfaces/fixturedef.md | 111 + docs/{ => pages}/api/interfaces/fixtureopt.md | 22 +- docs/pages/api/interfaces/frictionjointdef.md | 109 + docs/pages/api/interfaces/frictionjointopt.md | 61 + docs/pages/api/interfaces/gearjointdef.md | 98 + docs/pages/api/interfaces/gearjointopt.md | 52 + docs/pages/api/interfaces/jointdef.md | 81 + docs/pages/api/interfaces/jointopt.md | 59 + docs/{ => pages}/api/interfaces/massdata.md | 12 +- docs/pages/api/interfaces/motorjointdef.md | 124 + .../api/interfaces/motorjointopt.md | 28 +- docs/pages/api/interfaces/mousejointdef.md | 116 + .../api/interfaces/mousejointopt.md | 22 +- .../pages/api/interfaces/prismaticjointdef.md | 177 + .../api/interfaces/prismaticjointopt.md | 28 +- docs/pages/api/interfaces/pulleyjointdef.md | 133 + docs/pages/api/interfaces/pulleyjointopt.md | 44 + .../api/interfaces/raycastinput.md | 10 +- .../api/interfaces/raycastoutput.md | 8 +- docs/pages/api/interfaces/revolutejointdef.md | 172 + .../api/interfaces/revolutejointopt.md | 28 +- docs/pages/api/interfaces/ropejointdef.md | 101 + .../api/interfaces/ropejointopt.md | 18 +- docs/{ => pages}/api/interfaces/rotvalue.md | 8 +- docs/{ => pages}/api/interfaces/style.md | 8 +- docs/{ => pages}/api/interfaces/vec2value.md | 8 +- docs/{ => pages}/api/interfaces/vec3value.md | 10 +- docs/pages/api/interfaces/weldjointdef.md | 123 + .../api/interfaces/weldjointopt.md | 22 +- docs/pages/api/interfaces/wheeljointdef.md | 156 + .../api/interfaces/wheeljointopt.md | 26 +- docs/{ => pages}/api/interfaces/worlddef.md | 16 +- docs/pages/body.md | 42 +- docs/pages/collision.md | 30 +- docs/pages/contacts.md | 36 +- docs/pages/core-concepts.md | 26 +- docs/pages/credits.md | 4 + docs/pages/fixture.md | 18 +- docs/pages/hello-world.md | 14 +- docs/pages/index.md | 20 +- docs/pages/install.md | 45 +- docs/pages/joint.md | 6 +- docs/pages/joint/distance-joint.md | 7 +- docs/pages/joint/friction-joint.md | 5 +- docs/pages/joint/gear-joint.md | 8 +- docs/pages/joint/motor-joint.md | 5 +- docs/pages/joint/mouse-joint.md | 6 +- docs/pages/joint/prismatic-joint.md | 8 +- docs/pages/joint/pulley.md | 7 +- docs/pages/joint/revolute-joint.md | 8 +- docs/pages/joint/rope-joint.md | 6 +- docs/pages/joint/weld-joint.md | 6 +- docs/pages/joint/wheel-joint.md | 8 +- docs/pages/limitations.md | 20 +- docs/pages/misc/api-reference.md | 0 docs/pages/references-resources.md | 4 + docs/pages/rendering.md | 7 +- docs/pages/shape.md | 14 +- docs/pages/shape/chain.md | 10 +- docs/pages/shape/circle.md | 6 +- docs/pages/shape/edge.md | 10 +- docs/pages/shape/polygon.md | 14 +- docs/pages/styles.css | 9 - docs/pages/testbed.md | 130 +- docs/pages/testbed/_meta.json | 4 - docs/pages/testbed/api.md | 64 - docs/pages/testbed/install.md | 52 - docs/pages/world.md | 8 +- docs/pages/world/aabb-query.md | 6 +- docs/pages/world/ray-cast.md | 6 +- docs/pages/world/simulation.md | 9 +- docs/{pages => public}/images/body_origin.gif | Bin .../{pages => public}/images/captured_toi.svg | 0 docs/{pages => public}/images/chain_shape.svg | 0 .../images/convex_concave.gif | Bin docs/{pages => public}/images/distance.svg | 0 .../images/distance_joint.gif | Bin docs/{pages => public}/images/gear_joint.gif | Bin .../images/ghost_collision.svg | 0 .../images/ghost_vertices.svg | 0 docs/{pages => public}/images/manifolds.svg | 0 docs/{pages => public}/images/missed_toi.svg | 0 docs/{pages => public}/images/modules.svg | 0 .../{pages => public}/images/overlap_test.svg | 0 .../images/prismatic_joint.gif | Bin .../{pages => public}/images/pulley_joint.gif | Bin docs/{pages => public}/images/raycast.svg | 0 .../images/revolute_joint.gif | Bin .../images/self_intersect.svg | 0 .../images/skin_collision.svg | 0 .../images/skinned_polygon.svg | 0 docs/{pages => public}/images/tunneling1.svg | 0 docs/{pages => public}/images/tunneling2.svg | 0 docs/{pages => public}/images/wheel_joint.svg | 0 docs/{pages => public}/images/winding.svg | 0 docs/styles.css | 14 + docs/theme.config.tsx | 28 - docs/tsconfig.json | 30 +- docs/vercel.json | 8 + docs/vocs.config.ts | 86 + typedoc.json | 11 +- 245 files changed, 24115 insertions(+), 23518 deletions(-) delete mode 100644 docs/API.md delete mode 100644 docs/api/README.md delete mode 100644 docs/api/classes/aabb.md delete mode 100644 docs/api/classes/boxshape.md delete mode 100644 docs/api/classes/chainshape.md delete mode 100644 docs/api/classes/circleshape.md delete mode 100644 docs/api/classes/clipvertex.md delete mode 100644 docs/api/classes/contactedge.md delete mode 100644 docs/api/classes/distanceinput.md delete mode 100644 docs/api/classes/distancejoint.md delete mode 100644 docs/api/classes/distanceoutput.md delete mode 100644 docs/api/classes/edgeshape.md delete mode 100644 docs/api/classes/fixtureproxy.md delete mode 100644 docs/api/classes/frictionjoint.md delete mode 100644 docs/api/classes/gearjoint.md delete mode 100644 docs/api/classes/joint.md delete mode 100644 docs/api/classes/manifold.md delete mode 100644 docs/api/classes/mat22.md delete mode 100644 docs/api/classes/mat33.md delete mode 100644 docs/api/classes/motorjoint.md delete mode 100644 docs/api/classes/mousejoint.md delete mode 100644 docs/api/classes/polygonshape.md delete mode 100644 docs/api/classes/position.md delete mode 100644 docs/api/classes/prismaticjoint.md delete mode 100644 docs/api/classes/pulleyjoint.md delete mode 100644 docs/api/classes/ropejoint.md delete mode 100644 docs/api/classes/rot.md delete mode 100644 docs/api/classes/separationfunction.md delete mode 100644 docs/api/classes/shape.md delete mode 100644 docs/api/classes/shapecastinput.md delete mode 100644 docs/api/classes/simplex.md delete mode 100644 docs/api/classes/simplexvertex.md delete mode 100644 docs/api/classes/solver.md delete mode 100644 docs/api/classes/toiinput.md delete mode 100644 docs/api/classes/transform.md delete mode 100644 docs/api/classes/treenode.md delete mode 100644 docs/api/classes/vec2.md delete mode 100644 docs/api/classes/vec3.md delete mode 100644 docs/api/classes/velocityconstraintpoint.md delete mode 100644 docs/api/classes/weldjoint.md delete mode 100644 docs/api/classes/wheeljoint.md delete mode 100644 docs/api/enums/contactfeaturetype.md delete mode 100644 docs/api/enums/separationfunctiontype.md delete mode 100644 docs/api/enums/toioutputstate.md delete mode 100644 docs/api/globals.md delete mode 100644 docs/api/interfaces/aabbvalue.md delete mode 100644 docs/api/interfaces/distancejointdef.md delete mode 100644 docs/api/interfaces/fixturedef.md delete mode 100644 docs/api/interfaces/frictionjointdef.md delete mode 100644 docs/api/interfaces/frictionjointopt.md delete mode 100644 docs/api/interfaces/gearjointdef.md delete mode 100644 docs/api/interfaces/gearjointopt.md delete mode 100644 docs/api/interfaces/jointdef.md delete mode 100644 docs/api/interfaces/jointopt.md delete mode 100644 docs/api/interfaces/motorjointdef.md delete mode 100644 docs/api/interfaces/mousejointdef.md delete mode 100644 docs/api/interfaces/prismaticjointdef.md delete mode 100644 docs/api/interfaces/pulleyjointdef.md delete mode 100644 docs/api/interfaces/pulleyjointopt.md delete mode 100644 docs/api/interfaces/revolutejointdef.md delete mode 100644 docs/api/interfaces/ropejointdef.md delete mode 100644 docs/api/interfaces/weldjointdef.md delete mode 100644 docs/api/interfaces/wheeljointdef.md delete mode 100644 docs/next.config.js delete mode 100644 docs/pages/_meta.json delete mode 100644 docs/pages/api-conventions/_meta.json create mode 100644 docs/pages/api/classes/aabb.md rename docs/{ => pages}/api/classes/body.md (60%) create mode 100644 docs/pages/api/classes/boxshape.md rename docs/{ => pages}/api/classes/broadphase.md (55%) create mode 100644 docs/pages/api/classes/chainshape.md create mode 100644 docs/pages/api/classes/circleshape.md create mode 100644 docs/pages/api/classes/clipvertex.md rename docs/{ => pages}/api/classes/contact.md (54%) create mode 100644 docs/pages/api/classes/contactedge.md rename docs/{ => pages}/api/classes/contactid.md (50%) rename docs/{ => pages}/api/classes/contactimpulse.md (58%) create mode 100644 docs/pages/api/classes/distanceinput.md create mode 100644 docs/pages/api/classes/distancejoint.md create mode 100644 docs/pages/api/classes/distanceoutput.md rename docs/{ => pages}/api/classes/distanceproxy.md (51%) rename docs/{ => pages}/api/classes/dynamictree.md (52%) create mode 100644 docs/pages/api/classes/edgeshape.md rename docs/{ => pages}/api/classes/fixture.md (62%) create mode 100644 docs/pages/api/classes/fixtureproxy.md create mode 100644 docs/pages/api/classes/frictionjoint.md create mode 100644 docs/pages/api/classes/gearjoint.md create mode 100644 docs/pages/api/classes/joint.md rename docs/{ => pages}/api/classes/jointedge.md (57%) create mode 100644 docs/pages/api/classes/manifold.md rename docs/{ => pages}/api/classes/manifoldpoint.md (63%) create mode 100644 docs/pages/api/classes/mat22.md create mode 100644 docs/pages/api/classes/mat33.md create mode 100644 docs/pages/api/classes/motorjoint.md create mode 100644 docs/pages/api/classes/mousejoint.md create mode 100644 docs/pages/api/classes/polygonshape.md create mode 100644 docs/pages/api/classes/position.md create mode 100644 docs/pages/api/classes/prismaticjoint.md create mode 100644 docs/pages/api/classes/pulleyjoint.md rename docs/{ => pages}/api/classes/revolutejoint.md (50%) create mode 100644 docs/pages/api/classes/ropejoint.md create mode 100644 docs/pages/api/classes/rot.md create mode 100644 docs/pages/api/classes/separationfunction.md rename docs/{ => pages}/api/classes/settings.md (75%) create mode 100644 docs/pages/api/classes/shape.md create mode 100644 docs/pages/api/classes/shapecastinput.md rename docs/{ => pages}/api/classes/shapecastoutput.md (56%) create mode 100644 docs/pages/api/classes/simplex.md rename docs/{ => pages}/api/classes/simplexcache.md (64%) create mode 100644 docs/pages/api/classes/simplexvertex.md create mode 100644 docs/pages/api/classes/solver.md rename docs/{ => pages}/api/classes/sweep.md (60%) rename docs/{ => pages}/api/classes/testbed.md (67%) rename docs/{ => pages}/api/classes/timestep.md (63%) create mode 100644 docs/pages/api/classes/toiinput.md rename docs/{ => pages}/api/classes/toioutput.md (50%) create mode 100644 docs/pages/api/classes/transform.md create mode 100644 docs/pages/api/classes/treenode.md create mode 100644 docs/pages/api/classes/vec2.md create mode 100644 docs/pages/api/classes/vec3.md rename docs/{ => pages}/api/classes/velocity.md (59%) create mode 100644 docs/pages/api/classes/velocityconstraintpoint.md create mode 100644 docs/pages/api/classes/weldjoint.md create mode 100644 docs/pages/api/classes/wheeljoint.md rename docs/{ => pages}/api/classes/world.md (66%) rename docs/{ => pages}/api/classes/worldmanifold.md (54%) create mode 100644 docs/pages/api/enums/contactfeaturetype.md rename docs/{ => pages}/api/enums/manifoldtype.md (50%) rename docs/{ => pages}/api/enums/pointstate.md (63%) create mode 100644 docs/pages/api/enums/separationfunctiontype.md create mode 100644 docs/pages/api/enums/toioutputstate.md create mode 100644 docs/pages/api/globals.md create mode 120000 docs/pages/api/index.md create mode 100644 docs/pages/api/interfaces/aabbvalue.md rename docs/{ => pages}/api/interfaces/bodydef.md (68%) create mode 100644 docs/pages/api/interfaces/distancejointdef.md rename docs/{ => pages}/api/interfaces/distancejointopt.md (59%) create mode 100644 docs/pages/api/interfaces/fixturedef.md rename docs/{ => pages}/api/interfaces/fixtureopt.md (70%) create mode 100644 docs/pages/api/interfaces/frictionjointdef.md create mode 100644 docs/pages/api/interfaces/frictionjointopt.md create mode 100644 docs/pages/api/interfaces/gearjointdef.md create mode 100644 docs/pages/api/interfaces/gearjointopt.md create mode 100644 docs/pages/api/interfaces/jointdef.md create mode 100644 docs/pages/api/interfaces/jointopt.md rename docs/{ => pages}/api/interfaces/massdata.md (66%) create mode 100644 docs/pages/api/interfaces/motorjointdef.md rename docs/{ => pages}/api/interfaces/motorjointopt.md (50%) create mode 100644 docs/pages/api/interfaces/mousejointdef.md rename docs/{ => pages}/api/interfaces/mousejointopt.md (58%) create mode 100644 docs/pages/api/interfaces/prismaticjointdef.md rename docs/{ => pages}/api/interfaces/prismaticjointopt.md (59%) create mode 100644 docs/pages/api/interfaces/pulleyjointdef.md create mode 100644 docs/pages/api/interfaces/pulleyjointopt.md rename docs/{ => pages}/api/interfaces/raycastinput.md (60%) rename docs/{ => pages}/api/interfaces/raycastoutput.md (63%) create mode 100644 docs/pages/api/interfaces/revolutejointdef.md rename docs/{ => pages}/api/interfaces/revolutejointopt.md (63%) create mode 100644 docs/pages/api/interfaces/ropejointdef.md rename docs/{ => pages}/api/interfaces/ropejointopt.md (56%) rename docs/{ => pages}/api/interfaces/rotvalue.md (57%) rename docs/{ => pages}/api/interfaces/style.md (55%) rename docs/{ => pages}/api/interfaces/vec2value.md (53%) rename docs/{ => pages}/api/interfaces/vec3value.md (54%) create mode 100644 docs/pages/api/interfaces/weldjointdef.md rename docs/{ => pages}/api/interfaces/weldjointopt.md (58%) create mode 100644 docs/pages/api/interfaces/wheeljointdef.md rename docs/{ => pages}/api/interfaces/wheeljointopt.md (61%) rename docs/{ => pages}/api/interfaces/worlddef.md (59%) create mode 100644 docs/pages/misc/api-reference.md delete mode 100644 docs/pages/styles.css delete mode 100644 docs/pages/testbed/_meta.json delete mode 100644 docs/pages/testbed/api.md delete mode 100644 docs/pages/testbed/install.md rename docs/{pages => public}/images/body_origin.gif (100%) rename docs/{pages => public}/images/captured_toi.svg (100%) rename docs/{pages => public}/images/chain_shape.svg (100%) rename docs/{pages => public}/images/convex_concave.gif (100%) rename docs/{pages => public}/images/distance.svg (100%) rename docs/{pages => public}/images/distance_joint.gif (100%) rename docs/{pages => public}/images/gear_joint.gif (100%) rename docs/{pages => public}/images/ghost_collision.svg (100%) rename docs/{pages => public}/images/ghost_vertices.svg (100%) rename docs/{pages => public}/images/manifolds.svg (100%) rename docs/{pages => public}/images/missed_toi.svg (100%) rename docs/{pages => public}/images/modules.svg (100%) rename docs/{pages => public}/images/overlap_test.svg (100%) rename docs/{pages => public}/images/prismatic_joint.gif (100%) rename docs/{pages => public}/images/pulley_joint.gif (100%) rename docs/{pages => public}/images/raycast.svg (100%) rename docs/{pages => public}/images/revolute_joint.gif (100%) rename docs/{pages => public}/images/self_intersect.svg (100%) rename docs/{pages => public}/images/skin_collision.svg (100%) rename docs/{pages => public}/images/skinned_polygon.svg (100%) rename docs/{pages => public}/images/tunneling1.svg (100%) rename docs/{pages => public}/images/tunneling2.svg (100%) rename docs/{pages => public}/images/wheel_joint.svg (100%) rename docs/{pages => public}/images/winding.svg (100%) create mode 100644 docs/styles.css delete mode 100644 docs/theme.config.tsx create mode 100644 docs/vercel.json create mode 100644 docs/vocs.config.ts diff --git a/.gitignore b/.gitignore index a335744c..ef03ea53 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ yarn-error.log* # production build +/docs/dist # next.js .next/ diff --git a/docs/API.md b/docs/API.md deleted file mode 100644 index b78b945d..00000000 --- a/docs/API.md +++ /dev/null @@ -1,71 +0,0 @@ -### API Index - - -* [World](/docs/api/classes/world.md) -* [Body](/docs/api/classes/body.md) -* [Fixture](/docs/api/classes/fixture.md) -* [Settings](/docs/api/classes/settings.md) - - -#### Math -* [Math](/docs/api/classes/math.md) -* [Vec2](/docs/api/classes/vec2.md) -* [Vec3](/docs/api/classes/vec3.md) -* [Transform](/docs/api/classes/transform.md) -* [Rot](/docs/api/classes/rot.md) -* [Mat22](/docs/api/classes/mat22.md) -* [Mat33](/docs/api/classes/mat33.md) - - -#### Shapes - -* [BoxShape](/docs/api/classes/boxshape.md) -* [ChainShape](/docs/api/classes/chainshape.md) -* [CircleShape](/docs/api/classes/circleshape.md) -* [EdgeShape](/docs/api/classes/edgeshape.md) -* [PolygonShape](/docs/api/classes/polygonshape.md) - - -#### Joints - -* [FrictionJoint](/docs/api/classes/frictionjoint.md) -* [DistanceJoint](/docs/api/classes/distancejoint.md) -* [GearJoint](/docs/api/classes/gearjoint.md) -* [MotorJoint](/docs/api/classes/motorjoint.md) -* [MouseJoint](/docs/api/classes/mousejoint.md) -* [PrismaticJoint](/docs/api/classes/prismaticjoint.md) -* [PulleyJoint](/docs/api/classes/pulleyjoint.md) -* [RevoluteJoint](/docs/api/classes/revolutejoint.md) -* [RopeJoint](/docs/api/classes/ropejoint.md) -* [WeldJoint](/docs/api/classes/weldjoint.md) -* [WheelJoint](/docs/api/classes/wheeljoint.md) - - -#### Collision Internal - -* [BroadPhase](/docs/api/classes/broadphase.md) -* [AABB](/docs/api/classes/aabb.md) -* [DynamicTree](/docs/api/classes/dynamictree.md) -* [TreeNode](/docs/api/classes/treenode.md) -* [DistanceProxy](/docs/api/classes/distanceproxy.md) -* [ContactFeatureType](/docs/api/enums/contactfeaturetype.md) -* [ManifoldType](/docs/api/enums/manifoldtype.md) -* [TOIOutputState](/docs/api/enums/toioutputstate.md) -* [FixtureProxy](/docs/api/interfaces/fixtureproxy.md) -* [Manifold](/docs/api/interfaces/manifold.md) -* [ManifoldPoint](/docs/api/interfaces/manifoldpoint.md) -* [WorldManifold](/docs/api/interfaces/worldmanifold.md) - - -#### Dynamics Internal - -* [Solver](/docs/api/classes/solver.md) -* [Contact](/docs/api/classes/contact.md) -* [ContactImpulse](/docs/api/classes/contactimpulse.md) -* [ContactEdge](/docs/api/classes/contactedge.md) -* [ContactFeature](/docs/api/interfaces/contactfeature.md) -* [ContactID](/docs/api/interfaces/contactid.md) -* [Position](/docs/api/classes/position.md) -* [Velocity](/docs/api/classes/velocity.md) -* [Sweep](/docs/api/classes/sweep.md) -* [VelocityConstraintPoint](/docs/api/classes/velocityconstraintpoint.md) diff --git a/docs/api/README.md b/docs/api/README.md deleted file mode 100644 index 03c844eb..00000000 --- a/docs/api/README.md +++ /dev/null @@ -1,69 +0,0 @@ -[Planck.js API Doc](README.md) › [Globals](globals.md) - -# Planck.js API Doc - -### API Index - -* [World](/docs/api/classes/world.md) -* [Body](/docs/api/classes/body.md) -* [Fixture](/docs/api/classes/fixture.md) -* [Settings](/docs/api/classes/settings.md) - -#### Math -* [Math](/docs/api/classes/math.md) -* [Vec2](/docs/api/classes/vec2.md) -* [Vec3](/docs/api/classes/vec3.md) -* [Transform](/docs/api/classes/transform.md) -* [Rot](/docs/api/classes/rot.md) -* [Mat22](/docs/api/classes/mat22.md) -* [Mat33](/docs/api/classes/mat33.md) - -#### Shapes - -* [BoxShape](/docs/api/classes/boxshape.md) -* [ChainShape](/docs/api/classes/chainshape.md) -* [CircleShape](/docs/api/classes/circleshape.md) -* [EdgeShape](/docs/api/classes/edgeshape.md) -* [PolygonShape](/docs/api/classes/polygonshape.md) - -#### Joints - -* [FrictionJoint](/docs/api/classes/frictionjoint.md) -* [DistanceJoint](/docs/api/classes/distancejoint.md) -* [GearJoint](/docs/api/classes/gearjoint.md) -* [MotorJoint](/docs/api/classes/motorjoint.md) -* [MouseJoint](/docs/api/classes/mousejoint.md) -* [PrismaticJoint](/docs/api/classes/prismaticjoint.md) -* [PulleyJoint](/docs/api/classes/pulleyjoint.md) -* [RevoluteJoint](/docs/api/classes/revolutejoint.md) -* [RopeJoint](/docs/api/classes/ropejoint.md) -* [WeldJoint](/docs/api/classes/weldjoint.md) -* [WheelJoint](/docs/api/classes/wheeljoint.md) - -#### Collision Internal - -* [BroadPhase](/docs/api/classes/broadphase.md) -* [AABB](/docs/api/classes/aabb.md) -* [DynamicTree](/docs/api/classes/dynamictree.md) -* [TreeNode](/docs/api/classes/treenode.md) -* [DistanceProxy](/docs/api/classes/distanceproxy.md) -* [ContactFeatureType](/docs/api/enums/contactfeaturetype.md) -* [ManifoldType](/docs/api/enums/manifoldtype.md) -* [TOIOutputState](/docs/api/enums/toioutputstate.md) -* [FixtureProxy](/docs/api/interfaces/fixtureproxy.md) -* [Manifold](/docs/api/interfaces/manifold.md) -* [ManifoldPoint](/docs/api/interfaces/manifoldpoint.md) -* [WorldManifold](/docs/api/interfaces/worldmanifold.md) - -#### Dynamics Internal - -* [Solver](/docs/api/classes/solver.md) -* [Contact](/docs/api/classes/contact.md) -* [ContactImpulse](/docs/api/classes/contactimpulse.md) -* [ContactEdge](/docs/api/classes/contactedge.md) -* [ContactFeature](/docs/api/interfaces/contactfeature.md) -* [ContactID](/docs/api/interfaces/contactid.md) -* [Position](/docs/api/classes/position.md) -* [Velocity](/docs/api/classes/velocity.md) -* [Sweep](/docs/api/classes/sweep.md) -* [VelocityConstraintPoint](/docs/api/classes/velocityconstraintpoint.md) diff --git a/docs/api/classes/aabb.md b/docs/api/classes/aabb.md deleted file mode 100644 index 03ec738a..00000000 --- a/docs/api/classes/aabb.md +++ /dev/null @@ -1,314 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [AABB](aabb.md) - -# Class: AABB - -## Hierarchy - -* **AABB** - -## Index - -### Constructors - -* [constructor](aabb.md#constructor) - -### Properties - -* [lowerBound](aabb.md#lowerbound) -* [upperBound](aabb.md#upperbound) - -### Methods - -* [combine](aabb.md#combine) -* [combinePoints](aabb.md#combinepoints) -* [contains](aabb.md#contains) -* [extend](aabb.md#extend) -* [getCenter](aabb.md#getcenter) -* [getExtents](aabb.md#getextents) -* [getPerimeter](aabb.md#getperimeter) -* [isValid](aabb.md#isvalid) -* [rayCast](aabb.md#raycast) -* [set](aabb.md#set) -* [areEqual](aabb.md#static-areequal) -* [assert](aabb.md#static-assert) -* [combinePoints](aabb.md#static-combinepoints) -* [combinedPerimeter](aabb.md#static-combinedperimeter) -* [diff](aabb.md#static-diff) -* [extend](aabb.md#static-extend) -* [isValid](aabb.md#static-isvalid) -* [testOverlap](aabb.md#static-testoverlap) - -## Constructors - -### constructor - -\+ **new AABB**(`lower?`: [Vec2Value](../interfaces/vec2value.md), `upper?`: [Vec2Value](../interfaces/vec2value.md)): *[AABB](aabb.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`lower?` | [Vec2Value](../interfaces/vec2value.md) | -`upper?` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[AABB](aabb.md)* - -## Properties - -### lowerBound - -• **lowerBound**: *Vec2* - -___ - -### upperBound - -• **upperBound**: *Vec2* - -## Methods - -### combine - -▸ **combine**(`a`: [AABBValue](../interfaces/aabbvalue.md), `b?`: [AABBValue](../interfaces/aabbvalue.md)): *void* - -Combine one or two AABB into this one. - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [AABBValue](../interfaces/aabbvalue.md) | -`b?` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *void* - -___ - -### combinePoints - -▸ **combinePoints**(`a`: [Vec2Value](../interfaces/vec2value.md), `b`: [Vec2Value](../interfaces/vec2value.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### contains - -▸ **contains**(`aabb`: [AABBValue](../interfaces/aabbvalue.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *boolean* - -___ - -### extend - -▸ **extend**(`value`: number): *[AABB](aabb.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`value` | number | - -**Returns:** *[AABB](aabb.md)* - -___ - -### getCenter - -▸ **getCenter**(): *Vec2* - -Get the center of the AABB. - -**Returns:** *Vec2* - -___ - -### getExtents - -▸ **getExtents**(): *Vec2* - -Get the extents of the AABB (half-widths). - -**Returns:** *Vec2* - -___ - -### getPerimeter - -▸ **getPerimeter**(): *number* - -Get the perimeter length. - -**Returns:** *number* - -___ - -### isValid - -▸ **isValid**(): *boolean* - -Verify that the bounds are sorted. - -**Returns:** *boolean* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | -`input` | [RayCastInput](../interfaces/raycastinput.md) | - -**Returns:** *boolean* - -___ - -### set - -▸ **set**(`aabb`: [AABBValue](../interfaces/aabbvalue.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *void* - -___ - -### `Static` areEqual - -▸ **areEqual**(`a`: [AABBValue](../interfaces/aabbvalue.md), `b`: [AABBValue](../interfaces/aabbvalue.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [AABBValue](../interfaces/aabbvalue.md) | -`b` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *boolean* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` combinePoints - -▸ **combinePoints**(`out`: [AABBValue](../interfaces/aabbvalue.md), `a`: [Vec2Value](../interfaces/vec2value.md), `b`: [Vec2Value](../interfaces/vec2value.md)): *[AABBValue](../interfaces/aabbvalue.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`out` | [AABBValue](../interfaces/aabbvalue.md) | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[AABBValue](../interfaces/aabbvalue.md)* - -___ - -### `Static` combinedPerimeter - -▸ **combinedPerimeter**(`a`: [AABBValue](../interfaces/aabbvalue.md), `b`: [AABBValue](../interfaces/aabbvalue.md)): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [AABBValue](../interfaces/aabbvalue.md) | -`b` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *number* - -___ - -### `Static` diff - -▸ **diff**(`a`: [AABBValue](../interfaces/aabbvalue.md), `b`: [AABBValue](../interfaces/aabbvalue.md)): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [AABBValue](../interfaces/aabbvalue.md) | -`b` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *number* - -___ - -### `Static` extend - -▸ **extend**(`out`: [AABBValue](../interfaces/aabbvalue.md), `value`: number): *[AABBValue](../interfaces/aabbvalue.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`out` | [AABBValue](../interfaces/aabbvalue.md) | -`value` | number | - -**Returns:** *[AABBValue](../interfaces/aabbvalue.md)* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` testOverlap - -▸ **testOverlap**(`a`: [AABBValue](../interfaces/aabbvalue.md), `b`: [AABBValue](../interfaces/aabbvalue.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [AABBValue](../interfaces/aabbvalue.md) | -`b` | [AABBValue](../interfaces/aabbvalue.md) | - -**Returns:** *boolean* diff --git a/docs/api/classes/boxshape.md b/docs/api/classes/boxshape.md deleted file mode 100644 index a8d0868b..00000000 --- a/docs/api/classes/boxshape.md +++ /dev/null @@ -1,306 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [BoxShape](boxshape.md) - -# Class: BoxShape - -A rectangle polygon which extend PolygonShape. - -## Hierarchy - - ↳ [PolygonShape](polygonshape.md) - - ↳ **BoxShape** - -## Index - -### Constructors - -* [constructor](boxshape.md#constructor) - -### Properties - -* [m_centroid](boxshape.md#m_centroid) -* [m_count](boxshape.md#m_count) -* [m_normals](boxshape.md#m_normals) -* [m_radius](boxshape.md#m_radius) -* [m_type](boxshape.md#m_type) -* [m_vertices](boxshape.md#m_vertices) -* [style](boxshape.md#style) -* [TYPE](boxshape.md#static-type) - -### Methods - -* [computeAABB](boxshape.md#computeaabb) -* [computeDistanceProxy](boxshape.md#computedistanceproxy) -* [computeMass](boxshape.md#computemass) -* [getChildCount](boxshape.md#getchildcount) -* [getRadius](boxshape.md#getradius) -* [getType](boxshape.md#gettype) -* [rayCast](boxshape.md#raycast) -* [testPoint](boxshape.md#testpoint) -* [validate](boxshape.md#validate) -* [isValid](boxshape.md#static-isvalid) - -## Constructors - -### constructor - -\+ **new BoxShape**(`hx`: number, `hy`: number, `center?`: [Vec2Value](../interfaces/vec2value.md), `angle?`: number): *[BoxShape](boxshape.md)* - -*Overrides [PolygonShape](polygonshape.md).[constructor](polygonshape.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`hx` | number | -`hy` | number | -`center?` | [Vec2Value](../interfaces/vec2value.md) | -`angle?` | number | - -**Returns:** *[BoxShape](boxshape.md)* - -## Properties - -### m_centroid - -• **m_centroid**: *Vec2* - -*Inherited from [PolygonShape](polygonshape.md).[m_centroid](polygonshape.md#m_centroid)* - -___ - -### m_count - -• **m_count**: *number* - -*Inherited from [PolygonShape](polygonshape.md).[m_count](polygonshape.md#m_count)* - -___ - -### m_normals - -• **m_normals**: *Vec2[]* - -*Inherited from [PolygonShape](polygonshape.md).[m_normals](polygonshape.md#m_normals)* - -___ - -### m_radius - -• **m_radius**: *number* - -*Inherited from [PolygonShape](polygonshape.md).[m_radius](polygonshape.md#m_radius)* - -*Overrides [Shape](shape.md).[m_radius](shape.md#m_radius)* - -___ - -### m_type - -• **m_type**: *"polygon"* - -*Inherited from [PolygonShape](polygonshape.md).[m_type](polygonshape.md#m_type)* - -*Overrides [Shape](shape.md).[m_type](shape.md#m_type)* - -___ - -### m_vertices - -• **m_vertices**: *Vec2[]* - -*Inherited from [PolygonShape](polygonshape.md).[m_vertices](polygonshape.md#m_vertices)* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Shape](shape.md).[style](shape.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"polygon"* = 'polygon' as const - -*Overrides [PolygonShape](polygonshape.md).[TYPE](polygonshape.md#static-type)* - -## Methods - -### computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -*Inherited from [PolygonShape](polygonshape.md).[computeAABB](polygonshape.md#computeaabb)* - -*Overrides [Shape](shape.md).[computeAABB](shape.md#abstract-computeaabb)* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md)): *void* - -*Inherited from [PolygonShape](polygonshape.md).[computeDistanceProxy](polygonshape.md#computedistanceproxy)* - -*Overrides [Shape](shape.md).[computeDistanceProxy](shape.md#abstract-computedistanceproxy)* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | - -**Returns:** *void* - -___ - -### computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density`: number): *void* - -*Inherited from [PolygonShape](polygonshape.md).[computeMass](polygonshape.md#computemass)* - -*Overrides [Shape](shape.md).[computeMass](shape.md#abstract-computemass)* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### getChildCount - -▸ **getChildCount**(): *1* - -*Inherited from [PolygonShape](polygonshape.md).[getChildCount](polygonshape.md#getchildcount)* - -*Overrides [Shape](shape.md).[getChildCount](shape.md#abstract-getchildcount)* - -Get the number of child primitives. - -**Returns:** *1* - -___ - -### getRadius - -▸ **getRadius**(): *number* - -*Inherited from [PolygonShape](polygonshape.md).[getRadius](polygonshape.md#getradius)* - -*Overrides [Shape](shape.md).[getRadius](shape.md#abstract-getradius)* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *"polygon"* - -*Inherited from [PolygonShape](polygonshape.md).[getType](polygonshape.md#gettype)* - -*Overrides [Shape](shape.md).[getType](shape.md#abstract-gettype)* - -**Returns:** *"polygon"* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -*Inherited from [PolygonShape](polygonshape.md).[rayCast](polygonshape.md#raycast)* - -*Overrides [Shape](shape.md).[rayCast](shape.md#abstract-raycast)* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: Vec2): *boolean* - -*Inherited from [PolygonShape](polygonshape.md).[testPoint](polygonshape.md#testpoint)* - -*Overrides [Shape](shape.md).[testPoint](shape.md#abstract-testpoint)* - -Test a point for containment in this shape. This only works for convex -shapes. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | Vec2 | A point in world coordinates. | - -**Returns:** *boolean* - -___ - -### validate - -▸ **validate**(): *boolean* - -*Inherited from [PolygonShape](polygonshape.md).[validate](polygonshape.md#validate)* - -Validate convexity. This is a very time consuming operation. - -**Returns:** *boolean* - -true if valid - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -*Inherited from [Shape](shape.md).[isValid](shape.md#static-isvalid)* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/chainshape.md b/docs/api/classes/chainshape.md deleted file mode 100644 index 687332ec..00000000 --- a/docs/api/classes/chainshape.md +++ /dev/null @@ -1,382 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ChainShape](chainshape.md) - -# Class: ChainShape - -A chain shape is a free form sequence of line segments. The chain has -two-sided collision, so you can use inside and outside collision. Therefore, -you may use any winding order. Connectivity information is used to create -smooth collisions. - -WARNING: The chain will not collide properly if there are self-intersections. - -## Hierarchy - -* [Shape](shape.md) - - ↳ **ChainShape** - -## Index - -### Constructors - -* [constructor](chainshape.md#constructor) - -### Properties - -* [m_count](chainshape.md#m_count) -* [m_hasNextVertex](chainshape.md#m_hasnextvertex) -* [m_hasPrevVertex](chainshape.md#m_hasprevvertex) -* [m_isLoop](chainshape.md#m_isloop) -* [m_nextVertex](chainshape.md#m_nextvertex) -* [m_prevVertex](chainshape.md#m_prevvertex) -* [m_radius](chainshape.md#m_radius) -* [m_type](chainshape.md#m_type) -* [m_vertices](chainshape.md#m_vertices) -* [style](chainshape.md#style) -* [TYPE](chainshape.md#static-type) - -### Methods - -* [computeAABB](chainshape.md#computeaabb) -* [computeDistanceProxy](chainshape.md#computedistanceproxy) -* [computeMass](chainshape.md#computemass) -* [getChildCount](chainshape.md#getchildcount) -* [getChildEdge](chainshape.md#getchildedge) -* [getNextVertex](chainshape.md#getnextvertex) -* [getPrevVertex](chainshape.md#getprevvertex) -* [getRadius](chainshape.md#getradius) -* [getType](chainshape.md#gettype) -* [getVertex](chainshape.md#getvertex) -* [isLoop](chainshape.md#isloop) -* [rayCast](chainshape.md#raycast) -* [setNextVertex](chainshape.md#setnextvertex) -* [setPrevVertex](chainshape.md#setprevvertex) -* [testPoint](chainshape.md#testpoint) -* [isValid](chainshape.md#static-isvalid) - -## Constructors - -### constructor - -\+ **new ChainShape**(`vertices?`: [Vec2Value](../interfaces/vec2value.md)[], `loop?`: boolean): *[ChainShape](chainshape.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`vertices?` | [Vec2Value](../interfaces/vec2value.md)[] | -`loop?` | boolean | - -**Returns:** *[ChainShape](chainshape.md)* - -## Properties - -### m_count - -• **m_count**: *number* - -___ - -### m_hasNextVertex - -• **m_hasNextVertex**: *boolean* - -___ - -### m_hasPrevVertex - -• **m_hasPrevVertex**: *boolean* - -___ - -### m_isLoop - -• **m_isLoop**: *boolean* - -___ - -### m_nextVertex - -• **m_nextVertex**: *Vec2 | null* - -___ - -### m_prevVertex - -• **m_prevVertex**: *Vec2 | null* - -___ - -### m_radius - -• **m_radius**: *number* - -*Overrides [Shape](shape.md).[m_radius](shape.md#m_radius)* - -___ - -### m_type - -• **m_type**: *"chain"* - -*Overrides [Shape](shape.md).[m_type](shape.md#m_type)* - -___ - -### m_vertices - -• **m_vertices**: *Vec2[]* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Shape](shape.md).[style](shape.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"chain"* = 'chain' as const - -## Methods - -### computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -*Overrides [Shape](shape.md).[computeAABB](shape.md#abstract-computeaabb)* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md), `childIndex`: number): *void* - -*Overrides [Shape](shape.md).[computeDistanceProxy](shape.md#abstract-computedistanceproxy)* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | -`childIndex` | number | - -**Returns:** *void* - -___ - -### computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density?`: number): *void* - -*Overrides [Shape](shape.md).[computeMass](shape.md#abstract-computemass)* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -Chains have zero mass. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density?` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### getChildCount - -▸ **getChildCount**(): *number* - -*Overrides [Shape](shape.md).[getChildCount](shape.md#abstract-getchildcount)* - -Get the number of child primitives. - -**Returns:** *number* - -___ - -### getChildEdge - -▸ **getChildEdge**(`edge`: [EdgeShape](edgeshape.md), `childIndex`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`edge` | [EdgeShape](edgeshape.md) | -`childIndex` | number | - -**Returns:** *void* - -___ - -### getNextVertex - -▸ **getNextVertex**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### getPrevVertex - -▸ **getPrevVertex**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### getRadius - -▸ **getRadius**(): *number* - -*Overrides [Shape](shape.md).[getRadius](shape.md#abstract-getradius)* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *"chain"* - -*Overrides [Shape](shape.md).[getType](shape.md#abstract-gettype)* - -**Returns:** *"chain"* - -___ - -### getVertex - -▸ **getVertex**(`index`: number): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`index` | number | - -**Returns:** *Vec2* - -___ - -### isLoop - -▸ **isLoop**(): *boolean* - -**Returns:** *boolean* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -*Overrides [Shape](shape.md).[rayCast](shape.md#abstract-raycast)* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### setNextVertex - -▸ **setNextVertex**(`nextVertex`: Vec2): *void* - -Establish connectivity to a vertex that follows the last vertex. Don't call -this for loops. - -**Parameters:** - -Name | Type | ------- | ------ | -`nextVertex` | Vec2 | - -**Returns:** *void* - -___ - -### setPrevVertex - -▸ **setPrevVertex**(`prevVertex`: Vec2): *void* - -Establish connectivity to a vertex that precedes the first vertex. Don't call -this for loops. - -**Parameters:** - -Name | Type | ------- | ------ | -`prevVertex` | Vec2 | - -**Returns:** *void* - -___ - -### testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: [Vec2Value](../interfaces/vec2value.md)): *false* - -*Overrides [Shape](shape.md).[testPoint](shape.md#abstract-testpoint)* - -Test a point for containment in this shape. This only works for convex -shapes. - -This always return false. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | [Vec2Value](../interfaces/vec2value.md) | A point in world coordinates. | - -**Returns:** *false* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -*Inherited from [Shape](shape.md).[isValid](shape.md#static-isvalid)* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/circleshape.md b/docs/api/classes/circleshape.md deleted file mode 100644 index 6b0f2d39..00000000 --- a/docs/api/classes/circleshape.md +++ /dev/null @@ -1,253 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [CircleShape](circleshape.md) - -# Class: CircleShape - -## Hierarchy - -* [Shape](shape.md) - - ↳ **CircleShape** - -## Index - -### Constructors - -* [constructor](circleshape.md#constructor) - -### Properties - -* [m_p](circleshape.md#m_p) -* [m_radius](circleshape.md#m_radius) -* [m_type](circleshape.md#m_type) -* [style](circleshape.md#style) -* [TYPE](circleshape.md#static-type) - -### Methods - -* [computeAABB](circleshape.md#computeaabb) -* [computeDistanceProxy](circleshape.md#computedistanceproxy) -* [computeMass](circleshape.md#computemass) -* [getCenter](circleshape.md#getcenter) -* [getChildCount](circleshape.md#getchildcount) -* [getRadius](circleshape.md#getradius) -* [getType](circleshape.md#gettype) -* [rayCast](circleshape.md#raycast) -* [testPoint](circleshape.md#testpoint) -* [isValid](circleshape.md#static-isvalid) - -## Constructors - -### constructor - -\+ **new CircleShape**(`position`: [Vec2Value](../interfaces/vec2value.md), `radius?`: number): *[CircleShape](circleshape.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | -`radius?` | number | - -**Returns:** *[CircleShape](circleshape.md)* - -\+ **new CircleShape**(`radius?`: number): *[CircleShape](circleshape.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`radius?` | number | - -**Returns:** *[CircleShape](circleshape.md)* - -## Properties - -### m_p - -• **m_p**: *Vec2* - -___ - -### m_radius - -• **m_radius**: *number* - -*Overrides [Shape](shape.md).[m_radius](shape.md#m_radius)* - -___ - -### m_type - -• **m_type**: *"circle"* - -*Overrides [Shape](shape.md).[m_type](shape.md#m_type)* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Shape](shape.md).[style](shape.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"circle"* = 'circle' as const - -## Methods - -### computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -*Overrides [Shape](shape.md).[computeAABB](shape.md#abstract-computeaabb)* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md)): *void* - -*Overrides [Shape](shape.md).[computeDistanceProxy](shape.md#abstract-computedistanceproxy)* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | - -**Returns:** *void* - -___ - -### computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density`: number): *void* - -*Overrides [Shape](shape.md).[computeMass](shape.md#abstract-computemass)* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### getCenter - -▸ **getCenter**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### getChildCount - -▸ **getChildCount**(): *1* - -*Overrides [Shape](shape.md).[getChildCount](shape.md#abstract-getchildcount)* - -Get the number of child primitives. - -**Returns:** *1* - -___ - -### getRadius - -▸ **getRadius**(): *number* - -*Overrides [Shape](shape.md).[getRadius](shape.md#abstract-getradius)* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *"circle"* - -*Overrides [Shape](shape.md).[getType](shape.md#abstract-gettype)* - -**Returns:** *"circle"* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -*Overrides [Shape](shape.md).[rayCast](shape.md#abstract-raycast)* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: [Vec2Value](../interfaces/vec2value.md)): *boolean* - -*Overrides [Shape](shape.md).[testPoint](shape.md#abstract-testpoint)* - -Test a point for containment in this shape. This only works for convex -shapes. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | [Vec2Value](../interfaces/vec2value.md) | A point in world coordinates. | - -**Returns:** *boolean* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -*Inherited from [Shape](shape.md).[isValid](shape.md#static-isvalid)* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/clipvertex.md b/docs/api/classes/clipvertex.md deleted file mode 100644 index 8228c8e0..00000000 --- a/docs/api/classes/clipvertex.md +++ /dev/null @@ -1,55 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ClipVertex](clipvertex.md) - -# Class: ClipVertex - -Used for computing contact manifolds. - -## Hierarchy - -* **ClipVertex** - -## Index - -### Properties - -* [id](clipvertex.md#id) -* [v](clipvertex.md#v) - -### Methods - -* [recycle](clipvertex.md#recycle) -* [set](clipvertex.md#set) - -## Properties - -### id - -• **id**: *[ContactID](contactid.md)* = new ContactID() - -___ - -### v - -• **v**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* - -___ - -### set - -▸ **set**(`o`: [ClipVertex](clipvertex.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | [ClipVertex](clipvertex.md) | - -**Returns:** *void* diff --git a/docs/api/classes/contactedge.md b/docs/api/classes/contactedge.md deleted file mode 100644 index 2560cec4..00000000 --- a/docs/api/classes/contactedge.md +++ /dev/null @@ -1,63 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ContactEdge](contactedge.md) - -# Class: ContactEdge - -A contact edge is used to connect bodies and contacts together in a contact -graph where each body is a node and each contact is an edge. A contact edge -belongs to a doubly linked list maintained in each attached body. Each -contact has two contact nodes, one for each attached body. - -## Hierarchy - -* **ContactEdge** - -## Index - -### Constructors - -* [constructor](contactedge.md#constructor) - -### Properties - -* [contact](contactedge.md#contact) -* [next](contactedge.md#next) -* [other](contactedge.md#other) -* [prev](contactedge.md#prev) - -## Constructors - -### constructor - -\+ **new ContactEdge**(`contact`: [Contact](contact.md)): *[ContactEdge](contactedge.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`contact` | [Contact](contact.md) | - -**Returns:** *[ContactEdge](contactedge.md)* - -## Properties - -### contact - -• **contact**: *[Contact](contact.md)* - -___ - -### next - -• **next**: *[ContactEdge](contactedge.md) | null* = null - -___ - -### other - -• **other**: *[Body](body.md) | null* = null - -___ - -### prev - -• **prev**: *[ContactEdge](contactedge.md) | null* = null diff --git a/docs/api/classes/distanceinput.md b/docs/api/classes/distanceinput.md deleted file mode 100644 index 501296c7..00000000 --- a/docs/api/classes/distanceinput.md +++ /dev/null @@ -1,62 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceInput](distanceinput.md) - -# Class: DistanceInput - -Input for Distance. You have to option to use the shape radii in the -computation. Even - -## Hierarchy - -* **DistanceInput** - -## Index - -### Properties - -* [proxyA](distanceinput.md#readonly-proxya) -* [proxyB](distanceinput.md#readonly-proxyb) -* [transformA](distanceinput.md#readonly-transforma) -* [transformB](distanceinput.md#readonly-transformb) -* [useRadii](distanceinput.md#useradii) - -### Methods - -* [recycle](distanceinput.md#recycle) - -## Properties - -### `Readonly` proxyA - -• **proxyA**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### `Readonly` proxyB - -• **proxyB**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### `Readonly` transformA - -• **transformA**: *[Transform](transform.md)‹›* = Transform.identity() - -___ - -### `Readonly` transformB - -• **transformB**: *[Transform](transform.md)‹›* = Transform.identity() - -___ - -### useRadii - -• **useRadii**: *boolean* = false - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/distancejoint.md b/docs/api/classes/distancejoint.md deleted file mode 100644 index d8ba1e49..00000000 --- a/docs/api/classes/distancejoint.md +++ /dev/null @@ -1,417 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceJoint](distancejoint.md) - -# Class: DistanceJoint - -A distance joint constrains two points on two bodies to remain at a fixed -distance from each other. You can view this as a massless, rigid rod. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **DistanceJoint** - -## Index - -### Constructors - -* [constructor](distancejoint.md#constructor) - -### Properties - -* [style](distancejoint.md#style) -* [TYPE](distancejoint.md#static-type) - -### Methods - -* [getAnchorA](distancejoint.md#getanchora) -* [getAnchorB](distancejoint.md#getanchorb) -* [getBodyA](distancejoint.md#getbodya) -* [getBodyB](distancejoint.md#getbodyb) -* [getCollideConnected](distancejoint.md#getcollideconnected) -* [getDampingRatio](distancejoint.md#getdampingratio) -* [getFrequency](distancejoint.md#getfrequency) -* [getLength](distancejoint.md#getlength) -* [getLocalAnchorA](distancejoint.md#getlocalanchora) -* [getLocalAnchorB](distancejoint.md#getlocalanchorb) -* [getNext](distancejoint.md#getnext) -* [getReactionForce](distancejoint.md#getreactionforce) -* [getReactionTorque](distancejoint.md#getreactiontorque) -* [getType](distancejoint.md#gettype) -* [getUserData](distancejoint.md#getuserdata) -* [initVelocityConstraints](distancejoint.md#initvelocityconstraints) -* [isActive](distancejoint.md#isactive) -* [setDampingRatio](distancejoint.md#setdampingratio) -* [setFrequency](distancejoint.md#setfrequency) -* [setLength](distancejoint.md#setlength) -* [setUserData](distancejoint.md#setuserdata) -* [shiftOrigin](distancejoint.md#shiftorigin) -* [solvePositionConstraints](distancejoint.md#solvepositionconstraints) -* [solveVelocityConstraints](distancejoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new DistanceJoint**(`def`: [DistanceJointDef](../interfaces/distancejointdef.md)): *[DistanceJoint](distancejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`def` | [DistanceJointDef](../interfaces/distancejointdef.md) | DistanceJoint definition. | - -**Returns:** *[DistanceJoint](distancejoint.md)* - -\+ **new DistanceJoint**(`def`: [DistanceJointOpt](../interfaces/distancejointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchorA`: [Vec2Value](../interfaces/vec2value.md), `anchorB`: [Vec2Value](../interfaces/vec2value.md)): *[DistanceJoint](distancejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`def` | [DistanceJointOpt](../interfaces/distancejointopt.md) | DistanceJoint definition. | -`bodyA` | [Body](body.md) | - | -`bodyB` | [Body](body.md) | - | -`anchorA` | [Vec2Value](../interfaces/vec2value.md) | Anchor A in global coordination. | -`anchorB` | [Vec2Value](../interfaces/vec2value.md) | Anchor B in global coordination. | - -**Returns:** *[DistanceJoint](distancejoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"distance-joint"* = 'distance-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getDampingRatio - -▸ **getDampingRatio**(): *number* - -**Returns:** *number* - -___ - -### getFrequency - -▸ **getFrequency**(): *number* - -**Returns:** *number* - -___ - -### getLength - -▸ **getLength**(): *number* - -Get the natural length. - -**Returns:** *number* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setDampingRatio - -▸ **setDampingRatio**(`ratio`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`ratio` | number | - -**Returns:** *void* - -___ - -### setFrequency - -▸ **setFrequency**(`hz`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`hz` | number | - -**Returns:** *void* - -___ - -### setLength - -▸ **setLength**(`length`: number): *void* - -Set the natural length. Manipulating the length can lead to non-physical -behavior when the frequency is zero. - -**Parameters:** - -Name | Type | ------- | ------ | -`length` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/distanceoutput.md b/docs/api/classes/distanceoutput.md deleted file mode 100644 index af336e34..00000000 --- a/docs/api/classes/distanceoutput.md +++ /dev/null @@ -1,60 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceOutput](distanceoutput.md) - -# Class: DistanceOutput - -Output for Distance. - -## Hierarchy - -* **DistanceOutput** - -## Index - -### Properties - -* [distance](distanceoutput.md#distance) -* [iterations](distanceoutput.md#iterations) -* [pointA](distanceoutput.md#pointa) -* [pointB](distanceoutput.md#pointb) - -### Methods - -* [recycle](distanceoutput.md#recycle) - -## Properties - -### distance - -• **distance**: *number* = 0 - -___ - -### iterations - -• **iterations**: *number* = 0 - -iterations number of GJK iterations used - -___ - -### pointA - -• **pointA**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -closest point on shapeA - -___ - -### pointB - -• **pointB**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -closest point on shapeB - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/edgeshape.md b/docs/api/classes/edgeshape.md deleted file mode 100644 index 9c781262..00000000 --- a/docs/api/classes/edgeshape.md +++ /dev/null @@ -1,347 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [EdgeShape](edgeshape.md) - -# Class: EdgeShape - -A line segment (edge) shape. These can be connected in chains or loops to -other edge shapes. The connectivity information is used to ensure correct -contact normals. - -## Hierarchy - -* [Shape](shape.md) - - ↳ **EdgeShape** - -## Index - -### Constructors - -* [constructor](edgeshape.md#constructor) - -### Properties - -* [m_hasVertex0](edgeshape.md#m_hasvertex0) -* [m_hasVertex3](edgeshape.md#m_hasvertex3) -* [m_radius](edgeshape.md#m_radius) -* [m_type](edgeshape.md#m_type) -* [m_vertex0](edgeshape.md#m_vertex0) -* [m_vertex1](edgeshape.md#m_vertex1) -* [m_vertex2](edgeshape.md#m_vertex2) -* [m_vertex3](edgeshape.md#m_vertex3) -* [style](edgeshape.md#style) -* [TYPE](edgeshape.md#static-type) - -### Methods - -* [_set](edgeshape.md#_set) -* [computeAABB](edgeshape.md#computeaabb) -* [computeDistanceProxy](edgeshape.md#computedistanceproxy) -* [computeMass](edgeshape.md#computemass) -* [getChildCount](edgeshape.md#getchildcount) -* [getNextVertex](edgeshape.md#getnextvertex) -* [getPrevVertex](edgeshape.md#getprevvertex) -* [getRadius](edgeshape.md#getradius) -* [getType](edgeshape.md#gettype) -* [rayCast](edgeshape.md#raycast) -* [setNextVertex](edgeshape.md#setnextvertex) -* [setPrevVertex](edgeshape.md#setprevvertex) -* [testPoint](edgeshape.md#testpoint) -* [isValid](edgeshape.md#static-isvalid) - -## Constructors - -### constructor - -\+ **new EdgeShape**(`v1?`: [Vec2Value](../interfaces/vec2value.md), `v2?`: [Vec2Value](../interfaces/vec2value.md)): *[EdgeShape](edgeshape.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v1?` | [Vec2Value](../interfaces/vec2value.md) | -`v2?` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[EdgeShape](edgeshape.md)* - -## Properties - -### m_hasVertex0 - -• **m_hasVertex0**: *boolean* - -___ - -### m_hasVertex3 - -• **m_hasVertex3**: *boolean* - -___ - -### m_radius - -• **m_radius**: *number* - -*Overrides [Shape](shape.md).[m_radius](shape.md#m_radius)* - -___ - -### m_type - -• **m_type**: *"edge"* - -*Overrides [Shape](shape.md).[m_type](shape.md#m_type)* - -___ - -### m_vertex0 - -• **m_vertex0**: *Vec2* - -___ - -### m_vertex1 - -• **m_vertex1**: *Vec2* - -___ - -### m_vertex2 - -• **m_vertex2**: *Vec2* - -___ - -### m_vertex3 - -• **m_vertex3**: *Vec2* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Shape](shape.md).[style](shape.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"edge"* = 'edge' as const - -## Methods - -### _set - -▸ **_set**(`v1`: Vec2, `v2`: Vec2): *[EdgeShape](edgeshape.md)* - -Set this as an isolated edge. - -**Parameters:** - -Name | Type | ------- | ------ | -`v1` | Vec2 | -`v2` | Vec2 | - -**Returns:** *[EdgeShape](edgeshape.md)* - -___ - -### computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -*Overrides [Shape](shape.md).[computeAABB](shape.md#abstract-computeaabb)* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md)): *void* - -*Overrides [Shape](shape.md).[computeDistanceProxy](shape.md#abstract-computedistanceproxy)* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | - -**Returns:** *void* - -___ - -### computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density?`: number): *void* - -*Overrides [Shape](shape.md).[computeMass](shape.md#abstract-computemass)* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density?` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### getChildCount - -▸ **getChildCount**(): *1* - -*Overrides [Shape](shape.md).[getChildCount](shape.md#abstract-getchildcount)* - -Get the number of child primitives. - -**Returns:** *1* - -___ - -### getNextVertex - -▸ **getNextVertex**(): *Vec2* - -Optional next vertex, used for smooth collision. - -**Returns:** *Vec2* - -___ - -### getPrevVertex - -▸ **getPrevVertex**(): *Vec2* - -Optional prev vertex, used for smooth collision. - -**Returns:** *Vec2* - -___ - -### getRadius - -▸ **getRadius**(): *number* - -*Overrides [Shape](shape.md).[getRadius](shape.md#abstract-getradius)* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *"edge"* - -*Overrides [Shape](shape.md).[getType](shape.md#abstract-gettype)* - -**Returns:** *"edge"* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -*Overrides [Shape](shape.md).[rayCast](shape.md#abstract-raycast)* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### setNextVertex - -▸ **setNextVertex**(`v?`: Vec2): *[EdgeShape](edgeshape.md)* - -Optional next vertex, used for smooth collision. - -**Parameters:** - -Name | Type | ------- | ------ | -`v?` | Vec2 | - -**Returns:** *[EdgeShape](edgeshape.md)* - -___ - -### setPrevVertex - -▸ **setPrevVertex**(`v?`: Vec2): *[EdgeShape](edgeshape.md)* - -Optional prev vertex, used for smooth collision. - -**Parameters:** - -Name | Type | ------- | ------ | -`v?` | Vec2 | - -**Returns:** *[EdgeShape](edgeshape.md)* - -___ - -### testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: [Vec2Value](../interfaces/vec2value.md)): *false* - -*Overrides [Shape](shape.md).[testPoint](shape.md#abstract-testpoint)* - -Test a point for containment in this shape. This only works for convex -shapes. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | [Vec2Value](../interfaces/vec2value.md) | A point in world coordinates. | - -**Returns:** *false* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -*Inherited from [Shape](shape.md).[isValid](shape.md#static-isvalid)* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/fixtureproxy.md b/docs/api/classes/fixtureproxy.md deleted file mode 100644 index 04861c59..00000000 --- a/docs/api/classes/fixtureproxy.md +++ /dev/null @@ -1,61 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FixtureProxy](fixtureproxy.md) - -# Class: FixtureProxy - -This proxy is used internally to connect shape children to the broad-phase. - -## Hierarchy - -* **FixtureProxy** - -## Index - -### Constructors - -* [constructor](fixtureproxy.md#constructor) - -### Properties - -* [aabb](fixtureproxy.md#aabb) -* [childIndex](fixtureproxy.md#childindex) -* [fixture](fixtureproxy.md#fixture) -* [proxyId](fixtureproxy.md#proxyid) - -## Constructors - -### constructor - -\+ **new FixtureProxy**(`fixture`: [Fixture](fixture.md), `childIndex`: number): *[FixtureProxy](fixtureproxy.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`fixture` | [Fixture](fixture.md) | -`childIndex` | number | - -**Returns:** *[FixtureProxy](fixtureproxy.md)* - -## Properties - -### aabb - -• **aabb**: *[AABB](aabb.md)* - -___ - -### childIndex - -• **childIndex**: *number* - -___ - -### fixture - -• **fixture**: *[Fixture](fixture.md)* - -___ - -### proxyId - -• **proxyId**: *number* diff --git a/docs/api/classes/frictionjoint.md b/docs/api/classes/frictionjoint.md deleted file mode 100644 index 5015280d..00000000 --- a/docs/api/classes/frictionjoint.md +++ /dev/null @@ -1,395 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FrictionJoint](frictionjoint.md) - -# Class: FrictionJoint - -Friction joint. This is used for top-down friction. It provides 2D -translational friction and angular friction. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **FrictionJoint** - -## Index - -### Constructors - -* [constructor](frictionjoint.md#constructor) - -### Properties - -* [style](frictionjoint.md#style) -* [TYPE](frictionjoint.md#static-type) - -### Methods - -* [getAnchorA](frictionjoint.md#getanchora) -* [getAnchorB](frictionjoint.md#getanchorb) -* [getBodyA](frictionjoint.md#getbodya) -* [getBodyB](frictionjoint.md#getbodyb) -* [getCollideConnected](frictionjoint.md#getcollideconnected) -* [getLocalAnchorA](frictionjoint.md#getlocalanchora) -* [getLocalAnchorB](frictionjoint.md#getlocalanchorb) -* [getMaxForce](frictionjoint.md#getmaxforce) -* [getMaxTorque](frictionjoint.md#getmaxtorque) -* [getNext](frictionjoint.md#getnext) -* [getReactionForce](frictionjoint.md#getreactionforce) -* [getReactionTorque](frictionjoint.md#getreactiontorque) -* [getType](frictionjoint.md#gettype) -* [getUserData](frictionjoint.md#getuserdata) -* [initVelocityConstraints](frictionjoint.md#initvelocityconstraints) -* [isActive](frictionjoint.md#isactive) -* [setMaxForce](frictionjoint.md#setmaxforce) -* [setMaxTorque](frictionjoint.md#setmaxtorque) -* [setUserData](frictionjoint.md#setuserdata) -* [shiftOrigin](frictionjoint.md#shiftorigin) -* [solvePositionConstraints](frictionjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](frictionjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new FrictionJoint**(`def`: [FrictionJointDef](../interfaces/frictionjointdef.md)): *[FrictionJoint](frictionjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [FrictionJointDef](../interfaces/frictionjointdef.md) | - -**Returns:** *[FrictionJoint](frictionjoint.md)* - -\+ **new FrictionJoint**(`def`: [FrictionJointOpt](../interfaces/frictionjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md)): *[FrictionJoint](frictionjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`def` | [FrictionJointOpt](../interfaces/frictionjointopt.md) | - | -`bodyA` | [Body](body.md) | - | -`bodyB` | [Body](body.md) | - | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | Anchor in global coordination. | - -**Returns:** *[FrictionJoint](frictionjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"friction-joint"* = 'friction-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getMaxForce - -▸ **getMaxForce**(): *number* - -Get the maximum friction force in N. - -**Returns:** *number* - -___ - -### getMaxTorque - -▸ **getMaxTorque**(): *number* - -Get the maximum friction torque in N*m. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setMaxForce - -▸ **setMaxForce**(`force`: number): *void* - -Set the maximum friction force in N. - -**Parameters:** - -Name | Type | ------- | ------ | -`force` | number | - -**Returns:** *void* - -___ - -### setMaxTorque - -▸ **setMaxTorque**(`torque`: number): *void* - -Set the maximum friction torque in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`torque` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/gearjoint.md b/docs/api/classes/gearjoint.md deleted file mode 100644 index eeff9277..00000000 --- a/docs/api/classes/gearjoint.md +++ /dev/null @@ -1,378 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [GearJoint](gearjoint.md) - -# Class: GearJoint - -A gear joint is used to connect two joints together. Either joint can be a -revolute or prismatic joint. You specify a gear ratio to bind the motions -together: coordinate1 + ratio * coordinate2 = constant - -The ratio can be negative or positive. If one joint is a revolute joint and -the other joint is a prismatic joint, then the ratio will have units of -length or units of 1/length. Warning: You have to manually destroy the gear -joint if joint1 or joint2 is destroyed. - -This definition requires two existing revolute or prismatic joints (any -combination will work). - -## Hierarchy - -* [Joint](joint.md) - - ↳ **GearJoint** - -## Index - -### Constructors - -* [constructor](gearjoint.md#constructor) - -### Properties - -* [style](gearjoint.md#style) -* [TYPE](gearjoint.md#static-type) - -### Methods - -* [getAnchorA](gearjoint.md#getanchora) -* [getAnchorB](gearjoint.md#getanchorb) -* [getBodyA](gearjoint.md#getbodya) -* [getBodyB](gearjoint.md#getbodyb) -* [getCollideConnected](gearjoint.md#getcollideconnected) -* [getJoint1](gearjoint.md#getjoint1) -* [getJoint2](gearjoint.md#getjoint2) -* [getNext](gearjoint.md#getnext) -* [getRatio](gearjoint.md#getratio) -* [getReactionForce](gearjoint.md#getreactionforce) -* [getReactionTorque](gearjoint.md#getreactiontorque) -* [getType](gearjoint.md#gettype) -* [getUserData](gearjoint.md#getuserdata) -* [initVelocityConstraints](gearjoint.md#initvelocityconstraints) -* [isActive](gearjoint.md#isactive) -* [setRatio](gearjoint.md#setratio) -* [setUserData](gearjoint.md#setuserdata) -* [shiftOrigin](gearjoint.md#shiftorigin) -* [solvePositionConstraints](gearjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](gearjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new GearJoint**(`def`: [GearJointDef](../interfaces/gearjointdef.md)): *[GearJoint](gearjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [GearJointDef](../interfaces/gearjointdef.md) | - -**Returns:** *[GearJoint](gearjoint.md)* - -\+ **new GearJoint**(`def`: [GearJointOpt](../interfaces/gearjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `joint1`: [RevoluteJoint](revolutejoint.md) | [PrismaticJoint](prismaticjoint.md), `joint2`: [RevoluteJoint](revolutejoint.md) | [PrismaticJoint](prismaticjoint.md), `ratio?`: number): *[GearJoint](gearjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [GearJointOpt](../interfaces/gearjointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`joint1` | [RevoluteJoint](revolutejoint.md) | [PrismaticJoint](prismaticjoint.md) | -`joint2` | [RevoluteJoint](revolutejoint.md) | [PrismaticJoint](prismaticjoint.md) | -`ratio?` | number | - -**Returns:** *[GearJoint](gearjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"gear-joint"* = 'gear-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getJoint1 - -▸ **getJoint1**(): *[Joint](joint.md)* - -Get the first joint. - -**Returns:** *[Joint](joint.md)* - -___ - -### getJoint2 - -▸ **getJoint2**(): *[Joint](joint.md)* - -Get the second joint. - -**Returns:** *[Joint](joint.md)* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getRatio - -▸ **getRatio**(): *number* - -Get the gear ratio. - -**Returns:** *number* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setRatio - -▸ **setRatio**(`ratio`: number): *void* - -Set the gear ratio. - -**Parameters:** - -Name | Type | ------- | ------ | -`ratio` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/joint.md b/docs/api/classes/joint.md deleted file mode 100644 index 33916e03..00000000 --- a/docs/api/classes/joint.md +++ /dev/null @@ -1,291 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Joint](joint.md) - -# Class: Joint - -The base joint class. Joints are used to constraint two bodies together in -various fashions. Some joints also feature limits and motors. - -## Hierarchy - -* **Joint** - - ↳ [DistanceJoint](distancejoint.md) - - ↳ [FrictionJoint](frictionjoint.md) - - ↳ [RevoluteJoint](revolutejoint.md) - - ↳ [PrismaticJoint](prismaticjoint.md) - - ↳ [GearJoint](gearjoint.md) - - ↳ [MotorJoint](motorjoint.md) - - ↳ [MouseJoint](mousejoint.md) - - ↳ [PulleyJoint](pulleyjoint.md) - - ↳ [RopeJoint](ropejoint.md) - - ↳ [WeldJoint](weldjoint.md) - - ↳ [WheelJoint](wheeljoint.md) - -## Index - -### Constructors - -* [constructor](joint.md#constructor) - -### Properties - -* [style](joint.md#style) - -### Methods - -* [getAnchorA](joint.md#abstract-getanchora) -* [getAnchorB](joint.md#abstract-getanchorb) -* [getBodyA](joint.md#getbodya) -* [getBodyB](joint.md#getbodyb) -* [getCollideConnected](joint.md#getcollideconnected) -* [getNext](joint.md#getnext) -* [getReactionForce](joint.md#abstract-getreactionforce) -* [getReactionTorque](joint.md#abstract-getreactiontorque) -* [getType](joint.md#gettype) -* [getUserData](joint.md#getuserdata) -* [initVelocityConstraints](joint.md#abstract-initvelocityconstraints) -* [isActive](joint.md#isactive) -* [setUserData](joint.md#setuserdata) -* [shiftOrigin](joint.md#shiftorigin) -* [solvePositionConstraints](joint.md#abstract-solvepositionconstraints) -* [solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new Joint**(`def`: [JointDef](../interfaces/jointdef.md)): *[Joint](joint.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [JointDef](../interfaces/jointdef.md) | - -**Returns:** *[Joint](joint.md)* - -\+ **new Joint**(`def`: [JointOpt](../interfaces/jointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md)): *[Joint](joint.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [JointOpt](../interfaces/jointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | - -**Returns:** *[Joint](joint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -Styling for dev-tools. - -## Methods - -### `Abstract` getAnchorA - -▸ **getAnchorA**(): *Vec2* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### `Abstract` getAnchorB - -▸ **getAnchorB**(): *Vec2* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### `Abstract` getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### `Abstract` getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -**Returns:** *unknown* - -___ - -### `Abstract` initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### `Abstract` solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### `Abstract` solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/manifold.md b/docs/api/classes/manifold.md deleted file mode 100644 index e4c67231..00000000 --- a/docs/api/classes/manifold.md +++ /dev/null @@ -1,150 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Manifold](manifold.md) - -# Class: Manifold - -A manifold for two touching convex shapes. Manifolds are created in `evaluate` -method of Contact subclasses. - -Supported manifold types are e_faceA or e_faceB for clip point versus plane -with radius and e_circles point versus point with radius. - -We store contacts in this way so that position correction can account for -movement, which is critical for continuous physics. All contact scenarios -must be expressed in one of these types. This structure is stored across time -steps, so we keep it small. - -## Hierarchy - -* **Manifold** - -## Index - -### Properties - -* [localNormal](manifold.md#localnormal) -* [localPoint](manifold.md#localpoint) -* [pointCount](manifold.md#pointcount) -* [points](manifold.md#points) -* [type](manifold.md#type) -* [ClipVertex](manifold.md#static-clipvertex) -* [PointState](manifold.md#static-pointstate) -* [clipSegmentToLine](manifold.md#static-clipsegmenttoline) -* [getPointStates](manifold.md#static-getpointstates) - -### Methods - -* [getWorldManifold](manifold.md#getworldmanifold) -* [recycle](manifold.md#recycle) -* [set](manifold.md#set) - -## Properties - -### localNormal - -• **localNormal**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -Usage depends on manifold type: -- circles: not used -- faceA: the normal on polygonA -- faceB: the normal on polygonB - -___ - -### localPoint - -• **localPoint**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -Usage depends on manifold type: -- circles: the local center of circleA -- faceA: the center of faceA -- faceB: the center of faceB - -___ - -### pointCount - -• **pointCount**: *number* = 0 - -The number of manifold points - -___ - -### points - -• **points**: *[ManifoldPoint](manifoldpoint.md)[]* = [ new ManifoldPoint(), new ManifoldPoint() ] - -The points of contact - -___ - -### type - -• **type**: *[ManifoldType](../enums/manifoldtype.md)* - -___ - -### `Static` ClipVertex - -▪ **ClipVertex**: *[ClipVertex](clipvertex.md)* = ClipVertex - -___ - -### `Static` PointState - -▪ **PointState**: *[PointState](../enums/pointstate.md)* = PointState - -___ - -### `Static` clipSegmentToLine - -▪ **clipSegmentToLine**: *[clipSegmentToLine](../globals.md#clipsegmenttoline)* = clipSegmentToLine - -___ - -### `Static` getPointStates - -▪ **getPointStates**: *[getPointStates](../globals.md#getpointstates)* = getPointStates - -## Methods - -### getWorldManifold - -▸ **getWorldManifold**(`wm`: [WorldManifold](worldmanifold.md) | null, `xfA`: [TransformValue](../globals.md#transformvalue), `radiusA`: number, `xfB`: [TransformValue](../globals.md#transformvalue), `radiusB`: number): *[WorldManifold](worldmanifold.md)* - -Evaluate the manifold with supplied transforms. This assumes modest motion -from the original state. This does not change the point count, impulses, etc. -The radii must come from the shapes that generated the manifold. - -**Parameters:** - -Name | Type | ------- | ------ | -`wm` | [WorldManifold](worldmanifold.md) | null | -`xfA` | [TransformValue](../globals.md#transformvalue) | -`radiusA` | number | -`xfB` | [TransformValue](../globals.md#transformvalue) | -`radiusB` | number | - -**Returns:** *[WorldManifold](worldmanifold.md)* - -___ - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* - -___ - -### set - -▸ **set**(`that`: [Manifold](manifold.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`that` | [Manifold](manifold.md) | - -**Returns:** *void* diff --git a/docs/api/classes/mat22.md b/docs/api/classes/mat22.md deleted file mode 100644 index 64281c20..00000000 --- a/docs/api/classes/mat22.md +++ /dev/null @@ -1,346 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Mat22](mat22.md) - -# Class: Mat22 - -A 2-by-2 matrix. Stored in column-major order. - -## Hierarchy - -* **Mat22** - -## Index - -### Constructors - -* [constructor](mat22.md#constructor) - -### Properties - -* [ex](mat22.md#ex) -* [ey](mat22.md#ey) - -### Methods - -* [getInverse](mat22.md#getinverse) -* [set](mat22.md#set) -* [setIdentity](mat22.md#setidentity) -* [setZero](mat22.md#setzero) -* [solve](mat22.md#solve) -* [abs](mat22.md#static-abs) -* [add](mat22.md#static-add) -* [assert](mat22.md#static-assert) -* [isValid](mat22.md#static-isvalid) -* [mul](mat22.md#static-mul) -* [mulMat22](mat22.md#static-mulmat22) -* [mulT](mat22.md#static-mult) -* [mulTMat22](mat22.md#static-multmat22) -* [mulTVec2](mat22.md#static-multvec2) -* [mulVec2](mat22.md#static-mulvec2) - -## Constructors - -### constructor - -\+ **new Mat22**(`a`: number, `b`: number, `c`: number, `d`: number): *[Mat22](mat22.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`b` | number | -`c` | number | -`d` | number | - -**Returns:** *[Mat22](mat22.md)* - -\+ **new Mat22**(`a`: object, `b`: object): *[Mat22](mat22.md)* - -**Parameters:** - -▪ **a**: *object* - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -▪ **b**: *object* - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -**Returns:** *[Mat22](mat22.md)* - -\+ **new Mat22**(): *[Mat22](mat22.md)* - -**Returns:** *[Mat22](mat22.md)* - -## Properties - -### ex - -• **ex**: *Vec2* - -___ - -### ey - -• **ey**: *Vec2* - -## Methods - -### getInverse - -▸ **getInverse**(): *[Mat22](mat22.md)* - -**Returns:** *[Mat22](mat22.md)* - -___ - -### set - -▸ **set**(`a`: [Mat22](mat22.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat22](mat22.md) | - -**Returns:** *void* - -▸ **set**(`a`: Vec2, `b`: Vec2): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | Vec2 | -`b` | Vec2 | - -**Returns:** *void* - -▸ **set**(`a`: number, `b`: number, `c`: number, `d`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`b` | number | -`c` | number | -`d` | number | - -**Returns:** *void* - -___ - -### setIdentity - -▸ **setIdentity**(): *void* - -**Returns:** *void* - -___ - -### setZero - -▸ **setZero**(): *void* - -**Returns:** *void* - -___ - -### solve - -▸ **solve**(`v`: Vec2): *Vec2* - -Solve A * x = b, where b is a column vector. This is more efficient than -computing the inverse in one-shot cases. - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | Vec2 | - -**Returns:** *Vec2* - -___ - -### `Static` abs - -▸ **abs**(`mx`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -___ - -### `Static` add - -▸ **add**(`mx1`: [Mat22](mat22.md), `mx2`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx1` | [Mat22](mat22.md) | -`mx2` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` mul - -▸ **mul**(`mx`: [Mat22](mat22.md), `my`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -Multiply a matrix times a vector. If a rotation matrix is provided, then this -transforms the vector from one frame to another. - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`my` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -▸ **mul**(`mx`: [Mat22](mat22.md), `v`: Vec2): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | Vec2 | - -**Returns:** *Vec2* - -___ - -### `Static` mulMat22 - -▸ **mulMat22**(`mx`: [Mat22](mat22.md), `v`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -___ - -### `Static` mulT - -▸ **mulT**(`mx`: [Mat22](mat22.md), `my`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -Multiply a matrix transpose times a vector. If a rotation matrix is provided, -then this transforms the vector from one frame to another (inverse -transform). - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`my` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -▸ **mulT**(`mx`: [Mat22](mat22.md), `v`: Vec2): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | Vec2 | - -**Returns:** *Vec2* - -___ - -### `Static` mulTMat22 - -▸ **mulTMat22**(`mx`: [Mat22](mat22.md), `v`: [Mat22](mat22.md)): *[Mat22](mat22.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | [Mat22](mat22.md) | - -**Returns:** *[Mat22](mat22.md)* - -___ - -### `Static` mulTVec2 - -▸ **mulTVec2**(`mx`: [Mat22](mat22.md), `v`: Vec2): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | Vec2 | - -**Returns:** *Vec2* - -___ - -### `Static` mulVec2 - -▸ **mulVec2**(`mx`: [Mat22](mat22.md), `v`: Vec2): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`mx` | [Mat22](mat22.md) | -`v` | Vec2 | - -**Returns:** *Vec2* diff --git a/docs/api/classes/mat33.md b/docs/api/classes/mat33.md deleted file mode 100644 index 9e82e6c5..00000000 --- a/docs/api/classes/mat33.md +++ /dev/null @@ -1,253 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Mat33](mat33.md) - -# Class: Mat33 - -A 3-by-3 matrix. Stored in column-major order. - -## Hierarchy - -* **Mat33** - -## Index - -### Constructors - -* [constructor](mat33.md#constructor) - -### Properties - -* [ex](mat33.md#ex) -* [ey](mat33.md#ey) -* [ez](mat33.md#ez) - -### Methods - -* [getInverse22](mat33.md#getinverse22) -* [getSymInverse33](mat33.md#getsyminverse33) -* [setZero](mat33.md#setzero) -* [solve22](mat33.md#solve22) -* [solve33](mat33.md#solve33) -* [add](mat33.md#static-add) -* [assert](mat33.md#static-assert) -* [isValid](mat33.md#static-isvalid) -* [mul](mat33.md#static-mul) -* [mulVec2](mat33.md#static-mulvec2) -* [mulVec3](mat33.md#static-mulvec3) - -## Constructors - -### constructor - -\+ **new Mat33**(`a`: [Vec3Value](../interfaces/vec3value.md), `b`: [Vec3Value](../interfaces/vec3value.md), `c`: [Vec3Value](../interfaces/vec3value.md)): *[Mat33](mat33.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec3Value](../interfaces/vec3value.md) | -`b` | [Vec3Value](../interfaces/vec3value.md) | -`c` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Mat33](mat33.md)* - -\+ **new Mat33**(): *[Mat33](mat33.md)* - -**Returns:** *[Mat33](mat33.md)* - -## Properties - -### ex - -• **ex**: *[Vec3](vec3.md)* - -___ - -### ey - -• **ey**: *[Vec3](vec3.md)* - -___ - -### ez - -• **ez**: *[Vec3](vec3.md)* - -## Methods - -### getInverse22 - -▸ **getInverse22**(`M`: [Mat33](mat33.md)): *void* - -Get the inverse of this matrix as a 2-by-2. Returns the zero matrix if -singular. - -**Parameters:** - -Name | Type | ------- | ------ | -`M` | [Mat33](mat33.md) | - -**Returns:** *void* - -___ - -### getSymInverse33 - -▸ **getSymInverse33**(`M`: [Mat33](mat33.md)): *void* - -Get the symmetric inverse of this matrix as a 3-by-3. Returns the zero matrix -if singular. - -**Parameters:** - -Name | Type | ------- | ------ | -`M` | [Mat33](mat33.md) | - -**Returns:** *void* - -___ - -### setZero - -▸ **setZero**(): *[Mat33](mat33.md)* - -Set this matrix to all zeros. - -**Returns:** *[Mat33](mat33.md)* - -___ - -### solve22 - -▸ **solve22**(`v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Solve A * x = b, where b is a column vector. This is more efficient than -computing the inverse in one-shot cases. Solve only the upper 2-by-2 matrix -equation. - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### solve33 - -▸ **solve33**(`v`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -Solve A * x = b, where b is a column vector. This is more efficient than -computing the inverse in one-shot cases. - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` add - -▸ **add**(`a`: [Mat33](mat33.md), `b`: [Mat33](mat33.md)): *[Mat33](mat33.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat33](mat33.md) | -`b` | [Mat33](mat33.md) | - -**Returns:** *[Mat33](mat33.md)* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` mul - -▸ **mul**(`a`: [Mat33](mat33.md), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Multiply a matrix times a vector. - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat33](mat33.md) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -▸ **mul**(`a`: [Mat33](mat33.md), `b`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat33](mat33.md) | -`b` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` mulVec2 - -▸ **mulVec2**(`a`: [Mat33](mat33.md), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat33](mat33.md) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulVec3 - -▸ **mulVec3**(`a`: [Mat33](mat33.md), `b`: [Vec3](vec3.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Mat33](mat33.md) | -`b` | [Vec3](vec3.md) | - -**Returns:** *[Vec3](vec3.md)* diff --git a/docs/api/classes/motorjoint.md b/docs/api/classes/motorjoint.md deleted file mode 100644 index b3231d20..00000000 --- a/docs/api/classes/motorjoint.md +++ /dev/null @@ -1,453 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MotorJoint](motorjoint.md) - -# Class: MotorJoint - -A motor joint is used to control the relative motion between two bodies. A -typical usage is to control the movement of a dynamic body with respect to -the ground. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **MotorJoint** - -## Index - -### Constructors - -* [constructor](motorjoint.md#constructor) - -### Properties - -* [style](motorjoint.md#style) -* [TYPE](motorjoint.md#static-type) - -### Methods - -* [getAnchorA](motorjoint.md#getanchora) -* [getAnchorB](motorjoint.md#getanchorb) -* [getAngularOffset](motorjoint.md#getangularoffset) -* [getBodyA](motorjoint.md#getbodya) -* [getBodyB](motorjoint.md#getbodyb) -* [getCollideConnected](motorjoint.md#getcollideconnected) -* [getCorrectionFactor](motorjoint.md#getcorrectionfactor) -* [getLinearOffset](motorjoint.md#getlinearoffset) -* [getMaxForce](motorjoint.md#getmaxforce) -* [getMaxTorque](motorjoint.md#getmaxtorque) -* [getNext](motorjoint.md#getnext) -* [getReactionForce](motorjoint.md#getreactionforce) -* [getReactionTorque](motorjoint.md#getreactiontorque) -* [getType](motorjoint.md#gettype) -* [getUserData](motorjoint.md#getuserdata) -* [initVelocityConstraints](motorjoint.md#initvelocityconstraints) -* [isActive](motorjoint.md#isactive) -* [setAngularOffset](motorjoint.md#setangularoffset) -* [setCorrectionFactor](motorjoint.md#setcorrectionfactor) -* [setLinearOffset](motorjoint.md#setlinearoffset) -* [setMaxForce](motorjoint.md#setmaxforce) -* [setMaxTorque](motorjoint.md#setmaxtorque) -* [setUserData](motorjoint.md#setuserdata) -* [shiftOrigin](motorjoint.md#shiftorigin) -* [solvePositionConstraints](motorjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](motorjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new MotorJoint**(`def`: [MotorJointDef](../interfaces/motorjointdef.md)): *[MotorJoint](motorjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [MotorJointDef](../interfaces/motorjointdef.md) | - -**Returns:** *[MotorJoint](motorjoint.md)* - -\+ **new MotorJoint**(`def`: [MotorJointOpt](../interfaces/motorjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md)): *[MotorJoint](motorjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [MotorJointOpt](../interfaces/motorjointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | - -**Returns:** *[MotorJoint](motorjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"motor-joint"* = 'motor-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAngularOffset - -▸ **getAngularOffset**(): *number* - -**Returns:** *number* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getCorrectionFactor - -▸ **getCorrectionFactor**(): *number* - -Get the position correction factor in the range [0,1]. - -**Returns:** *number* - -___ - -### getLinearOffset - -▸ **getLinearOffset**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### getMaxForce - -▸ **getMaxForce**(): *number* - -Get the maximum friction force in N. - -**Returns:** *number* - -___ - -### getMaxTorque - -▸ **getMaxTorque**(): *number* - -Get the maximum friction torque in N*m. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setAngularOffset - -▸ **setAngularOffset**(`angularOffset`: number): *void* - -Set/get the target angular offset, in radians. - -**Parameters:** - -Name | Type | ------- | ------ | -`angularOffset` | number | - -**Returns:** *void* - -___ - -### setCorrectionFactor - -▸ **setCorrectionFactor**(`factor`: number): *void* - -Set the position correction factor in the range [0,1]. - -**Parameters:** - -Name | Type | ------- | ------ | -`factor` | number | - -**Returns:** *void* - -___ - -### setLinearOffset - -▸ **setLinearOffset**(`linearOffset`: [Vec2Value](../interfaces/vec2value.md)): *void* - -Set/get the target linear offset, in frame A, in meters. - -**Parameters:** - -Name | Type | ------- | ------ | -`linearOffset` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### setMaxForce - -▸ **setMaxForce**(`force`: number): *void* - -Set the maximum friction force in N. - -**Parameters:** - -Name | Type | ------- | ------ | -`force` | number | - -**Returns:** *void* - -___ - -### setMaxTorque - -▸ **setMaxTorque**(`torque`: number): *void* - -Set the maximum friction torque in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`torque` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/mousejoint.md b/docs/api/classes/mousejoint.md deleted file mode 100644 index 25912d63..00000000 --- a/docs/api/classes/mousejoint.md +++ /dev/null @@ -1,435 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MouseJoint](mousejoint.md) - -# Class: MouseJoint - -A mouse joint is used to make a point on a body track a specified world -point. This is a soft constraint with a maximum force. This allows the -constraint to stretch and without applying huge forces. - -You need to call setTarget(target) every time that mouse is -moved, to track the new location of the mouse. - -NOTE: this joint is not documented in the manual because it was developed to -be used in the testbed. If you want to learn how to use the mouse joint, look -at the testbed. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **MouseJoint** - -## Index - -### Constructors - -* [constructor](mousejoint.md#constructor) - -### Properties - -* [style](mousejoint.md#style) -* [TYPE](mousejoint.md#static-type) - -### Methods - -* [getAnchorA](mousejoint.md#getanchora) -* [getAnchorB](mousejoint.md#getanchorb) -* [getBodyA](mousejoint.md#getbodya) -* [getBodyB](mousejoint.md#getbodyb) -* [getCollideConnected](mousejoint.md#getcollideconnected) -* [getDampingRatio](mousejoint.md#getdampingratio) -* [getFrequency](mousejoint.md#getfrequency) -* [getMaxForce](mousejoint.md#getmaxforce) -* [getNext](mousejoint.md#getnext) -* [getReactionForce](mousejoint.md#getreactionforce) -* [getReactionTorque](mousejoint.md#getreactiontorque) -* [getTarget](mousejoint.md#gettarget) -* [getType](mousejoint.md#gettype) -* [getUserData](mousejoint.md#getuserdata) -* [initVelocityConstraints](mousejoint.md#initvelocityconstraints) -* [isActive](mousejoint.md#isactive) -* [setDampingRatio](mousejoint.md#setdampingratio) -* [setFrequency](mousejoint.md#setfrequency) -* [setMaxForce](mousejoint.md#setmaxforce) -* [setTarget](mousejoint.md#settarget) -* [setUserData](mousejoint.md#setuserdata) -* [shiftOrigin](mousejoint.md#shiftorigin) -* [solvePositionConstraints](mousejoint.md#solvepositionconstraints) -* [solveVelocityConstraints](mousejoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new MouseJoint**(`def`: [MouseJointDef](../interfaces/mousejointdef.md)): *[MouseJoint](mousejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [MouseJointDef](../interfaces/mousejointdef.md) | - -**Returns:** *[MouseJoint](mousejoint.md)* - -\+ **new MouseJoint**(`def`: [MouseJointOpt](../interfaces/mousejointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `target`: [Vec2Value](../interfaces/vec2value.md)): *[MouseJoint](mousejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [MouseJointOpt](../interfaces/mousejointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`target` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[MouseJoint](mousejoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"mouse-joint"* = 'mouse-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getDampingRatio - -▸ **getDampingRatio**(): *number* - -Get the damping ratio (dimensionless). - -**Returns:** *number* - -___ - -### getFrequency - -▸ **getFrequency**(): *number* - -Get the frequency in Hertz. - -**Returns:** *number* - -___ - -### getMaxForce - -▸ **getMaxForce**(): *number* - -Get the maximum force in Newtons. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getTarget - -▸ **getTarget**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setDampingRatio - -▸ **setDampingRatio**(`ratio`: number): *void* - -Set the damping ratio (dimensionless). - -**Parameters:** - -Name | Type | ------- | ------ | -`ratio` | number | - -**Returns:** *void* - -___ - -### setFrequency - -▸ **setFrequency**(`hz`: number): *void* - -Set the frequency in Hertz. - -**Parameters:** - -Name | Type | ------- | ------ | -`hz` | number | - -**Returns:** *void* - -___ - -### setMaxForce - -▸ **setMaxForce**(`force`: number): *void* - -Set the maximum force in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`force` | number | - -**Returns:** *void* - -___ - -### setTarget - -▸ **setTarget**(`target`: [Vec2Value](../interfaces/vec2value.md)): *void* - -Use this to update the target point. - -**Parameters:** - -Name | Type | ------- | ------ | -`target` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Overrides [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/polygonshape.md b/docs/api/classes/polygonshape.md deleted file mode 100644 index d3332f3d..00000000 --- a/docs/api/classes/polygonshape.md +++ /dev/null @@ -1,274 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PolygonShape](polygonshape.md) - -# Class: PolygonShape - -A convex polygon. It is assumed that the interior of the polygon is to the -left of each edge. Polygons have a maximum number of vertices equal to -Settings.maxPolygonVertices. In most cases you should not need many vertices -for a convex polygon. extends Shape - -## Hierarchy - -* [Shape](shape.md) - - ↳ **PolygonShape** - - ↳ [BoxShape](boxshape.md) - -## Index - -### Constructors - -* [constructor](polygonshape.md#constructor) - -### Properties - -* [m_centroid](polygonshape.md#m_centroid) -* [m_count](polygonshape.md#m_count) -* [m_normals](polygonshape.md#m_normals) -* [m_radius](polygonshape.md#m_radius) -* [m_type](polygonshape.md#m_type) -* [m_vertices](polygonshape.md#m_vertices) -* [style](polygonshape.md#style) -* [TYPE](polygonshape.md#static-type) - -### Methods - -* [computeAABB](polygonshape.md#computeaabb) -* [computeDistanceProxy](polygonshape.md#computedistanceproxy) -* [computeMass](polygonshape.md#computemass) -* [getChildCount](polygonshape.md#getchildcount) -* [getRadius](polygonshape.md#getradius) -* [getType](polygonshape.md#gettype) -* [rayCast](polygonshape.md#raycast) -* [testPoint](polygonshape.md#testpoint) -* [validate](polygonshape.md#validate) -* [isValid](polygonshape.md#static-isvalid) - -## Constructors - -### constructor - -\+ **new PolygonShape**(`vertices?`: [Vec2Value](../interfaces/vec2value.md)[]): *[PolygonShape](polygonshape.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`vertices?` | [Vec2Value](../interfaces/vec2value.md)[] | - -**Returns:** *[PolygonShape](polygonshape.md)* - -## Properties - -### m_centroid - -• **m_centroid**: *Vec2* - -___ - -### m_count - -• **m_count**: *number* - -___ - -### m_normals - -• **m_normals**: *Vec2[]* - -___ - -### m_radius - -• **m_radius**: *number* - -*Overrides [Shape](shape.md).[m_radius](shape.md#m_radius)* - -___ - -### m_type - -• **m_type**: *"polygon"* - -*Overrides [Shape](shape.md).[m_type](shape.md#m_type)* - -___ - -### m_vertices - -• **m_vertices**: *Vec2[]* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Shape](shape.md).[style](shape.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"polygon"* = 'polygon' as const - -## Methods - -### computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -*Overrides [Shape](shape.md).[computeAABB](shape.md#abstract-computeaabb)* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md)): *void* - -*Overrides [Shape](shape.md).[computeDistanceProxy](shape.md#abstract-computedistanceproxy)* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | - -**Returns:** *void* - -___ - -### computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density`: number): *void* - -*Overrides [Shape](shape.md).[computeMass](shape.md#abstract-computemass)* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### getChildCount - -▸ **getChildCount**(): *1* - -*Overrides [Shape](shape.md).[getChildCount](shape.md#abstract-getchildcount)* - -Get the number of child primitives. - -**Returns:** *1* - -___ - -### getRadius - -▸ **getRadius**(): *number* - -*Overrides [Shape](shape.md).[getRadius](shape.md#abstract-getradius)* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *"polygon"* - -*Overrides [Shape](shape.md).[getType](shape.md#abstract-gettype)* - -**Returns:** *"polygon"* - -___ - -### rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -*Overrides [Shape](shape.md).[rayCast](shape.md#abstract-raycast)* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: Vec2): *boolean* - -*Overrides [Shape](shape.md).[testPoint](shape.md#abstract-testpoint)* - -Test a point for containment in this shape. This only works for convex -shapes. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | Vec2 | A point in world coordinates. | - -**Returns:** *boolean* - -___ - -### validate - -▸ **validate**(): *boolean* - -Validate convexity. This is a very time consuming operation. - -**Returns:** *boolean* - -true if valid - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -*Inherited from [Shape](shape.md).[isValid](shape.md#static-isvalid)* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/position.md b/docs/api/classes/position.md deleted file mode 100644 index 576d700c..00000000 --- a/docs/api/classes/position.md +++ /dev/null @@ -1,49 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Position](position.md) - -# Class: Position - -## Hierarchy - -* **Position** - -## Index - -### Properties - -* [a](position.md#a) -* [c](position.md#c) - -### Methods - -* [getTransform](position.md#gettransform) - -## Properties - -### a - -• **a**: *number* = 0 - -angle - -___ - -### c - -• **c**: *Vec2‹›* = Vec2.zero() - -location - -## Methods - -### getTransform - -▸ **getTransform**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: [Vec2Value](../interfaces/vec2value.md)): *[TransformValue](../globals.md#transformvalue)* - -**Parameters:** - -Name | Type | ------- | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | -`p` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[TransformValue](../globals.md#transformvalue)* diff --git a/docs/api/classes/prismaticjoint.md b/docs/api/classes/prismaticjoint.md deleted file mode 100644 index 316ad2db..00000000 --- a/docs/api/classes/prismaticjoint.md +++ /dev/null @@ -1,553 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PrismaticJoint](prismaticjoint.md) - -# Class: PrismaticJoint - -A prismatic joint. This joint provides one degree of freedom: translation -along an axis fixed in bodyA. Relative rotation is prevented. You can use a -joint limit to restrict the range of motion and a joint motor to drive the -motion or to model joint friction. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **PrismaticJoint** - -## Index - -### Constructors - -* [constructor](prismaticjoint.md#constructor) - -### Properties - -* [style](prismaticjoint.md#style) -* [TYPE](prismaticjoint.md#static-type) - -### Methods - -* [enableLimit](prismaticjoint.md#enablelimit) -* [enableMotor](prismaticjoint.md#enablemotor) -* [getAnchorA](prismaticjoint.md#getanchora) -* [getAnchorB](prismaticjoint.md#getanchorb) -* [getBodyA](prismaticjoint.md#getbodya) -* [getBodyB](prismaticjoint.md#getbodyb) -* [getCollideConnected](prismaticjoint.md#getcollideconnected) -* [getJointSpeed](prismaticjoint.md#getjointspeed) -* [getJointTranslation](prismaticjoint.md#getjointtranslation) -* [getLocalAnchorA](prismaticjoint.md#getlocalanchora) -* [getLocalAnchorB](prismaticjoint.md#getlocalanchorb) -* [getLocalAxisA](prismaticjoint.md#getlocalaxisa) -* [getLowerLimit](prismaticjoint.md#getlowerlimit) -* [getMaxMotorForce](prismaticjoint.md#getmaxmotorforce) -* [getMotorForce](prismaticjoint.md#getmotorforce) -* [getMotorSpeed](prismaticjoint.md#getmotorspeed) -* [getNext](prismaticjoint.md#getnext) -* [getReactionForce](prismaticjoint.md#getreactionforce) -* [getReactionTorque](prismaticjoint.md#getreactiontorque) -* [getReferenceAngle](prismaticjoint.md#getreferenceangle) -* [getType](prismaticjoint.md#gettype) -* [getUpperLimit](prismaticjoint.md#getupperlimit) -* [getUserData](prismaticjoint.md#getuserdata) -* [initVelocityConstraints](prismaticjoint.md#initvelocityconstraints) -* [isActive](prismaticjoint.md#isactive) -* [isLimitEnabled](prismaticjoint.md#islimitenabled) -* [isMotorEnabled](prismaticjoint.md#ismotorenabled) -* [setLimits](prismaticjoint.md#setlimits) -* [setMaxMotorForce](prismaticjoint.md#setmaxmotorforce) -* [setMotorSpeed](prismaticjoint.md#setmotorspeed) -* [setUserData](prismaticjoint.md#setuserdata) -* [shiftOrigin](prismaticjoint.md#shiftorigin) -* [solvePositionConstraints](prismaticjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](prismaticjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new PrismaticJoint**(`def`: [PrismaticJointDef](../interfaces/prismaticjointdef.md)): *[PrismaticJoint](prismaticjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [PrismaticJointDef](../interfaces/prismaticjointdef.md) | - -**Returns:** *[PrismaticJoint](prismaticjoint.md)* - -\+ **new PrismaticJoint**(`def`: [PrismaticJointOpt](../interfaces/prismaticjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md), `axis`: [Vec2Value](../interfaces/vec2value.md)): *[PrismaticJoint](prismaticjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [PrismaticJointOpt](../interfaces/prismaticjointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | -`axis` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[PrismaticJoint](prismaticjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"prismatic-joint"* = 'prismatic-joint' as const - -## Methods - -### enableLimit - -▸ **enableLimit**(`flag`: boolean): *void* - -Enable/disable the joint limit. - -**Parameters:** - -Name | Type | ------- | ------ | -`flag` | boolean | - -**Returns:** *void* - -___ - -### enableMotor - -▸ **enableMotor**(`flag`: boolean): *void* - -Enable/disable the joint motor. - -**Parameters:** - -Name | Type | ------- | ------ | -`flag` | boolean | - -**Returns:** *void* - -___ - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getJointSpeed - -▸ **getJointSpeed**(): *number* - -Get the current joint translation speed, usually in meters per second. - -**Returns:** *number* - -___ - -### getJointTranslation - -▸ **getJointTranslation**(): *number* - -Get the current joint translation, usually in meters. - -**Returns:** *number* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAxisA - -▸ **getLocalAxisA**(): *Vec2* - -The local joint axis relative to bodyA. - -**Returns:** *Vec2* - -___ - -### getLowerLimit - -▸ **getLowerLimit**(): *number* - -Get the lower joint limit, usually in meters. - -**Returns:** *number* - -___ - -### getMaxMotorForce - -▸ **getMaxMotorForce**(): *number* - -**Returns:** *number* - -___ - -### getMotorForce - -▸ **getMotorForce**(`inv_dt`: number): *number* - -Get the current motor force given the inverse time step, usually in N. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getMotorSpeed - -▸ **getMotorSpeed**(): *number* - -Get the motor speed, usually in meters per second. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getReferenceAngle - -▸ **getReferenceAngle**(): *number* - -Get the reference angle. - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUpperLimit - -▸ **getUpperLimit**(): *number* - -Get the upper joint limit, usually in meters. - -**Returns:** *number* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### isLimitEnabled - -▸ **isLimitEnabled**(): *boolean* - -Is the joint limit enabled? - -**Returns:** *boolean* - -___ - -### isMotorEnabled - -▸ **isMotorEnabled**(): *boolean* - -Is the joint motor enabled? - -**Returns:** *boolean* - -___ - -### setLimits - -▸ **setLimits**(`lower`: number, `upper`: number): *void* - -Set the joint limits, usually in meters. - -**Parameters:** - -Name | Type | ------- | ------ | -`lower` | number | -`upper` | number | - -**Returns:** *void* - -___ - -### setMaxMotorForce - -▸ **setMaxMotorForce**(`force`: number): *void* - -Set the maximum motor force, usually in N. - -**Parameters:** - -Name | Type | ------- | ------ | -`force` | number | - -**Returns:** *void* - -___ - -### setMotorSpeed - -▸ **setMotorSpeed**(`speed`: number): *void* - -Set the motor speed, usually in meters per second. - -**Parameters:** - -Name | Type | ------- | ------ | -`speed` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/pulleyjoint.md b/docs/api/classes/pulleyjoint.md deleted file mode 100644 index 16c8f69d..00000000 --- a/docs/api/classes/pulleyjoint.md +++ /dev/null @@ -1,405 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PulleyJoint](pulleyjoint.md) - -# Class: PulleyJoint - -The pulley joint is connected to two bodies and two fixed ground points. The -pulley supports a ratio such that: length1 + ratio * length2 <= constant - -Yes, the force transmitted is scaled by the ratio. - -Warning: the pulley joint can get a bit squirrelly by itself. They often work -better when combined with prismatic joints. You should also cover the the -anchor points with static shapes to prevent one side from going to zero -length. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **PulleyJoint** - -## Index - -### Constructors - -* [constructor](pulleyjoint.md#constructor) - -### Properties - -* [style](pulleyjoint.md#style) -* [TYPE](pulleyjoint.md#static-type) - -### Methods - -* [getAnchorA](pulleyjoint.md#getanchora) -* [getAnchorB](pulleyjoint.md#getanchorb) -* [getBodyA](pulleyjoint.md#getbodya) -* [getBodyB](pulleyjoint.md#getbodyb) -* [getCollideConnected](pulleyjoint.md#getcollideconnected) -* [getCurrentLengthA](pulleyjoint.md#getcurrentlengtha) -* [getCurrentLengthB](pulleyjoint.md#getcurrentlengthb) -* [getGroundAnchorA](pulleyjoint.md#getgroundanchora) -* [getGroundAnchorB](pulleyjoint.md#getgroundanchorb) -* [getLengthA](pulleyjoint.md#getlengtha) -* [getLengthB](pulleyjoint.md#getlengthb) -* [getNext](pulleyjoint.md#getnext) -* [getRatio](pulleyjoint.md#getratio) -* [getReactionForce](pulleyjoint.md#getreactionforce) -* [getReactionTorque](pulleyjoint.md#getreactiontorque) -* [getType](pulleyjoint.md#gettype) -* [getUserData](pulleyjoint.md#getuserdata) -* [initVelocityConstraints](pulleyjoint.md#initvelocityconstraints) -* [isActive](pulleyjoint.md#isactive) -* [setUserData](pulleyjoint.md#setuserdata) -* [shiftOrigin](pulleyjoint.md#shiftorigin) -* [solvePositionConstraints](pulleyjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](pulleyjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new PulleyJoint**(`def`: [PulleyJointDef](../interfaces/pulleyjointdef.md)): *[PulleyJoint](pulleyjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [PulleyJointDef](../interfaces/pulleyjointdef.md) | - -**Returns:** *[PulleyJoint](pulleyjoint.md)* - -\+ **new PulleyJoint**(`def`: [PulleyJointOpt](../interfaces/pulleyjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `groundA`: [Vec2Value](../interfaces/vec2value.md), `groundB`: [Vec2Value](../interfaces/vec2value.md), `anchorA`: [Vec2Value](../interfaces/vec2value.md), `anchorB`: [Vec2Value](../interfaces/vec2value.md), `ratio`: number): *[PulleyJoint](pulleyjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [PulleyJointOpt](../interfaces/pulleyjointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`groundA` | [Vec2Value](../interfaces/vec2value.md) | -`groundB` | [Vec2Value](../interfaces/vec2value.md) | -`anchorA` | [Vec2Value](../interfaces/vec2value.md) | -`anchorB` | [Vec2Value](../interfaces/vec2value.md) | -`ratio` | number | - -**Returns:** *[PulleyJoint](pulleyjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"pulley-joint"* = 'pulley-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getCurrentLengthA - -▸ **getCurrentLengthA**(): *number* - -Get the current length of the segment attached to bodyA. - -**Returns:** *number* - -___ - -### getCurrentLengthB - -▸ **getCurrentLengthB**(): *number* - -Get the current length of the segment attached to bodyB. - -**Returns:** *number* - -___ - -### getGroundAnchorA - -▸ **getGroundAnchorA**(): *Vec2* - -Get the first ground anchor. - -**Returns:** *Vec2* - -___ - -### getGroundAnchorB - -▸ **getGroundAnchorB**(): *Vec2* - -Get the second ground anchor. - -**Returns:** *Vec2* - -___ - -### getLengthA - -▸ **getLengthA**(): *number* - -Get the current length of the segment attached to bodyA. - -**Returns:** *number* - -___ - -### getLengthB - -▸ **getLengthB**(): *number* - -Get the current length of the segment attached to bodyB. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getRatio - -▸ **getRatio**(): *number* - -Get the pulley ratio. - -**Returns:** *number* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Overrides [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/ropejoint.md b/docs/api/classes/ropejoint.md deleted file mode 100644 index 083ec489..00000000 --- a/docs/api/classes/ropejoint.md +++ /dev/null @@ -1,383 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RopeJoint](ropejoint.md) - -# Class: RopeJoint - -A rope joint enforces a maximum distance between two points on two bodies. It -has no other effect. - -Warning: if you attempt to change the maximum length during the simulation -you will get some non-physical behavior. - -A model that would allow you to dynamically modify the length would have some -sponginess, so I chose not to implement it that way. See [DistanceJoint](distancejoint.md) if you -want to dynamically control length. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **RopeJoint** - -## Index - -### Constructors - -* [constructor](ropejoint.md#constructor) - -### Properties - -* [style](ropejoint.md#style) -* [TYPE](ropejoint.md#static-type) - -### Methods - -* [getAnchorA](ropejoint.md#getanchora) -* [getAnchorB](ropejoint.md#getanchorb) -* [getBodyA](ropejoint.md#getbodya) -* [getBodyB](ropejoint.md#getbodyb) -* [getCollideConnected](ropejoint.md#getcollideconnected) -* [getLimitState](ropejoint.md#getlimitstate) -* [getLocalAnchorA](ropejoint.md#getlocalanchora) -* [getLocalAnchorB](ropejoint.md#getlocalanchorb) -* [getMaxLength](ropejoint.md#getmaxlength) -* [getNext](ropejoint.md#getnext) -* [getReactionForce](ropejoint.md#getreactionforce) -* [getReactionTorque](ropejoint.md#getreactiontorque) -* [getType](ropejoint.md#gettype) -* [getUserData](ropejoint.md#getuserdata) -* [initVelocityConstraints](ropejoint.md#initvelocityconstraints) -* [isActive](ropejoint.md#isactive) -* [setMaxLength](ropejoint.md#setmaxlength) -* [setUserData](ropejoint.md#setuserdata) -* [shiftOrigin](ropejoint.md#shiftorigin) -* [solvePositionConstraints](ropejoint.md#solvepositionconstraints) -* [solveVelocityConstraints](ropejoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new RopeJoint**(`def`: [RopeJointDef](../interfaces/ropejointdef.md)): *[RopeJoint](ropejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [RopeJointDef](../interfaces/ropejointdef.md) | - -**Returns:** *[RopeJoint](ropejoint.md)* - -\+ **new RopeJoint**(`def`: [RopeJointOpt](../interfaces/ropejointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md)): *[RopeJoint](ropejoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [RopeJointOpt](../interfaces/ropejointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[RopeJoint](ropejoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"rope-joint"* = 'rope-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getLimitState - -▸ **getLimitState**(): *number* - -**Returns:** *number* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getMaxLength - -▸ **getMaxLength**(): *number* - -Get the maximum length of the rope. - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setMaxLength - -▸ **setMaxLength**(`length`: number): *void* - -Set the maximum length of the rope. - -**Parameters:** - -Name | Type | ------- | ------ | -`length` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/rot.md b/docs/api/classes/rot.md deleted file mode 100644 index ca4759ef..00000000 --- a/docs/api/classes/rot.md +++ /dev/null @@ -1,349 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Rot](rot.md) - -# Class: Rot - -## Hierarchy - -* **Rot** - -## Index - -### Constructors - -* [constructor](rot.md#constructor) - -### Properties - -* [c](rot.md#c) -* [s](rot.md#s) - -### Methods - -* [getAngle](rot.md#getangle) -* [getXAxis](rot.md#getxaxis) -* [getYAxis](rot.md#getyaxis) -* [set](rot.md#set) -* [setAngle](rot.md#setangle) -* [setIdentity](rot.md#setidentity) -* [setRot](rot.md#setrot) -* [assert](rot.md#static-assert) -* [clone](rot.md#static-clone) -* [identity](rot.md#static-identity) -* [isValid](rot.md#static-isvalid) -* [mul](rot.md#static-mul) -* [mulRot](rot.md#static-mulrot) -* [mulSub](rot.md#static-mulsub) -* [mulT](rot.md#static-mult) -* [mulTRot](rot.md#static-multrot) -* [mulTVec2](rot.md#static-multvec2) -* [mulVec2](rot.md#static-mulvec2) - -## Constructors - -### constructor - -\+ **new Rot**(`angle?`: number | [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -Initialize from an angle in radians. - -**Parameters:** - -Name | Type | ------- | ------ | -`angle?` | number | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -## Properties - -### c - -• **c**: *number* - -cos(angle) - -___ - -### s - -• **s**: *number* - -sin(angle) - -## Methods - -### getAngle - -▸ **getAngle**(): *number* - -Get the angle in radians. - -**Returns:** *number* - -___ - -### getXAxis - -▸ **getXAxis**(): *Vec2* - -Get the x-axis. - -**Returns:** *Vec2* - -___ - -### getYAxis - -▸ **getYAxis**(): *Vec2* - -Get the y-axis. - -**Returns:** *Vec2* - -___ - -### set - -▸ **set**(`angle`: number | [RotValue](../interfaces/rotvalue.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`angle` | number | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *void* - -___ - -### setAngle - -▸ **setAngle**(`angle`: number): *void* - -Set using an angle in radians. - -**Parameters:** - -Name | Type | ------- | ------ | -`angle` | number | - -**Returns:** *void* - -___ - -### setIdentity - -▸ **setIdentity**(): *void* - -Set to the identity rotation. - -**Returns:** *void* - -___ - -### setRot - -▸ **setRot**(`angle`: [RotValue](../interfaces/rotvalue.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`angle` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *void* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` clone - -▸ **clone**(`rot`: [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -___ - -### `Static` identity - -▸ **identity**(): *[Rot](rot.md)* - -**Returns:** *[Rot](rot.md)* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` mul - -▸ **mul**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -Multiply two rotations: q * r - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -▸ **mul**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Rotate a vector - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulRot - -▸ **mulRot**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -Multiply two rotations: q * r - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -___ - -### `Static` mulSub - -▸ **mulSub**(`rot`: [RotValue](../interfaces/rotvalue.md), `v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulT - -▸ **mulT**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -Transpose multiply two rotations: qT * r - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -▸ **mulT**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Inverse rotate a vector - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulTRot - -▸ **mulTRot**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [RotValue](../interfaces/rotvalue.md)): *[Rot](rot.md)* - -Transpose multiply two rotations: qT * r - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [RotValue](../interfaces/rotvalue.md) | - -**Returns:** *[Rot](rot.md)* - -___ - -### `Static` mulTVec2 - -▸ **mulTVec2**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Inverse rotate a vector - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulVec2 - -▸ **mulVec2**(`rot`: [RotValue](../interfaces/rotvalue.md), `m`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Rotate a vector - -**Parameters:** - -Name | Type | ------- | ------ | -`rot` | [RotValue](../interfaces/rotvalue.md) | -`m` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* diff --git a/docs/api/classes/separationfunction.md b/docs/api/classes/separationfunction.md deleted file mode 100644 index 3bcc3b5c..00000000 --- a/docs/api/classes/separationfunction.md +++ /dev/null @@ -1,153 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [SeparationFunction](separationfunction.md) - -# Class: SeparationFunction - -## Hierarchy - -* **SeparationFunction** - -## Index - -### Properties - -* [indexA](separationfunction.md#indexa) -* [indexB](separationfunction.md#indexb) -* [m_axis](separationfunction.md#m_axis) -* [m_localPoint](separationfunction.md#m_localpoint) -* [m_proxyA](separationfunction.md#m_proxya) -* [m_proxyB](separationfunction.md#m_proxyb) -* [m_sweepA](separationfunction.md#m_sweepa) -* [m_sweepB](separationfunction.md#m_sweepb) -* [m_type](separationfunction.md#m_type) - -### Methods - -* [compute](separationfunction.md#compute) -* [evaluate](separationfunction.md#evaluate) -* [findMinSeparation](separationfunction.md#findminseparation) -* [initialize](separationfunction.md#initialize) -* [recycle](separationfunction.md#recycle) - -## Properties - -### indexA - -• **indexA**: *number* = -1 - -___ - -### indexB - -• **indexB**: *number* = -1 - -___ - -### m_axis - -• **m_axis**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -___ - -### m_localPoint - -• **m_localPoint**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -___ - -### m_proxyA - -• **m_proxyA**: *[DistanceProxy](distanceproxy.md)* = null - -___ - -### m_proxyB - -• **m_proxyB**: *[DistanceProxy](distanceproxy.md)* = null - -___ - -### m_sweepA - -• **m_sweepA**: *[Sweep](sweep.md)* = null - -___ - -### m_sweepB - -• **m_sweepB**: *[Sweep](sweep.md)* = null - -___ - -### m_type - -• **m_type**: *[SeparationFunctionType](../enums/separationfunctiontype.md)* = SeparationFunctionType.e_unset - -## Methods - -### compute - -▸ **compute**(`find`: boolean, `t`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`find` | boolean | -`t` | number | - -**Returns:** *number* - -___ - -### evaluate - -▸ **evaluate**(`t`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`t` | number | - -**Returns:** *number* - -___ - -### findMinSeparation - -▸ **findMinSeparation**(`t`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`t` | number | - -**Returns:** *number* - -___ - -### initialize - -▸ **initialize**(`cache`: [SimplexCache](simplexcache.md), `proxyA`: [DistanceProxy](distanceproxy.md), `sweepA`: [Sweep](sweep.md), `proxyB`: [DistanceProxy](distanceproxy.md), `sweepB`: [Sweep](sweep.md), `t1`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`cache` | [SimplexCache](simplexcache.md) | -`proxyA` | [DistanceProxy](distanceproxy.md) | -`sweepA` | [Sweep](sweep.md) | -`proxyB` | [DistanceProxy](distanceproxy.md) | -`sweepB` | [Sweep](sweep.md) | -`t1` | number | - -**Returns:** *number* - -___ - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/shape.md b/docs/api/classes/shape.md deleted file mode 100644 index 39baf456..00000000 --- a/docs/api/classes/shape.md +++ /dev/null @@ -1,196 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Shape](shape.md) - -# Class: Shape - -A shape is used for collision detection. You can create a shape however you -like. Shapes used for simulation in World are created automatically when a -Fixture is created. Shapes may encapsulate one or more child shapes. - -## Hierarchy - -* **Shape** - - ↳ [PolygonShape](polygonshape.md) - - ↳ [EdgeShape](edgeshape.md) - - ↳ [ChainShape](chainshape.md) - - ↳ [CircleShape](circleshape.md) - -## Index - -### Properties - -* [m_radius](shape.md#m_radius) -* [m_type](shape.md#m_type) -* [style](shape.md#style) - -### Methods - -* [computeAABB](shape.md#abstract-computeaabb) -* [computeDistanceProxy](shape.md#abstract-computedistanceproxy) -* [computeMass](shape.md#abstract-computemass) -* [getChildCount](shape.md#abstract-getchildcount) -* [getRadius](shape.md#abstract-getradius) -* [getType](shape.md#abstract-gettype) -* [rayCast](shape.md#abstract-raycast) -* [testPoint](shape.md#abstract-testpoint) -* [isValid](shape.md#static-isvalid) - -## Properties - -### m_radius - -• **m_radius**: *number* - -Radius of a shape. For polygonal shapes this must be b2_polygonRadius. -There is no support for making rounded polygons. - -___ - -### m_type - -• **m_type**: *[ShapeType](../globals.md#shapetype)* - -___ - -### style - -• **style**: *[Style](../interfaces/style.md)* - -Styling for dev-tools. - -## Methods - -### `Abstract` computeAABB - -▸ **computeAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `xf`: [TransformValue](../globals.md#transformvalue), `childIndex`: number): *void* - -Given a transform, compute the associated axis aligned bounding box for a -child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | Returns the axis aligned box. | -`xf` | [TransformValue](../globals.md#transformvalue) | The world transform of the shape. | -`childIndex` | number | The child shape | - -**Returns:** *void* - -___ - -### `Abstract` computeDistanceProxy - -▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](distanceproxy.md), `childIndex`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`proxy` | [DistanceProxy](distanceproxy.md) | -`childIndex` | number | - -**Returns:** *void* - -___ - -### `Abstract` computeMass - -▸ **computeMass**(`massData`: [MassData](../interfaces/massdata.md), `density?`: number): *void* - -Compute the mass properties of this shape using its dimensions and density. -The inertia tensor is computed about the local origin. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | Returns the mass data for this shape. | -`density?` | number | The density in kilograms per meter squared. | - -**Returns:** *void* - -___ - -### `Abstract` getChildCount - -▸ **getChildCount**(): *number* - -Get the number of child primitives. - -**Returns:** *number* - -___ - -### `Abstract` getRadius - -▸ **getRadius**(): *number* - -**Returns:** *number* - -___ - -### `Abstract` getType - -▸ **getType**(): *[ShapeType](../globals.md#shapetype)* - -Get the type of this shape. You can use this to down cast to the concrete -shape. - -**Returns:** *[ShapeType](../globals.md#shapetype)* - -the shape type. - -___ - -### `Abstract` rayCast - -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `xf`: [Transform](transform.md), `childIndex`: number): *boolean* - -Cast a ray against a child shape. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | The ray-cast results. | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input parameters. | -`xf` | [Transform](transform.md) | The transform to be applied to the shape. | -`childIndex` | number | The child shape index | - -**Returns:** *boolean* - -___ - -### `Abstract` testPoint - -▸ **testPoint**(`xf`: [TransformValue](../globals.md#transformvalue), `p`: [Vec2Value](../interfaces/vec2value.md)): *boolean* - -Test a point for containment in this shape. This only works for convex -shapes. - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | The shape world transform. | -`p` | [Vec2Value](../interfaces/vec2value.md) | A point in world coordinates. | - -**Returns:** *boolean* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* diff --git a/docs/api/classes/shapecastinput.md b/docs/api/classes/shapecastinput.md deleted file mode 100644 index 0e6bad59..00000000 --- a/docs/api/classes/shapecastinput.md +++ /dev/null @@ -1,61 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ShapeCastInput](shapecastinput.md) - -# Class: ShapeCastInput - -Input parameters for ShapeCast - -## Hierarchy - -* **ShapeCastInput** - -## Index - -### Properties - -* [proxyA](shapecastinput.md#readonly-proxya) -* [proxyB](shapecastinput.md#readonly-proxyb) -* [transformA](shapecastinput.md#readonly-transforma) -* [transformB](shapecastinput.md#readonly-transformb) -* [translationB](shapecastinput.md#readonly-translationb) - -### Methods - -* [recycle](shapecastinput.md#recycle) - -## Properties - -### `Readonly` proxyA - -• **proxyA**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### `Readonly` proxyB - -• **proxyB**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### `Readonly` transformA - -• **transformA**: *[Transform](transform.md)‹›* = Transform.identity() - -___ - -### `Readonly` transformB - -• **transformB**: *[Transform](transform.md)‹›* = Transform.identity() - -___ - -### `Readonly` translationB - -• **translationB**: *Vec2‹›* = Vec2.zero() - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/simplex.md b/docs/api/classes/simplex.md deleted file mode 100644 index fe5dd052..00000000 --- a/docs/api/classes/simplex.md +++ /dev/null @@ -1,163 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Simplex](simplex.md) - -# Class: Simplex - -## Hierarchy - -* **Simplex** - -## Index - -### Properties - -* [m_count](simplex.md#m_count) -* [m_v](simplex.md#m_v) -* [m_v1](simplex.md#m_v1) -* [m_v2](simplex.md#m_v2) -* [m_v3](simplex.md#m_v3) - -### Methods - -* [getClosestPoint](simplex.md#getclosestpoint) -* [getMetric](simplex.md#getmetric) -* [getSearchDirection](simplex.md#getsearchdirection) -* [getWitnessPoints](simplex.md#getwitnesspoints) -* [readCache](simplex.md#readcache) -* [recycle](simplex.md#recycle) -* [solve](simplex.md#solve) -* [solve2](simplex.md#solve2) -* [solve3](simplex.md#solve3) -* [writeCache](simplex.md#writecache) - -## Properties - -### m_count - -• **m_count**: *number* - -___ - -### m_v - -• **m_v**: *[SimplexVertex](simplexvertex.md)‹›[]* = [this.m_v1, this.m_v2, this.m_v3] - -___ - -### m_v1 - -• **m_v1**: *[SimplexVertex](simplexvertex.md)‹›* = new SimplexVertex() - -___ - -### m_v2 - -• **m_v2**: *[SimplexVertex](simplexvertex.md)‹›* = new SimplexVertex() - -___ - -### m_v3 - -• **m_v3**: *[SimplexVertex](simplexvertex.md)‹›* = new SimplexVertex() - -## Methods - -### getClosestPoint - -▸ **getClosestPoint**(): *[Vec2Value](../interfaces/vec2value.md)* - -**Returns:** *[Vec2Value](../interfaces/vec2value.md)* - -___ - -### getMetric - -▸ **getMetric**(): *number* - -**Returns:** *number* - -___ - -### getSearchDirection - -▸ **getSearchDirection**(): *[Vec2Value](../interfaces/vec2value.md)* - -**Returns:** *[Vec2Value](../interfaces/vec2value.md)* - -___ - -### getWitnessPoints - -▸ **getWitnessPoints**(`pA`: [Vec2Value](../interfaces/vec2value.md), `pB`: [Vec2Value](../interfaces/vec2value.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`pA` | [Vec2Value](../interfaces/vec2value.md) | -`pB` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### readCache - -▸ **readCache**(`cache`: [SimplexCache](simplexcache.md), `proxyA`: [DistanceProxy](distanceproxy.md), `transformA`: [TransformValue](../globals.md#transformvalue), `proxyB`: [DistanceProxy](distanceproxy.md), `transformB`: [TransformValue](../globals.md#transformvalue)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`cache` | [SimplexCache](simplexcache.md) | -`proxyA` | [DistanceProxy](distanceproxy.md) | -`transformA` | [TransformValue](../globals.md#transformvalue) | -`proxyB` | [DistanceProxy](distanceproxy.md) | -`transformB` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* - -___ - -### solve - -▸ **solve**(): *void* - -**Returns:** *void* - -___ - -### solve2 - -▸ **solve2**(): *void* - -**Returns:** *void* - -___ - -### solve3 - -▸ **solve3**(): *void* - -**Returns:** *void* - -___ - -### writeCache - -▸ **writeCache**(`cache`: [SimplexCache](simplexcache.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`cache` | [SimplexCache](simplexcache.md) | - -**Returns:** *void* diff --git a/docs/api/classes/simplexvertex.md b/docs/api/classes/simplexvertex.md deleted file mode 100644 index 7b90f841..00000000 --- a/docs/api/classes/simplexvertex.md +++ /dev/null @@ -1,93 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [SimplexVertex](simplexvertex.md) - -# Class: SimplexVertex - -## Hierarchy - -* **SimplexVertex** - -## Index - -### Properties - -* [a](simplexvertex.md#a) -* [indexA](simplexvertex.md#indexa) -* [indexB](simplexvertex.md#indexb) -* [w](simplexvertex.md#w) -* [wA](simplexvertex.md#wa) -* [wB](simplexvertex.md#wb) - -### Methods - -* [recycle](simplexvertex.md#recycle) -* [set](simplexvertex.md#set) - -## Properties - -### a - -• **a**: *number* = 0 - -barycentric coordinate for closest point - -___ - -### indexA - -• **indexA**: *number* = 0 - -wA index - -___ - -### indexB - -• **indexB**: *number* = 0 - -wB index - -___ - -### w - -• **w**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -wB - wA; - -___ - -### wA - -• **wA**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -support point in proxyA - -___ - -### wB - -• **wB**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -support point in proxyB - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* - -___ - -### set - -▸ **set**(`v`: [SimplexVertex](simplexvertex.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [SimplexVertex](simplexvertex.md) | - -**Returns:** *void* diff --git a/docs/api/classes/solver.md b/docs/api/classes/solver.md deleted file mode 100644 index 69c7e39b..00000000 --- a/docs/api/classes/solver.md +++ /dev/null @@ -1,188 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Solver](solver.md) - -# Class: Solver - -Finds and solves islands. An island is a connected subset of the world. - -## Hierarchy - -* **Solver** - -## Index - -### Constructors - -* [constructor](solver.md#constructor) - -### Properties - -* [m_bodies](solver.md#m_bodies) -* [m_contacts](solver.md#m_contacts) -* [m_joints](solver.md#m_joints) -* [m_stack](solver.md#m_stack) -* [m_world](solver.md#m_world) - -### Methods - -* [addBody](solver.md#addbody) -* [addContact](solver.md#addcontact) -* [addJoint](solver.md#addjoint) -* [clear](solver.md#clear) -* [solveIsland](solver.md#solveisland) -* [solveIslandTOI](solver.md#solveislandtoi) -* [solveWorld](solver.md#solveworld) -* [solveWorldTOI](solver.md#solveworldtoi) - -## Constructors - -### constructor - -\+ **new Solver**(`world`: World): *[Solver](solver.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`world` | World | - -**Returns:** *[Solver](solver.md)* - -## Properties - -### m_bodies - -• **m_bodies**: *[Body](body.md)[]* - -___ - -### m_contacts - -• **m_contacts**: *[Contact](contact.md)[]* - -___ - -### m_joints - -• **m_joints**: *[Joint](joint.md)[]* - -___ - -### m_stack - -• **m_stack**: *[Body](body.md)[]* - -___ - -### m_world - -• **m_world**: *World* - -## Methods - -### addBody - -▸ **addBody**(`body`: [Body](body.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`body` | [Body](body.md) | - -**Returns:** *void* - -___ - -### addContact - -▸ **addContact**(`contact`: [Contact](contact.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`contact` | [Contact](contact.md) | - -**Returns:** *void* - -___ - -### addJoint - -▸ **addJoint**(`joint`: [Joint](joint.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`joint` | [Joint](joint.md) | - -**Returns:** *void* - -___ - -### clear - -▸ **clear**(): *void* - -**Returns:** *void* - -___ - -### solveIsland - -▸ **solveIsland**(`step`: [TimeStep](timestep.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### solveIslandTOI - -▸ **solveIslandTOI**(`subStep`: [TimeStep](timestep.md), `toiA`: [Body](body.md), `toiB`: [Body](body.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`subStep` | [TimeStep](timestep.md) | -`toiA` | [Body](body.md) | -`toiB` | [Body](body.md) | - -**Returns:** *void* - -___ - -### solveWorld - -▸ **solveWorld**(`step`: [TimeStep](timestep.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### solveWorldTOI - -▸ **solveWorldTOI**(`step`: [TimeStep](timestep.md)): *void* - -Find TOI contacts and solve them. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/toiinput.md b/docs/api/classes/toiinput.md deleted file mode 100644 index 993989fa..00000000 --- a/docs/api/classes/toiinput.md +++ /dev/null @@ -1,63 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [TOIInput](toiinput.md) - -# Class: TOIInput - -Input parameters for TimeOfImpact. - -## Hierarchy - -* **TOIInput** - -## Index - -### Properties - -* [proxyA](toiinput.md#proxya) -* [proxyB](toiinput.md#proxyb) -* [sweepA](toiinput.md#sweepa) -* [sweepB](toiinput.md#sweepb) -* [tMax](toiinput.md#tmax) - -### Methods - -* [recycle](toiinput.md#recycle) - -## Properties - -### proxyA - -• **proxyA**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### proxyB - -• **proxyB**: *[DistanceProxy](distanceproxy.md)‹›* = new DistanceProxy() - -___ - -### sweepA - -• **sweepA**: *[Sweep](sweep.md)‹›* = new Sweep() - -___ - -### sweepB - -• **sweepB**: *[Sweep](sweep.md)‹›* = new Sweep() - -___ - -### tMax - -• **tMax**: *number* - -defines sweep interval [0, tMax] - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/transform.md b/docs/api/classes/transform.md deleted file mode 100644 index cee6d1ad..00000000 --- a/docs/api/classes/transform.md +++ /dev/null @@ -1,329 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Transform](transform.md) - -# Class: Transform - -A transform contains translation and rotation. It is used to represent the -position and orientation of rigid frames. Initialize using a position vector -and a rotation. - -## Hierarchy - -* **Transform** - -## Index - -### Constructors - -* [constructor](transform.md#constructor) - -### Properties - -* [p](transform.md#p) -* [q](transform.md#q) - -### Methods - -* [set](transform.md#set) -* [setIdentity](transform.md#setidentity) -* [setNum](transform.md#setnum) -* [setTransform](transform.md#settransform) -* [assert](transform.md#static-assert) -* [clone](transform.md#static-clone) -* [identity](transform.md#static-identity) -* [isValid](transform.md#static-isvalid) -* [mul](transform.md#static-mul) -* [mulAll](transform.md#static-mulall) -* [mulT](transform.md#static-mult) -* [mulTVec2](transform.md#static-multvec2) -* [mulTXf](transform.md#static-multxf) -* [mulVec2](transform.md#static-mulvec2) -* [mulXf](transform.md#static-mulxf) - -## Constructors - -### constructor - -\+ **new Transform**(`position?`: [Vec2Value](../interfaces/vec2value.md), `rotation?`: number): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`position?` | [Vec2Value](../interfaces/vec2value.md) | -`rotation?` | number | - -**Returns:** *[Transform](transform.md)* - -## Properties - -### p - -• **p**: *Vec2* - -position - -___ - -### q - -• **q**: *[Rot](rot.md)* - -rotation - -## Methods - -### set - -▸ **set**(`position`: [Vec2Value](../interfaces/vec2value.md), `rotation`: number): *void* - -Set position and angle - -**Parameters:** - -Name | Type | ------- | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | -`rotation` | number | - -**Returns:** *void* - -▸ **set**(`xf`: [TransformValue](../globals.md#transformvalue)): *void* - -Copy from another transform - -**Parameters:** - -Name | Type | ------- | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### setIdentity - -▸ **setIdentity**(): *void* - -Set this to the identity transform - -**Returns:** *void* - -___ - -### setNum - -▸ **setNum**(`position`: [Vec2Value](../interfaces/vec2value.md), `rotation`: number): *void* - -Set position and angle - -**Parameters:** - -Name | Type | ------- | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | -`rotation` | number | - -**Returns:** *void* - -___ - -### setTransform - -▸ **setTransform**(`xf`: [TransformValue](../globals.md#transformvalue)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` clone - -▸ **clone**(`xf`: [Transform](transform.md)): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`xf` | [Transform](transform.md) | - -**Returns:** *[Transform](transform.md)* - -___ - -### `Static` identity - -▸ **identity**(): *[Transform](transform.md)* - -**Returns:** *[Transform](transform.md)* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` mul - -▸ **mul**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -▸ **mul**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [TransformValue](../globals.md#transformvalue)): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *[Transform](transform.md)* - -___ - -### `Static` mulAll - -▸ **mulAll**(`a`: [Transform](transform.md), `b`: [Vec2Value](../interfaces/vec2value.md)[]): *Vec2[]* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Transform](transform.md) | -`b` | [Vec2Value](../interfaces/vec2value.md)[] | - -**Returns:** *Vec2[]* - -▸ **mulAll**(`a`: [Transform](transform.md), `b`: [Transform](transform.md)[]): *[Transform](transform.md)[]* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Transform](transform.md) | -`b` | [Transform](transform.md)[] | - -**Returns:** *[Transform](transform.md)[]* - -___ - -### `Static` mulT - -▸ **mulT**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -▸ **mulT**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [TransformValue](../globals.md#transformvalue)): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *[Transform](transform.md)* - -___ - -### `Static` mulTVec2 - -▸ **mulTVec2**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulTXf - -▸ **mulTXf**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [TransformValue](../globals.md#transformvalue)): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *[Transform](transform.md)* - -___ - -### `Static` mulVec2 - -▸ **mulVec2**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulXf - -▸ **mulXf**(`a`: [TransformValue](../globals.md#transformvalue), `b`: [TransformValue](../globals.md#transformvalue)): *[Transform](transform.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [TransformValue](../globals.md#transformvalue) | -`b` | [TransformValue](../globals.md#transformvalue) | - -**Returns:** *[Transform](transform.md)* diff --git a/docs/api/classes/treenode.md b/docs/api/classes/treenode.md deleted file mode 100644 index c7ea1d80..00000000 --- a/docs/api/classes/treenode.md +++ /dev/null @@ -1,101 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [TreeNode](treenode.md) - -# Class: TreeNode ‹**T**› - -A node in the dynamic tree. The client does not interact with this directly. - -## Type parameters - -▪ **T** - -## Hierarchy - -* **TreeNode** - -## Index - -### Constructors - -* [constructor](treenode.md#constructor) - -### Properties - -* [aabb](treenode.md#aabb) -* [child1](treenode.md#child1) -* [child2](treenode.md#child2) -* [height](treenode.md#height) -* [id](treenode.md#id) -* [parent](treenode.md#parent) -* [userData](treenode.md#userdata) - -### Methods - -* [isLeaf](treenode.md#isleaf) - -## Constructors - -### constructor - -\+ **new TreeNode**(`id?`: number): *[TreeNode](treenode.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`id?` | number | - -**Returns:** *[TreeNode](treenode.md)* - -## Properties - -### aabb - -• **aabb**: *[AABB](aabb.md)* = new AABB() - -Enlarged AABB - -___ - -### child1 - -• **child1**: *[TreeNode](treenode.md)‹T›* = null - -___ - -### child2 - -• **child2**: *[TreeNode](treenode.md)‹T›* = null - -___ - -### height - -• **height**: *number* = -1 - -0: leaf, -1: free node - -___ - -### id - -• **id**: *number* - -___ - -### parent - -• **parent**: *[TreeNode](treenode.md)‹T›* = null - -___ - -### userData - -• **userData**: *T* = null - -## Methods - -### isLeaf - -▸ **isLeaf**(): *boolean* - -**Returns:** *boolean* diff --git a/docs/api/classes/vec2.md b/docs/api/classes/vec2.md deleted file mode 100644 index 13f2ba4c..00000000 --- a/docs/api/classes/vec2.md +++ /dev/null @@ -1,953 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Vec2](vec2.md) - -# Class: Vec2 - -## Hierarchy - -* **Vec2** - -## Index - -### Constructors - -* [constructor](vec2.md#constructor) - -### Properties - -* [x](vec2.md#x) -* [y](vec2.md#y) - -### Methods - -* [add](vec2.md#add) -* [addCombine](vec2.md#addcombine) -* [addMul](vec2.md#addmul) -* [clamp](vec2.md#clamp) -* [clone](vec2.md#clone) -* [length](vec2.md#length) -* [lengthSquared](vec2.md#lengthsquared) -* [mul](vec2.md#mul) -* [neg](vec2.md#neg) -* [normalize](vec2.md#normalize) -* [set](vec2.md#set) -* [setCombine](vec2.md#setcombine) -* [setMul](vec2.md#setmul) -* [setNum](vec2.md#setnum) -* [setVec2](vec2.md#setvec2) -* [setZero](vec2.md#setzero) -* [sub](vec2.md#sub) -* [subCombine](vec2.md#subcombine) -* [subMul](vec2.md#submul) -* [wSub](vec2.md#wsub) -* [abs](vec2.md#static-abs) -* [add](vec2.md#static-add) -* [addCross](vec2.md#static-addcross) -* [addCrossNumVec2](vec2.md#static-addcrossnumvec2) -* [addCrossVec2Num](vec2.md#static-addcrossvec2num) -* [areEqual](vec2.md#static-areequal) -* [assert](vec2.md#static-assert) -* [clamp](vec2.md#static-clamp) -* [clone](vec2.md#static-clone) -* [combine](vec2.md#static-combine) -* [cross](vec2.md#static-cross) -* [crossNumVec2](vec2.md#static-crossnumvec2) -* [crossVec2Num](vec2.md#static-crossvec2num) -* [crossVec2Vec2](vec2.md#static-crossvec2vec2) -* [distance](vec2.md#static-distance) -* [distanceSquared](vec2.md#static-distancesquared) -* [dot](vec2.md#static-dot) -* [isValid](vec2.md#static-isvalid) -* [lengthOf](vec2.md#static-lengthof) -* [lengthSquared](vec2.md#static-lengthsquared) -* [lower](vec2.md#static-lower) -* [mid](vec2.md#static-mid) -* [mul](vec2.md#static-mul) -* [mulNumVec2](vec2.md#static-mulnumvec2) -* [mulVec2Num](vec2.md#static-mulvec2num) -* [neg](vec2.md#static-neg) -* [skew](vec2.md#static-skew) -* [sub](vec2.md#static-sub) -* [upper](vec2.md#static-upper) -* [zero](vec2.md#static-zero) - -## Constructors - -### constructor - -\+ **new Vec2**(`x`: number, `y`: number): *[Vec2](vec2.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -**Returns:** *[Vec2](vec2.md)* - -\+ **new Vec2**(`obj`: object): *[Vec2](vec2.md)* - -**Parameters:** - -▪ **obj**: *object* - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -**Returns:** *[Vec2](vec2.md)* - -\+ **new Vec2**(): *[Vec2](vec2.md)* - -**Returns:** *[Vec2](vec2.md)* - -## Properties - -### x - -• **x**: *number* - -___ - -### y - -• **y**: *number* - -## Methods - -### add - -▸ **add**(`w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Add a vector to this vector. - -**Parameters:** - -Name | Type | ------- | ------ | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -this - -___ - -### addCombine - -▸ **addCombine**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md), `b`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Add linear combination of v and w: `a * v + b * w` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`b` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### addMul - -▸ **addMul**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### clamp - -▸ **clamp**(`max`: number): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`max` | number | - -**Returns:** *Vec2* - -___ - -### clone - -▸ **clone**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### length - -▸ **length**(): *number* - -Get the length of this vector (the norm). - -For performance, use this instead of lengthSquared (if possible). - -**Returns:** *number* - -___ - -### lengthSquared - -▸ **lengthSquared**(): *number* - -Get the length squared. - -**Returns:** *number* - -___ - -### mul - -▸ **mul**(`m`: number): *Vec2* - -Multiply this vector by a scalar. - -**Parameters:** - -Name | Type | ------- | ------ | -`m` | number | - -**Returns:** *Vec2* - -this - -___ - -### neg - -▸ **neg**(): *Vec2* - -**Returns:** *Vec2* - -___ - -### normalize - -▸ **normalize**(): *number* - -Convert this vector into a unit vector. - -**Returns:** *number* - -old length - -___ - -### set - -▸ **set**(`x`: number, `y`: number): *Vec2* - -Set this vector to some specified coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -**Returns:** *Vec2* - -this - -▸ **set**(`value`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Set this vector to some specified coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`value` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -this - -___ - -### setCombine - -▸ **setCombine**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md), `b`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Set linear combination of v and w: `a * v + b * w` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`b` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### setMul - -▸ **setMul**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### setNum - -▸ **setNum**(`x`: number, `y`: number): *this* - -Set this vector to some specified coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | - -**Returns:** *this* - -this - -___ - -### setVec2 - -▸ **setVec2**(`value`: [Vec2Value](../interfaces/vec2value.md)): *this* - -Set this vector to some specified coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`value` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *this* - -this - -___ - -### setZero - -▸ **setZero**(): *Vec2* - -Set this vector to all zeros. - -**Returns:** *Vec2* - -this - -___ - -### sub - -▸ **sub**(`w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Subtract a vector from this vector - -**Parameters:** - -Name | Type | ------- | ------ | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -this - -___ - -### subCombine - -▸ **subCombine**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md), `b`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Subtract linear combination of v and w: `a * v + b * w` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`b` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### subMul - -▸ **subMul**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### wSub - -▸ **wSub**(`a`: number, `v`: [Vec2Value](../interfaces/vec2value.md), `b?`: number, `w?`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**`deprecated`** Use subCombine or subMul - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`b?` | number | -`w?` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` abs - -▸ **abs**(`v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` add - -▸ **add**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` addCross - -▸ **addCross**(`a`: [Vec2Value](../interfaces/vec2value.md), `v`: [Vec2Value](../interfaces/vec2value.md), `w`: number): *Vec2* - -Returns `a + (v x w)` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | number | - -**Returns:** *Vec2* - -▸ **addCross**(`a`: [Vec2Value](../interfaces/vec2value.md), `v`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Returns `a + (v x w)` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`v` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` addCrossNumVec2 - -▸ **addCrossNumVec2**(`a`: [Vec2Value](../interfaces/vec2value.md), `v`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Returns `a + (v x w)` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`v` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` addCrossVec2Num - -▸ **addCrossVec2Num**(`a`: [Vec2Value](../interfaces/vec2value.md), `v`: [Vec2Value](../interfaces/vec2value.md), `w`: number): *Vec2* - -Returns `a + (v x w)` - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | number | - -**Returns:** *Vec2* - -___ - -### `Static` areEqual - -▸ **areEqual**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *boolean* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` clamp - -▸ **clamp**(`v`: [Vec2Value](../interfaces/vec2value.md), `max`: number): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`max` | number | - -**Returns:** *Vec2* - -___ - -### `Static` clone - -▸ **clone**(`v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` combine - -▸ **combine**(`a`: number, `v`: Vec2, `b`: number, `w`: Vec2): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`v` | Vec2 | -`b` | number | -`w` | Vec2 | - -**Returns:** *Vec2* - -___ - -### `Static` cross - -▸ **cross**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *number* - -Cross product between two vectors - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -▸ **cross**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: number): *Vec2* - -Cross product between a vector and a scalar - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | number | - -**Returns:** *Vec2* - -▸ **cross**(`v`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Cross product between a scalar and a vector - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` crossNumVec2 - -▸ **crossNumVec2**(`v`: number, `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Cross product on a vector and a scalar - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | number | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` crossVec2Num - -▸ **crossVec2Num**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: number): *Vec2* - -Cross product on a vector and a scalar - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | number | - -**Returns:** *Vec2* - -___ - -### `Static` crossVec2Vec2 - -▸ **crossVec2Vec2**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *number* - -Cross product on two vectors - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` distance - -▸ **distance**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` distanceSquared - -▸ **distanceSquared**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` dot - -▸ **dot**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *number* - -Dot product on two vectors - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -Does this vector contain finite coordinates? - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` lengthOf - -▸ **lengthOf**(`v`: [Vec2Value](../interfaces/vec2value.md)): *number* - -Get the length of this vector (the norm). - -For performance, use this instead of lengthSquared (if possible). - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` lengthSquared - -▸ **lengthSquared**(`v`: [Vec2Value](../interfaces/vec2value.md)): *number* - -Get the length squared. - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *number* - -___ - -### `Static` lower - -▸ **lower**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mid - -▸ **mid**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mul - -▸ **mul**(`a`: [Vec2Value](../interfaces/vec2value.md), `b`: number): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`b` | number | - -**Returns:** *Vec2* - -▸ **mul**(`a`: number, `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulNumVec2 - -▸ **mulNumVec2**(`a`: number, `b`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | number | -`b` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` mulVec2Num - -▸ **mulVec2Num**(`a`: [Vec2Value](../interfaces/vec2value.md), `b`: number): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`a` | [Vec2Value](../interfaces/vec2value.md) | -`b` | number | - -**Returns:** *Vec2* - -___ - -### `Static` neg - -▸ **neg**(`v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` skew - -▸ **skew**(`v`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -Get the skew vector such that dot(skew_vec, other) == cross(vec, other) - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` sub - -▸ **sub**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` upper - -▸ **upper**(`v`: [Vec2Value](../interfaces/vec2value.md), `w`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | -`w` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *Vec2* - -___ - -### `Static` zero - -▸ **zero**(): *Vec2* - -**Returns:** *Vec2* diff --git a/docs/api/classes/vec3.md b/docs/api/classes/vec3.md deleted file mode 100644 index 9f054c0a..00000000 --- a/docs/api/classes/vec3.md +++ /dev/null @@ -1,325 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Vec3](vec3.md) - -# Class: Vec3 - -## Hierarchy - -* **Vec3** - -## Index - -### Constructors - -* [constructor](vec3.md#constructor) - -### Properties - -* [x](vec3.md#x) -* [y](vec3.md#y) -* [z](vec3.md#z) - -### Methods - -* [add](vec3.md#add) -* [mul](vec3.md#mul) -* [neg](vec3.md#neg) -* [set](vec3.md#set) -* [setZero](vec3.md#setzero) -* [sub](vec3.md#sub) -* [add](vec3.md#static-add) -* [areEqual](vec3.md#static-areequal) -* [assert](vec3.md#static-assert) -* [clone](vec3.md#static-clone) -* [cross](vec3.md#static-cross) -* [dot](vec3.md#static-dot) -* [isValid](vec3.md#static-isvalid) -* [mul](vec3.md#static-mul) -* [neg](vec3.md#static-neg) -* [sub](vec3.md#static-sub) -* [zero](vec3.md#static-zero) - -## Constructors - -### constructor - -\+ **new Vec3**(`x`: number, `y`: number, `z`: number): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | -`z` | number | - -**Returns:** *[Vec3](vec3.md)* - -\+ **new Vec3**(`obj`: object): *[Vec3](vec3.md)* - -**Parameters:** - -▪ **obj**: *object* - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | -`z` | number | - -**Returns:** *[Vec3](vec3.md)* - -\+ **new Vec3**(): *[Vec3](vec3.md)* - -**Returns:** *[Vec3](vec3.md)* - -## Properties - -### x - -• **x**: *number* - -___ - -### y - -• **y**: *number* - -___ - -### z - -• **z**: *number* - -## Methods - -### add - -▸ **add**(`w`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### mul - -▸ **mul**(`m`: number): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`m` | number | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### neg - -▸ **neg**(): *[Vec3](vec3.md)* - -**Returns:** *[Vec3](vec3.md)* - -___ - -### set - -▸ **set**(`x`: number, `y`: number, `z`: number): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | -`y` | number | -`z` | number | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### setZero - -▸ **setZero**(): *[Vec3](vec3.md)* - -**Returns:** *[Vec3](vec3.md)* - -___ - -### sub - -▸ **sub**(`w`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` add - -▸ **add**(`v`: [Vec3Value](../interfaces/vec3value.md), `w`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` areEqual - -▸ **areEqual**(`v`: [Vec3Value](../interfaces/vec3value.md), `w`: [Vec3Value](../interfaces/vec3value.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *boolean* - -___ - -### `Static` assert - -▸ **assert**(`o`: any): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`o` | any | - -**Returns:** *void* - -___ - -### `Static` clone - -▸ **clone**(`v`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` cross - -▸ **cross**(`v`: [Vec3Value](../interfaces/vec3value.md), `w`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -Cross product on two vectors - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` dot - -▸ **dot**(`v`: [Vec3Value](../interfaces/vec3value.md), `w`: [Vec3Value](../interfaces/vec3value.md)): *number* - -Dot product on two vectors - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *number* - -___ - -### `Static` isValid - -▸ **isValid**(`obj`: any): *boolean* - -Does this vector contain finite coordinates? - -**Parameters:** - -Name | Type | ------- | ------ | -`obj` | any | - -**Returns:** *boolean* - -___ - -### `Static` mul - -▸ **mul**(`v`: [Vec3Value](../interfaces/vec3value.md), `m`: number): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`m` | number | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` neg - -▸ **neg**(`v`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` sub - -▸ **sub**(`v`: [Vec3Value](../interfaces/vec3value.md), `w`: [Vec3Value](../interfaces/vec3value.md)): *[Vec3](vec3.md)* - -**Parameters:** - -Name | Type | ------- | ------ | -`v` | [Vec3Value](../interfaces/vec3value.md) | -`w` | [Vec3Value](../interfaces/vec3value.md) | - -**Returns:** *[Vec3](vec3.md)* - -___ - -### `Static` zero - -▸ **zero**(): *[Vec3](vec3.md)* - -**Returns:** *[Vec3](vec3.md)* diff --git a/docs/api/classes/velocityconstraintpoint.md b/docs/api/classes/velocityconstraintpoint.md deleted file mode 100644 index 8993ad51..00000000 --- a/docs/api/classes/velocityconstraintpoint.md +++ /dev/null @@ -1,73 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [VelocityConstraintPoint](velocityconstraintpoint.md) - -# Class: VelocityConstraintPoint - -## Hierarchy - -* **VelocityConstraintPoint** - -## Index - -### Properties - -* [normalImpulse](velocityconstraintpoint.md#normalimpulse) -* [normalMass](velocityconstraintpoint.md#normalmass) -* [rA](velocityconstraintpoint.md#ra) -* [rB](velocityconstraintpoint.md#rb) -* [tangentImpulse](velocityconstraintpoint.md#tangentimpulse) -* [tangentMass](velocityconstraintpoint.md#tangentmass) -* [velocityBias](velocityconstraintpoint.md#velocitybias) - -### Methods - -* [recycle](velocityconstraintpoint.md#recycle) - -## Properties - -### normalImpulse - -• **normalImpulse**: *number* = 0 - -___ - -### normalMass - -• **normalMass**: *number* = 0 - -___ - -### rA - -• **rA**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -___ - -### rB - -• **rB**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) - -___ - -### tangentImpulse - -• **tangentImpulse**: *number* = 0 - -___ - -### tangentMass - -• **tangentMass**: *number* = 0 - -___ - -### velocityBias - -• **velocityBias**: *number* = 0 - -## Methods - -### recycle - -▸ **recycle**(): *void* - -**Returns:** *void* diff --git a/docs/api/classes/weldjoint.md b/docs/api/classes/weldjoint.md deleted file mode 100644 index d681e31b..00000000 --- a/docs/api/classes/weldjoint.md +++ /dev/null @@ -1,406 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WeldJoint](weldjoint.md) - -# Class: WeldJoint - -A weld joint essentially glues two bodies together. A weld joint may distort -somewhat because the island constraint solver is approximate. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **WeldJoint** - -## Index - -### Constructors - -* [constructor](weldjoint.md#constructor) - -### Properties - -* [style](weldjoint.md#style) -* [TYPE](weldjoint.md#static-type) - -### Methods - -* [getAnchorA](weldjoint.md#getanchora) -* [getAnchorB](weldjoint.md#getanchorb) -* [getBodyA](weldjoint.md#getbodya) -* [getBodyB](weldjoint.md#getbodyb) -* [getCollideConnected](weldjoint.md#getcollideconnected) -* [getDampingRatio](weldjoint.md#getdampingratio) -* [getFrequency](weldjoint.md#getfrequency) -* [getLocalAnchorA](weldjoint.md#getlocalanchora) -* [getLocalAnchorB](weldjoint.md#getlocalanchorb) -* [getNext](weldjoint.md#getnext) -* [getReactionForce](weldjoint.md#getreactionforce) -* [getReactionTorque](weldjoint.md#getreactiontorque) -* [getReferenceAngle](weldjoint.md#getreferenceangle) -* [getType](weldjoint.md#gettype) -* [getUserData](weldjoint.md#getuserdata) -* [initVelocityConstraints](weldjoint.md#initvelocityconstraints) -* [isActive](weldjoint.md#isactive) -* [setDampingRatio](weldjoint.md#setdampingratio) -* [setFrequency](weldjoint.md#setfrequency) -* [setUserData](weldjoint.md#setuserdata) -* [shiftOrigin](weldjoint.md#shiftorigin) -* [solvePositionConstraints](weldjoint.md#solvepositionconstraints) -* [solveVelocityConstraints](weldjoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new WeldJoint**(`def`: [WeldJointDef](../interfaces/weldjointdef.md)): *[WeldJoint](weldjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [WeldJointDef](../interfaces/weldjointdef.md) | - -**Returns:** *[WeldJoint](weldjoint.md)* - -\+ **new WeldJoint**(`def`: [WeldJointOpt](../interfaces/weldjointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md)): *[WeldJoint](weldjoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [WeldJointOpt](../interfaces/weldjointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[WeldJoint](weldjoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"weld-joint"* = 'weld-joint' as const - -## Methods - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getDampingRatio - -▸ **getDampingRatio**(): *number* - -Get damping ratio. - -**Returns:** *number* - -___ - -### getFrequency - -▸ **getFrequency**(): *number* - -Get frequency in Hz. - -**Returns:** *number* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getReferenceAngle - -▸ **getReferenceAngle**(): *number* - -Get the reference angle. - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### setDampingRatio - -▸ **setDampingRatio**(`ratio`: number): *void* - -Set damping ratio. - -**Parameters:** - -Name | Type | ------- | ------ | -`ratio` | number | - -**Returns:** *void* - -___ - -### setFrequency - -▸ **setFrequency**(`hz`: number): *void* - -Set frequency in Hz. - -**Parameters:** - -Name | Type | ------- | ------ | -`hz` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/classes/wheeljoint.md b/docs/api/classes/wheeljoint.md deleted file mode 100644 index 4ac298fa..00000000 --- a/docs/api/classes/wheeljoint.md +++ /dev/null @@ -1,527 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WheelJoint](wheeljoint.md) - -# Class: WheelJoint - -A wheel joint. This joint provides two degrees of freedom: translation along -an axis fixed in bodyA and rotation in the plane. In other words, it is a -point to line constraint with a rotational motor and a linear spring/damper. -This joint is designed for vehicle suspensions. - -## Hierarchy - -* [Joint](joint.md) - - ↳ **WheelJoint** - -## Index - -### Constructors - -* [constructor](wheeljoint.md#constructor) - -### Properties - -* [style](wheeljoint.md#style) -* [TYPE](wheeljoint.md#static-type) - -### Methods - -* [enableMotor](wheeljoint.md#enablemotor) -* [getAnchorA](wheeljoint.md#getanchora) -* [getAnchorB](wheeljoint.md#getanchorb) -* [getBodyA](wheeljoint.md#getbodya) -* [getBodyB](wheeljoint.md#getbodyb) -* [getCollideConnected](wheeljoint.md#getcollideconnected) -* [getJointSpeed](wheeljoint.md#getjointspeed) -* [getJointTranslation](wheeljoint.md#getjointtranslation) -* [getLocalAnchorA](wheeljoint.md#getlocalanchora) -* [getLocalAnchorB](wheeljoint.md#getlocalanchorb) -* [getLocalAxisA](wheeljoint.md#getlocalaxisa) -* [getMaxMotorTorque](wheeljoint.md#getmaxmotortorque) -* [getMotorSpeed](wheeljoint.md#getmotorspeed) -* [getMotorTorque](wheeljoint.md#getmotortorque) -* [getNext](wheeljoint.md#getnext) -* [getReactionForce](wheeljoint.md#getreactionforce) -* [getReactionTorque](wheeljoint.md#getreactiontorque) -* [getSpringDampingRatio](wheeljoint.md#getspringdampingratio) -* [getSpringFrequencyHz](wheeljoint.md#getspringfrequencyhz) -* [getType](wheeljoint.md#gettype) -* [getUserData](wheeljoint.md#getuserdata) -* [initVelocityConstraints](wheeljoint.md#initvelocityconstraints) -* [isActive](wheeljoint.md#isactive) -* [isMotorEnabled](wheeljoint.md#ismotorenabled) -* [setMaxMotorTorque](wheeljoint.md#setmaxmotortorque) -* [setMotorSpeed](wheeljoint.md#setmotorspeed) -* [setSpringDampingRatio](wheeljoint.md#setspringdampingratio) -* [setSpringFrequencyHz](wheeljoint.md#setspringfrequencyhz) -* [setUserData](wheeljoint.md#setuserdata) -* [shiftOrigin](wheeljoint.md#shiftorigin) -* [solvePositionConstraints](wheeljoint.md#solvepositionconstraints) -* [solveVelocityConstraints](wheeljoint.md#solvevelocityconstraints) - -## Constructors - -### constructor - -\+ **new WheelJoint**(`def`: [WheelJointDef](../interfaces/wheeljointdef.md)): *[WheelJoint](wheeljoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [WheelJointDef](../interfaces/wheeljointdef.md) | - -**Returns:** *[WheelJoint](wheeljoint.md)* - -\+ **new WheelJoint**(`def`: [WheelJointOpt](../interfaces/wheeljointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md), `axis`: [Vec2Value](../interfaces/vec2value.md)): *[WheelJoint](wheeljoint.md)* - -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* - -**Parameters:** - -Name | Type | ------- | ------ | -`def` | [WheelJointOpt](../interfaces/wheeljointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | -`axis` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *[WheelJoint](wheeljoint.md)* - -## Properties - -### style - -• **style**: *[Style](../interfaces/style.md)* - -*Inherited from [Joint](joint.md).[style](joint.md#style)* - -Styling for dev-tools. - -___ - -### `Static` TYPE - -▪ **TYPE**: *"wheel-joint"* = 'wheel-joint' as const - -## Methods - -### enableMotor - -▸ **enableMotor**(`flag`: boolean): *void* - -Enable/disable the joint motor. - -**Parameters:** - -Name | Type | ------- | ------ | -`flag` | boolean | - -**Returns:** *void* - -___ - -### getAnchorA - -▸ **getAnchorA**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* - -Get the anchor point on bodyA in world coordinates. - -**Returns:** *Vec2* - -___ - -### getAnchorB - -▸ **getAnchorB**(): *Vec2* - -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* - -Get the anchor point on bodyB in world coordinates. - -**Returns:** *Vec2* - -___ - -### getBodyA - -▸ **getBodyA**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* - -Get the first body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getBodyB - -▸ **getBodyB**(): *[Body](body.md)* - -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* - -Get the second body attached to this joint. - -**Returns:** *[Body](body.md)* - -___ - -### getCollideConnected - -▸ **getCollideConnected**(): *boolean* - -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* - -Get collide connected. Note: modifying the collide connect flag won't work -correctly because the flag is only checked when fixture AABBs begin to -overlap. - -**Returns:** *boolean* - -___ - -### getJointSpeed - -▸ **getJointSpeed**(): *number* - -Get the current joint translation speed, usually in meters per second. - -**Returns:** *number* - -___ - -### getJointTranslation - -▸ **getJointTranslation**(): *number* - -Get the current joint translation, usually in meters. - -**Returns:** *number* - -___ - -### getLocalAnchorA - -▸ **getLocalAnchorA**(): *Vec2* - -The local anchor point relative to bodyA's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAnchorB - -▸ **getLocalAnchorB**(): *Vec2* - -The local anchor point relative to bodyB's origin. - -**Returns:** *Vec2* - -___ - -### getLocalAxisA - -▸ **getLocalAxisA**(): *Vec2* - -The local joint axis relative to bodyA. - -**Returns:** *Vec2* - -___ - -### getMaxMotorTorque - -▸ **getMaxMotorTorque**(): *number* - -**Returns:** *number* - -___ - -### getMotorSpeed - -▸ **getMotorSpeed**(): *number* - -Get the motor speed, usually in radians per second. - -**Returns:** *number* - -___ - -### getMotorTorque - -▸ **getMotorTorque**(`inv_dt`: number): *number* - -Get the current motor torque given the inverse time step, usually in N-m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getNext - -▸ **getNext**(): *[Joint](joint.md)* - -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* - -Get the next joint the world joint list. - -**Returns:** *[Joint](joint.md)* - -___ - -### getReactionForce - -▸ **getReactionForce**(`inv_dt`: number): *Vec2* - -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* - -Get the reaction force on bodyB at the joint anchor in Newtons. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *Vec2* - -___ - -### getReactionTorque - -▸ **getReactionTorque**(`inv_dt`: number): *number* - -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* - -Get the reaction torque on bodyB in N*m. - -**Parameters:** - -Name | Type | ------- | ------ | -`inv_dt` | number | - -**Returns:** *number* - -___ - -### getSpringDampingRatio - -▸ **getSpringDampingRatio**(): *number* - -**Returns:** *number* - -___ - -### getSpringFrequencyHz - -▸ **getSpringFrequencyHz**(): *number* - -**Returns:** *number* - -___ - -### getType - -▸ **getType**(): *string* - -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* - -Get the type of the concrete joint. - -**Returns:** *string* - -___ - -### getUserData - -▸ **getUserData**(): *unknown* - -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* - -**Returns:** *unknown* - -___ - -### initVelocityConstraints - -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* - -___ - -### isActive - -▸ **isActive**(): *boolean* - -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* - -Short-cut function to determine if either body is inactive. - -**Returns:** *boolean* - -___ - -### isMotorEnabled - -▸ **isMotorEnabled**(): *boolean* - -Is the joint motor enabled? - -**Returns:** *boolean* - -___ - -### setMaxMotorTorque - -▸ **setMaxMotorTorque**(`torque`: number): *void* - -Set/Get the maximum motor force, usually in N-m. - -**Parameters:** - -Name | Type | ------- | ------ | -`torque` | number | - -**Returns:** *void* - -___ - -### setMotorSpeed - -▸ **setMotorSpeed**(`speed`: number): *void* - -Set the motor speed, usually in radians per second. - -**Parameters:** - -Name | Type | ------- | ------ | -`speed` | number | - -**Returns:** *void* - -___ - -### setSpringDampingRatio - -▸ **setSpringDampingRatio**(`ratio`: number): *void* - -Set/Get the spring damping ratio - -**Parameters:** - -Name | Type | ------- | ------ | -`ratio` | number | - -**Returns:** *void* - -___ - -### setSpringFrequencyHz - -▸ **setSpringFrequencyHz**(`hz`: number): *void* - -Set/Get the spring frequency in hertz. Setting the frequency to zero disables -the spring. - -**Parameters:** - -Name | Type | ------- | ------ | -`hz` | number | - -**Returns:** *void* - -___ - -### setUserData - -▸ **setUserData**(`data`: unknown): *void* - -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* - -**Parameters:** - -Name | Type | ------- | ------ | -`data` | unknown | - -**Returns:** *void* - -___ - -### shiftOrigin - -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* - -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* - -Shift the origin for any points stored in world coordinates. - -**Parameters:** - -Name | Type | ------- | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | - -**Returns:** *void* - -___ - -### solvePositionConstraints - -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* - -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* - -This returns true if the position errors are within tolerance. - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *boolean* - -___ - -### solveVelocityConstraints - -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* - -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* - -**Parameters:** - -Name | Type | ------- | ------ | -`step` | [TimeStep](timestep.md) | - -**Returns:** *void* diff --git a/docs/api/enums/contactfeaturetype.md b/docs/api/enums/contactfeaturetype.md deleted file mode 100644 index 0affcfb0..00000000 --- a/docs/api/enums/contactfeaturetype.md +++ /dev/null @@ -1,29 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ContactFeatureType](contactfeaturetype.md) - -# Enumeration: ContactFeatureType - -## Index - -### Enumeration members - -* [e_face](contactfeaturetype.md#e_face) -* [e_unset](contactfeaturetype.md#e_unset) -* [e_vertex](contactfeaturetype.md#e_vertex) - -## Enumeration members - -### e_face - -• **e_face**: = 1 - -___ - -### e_unset - -• **e_unset**: = -1 - -___ - -### e_vertex - -• **e_vertex**: = 0 diff --git a/docs/api/enums/separationfunctiontype.md b/docs/api/enums/separationfunctiontype.md deleted file mode 100644 index 9b866af9..00000000 --- a/docs/api/enums/separationfunctiontype.md +++ /dev/null @@ -1,36 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [SeparationFunctionType](separationfunctiontype.md) - -# Enumeration: SeparationFunctionType - -## Index - -### Enumeration members - -* [e_faceA](separationfunctiontype.md#e_facea) -* [e_faceB](separationfunctiontype.md#e_faceb) -* [e_points](separationfunctiontype.md#e_points) -* [e_unset](separationfunctiontype.md#e_unset) - -## Enumeration members - -### e_faceA - -• **e_faceA**: = 2 - -___ - -### e_faceB - -• **e_faceB**: = 3 - -___ - -### e_points - -• **e_points**: = 1 - -___ - -### e_unset - -• **e_unset**: = -1 diff --git a/docs/api/enums/toioutputstate.md b/docs/api/enums/toioutputstate.md deleted file mode 100644 index 40f11c51..00000000 --- a/docs/api/enums/toioutputstate.md +++ /dev/null @@ -1,50 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [TOIOutputState](toioutputstate.md) - -# Enumeration: TOIOutputState - -## Index - -### Enumeration members - -* [e_failed](toioutputstate.md#e_failed) -* [e_overlapped](toioutputstate.md#e_overlapped) -* [e_separated](toioutputstate.md#e_separated) -* [e_touching](toioutputstate.md#e_touching) -* [e_unknown](toioutputstate.md#e_unknown) -* [e_unset](toioutputstate.md#e_unset) - -## Enumeration members - -### e_failed - -• **e_failed**: = 1 - -___ - -### e_overlapped - -• **e_overlapped**: = 2 - -___ - -### e_separated - -• **e_separated**: = 4 - -___ - -### e_touching - -• **e_touching**: = 3 - -___ - -### e_unknown - -• **e_unknown**: = 0 - -___ - -### e_unset - -• **e_unset**: = -1 diff --git a/docs/api/globals.md b/docs/api/globals.md deleted file mode 100644 index 7ed90045..00000000 --- a/docs/api/globals.md +++ /dev/null @@ -1,912 +0,0 @@ -[Planck.js API Doc](README.md) › [Globals](globals.md) - -# Planck.js API Doc - -## Index - -### Enumerations - -* [ContactFeatureType](enums/contactfeaturetype.md) -* [ManifoldType](enums/manifoldtype.md) -* [PointState](enums/pointstate.md) -* [SeparationFunctionType](enums/separationfunctiontype.md) -* [TOIOutputState](enums/toioutputstate.md) - -### Classes - -* [AABB](classes/aabb.md) -* [Body](classes/body.md) -* [BoxShape](classes/boxshape.md) -* [BroadPhase](classes/broadphase.md) -* [ChainShape](classes/chainshape.md) -* [CircleShape](classes/circleshape.md) -* [ClipVertex](classes/clipvertex.md) -* [Contact](classes/contact.md) -* [ContactEdge](classes/contactedge.md) -* [ContactID](classes/contactid.md) -* [ContactImpulse](classes/contactimpulse.md) -* [DistanceInput](classes/distanceinput.md) -* [DistanceJoint](classes/distancejoint.md) -* [DistanceOutput](classes/distanceoutput.md) -* [DistanceProxy](classes/distanceproxy.md) -* [DynamicTree](classes/dynamictree.md) -* [EdgeShape](classes/edgeshape.md) -* [Fixture](classes/fixture.md) -* [FixtureProxy](classes/fixtureproxy.md) -* [FrictionJoint](classes/frictionjoint.md) -* [GearJoint](classes/gearjoint.md) -* [Joint](classes/joint.md) -* [JointEdge](classes/jointedge.md) -* [Manifold](classes/manifold.md) -* [ManifoldPoint](classes/manifoldpoint.md) -* [Mat22](classes/mat22.md) -* [Mat33](classes/mat33.md) -* [MotorJoint](classes/motorjoint.md) -* [MouseJoint](classes/mousejoint.md) -* [PolygonShape](classes/polygonshape.md) -* [Position](classes/position.md) -* [PrismaticJoint](classes/prismaticjoint.md) -* [PulleyJoint](classes/pulleyjoint.md) -* [RevoluteJoint](classes/revolutejoint.md) -* [RopeJoint](classes/ropejoint.md) -* [Rot](classes/rot.md) -* [SeparationFunction](classes/separationfunction.md) -* [Settings](classes/settings.md) -* [Shape](classes/shape.md) -* [ShapeCastInput](classes/shapecastinput.md) -* [ShapeCastOutput](classes/shapecastoutput.md) -* [Simplex](classes/simplex.md) -* [SimplexCache](classes/simplexcache.md) -* [SimplexVertex](classes/simplexvertex.md) -* [Solver](classes/solver.md) -* [Sweep](classes/sweep.md) -* [TOIInput](classes/toiinput.md) -* [TOIOutput](classes/toioutput.md) -* [Testbed](classes/testbed.md) -* [TimeStep](classes/timestep.md) -* [Transform](classes/transform.md) -* [TreeNode](classes/treenode.md) -* [Vec2](classes/vec2.md) -* [Vec3](classes/vec3.md) -* [Velocity](classes/velocity.md) -* [VelocityConstraintPoint](classes/velocityconstraintpoint.md) -* [WeldJoint](classes/weldjoint.md) -* [WheelJoint](classes/wheeljoint.md) -* [World](classes/world.md) -* [WorldManifold](classes/worldmanifold.md) - -### Interfaces - -* [AABBValue](interfaces/aabbvalue.md) -* [BodyDef](interfaces/bodydef.md) -* [DistanceJointDef](interfaces/distancejointdef.md) -* [DistanceJointOpt](interfaces/distancejointopt.md) -* [FixtureDef](interfaces/fixturedef.md) -* [FixtureOpt](interfaces/fixtureopt.md) -* [FrictionJointDef](interfaces/frictionjointdef.md) -* [FrictionJointOpt](interfaces/frictionjointopt.md) -* [GearJointDef](interfaces/gearjointdef.md) -* [GearJointOpt](interfaces/gearjointopt.md) -* [JointDef](interfaces/jointdef.md) -* [JointOpt](interfaces/jointopt.md) -* [MassData](interfaces/massdata.md) -* [MotorJointDef](interfaces/motorjointdef.md) -* [MotorJointOpt](interfaces/motorjointopt.md) -* [MouseJointDef](interfaces/mousejointdef.md) -* [MouseJointOpt](interfaces/mousejointopt.md) -* [PrismaticJointDef](interfaces/prismaticjointdef.md) -* [PrismaticJointOpt](interfaces/prismaticjointopt.md) -* [PulleyJointDef](interfaces/pulleyjointdef.md) -* [PulleyJointOpt](interfaces/pulleyjointopt.md) -* [RayCastInput](interfaces/raycastinput.md) -* [RayCastOutput](interfaces/raycastoutput.md) -* [RevoluteJointDef](interfaces/revolutejointdef.md) -* [RevoluteJointOpt](interfaces/revolutejointopt.md) -* [RopeJointDef](interfaces/ropejointdef.md) -* [RopeJointOpt](interfaces/ropejointopt.md) -* [RotValue](interfaces/rotvalue.md) -* [Style](interfaces/style.md) -* [Vec2Value](interfaces/vec2value.md) -* [Vec3Value](interfaces/vec3value.md) -* [WeldJointDef](interfaces/weldjointdef.md) -* [WeldJointOpt](interfaces/weldjointopt.md) -* [WheelJointDef](interfaces/wheeljointdef.md) -* [WheelJointOpt](interfaces/wheeljointopt.md) -* [WorldDef](interfaces/worlddef.md) - -### Type aliases - -* [ActiveKeys](globals.md#activekeys) -* [BodyType](globals.md#bodytype) -* [DynamicTreeQueryCallback](globals.md#dynamictreequerycallback) -* [EvaluateFunction](globals.md#evaluatefunction) -* [KEY](globals.md#key) -* [RayCastCallback](globals.md#raycastcallback) -* [ShapeType](globals.md#shapetype) -* [TestbedCallback](globals.md#testbedcallback) -* [TestbedFactoryOptions](globals.md#testbedfactoryoptions) -* [TestbedMountOptions](globals.md#testbedmountoptions) -* [TransformValue](globals.md#transformvalue) -* [WorldAABBQueryCallback](globals.md#worldaabbquerycallback) -* [WorldRayCastCallback](globals.md#worldraycastcallback) - -### Variables - -* [Box](globals.md#const-box) -* [Chain](globals.md#const-chain) -* [Circle](globals.md#const-circle) -* [EPSILON](globals.md#const-epsilon) -* [Edge](globals.md#const-edge) -* [Polygon](globals.md#const-polygon) -* [world](globals.md#const-world) - -### Functions - -* [ChainCircleContact](globals.md#chaincirclecontact) -* [CollideCircles](globals.md#const-collidecircles) -* [CollideEdgeCircle](globals.md#const-collideedgecircle) -* [CollideEdgePolygon](globals.md#const-collideedgepolygon) -* [CollidePolygonCircle](globals.md#const-collidepolygoncircle) -* [CollidePolygons](globals.md#const-collidepolygons) -* [Distance](globals.md#const-distance) -* [ShapeCast](globals.md#const-shapecast) -* [TimeOfImpact](globals.md#const-timeofimpact) -* [clamp](globals.md#clamp) -* [clipSegmentToLine](globals.md#clipsegmenttoline) -* [getPointStates](globals.md#getpointstates) -* [getTransform](globals.md#gettransform) -* [isPowerOfTwo](globals.md#ispoweroftwo) -* [mixFriction](globals.md#mixfriction) -* [mixRestitution](globals.md#mixrestitution) -* [mod](globals.md#mod) -* [nextPowerOfTwo](globals.md#nextpoweroftwo) -* [random](globals.md#random) -* [testOverlap](globals.md#const-testoverlap) - -### Object literals - -* [internal](globals.md#const-internal) -* [stats](globals.md#const-stats) - -## Type aliases - -### ActiveKeys - -Ƭ **ActiveKeys**: *object* - -#### Type declaration: - -___ - -### BodyType - -Ƭ **BodyType**: *"static" | "kinematic" | "dynamic"* - -___ - -### DynamicTreeQueryCallback - -Ƭ **DynamicTreeQueryCallback**: *function* - -#### Type declaration: - -▸ (`nodeId`: number): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`nodeId` | number | - -___ - -### EvaluateFunction - -Ƭ **EvaluateFunction**: *function* - -#### Type declaration: - -▸ (`manifold`: [Manifold](classes/manifold.md), `xfA`: [TransformValue](globals.md#transformvalue), `fixtureA`: [Fixture](classes/fixture.md), `indexA`: number, `xfB`: [TransformValue](globals.md#transformvalue), `fixtureB`: [Fixture](classes/fixture.md), `indexB`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`fixtureA` | [Fixture](classes/fixture.md) | -`indexA` | number | -`xfB` | [TransformValue](globals.md#transformvalue) | -`fixtureB` | [Fixture](classes/fixture.md) | -`indexB` | number | - -___ - -### KEY - -Ƭ **KEY**: *"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "right" | "left" | "up" | "down" | "fire"* - -___ - -### RayCastCallback - -Ƭ **RayCastCallback**: *function* - -#### Type declaration: - -▸ (`subInput`: [RayCastInput](interfaces/raycastinput.md), `id`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`subInput` | [RayCastInput](interfaces/raycastinput.md) | -`id` | number | - -___ - -### ShapeType - -Ƭ **ShapeType**: *"circle" | "edge" | "polygon" | "chain"* - -___ - -### TestbedCallback - -Ƭ **TestbedCallback**: *function* - -**`deprecated`** - -#### Type declaration: - -▸ (`testbed`: Testbed): *World* - -**Parameters:** - -Name | Type | ------- | ------ | -`testbed` | Testbed | - -___ - -### TestbedFactoryOptions - -Ƭ **TestbedFactoryOptions**: *string | object* - -___ - -### TestbedMountOptions - -Ƭ **TestbedMountOptions**: *object* - -#### Type declaration: - -___ - -### TransformValue - -Ƭ **TransformValue**: *object* - -#### Type declaration: - -* **p**: *[Vec2Value](interfaces/vec2value.md)* - -* **q**: *[RotValue](interfaces/rotvalue.md)* - -___ - -### WorldAABBQueryCallback - -Ƭ **WorldAABBQueryCallback**: *function* - -Called for each fixture found in the query AABB. It may return `false` to terminate the query. - -#### Type declaration: - -▸ (`fixture`: [Fixture](classes/fixture.md)): *boolean* - -**Parameters:** - -Name | Type | ------- | ------ | -`fixture` | [Fixture](classes/fixture.md) | - -___ - -### WorldRayCastCallback - -Ƭ **WorldRayCastCallback**: *function* - -Callback function for ray casts, see [World.rayCast](classes/world.md#raycast). - -Called for each fixture found in the query. -The returned value replaces the ray-cast input maxFraction. -You control how the ray cast proceeds by returning a numeric/float value. - -- `0` to terminate the ray cast -- `fraction` to clip the ray cast at current point -- `1` don't clip the ray and continue -- `-1` (or anything else) to continue - -**`param`** The fixture hit by the ray - -**`param`** The point of initial intersection - -**`param`** The normal vector at the point of intersection - -**`param`** The fraction along the ray at the point of intersection - -**`returns`** A number to update the maxFraction - -#### Type declaration: - -▸ (`fixture`: [Fixture](classes/fixture.md), `point`: Vec2, `normal`: Vec2, `fraction`: number): *number* - -**Parameters:** - -Name | Type | ------- | ------ | -`fixture` | [Fixture](classes/fixture.md) | -`point` | Vec2 | -`normal` | Vec2 | -`fraction` | number | - -## Variables - -### `Const` Box - -• **Box**: *[BoxShape](classes/boxshape.md)* = BoxShape - -___ - -### `Const` Chain - -• **Chain**: *[ChainShape](classes/chainshape.md)* = ChainShape - -___ - -### `Const` Circle - -• **Circle**: *[CircleShape](classes/circleshape.md)* = CircleShape - -___ - -### `Const` EPSILON - -• **EPSILON**: *1e-9* = 1e-9 - -___ - -### `Const` Edge - -• **Edge**: *[EdgeShape](classes/edgeshape.md)* = EdgeShape - -___ - -### `Const` Polygon - -• **Polygon**: *[PolygonShape](classes/polygonshape.md)* = PolygonShape - -___ - -### `Const` world - -• **world**: *World‹›* = new World() - -## Functions - -### ChainCircleContact - -▸ **ChainCircleContact**(`manifold`: [Manifold](classes/manifold.md), `xfA`: [TransformValue](globals.md#transformvalue), `fixtureA`: [Fixture](classes/fixture.md), `indexA`: number, `xfB`: [TransformValue](globals.md#transformvalue), `fixtureB`: [Fixture](classes/fixture.md), `indexB`: number): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`fixtureA` | [Fixture](classes/fixture.md) | -`indexA` | number | -`xfB` | [TransformValue](globals.md#transformvalue) | -`fixtureB` | [Fixture](classes/fixture.md) | -`indexB` | number | - -**Returns:** *void* - -___ - -### `Const` CollideCircles - -▸ **CollideCircles**(`manifold`: [Manifold](classes/manifold.md), `circleA`: [CircleShape](classes/circleshape.md), `xfA`: [Transform](classes/transform.md), `circleB`: [CircleShape](classes/circleshape.md), `xfB`: [Transform](classes/transform.md)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`circleA` | [CircleShape](classes/circleshape.md) | -`xfA` | [Transform](classes/transform.md) | -`circleB` | [CircleShape](classes/circleshape.md) | -`xfB` | [Transform](classes/transform.md) | - -**Returns:** *void* - -___ - -### `Const` CollideEdgeCircle - -▸ **CollideEdgeCircle**(`manifold`: [Manifold](classes/manifold.md), `edgeA`: [EdgeShape](classes/edgeshape.md), `xfA`: [TransformValue](globals.md#transformvalue), `circleB`: [CircleShape](classes/circleshape.md), `xfB`: [TransformValue](globals.md#transformvalue)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`edgeA` | [EdgeShape](classes/edgeshape.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`circleB` | [CircleShape](classes/circleshape.md) | -`xfB` | [TransformValue](globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### `Const` CollideEdgePolygon - -▸ **CollideEdgePolygon**(`manifold`: [Manifold](classes/manifold.md), `edgeA`: [EdgeShape](classes/edgeshape.md), `xfA`: [TransformValue](globals.md#transformvalue), `polygonB`: [PolygonShape](classes/polygonshape.md), `xfB`: [TransformValue](globals.md#transformvalue)): *void* - -This function collides and edge and a polygon, taking into account edge -adjacency. - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`edgeA` | [EdgeShape](classes/edgeshape.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`polygonB` | [PolygonShape](classes/polygonshape.md) | -`xfB` | [TransformValue](globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### `Const` CollidePolygonCircle - -▸ **CollidePolygonCircle**(`manifold`: [Manifold](classes/manifold.md), `polygonA`: [PolygonShape](classes/polygonshape.md), `xfA`: [TransformValue](globals.md#transformvalue), `circleB`: [CircleShape](classes/circleshape.md), `xfB`: [TransformValue](globals.md#transformvalue)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`polygonA` | [PolygonShape](classes/polygonshape.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`circleB` | [CircleShape](classes/circleshape.md) | -`xfB` | [TransformValue](globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### `Const` CollidePolygons - -▸ **CollidePolygons**(`manifold`: [Manifold](classes/manifold.md), `polyA`: [PolygonShape](classes/polygonshape.md), `xfA`: [TransformValue](globals.md#transformvalue), `polyB`: [PolygonShape](classes/polygonshape.md), `xfB`: [TransformValue](globals.md#transformvalue)): *void* - -Find edge normal of max separation on A - return if separating axis is found
-Find edge normal of max separation on B - return if separation axis is found
-Choose reference edge as min(minA, minB)
-Find incident edge
-Clip - -The normal points from 1 to 2 - -**Parameters:** - -Name | Type | ------- | ------ | -`manifold` | [Manifold](classes/manifold.md) | -`polyA` | [PolygonShape](classes/polygonshape.md) | -`xfA` | [TransformValue](globals.md#transformvalue) | -`polyB` | [PolygonShape](classes/polygonshape.md) | -`xfB` | [TransformValue](globals.md#transformvalue) | - -**Returns:** *void* - -___ - -### `Const` Distance - -▸ **Distance**(`output`: [DistanceOutput](classes/distanceoutput.md), `cache`: [SimplexCache](classes/simplexcache.md), `input`: [DistanceInput](classes/distanceinput.md)): *void* - -Compute the closest points between two shapes. Supports any combination of: -CircleShape, PolygonShape, EdgeShape. The simplex cache is input/output. On -the first call set SimplexCache.count to zero. - -**Parameters:** - -Name | Type | ------- | ------ | -`output` | [DistanceOutput](classes/distanceoutput.md) | -`cache` | [SimplexCache](classes/simplexcache.md) | -`input` | [DistanceInput](classes/distanceinput.md) | - -**Returns:** *void* - -___ - -### `Const` ShapeCast - -▸ **ShapeCast**(`output`: [ShapeCastOutput](classes/shapecastoutput.md), `input`: [ShapeCastInput](classes/shapecastinput.md)): *boolean* - -Perform a linear shape cast of shape B moving and shape A fixed. Determines -the hit point, normal, and translation fraction. - -**Parameters:** - -Name | Type | ------- | ------ | -`output` | [ShapeCastOutput](classes/shapecastoutput.md) | -`input` | [ShapeCastInput](classes/shapecastinput.md) | - -**Returns:** *boolean* - -true if hit, false if there is no hit or an initial overlap - -___ - -### `Const` TimeOfImpact - -▸ **TimeOfImpact**(`output`: [TOIOutput](classes/toioutput.md), `input`: [TOIInput](classes/toiinput.md)): *void* - -Compute the upper bound on time before two shapes penetrate. Time is -represented as a fraction between [0,tMax]. This uses a swept separating axis -and may miss some intermediate, non-tunneling collisions. If you change the -time interval, you should call this function again. - -Note: use Distance to compute the contact point and normal at the time of -impact. - -CCD via the local separating axis method. This seeks progression by computing -the largest time at which separation is maintained. - -**Parameters:** - -Name | Type | ------- | ------ | -`output` | [TOIOutput](classes/toioutput.md) | -`input` | [TOIInput](classes/toiinput.md) | - -**Returns:** *void* - -___ - -### clamp - -▸ **clamp**(`num`: number, `min`: number, `max`: number): *number* - -**`deprecated`** -Returns a min if num is less than min, and max if more than max, otherwise returns num. - -**Parameters:** - -Name | Type | ------- | ------ | -`num` | number | -`min` | number | -`max` | number | - -**Returns:** *number* - -___ - -### clipSegmentToLine - -▸ **clipSegmentToLine**(`vOut`: [ClipVertex](classes/clipvertex.md)[], `vIn`: [ClipVertex](classes/clipvertex.md)[], `normal`: [Vec2Value](interfaces/vec2value.md), `offset`: number, `vertexIndexA`: number): *number* - -Clipping for contact manifolds. Sutherland-Hodgman clipping. - -**Parameters:** - -Name | Type | ------- | ------ | -`vOut` | [ClipVertex](classes/clipvertex.md)[] | -`vIn` | [ClipVertex](classes/clipvertex.md)[] | -`normal` | [Vec2Value](interfaces/vec2value.md) | -`offset` | number | -`vertexIndexA` | number | - -**Returns:** *number* - -___ - -### getPointStates - -▸ **getPointStates**(`state1`: [PointState](enums/pointstate.md)[], `state2`: [PointState](enums/pointstate.md)[], `manifold1`: [Manifold](classes/manifold.md), `manifold2`: [Manifold](classes/manifold.md)): *void* - -Compute the point states given two manifolds. The states pertain to the -transition from manifold1 to manifold2. So state1 is either persist or remove -while state2 is either add or persist. - -**Parameters:** - -Name | Type | ------- | ------ | -`state1` | [PointState](enums/pointstate.md)[] | -`state2` | [PointState](enums/pointstate.md)[] | -`manifold1` | [Manifold](classes/manifold.md) | -`manifold2` | [Manifold](classes/manifold.md) | - -**Returns:** *void* - -___ - -### getTransform - -▸ **getTransform**(`xf`: [TransformValue](globals.md#transformvalue), `p`: [Vec2Value](interfaces/vec2value.md), `c`: [Vec2Value](interfaces/vec2value.md), `a`: number): *[TransformValue](globals.md#transformvalue)* - -**Parameters:** - -Name | Type | ------- | ------ | -`xf` | [TransformValue](globals.md#transformvalue) | -`p` | [Vec2Value](interfaces/vec2value.md) | -`c` | [Vec2Value](interfaces/vec2value.md) | -`a` | number | - -**Returns:** *[TransformValue](globals.md#transformvalue)* - -___ - -### isPowerOfTwo - -▸ **isPowerOfTwo**(`x`: number): *boolean* - -**`deprecated`** - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | - -**Returns:** *boolean* - -___ - -### mixFriction - -▸ **mixFriction**(`friction1`: number, `friction2`: number): *number* - -Friction mixing law. The idea is to allow either fixture to drive the -friction to zero. For example, anything slides on ice. - -**Parameters:** - -Name | Type | ------- | ------ | -`friction1` | number | -`friction2` | number | - -**Returns:** *number* - -___ - -### mixRestitution - -▸ **mixRestitution**(`restitution1`: number, `restitution2`: number): *number* - -Restitution mixing law. The idea is allow for anything to bounce off an -inelastic surface. For example, a superball bounces on anything. - -**Parameters:** - -Name | Type | ------- | ------ | -`restitution1` | number | -`restitution2` | number | - -**Returns:** *number* - -___ - -### mod - -▸ **mod**(`num`: number, `min?`: number, `max?`: number): *number* - -**`deprecated`** - -**Parameters:** - -Name | Type | ------- | ------ | -`num` | number | -`min?` | number | -`max?` | number | - -**Returns:** *number* - -___ - -### nextPowerOfTwo - -▸ **nextPowerOfTwo**(`x`: number): *number* - -**`deprecated`** -Next Largest Power of 2 Given a binary integer value x, the next largest -power of 2 can be computed by a SWAR algorithm that recursively "folds" the -upper bits into the lower bits. This process yields a bit vector with the -same most significant 1 as x, but all 1's below it. Adding 1 to that value -yields the next largest power of 2. For a 32-bit value: - -**Parameters:** - -Name | Type | ------- | ------ | -`x` | number | - -**Returns:** *number* - -___ - -### random - -▸ **random**(`min?`: number, `max?`: number): *number* - -**`deprecated`** -Returns a random number between min and max when two arguments are provided. -If one arg is provided between 0 to max. -If one arg is passed between 0 to 1. - -**Parameters:** - -Name | Type | ------- | ------ | -`min?` | number | -`max?` | number | - -**Returns:** *number* - -___ - -### `Const` testOverlap - -▸ **testOverlap**(`shapeA`: [Shape](classes/shape.md), `indexA`: number, `shapeB`: [Shape](classes/shape.md), `indexB`: number, `xfA`: [TransformValue](globals.md#transformvalue), `xfB`: [TransformValue](globals.md#transformvalue)): *boolean* - -Determine if two generic shapes overlap. - -**Parameters:** - -Name | Type | ------- | ------ | -`shapeA` | [Shape](classes/shape.md) | -`indexA` | number | -`shapeB` | [Shape](classes/shape.md) | -`indexB` | number | -`xfA` | [TransformValue](globals.md#transformvalue) | -`xfB` | [TransformValue](globals.md#transformvalue) | - -**Returns:** *boolean* - -## Object literals - -### `Const` internal - -### ▪ **internal**: *object* - -**`deprecated`** Merged with main namespace - -### CollidePolygons - -• **CollidePolygons**: *CollidePolygons* - -### Distance - -• **Distance**: *Distance* - -### DynamicTree - -• **DynamicTree**: *[DynamicTree](classes/dynamictree.md)* - -### Manifold - -• **Manifold**: *[Manifold](classes/manifold.md)* - -### Settings - -• **Settings**: *SettingsInternal* - -### Sweep - -• **Sweep**: *[Sweep](classes/sweep.md)* - -### TimeOfImpact - -• **TimeOfImpact**: *TimeOfImpact* - -### stats - -• **stats**: *object* - -#### Type declaration: - -* **gjkCalls**: *number* = 0 - -* **gjkIters**: *number* = 0 - -* **gjkMaxIters**: *number* = 0 - -* **toiCalls**: *number* = 0 - -* **toiIters**: *number* = 0 - -* **toiMaxIters**: *number* = 0 - -* **toiMaxRootIters**: *number* = 0 - -* **toiMaxTime**: *number* = 0 - -* **toiRootIters**: *number* = 0 - -* **toiTime**: *number* = 0 - -* **toString**(`newline?`: string): *string* - -___ - -### `Const` stats - -### ▪ **stats**: *object* - -### gjkCalls - -• **gjkCalls**: *number* = 0 - -### gjkIters - -• **gjkIters**: *number* = 0 - -### gjkMaxIters - -• **gjkMaxIters**: *number* = 0 - -### toiCalls - -• **toiCalls**: *number* = 0 - -### toiIters - -• **toiIters**: *number* = 0 - -### toiMaxIters - -• **toiMaxIters**: *number* = 0 - -### toiMaxRootIters - -• **toiMaxRootIters**: *number* = 0 - -### toiMaxTime - -• **toiMaxTime**: *number* = 0 - -### toiRootIters - -• **toiRootIters**: *number* = 0 - -### toiTime - -• **toiTime**: *number* = 0 - -### toString - -▸ **toString**(`newline?`: string): *string* - -**Parameters:** - -Name | Type | ------- | ------ | -`newline?` | string | - -**Returns:** *string* diff --git a/docs/api/interfaces/aabbvalue.md b/docs/api/interfaces/aabbvalue.md deleted file mode 100644 index ba4e20f8..00000000 --- a/docs/api/interfaces/aabbvalue.md +++ /dev/null @@ -1,26 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [AABBValue](aabbvalue.md) - -# Interface: AABBValue - -## Hierarchy - -* **AABBValue** - -## Index - -### Properties - -* [lowerBound](aabbvalue.md#lowerbound) -* [upperBound](aabbvalue.md#upperbound) - -## Properties - -### lowerBound - -• **lowerBound**: *[Vec2Value](vec2value.md)* - -___ - -### upperBound - -• **upperBound**: *[Vec2Value](vec2value.md)* diff --git a/docs/api/interfaces/distancejointdef.md b/docs/api/interfaces/distancejointdef.md deleted file mode 100644 index 2fabbdd1..00000000 --- a/docs/api/interfaces/distancejointdef.md +++ /dev/null @@ -1,122 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceJointDef](distancejointdef.md) - -# Interface: DistanceJointDef - -Distance joint definition. This requires defining an anchor point on both -bodies and the non-zero length of the distance joint. The definition uses -local anchor points so that the initial configuration can violate the -constraint slightly. This helps when saving and loading a game. Warning: Do -not use a zero or short length. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [DistanceJointOpt](distancejointopt.md) - - ↳ **DistanceJointDef** - -## Index - -### Properties - -* [bodyA](distancejointdef.md#bodya) -* [bodyB](distancejointdef.md#bodyb) -* [collideConnected](distancejointdef.md#optional-collideconnected) -* [dampingRatio](distancejointdef.md#optional-dampingratio) -* [frequencyHz](distancejointdef.md#optional-frequencyhz) -* [length](distancejointdef.md#optional-length) -* [localAnchorA](distancejointdef.md#localanchora) -* [localAnchorB](distancejointdef.md#localanchorb) -* [userData](distancejointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` dampingRatio - -• **dampingRatio**? : *number* - -*Inherited from [DistanceJointOpt](distancejointopt.md).[dampingRatio](distancejointopt.md#optional-dampingratio)* - -The damping ratio. 0 = no damping, 1 = critical damping. - -___ - -### `Optional` frequencyHz - -• **frequencyHz**? : *number* - -*Inherited from [DistanceJointOpt](distancejointopt.md).[frequencyHz](distancejointopt.md#optional-frequencyhz)* - -The mass-spring-damper frequency in Hertz. A value of 0 disables softness. - -___ - -### `Optional` length - -• **length**? : *number* - -*Inherited from [DistanceJointOpt](distancejointopt.md).[length](distancejointopt.md#optional-length)* - -Distance length. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/fixturedef.md b/docs/api/interfaces/fixturedef.md deleted file mode 100644 index b8fc44eb..00000000 --- a/docs/api/interfaces/fixturedef.md +++ /dev/null @@ -1,109 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FixtureDef](fixturedef.md) - -# Interface: FixtureDef - -## Hierarchy - -* [FixtureOpt](fixtureopt.md) - - ↳ **FixtureDef** - -## Index - -### Properties - -* [density](fixturedef.md#optional-density) -* [filterCategoryBits](fixturedef.md#optional-filtercategorybits) -* [filterGroupIndex](fixturedef.md#optional-filtergroupindex) -* [filterMaskBits](fixturedef.md#optional-filtermaskbits) -* [friction](fixturedef.md#optional-friction) -* [isSensor](fixturedef.md#optional-issensor) -* [restitution](fixturedef.md#optional-restitution) -* [shape](fixturedef.md#shape) -* [userData](fixturedef.md#optional-userdata) - -## Properties - -### `Optional` density - -• **density**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[density](fixtureopt.md#optional-density)* - -The density, usually in kg/m^2 - -___ - -### `Optional` filterCategoryBits - -• **filterCategoryBits**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[filterCategoryBits](fixtureopt.md#optional-filtercategorybits)* - -Collision category bit or bits that this fixture belongs to. -If groupIndex is zero or not matching, then at least one bit in this fixture categoryBits should match other fixture maskBits and vice versa. - -___ - -### `Optional` filterGroupIndex - -• **filterGroupIndex**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[filterGroupIndex](fixtureopt.md#optional-filtergroupindex)* - -Zero, positive or negative collision group. -Fixtures with same positive groupIndex always collide and fixtures with same negative groupIndex never collide. - -___ - -### `Optional` filterMaskBits - -• **filterMaskBits**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[filterMaskBits](fixtureopt.md#optional-filtermaskbits)* - -Collision category bit or bits that this fixture accept for collision. - -___ - -### `Optional` friction - -• **friction**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[friction](fixtureopt.md#optional-friction)* - -The friction coefficient, usually in the range [0,1] - -___ - -### `Optional` isSensor - -• **isSensor**? : *boolean* - -*Inherited from [FixtureOpt](fixtureopt.md).[isSensor](fixtureopt.md#optional-issensor)* - -A sensor shape collects contact information but never generates a collision response. - -___ - -### `Optional` restitution - -• **restitution**? : *number* - -*Inherited from [FixtureOpt](fixtureopt.md).[restitution](fixtureopt.md#optional-restitution)* - -The restitution (elasticity) usually in the range [0,1] - -___ - -### shape - -• **shape**: *[Shape](../classes/shape.md)* - -___ - -### `Optional` userData - -• **userData**? : *unknown* - -*Inherited from [FixtureOpt](fixtureopt.md).[userData](fixtureopt.md#optional-userdata)* diff --git a/docs/api/interfaces/frictionjointdef.md b/docs/api/interfaces/frictionjointdef.md deleted file mode 100644 index e092302a..00000000 --- a/docs/api/interfaces/frictionjointdef.md +++ /dev/null @@ -1,107 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FrictionJointDef](frictionjointdef.md) - -# Interface: FrictionJointDef - -Friction joint definition. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [FrictionJointOpt](frictionjointopt.md) - - ↳ **FrictionJointDef** - -## Index - -### Properties - -* [bodyA](frictionjointdef.md#bodya) -* [bodyB](frictionjointdef.md#bodyb) -* [collideConnected](frictionjointdef.md#optional-collideconnected) -* [localAnchorA](frictionjointdef.md#localanchora) -* [localAnchorB](frictionjointdef.md#localanchorb) -* [maxForce](frictionjointdef.md#optional-maxforce) -* [maxTorque](frictionjointdef.md#optional-maxtorque) -* [userData](frictionjointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### `Optional` maxForce - -• **maxForce**? : *number* - -*Inherited from [FrictionJointOpt](frictionjointopt.md).[maxForce](frictionjointopt.md#optional-maxforce)* - -The maximum friction force in N. - -___ - -### `Optional` maxTorque - -• **maxTorque**? : *number* - -*Inherited from [FrictionJointOpt](frictionjointopt.md).[maxTorque](frictionjointopt.md#optional-maxtorque)* - -The maximum friction torque in N-m. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/frictionjointopt.md b/docs/api/interfaces/frictionjointopt.md deleted file mode 100644 index f6c0700b..00000000 --- a/docs/api/interfaces/frictionjointopt.md +++ /dev/null @@ -1,59 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FrictionJointOpt](frictionjointopt.md) - -# Interface: FrictionJointOpt - -Friction joint definition. - -## Hierarchy - -* [JointOpt](jointopt.md) - - ↳ **FrictionJointOpt** - - ↳ [FrictionJointDef](frictionjointdef.md) - -## Index - -### Properties - -* [collideConnected](frictionjointopt.md#optional-collideconnected) -* [maxForce](frictionjointopt.md#optional-maxforce) -* [maxTorque](frictionjointopt.md#optional-maxtorque) -* [userData](frictionjointopt.md#optional-userdata) - -## Properties - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` maxForce - -• **maxForce**? : *number* - -The maximum friction force in N. - -___ - -### `Optional` maxTorque - -• **maxTorque**? : *number* - -The maximum friction torque in N-m. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/gearjointdef.md b/docs/api/interfaces/gearjointdef.md deleted file mode 100644 index 8fd7d518..00000000 --- a/docs/api/interfaces/gearjointdef.md +++ /dev/null @@ -1,96 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [GearJointDef](gearjointdef.md) - -# Interface: GearJointDef - -Gear joint definition. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [GearJointOpt](gearjointopt.md) - - ↳ **GearJointDef** - -## Index - -### Properties - -* [bodyA](gearjointdef.md#bodya) -* [bodyB](gearjointdef.md#bodyb) -* [collideConnected](gearjointdef.md#optional-collideconnected) -* [joint1](gearjointdef.md#joint1) -* [joint2](gearjointdef.md#joint2) -* [ratio](gearjointdef.md#optional-ratio) -* [userData](gearjointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### joint1 - -• **joint1**: *[RevoluteJoint](../classes/revolutejoint.md) | [PrismaticJoint](../classes/prismaticjoint.md)* - -The first revolute/prismatic joint attached to the gear joint. - -___ - -### joint2 - -• **joint2**: *[RevoluteJoint](../classes/revolutejoint.md) | [PrismaticJoint](../classes/prismaticjoint.md)* - -The second prismatic/revolute joint attached to the gear joint. - -___ - -### `Optional` ratio - -• **ratio**? : *number* - -*Inherited from [GearJointOpt](gearjointopt.md).[ratio](gearjointopt.md#optional-ratio)* - -The gear ratio. See [GearJoint](../classes/gearjoint.md) for explanation. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/gearjointopt.md b/docs/api/interfaces/gearjointopt.md deleted file mode 100644 index cb3a81e5..00000000 --- a/docs/api/interfaces/gearjointopt.md +++ /dev/null @@ -1,50 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [GearJointOpt](gearjointopt.md) - -# Interface: GearJointOpt - -Gear joint definition. - -## Hierarchy - -* [JointOpt](jointopt.md) - - ↳ **GearJointOpt** - - ↳ [GearJointDef](gearjointdef.md) - -## Index - -### Properties - -* [collideConnected](gearjointopt.md#optional-collideconnected) -* [ratio](gearjointopt.md#optional-ratio) -* [userData](gearjointopt.md#optional-userdata) - -## Properties - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` ratio - -• **ratio**? : *number* - -The gear ratio. See [GearJoint](../classes/gearjoint.md) for explanation. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/jointdef.md b/docs/api/interfaces/jointdef.md deleted file mode 100644 index 1b7df558..00000000 --- a/docs/api/interfaces/jointdef.md +++ /dev/null @@ -1,79 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [JointDef](jointdef.md) - -# Interface: JointDef - -Joint definitions are used to construct joints. - -## Hierarchy - -* [JointOpt](jointopt.md) - - ↳ **JointDef** - - ↳ [DistanceJointDef](distancejointdef.md) - - ↳ [FrictionJointDef](frictionjointdef.md) - - ↳ [RevoluteJointDef](revolutejointdef.md) - - ↳ [PrismaticJointDef](prismaticjointdef.md) - - ↳ [GearJointDef](gearjointdef.md) - - ↳ [MotorJointDef](motorjointdef.md) - - ↳ [MouseJointDef](mousejointdef.md) - - ↳ [PulleyJointDef](pulleyjointdef.md) - - ↳ [RopeJointDef](ropejointdef.md) - - ↳ [WeldJointDef](weldjointdef.md) - - ↳ [WheelJointDef](wheeljointdef.md) - -## Index - -### Properties - -* [bodyA](jointdef.md#bodya) -* [bodyB](jointdef.md#bodyb) -* [collideConnected](jointdef.md#optional-collideconnected) -* [userData](jointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/jointopt.md b/docs/api/interfaces/jointopt.md deleted file mode 100644 index 0401ab2d..00000000 --- a/docs/api/interfaces/jointopt.md +++ /dev/null @@ -1,57 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [JointOpt](jointopt.md) - -# Interface: JointOpt - -Joint definitions are used to construct joints. - -## Hierarchy - -* **JointOpt** - - ↳ [JointDef](jointdef.md) - - ↳ [DistanceJointOpt](distancejointopt.md) - - ↳ [FrictionJointOpt](frictionjointopt.md) - - ↳ [RevoluteJointOpt](revolutejointopt.md) - - ↳ [PrismaticJointOpt](prismaticjointopt.md) - - ↳ [GearJointOpt](gearjointopt.md) - - ↳ [MotorJointOpt](motorjointopt.md) - - ↳ [MouseJointOpt](mousejointopt.md) - - ↳ [PulleyJointOpt](pulleyjointopt.md) - - ↳ [RopeJointOpt](ropejointopt.md) - - ↳ [WeldJointOpt](weldjointopt.md) - - ↳ [WheelJointOpt](wheeljointopt.md) - -## Index - -### Properties - -* [collideConnected](jointopt.md#optional-collideconnected) -* [userData](jointopt.md#optional-userdata) - -## Properties - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` userData - -• **userData**? : *any* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/motorjointdef.md b/docs/api/interfaces/motorjointdef.md deleted file mode 100644 index 92903d70..00000000 --- a/docs/api/interfaces/motorjointdef.md +++ /dev/null @@ -1,122 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MotorJointDef](motorjointdef.md) - -# Interface: MotorJointDef - -Motor joint definition. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [MotorJointOpt](motorjointopt.md) - - ↳ **MotorJointDef** - -## Index - -### Properties - -* [angularOffset](motorjointdef.md#optional-angularoffset) -* [bodyA](motorjointdef.md#bodya) -* [bodyB](motorjointdef.md#bodyb) -* [collideConnected](motorjointdef.md#optional-collideconnected) -* [correctionFactor](motorjointdef.md#optional-correctionfactor) -* [linearOffset](motorjointdef.md#optional-linearoffset) -* [maxForce](motorjointdef.md#optional-maxforce) -* [maxTorque](motorjointdef.md#optional-maxtorque) -* [userData](motorjointdef.md#optional-userdata) - -## Properties - -### `Optional` angularOffset - -• **angularOffset**? : *number* - -*Inherited from [MotorJointOpt](motorjointopt.md).[angularOffset](motorjointopt.md#optional-angularoffset)* - -The bodyB angle minus bodyA angle in radians. - -___ - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` correctionFactor - -• **correctionFactor**? : *number* - -*Inherited from [MotorJointOpt](motorjointopt.md).[correctionFactor](motorjointopt.md#optional-correctionfactor)* - -Position correction factor in the range [0,1]. - -___ - -### `Optional` linearOffset - -• **linearOffset**? : *[Vec2Value](vec2value.md)* - -*Inherited from [MotorJointOpt](motorjointopt.md).[linearOffset](motorjointopt.md#optional-linearoffset)* - -Position of bodyB minus the position of bodyA, in bodyA's frame, in meters. - -___ - -### `Optional` maxForce - -• **maxForce**? : *number* - -*Inherited from [MotorJointOpt](motorjointopt.md).[maxForce](motorjointopt.md#optional-maxforce)* - -The maximum motor force in N. - -___ - -### `Optional` maxTorque - -• **maxTorque**? : *number* - -*Inherited from [MotorJointOpt](motorjointopt.md).[maxTorque](motorjointopt.md#optional-maxtorque)* - -The maximum motor torque in N-m. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/mousejointdef.md b/docs/api/interfaces/mousejointdef.md deleted file mode 100644 index 85ee1663..00000000 --- a/docs/api/interfaces/mousejointdef.md +++ /dev/null @@ -1,114 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MouseJointDef](mousejointdef.md) - -# Interface: MouseJointDef - -Mouse joint definition. This requires a world target point, tuning -parameters, and the time step. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [MouseJointOpt](mousejointopt.md) - - ↳ **MouseJointDef** - -## Index - -### Properties - -* [bodyA](mousejointdef.md#bodya) -* [bodyB](mousejointdef.md#bodyb) -* [collideConnected](mousejointdef.md#optional-collideconnected) -* [dampingRatio](mousejointdef.md#optional-dampingratio) -* [frequencyHz](mousejointdef.md#optional-frequencyhz) -* [maxForce](mousejointdef.md#optional-maxforce) -* [target](mousejointdef.md#target) -* [userData](mousejointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` dampingRatio - -• **dampingRatio**? : *number* - -*Inherited from [MouseJointOpt](mousejointopt.md).[dampingRatio](mousejointopt.md#optional-dampingratio)* - -[dampingRatio = 0.7] The damping ratio. 0 = no damping, 1 = critical -damping. - -___ - -### `Optional` frequencyHz - -• **frequencyHz**? : *number* - -*Inherited from [MouseJointOpt](mousejointopt.md).[frequencyHz](mousejointopt.md#optional-frequencyhz)* - -[frequencyHz = 5.0] The response speed. - -___ - -### `Optional` maxForce - -• **maxForce**? : *number* - -*Inherited from [MouseJointOpt](mousejointopt.md).[maxForce](mousejointopt.md#optional-maxforce)* - -[maxForce = 0.0] The maximum constraint force that can be exerted to move -the candidate body. Usually you will express as some multiple of the -weight (multiplier * mass * gravity). - -___ - -### target - -• **target**: *[Vec2Value](vec2value.md)* - -The initial world target point. This is assumed to coincide with the body -anchor initially. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/prismaticjointdef.md b/docs/api/interfaces/prismaticjointdef.md deleted file mode 100644 index 59496b62..00000000 --- a/docs/api/interfaces/prismaticjointdef.md +++ /dev/null @@ -1,175 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PrismaticJointDef](prismaticjointdef.md) - -# Interface: PrismaticJointDef - -Prismatic joint definition. This requires defining a line of motion using an -axis and an anchor point. The definition uses local anchor points and a local -axis so that the initial configuration can violate the constraint slightly. -The joint translation is zero when the local anchor points coincide in world -space. Using local anchors and a local axis helps when saving and loading a -game. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [PrismaticJointOpt](prismaticjointopt.md) - - ↳ **PrismaticJointDef** - -## Index - -### Properties - -* [bodyA](prismaticjointdef.md#bodya) -* [bodyB](prismaticjointdef.md#bodyb) -* [collideConnected](prismaticjointdef.md#optional-collideconnected) -* [enableLimit](prismaticjointdef.md#optional-enablelimit) -* [enableMotor](prismaticjointdef.md#optional-enablemotor) -* [localAnchorA](prismaticjointdef.md#localanchora) -* [localAnchorB](prismaticjointdef.md#localanchorb) -* [localAxisA](prismaticjointdef.md#localaxisa) -* [lowerTranslation](prismaticjointdef.md#optional-lowertranslation) -* [maxMotorForce](prismaticjointdef.md#optional-maxmotorforce) -* [motorSpeed](prismaticjointdef.md#optional-motorspeed) -* [referenceAngle](prismaticjointdef.md#referenceangle) -* [upperTranslation](prismaticjointdef.md#optional-uppertranslation) -* [userData](prismaticjointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` enableLimit - -• **enableLimit**? : *boolean* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[enableLimit](prismaticjointopt.md#optional-enablelimit)* - -Enable/disable the joint limit. - -___ - -### `Optional` enableMotor - -• **enableMotor**? : *boolean* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[enableMotor](prismaticjointopt.md#optional-enablemotor)* - -Enable/disable the joint motor. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### localAxisA - -• **localAxisA**: *[Vec2Value](vec2value.md)* - -The local translation unit axis in bodyA. - -___ - -### `Optional` lowerTranslation - -• **lowerTranslation**? : *number* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[lowerTranslation](prismaticjointopt.md#optional-lowertranslation)* - -The lower translation limit, usually in meters. - -___ - -### `Optional` maxMotorForce - -• **maxMotorForce**? : *number* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[maxMotorForce](prismaticjointopt.md#optional-maxmotorforce)* - -The maximum motor torque, usually in N-m. - -___ - -### `Optional` motorSpeed - -• **motorSpeed**? : *number* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[motorSpeed](prismaticjointopt.md#optional-motorspeed)* - -The desired motor speed in radians per second. - -___ - -### referenceAngle - -• **referenceAngle**: *number* - -referenceAngle The constrained angle between the bodies: -bodyB_angle - bodyA_angle. - -___ - -### `Optional` upperTranslation - -• **upperTranslation**? : *number* - -*Inherited from [PrismaticJointOpt](prismaticjointopt.md).[upperTranslation](prismaticjointopt.md#optional-uppertranslation)* - -The upper translation limit, usually in meters. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/pulleyjointdef.md b/docs/api/interfaces/pulleyjointdef.md deleted file mode 100644 index 2d7ffe59..00000000 --- a/docs/api/interfaces/pulleyjointdef.md +++ /dev/null @@ -1,131 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PulleyJointDef](pulleyjointdef.md) - -# Interface: PulleyJointDef - -Pulley joint definition. This requires two ground anchors, two dynamic body -anchor points, and a pulley ratio. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [PulleyJointOpt](pulleyjointopt.md) - - ↳ **PulleyJointDef** - -## Index - -### Properties - -* [bodyA](pulleyjointdef.md#bodya) -* [bodyB](pulleyjointdef.md#bodyb) -* [collideConnected](pulleyjointdef.md#optional-collideconnected) -* [groundAnchorA](pulleyjointdef.md#groundanchora) -* [groundAnchorB](pulleyjointdef.md#groundanchorb) -* [lengthA](pulleyjointdef.md#lengtha) -* [lengthB](pulleyjointdef.md#lengthb) -* [localAnchorA](pulleyjointdef.md#localanchora) -* [localAnchorB](pulleyjointdef.md#localanchorb) -* [ratio](pulleyjointdef.md#ratio) -* [userData](pulleyjointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### groundAnchorA - -• **groundAnchorA**: *[Vec2Value](vec2value.md)* - -The first ground anchor in world coordinates. This point never moves. - -___ - -### groundAnchorB - -• **groundAnchorB**: *[Vec2Value](vec2value.md)* - -The second ground anchor in world coordinates. This point never moves. - -___ - -### lengthA - -• **lengthA**: *number* - -The reference length for the segment attached to bodyA. - -___ - -### lengthB - -• **lengthB**: *number* - -The reference length for the segment attached to bodyB. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### ratio - -• **ratio**: *number* - -The pulley ratio, used to simulate a block-and-tackle. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/pulleyjointopt.md b/docs/api/interfaces/pulleyjointopt.md deleted file mode 100644 index 66f9fa1f..00000000 --- a/docs/api/interfaces/pulleyjointopt.md +++ /dev/null @@ -1,42 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PulleyJointOpt](pulleyjointopt.md) - -# Interface: PulleyJointOpt - -Pulley joint definition. This requires two ground anchors, two dynamic body -anchor points, and a pulley ratio. - -## Hierarchy - -* [JointOpt](jointopt.md) - - ↳ **PulleyJointOpt** - - ↳ [PulleyJointDef](pulleyjointdef.md) - -## Index - -### Properties - -* [collideConnected](pulleyjointopt.md#optional-collideconnected) -* [userData](pulleyjointopt.md#optional-userdata) - -## Properties - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/revolutejointdef.md b/docs/api/interfaces/revolutejointdef.md deleted file mode 100644 index d503ce40..00000000 --- a/docs/api/interfaces/revolutejointdef.md +++ /dev/null @@ -1,170 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RevoluteJointDef](revolutejointdef.md) - -# Interface: RevoluteJointDef - -Revolute joint definition. This requires defining an anchor point where the -bodies are joined. The definition uses local anchor points so that the -initial configuration can violate the constraint slightly. You also need to -specify the initial relative angle for joint limits. This helps when saving -and loading a game. - -The local anchor points are measured from the body's origin rather than the -center of mass because: 1. you might not know where the center of mass will -be. 2. if you add/remove shapes from a body and recompute the mass, the -joints will be broken. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [RevoluteJointOpt](revolutejointopt.md) - - ↳ **RevoluteJointDef** - -## Index - -### Properties - -* [bodyA](revolutejointdef.md#bodya) -* [bodyB](revolutejointdef.md#bodyb) -* [collideConnected](revolutejointdef.md#optional-collideconnected) -* [enableLimit](revolutejointdef.md#optional-enablelimit) -* [enableMotor](revolutejointdef.md#optional-enablemotor) -* [localAnchorA](revolutejointdef.md#localanchora) -* [localAnchorB](revolutejointdef.md#localanchorb) -* [lowerAngle](revolutejointdef.md#optional-lowerangle) -* [maxMotorTorque](revolutejointdef.md#optional-maxmotortorque) -* [motorSpeed](revolutejointdef.md#optional-motorspeed) -* [referenceAngle](revolutejointdef.md#referenceangle) -* [upperAngle](revolutejointdef.md#optional-upperangle) -* [userData](revolutejointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` enableLimit - -• **enableLimit**? : *boolean* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[enableLimit](revolutejointopt.md#optional-enablelimit)* - -A flag to enable joint limits. - -___ - -### `Optional` enableMotor - -• **enableMotor**? : *boolean* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[enableMotor](revolutejointopt.md#optional-enablemotor)* - -A flag to enable the joint motor. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### `Optional` lowerAngle - -• **lowerAngle**? : *number* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[lowerAngle](revolutejointopt.md#optional-lowerangle)* - -The lower angle for the joint limit (radians). - -___ - -### `Optional` maxMotorTorque - -• **maxMotorTorque**? : *number* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[maxMotorTorque](revolutejointopt.md#optional-maxmotortorque)* - -The maximum motor torque used to achieve the desired motor speed. Usually -in N-m. - -___ - -### `Optional` motorSpeed - -• **motorSpeed**? : *number* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[motorSpeed](revolutejointopt.md#optional-motorspeed)* - -The desired motor speed. Usually in radians per second. - -___ - -### referenceAngle - -• **referenceAngle**: *number* - -The bodyB angle minus bodyA angle in the reference state (radians). - -___ - -### `Optional` upperAngle - -• **upperAngle**? : *number* - -*Inherited from [RevoluteJointOpt](revolutejointopt.md).[upperAngle](revolutejointopt.md#optional-upperangle)* - -The upper angle for the joint limit (radians). - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/ropejointdef.md b/docs/api/interfaces/ropejointdef.md deleted file mode 100644 index d1732971..00000000 --- a/docs/api/interfaces/ropejointdef.md +++ /dev/null @@ -1,99 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RopeJointDef](ropejointdef.md) - -# Interface: RopeJointDef - -Rope joint definition. This requires two body anchor points and a maximum -lengths. Note: by default the connected objects will not collide. see -collideConnected in JointDef. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [RopeJointOpt](ropejointopt.md) - - ↳ **RopeJointDef** - -## Index - -### Properties - -* [bodyA](ropejointdef.md#bodya) -* [bodyB](ropejointdef.md#bodyb) -* [collideConnected](ropejointdef.md#optional-collideconnected) -* [localAnchorA](ropejointdef.md#localanchora) -* [localAnchorB](ropejointdef.md#localanchorb) -* [maxLength](ropejointdef.md#optional-maxlength) -* [userData](ropejointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### `Optional` maxLength - -• **maxLength**? : *number* - -*Inherited from [RopeJointOpt](ropejointopt.md).[maxLength](ropejointopt.md#optional-maxlength)* - -The maximum length of the rope. -Warning: this must be larger than linearSlop or the joint will have no effect. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/weldjointdef.md b/docs/api/interfaces/weldjointdef.md deleted file mode 100644 index 9e5037e6..00000000 --- a/docs/api/interfaces/weldjointdef.md +++ /dev/null @@ -1,121 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WeldJointDef](weldjointdef.md) - -# Interface: WeldJointDef - -Weld joint definition. You need to specify local anchor points where they are -attached and the relative body angle. The position of the anchor points is -important for computing the reaction torque. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [WeldJointOpt](weldjointopt.md) - - ↳ **WeldJointDef** - -## Index - -### Properties - -* [bodyA](weldjointdef.md#bodya) -* [bodyB](weldjointdef.md#bodyb) -* [collideConnected](weldjointdef.md#optional-collideconnected) -* [dampingRatio](weldjointdef.md#optional-dampingratio) -* [frequencyHz](weldjointdef.md#optional-frequencyhz) -* [localAnchorA](weldjointdef.md#localanchora) -* [localAnchorB](weldjointdef.md#localanchorb) -* [referenceAngle](weldjointdef.md#optional-referenceangle) -* [userData](weldjointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` dampingRatio - -• **dampingRatio**? : *number* - -*Inherited from [WeldJointOpt](weldjointopt.md).[dampingRatio](weldjointopt.md#optional-dampingratio)* - -The damping ratio. 0 = no damping, 1 = critical damping. - -___ - -### `Optional` frequencyHz - -• **frequencyHz**? : *number* - -*Inherited from [WeldJointOpt](weldjointopt.md).[frequencyHz](weldjointopt.md#optional-frequencyhz)* - -The mass-spring-damper frequency in Hertz. Rotation only. Disable softness -with a value of 0. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### `Optional` referenceAngle - -• **referenceAngle**? : *number* - -*Inherited from [WeldJointOpt](weldjointopt.md).[referenceAngle](weldjointopt.md#optional-referenceangle)* - -The bodyB angle minus bodyA angle in the reference state (radians). - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/wheeljointdef.md b/docs/api/interfaces/wheeljointdef.md deleted file mode 100644 index 67ee81ff..00000000 --- a/docs/api/interfaces/wheeljointdef.md +++ /dev/null @@ -1,154 +0,0 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WheelJointDef](wheeljointdef.md) - -# Interface: WheelJointDef - -Wheel joint definition. This requires defining a line of motion using an axis -and an anchor point. The definition uses local anchor points and a local axis -so that the initial configuration can violate the constraint slightly. The -joint translation is zero when the local anchor points coincide in world -space. Using local anchors and a local axis helps when saving and loading a -game. - -## Hierarchy - - ↳ [JointDef](jointdef.md) - - ↳ [WheelJointOpt](wheeljointopt.md) - - ↳ **WheelJointDef** - -## Index - -### Properties - -* [bodyA](wheeljointdef.md#bodya) -* [bodyB](wheeljointdef.md#bodyb) -* [collideConnected](wheeljointdef.md#optional-collideconnected) -* [dampingRatio](wheeljointdef.md#optional-dampingratio) -* [enableMotor](wheeljointdef.md#optional-enablemotor) -* [frequencyHz](wheeljointdef.md#optional-frequencyhz) -* [localAnchorA](wheeljointdef.md#localanchora) -* [localAnchorB](wheeljointdef.md#localanchorb) -* [localAxisA](wheeljointdef.md#localaxisa) -* [maxMotorTorque](wheeljointdef.md#optional-maxmotortorque) -* [motorSpeed](wheeljointdef.md#optional-motorspeed) -* [userData](wheeljointdef.md#optional-userdata) - -## Properties - -### bodyA - -• **bodyA**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyA](jointdef.md#bodya)* - -The first attached body. - -___ - -### bodyB - -• **bodyB**: *[Body](../classes/body.md)* - -*Inherited from [JointDef](jointdef.md).[bodyB](jointdef.md#bodyb)* - -The second attached body. - -___ - -### `Optional` collideConnected - -• **collideConnected**? : *boolean* - -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -*Overrides [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* - -Set this flag to true if the attached bodies -should collide. - -___ - -### `Optional` dampingRatio - -• **dampingRatio**? : *number* - -*Inherited from [WheelJointOpt](wheeljointopt.md).[dampingRatio](wheeljointopt.md#optional-dampingratio)* - -Suspension damping ratio, one indicates critical damping. - -___ - -### `Optional` enableMotor - -• **enableMotor**? : *boolean* - -*Inherited from [WheelJointOpt](wheeljointopt.md).[enableMotor](wheeljointopt.md#optional-enablemotor)* - -Enable/disable the joint motor. - -___ - -### `Optional` frequencyHz - -• **frequencyHz**? : *number* - -*Inherited from [WheelJointOpt](wheeljointopt.md).[frequencyHz](wheeljointopt.md#optional-frequencyhz)* - -Suspension frequency, zero indicates no suspension. - -___ - -### localAnchorA - -• **localAnchorA**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyA's origin. - -___ - -### localAnchorB - -• **localAnchorB**: *[Vec2Value](vec2value.md)* - -The local anchor point relative to bodyB's origin. - -___ - -### localAxisA - -• **localAxisA**: *[Vec2Value](vec2value.md)* - -The local translation axis in bodyA. - -___ - -### `Optional` maxMotorTorque - -• **maxMotorTorque**? : *number* - -*Inherited from [WheelJointOpt](wheeljointopt.md).[maxMotorTorque](wheeljointopt.md#optional-maxmotortorque)* - -The maximum motor torque, usually in N-m. - -___ - -### `Optional` motorSpeed - -• **motorSpeed**? : *number* - -*Inherited from [WheelJointOpt](wheeljointopt.md).[motorSpeed](wheeljointopt.md#optional-motorspeed)* - -The desired motor speed in radians per second. - -___ - -### `Optional` userData - -• **userData**? : *any* - -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -*Overrides [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* - -Use this to attach application specific data to your joints. diff --git a/docs/next.config.js b/docs/next.config.js deleted file mode 100644 index da57decc..00000000 --- a/docs/next.config.js +++ /dev/null @@ -1,10 +0,0 @@ -const nextra = require('nextra') - -const withNextra = nextra({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.tsx', -}); - -module.exports = withNextra({ - basePath: "/planck.js/docs", -}); diff --git a/docs/package-lock.json b/docs/package-lock.json index 0e41a104..ac58d47b 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,488 +1,655 @@ { - "name": "planck-docs", - "version": "0.0.1", + "name": "stage-docs", + "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "planck-docs", - "version": "0.0.1", - "dependencies": { - "@vercel/analytics": "^1.0.1", - "eslint-config-next": "^13.4.9", - "next": "^13.4.9", - "nextra": "latest", - "nextra-theme-docs": "^2.8.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "name": "stage-docs", + "version": "0.0.0", + "dependencies": { + "@types/react": "latest", + "react": "latest", + "react-dom": "latest", + "typescript": "latest", + "vocs": "latest" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" }, - "devDependencies": { - "@types/node": "18.11.10", - "typescript": "^4.9.3" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/runtime": { + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", "dependencies": { - "regenerator-runtime": "^0.14.0" + "@babel/types": "^7.24.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "peer": true, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", + "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-simple-access": "^7.24.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@babel/core": "^7.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "peer": true, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "peer": true, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", + "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/types": "^7.24.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", + "dependencies": { + "@babel/types": "^7.24.5" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "peer": true + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "peer": true, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", + "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", "dependencies": { - "argparse": "^2.0.1" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "peer": true, + "node_modules/@babel/parser": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.0.0" } }, - "node_modules/@headlessui/react": { - "version": "1.7.15", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.15.tgz", - "integrity": "sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", "dependencies": { - "client-only": "^0.0.1" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { - "node": ">=10" + "node": ">=6.9.0" }, "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "peer": true, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", + "integrity": "sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.24.5" }, "engines": { - "node": ">=10.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "peer": true, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "peer": true + "node_modules/@babel/runtime": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@mdx-js/mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", - "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/mdx": "^2.0.0", - "estree-util-build-jsx": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-to-js": "^1.1.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^2.0.0", - "markdown-extensions": "^1.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^2.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "unified": "^10.0.0", - "unist-util-position-from-estree": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "node_modules/@babel/traverse": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", + "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", "dependencies": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/types": "^7.24.5", + "debug": "^4.3.1", + "globals": "^11.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", + "to-fast-properties": "^2.0.0" }, - "peerDependencies": { - "react": ">=16" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@napi-rs/simple-git": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git/-/simple-git-0.1.8.tgz", - "integrity": "sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==", + "node_modules/@clack/core": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.4.tgz", + "integrity": "sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==", + "dependencies": { + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@clack/prompts": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.7.0.tgz", + "integrity": "sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==", + "bundleDependencies": [ + "is-unicode-supported" + ], + "dependencies": { + "@clack/core": "^0.3.3", + "is-unicode-supported": "*", + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@clack/prompts/node_modules/is-unicode-supported": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=12" }, - "optionalDependencies": { - "@napi-rs/simple-git-android-arm-eabi": "0.1.8", - "@napi-rs/simple-git-android-arm64": "0.1.8", - "@napi-rs/simple-git-darwin-arm64": "0.1.8", - "@napi-rs/simple-git-darwin-x64": "0.1.8", - "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.8", - "@napi-rs/simple-git-linux-arm64-gnu": "0.1.8", - "@napi-rs/simple-git-linux-arm64-musl": "0.1.8", - "@napi-rs/simple-git-linux-x64-gnu": "0.1.8", - "@napi-rs/simple-git-linux-x64-musl": "0.1.8", - "@napi-rs/simple-git-win32-arm64-msvc": "0.1.8", - "@napi-rs/simple-git-win32-x64-msvc": "0.1.8" - } - }, - "node_modules/@napi-rs/simple-git-android-arm-eabi": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.8.tgz", - "integrity": "sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "cpu": [ - "arm" + "ppc64" ], "optional": true, "os": [ - "android" + "aix" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-android-arm64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.8.tgz", - "integrity": "sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==", + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ - "arm64" + "arm" ], "optional": true, "os": [ "android" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-darwin-arm64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.8.tgz", - "integrity": "sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==", + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ "arm64" ], "optional": true, "os": [ - "darwin" + "android" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-darwin-x64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.8.tgz", - "integrity": "sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==", + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ "x64" ], "optional": true, "os": [ - "darwin" + "android" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-linux-arm-gnueabihf": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.8.tgz", - "integrity": "sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ - "arm" + "arm64" ], "optional": true, "os": [ - "linux" + "darwin" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-linux-arm64-gnu": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.8.tgz", - "integrity": "sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ - "arm64" + "x64" ], - "hasInstallScript": true, "optional": true, "os": [ - "linux" + "darwin" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-linux-arm64-musl": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.8.tgz", - "integrity": "sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], - "hasInstallScript": true, "optional": true, "os": [ - "linux" + "freebsd" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-linux-x64-gnu": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.8.tgz", - "integrity": "sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], - "hasInstallScript": true, "optional": true, "os": [ - "linux" + "freebsd" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-linux-x64-musl": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.8.tgz", - "integrity": "sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ - "x64" + "arm" ], - "hasInstallScript": true, "optional": true, "os": [ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-win32-arm64-msvc": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.8.tgz", - "integrity": "sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], "optional": true, "os": [ - "win32" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@napi-rs/simple-git-win32-x64-msvc": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.8.tgz", - "integrity": "sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ - "x64" + "ia32" ], "optional": true, "os": [ - "win32" + "linux" ], "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/env": { - "version": "13.4.9", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz", - "integrity": "sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==", - "dependencies": { - "glob": "7.1.7" + "node": ">=12" } }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.4.9", + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ - "arm64" + "loong64" ], - "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.9.tgz", - "integrity": "sha512-aSfF1fhv28N2e7vrDZ6zOQ+IIthocfaxuMWGReB5GDriF0caTqtHttAvzOMgJgXQtQx6XhyaJMozLTSEXeNN+A==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ - "x64" + "mips64el" ], "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.9.tgz", - "integrity": "sha512-JhKoX5ECzYoTVyIy/7KykeO4Z2lVKq7HGQqvAH+Ip9UFn1MOJkOnkPRB7v4nmzqAoY+Je05Aj5wNABR1N18DMg==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "cpu": [ - "arm64" + "ppc64" ], "optional": true, "os": [ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.9.tgz", - "integrity": "sha512-OOn6zZBIVkm/4j5gkPdGn4yqQt+gmXaLaSjRSO434WplV8vo2YaBNbSHaTM9wJpZTHVDYyjzuIYVEzy9/5RVZw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "cpu": [ - "arm64" + "riscv64" ], "optional": true, "os": [ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.9.tgz", - "integrity": "sha512-iA+fJXFPpW0SwGmx/pivVU+2t4zQHNOOAr5T378PfxPHY6JtjV6/0s1vlAJUdIHeVpX98CLp9k5VuKgxiRHUpg==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "cpu": [ - "x64" + "s390x" ], "optional": true, "os": [ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.9.tgz", - "integrity": "sha512-rlNf2WUtMM+GAQrZ9gMNdSapkVi3koSW3a+dmBVp42lfugWVvnyzca/xJlN48/7AGx8qu62WyO0ya1ikgOxh6A==", + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], @@ -491,2096 +658,2117 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.9.tgz", - "integrity": "sha512-5T9ybSugXP77nw03vlgKZxD99AFTHaX8eT1ayKYYnGO9nmYhJjRPxcjU5FyYI+TdkQgEpIcH7p/guPLPR0EbKA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "cpu": [ - "arm64" + "x64" ], "optional": true, "os": [ - "win32" + "netbsd" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.9.tgz", - "integrity": "sha512-ojZTCt1lP2ucgpoiFgrFj07uq4CZsq4crVXpLGgQfoFq00jPKRPgesuGPaz8lg1yLfvafkU3Jd1i8snKwYR3LA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "cpu": [ - "ia32" + "x64" ], "optional": true, "os": [ - "win32" + "openbsd" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.9.tgz", - "integrity": "sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "cpu": [ "x64" ], "optional": true, "os": [ - "win32" + "sunos" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" + "node_modules/@floating-ui/core": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", + "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" } }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.1", - "license": "Apache-2.0", + "node_modules/@floating-ui/dom": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.4.tgz", + "integrity": "sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==", "dependencies": { - "tslib": "^2.4.0" + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" } }, - "node_modules/@theguild/remark-mermaid": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@theguild/remark-mermaid/-/remark-mermaid-0.0.3.tgz", - "integrity": "sha512-fccVR6o4UPUztrBjdUhM4ahwx+X7YHhoxsUoXv2vI07vz4dq+I03Ot0SjuZzDA/H7engxcb8ZxzCUEkZgGr/2g==", + "node_modules/@floating-ui/react": { + "version": "0.26.13", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.13.tgz", + "integrity": "sha512-kBa9wntpugzrZ8t/4yWelvSmEKZdeTXTJzrxqyrLmcU/n1SM4nvse8yQh2e1b37rJGvtu0EplV9+IkBrCJ1vkw==", "dependencies": { - "mermaid": "^10.2.2", - "unist-util-visit": "^4.1.2" + "@floating-ui/react-dom": "^2.0.0", + "@floating-ui/utils": "^0.2.0", + "tabbable": "^6.0.0" }, "peerDependencies": { - "react": "^18.2.0" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "node_modules/@floating-ui/react-dom": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.9.tgz", + "integrity": "sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==", "dependencies": { - "@types/estree": "*" + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, + "node_modules/@hono/node-server": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.11.1.tgz", + "integrity": "sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==", + "engines": { + "node": ">=18.14.1" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { - "@types/ms": "*" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "node_modules/@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { - "@types/estree": "*" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@types/unist": "*" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@types/katex": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.14.0.tgz", - "integrity": "sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==" + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/@types/mdast": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", - "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { - "@types/unist": "*" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "node_modules/@types/node": { - "version": "18.11.10", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", - "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "node_modules/@mdx-js/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@types/mdx": "^2.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/unified" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/react": ">=16", + "react": ">=16" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "node_modules/@mdx-js/rollup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-3.0.1.tgz", + "integrity": "sha512-j0II91OCm4ld+l5QVgXXMQGxVVcAWIQJakYWi1dv5pefDHASJyCYER2TsdH7Alf958GoFSM7ugukWyvDq/UY4A==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "@mdx-js/mdx": "^3.0.0", + "@rollup/pluginutils": "^5.0.0", + "source-map": "^0.7.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "rollup": ">=2" } }, - "node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": ">= 16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 8" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "brace-expansion": "^2.0.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 8" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" - }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=14" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "peer": true + "node_modules/@radix-ui/colors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-3.0.0.tgz", + "integrity": "sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==" }, - "node_modules/@vercel/analytics": { + "node_modules/@radix-ui/primitive": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.0.1.tgz", - "integrity": "sha512-Ux0c9qUfkcPqng3vrR0GTrlQdqNJ2JREn/2ydrVuKwM3RtMfF2mWX31Ijqo1opSjNAq6rK76PwtANw6kl6TAow==" - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@radix-ui/react-accordion": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz", + "integrity": "sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collapsible": "1.0.3", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@radix-ui/react-collapsible": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", + "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==" - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true } - ] - }, - "node_modules/arg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-1.0.0.tgz", - "integrity": "sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==" + } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "^2.0.3" + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/array-buffer-byte-length": { + "node_modules/@radix-ui/react-direction": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "@babel/runtime": "^7.13.10" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "node_modules/@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.4.tgz", + "integrity": "sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "node_modules/@radix-ui/react-popover": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", + "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/array.prototype.tosorted": { + "node_modules/@radix-ui/react-popper": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "bin": { - "astring": "bin/astring" + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "dependencies": { - "possible-typed-array-names": "^1.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", - "engines": { - "node": ">=4" + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "dependencies": { - "dequal": "^2.0.3" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/@radix-ui/react-tabs": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz", + "integrity": "sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", "dependencies": { - "fill-range": "^7.0.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", "dependencies": { - "streamsearch": "^1.1.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" }, - "engines": { - "node": ">=10.16.0" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "@babel/runtime": "^7.13.10" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001513", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001513.tgz", - "integrity": "sha512-pnjGJo7SOOjAGytZZ203Em95MRM8Cr6jhCXNF/FAXTpCTRTECnqQWLpiTRqrFtdYcth8hf4WECUpkezuYsMVww==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true } - ] - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", "dependencies": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/clipboardy": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.2.tgz", - "integrity": "sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==", + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", "dependencies": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", "dependencies": { - "color-name": "1.1.3" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" } }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/@remix-run/router": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", + "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==", "engines": { - "node": ">= 12" - } - }, - "node_modules/compute-scroll-into-view": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", - "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "dependencies": { - "layout-base": "^1.0.0" + "node": ">=14.0.0" } }, - "node_modules/cross-spawn": { + "node_modules/@rollup/pluginutils": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/cytoscape": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", - "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", - "dependencies": { - "heap": "^0.2.6", - "lodash": "^4.17.21" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "dependencies": { - "cose-base": "^1.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", - "dependencies": { - "cose-base": "^2.2.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, - "peerDependencies": { - "cytoscape": "^3.2.0" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/cytoscape-fcose/node_modules/cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "dependencies": { - "layout-base": "^2.0.0" - } + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, - "node_modules/cytoscape-fcose/node_modules/layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" - }, - "node_modules/d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.4.0.tgz", + "integrity": "sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==" }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "node_modules/@shikijs/rehype": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-1.4.0.tgz", + "integrity": "sha512-Ba6QHYx+EIEvmqyNy/B49KAz3rXsTfAqYRY3KTZjPWonytokGOiJ1q/FV9l13D/ad6Qv+eWKhkAz6ITxx6ziFA==", "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" + "@shikijs/transformers": "1.4.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.0", + "shiki": "1.4.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" } }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "node_modules/@shikijs/transformers": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.4.0.tgz", + "integrity": "sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==", "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" + "shiki": "1.4.0" } }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" + "node_modules/@shikijs/twoslash": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-1.4.0.tgz", + "integrity": "sha512-MeyA2XAMXOWaeF2Fzn+7uxc7lRy0MIUjq4+v6BCGReHYDWlKSGmKiogaHWdNznMxkzNwTVO9TjHW0NDMH7Yjmg==", + "dependencies": { + "@shikijs/core": "1.4.0", + "twoslash": "^0.2.5" } }, - "node_modules/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" + "@types/estree": "*" } }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "engines": { - "node": ">=12" + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" + "@babel/types": "^7.0.0" } }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "engines": { - "node": ">=12" + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dependencies": { + "@babel/types": "^7.20.7" } }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "engines": { - "node": ">=12" + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" } }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "engines": { - "node": ">=12" - } + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" + "@types/estree": "*" } }, - "node_modules/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" + "@types/unist": "*" } }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "engines": { - "node": ">=12" + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" } }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" + "undici-types": "~5.26.4" } }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.1.tgz", + "integrity": "sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==", "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@typescript/vfs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.5.0.tgz", + "integrity": "sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==", "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" + "debug": "^4.1.1" } }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@vanilla-extract/babel-plugin-debug-ids": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.5.tgz", + "integrity": "sha512-Rc9A6ylsw7EBErmpgqCMvc/Z/eEZxI5k1xfLQHw7f5HHh3oc5YfzsAsYU/PdmSNjF1dp3sGEViBdDltvwnfVaA==", + "dependencies": { + "@babel/core": "^7.23.9" } }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "node_modules/@vanilla-extract/css": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.15.1.tgz", + "integrity": "sha512-puAfTKAUtsMr2+D+grQNjU5umsdw9zdVgQflUlbzS/tGORaAHdgaYz7jfKPmz1c4ZcpJ6uFNOiI50NDOAzzhyg==", "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.4", + "css-what": "^6.1.0", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "dedent": "^1.5.1", + "deep-object-diff": "^1.1.9", + "deepmerge": "^4.2.2", + "media-query-parser": "^2.0.2", + "modern-ahocorasick": "^1.0.0", + "picocolors": "^1.0.0" } }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "node_modules/@vanilla-extract/dynamic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/dynamic/-/dynamic-2.1.0.tgz", + "integrity": "sha512-8zl0IgBYRtgD1h+56Zu13wHTiMTJSVEa4F7RWX9vTB/5Xe2KtjoiqApy/szHPVFA56c+ex6A4GpCQjT1bKXbYw==", "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" + "@vanilla-extract/private": "^1.0.3" } }, - "node_modules/dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "node_modules/@vanilla-extract/integration": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.5.0.tgz", + "integrity": "sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==", "dependencies": { - "d3": "^7.8.2", - "lodash-es": "^4.17.21" + "@babel/core": "^7.20.7", + "@babel/plugin-syntax-typescript": "^7.20.0", + "@vanilla-extract/babel-plugin-debug-ids": "^1.0.4", + "@vanilla-extract/css": "^1.14.0", + "esbuild": "npm:esbuild@~0.17.6 || ~0.18.0 || ~0.19.0", + "eval": "0.1.8", + "find-up": "^5.0.0", + "javascript-stringify": "^2.0.1", + "lodash": "^4.17.21", + "mlly": "^1.4.2", + "outdent": "^0.8.0", + "vite": "^5.0.11", + "vite-node": "^1.2.0" } }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "node_modules/@vanilla-extract/private": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.4.tgz", + "integrity": "sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==" }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "node_modules/@vanilla-extract/vite-plugin": { + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.9.5.tgz", + "integrity": "sha512-CWI/CtrVW6i3HKccI6T7uGQkTJ8bd8Xl2UMBg3Pkr7dwWMmavXTeucV0I9KSbmXaYXSbEj+Q8c9y0xAZwtmTig==", "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "@vanilla-extract/integration": "^6.3.0", + "outdent": "^0.8.0", + "postcss": "^8.3.6", + "postcss-load-config": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "vite": "^2.2.3 || ^3.0.0 || ^4.0.3 || ^5.0.0" } }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "node_modules/@vitejs/plugin-react": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.0.tgz", + "integrity": "sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "@babel/core": "^7.23.3", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.4", + "react-refresh": "^0.14.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || >=16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.4.0" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "peer": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", - "dependencies": { - "robust-predicates": "^3.0.0" - } + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "engines": { - "node": ">=0.3.1" - } + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", "dependencies": { - "path-type": "^4.0.0" + "tslib": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "peer": true, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "esutils": "^2.0.2" + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==" - }, - "node_modules/elkjs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "node_modules/es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" + "balanced-match": "^1.0.0" } }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "es-errors": "^1.3.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "hasown": "^2.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 6" } }, - "node_modules/eslint-config-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz", - "integrity": "sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==", - "dependencies": { - "@next/eslint-plugin-next": "13.5.6", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true + "node_modules/caniuse-lite": { + "version": "1.0.30001614", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz", + "integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } + ] }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "debug": "^3.2.7" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "node": ">= 8.10.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://paulmillr.com/funding/" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } + "node_modules/chroma-js": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", + "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dependencies": { - "esutils": "^2.0.2" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "peer": true + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dependencies": { - "color-name": "~1.1.4" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8.0" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" }, - "node_modules/eslint/node_modules/cross-spawn": { + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/create-vocs": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/create-vocs/-/create-vocs-1.0.0-alpha.5.tgz", + "integrity": "sha512-/Nr9taHX1SxL5t72DLFPYujqD8d5PDk0T8bJ9Fb/m7ck1lP20PBxHzF5IYnHI0BeTpIuGk/MQoLfT6JKpY6xnw==", + "dependencies": { + "@clack/prompts": "^0.7.0", + "cac": "^6.7.14", + "detect-package-manager": "^3.0.1", + "fs-extra": "^11.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "create-vocs": "_lib/bin.js" + } + }, + "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2590,161 +2778,278 @@ "node": ">= 8" } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true, + "node_modules/css-selector-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.5.tgz", + "integrity": "sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { - "node": ">=10" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "peer": true, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "argparse": "^2.0.1" + "ms": "2.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/eslint/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "peer": true, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/shebang-command": { + "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "peer": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "peer": true, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">=8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "peer": true, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-package-manager": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.1.tgz", + "integrity": "sha512-qoHDH6+lMcpJPAScE7+5CYj91W0mxZNXTwZPrCqi1KMk+x+AoQScQ2V1QyqTln1rHU5Haq5fikvOGHv+leKD8A==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "execa": "^5.1.1" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "peer": true, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dequal": "^2.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "bin": { + "direction": "cli.js" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.751", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.751.tgz", + "integrity": "sha512-2DEPi++qa89SMGRhufWTiLmzqyuGmNF3SK4+PQetW1JKiZdEpF4XQonJXJCzyuYSA6mauiMhbyVhqYAP45Hvfw==" + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "peer": true, - "dependencies": { - "estraverse": "^5.2.0" + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=4.0" + "node": ">=0.8.0" } }, "node_modules/estree-util-attach-comments": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", - "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", "dependencies": { "@types/estree": "^1.0.0" }, @@ -2754,12 +3059,13 @@ } }, "node_modules/estree-util-build-jsx": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", - "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", "dependencies": { "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" }, "funding": { @@ -2768,18 +3074,18 @@ } }, "node_modules/estree-util-is-identifier-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", - "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/estree-util-to-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", - "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", @@ -2791,23 +3097,24 @@ } }, "node_modules/estree-util-value-to-estree": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz", - "integrity": "sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.1.tgz", + "integrity": "sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==", "dependencies": { - "is-plain-obj": "^3.0.0" + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" }, - "engines": { - "node": ">=12.0.0" + "funding": { + "url": "https://github.com/sponsors/remcohaszing" } }, "node_modules/estree-util-visit": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", - "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", "dependencies": { "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", @@ -2822,52 +3129,52 @@ "@types/estree": "^1.0.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "@types/node": "*", + "require-like": ">= 0.1.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { - "is-extendable": "^0.1.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "peer": true + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -2884,29 +3191,6 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "peer": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "peer": true - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -2915,16 +3199,16 @@ "reusify": "^1.0.4" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", "dependencies": { - "flat-cache": "^3.0.4" + "format": "^0.2.0" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, "node_modules/fill-range": { @@ -2942,7 +3226,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2954,150 +3237,119 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "peer": true, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "peer": true - }, - "node_modules/flexsearch": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.31.tgz", - "integrity": "sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==" - }, - "node_modules/focus-visible": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz", - "integrity": "sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node": ">=14" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", - "dependencies": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" } }, - "node_modules/git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", - "dependencies": { - "git-up": "^7.0.0" + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/github-slugger": { @@ -3106,214 +3358,74 @@ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "peer": true, + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dependencies": { - "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", - "slash": "^3.0.0" + "slash": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "peer": true - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-obj": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hash-obj/-/hash-obj-4.0.0.tgz", - "integrity": "sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==", - "dependencies": { - "is-obj": "^3.0.0", - "sort-keys": "^5.0.0", - "type-fest": "^1.0.2" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/hasown": { @@ -3327,87 +3439,88 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-from-dom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz", - "integrity": "sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==", + "node_modules/hast-util-classnames": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-classnames/-/hast-util-classnames-3.0.0.tgz", + "integrity": "sha512-tI3JjoGDEBVorMAWK4jNRsfLMYmih1BUOG3VV36pH36njs1IEl7xkNrVTD2mD2yYHmQCa5R/fj61a8IAF4bRaQ==", "dependencies": { - "hastscript": "^7.0.0", - "web-namespaces": "^2.0.0" + "@types/hast": "^3.0.0", + "space-separated-tokens": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-1.0.2.tgz", - "integrity": "sha512-LhrTA2gfCbLOGJq2u/asp4kwuG0y6NhWTXiPKP+n0qNukKy7hc10whqqCFfyvIA1Q5U5d0sp9HhNim9gglEH4A==", + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^7.0.0", - "parse5": "^7.0.0", - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-1.0.0.tgz", - "integrity": "sha512-Yu480AKeOEN/+l5LA674a+7BmIvtDj24GvOt7MtQWuhzUwlaaRWdEPXAh3Qm5vhuthpAipFb2vTetKXWOjmTvw==", + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-dom": "^4.0.0", - "hast-util-from-html": "^1.0.0", - "unist-util-remove-position": "^4.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", - "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", - "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "web-namespaces": "^2.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-is-element": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", - "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-parse-selector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", - "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "node_modules/hast-util-select": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.2.tgz", + "integrity": "sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==", "dependencies": { - "@types/hast": "^2.0.0" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" }, "funding": { "type": "opencollective", @@ -3415,24 +3528,25 @@ } }, "node_modules/hast-util-to-estree": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", - "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", + "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.1", - "unist-util-position": "^4.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" }, "funding": { @@ -3440,15 +3554,51 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-text": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz", - "integrity": "sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==", + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "unist-util-find-after": "^4.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", @@ -3456,22 +3606,25 @@ } }, "node_modules/hast-util-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", - "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/hastscript": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", - "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", "dependencies": { - "@types/hast": "^2.0.0", + "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", + "hast-util-parse-selector": "^4.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0" }, @@ -3480,22 +3633,56 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + "node_modules/hono": { + "version": "3.12.12", + "resolved": "https://registry.npmjs.org/hono/-/hono-3.12.12.tgz", + "integrity": "sha512-5IAMJOXfpA5nT+K0MNjClchzz0IhBHs2Szl7WFAhrFOsbtQsYmNynFyJRg/a3IPsmCfxcrf8txUGiNShXpK5Rg==", + "engines": { + "node": ">=16.0.0" + } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -3504,40 +3691,6 @@ "node": ">= 4" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "peer": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -3548,32 +3701,14 @@ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" + "loose-envify": "^1.0.0" } }, - "node_modules/intersection-observer": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", - "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==" - }, "node_modules/is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -3596,59 +3731,15 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/is-buffer": { @@ -3673,17 +3764,6 @@ "node": ">=4" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -3695,34 +3775,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-decimal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", @@ -3732,14 +3784,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3747,290 +3791,128 @@ "engines": { "node": ">=0.10.0" } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz", - "integrity": "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", - "dependencies": { - "protocols": "^2.0.1" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.4" - }, + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dependencies": { - "which-typed-array": "^1.1.14" - }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.12.0" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", "dependencies": { - "call-bind": "^1.0.2" + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" } }, "node_modules/js-tokens": { @@ -4038,150 +3920,59 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "bin": { - "js-yaml": "bin/js-yaml.js" + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "peer": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "peer": true - }, "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dependencies": { - "minimist": "^1.2.0" - }, + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/katex": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.8.tgz", - "integrity": "sha512-ftuDnJbcbOckGY11OO+zg3OofESlbR5DRl2cmN8HeWeeFIV7wTXvAOx8kEjZjobhA+9wh2fbKeO6cdcA9Mnovg==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "commander": "^8.3.0" + "universalify": "^2.0.0" }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", "engines": { - "node": ">=6" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dependencies": { - "language-subtag-registry": "^0.3.20" + "node": ">=14" }, - "engines": { - "node": ">=0.10" + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -4197,21 +3988,31 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "peer": true + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, "node_modules/longest-streak": { "version": "3.1.0", @@ -4234,20 +4035,27 @@ } }, "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, "node_modules/markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", "engines": { - "node": ">=0.10.0" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/markdown-table": { @@ -4259,23 +4067,19 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "node_modules/mdast-util-definitions": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", - "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" }, "funding": { "type": "opencollective", @@ -4283,55 +4087,94 @@ } }, "node_modules/mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", "dependencies": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4339,14 +4182,15 @@ } }, "node_modules/mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", "dependencies": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4354,13 +4198,15 @@ } }, "node_modules/mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4368,12 +4214,13 @@ } }, "node_modules/mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4381,14 +4228,15 @@ } }, "node_modules/mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", "dependencies": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4396,26 +4244,14 @@ } }, "node_modules/mdast-util-gfm-task-list-item": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-math": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz", - "integrity": "sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4423,15 +4259,15 @@ } }, "node_modules/mdast-util-mdx": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", - "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4439,15 +4275,16 @@ } }, "node_modules/mdast-util-mdx-expression": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", - "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", "dependencies": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4455,22 +4292,23 @@ } }, "node_modules/mdast-util-mdx-jsx": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", - "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", "dependencies": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "ccount": "^2.0.0", - "mdast-util-from-markdown": "^1.1.0", - "mdast-util-to-markdown": "^1.3.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", @@ -4478,15 +4316,16 @@ } }, "node_modules/mdast-util-mdxjs-esm": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", - "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", "dependencies": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4494,12 +4333,12 @@ } }, "node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", @@ -4507,18 +4346,19 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", - "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", @@ -4526,17 +4366,17 @@ } }, "node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" }, "funding": { @@ -4545,17 +4385,30 @@ } }, "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "dependencies": { - "@types/mdast": "^3.0.0" + "@types/mdast": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, + "node_modules/media-query-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", + "dependencies": { + "@babel/runtime": "^7.12.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -4564,34 +4417,10 @@ "node": ">= 8" } }, - "node_modules/mermaid": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.2.4.tgz", - "integrity": "sha512-zHGjEI7lBvWZX+PQYmlhSA2p40OzW6QbGodTCSzDeVpqaTnyAC+2sRGqrpXO+uQk3CnoeClHQPraQUMStdqy2g==", - "dependencies": { - "@braintree/sanitize-url": "^6.0.2", - "cytoscape": "^3.23.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.1.0", - "d3": "^7.4.0", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "3.0.3", - "elkjs": "^0.8.2", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "funding": [ { "type": "GitHub Sponsors", @@ -4606,26 +4435,26 @@ "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", "funding": [ { "type": "GitHub Sponsors", @@ -4637,37 +4466,70 @@ } ], "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, "node_modules/micromark-extension-gfm": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", - "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", "dependencies": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4675,14 +4537,14 @@ } }, "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", - "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4690,18 +4552,18 @@ } }, "node_modules/micromark-extension-gfm-footnote": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", - "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4709,16 +4571,16 @@ } }, "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", - "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4726,15 +4588,15 @@ } }, "node_modules/micromark-extension-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", - "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4742,11 +4604,11 @@ } }, "node_modules/micromark-extension-gfm-tagfilter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", - "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", "dependencies": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4754,48 +4616,25 @@ } }, "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", - "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-math": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz", - "integrity": "sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", "dependencies": { - "@types/katex": "^0.16.0", - "katex": "^0.16.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-math/node_modules/@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==" - }, "node_modules/micromark-extension-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", - "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", "funding": [ { "type": "GitHub Sponsors", @@ -4808,30 +4647,30 @@ ], "dependencies": { "@types/estree": "^1.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-extension-mdx-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", - "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", "dependencies": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", @@ -4839,11 +4678,11 @@ } }, "node_modules/micromark-extension-mdx-md": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", - "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", "dependencies": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4851,18 +4690,18 @@ } }, "node_modules/micromark-extension-mdxjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", - "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4870,19 +4709,19 @@ } }, "node_modules/micromark-extension-mdxjs-esm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", - "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", "dependencies": { "@types/estree": "^1.0.0", - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", @@ -4890,9 +4729,9 @@ } }, "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "funding": [ { "type": "GitHub Sponsors", @@ -4904,15 +4743,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", "funding": [ { "type": "GitHub Sponsors", @@ -4924,16 +4763,16 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-mdx-expression": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", - "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", "funding": [ { "type": "GitHub Sponsors", @@ -4946,19 +4785,19 @@ ], "dependencies": { "@types/estree": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" } }, "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "funding": [ { "type": "GitHub Sponsors", @@ -4970,14 +4809,14 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", "funding": [ { "type": "GitHub Sponsors", @@ -4989,16 +4828,16 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "funding": [ { "type": "GitHub Sponsors", @@ -5010,16 +4849,16 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "funding": [ { "type": "GitHub Sponsors", @@ -5031,14 +4870,14 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "funding": [ { "type": "GitHub Sponsors", @@ -5050,13 +4889,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "funding": [ { "type": "GitHub Sponsors", @@ -5068,15 +4907,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "funding": [ { "type": "GitHub Sponsors", @@ -5088,14 +4927,14 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "funding": [ { "type": "GitHub Sponsors", @@ -5107,13 +4946,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "funding": [ { "type": "GitHub Sponsors", @@ -5126,15 +4965,15 @@ ], "dependencies": { "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", "funding": [ { "type": "GitHub Sponsors", @@ -5147,9 +4986,9 @@ ] }, "node_modules/micromark-util-events-to-acorn": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", - "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", "funding": [ { "type": "GitHub Sponsors", @@ -5163,18 +5002,18 @@ "dependencies": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", - "@types/unist": "^2.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" } }, "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", "funding": [ { "type": "GitHub Sponsors", @@ -5187,9 +5026,9 @@ ] }, "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "funding": [ { "type": "GitHub Sponsors", @@ -5201,13 +5040,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "funding": [ { "type": "GitHub Sponsors", @@ -5219,13 +5058,13 @@ } ], "dependencies": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "funding": [ { "type": "GitHub Sponsors", @@ -5237,15 +5076,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", "funding": [ { "type": "GitHub Sponsors", @@ -5257,16 +5096,16 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -5279,9 +5118,9 @@ ] }, "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", "funding": [ { "type": "GitHub Sponsors", @@ -5305,42 +5144,106 @@ "node": ">=8.6" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "brace-expansion": "^1.1.7" + "mime-db": "1.52.0" }, "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": ">=4" + "node": ">=16 || 14 >=14.17" } }, + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==" + }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/modern-ahocorasick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modern-ahocorasick/-/modern-ahocorasick-1.0.1.tgz", + "integrity": "sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==" + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -5354,177 +5257,60 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "peer": true - }, - "node_modules/next": { - "version": "13.4.9", - "license": "MIT", - "dependencies": { - "@next/env": "13.4.9", - "@swc/helpers": "0.5.1", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0", - "zod": "3.21.4" - }, - "bin": { - "next": "dist/bin/next" - }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { - "node": ">=16.8.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "13.4.9", - "@next/swc-darwin-x64": "13.4.9", - "@next/swc-linux-arm64-gnu": "13.4.9", - "@next/swc-linux-arm64-musl": "13.4.9", - "@next/swc-linux-x64-gnu": "13.4.9", - "@next/swc-linux-x64-musl": "13.4.9", - "@next/swc-win32-arm64-msvc": "13.4.9", - "@next/swc-win32-ia32-msvc": "13.4.9", - "@next/swc-win32-x64-msvc": "13.4.9" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "fibers": ">= 3.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "fibers": { - "optional": true - }, - "sass": { - "optional": true - } + "node": ">= 0.6" } }, - "node_modules/next-mdx-remote": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz", - "integrity": "sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==", - "dependencies": { - "@mdx-js/mdx": "^2.2.1", - "@mdx-js/react": "^2.2.1", - "vfile": "^5.3.0", - "vfile-matter": "^3.0.1" - }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { - "node": ">=14", - "npm": ">=7" - }, - "peerDependencies": { - "react": ">=16.x <=18.x", - "react-dom": ">=16.x <=18.x" + "node": ">=0.10.0" } }, - "node_modules/next-seo": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-6.1.0.tgz", - "integrity": "sha512-iMBpFoJsR5zWhguHJvsoBDxDSmdYTHtnVPB1ij+CD0NReQCP78ZxxbdL9qkKIf4oEuZEqZkrjAQLB0bkII7RYA==", - "peerDependencies": { - "next": "^8.1.1-canary.54 || >=9.0.0", - "react": ">=16.0.0", - "react-dom": ">=16.0.0" + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/next-themes": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", - "integrity": "sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==", - "peerDependencies": { - "next": "*", - "react": "*", - "react-dom": "*" - } + "node_modules/not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" }, - "node_modules/nextra": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nextra/-/nextra-2.8.0.tgz", - "integrity": "sha512-WyRNzw1IM/eF3M1H3LSsbZH97QsYYgj8upjx0f8hY6GspmPyPRAvBBscmXRt+7vye2oIYjfVwSiD1rj9amqq9Q==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { - "@mdx-js/mdx": "^2.3.0", - "@mdx-js/react": "^2.3.0", - "@napi-rs/simple-git": "^0.1.8", - "@theguild/remark-mermaid": "^0.0.3", - "clsx": "^1.2.1", - "github-slugger": "^2.0.0", - "graceful-fs": "^4.2.11", - "gray-matter": "^4.0.3", - "katex": "^0.16.7", - "lodash.get": "^4.4.2", - "next-mdx-remote": "^4.2.1", - "p-limit": "^3.1.0", - "rehype-katex": "^6.0.3", - "rehype-pretty-code": "0.9.9", - "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1", - "remark-reading-time": "^2.0.1", - "shiki": "^0.14.2", - "slash": "^3.0.0", - "title": "^3.5.3", - "unist-util-remove": "^3.1.1", - "unist-util-visit": "^4.1.1", - "zod": "^3.20.2" + "path-key": "^3.0.0" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "next": ">=9.5.3", - "react": ">=16.13.1", - "react-dom": ">=16.13.1" - } - }, - "node_modules/nextra-theme-docs": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nextra-theme-docs/-/nextra-theme-docs-2.8.0.tgz", - "integrity": "sha512-JoSAILDVp0GxeVWWZBFGoRijE2RcjZcXrMa47Fssi254T5wF+gm0HvEOSwrTaKaPaUL+IfshAiKglvXNKGzbNw==", - "dependencies": { - "@headlessui/react": "^1.7.10", - "@popperjs/core": "^2.11.6", - "clsx": "^1.2.1", - "flexsearch": "^0.7.21", - "focus-visible": "^5.2.0", - "git-url-parse": "^13.1.0", - "intersection-observer": "^0.12.2", - "match-sorter": "^6.3.1", - "next-seo": "^6.0.0", - "next-themes": "^0.2.1", - "scroll-into-view-if-needed": "^3.0.0", - "zod": "^3.20.2" - }, - "peerDependencies": { - "next": ">=9.5.3", - "nextra": "2.8.0", - "react": ">=16.13.1", - "react-dom": ">=16.13.1" + "node": ">=8" } }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==" - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dependencies": { - "path-key": "^2.0.0" + "boolbase": "^1.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, "node_modules/object-assign": { @@ -5535,146 +5321,84 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "engines": { - "node": ">= 0.4" + "node": ">= 6" } }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "ee-first": "1.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "engines": { - "node": ">= 0.4" + "node": ">= 0.8" } }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "node_modules/ora": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">= 0.4" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "engines": { - "node": ">=4" - } + "node_modules/outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" }, "node_modules/p-limit": { "version": "3.1.0", @@ -5694,7 +5418,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -5705,18 +5428,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "peer": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/parse-entities": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", @@ -5729,68 +5440,40 @@ "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "node_modules/parse-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", - "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", - "dependencies": { - "protocols": "^2.0.0" + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/parse-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", - "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", - "dependencies": { - "parse-path": "^7.0.0" - } + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" } }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-parse": { @@ -5798,6 +5481,29 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -5806,6 +5512,11 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, "node_modules/periscopic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", @@ -5832,18 +5543,36 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz", + "integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.6.1", + "pathe": "^1.1.2" } }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -5852,26 +5581,124 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "peer": true, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5883,33 +5710,14 @@ } }, "node_modules/property-information": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", - "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -5929,10 +5737,18 @@ } ] }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { "loose-envify": "^1.1.0" }, @@ -5941,15 +5757,48 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" }, "peerDependencies": { - "react": "^18.2.0" + "react": ">=16.3.0" + } + }, + "node_modules/react-intersection-observer": { + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.10.1.tgz", + "integrity": "sha512-ZseerLEOaZ2FFMtkjNd0RGzxKTiiIBGaXcR5buh3GSgtoInNCztHvCzgu5Gg2I2vUhF/EX1XJn95inZkp/K6xQ==", + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } } }, "node_modules/react-is": { @@ -5957,29 +5806,149 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", + "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", + "dependencies": { + "@remix-run/router": "1.16.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", + "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", + "dependencies": { + "@remix-run/router": "1.16.0", + "react-router": "6.23.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", + "peerDependencies": { + "react": "^16.3.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, "node_modules/regenerator-runtime": { @@ -5987,170 +5956,241 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-class-names": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/rehype-class-names/-/rehype-class-names-1.0.14.tgz", + "integrity": "sha512-eFBt6Qxb7K77y6P82tUtN9rKpU7guWlaK4XA4RrrSFHkUTCvr2D3cgb9OR5d4t1AaGOvR59FH9nRwUnbpn9AEg==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-classnames": "^3.0.0", + "hast-util-select": "^6.0.0", + "unified": "^10.1.2" + } + }, + "node_modules/rehype-class-names/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/rehype-class-names/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-class-names/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-class-names/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-katex": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-6.0.3.tgz", - "integrity": "sha512-ByZlRwRUcWegNbF70CVRm2h/7xy7jQ3R9LaY4VVSvjnoVWwWVhNL60DiZsBpC5tSzYQOCvDbzncIpIjPZWodZA==", + "node_modules/rehype-class-names/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/katex": "^0.14.0", - "hast-util-from-html-isomorphic": "^1.0.0", - "hast-util-to-text": "^3.1.0", - "katex": "^0.16.0", - "unist-util-visit": "^4.0.0" + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-pretty-code": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.9.tgz", - "integrity": "sha512-mlU2Qgupn9MMK31CTmWk0Ie5Vp0od+jh2vCkGDBMlPAMeAvYASn6Ois6xRmosutMT4yH/COc3R4r/PELpuUoWg==", + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", "dependencies": { - "@types/hast": "^2.0.0", - "hash-obj": "^4.0.0", - "parse-numeric-range": "^1.3.0" - }, - "engines": { - "node": ">=16" + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" }, - "peerDependencies": { - "shiki": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-math": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz", - "integrity": "sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==", + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-math": "^2.0.0", - "micromark-extension-math": "^2.0.0", - "unified": "^10.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", - "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", "dependencies": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-parse": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", - "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-reading-time": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-2.0.1.tgz", - "integrity": "sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==", + "node_modules/remark-mdx-frontmatter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-4.0.0.tgz", + "integrity": "sha512-PZzAiDGOEfv1Ua7exQ8S5kKxkD8CDaSb4nM+1Mprs6u8dyvQifakh+kCj6NovfGXW+bTvrhjaR3srzjS2qJHKg==", "dependencies": { - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-value-to-estree": "^1.3.0", - "reading-time": "^1.3.0", - "unist-util-visit": "^3.1.0" + "@types/mdast": "^4.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-value-to-estree": "^3.0.0", + "toml": "^3.0.0", + "unified": "^11.0.0", + "yaml": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" } }, - "node_modules/remark-reading-time/node_modules/unist-util-visit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", - "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^4.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-reading-time/node_modules/unist-util-visit-parents": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", - "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } }, "node_modules/resolve": { "version": "1.22.8", @@ -6168,21 +6208,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { + "node_modules/restore-cursor": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "peer": true, + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/reusify": { @@ -6194,26 +6232,40 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "peer": true, + "node_modules/rollup": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", "dependencies": { - "glob": "^7.1.3" + "@types/estree": "1.0.5" }, "bin": { - "rimraf": "bin.js" + "rollup": "dist/bin/rollup" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", + "fsevents": "~2.3.2" } }, - "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -6236,1075 +6288,1492 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { - "mri": "^1.1.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.4.0.tgz", + "integrity": "sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==", + "dependencies": { + "@shikijs/core": "1.4.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "bl": "^5.0.0" }, "engines": { - "node": ">=0.4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" } }, - "node_modules/scroll-into-view-if-needed": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz", - "integrity": "sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==", - "dependencies": { - "compute-scroll-into-view": "^3.0.2" + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" } }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" + "inline-style-parser": "0.1.1" } }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dependencies": { - "lru-cache": "^6.0.0" + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" }, "bin": { - "semver": "bin/semver.js" + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "yallist": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "node_modules/tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=14.0.0" } }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "shebang-regex": "^1.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/shiki": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.3.tgz", - "integrity": "sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==", + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "any-promise": "^1.0.0" } }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/sort-keys": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", - "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { - "is-plain-obj": "^4.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0" } }, - "node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.6" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "node_modules/twoslash": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.2.5.tgz", + "integrity": "sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "@typescript/vfs": "1.5.0", + "twoslash-protocol": "0.2.5" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/twoslash-protocol": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.2.5.tgz", + "integrity": "sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==" + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 0.4" + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dependencies": { - "ansi-regex": "^5.0.1" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "engines": { - "node": ">=0.10.0" + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "peer": true, - "engines": { - "node": ">=8" + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", "dependencies": { - "inline-style-parser": "0.1.1" + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "license": "MIT", + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", "dependencies": { - "client-only": "0.0.1" + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=10" }, "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { + "@types/react": { "optional": true } } }, - "node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "node_modules/supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==", - "dependencies": { - "has-flag": "^2.0.0" - }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "peer": true - }, - "node_modules/title": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/title/-/title-3.5.3.tgz", - "integrity": "sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==", + "node_modules/vite": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dependencies": { - "arg": "1.0.0", - "chalk": "2.3.0", - "clipboardy": "1.2.2", - "titleize": "1.0.0" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { - "title": "bin/title.js" - } - }, - "node_modules/titleize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-1.0.0.tgz", - "integrity": "sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==", + "vite": "bin/vite.js" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/vite-node": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", + "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", "dependencies": { - "is-number": "^7.0.0" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "node": "^18.0.0 || >=20.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/vitest" } }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" + "node": ">=12" } }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.10" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "node": ">=12" } }, - "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.8.0" + "node": ">=12" } }, - "node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" + "node": ">=12" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/typescript": { - "version": "4.9.5", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unist-util-find-after": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz", - "integrity": "sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-generated": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", - "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-position": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", - "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-position-from-estree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", - "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-remove": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-3.1.1.tgz", - "integrity": "sha512-kfCqZK5YVY5yEa89tvpl7KnBBHu2c6CzMkqHUrlOqaRgGOMp0sMvwWOVrbAtj03KhovQB7i96Gda72v/EFE0vw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-remove-position": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", - "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "peer": true, - "dependencies": { - "punycode": "^2.1.0" + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, "bin": { - "uvu": "bin.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=8" - } - }, - "node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/vocs": { + "version": "1.0.0-alpha.45", + "resolved": "https://registry.npmjs.org/vocs/-/vocs-1.0.0-alpha.45.tgz", + "integrity": "sha512-FUDuN6V0FwAlG8QAg7VHBm0LAGsvtVwxU2FGIW+eTiFQFuuzsV9Ojh4vg3aAYR3VcICL9w7ipsyt+7D0b3dJNw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "@floating-ui/react": "^0.26.6", + "@hono/node-server": "^1.2.3", + "@mdx-js/react": "^3.0.0", + "@mdx-js/rollup": "^3.0.0", + "@noble/hashes": "^1.3.2", + "@radix-ui/colors": "^3.0.0", + "@radix-ui/react-accordion": "^1.1.2", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-navigation-menu": "^1.1.4", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-tabs": "^1.0.4", + "@shikijs/rehype": "^1.1.2", + "@shikijs/transformers": "^1.1.2", + "@shikijs/twoslash": "^1.1.2", + "@vanilla-extract/css": "^1.14.0", + "@vanilla-extract/dynamic": "^2.1.0", + "@vanilla-extract/vite-plugin": "^3.9.4", + "@vitejs/plugin-react": "4.2.0", + "autoprefixer": "^10.4.16", + "cac": "^6.7.14", + "chroma-js": "^2.4.2", + "clsx": "^2.0.0", + "compression": "^1.7.4", + "create-vocs": "^1.0.0-alpha.4", + "cross-spawn": "^7.0.3", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "hastscript": "^8.0.0", + "hono": "^3.10.2", + "mark.js": "^8.11.1", + "mdast-util-directive": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm": "^3.0.0", + "mdast-util-to-hast": "^13.0.2", + "minimatch": "^9.0.3", + "minisearch": "^6.3.0", + "ora": "^7.0.1", + "postcss": "^8.4.31", + "react-helmet": "^6.1.0", + "react-intersection-observer": "^9.5.3", + "react-router-dom": "^6.20.0", + "rehype-autolink-headings": "^7.1.0", + "rehype-class-names": "^1.0.14", + "rehype-slug": "^6.0.0", + "remark-directive": "^3.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "remark-mdx-frontmatter": "^4.0.0", + "remark-parse": "^11.0.0", + "serve-static": "^1.15.0", + "shiki": "^1.1.2", + "tailwindcss": "^3.3.3", + "toml": "^3.0.0", + "twoslash": "~0.2.2", + "ua-parser-js": "^1.0.36", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "vite": "^5.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "vocs": "_lib/cli/index.js" + }, + "peerDependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" } }, - "node_modules/vfile-location": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", - "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" + "isexe": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/vfile-matter": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz", - "integrity": "sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dependencies": { - "@types/js-yaml": "^4.0.0", - "is-buffer": "^2.0.0", - "js-yaml": "^4.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/vfile-matter/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/vfile-matter/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "argparse": "^2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "node": ">=8" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "isexe": "^2.0.0" + "color-name": "~1.1.4" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "peer": true, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", + "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -7316,14 +7785,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", @@ -7335,284 +7796,583 @@ } }, "dependencies": { - "@babel/runtime": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==" + }, + "@babel/core": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", "requires": { - "regenerator-runtime": "^0.14.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" } }, - "@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "peer": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "peer": true - }, - "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "peer": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "peer": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - } + "@babel/generator": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "requires": { + "@babel/types": "^7.24.5", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" } }, - "@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "peer": true + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" }, - "@headlessui/react": { - "version": "1.7.15", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.15.tgz", - "integrity": "sha512-OTO0XtoRQ6JPB1cKNFYBZv2Q0JMqMGNhYP1CjPvcJvjz8YGokz8oAj89HIYZGN0gZzn/4kk9iUpmMF4Q21Gsqw==", + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "client-only": "^0.0.1" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, - "@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "peer": true, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@babel/types": "^7.22.5" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "peer": true + "@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "requires": { + "@babel/types": "^7.24.0" + } }, - "@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "peer": true + "@babel/helper-module-transforms": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", + "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-simple-access": "^7.24.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/helper-validator-identifier": "^7.24.5" + } }, - "@mdx-js/mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", - "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "@babel/helper-plugin-utils": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", + "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==" + }, + "@babel/helper-simple-access": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", + "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/mdx": "^2.0.0", - "estree-util-build-jsx": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-to-js": "^1.1.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^2.0.0", - "markdown-extensions": "^1.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^2.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "unified": "^10.0.0", - "unist-util-position-from-estree": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" + "@babel/types": "^7.24.5" } }, - "@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "@babel/helper-split-export-declaration": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", "requires": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" + "@babel/types": "^7.24.5" } }, - "@napi-rs/simple-git": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git/-/simple-git-0.1.8.tgz", - "integrity": "sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==", - "requires": { - "@napi-rs/simple-git-android-arm-eabi": "0.1.8", - "@napi-rs/simple-git-android-arm64": "0.1.8", - "@napi-rs/simple-git-darwin-arm64": "0.1.8", - "@napi-rs/simple-git-darwin-x64": "0.1.8", - "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.8", - "@napi-rs/simple-git-linux-arm64-gnu": "0.1.8", - "@napi-rs/simple-git-linux-arm64-musl": "0.1.8", - "@napi-rs/simple-git-linux-x64-gnu": "0.1.8", - "@napi-rs/simple-git-linux-x64-musl": "0.1.8", - "@napi-rs/simple-git-win32-arm64-msvc": "0.1.8", - "@napi-rs/simple-git-win32-x64-msvc": "0.1.8" - } - }, - "@napi-rs/simple-git-android-arm-eabi": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.8.tgz", - "integrity": "sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==", + "@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==" + }, + "@babel/helper-validator-identifier": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==" + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + }, + "@babel/helpers": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", + "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5" + } + }, + "@babel/highlight": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "requires": { + "@babel/helper-validator-identifier": "^7.24.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==" + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", + "integrity": "sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", + "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/runtime": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", + "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", + "requires": { + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/types": "^7.24.5", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "requires": { + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", + "to-fast-properties": "^2.0.0" + } + }, + "@clack/core": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.4.tgz", + "integrity": "sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==", + "requires": { + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + } + }, + "@clack/prompts": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.7.0.tgz", + "integrity": "sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==", + "requires": { + "@clack/core": "^0.3.3", + "is-unicode-supported": "*", + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + }, + "dependencies": { + "is-unicode-supported": { + "version": "1.3.0", + "bundled": true + } + } + }, + "@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "optional": true }, - "@napi-rs/simple-git-android-arm64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.8.tgz", - "integrity": "sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==", + "@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "optional": true }, - "@napi-rs/simple-git-darwin-arm64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.8.tgz", - "integrity": "sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==", + "@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "optional": true }, - "@napi-rs/simple-git-darwin-x64": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.8.tgz", - "integrity": "sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==", + "@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "optional": true }, - "@napi-rs/simple-git-linux-arm-gnueabihf": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.8.tgz", - "integrity": "sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==", + "@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "optional": true }, - "@napi-rs/simple-git-linux-arm64-gnu": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.8.tgz", - "integrity": "sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==", + "@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "optional": true }, - "@napi-rs/simple-git-linux-arm64-musl": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.8.tgz", - "integrity": "sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==", + "@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "optional": true }, - "@napi-rs/simple-git-linux-x64-gnu": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.8.tgz", - "integrity": "sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==", + "@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "optional": true }, - "@napi-rs/simple-git-linux-x64-musl": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.8.tgz", - "integrity": "sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==", + "@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "optional": true }, - "@napi-rs/simple-git-win32-arm64-msvc": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.8.tgz", - "integrity": "sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==", + "@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "optional": true }, - "@napi-rs/simple-git-win32-x64-msvc": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.8.tgz", - "integrity": "sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==", + "@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "optional": true }, - "@next/env": { - "version": "13.4.9" + "@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "optional": true + }, + "@floating-ui/core": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", + "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "requires": { + "@floating-ui/utils": "^0.2.0" + } + }, + "@floating-ui/dom": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.4.tgz", + "integrity": "sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==", + "requires": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "@floating-ui/react": { + "version": "0.26.13", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.13.tgz", + "integrity": "sha512-kBa9wntpugzrZ8t/4yWelvSmEKZdeTXTJzrxqyrLmcU/n1SM4nvse8yQh2e1b37rJGvtu0EplV9+IkBrCJ1vkw==", + "requires": { + "@floating-ui/react-dom": "^2.0.0", + "@floating-ui/utils": "^0.2.0", + "tabbable": "^6.0.0" + } + }, + "@floating-ui/react-dom": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.9.tgz", + "integrity": "sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==", + "requires": { + "@floating-ui/dom": "^1.0.0" + } + }, + "@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, + "@hono/node-server": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.11.1.tgz", + "integrity": "sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + } + } }, - "@next/eslint-plugin-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz", - "integrity": "sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "requires": { - "glob": "7.1.7" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@next/swc-darwin-arm64": { - "version": "13.4.9", - "optional": true - }, - "@next/swc-darwin-x64": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.9.tgz", - "integrity": "sha512-aSfF1fhv28N2e7vrDZ6zOQ+IIthocfaxuMWGReB5GDriF0caTqtHttAvzOMgJgXQtQx6XhyaJMozLTSEXeNN+A==", - "optional": true + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" }, - "@next/swc-linux-arm64-gnu": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.9.tgz", - "integrity": "sha512-JhKoX5ECzYoTVyIy/7KykeO4Z2lVKq7HGQqvAH+Ip9UFn1MOJkOnkPRB7v4nmzqAoY+Je05Aj5wNABR1N18DMg==", - "optional": true + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" }, - "@next/swc-linux-arm64-musl": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.9.tgz", - "integrity": "sha512-OOn6zZBIVkm/4j5gkPdGn4yqQt+gmXaLaSjRSO434WplV8vo2YaBNbSHaTM9wJpZTHVDYyjzuIYVEzy9/5RVZw==", - "optional": true + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "@next/swc-linux-x64-gnu": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.9.tgz", - "integrity": "sha512-iA+fJXFPpW0SwGmx/pivVU+2t4zQHNOOAr5T378PfxPHY6JtjV6/0s1vlAJUdIHeVpX98CLp9k5VuKgxiRHUpg==", - "optional": true + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, - "@next/swc-linux-x64-musl": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.9.tgz", - "integrity": "sha512-rlNf2WUtMM+GAQrZ9gMNdSapkVi3koSW3a+dmBVp42lfugWVvnyzca/xJlN48/7AGx8qu62WyO0ya1ikgOxh6A==", - "optional": true + "@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "requires": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + } }, - "@next/swc-win32-arm64-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.9.tgz", - "integrity": "sha512-5T9ybSugXP77nw03vlgKZxD99AFTHaX8eT1ayKYYnGO9nmYhJjRPxcjU5FyYI+TdkQgEpIcH7p/guPLPR0EbKA==", - "optional": true + "@mdx-js/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", + "requires": { + "@types/mdx": "^2.0.0" + } }, - "@next/swc-win32-ia32-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.9.tgz", - "integrity": "sha512-ojZTCt1lP2ucgpoiFgrFj07uq4CZsq4crVXpLGgQfoFq00jPKRPgesuGPaz8lg1yLfvafkU3Jd1i8snKwYR3LA==", - "optional": true + "@mdx-js/rollup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-3.0.1.tgz", + "integrity": "sha512-j0II91OCm4ld+l5QVgXXMQGxVVcAWIQJakYWi1dv5pefDHASJyCYER2TsdH7Alf958GoFSM7ugukWyvDq/UY4A==", + "requires": { + "@mdx-js/mdx": "^3.0.0", + "@rollup/pluginutils": "^5.0.0", + "source-map": "^0.7.0", + "vfile": "^6.0.0" + } }, - "@next/swc-win32-x64-msvc": { - "version": "13.4.9", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.9.tgz", - "integrity": "sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw==", - "optional": true + "@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, "@nodelib/fs.scandir": { "version": "2.1.5", @@ -7637,1623 +8397,1311 @@ "fastq": "^1.6.0" } }, - "@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true }, - "@rushstack/eslint-patch": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz", - "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==" + "@radix-ui/colors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-3.0.0.tgz", + "integrity": "sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==" }, - "@swc/helpers": { - "version": "0.5.1", + "@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", "requires": { - "tslib": "^2.4.0" + "@babel/runtime": "^7.13.10" } }, - "@theguild/remark-mermaid": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@theguild/remark-mermaid/-/remark-mermaid-0.0.3.tgz", - "integrity": "sha512-fccVR6o4UPUztrBjdUhM4ahwx+X7YHhoxsUoXv2vI07vz4dq+I03Ot0SjuZzDA/H7engxcb8ZxzCUEkZgGr/2g==", + "@radix-ui/react-accordion": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz", + "integrity": "sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collapsible": "1.0.3", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", "requires": { - "mermaid": "^10.2.2", - "unist-util-visit": "^4.1.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" } }, - "@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "@radix-ui/react-collapsible": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz", + "integrity": "sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==", "requires": { - "@types/estree": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" } }, - "@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", "requires": { - "@types/ms": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" } }, - "@types/estree": { + "@radix-ui/react-compose-refs": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", - "requires": { - "@types/estree": "*" - } - }, - "@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "requires": { - "@types/unist": "*" - } - }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/katex": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.14.0.tgz", - "integrity": "sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==" - }, - "@types/mdast": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", - "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", "requires": { - "@types/unist": "*" + "@babel/runtime": "^7.13.10" } }, - "@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "@types/node": { - "version": "18.11.10", - "dev": true - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/react": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", - "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", + "@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@babel/runtime": "^7.13.10" } }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", "requires": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" + "@babel/runtime": "^7.13.10" } }, - "@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", "requires": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" } }, - "@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==" - }, - "@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", "requires": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "requires": { - "brace-expansion": "^2.0.1" - } - } + "@babel/runtime": "^7.13.10" } }, - "@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", "requires": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" } }, - "@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "peer": true - }, - "@vercel/analytics": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.0.1.tgz", - "integrity": "sha512-Ux0c9qUfkcPqng3vrR0GTrlQdqNJ2JREn/2ydrVuKwM3RtMfF2mWX31Ijqo1opSjNAq6rK76PwtANw6kl6TAow==" - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", "requires": {} }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "peer": true - }, - "ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", "requires": { - "color-convert": "^1.9.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" } }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" - }, - "arg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-1.0.0.tgz", - "integrity": "sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", "requires": { - "sprintf-js": "~1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" } }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "@radix-ui/react-navigation-menu": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.1.4.tgz", + "integrity": "sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + } + }, + "@radix-ui/react-popover": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", + "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-popper": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "requires": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + } + }, + "@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", "requires": { - "dequal": "^2.0.3" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" } }, - "array-buffer-byte-length": { + "@radix-ui/react-presence": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "requires": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - } - }, - "array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" } }, - "array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" } }, - "array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" } }, - "array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "@radix-ui/react-tabs": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.4.tgz", + "integrity": "sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1" } }, - "array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@babel/runtime": "^7.13.10" } }, - "array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" } }, - "arraybuffer.prototype.slice": { + "@radix-ui/react-use-escape-keydown": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" } }, - "ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" - }, - "astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", "requires": { - "possible-typed-array-names": "^1.0.0" + "@babel/runtime": "^7.13.10" } }, - "axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==" - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", "requires": { - "dequal": "^2.0.3" + "@babel/runtime": "^7.13.10" } }, - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", "requires": { - "fill-range": "^7.0.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" } }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", "requires": { - "streamsearch": "^1.1.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" } }, - "call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "@babel/runtime": "^7.13.10" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "peer": true - }, - "caniuse-lite": { - "version": "1.0.30001513", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001513.tgz", - "integrity": "sha512-pnjGJo7SOOjAGytZZ203Em95MRM8Cr6jhCXNF/FAXTpCTRTECnqQWLpiTRqrFtdYcth8hf4WECUpkezuYsMVww==" - }, - "ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + "@remix-run/router": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz", + "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==" }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" } } }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" + "@rollup/rollup-android-arm-eabi": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "optional": true }, - "character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" + "@rollup/rollup-android-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "optional": true }, - "character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" + "@rollup/rollup-darwin-arm64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "optional": true }, - "character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" + "@rollup/rollup-darwin-x64": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "optional": true }, - "client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "optional": true }, - "clipboardy": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.2.tgz", - "integrity": "sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==", - "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" - } + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "optional": true }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "optional": true }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } + "@rollup/rollup-linux-arm64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "optional": true }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "optional": true }, - "comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "optional": true }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "optional": true }, - "compute-scroll-into-view": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", - "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" + "@rollup/rollup-linux-x64-musl": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "optional": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "optional": true }, - "cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "requires": { - "layout-base": "^1.0.0" - } + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "optional": true }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } + "@rollup/rollup-win32-x64-msvc": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "optional": true }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "@shikijs/core": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.4.0.tgz", + "integrity": "sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==" }, - "cytoscape": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", - "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", + "@shikijs/rehype": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-1.4.0.tgz", + "integrity": "sha512-Ba6QHYx+EIEvmqyNy/B49KAz3rXsTfAqYRY3KTZjPWonytokGOiJ1q/FV9l13D/ad6Qv+eWKhkAz6ITxx6ziFA==", "requires": { - "heap": "^0.2.6", - "lodash": "^4.17.21" + "@shikijs/transformers": "1.4.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.0", + "shiki": "1.4.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" } }, - "cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "@shikijs/transformers": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.4.0.tgz", + "integrity": "sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==", "requires": { - "cose-base": "^1.0.0" + "shiki": "1.4.0" } }, - "cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "@shikijs/twoslash": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@shikijs/twoslash/-/twoslash-1.4.0.tgz", + "integrity": "sha512-MeyA2XAMXOWaeF2Fzn+7uxc7lRy0MIUjq4+v6BCGReHYDWlKSGmKiogaHWdNznMxkzNwTVO9TjHW0NDMH7Yjmg==", "requires": { - "cose-base": "^2.2.0" - }, - "dependencies": { - "cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "requires": { - "layout-base": "^2.0.0" - } - }, - "layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" - } + "@shikijs/core": "1.4.0", + "twoslash": "^0.2.5" } }, - "d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "requires": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - } - }, - "d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "requires": { - "internmap": "1 - 2" - } - }, - "d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==" - }, - "d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" + "@types/estree": "*" } }, - "d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "requires": { - "d3-path": "1 - 3" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" - }, - "d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "requires": { - "d3-array": "^3.2.0" + "@babel/types": "^7.0.0" } }, - "d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "requires": { - "delaunator": "5" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" - }, - "d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "requires": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" + "@babel/types": "^7.20.7" } }, - "d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "requires": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } + "@types/ms": "*" } }, - "d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" - }, - "d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "requires": { - "d3-dsv": "1 - 3" - } + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, - "d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "requires": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" + "@types/estree": "*" } }, - "d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" - }, - "d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "requires": { - "d3-array": "2.5.0 - 3" + "@types/unist": "*" } }, - "d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==" - }, - "d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "requires": { - "d3-color": "1 - 3" + "@types/unist": "*" } }, - "d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==" - }, - "d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==" - }, - "d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" + "@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==" }, - "d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==" + "@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, - "d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "@types/node": { + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "requires": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" + "undici-types": "~5.26.4" } }, - "d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "@types/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.1.tgz", + "integrity": "sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==", "requires": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "@typescript/vfs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.5.0.tgz", + "integrity": "sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==", "requires": { - "d3-path": "^3.1.0" + "debug": "^4.1.1" } }, - "d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "requires": { - "d3-array": "2 - 3" - } + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, - "d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "@vanilla-extract/babel-plugin-debug-ids": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.5.tgz", + "integrity": "sha512-Rc9A6ylsw7EBErmpgqCMvc/Z/eEZxI5k1xfLQHw7f5HHh3oc5YfzsAsYU/PdmSNjF1dp3sGEViBdDltvwnfVaA==", "requires": { - "d3-time": "1 - 3" + "@babel/core": "^7.23.9" } }, - "d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" - }, - "d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "@vanilla-extract/css": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.15.1.tgz", + "integrity": "sha512-puAfTKAUtsMr2+D+grQNjU5umsdw9zdVgQflUlbzS/tGORaAHdgaYz7jfKPmz1c4ZcpJ6uFNOiI50NDOAzzhyg==", "requires": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.4", + "css-what": "^6.1.0", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "dedent": "^1.5.1", + "deep-object-diff": "^1.1.9", + "deepmerge": "^4.2.2", + "media-query-parser": "^2.0.2", + "modern-ahocorasick": "^1.0.0", + "picocolors": "^1.0.0" } }, - "d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "@vanilla-extract/dynamic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/dynamic/-/dynamic-2.1.0.tgz", + "integrity": "sha512-8zl0IgBYRtgD1h+56Zu13wHTiMTJSVEa4F7RWX9vTB/5Xe2KtjoiqApy/szHPVFA56c+ex6A4GpCQjT1bKXbYw==", "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" + "@vanilla-extract/private": "^1.0.3" } }, - "dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "@vanilla-extract/integration": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.5.0.tgz", + "integrity": "sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==", "requires": { - "d3": "^7.8.2", - "lodash-es": "^4.17.21" + "@babel/core": "^7.20.7", + "@babel/plugin-syntax-typescript": "^7.20.0", + "@vanilla-extract/babel-plugin-debug-ids": "^1.0.4", + "@vanilla-extract/css": "^1.14.0", + "esbuild": "npm:esbuild@~0.17.6 || ~0.18.0 || ~0.19.0", + "eval": "0.1.8", + "find-up": "^5.0.0", + "javascript-stringify": "^2.0.1", + "lodash": "^4.17.21", + "mlly": "^1.4.2", + "outdent": "^0.8.0", + "vite": "^5.0.11", + "vite-node": "^1.2.0" } }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "@vanilla-extract/private": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.4.tgz", + "integrity": "sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==" }, - "data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "@vanilla-extract/vite-plugin": { + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/@vanilla-extract/vite-plugin/-/vite-plugin-3.9.5.tgz", + "integrity": "sha512-CWI/CtrVW6i3HKccI6T7uGQkTJ8bd8Xl2UMBg3Pkr7dwWMmavXTeucV0I9KSbmXaYXSbEj+Q8c9y0xAZwtmTig==", "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "@vanilla-extract/integration": "^6.3.0", + "outdent": "^0.8.0", + "postcss": "^8.3.6", + "postcss-load-config": "^4.0.1" } }, - "data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "@vitejs/plugin-react": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.0.tgz", + "integrity": "sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==", "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "@babel/core": "^7.23.3", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.4", + "react-refresh": "^0.14.0" } }, - "data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, - "dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "character-entities": "^2.0.0" + "color-convert": "^1.9.0" } }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "peer": true + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, - "delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", "requires": { - "robust-predicates": "^3.0.0" + "tslib": "^2.0.0" } }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + "astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "requires": { - "path-type": "^4.0.0" + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "peer": true, - "requires": { - "esutils": "^2.0.2" - } + "bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" }, - "dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==" + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "elkjs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==" }, - "enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" - }, - "es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "requires": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - } - }, - "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "requires": { - "get-intrinsic": "^1.2.4" + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" - }, - "es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" - } - }, - "es-object-atoms": { + "boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "es-errors": "^1.3.0" + "balanced-match": "^1.0.0" } }, - "es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "fill-range": "^7.0.1" } }, - "es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "requires": { - "hasown": "^2.0.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" - }, - "eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "peer": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "peer": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "peer": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "peer": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "peer": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - } + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-lite": { + "version": "1.0.30001614", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz", + "integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==" + }, + "ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "eslint-config-next": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz", - "integrity": "sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==", + "character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" + }, + "character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" + }, + "character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" + }, + "character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "requires": { - "@next/eslint-plugin-next": "13.5.6", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" } }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "chroma-js": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz", + "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==" + }, + "cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } + "restore-cursor": "^4.0.0" } }, - "eslint-import-resolver-typescript": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", - "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" + }, + "clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" + }, + "collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "fast-glob": "^3.3.1", - "get-tsconfig": "^4.5.0", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3" + "color-name": "1.1.3" } }, - "eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } + "mime-db": ">= 1.43.0 < 2" } }, - "eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "dependencies": { "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "esutils": "^2.0.2" + "ms": "2.0.0" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, - "eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "create-vocs": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/create-vocs/-/create-vocs-1.0.0-alpha.5.tgz", + "integrity": "sha512-/Nr9taHX1SxL5t72DLFPYujqD8d5PDk0T8bJ9Fb/m7ck1lP20PBxHzF5IYnHI0BeTpIuGk/MQoLfT6JKpY6xnw==", "requires": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - } - }, - "eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "@clack/prompts": "^0.7.0", + "cac": "^6.7.14", + "detect-package-manager": "^3.0.1", + "fs-extra": "^11.1.1", + "picocolors": "^1.0.0" } }, - "eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "requires": {} - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "peer": true, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + "css-selector-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.0.5.tgz", + "integrity": "sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==" + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "peer": true, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "ms": "2.1.2" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "requires": { + "character-entities": "^2.0.0" + } }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "peer": true, + "dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "requires": {} + }, + "deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "detect-package-manager": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.1.tgz", + "integrity": "sha512-qoHDH6+lMcpJPAScE7+5CYj91W0mxZNXTwZPrCqi1KMk+x+AoQScQ2V1QyqTln1rHU5Haq5fikvOGHv+leKD8A==", "requires": { - "estraverse": "^5.1.0" + "execa": "^5.1.1" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "peer": true, + "devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "requires": { - "estraverse": "^5.2.0" + "dequal": "^2.0.0" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==" + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.751", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.751.tgz", + "integrity": "sha512-2DEPi++qa89SMGRhufWTiLmzqyuGmNF3SK4+PQetW1JKiZdEpF4XQonJXJCzyuYSA6mauiMhbyVhqYAP45Hvfw==" + }, + "emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "requires": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "estree-util-attach-comments": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", - "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", "requires": { "@types/estree": "^1.0.0" } }, "estree-util-build-jsx": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", - "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", "requires": { "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "estree-util-is-identifier-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", - "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==" }, "estree-util-to-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", - "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", "requires": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", @@ -9261,20 +9709,21 @@ } }, "estree-util-value-to-estree": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz", - "integrity": "sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.1.tgz", + "integrity": "sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==", "requires": { - "is-plain-obj": "^3.0.0" + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" } }, "estree-util-visit": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", - "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", "requires": { "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" } }, "estree-walker": { @@ -9285,23 +9734,34 @@ "@types/estree": "^1.0.0" } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "requires": { + "@types/node": "*", + "require-like": ">= 0.1.1" + } }, "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" } }, "extend": { @@ -9309,20 +9769,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "peer": true - }, "fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -9333,30 +9779,8 @@ "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "peer": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "peer": true - }, "fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -9365,13 +9789,12 @@ "reusify": "^1.0.4" } }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, + "fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", "requires": { - "flat-cache": "^3.0.4" + "format": "^0.2.0" } }, "fill-range": { @@ -9386,201 +9809,118 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "peer": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "peer": true - }, - "flexsearch": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.31.tgz", - "integrity": "sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==" - }, - "focus-visible": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz", - "integrity": "sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - }, - "get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "requires": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } } }, - "get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", - "requires": { - "resolve-pkg-maps": "^1.0.0" - } + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" }, - "git-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", - "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", - "requires": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" - } + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" }, - "git-url-parse": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", - "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "requires": { - "git-up": "^7.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, "github-slugger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" } }, "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "peer": true, + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "peer": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true - } - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "requires": { - "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" + "slash": "^4.0.0" } }, "graceful-fs": { @@ -9588,68 +9928,10 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "peer": true - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hash-obj": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hash-obj/-/hash-obj-4.0.0.tgz", - "integrity": "sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==", - "requires": { - "is-obj": "^3.0.0", - "sort-keys": "^5.0.0", - "type-fest": "^1.0.2" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "hasown": { "version": "2.0.2", @@ -9659,162 +9941,190 @@ "function-bind": "^1.1.2" } }, - "hast-util-from-dom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz", - "integrity": "sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==", + "hast-util-classnames": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-classnames/-/hast-util-classnames-3.0.0.tgz", + "integrity": "sha512-tI3JjoGDEBVorMAWK4jNRsfLMYmih1BUOG3VV36pH36njs1IEl7xkNrVTD2mD2yYHmQCa5R/fj61a8IAF4bRaQ==", "requires": { - "hastscript": "^7.0.0", - "web-namespaces": "^2.0.0" + "@types/hast": "^3.0.0", + "space-separated-tokens": "^2.0.0" } }, - "hast-util-from-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-1.0.2.tgz", - "integrity": "sha512-LhrTA2gfCbLOGJq2u/asp4kwuG0y6NhWTXiPKP+n0qNukKy7hc10whqqCFfyvIA1Q5U5d0sp9HhNim9gglEH4A==", + "hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^7.0.0", - "parse5": "^7.0.0", - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" + "@types/hast": "^3.0.0" } }, - "hast-util-from-html-isomorphic": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-1.0.0.tgz", - "integrity": "sha512-Yu480AKeOEN/+l5LA674a+7BmIvtDj24GvOt7MtQWuhzUwlaaRWdEPXAh3Qm5vhuthpAipFb2vTetKXWOjmTvw==", + "hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-dom": "^4.0.0", - "hast-util-from-html": "^1.0.0", - "unist-util-remove-position": "^4.0.0" + "@types/hast": "^3.0.0" } }, - "hast-util-from-parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", - "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", - "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "web-namespaces": "^2.0.0" + "@types/hast": "^3.0.0" } }, - "hast-util-is-element": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", - "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" + "@types/hast": "^3.0.0" } }, - "hast-util-parse-selector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", - "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "hast-util-select": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.2.tgz", + "integrity": "sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==", "requires": { - "@types/hast": "^2.0.0" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "not": "^0.1.0", + "nth-check": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" } }, "hast-util-to-estree": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", - "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", "requires": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", + "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.1", - "unist-util-position": "^4.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, - "hast-util-to-text": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz", - "integrity": "sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==", + "hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "unist-util-find-after": "^4.0.0" + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" + }, + "style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "requires": { + "inline-style-parser": "0.2.3" + } + } + } + }, + "hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "requires": { + "@types/hast": "^3.0.0" } }, "hast-util-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", - "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "requires": { + "@types/hast": "^3.0.0" + } }, "hastscript": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", - "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", "requires": { - "@types/hast": "^2.0.0", + "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", + "hast-util-parse-selector": "^4.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0" } }, - "heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + "hono": { + "version": "3.12.12", + "resolved": "https://registry.npmjs.org/hono/-/hono-3.12.12.tgz", + "integrity": "sha512-5IAMJOXfpA5nT+K0MNjClchzz0IhBHs2Szl7WFAhrFOsbtQsYmNynFyJRg/a3IPsmCfxcrf8txUGiNShXpK5Rg==" }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "peer": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -9825,26 +10135,14 @@ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, - "internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "loose-envify": "^1.0.0" } }, - "internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" - }, - "intersection-observer": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", - "integrity": "sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==" - }, "is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -9859,38 +10157,12 @@ "is-decimal": "^2.0.0" } }, - "is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - } - }, - "is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -9898,11 +10170,6 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, "is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -9911,52 +10178,20 @@ "hasown": "^2.0.0" } }, - "is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "requires": { - "is-typed-array": "^1.1.13" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, "is-decimal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, - "is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -9971,277 +10206,101 @@ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==" }, - "is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==" - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==" + "is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==" }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz", - "integrity": "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "peer": true - }, "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" }, "is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", "requires": { "@types/estree": "*" } }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==" - }, - "is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "requires": { - "call-bind": "^1.0.7" - } - }, - "is-ssh": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", - "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", - "requires": { - "protocols": "^2.0.1" - } - }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "requires": { - "which-typed-array": "^1.1.14" - } - }, - "is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "requires": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "requires": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "peer": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "peer": true + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "katex": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.8.tgz", - "integrity": "sha512-ftuDnJbcbOckGY11OO+zg3OofESlbR5DRl2cmN8HeWeeFIV7wTXvAOx8kEjZjobhA+9wh2fbKeO6cdcA9Mnovg==", - "requires": { - "commander": "^8.3.0" - } - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "peer": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { - "language-subtag-registry": "^0.3.20" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" + "lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==" }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "peer": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, "requires": { "p-locate": "^5.0.0" } @@ -10251,21 +10310,21 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "peer": true + "log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "requires": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==" + } + } }, "longest-streak": { "version": "3.1.0", @@ -10281,696 +10340,717 @@ } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, + "mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, "markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==" }, "markdown-table": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" }, - "match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", - "requires": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "mdast-util-definitions": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", - "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" + "mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" } }, "mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", "requires": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + } } }, "mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + } + }, + "mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "requires": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + } } }, "mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", "requires": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" } }, "mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" } }, "mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", "requires": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-gfm-task-list-item": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-math": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz", - "integrity": "sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", "requires": { - "@types/mdast": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-mdx": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", - "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-mdx-expression": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", - "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", "requires": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-mdx-jsx": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", - "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", "requires": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "ccount": "^2.0.0", - "mdast-util-from-markdown": "^1.1.0", - "mdast-util-to-markdown": "^1.3.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" } }, "mdast-util-mdxjs-esm": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", - "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", "requires": { "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" } }, "mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "requires": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" } }, "mdast-util-to-hast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", - "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "requires": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" } }, "mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "media-query-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", "requires": { - "@types/mdast": "^3.0.0" + "@babel/runtime": "^7.12.5" } }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, - "mermaid": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.2.4.tgz", - "integrity": "sha512-zHGjEI7lBvWZX+PQYmlhSA2p40OzW6QbGodTCSzDeVpqaTnyAC+2sRGqrpXO+uQk3CnoeClHQPraQUMStdqy2g==", - "requires": { - "@braintree/sanitize-url": "^6.0.2", - "cytoscape": "^3.23.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.1.0", - "d3": "^7.4.0", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "3.0.3", - "elkjs": "^0.8.2", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, "micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "requires": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz", + "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==", "requires": { "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "requires": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + } + }, + "micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "requires": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", - "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", "requires": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-autolink-literal": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", - "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-footnote": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", - "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", "requires": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-strikethrough": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", - "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", - "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-tagfilter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", - "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", "requires": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, "micromark-extension-gfm-task-list-item": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", - "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-math": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.2.tgz", - "integrity": "sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==", - "requires": { - "@types/katex": "^0.16.0", - "katex": "^0.16.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "dependencies": { - "@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==" - } + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", - "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", "requires": { "@types/estree": "^1.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-mdx-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", - "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", "requires": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" } }, "micromark-extension-mdx-md": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", - "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", "requires": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, "micromark-extension-mdxjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", - "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", "requires": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-extension-mdxjs-esm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", - "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", "requires": { "@types/estree": "^1.0.0", - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" } }, "micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-factory-mdx-expression": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", - "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", "requires": { "@types/estree": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" } }, "micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", "requires": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "requires": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "requires": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "requires": { "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" }, "micromark-util-events-to-acorn": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", - "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", "requires": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", - "@types/unist": "^2.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" } }, "micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" }, "micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "requires": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, "micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "requires": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, "micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, "micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz", + "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==", "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" }, "micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" }, "micromatch": { "version": "4.0.5", @@ -10981,250 +11061,182 @@ "picomatch": "^2.3.1" } }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + "minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==" + }, + "mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "requires": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "modern-ahocorasick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modern-ahocorasick/-/modern-ahocorasick-1.0.1.tgz", + "integrity": "sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==" }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "peer": true - }, - "next": { - "version": "13.4.9", - "requires": { - "@next/env": "13.4.9", - "@next/swc-darwin-arm64": "13.4.9", - "@next/swc-darwin-x64": "13.4.9", - "@next/swc-linux-arm64-gnu": "13.4.9", - "@next/swc-linux-arm64-musl": "13.4.9", - "@next/swc-linux-x64-gnu": "13.4.9", - "@next/swc-linux-x64-musl": "13.4.9", - "@next/swc-win32-arm64-msvc": "13.4.9", - "@next/swc-win32-ia32-msvc": "13.4.9", - "@next/swc-win32-x64-msvc": "13.4.9", - "@swc/helpers": "0.5.1", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0", - "zod": "3.21.4" - } - }, - "next-mdx-remote": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz", - "integrity": "sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==", - "requires": { - "@mdx-js/mdx": "^2.2.1", - "@mdx-js/react": "^2.2.1", - "vfile": "^5.3.0", - "vfile-matter": "^3.0.1" - } - }, - "next-seo": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-6.1.0.tgz", - "integrity": "sha512-iMBpFoJsR5zWhguHJvsoBDxDSmdYTHtnVPB1ij+CD0NReQCP78ZxxbdL9qkKIf4oEuZEqZkrjAQLB0bkII7RYA==", - "requires": {} + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } }, - "next-themes": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.2.1.tgz", - "integrity": "sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==", - "requires": {} + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" }, - "nextra": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nextra/-/nextra-2.8.0.tgz", - "integrity": "sha512-WyRNzw1IM/eF3M1H3LSsbZH97QsYYgj8upjx0f8hY6GspmPyPRAvBBscmXRt+7vye2oIYjfVwSiD1rj9amqq9Q==", - "requires": { - "@mdx-js/mdx": "^2.3.0", - "@mdx-js/react": "^2.3.0", - "@napi-rs/simple-git": "^0.1.8", - "@theguild/remark-mermaid": "^0.0.3", - "clsx": "^1.2.1", - "github-slugger": "^2.0.0", - "graceful-fs": "^4.2.11", - "gray-matter": "^4.0.3", - "katex": "^0.16.7", - "lodash.get": "^4.4.2", - "next-mdx-remote": "^4.2.1", - "p-limit": "^3.1.0", - "rehype-katex": "^6.0.3", - "rehype-pretty-code": "0.9.9", - "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1", - "remark-reading-time": "^2.0.1", - "shiki": "^0.14.2", - "slash": "^3.0.0", - "title": "^3.5.3", - "unist-util-remove": "^3.1.1", - "unist-util-visit": "^4.1.1", - "zod": "^3.20.2" - } - }, - "nextra-theme-docs": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nextra-theme-docs/-/nextra-theme-docs-2.8.0.tgz", - "integrity": "sha512-JoSAILDVp0GxeVWWZBFGoRijE2RcjZcXrMa47Fssi254T5wF+gm0HvEOSwrTaKaPaUL+IfshAiKglvXNKGzbNw==", - "requires": { - "@headlessui/react": "^1.7.10", - "@popperjs/core": "^2.11.6", - "clsx": "^1.2.1", - "flexsearch": "^0.7.21", - "focus-visible": "^5.2.0", - "git-url-parse": "^13.1.0", - "intersection-observer": "^0.12.2", - "match-sorter": "^6.3.1", - "next-seo": "^6.0.0", - "next-themes": "^0.2.1", - "scroll-into-view-if-needed": "^3.0.0", - "zod": "^3.20.2" - } - }, - "non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==" + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "requires": { - "path-key": "^2.0.0" - } + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, - "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "not": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/not/-/not-0.1.0.tgz", + "integrity": "sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==" }, - "object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "path-key": "^3.0.0" } }, - "object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "boolbase": "^1.0.0" } }, - "object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - } + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, - "object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - } + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" }, - "object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" + "ee-first": "1.1.1" } }, - "object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { - "wrappy": "1" + "mimic-fn": "^2.1.0" } }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "peer": true, + "ora": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==" + } } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + "outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==" }, "p-limit": { "version": "3.1.0", @@ -11238,20 +11250,10 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, "requires": { "p-limit": "^3.0.2" } }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "peer": true, - "requires": { - "callsites": "^3.0.0" - } - }, "parse-entities": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", @@ -11265,63 +11267,61 @@ "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + } } }, - "parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "parse-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", - "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", - "requires": { - "protocols": "^2.0.0" - } - }, - "parse-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", - "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", - "requires": { - "parse-path": "^7.0.0" - } - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "requires": { - "entities": "^4.4.0" - } + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "peer": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, "periscopic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", @@ -11342,26 +11342,84 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "pkg-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.0.tgz", + "integrity": "sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==", + "requires": { + "confbox": "^0.1.7", + "mlly": "^1.6.1", + "pathe": "^1.1.2" + } }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "peer": true + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "requires": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + } + }, + "postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "requires": { + "postcss-selector-parser": "^6.0.11" + } + }, + "postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "prop-types": { "version": "15.8.1", @@ -11374,199 +11432,333 @@ } }, "property-information": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", - "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" - }, - "protocols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", - "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "peer": true + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==" }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "requires": { "loose-envify": "^1.1.0" } }, "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "requires": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" } }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + } + }, + "react-intersection-observer": { + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.10.1.tgz", + "integrity": "sha512-ZseerLEOaZ2FFMtkjNd0RGzxKTiiIBGaXcR5buh3GSgtoInNCztHvCzgu5Gg2I2vUhF/EX1XJn95inZkp/K6xQ==", + "requires": {} + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==" }, - "reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" } }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "requires": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + } }, - "regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "react-router": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz", + "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==", "requires": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "@remix-run/router": "1.16.0" } }, - "rehype-katex": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-6.0.3.tgz", - "integrity": "sha512-ByZlRwRUcWegNbF70CVRm2h/7xy7jQ3R9LaY4VVSvjnoVWwWVhNL60DiZsBpC5tSzYQOCvDbzncIpIjPZWodZA==", + "react-router-dom": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz", + "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==", "requires": { - "@types/hast": "^2.0.0", - "@types/katex": "^0.14.0", - "hast-util-from-html-isomorphic": "^1.0.0", - "hast-util-to-text": "^3.1.0", - "katex": "^0.16.0", - "unist-util-visit": "^4.0.0" + "@remix-run/router": "1.16.0", + "react-router": "6.23.0" } }, - "rehype-pretty-code": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.9.tgz", - "integrity": "sha512-mlU2Qgupn9MMK31CTmWk0Ie5Vp0od+jh2vCkGDBMlPAMeAvYASn6Ois6xRmosutMT4yH/COc3R4r/PELpuUoWg==", + "react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==", + "requires": {} + }, + "react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", "requires": { - "@types/hast": "^2.0.0", - "hash-obj": "^4.0.0", - "parse-numeric-range": "^1.3.0" + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" } }, - "remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" + "pify": "^2.3.0" } }, - "remark-math": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz", - "integrity": "sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==", + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-math": "^2.0.0", - "micromark-extension-math": "^2.0.0", - "unified": "^10.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "remark-mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", - "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" + "picomatch": "^2.2.1" } }, - "remark-parse": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", - "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" } }, - "remark-reading-time": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-2.0.1.tgz", - "integrity": "sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==", + "rehype-class-names": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/rehype-class-names/-/rehype-class-names-1.0.14.tgz", + "integrity": "sha512-eFBt6Qxb7K77y6P82tUtN9rKpU7guWlaK4XA4RrrSFHkUTCvr2D3cgb9OR5d4t1AaGOvR59FH9nRwUnbpn9AEg==", "requires": { - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-value-to-estree": "^1.3.0", - "reading-time": "^1.3.0", - "unist-util-visit": "^3.1.0" + "@types/hast": "^3.0.0", + "hast-util-classnames": "^3.0.0", + "hast-util-select": "^6.0.0", + "unified": "^10.1.2" }, "dependencies": { - "unist-util-visit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", - "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + } + }, + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", "requires": { "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^4.0.0" + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" } }, - "unist-util-visit-parents": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", - "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", "requires": { "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "unist-util-stringify-position": "^3.0.0" } } } }, + "rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "requires": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + } + }, + "remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + } + }, + "remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + } + }, + "remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + } + }, + "remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "requires": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + } + }, + "remark-mdx-frontmatter": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-4.0.0.tgz", + "integrity": "sha512-PZzAiDGOEfv1Ua7exQ8S5kKxkD8CDaSb4nM+1Mprs6u8dyvQifakh+kCj6NovfGXW+bTvrhjaR3srzjS2qJHKg==", + "requires": { + "@types/mdast": "^4.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-value-to-estree": "^3.0.0", + "toml": "^3.0.0", + "unified": "^11.0.0", + "yaml": "^2.0.0" + } + }, + "remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + } + }, "remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "requires": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + } + }, + "remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" } }, - "remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" }, "resolve": { "version": "1.22.8", @@ -11578,36 +11770,45 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-from": { + "restore-cursor": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "peer": true - }, - "resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==" + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "peer": true, - "requires": { - "glob": "^7.1.3" + "rollup": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "requires": { + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" } }, - "robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -11616,150 +11817,101 @@ "queue-microtask": "^1.2.2" } }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "requires": { - "mri": "^1.1.0" - } - }, - "safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "requires": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "requires": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "requires": { "loose-envify": "^1.1.0" } }, - "scroll-into-view-if-needed": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz", - "integrity": "sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==", - "requires": { - "compute-scroll-into-view": "^3.0.2" - } - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "requires": { - "lru-cache": "^6.0.0" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "yallist": "^4.0.0" + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, - "set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" } }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shiki": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.3.tgz", - "integrity": "sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==", - "requires": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.4.0.tgz", + "integrity": "sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==", "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "@shikijs/core": "1.4.0" } }, "signal-exit": { @@ -11767,25 +11919,15 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, - "sort-keys": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", - "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", - "requires": { - "is-plain-obj": "^4.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - } - } + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" }, "source-map": { "version": "0.7.4", @@ -11793,172 +11935,224 @@ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" }, "space-separated-tokens": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, - "string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "bl": "^5.0.0" } }, - "string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, - "string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" } }, - "string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", "requires": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "strip-ansi": { - "version": "6.0.1", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "peer": true, "requires": { "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "peer": true + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "requires": { "inline-style-parser": "0.1.1" } }, - "styled-jsx": { - "version": "5.1.1", + "sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "requires": { - "client-only": "0.0.1" + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" } }, - "stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" - }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "tailwindcss": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + } + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "requires": { - "has-flag": "^2.0.0" + "any-promise": "^1.0.0" } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "peer": true - }, - "title": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/title/-/title-3.5.3.tgz", - "integrity": "sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==", + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "requires": { - "arg": "1.0.0", - "chalk": "2.3.0", - "clipboardy": "1.2.2", - "titleize": "1.0.0" + "thenify": ">= 3.1.0 < 4" } }, - "titleize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-1.0.0.tgz", - "integrity": "sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==" + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "to-regex-range": { "version": "5.0.1", @@ -11968,420 +12162,580 @@ "is-number": "^7.0.0" } }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + }, "trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" }, "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, - "ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "requires": {} - }, - "ts-dedent": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==" + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==" }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "peer": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "twoslash": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.2.5.tgz", + "integrity": "sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==", "requires": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "@typescript/vfs": "1.5.0", + "twoslash-protocol": "0.2.5" } }, - "typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - } + "twoslash-protocol": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.2.5.tgz", + "integrity": "sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==" }, - "typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - } + "typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==" }, - "typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - } + "ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" }, - "typescript": { - "version": "4.9.5" + "ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", "requires": { - "@types/unist": "^2.0.0", + "@types/unist": "^3.0.0", "bail": "^2.0.0", + "devlop": "^1.0.0", "extend": "^3.0.0", - "is-buffer": "^2.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - } - } - }, - "unist-util-find-after": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz", - "integrity": "sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "vfile": "^6.0.0" } }, - "unist-util-generated": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", - "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==" - }, "unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "requires": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" } }, "unist-util-position": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", - "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "requires": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" } }, "unist-util-position-from-estree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", - "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unist-util-remove": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-3.1.1.tgz", - "integrity": "sha512-kfCqZK5YVY5yEa89tvpl7KnBBHu2c6CzMkqHUrlOqaRgGOMp0sMvwWOVrbAtj03KhovQB7i96Gda72v/EFE0vw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" + "@types/unist": "^3.0.0" } }, "unist-util-remove-position": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", - "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", "requires": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" } }, "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "requires": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" } }, "unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" } }, "unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" } }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "peer": true, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "requires": { - "punycode": "^2.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" + "use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "requires": { + "tslib": "^2.0.0" + } }, - "uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", "requires": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" } }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" } }, - "vfile-location": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", - "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "requires": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" } }, - "vfile-matter": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz", - "integrity": "sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==", + "vite": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "requires": { - "@types/js-yaml": "^4.0.0", - "is-buffer": "^2.0.0", - "js-yaml": "^4.0.0" + "esbuild": "^0.20.1", + "fsevents": "~2.3.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "optional": true }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "optional": true + }, + "esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "requires": { - "argparse": "^2.0.1" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } } } }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - }, - "vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" - }, - "vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "vite-node": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", + "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + } + }, + "vocs": { + "version": "1.0.0-alpha.45", + "resolved": "https://registry.npmjs.org/vocs/-/vocs-1.0.0-alpha.45.tgz", + "integrity": "sha512-FUDuN6V0FwAlG8QAg7VHBm0LAGsvtVwxU2FGIW+eTiFQFuuzsV9Ojh4vg3aAYR3VcICL9w7ipsyt+7D0b3dJNw==", + "requires": { + "@floating-ui/react": "^0.26.6", + "@hono/node-server": "^1.2.3", + "@mdx-js/react": "^3.0.0", + "@mdx-js/rollup": "^3.0.0", + "@noble/hashes": "^1.3.2", + "@radix-ui/colors": "^3.0.0", + "@radix-ui/react-accordion": "^1.1.2", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-navigation-menu": "^1.1.4", + "@radix-ui/react-popover": "^1.0.7", + "@radix-ui/react-tabs": "^1.0.4", + "@shikijs/rehype": "^1.1.2", + "@shikijs/transformers": "^1.1.2", + "@shikijs/twoslash": "^1.1.2", + "@vanilla-extract/css": "^1.14.0", + "@vanilla-extract/dynamic": "^2.1.0", + "@vanilla-extract/vite-plugin": "^3.9.4", + "@vitejs/plugin-react": "4.2.0", + "autoprefixer": "^10.4.16", + "cac": "^6.7.14", + "chroma-js": "^2.4.2", + "clsx": "^2.0.0", + "compression": "^1.7.4", + "create-vocs": "^1.0.0-alpha.4", + "cross-spawn": "^7.0.3", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "hastscript": "^8.0.0", + "hono": "^3.10.2", + "mark.js": "^8.11.1", + "mdast-util-directive": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm": "^3.0.0", + "mdast-util-to-hast": "^13.0.2", + "minimatch": "^9.0.3", + "minisearch": "^6.3.0", + "ora": "^7.0.1", + "postcss": "^8.4.31", + "react-helmet": "^6.1.0", + "react-intersection-observer": "^9.5.3", + "react-router-dom": "^6.20.0", + "rehype-autolink-headings": "^7.1.0", + "rehype-class-names": "^1.0.14", + "rehype-slug": "^6.0.0", + "remark-directive": "^3.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "remark-mdx-frontmatter": "^4.0.0", + "remark-parse": "^11.0.0", + "serve-static": "^1.15.0", + "shiki": "^1.1.2", + "tailwindcss": "^3.3.3", + "toml": "^3.0.0", + "twoslash": "~0.2.2", + "ua-parser-js": "^1.0.36", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "vite": "^5.0.2" } }, - "web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" - }, - "web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" - }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "requires": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, - "which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + } } }, - "which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "peer": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", + "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==" }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, - "zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==" - }, "zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/docs/package.json b/docs/package.json index 593a8ed0..22a0a13e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,23 +1,18 @@ { "private": true, - "name": "planck-docs", - "version": "0.0.1", + "name": "stage-docs", + "version": "0.0.0", + "type": "module", "scripts": { - "dev": "next dev --port 5001", - "build": "next build", - "start": "next start" + "dev": "vocs dev", + "build": "vocs build", + "preview": "vocs preview" }, "dependencies": { - "@vercel/analytics": "^1.0.1", - "eslint-config-next": "^13.4.9", - "next": "^13.4.9", - "nextra": "latest", - "nextra-theme-docs": "^2.8.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@types/node": "18.11.10", - "typescript": "^4.9.3" + "@types/react": "latest", + "react": "latest", + "react-dom": "latest", + "typescript": "latest", + "vocs": "latest" } } diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json deleted file mode 100644 index da2220ab..00000000 --- a/docs/pages/_meta.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "index": "Introduction", - "hello-world": "Getting Started", - "core-concepts": "Core Concepts", - "api-conventions": "API Conventions", - "body": "Body", - "fixture": "Fixture", - "shape": "Shape", - "joint": "Joint", - "world": "World", - "contacts": "Contacts", - "collision": "Collision", - "install": "Install", - "testbed": "Testbed", - "rendering": "Rendering", - "credits": "Credits & License", - "references-resources": "References & Resources", - "limitations": "Limitations", - "api-reference": { - "title": "API Reference ↗", - "type": "page", - "href": "https://github.com/piqnt/planck.js/blob/master/docs/api/", - "newWindow": true - }, - "github": { - "title": "GitHub ↗", - "type": "page", - "href": "https://github.com/piqnt/planck.js/", - "newWindow": true - }, - "discord": { - "title": "Discord ↗", - "type": "page", - "href": "https://discord.gg/znjh6J7", - "newWindow": true - } -} diff --git a/docs/pages/api-conventions/_meta.json b/docs/pages/api-conventions/_meta.json deleted file mode 100644 index 6225a408..00000000 --- a/docs/pages/api-conventions/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "units": "Units", - "factories-and-definitions": "Factories and Definitions", - "implicit-destruction": "Implicit Destruction", - "user-data": "User Data" -} diff --git a/docs/pages/api-conventions/factories-and-definitions.md b/docs/pages/api-conventions/factories-and-definitions.md index 65a4d584..8eb675a3 100644 --- a/docs/pages/api-conventions/factories-and-definitions.md +++ b/docs/pages/api-conventions/factories-and-definitions.md @@ -1,4 +1,8 @@ -### Factories and Definitions +--- +showOutline: false +--- + +## Factories and Definitions To create a `Body` or a `Joint`, you need to call the factory functions on World: diff --git a/docs/pages/api-conventions/implicit-destruction.md b/docs/pages/api-conventions/implicit-destruction.md index 8f844d1d..6a22023c 100644 --- a/docs/pages/api-conventions/implicit-destruction.md +++ b/docs/pages/api-conventions/implicit-destruction.md @@ -1,4 +1,8 @@ -### Implicit Destruction +--- +showOutline: false +--- + +## Implicit Destruction Often when using Planck.js you will create and destroy many bodies, shapes, and joints. Managing these entities is somewhat automated by Planck.js. If diff --git a/docs/pages/api-conventions/units.md b/docs/pages/api-conventions/units.md index 3b9b7aad..15d0e925 100644 --- a/docs/pages/api-conventions/units.md +++ b/docs/pages/api-conventions/units.md @@ -1,4 +1,8 @@ -### Units +--- +showOutline: false +--- + +## Units Planck.js works with floating point numbers and tolerances have to be used to make Planck.js perform well. These tolerances have been tuned to work well with meters-kilogram-second (MKS) units. In particular, Planck.js has been tuned to work well with moving shapes between 0.1 and 10 units (meters). diff --git a/docs/pages/api-conventions/user-data.md b/docs/pages/api-conventions/user-data.md index dee64417..70189f45 100644 --- a/docs/pages/api-conventions/user-data.md +++ b/docs/pages/api-conventions/user-data.md @@ -1,4 +1,8 @@ -### User Data +--- +showOutline: false +--- + +## User Data The `Fixture`, `Body`, and `Joint` classes allow you to attach user data. This is handy to implement game-logic and rendering. diff --git a/docs/pages/api/classes/aabb.md b/docs/pages/api/classes/aabb.md new file mode 100644 index 00000000..87718232 --- /dev/null +++ b/docs/pages/api/classes/aabb.md @@ -0,0 +1,316 @@ +--- +showOutline: false +--- + +# Class: AABB + +## Hierarchy + +* **AABB** + +## Index + +### Constructors + +* [constructor](/api/classes/aabb#constructor) + +### Properties + +* [lowerBound](/api/classes/aabb#lowerbound) +* [upperBound](/api/classes/aabb#upperbound) + +### Methods + +* [combine](/api/classes/aabb#combine) +* [combinePoints](/api/classes/aabb#combinepoints) +* [contains](/api/classes/aabb#contains) +* [extend](/api/classes/aabb#extend) +* [getCenter](/api/classes/aabb#getcenter) +* [getExtents](/api/classes/aabb#getextents) +* [getPerimeter](/api/classes/aabb#getperimeter) +* [isValid](/api/classes/aabb#isvalid) +* [rayCast](/api/classes/aabb#raycast) +* [set](/api/classes/aabb#set) +* [areEqual](/api/classes/aabb#static-areequal) +* [assert](/api/classes/aabb#static-assert) +* [combinePoints](/api/classes/aabb#static-combinepoints) +* [combinedPerimeter](/api/classes/aabb#static-combinedperimeter) +* [diff](/api/classes/aabb#static-diff) +* [extend](/api/classes/aabb#static-extend) +* [isValid](/api/classes/aabb#static-isvalid) +* [testOverlap](/api/classes/aabb#static-testoverlap) + +## Constructors + +### constructor + +\+ **new AABB**(`lower?`: [Vec2Value](/api/interfaces/vec2value), `upper?`: [Vec2Value](/api/interfaces/vec2value)): *[AABB](/api/classes/aabb)* + +**Parameters:** + +Name | Type | +------ | ------ | +`lower?` | [Vec2Value](/api/interfaces/vec2value) | +`upper?` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[AABB](/api/classes/aabb)* + +## Properties + +### lowerBound + +• **lowerBound**: *Vec2* + +___ + +### upperBound + +• **upperBound**: *Vec2* + +## Methods + +### combine + +▸ **combine**(`a`: [AABBValue](/api/interfaces/aabbvalue), `b?`: [AABBValue](/api/interfaces/aabbvalue)): *void* + +Combine one or two AABB into this one. + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [AABBValue](/api/interfaces/aabbvalue) | +`b?` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *void* + +___ + +### combinePoints + +▸ **combinePoints**(`a`: [Vec2Value](/api/interfaces/vec2value), `b`: [Vec2Value](/api/interfaces/vec2value)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### contains + +▸ **contains**(`aabb`: [AABBValue](/api/interfaces/aabbvalue)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *boolean* + +___ + +### extend + +▸ **extend**(`value`: number): *[AABB](/api/classes/aabb)* + +**Parameters:** + +Name | Type | +------ | ------ | +`value` | number | + +**Returns:** *[AABB](/api/classes/aabb)* + +___ + +### getCenter + +▸ **getCenter**(): *Vec2* + +Get the center of the AABB. + +**Returns:** *Vec2* + +___ + +### getExtents + +▸ **getExtents**(): *Vec2* + +Get the extents of the AABB (half-widths). + +**Returns:** *Vec2* + +___ + +### getPerimeter + +▸ **getPerimeter**(): *number* + +Get the perimeter length. + +**Returns:** *number* + +___ + +### isValid + +▸ **isValid**(): *boolean* + +Verify that the bounds are sorted. + +**Returns:** *boolean* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | +`input` | [RayCastInput](/api/interfaces/raycastinput) | + +**Returns:** *boolean* + +___ + +### set + +▸ **set**(`aabb`: [AABBValue](/api/interfaces/aabbvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *void* + +___ + +### `Static` areEqual + +▸ **areEqual**(`a`: [AABBValue](/api/interfaces/aabbvalue), `b`: [AABBValue](/api/interfaces/aabbvalue)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [AABBValue](/api/interfaces/aabbvalue) | +`b` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *boolean* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` combinePoints + +▸ **combinePoints**(`out`: [AABBValue](/api/interfaces/aabbvalue), `a`: [Vec2Value](/api/interfaces/vec2value), `b`: [Vec2Value](/api/interfaces/vec2value)): *[AABBValue](/api/interfaces/aabbvalue)* + +**Parameters:** + +Name | Type | +------ | ------ | +`out` | [AABBValue](/api/interfaces/aabbvalue) | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[AABBValue](/api/interfaces/aabbvalue)* + +___ + +### `Static` combinedPerimeter + +▸ **combinedPerimeter**(`a`: [AABBValue](/api/interfaces/aabbvalue), `b`: [AABBValue](/api/interfaces/aabbvalue)): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [AABBValue](/api/interfaces/aabbvalue) | +`b` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *number* + +___ + +### `Static` diff + +▸ **diff**(`a`: [AABBValue](/api/interfaces/aabbvalue), `b`: [AABBValue](/api/interfaces/aabbvalue)): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [AABBValue](/api/interfaces/aabbvalue) | +`b` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *number* + +___ + +### `Static` extend + +▸ **extend**(`out`: [AABBValue](/api/interfaces/aabbvalue), `value`: number): *[AABBValue](/api/interfaces/aabbvalue)* + +**Parameters:** + +Name | Type | +------ | ------ | +`out` | [AABBValue](/api/interfaces/aabbvalue) | +`value` | number | + +**Returns:** *[AABBValue](/api/interfaces/aabbvalue)* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` testOverlap + +▸ **testOverlap**(`a`: [AABBValue](/api/interfaces/aabbvalue), `b`: [AABBValue](/api/interfaces/aabbvalue)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [AABBValue](/api/interfaces/aabbvalue) | +`b` | [AABBValue](/api/interfaces/aabbvalue) | + +**Returns:** *boolean* diff --git a/docs/api/classes/body.md b/docs/pages/api/classes/body.md similarity index 60% rename from docs/api/classes/body.md rename to docs/pages/api/classes/body.md index c28ba520..902bbe23 100644 --- a/docs/api/classes/body.md +++ b/docs/pages/api/classes/body.md @@ -1,10 +1,12 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Body](body.md) +--- +showOutline: false +--- # Class: Body A rigid body composed of one or more fixtures. -To create a new Body use [World.createBody](world.md#createbody). +To create a new Body use [World.createBody](world#createbody). ## Hierarchy @@ -14,85 +16,85 @@ To create a new Body use [World.createBody](world.md#createbody). ### Properties -* [style](body.md#style) -* [DYNAMIC](body.md#static-readonly-dynamic) -* [KINEMATIC](body.md#static-readonly-kinematic) -* [STATIC](body.md#static-readonly-static) +* [style](/api/classes/body#style) +* [DYNAMIC](/api/classes/body#static-readonly-dynamic) +* [KINEMATIC](/api/classes/body#static-readonly-kinematic) +* [STATIC](/api/classes/body#static-readonly-static) ### Methods -* [advance](body.md#advance) -* [applyAngularImpulse](body.md#applyangularimpulse) -* [applyForce](body.md#applyforce) -* [applyForceToCenter](body.md#applyforcetocenter) -* [applyLinearImpulse](body.md#applylinearimpulse) -* [applyTorque](body.md#applytorque) -* [createFixture](body.md#createfixture) -* [destroyFixture](body.md#destroyfixture) -* [getAngle](body.md#getangle) -* [getAngularDamping](body.md#getangulardamping) -* [getAngularVelocity](body.md#getangularvelocity) -* [getContactList](body.md#getcontactlist) -* [getFixtureList](body.md#getfixturelist) -* [getGravityScale](body.md#getgravityscale) -* [getInertia](body.md#getinertia) -* [getJointList](body.md#getjointlist) -* [getLinearDamping](body.md#getlineardamping) -* [getLinearVelocity](body.md#getlinearvelocity) -* [getLinearVelocityFromLocalPoint](body.md#getlinearvelocityfromlocalpoint) -* [getLinearVelocityFromWorldPoint](body.md#getlinearvelocityfromworldpoint) -* [getLocalCenter](body.md#getlocalcenter) -* [getLocalPoint](body.md#getlocalpoint) -* [getLocalVector](body.md#getlocalvector) -* [getMass](body.md#getmass) -* [getMassData](body.md#getmassdata) -* [getNext](body.md#getnext) -* [getPosition](body.md#getposition) -* [getTransform](body.md#gettransform) -* [getType](body.md#gettype) -* [getUserData](body.md#getuserdata) -* [getWorld](body.md#getworld) -* [getWorldCenter](body.md#getworldcenter) -* [getWorldPoint](body.md#getworldpoint) -* [getWorldVector](body.md#getworldvector) -* [isActive](body.md#isactive) -* [isAwake](body.md#isawake) -* [isBullet](body.md#isbullet) -* [isDynamic](body.md#isdynamic) -* [isFixedRotation](body.md#isfixedrotation) -* [isKinematic](body.md#iskinematic) -* [isSleepingAllowed](body.md#issleepingallowed) -* [isStatic](body.md#isstatic) -* [isWorldLocked](body.md#isworldlocked) -* [resetMassData](body.md#resetmassdata) -* [setActive](body.md#setactive) -* [setAngle](body.md#setangle) -* [setAngularDamping](body.md#setangulardamping) -* [setAngularVelocity](body.md#setangularvelocity) -* [setAwake](body.md#setawake) -* [setBullet](body.md#setbullet) -* [setDynamic](body.md#setdynamic) -* [setFixedRotation](body.md#setfixedrotation) -* [setGravityScale](body.md#setgravityscale) -* [setKinematic](body.md#setkinematic) -* [setLinearDamping](body.md#setlineardamping) -* [setLinearVelocity](body.md#setlinearvelocity) -* [setMassData](body.md#setmassdata) -* [setPosition](body.md#setposition) -* [setSleepingAllowed](body.md#setsleepingallowed) -* [setStatic](body.md#setstatic) -* [setTransform](body.md#settransform) -* [setType](body.md#settype) -* [setUserData](body.md#setuserdata) -* [shouldCollide](body.md#shouldcollide) -* [synchronizeFixtures](body.md#synchronizefixtures) -* [synchronizeTransform](body.md#synchronizetransform) +* [advance](/api/classes/body#advance) +* [applyAngularImpulse](/api/classes/body#applyangularimpulse) +* [applyForce](/api/classes/body#applyforce) +* [applyForceToCenter](/api/classes/body#applyforcetocenter) +* [applyLinearImpulse](/api/classes/body#applylinearimpulse) +* [applyTorque](/api/classes/body#applytorque) +* [createFixture](/api/classes/body#createfixture) +* [destroyFixture](/api/classes/body#destroyfixture) +* [getAngle](/api/classes/body#getangle) +* [getAngularDamping](/api/classes/body#getangulardamping) +* [getAngularVelocity](/api/classes/body#getangularvelocity) +* [getContactList](/api/classes/body#getcontactlist) +* [getFixtureList](/api/classes/body#getfixturelist) +* [getGravityScale](/api/classes/body#getgravityscale) +* [getInertia](/api/classes/body#getinertia) +* [getJointList](/api/classes/body#getjointlist) +* [getLinearDamping](/api/classes/body#getlineardamping) +* [getLinearVelocity](/api/classes/body#getlinearvelocity) +* [getLinearVelocityFromLocalPoint](/api/classes/body#getlinearvelocityfromlocalpoint) +* [getLinearVelocityFromWorldPoint](/api/classes/body#getlinearvelocityfromworldpoint) +* [getLocalCenter](/api/classes/body#getlocalcenter) +* [getLocalPoint](/api/classes/body#getlocalpoint) +* [getLocalVector](/api/classes/body#getlocalvector) +* [getMass](/api/classes/body#getmass) +* [getMassData](/api/classes/body#getmassdata) +* [getNext](/api/classes/body#getnext) +* [getPosition](/api/classes/body#getposition) +* [getTransform](/api/classes/body#gettransform) +* [getType](/api/classes/body#gettype) +* [getUserData](/api/classes/body#getuserdata) +* [getWorld](/api/classes/body#getworld) +* [getWorldCenter](/api/classes/body#getworldcenter) +* [getWorldPoint](/api/classes/body#getworldpoint) +* [getWorldVector](/api/classes/body#getworldvector) +* [isActive](/api/classes/body#isactive) +* [isAwake](/api/classes/body#isawake) +* [isBullet](/api/classes/body#isbullet) +* [isDynamic](/api/classes/body#isdynamic) +* [isFixedRotation](/api/classes/body#isfixedrotation) +* [isKinematic](/api/classes/body#iskinematic) +* [isSleepingAllowed](/api/classes/body#issleepingallowed) +* [isStatic](/api/classes/body#isstatic) +* [isWorldLocked](/api/classes/body#isworldlocked) +* [resetMassData](/api/classes/body#resetmassdata) +* [setActive](/api/classes/body#setactive) +* [setAngle](/api/classes/body#setangle) +* [setAngularDamping](/api/classes/body#setangulardamping) +* [setAngularVelocity](/api/classes/body#setangularvelocity) +* [setAwake](/api/classes/body#setawake) +* [setBullet](/api/classes/body#setbullet) +* [setDynamic](/api/classes/body#setdynamic) +* [setFixedRotation](/api/classes/body#setfixedrotation) +* [setGravityScale](/api/classes/body#setgravityscale) +* [setKinematic](/api/classes/body#setkinematic) +* [setLinearDamping](/api/classes/body#setlineardamping) +* [setLinearVelocity](/api/classes/body#setlinearvelocity) +* [setMassData](/api/classes/body#setmassdata) +* [setPosition](/api/classes/body#setposition) +* [setSleepingAllowed](/api/classes/body#setsleepingallowed) +* [setStatic](/api/classes/body#setstatic) +* [setTransform](/api/classes/body#settransform) +* [setType](/api/classes/body#settype) +* [setUserData](/api/classes/body#setuserdata) +* [shouldCollide](/api/classes/body#shouldcollide) +* [synchronizeFixtures](/api/classes/body#synchronizefixtures) +* [synchronizeTransform](/api/classes/body#synchronizetransform) ## Properties ### style -• **style**: *[Style](../interfaces/style.md)* +• **style**: *[Style](/api/interfaces/style)* Styling for dev-tools. @@ -100,7 +102,7 @@ ___ ### `Static` `Readonly` DYNAMIC -▪ **DYNAMIC**: *[BodyType](../globals.md#bodytype)* = "dynamic" +▪ **DYNAMIC**: *[BodyType](/api/globals#bodytype)* = "dynamic" A dynamic body is fully simulated. They can be moved manually by the user, but normally they move according to forces. @@ -112,7 +114,7 @@ ___ ### `Static` `Readonly` KINEMATIC -▪ **KINEMATIC**: *[BodyType](../globals.md#bodytype)* = "kinematic" +▪ **KINEMATIC**: *[BodyType](/api/globals#bodytype)* = "kinematic" A kinematic body moves under simulation according to its velocity. Kinematic bodies do not respond to forces. @@ -124,7 +126,7 @@ ___ ### `Static` `Readonly` STATIC -▪ **STATIC**: *[BodyType](../globals.md#bodytype)* = "static" +▪ **STATIC**: *[BodyType](/api/globals#bodytype)* = "static" A static body does not move under simulation and behaves as if it has infinite mass. Internally, zero is stored for the mass and the inverse mass. @@ -169,7 +171,7 @@ ___ ### applyForce -▸ **applyForce**(`force`: [Vec2Value](../interfaces/vec2value.md), `point`: [Vec2Value](../interfaces/vec2value.md), `wake`: boolean): *void* +▸ **applyForce**(`force`: [Vec2Value](/api/interfaces/vec2value), `point`: [Vec2Value](/api/interfaces/vec2value), `wake`: boolean): *void* Apply a force at a world point. If the force is not applied at the center of mass, it will generate a torque and affect the angular velocity. This wakes @@ -179,8 +181,8 @@ up the body. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`force` | [Vec2Value](../interfaces/vec2value.md) | - | The world force vector, usually in Newtons (N). | -`point` | [Vec2Value](../interfaces/vec2value.md) | - | The world position of the point of application. | +`force` | [Vec2Value](/api/interfaces/vec2value) | - | The world force vector, usually in Newtons (N). | +`point` | [Vec2Value](/api/interfaces/vec2value) | - | The world position of the point of application. | `wake` | boolean | true | Also wake up the body | **Returns:** *void* @@ -189,7 +191,7 @@ ___ ### applyForceToCenter -▸ **applyForceToCenter**(`force`: [Vec2Value](../interfaces/vec2value.md), `wake`: boolean): *void* +▸ **applyForceToCenter**(`force`: [Vec2Value](/api/interfaces/vec2value), `wake`: boolean): *void* Apply a force to the center of mass. This wakes up the body. @@ -197,7 +199,7 @@ Apply a force to the center of mass. This wakes up the body. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`force` | [Vec2Value](../interfaces/vec2value.md) | - | The world force vector, usually in Newtons (N). | +`force` | [Vec2Value](/api/interfaces/vec2value) | - | The world force vector, usually in Newtons (N). | `wake` | boolean | true | Also wake up the body | **Returns:** *void* @@ -206,7 +208,7 @@ ___ ### applyLinearImpulse -▸ **applyLinearImpulse**(`impulse`: [Vec2Value](../interfaces/vec2value.md), `point`: [Vec2Value](../interfaces/vec2value.md), `wake`: boolean): *void* +▸ **applyLinearImpulse**(`impulse`: [Vec2Value](/api/interfaces/vec2value), `point`: [Vec2Value](/api/interfaces/vec2value), `wake`: boolean): *void* Apply an impulse at a point. This immediately modifies the velocity. It also modifies the angular velocity if the point of application is not at the @@ -216,8 +218,8 @@ center of mass. This wakes up the body. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`impulse` | [Vec2Value](../interfaces/vec2value.md) | - | The world impulse vector, usually in N-seconds or kg-m/s. | -`point` | [Vec2Value](../interfaces/vec2value.md) | - | The world position of the point of application. | +`impulse` | [Vec2Value](/api/interfaces/vec2value) | - | The world impulse vector, usually in N-seconds or kg-m/s. | +`point` | [Vec2Value](/api/interfaces/vec2value) | - | The world position of the point of application. | `wake` | boolean | true | Also wake up the body | **Returns:** *void* @@ -244,7 +246,7 @@ ___ ### createFixture -▸ **createFixture**(`def`: [FixtureDef](../interfaces/fixturedef.md)): *[Fixture](fixture.md)* +▸ **createFixture**(`def`: [FixtureDef](/api/interfaces/fixturedef)): *[Fixture](/api/classes/fixture)* Creates a fixture and attach it to this body. @@ -259,37 +261,37 @@ Warning: This function is locked during callbacks. Name | Type | ------ | ------ | -`def` | [FixtureDef](../interfaces/fixturedef.md) | +`def` | [FixtureDef](/api/interfaces/fixturedef) | -**Returns:** *[Fixture](fixture.md)* +**Returns:** *[Fixture](/api/classes/fixture)* -▸ **createFixture**(`shape`: [Shape](shape.md), `opt?`: [FixtureOpt](../interfaces/fixtureopt.md)): *[Fixture](fixture.md)* +▸ **createFixture**(`shape`: [Shape](/api/classes/shape), `opt?`: [FixtureOpt](/api/interfaces/fixtureopt)): *[Fixture](/api/classes/fixture)* **Parameters:** Name | Type | ------ | ------ | -`shape` | [Shape](shape.md) | -`opt?` | [FixtureOpt](../interfaces/fixtureopt.md) | +`shape` | [Shape](/api/classes/shape) | +`opt?` | [FixtureOpt](/api/interfaces/fixtureopt) | -**Returns:** *[Fixture](fixture.md)* +**Returns:** *[Fixture](/api/classes/fixture)* -▸ **createFixture**(`shape`: [Shape](shape.md), `density?`: number): *[Fixture](fixture.md)* +▸ **createFixture**(`shape`: [Shape](/api/classes/shape), `density?`: number): *[Fixture](/api/classes/fixture)* **Parameters:** Name | Type | ------ | ------ | -`shape` | [Shape](shape.md) | +`shape` | [Shape](/api/classes/shape) | `density?` | number | -**Returns:** *[Fixture](fixture.md)* +**Returns:** *[Fixture](/api/classes/fixture)* ___ ### destroyFixture -▸ **destroyFixture**(`fixture`: [Fixture](fixture.md)): *void* +▸ **destroyFixture**(`fixture`: [Fixture](/api/classes/fixture)): *void* Destroy a fixture. This removes the fixture from the broad-phase and destroys all contacts associated with this fixture. This will automatically adjust the @@ -303,7 +305,7 @@ Warning: This function is locked during callbacks. Name | Type | Description | ------ | ------ | ------ | -`fixture` | [Fixture](fixture.md) | The fixture to be removed. | +`fixture` | [Fixture](/api/classes/fixture) | The fixture to be removed. | **Returns:** *void* @@ -341,20 +343,20 @@ ___ ### getContactList -▸ **getContactList**(): *[ContactEdge](contactedge.md) | null* +▸ **getContactList**(): *[ContactEdge](/api/classes/contactedge) | null* Warning: this list changes during the time step and you may miss some collisions if you don't use ContactListener. -**Returns:** *[ContactEdge](contactedge.md) | null* +**Returns:** *[ContactEdge](/api/classes/contactedge) | null* ___ ### getFixtureList -▸ **getFixtureList**(): *[Fixture](fixture.md) | null* +▸ **getFixtureList**(): *[Fixture](/api/classes/fixture) | null* -**Returns:** *[Fixture](fixture.md) | null* +**Returns:** *[Fixture](/api/classes/fixture) | null* ___ @@ -380,9 +382,9 @@ ___ ### getJointList -▸ **getJointList**(): *[JointEdge](jointedge.md) | null* +▸ **getJointList**(): *[JointEdge](/api/classes/jointedge) | null* -**Returns:** *[JointEdge](jointedge.md) | null* +**Returns:** *[JointEdge](/api/classes/jointedge) | null* ___ @@ -408,7 +410,7 @@ ___ ### getLinearVelocityFromLocalPoint -▸ **getLinearVelocityFromLocalPoint**(`localPoint`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getLinearVelocityFromLocalPoint**(`localPoint`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Get the world velocity of a local point. @@ -416,7 +418,7 @@ Get the world velocity of a local point. Name | Type | Description | ------ | ------ | ------ | -`localPoint` | [Vec2Value](../interfaces/vec2value.md) | A point in local coordinates. | +`localPoint` | [Vec2Value](/api/interfaces/vec2value) | A point in local coordinates. | **Returns:** *Vec2* @@ -424,7 +426,7 @@ ___ ### getLinearVelocityFromWorldPoint -▸ **getLinearVelocityFromWorldPoint**(`worldPoint`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getLinearVelocityFromWorldPoint**(`worldPoint`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Get the world linear velocity of a world point attached to this body. @@ -432,7 +434,7 @@ Get the world linear velocity of a world point attached to this body. Name | Type | Description | ------ | ------ | ------ | -`worldPoint` | [Vec2Value](../interfaces/vec2value.md) | A point in world coordinates. | +`worldPoint` | [Vec2Value](/api/interfaces/vec2value) | A point in world coordinates. | **Returns:** *Vec2* @@ -450,7 +452,7 @@ ___ ### getLocalPoint -▸ **getLocalPoint**(`worldPoint`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getLocalPoint**(`worldPoint`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Gets the corresponding local point of a world point. @@ -458,7 +460,7 @@ Gets the corresponding local point of a world point. Name | Type | ------ | ------ | -`worldPoint` | [Vec2Value](../interfaces/vec2value.md) | +`worldPoint` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *Vec2* @@ -466,7 +468,7 @@ ___ ### getLocalVector -▸ **getLocalVector**(`worldVector`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getLocalVector**(`worldVector`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Gets the corresponding local vector of a world vector. @@ -474,7 +476,7 @@ Gets the corresponding local vector of a world vector. Name | Type | ------ | ------ | -`worldVector` | [Vec2Value](../interfaces/vec2value.md) | +`worldVector` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *Vec2* @@ -494,7 +496,7 @@ ___ ### getMassData -▸ **getMassData**(`data`: [MassData](../interfaces/massdata.md)): *void* +▸ **getMassData**(`data`: [MassData](/api/interfaces/massdata)): *void* Copy the mass data of the body to data. @@ -502,7 +504,7 @@ Copy the mass data of the body to data. Name | Type | ------ | ------ | -`data` | [MassData](../interfaces/massdata.md) | +`data` | [MassData](/api/interfaces/massdata) | **Returns:** *void* @@ -510,9 +512,9 @@ ___ ### getNext -▸ **getNext**(): *[Body](body.md) | null* +▸ **getNext**(): *[Body](/api/classes/body) | null* -**Returns:** *[Body](body.md) | null* +**Returns:** *[Body](/api/classes/body) | null* ___ @@ -528,21 +530,21 @@ ___ ### getTransform -▸ **getTransform**(): *[Transform](transform.md)* +▸ **getTransform**(): *[Transform](/api/classes/transform)* Get the world transform for the body's origin. -**Returns:** *[Transform](transform.md)* +**Returns:** *[Transform](/api/classes/transform)* ___ ### getType -▸ **getType**(): *[BodyType](../globals.md#bodytype)* +▸ **getType**(): *[BodyType](/api/globals#bodytype)* Get the type of the body. -**Returns:** *[BodyType](../globals.md#bodytype)* +**Returns:** *[BodyType](/api/globals#bodytype)* ___ @@ -574,7 +576,7 @@ ___ ### getWorldPoint -▸ **getWorldPoint**(`localPoint`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getWorldPoint**(`localPoint`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Get the corresponding world point of a local point. @@ -582,7 +584,7 @@ Get the corresponding world point of a local point. Name | Type | ------ | ------ | -`localPoint` | [Vec2Value](../interfaces/vec2value.md) | +`localPoint` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *Vec2* @@ -590,7 +592,7 @@ ___ ### getWorldVector -▸ **getWorldVector**(`localVector`: [Vec2Value](../interfaces/vec2value.md)): *Vec2* +▸ **getWorldVector**(`localVector`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* Get the corresponding world vector of a local vector. @@ -598,7 +600,7 @@ Get the corresponding world vector of a local vector. Name | Type | ------ | ------ | -`localVector` | [Vec2Value](../interfaces/vec2value.md) | +`localVector` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *Vec2* @@ -792,9 +794,9 @@ ___ ### setDynamic -▸ **setDynamic**(): *[Body](body.md)* +▸ **setDynamic**(): *[Body](/api/classes/body)* -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ @@ -832,9 +834,9 @@ ___ ### setKinematic -▸ **setKinematic**(): *[Body](body.md)* +▸ **setKinematic**(): *[Body](/api/classes/body)* -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ @@ -854,7 +856,7 @@ ___ ### setLinearVelocity -▸ **setLinearVelocity**(`v`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **setLinearVelocity**(`v`: [Vec2Value](/api/interfaces/vec2value)): *void* Set the linear velocity of the center of mass. @@ -862,7 +864,7 @@ Set the linear velocity of the center of mass. Name | Type | Description | ------ | ------ | ------ | -`v` | [Vec2Value](../interfaces/vec2value.md) | The new linear velocity of the center of mass. | +`v` | [Vec2Value](/api/interfaces/vec2value) | The new linear velocity of the center of mass. | **Returns:** *void* @@ -870,7 +872,7 @@ ___ ### setMassData -▸ **setMassData**(`massData`: [MassData](../interfaces/massdata.md)): *void* +▸ **setMassData**(`massData`: [MassData](/api/interfaces/massdata)): *void* Set the mass properties to override the mass properties of the fixtures. Note that this changes the center of mass position. Note that creating or @@ -881,7 +883,7 @@ the body isn't dynamic. Name | Type | Description | ------ | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | The mass properties. | +`massData` | [MassData](/api/interfaces/massdata) | The mass properties. | **Returns:** *void* @@ -889,13 +891,13 @@ ___ ### setPosition -▸ **setPosition**(`p`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **setPosition**(`p`: [Vec2Value](/api/interfaces/vec2value)): *void* **Parameters:** Name | Type | ------ | ------ | -`p` | [Vec2Value](../interfaces/vec2value.md) | +`p` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *void* @@ -917,17 +919,17 @@ ___ ### setStatic -▸ **setStatic**(): *[Body](body.md)* +▸ **setStatic**(): *[Body](/api/classes/body)* This will alter the mass and velocity. -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ ### setTransform -▸ **setTransform**(`position`: [Vec2Value](../interfaces/vec2value.md), `angle`: number): *void* +▸ **setTransform**(`position`: [Vec2Value](/api/interfaces/vec2value), `angle`: number): *void* Set the position of the body's origin and rotation. Manipulating a body's transform may cause non-physical behavior. Note: contacts are updated on the @@ -937,7 +939,7 @@ next call to World.step. Name | Type | Description | ------ | ------ | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | The world position of the body's local origin. | +`position` | [Vec2Value](/api/interfaces/vec2value) | The world position of the body's local origin. | `angle` | number | The world rotation in radians. | **Returns:** *void* @@ -946,7 +948,7 @@ ___ ### setType -▸ **setType**(`type`: [BodyType](../globals.md#bodytype)): *void* +▸ **setType**(`type`: [BodyType](/api/globals#bodytype)): *void* Set the type of the body to "static", "kinematic" or "dynamic". @@ -954,7 +956,7 @@ Set the type of the body to "static", "kinematic" or "dynamic". Name | Type | Description | ------ | ------ | ------ | -`type` | [BodyType](../globals.md#bodytype) | The type of the body. | +`type` | [BodyType](/api/globals#bodytype) | The type of the body. | **Returns:** *void* @@ -976,7 +978,7 @@ ___ ### shouldCollide -▸ **shouldCollide**(`that`: [Body](body.md)): *boolean* +▸ **shouldCollide**(`that`: [Body](/api/classes/body)): *boolean* This is used to test if two bodies should collide. @@ -988,7 +990,7 @@ Bodies do not collide when: Name | Type | ------ | ------ | -`that` | [Body](body.md) | +`that` | [Body](/api/classes/body) | **Returns:** *boolean* diff --git a/docs/pages/api/classes/boxshape.md b/docs/pages/api/classes/boxshape.md new file mode 100644 index 00000000..f778a751 --- /dev/null +++ b/docs/pages/api/classes/boxshape.md @@ -0,0 +1,308 @@ +--- +showOutline: false +--- + +# Class: BoxShape + +A rectangle polygon which extend PolygonShape. + +## Hierarchy + + ↳ [PolygonShape](/api/classes/polygonshape) + + ↳ **BoxShape** + +## Index + +### Constructors + +* [constructor](/api/classes/boxshape#constructor) + +### Properties + +* [m_centroid](/api/classes/boxshape#m_centroid) +* [m_count](/api/classes/boxshape#m_count) +* [m_normals](/api/classes/boxshape#m_normals) +* [m_radius](/api/classes/boxshape#m_radius) +* [m_type](/api/classes/boxshape#m_type) +* [m_vertices](/api/classes/boxshape#m_vertices) +* [style](/api/classes/boxshape#style) +* [TYPE](/api/classes/boxshape#static-type) + +### Methods + +* [computeAABB](/api/classes/boxshape#computeaabb) +* [computeDistanceProxy](/api/classes/boxshape#computedistanceproxy) +* [computeMass](/api/classes/boxshape#computemass) +* [getChildCount](/api/classes/boxshape#getchildcount) +* [getRadius](/api/classes/boxshape#getradius) +* [getType](/api/classes/boxshape#gettype) +* [rayCast](/api/classes/boxshape#raycast) +* [testPoint](/api/classes/boxshape#testpoint) +* [validate](/api/classes/boxshape#validate) +* [isValid](/api/classes/boxshape#static-isvalid) + +## Constructors + +### constructor + +\+ **new BoxShape**(`hx`: number, `hy`: number, `center?`: [Vec2Value](/api/interfaces/vec2value), `angle?`: number): *[BoxShape](/api/classes/boxshape)* + +*Overrides [PolygonShape](/api/classes/polygonshape).[constructor](/api/classes/polygonshape#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`hx` | number | +`hy` | number | +`center?` | [Vec2Value](/api/interfaces/vec2value) | +`angle?` | number | + +**Returns:** *[BoxShape](/api/classes/boxshape)* + +## Properties + +### m_centroid + +• **m_centroid**: *Vec2* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_centroid](/api/classes/polygonshape#m_centroid)* + +___ + +### m_count + +• **m_count**: *number* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_count](/api/classes/polygonshape#m_count)* + +___ + +### m_normals + +• **m_normals**: *Vec2[]* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_normals](/api/classes/polygonshape#m_normals)* + +___ + +### m_radius + +• **m_radius**: *number* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_radius](/api/classes/polygonshape#m_radius)* + +*Overrides [Shape](/api/classes/shape).[m_radius](/api/classes/shape#m_radius)* + +___ + +### m_type + +• **m_type**: *"polygon"* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_type](/api/classes/polygonshape#m_type)* + +*Overrides [Shape](/api/classes/shape).[m_type](/api/classes/shape#m_type)* + +___ + +### m_vertices + +• **m_vertices**: *Vec2[]* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[m_vertices](/api/classes/polygonshape#m_vertices)* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Shape](/api/classes/shape).[style](/api/classes/shape#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"polygon"* = 'polygon' as const + +*Overrides [PolygonShape](/api/classes/polygonshape).[TYPE](/api/classes/polygonshape#static-type)* + +## Methods + +### computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[computeAABB](/api/classes/polygonshape#computeaabb)* + +*Overrides [Shape](/api/classes/shape).[computeAABB](/api/classes/shape#abstract-computeaabb)* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy)): *void* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[computeDistanceProxy](/api/classes/polygonshape#computedistanceproxy)* + +*Overrides [Shape](/api/classes/shape).[computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | + +**Returns:** *void* + +___ + +### computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density`: number): *void* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[computeMass](/api/classes/polygonshape#computemass)* + +*Overrides [Shape](/api/classes/shape).[computeMass](/api/classes/shape#abstract-computemass)* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### getChildCount + +▸ **getChildCount**(): *1* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[getChildCount](/api/classes/polygonshape#getchildcount)* + +*Overrides [Shape](/api/classes/shape).[getChildCount](/api/classes/shape#abstract-getchildcount)* + +Get the number of child primitives. + +**Returns:** *1* + +___ + +### getRadius + +▸ **getRadius**(): *number* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[getRadius](/api/classes/polygonshape#getradius)* + +*Overrides [Shape](/api/classes/shape).[getRadius](/api/classes/shape#abstract-getradius)* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *"polygon"* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[getType](/api/classes/polygonshape#gettype)* + +*Overrides [Shape](/api/classes/shape).[getType](/api/classes/shape#abstract-gettype)* + +**Returns:** *"polygon"* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[rayCast](/api/classes/polygonshape#raycast)* + +*Overrides [Shape](/api/classes/shape).[rayCast](/api/classes/shape#abstract-raycast)* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: Vec2): *boolean* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[testPoint](/api/classes/polygonshape#testpoint)* + +*Overrides [Shape](/api/classes/shape).[testPoint](/api/classes/shape#abstract-testpoint)* + +Test a point for containment in this shape. This only works for convex +shapes. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | Vec2 | A point in world coordinates. | + +**Returns:** *boolean* + +___ + +### validate + +▸ **validate**(): *boolean* + +*Inherited from [PolygonShape](/api/classes/polygonshape).[validate](/api/classes/polygonshape#validate)* + +Validate convexity. This is a very time consuming operation. + +**Returns:** *boolean* + +true if valid + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +*Inherited from [Shape](/api/classes/shape).[isValid](/api/classes/shape#static-isvalid)* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/api/classes/broadphase.md b/docs/pages/api/classes/broadphase.md similarity index 55% rename from docs/api/classes/broadphase.md rename to docs/pages/api/classes/broadphase.md index e1ed3927..30efd2ae 100644 --- a/docs/api/classes/broadphase.md +++ b/docs/pages/api/classes/broadphase.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [BroadPhase](broadphase.md) +--- +showOutline: false +--- # Class: BroadPhase @@ -13,31 +15,31 @@ objects and query them on update. ### Properties -* [m_callback](broadphase.md#m_callback) -* [m_moveBuffer](broadphase.md#m_movebuffer) -* [m_queryProxyId](broadphase.md#m_queryproxyid) -* [m_tree](broadphase.md#m_tree) +* [m_callback](/api/classes/broadphase#m_callback) +* [m_moveBuffer](/api/classes/broadphase#m_movebuffer) +* [m_queryProxyId](/api/classes/broadphase#m_queryproxyid) +* [m_tree](/api/classes/broadphase#m_tree) ### Methods -* [bufferMove](broadphase.md#buffermove) -* [createProxy](broadphase.md#createproxy) -* [destroyProxy](broadphase.md#destroyproxy) -* [getFatAABB](broadphase.md#getfataabb) -* [getProxyCount](broadphase.md#getproxycount) -* [getTreeBalance](broadphase.md#gettreebalance) -* [getTreeHeight](broadphase.md#gettreeheight) -* [getTreeQuality](broadphase.md#gettreequality) -* [getUserData](broadphase.md#getuserdata) -* [moveProxy](broadphase.md#moveproxy) -* [query](broadphase.md#query) -* [queryCallback](broadphase.md#querycallback) -* [rayCast](broadphase.md#raycast) -* [shiftOrigin](broadphase.md#shiftorigin) -* [testOverlap](broadphase.md#testoverlap) -* [touchProxy](broadphase.md#touchproxy) -* [unbufferMove](broadphase.md#unbuffermove) -* [updatePairs](broadphase.md#updatepairs) +* [bufferMove](/api/classes/broadphase#buffermove) +* [createProxy](/api/classes/broadphase#createproxy) +* [destroyProxy](/api/classes/broadphase#destroyproxy) +* [getFatAABB](/api/classes/broadphase#getfataabb) +* [getProxyCount](/api/classes/broadphase#getproxycount) +* [getTreeBalance](/api/classes/broadphase#gettreebalance) +* [getTreeHeight](/api/classes/broadphase#gettreeheight) +* [getTreeQuality](/api/classes/broadphase#gettreequality) +* [getUserData](/api/classes/broadphase#getuserdata) +* [moveProxy](/api/classes/broadphase#moveproxy) +* [query](/api/classes/broadphase#query) +* [queryCallback](/api/classes/broadphase#querycallback) +* [rayCast](/api/classes/broadphase#raycast) +* [shiftOrigin](/api/classes/broadphase#shiftorigin) +* [testOverlap](/api/classes/broadphase#testoverlap) +* [touchProxy](/api/classes/broadphase#touchproxy) +* [unbufferMove](/api/classes/broadphase#unbuffermove) +* [updatePairs](/api/classes/broadphase#updatepairs) ## Properties @@ -72,7 +74,7 @@ ___ ### m_tree -• **m_tree**: *[DynamicTree](dynamictree.md)‹[FixtureProxy](fixtureproxy.md)›* = new DynamicTree() +• **m_tree**: *[DynamicTree](/api/classes/dynamictree)‹[FixtureProxy](/api/classes/fixtureproxy)›* = new DynamicTree() ## Methods @@ -92,7 +94,7 @@ ___ ### createProxy -▸ **createProxy**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `userData`: [FixtureProxy](fixtureproxy.md)): *number* +▸ **createProxy**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `userData`: [FixtureProxy](/api/classes/fixtureproxy)): *number* Create a proxy with an initial AABB. Pairs are not reported until UpdatePairs is called. @@ -101,8 +103,8 @@ is called. Name | Type | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | -`userData` | [FixtureProxy](fixtureproxy.md) | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | +`userData` | [FixtureProxy](/api/classes/fixtureproxy) | **Returns:** *number* @@ -126,7 +128,7 @@ ___ ### getFatAABB -▸ **getFatAABB**(`proxyId`: number): *[AABB](aabb.md)* +▸ **getFatAABB**(`proxyId`: number): *[AABB](/api/classes/aabb)* Get the fat AABB for a proxy. @@ -136,7 +138,7 @@ Name | Type | ------ | ------ | `proxyId` | number | -**Returns:** *[AABB](aabb.md)* +**Returns:** *[AABB](/api/classes/aabb)* ___ @@ -182,7 +184,7 @@ ___ ### getUserData -▸ **getUserData**(`proxyId`: number): *[FixtureProxy](fixtureproxy.md)* +▸ **getUserData**(`proxyId`: number): *[FixtureProxy](/api/classes/fixtureproxy)* Get user data from a proxy. Returns null if the id is invalid. @@ -192,13 +194,13 @@ Name | Type | ------ | ------ | `proxyId` | number | -**Returns:** *[FixtureProxy](fixtureproxy.md)* +**Returns:** *[FixtureProxy](/api/classes/fixtureproxy)* ___ ### moveProxy -▸ **moveProxy**(`proxyId`: number, `aabb`: [AABB](aabb.md), `displacement`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **moveProxy**(`proxyId`: number, `aabb`: [AABB](/api/classes/aabb), `displacement`: [Vec2Value](/api/interfaces/vec2value)): *void* Call moveProxy as many times as you like, then when you are done call UpdatePairs to finalized the proxy pairs (for your time step). @@ -208,8 +210,8 @@ UpdatePairs to finalized the proxy pairs (for your time step). Name | Type | ------ | ------ | `proxyId` | number | -`aabb` | [AABB](aabb.md) | -`displacement` | [Vec2Value](../interfaces/vec2value.md) | +`aabb` | [AABB](/api/classes/aabb) | +`displacement` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *void* @@ -217,7 +219,7 @@ ___ ### query -▸ **query**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `queryCallback`: [DynamicTreeQueryCallback](../globals.md#dynamictreequerycallback)): *void* +▸ **query**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `queryCallback`: [DynamicTreeQueryCallback](/api/globals#dynamictreequerycallback)): *void* Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB. @@ -226,8 +228,8 @@ proxy that overlaps the supplied AABB. Name | Type | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | -`queryCallback` | [DynamicTreeQueryCallback](../globals.md#dynamictreequerycallback) | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | +`queryCallback` | [DynamicTreeQueryCallback](/api/globals#dynamictreequerycallback) | **Returns:** *void* @@ -249,7 +251,7 @@ ___ ### rayCast -▸ **rayCast**(`input`: [RayCastInput](../interfaces/raycastinput.md), `rayCastCallback`: [RayCastCallback](../globals.md#raycastcallback)): *void* +▸ **rayCast**(`input`: [RayCastInput](/api/interfaces/raycastinput), `rayCastCallback`: [RayCastCallback](/api/globals#raycastcallback)): *void* Ray-cast against the proxies in the tree. This relies on the callback to perform a exact ray-cast in the case were the proxy contains a shape. The @@ -261,8 +263,8 @@ number of proxies in the tree. Name | Type | Description | ------ | ------ | ------ | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input data. The ray extends from `p1` to `p1 + maxFraction * (p2 - p1)`. | -`rayCastCallback` | [RayCastCallback](../globals.md#raycastcallback) | A function that is called for each proxy that is hit by the ray. If the return value is a positive number it will update the maxFraction of the ray cast input, and if it is zero it will terminate they ray cast. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input data. The ray extends from `p1` to `p1 + maxFraction * (p2 - p1)`. | +`rayCastCallback` | [RayCastCallback](/api/globals#raycastcallback) | A function that is called for each proxy that is hit by the ray. If the return value is a positive number it will update the maxFraction of the ray cast input, and if it is zero it will terminate they ray cast. | **Returns:** *void* @@ -270,7 +272,7 @@ ___ ### shiftOrigin -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* Shift the world origin. Useful for large worlds. The shift formula is: position -= newOrigin @@ -279,7 +281,7 @@ position -= newOrigin Name | Type | Description | ------ | ------ | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | The new origin with respect to the old origin | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | The new origin with respect to the old origin | **Returns:** *void* @@ -343,13 +345,13 @@ Update the pairs. This results in pair callbacks. This can only add pairs. ▪ **addPairCallback**: *function* -▸ (`userDataA`: [FixtureProxy](fixtureproxy.md), `userDataB`: [FixtureProxy](fixtureproxy.md)): *void* +▸ (`userDataA`: [FixtureProxy](/api/classes/fixtureproxy), `userDataB`: [FixtureProxy](/api/classes/fixtureproxy)): *void* **Parameters:** Name | Type | ------ | ------ | -`userDataA` | [FixtureProxy](fixtureproxy.md) | -`userDataB` | [FixtureProxy](fixtureproxy.md) | +`userDataA` | [FixtureProxy](/api/classes/fixtureproxy) | +`userDataB` | [FixtureProxy](/api/classes/fixtureproxy) | **Returns:** *void* diff --git a/docs/pages/api/classes/chainshape.md b/docs/pages/api/classes/chainshape.md new file mode 100644 index 00000000..abb2ba75 --- /dev/null +++ b/docs/pages/api/classes/chainshape.md @@ -0,0 +1,384 @@ +--- +showOutline: false +--- + +# Class: ChainShape + +A chain shape is a free form sequence of line segments. The chain has +two-sided collision, so you can use inside and outside collision. Therefore, +you may use any winding order. Connectivity information is used to create +smooth collisions. + +WARNING: The chain will not collide properly if there are self-intersections. + +## Hierarchy + +* [Shape](/api/classes/shape) + + ↳ **ChainShape** + +## Index + +### Constructors + +* [constructor](/api/classes/chainshape#constructor) + +### Properties + +* [m_count](/api/classes/chainshape#m_count) +* [m_hasNextVertex](/api/classes/chainshape#m_hasnextvertex) +* [m_hasPrevVertex](/api/classes/chainshape#m_hasprevvertex) +* [m_isLoop](/api/classes/chainshape#m_isloop) +* [m_nextVertex](/api/classes/chainshape#m_nextvertex) +* [m_prevVertex](/api/classes/chainshape#m_prevvertex) +* [m_radius](/api/classes/chainshape#m_radius) +* [m_type](/api/classes/chainshape#m_type) +* [m_vertices](/api/classes/chainshape#m_vertices) +* [style](/api/classes/chainshape#style) +* [TYPE](/api/classes/chainshape#static-type) + +### Methods + +* [computeAABB](/api/classes/chainshape#computeaabb) +* [computeDistanceProxy](/api/classes/chainshape#computedistanceproxy) +* [computeMass](/api/classes/chainshape#computemass) +* [getChildCount](/api/classes/chainshape#getchildcount) +* [getChildEdge](/api/classes/chainshape#getchildedge) +* [getNextVertex](/api/classes/chainshape#getnextvertex) +* [getPrevVertex](/api/classes/chainshape#getprevvertex) +* [getRadius](/api/classes/chainshape#getradius) +* [getType](/api/classes/chainshape#gettype) +* [getVertex](/api/classes/chainshape#getvertex) +* [isLoop](/api/classes/chainshape#isloop) +* [rayCast](/api/classes/chainshape#raycast) +* [setNextVertex](/api/classes/chainshape#setnextvertex) +* [setPrevVertex](/api/classes/chainshape#setprevvertex) +* [testPoint](/api/classes/chainshape#testpoint) +* [isValid](/api/classes/chainshape#static-isvalid) + +## Constructors + +### constructor + +\+ **new ChainShape**(`vertices?`: [Vec2Value](/api/interfaces/vec2value)[], `loop?`: boolean): *[ChainShape](/api/classes/chainshape)* + +**Parameters:** + +Name | Type | +------ | ------ | +`vertices?` | [Vec2Value](/api/interfaces/vec2value)[] | +`loop?` | boolean | + +**Returns:** *[ChainShape](/api/classes/chainshape)* + +## Properties + +### m_count + +• **m_count**: *number* + +___ + +### m_hasNextVertex + +• **m_hasNextVertex**: *boolean* + +___ + +### m_hasPrevVertex + +• **m_hasPrevVertex**: *boolean* + +___ + +### m_isLoop + +• **m_isLoop**: *boolean* + +___ + +### m_nextVertex + +• **m_nextVertex**: *Vec2 | null* + +___ + +### m_prevVertex + +• **m_prevVertex**: *Vec2 | null* + +___ + +### m_radius + +• **m_radius**: *number* + +*Overrides [Shape](/api/classes/shape).[m_radius](/api/classes/shape#m_radius)* + +___ + +### m_type + +• **m_type**: *"chain"* + +*Overrides [Shape](/api/classes/shape).[m_type](/api/classes/shape#m_type)* + +___ + +### m_vertices + +• **m_vertices**: *Vec2[]* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Shape](/api/classes/shape).[style](/api/classes/shape#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"chain"* = 'chain' as const + +## Methods + +### computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeAABB](/api/classes/shape#abstract-computeaabb)* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy), `childIndex`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | +`childIndex` | number | + +**Returns:** *void* + +___ + +### computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density?`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeMass](/api/classes/shape#abstract-computemass)* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +Chains have zero mass. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density?` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### getChildCount + +▸ **getChildCount**(): *number* + +*Overrides [Shape](/api/classes/shape).[getChildCount](/api/classes/shape#abstract-getchildcount)* + +Get the number of child primitives. + +**Returns:** *number* + +___ + +### getChildEdge + +▸ **getChildEdge**(`edge`: [EdgeShape](/api/classes/edgeshape), `childIndex`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`edge` | [EdgeShape](/api/classes/edgeshape) | +`childIndex` | number | + +**Returns:** *void* + +___ + +### getNextVertex + +▸ **getNextVertex**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### getPrevVertex + +▸ **getPrevVertex**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### getRadius + +▸ **getRadius**(): *number* + +*Overrides [Shape](/api/classes/shape).[getRadius](/api/classes/shape#abstract-getradius)* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *"chain"* + +*Overrides [Shape](/api/classes/shape).[getType](/api/classes/shape#abstract-gettype)* + +**Returns:** *"chain"* + +___ + +### getVertex + +▸ **getVertex**(`index`: number): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`index` | number | + +**Returns:** *Vec2* + +___ + +### isLoop + +▸ **isLoop**(): *boolean* + +**Returns:** *boolean* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +*Overrides [Shape](/api/classes/shape).[rayCast](/api/classes/shape#abstract-raycast)* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### setNextVertex + +▸ **setNextVertex**(`nextVertex`: Vec2): *void* + +Establish connectivity to a vertex that follows the last vertex. Don't call +this for loops. + +**Parameters:** + +Name | Type | +------ | ------ | +`nextVertex` | Vec2 | + +**Returns:** *void* + +___ + +### setPrevVertex + +▸ **setPrevVertex**(`prevVertex`: Vec2): *void* + +Establish connectivity to a vertex that precedes the first vertex. Don't call +this for loops. + +**Parameters:** + +Name | Type | +------ | ------ | +`prevVertex` | Vec2 | + +**Returns:** *void* + +___ + +### testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value)): *false* + +*Overrides [Shape](/api/classes/shape).[testPoint](/api/classes/shape#abstract-testpoint)* + +Test a point for containment in this shape. This only works for convex +shapes. + +This always return false. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | [Vec2Value](/api/interfaces/vec2value) | A point in world coordinates. | + +**Returns:** *false* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +*Inherited from [Shape](/api/classes/shape).[isValid](/api/classes/shape#static-isvalid)* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/pages/api/classes/circleshape.md b/docs/pages/api/classes/circleshape.md new file mode 100644 index 00000000..39682258 --- /dev/null +++ b/docs/pages/api/classes/circleshape.md @@ -0,0 +1,255 @@ +--- +showOutline: false +--- + +# Class: CircleShape + +## Hierarchy + +* [Shape](/api/classes/shape) + + ↳ **CircleShape** + +## Index + +### Constructors + +* [constructor](/api/classes/circleshape#constructor) + +### Properties + +* [m_p](/api/classes/circleshape#m_p) +* [m_radius](/api/classes/circleshape#m_radius) +* [m_type](/api/classes/circleshape#m_type) +* [style](/api/classes/circleshape#style) +* [TYPE](/api/classes/circleshape#static-type) + +### Methods + +* [computeAABB](/api/classes/circleshape#computeaabb) +* [computeDistanceProxy](/api/classes/circleshape#computedistanceproxy) +* [computeMass](/api/classes/circleshape#computemass) +* [getCenter](/api/classes/circleshape#getcenter) +* [getChildCount](/api/classes/circleshape#getchildcount) +* [getRadius](/api/classes/circleshape#getradius) +* [getType](/api/classes/circleshape#gettype) +* [rayCast](/api/classes/circleshape#raycast) +* [testPoint](/api/classes/circleshape#testpoint) +* [isValid](/api/classes/circleshape#static-isvalid) + +## Constructors + +### constructor + +\+ **new CircleShape**(`position`: [Vec2Value](/api/interfaces/vec2value), `radius?`: number): *[CircleShape](/api/classes/circleshape)* + +**Parameters:** + +Name | Type | +------ | ------ | +`position` | [Vec2Value](/api/interfaces/vec2value) | +`radius?` | number | + +**Returns:** *[CircleShape](/api/classes/circleshape)* + +\+ **new CircleShape**(`radius?`: number): *[CircleShape](/api/classes/circleshape)* + +**Parameters:** + +Name | Type | +------ | ------ | +`radius?` | number | + +**Returns:** *[CircleShape](/api/classes/circleshape)* + +## Properties + +### m_p + +• **m_p**: *Vec2* + +___ + +### m_radius + +• **m_radius**: *number* + +*Overrides [Shape](/api/classes/shape).[m_radius](/api/classes/shape#m_radius)* + +___ + +### m_type + +• **m_type**: *"circle"* + +*Overrides [Shape](/api/classes/shape).[m_type](/api/classes/shape#m_type)* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Shape](/api/classes/shape).[style](/api/classes/shape#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"circle"* = 'circle' as const + +## Methods + +### computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeAABB](/api/classes/shape#abstract-computeaabb)* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy)): *void* + +*Overrides [Shape](/api/classes/shape).[computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | + +**Returns:** *void* + +___ + +### computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeMass](/api/classes/shape#abstract-computemass)* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### getCenter + +▸ **getCenter**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### getChildCount + +▸ **getChildCount**(): *1* + +*Overrides [Shape](/api/classes/shape).[getChildCount](/api/classes/shape#abstract-getchildcount)* + +Get the number of child primitives. + +**Returns:** *1* + +___ + +### getRadius + +▸ **getRadius**(): *number* + +*Overrides [Shape](/api/classes/shape).[getRadius](/api/classes/shape#abstract-getradius)* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *"circle"* + +*Overrides [Shape](/api/classes/shape).[getType](/api/classes/shape#abstract-gettype)* + +**Returns:** *"circle"* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +*Overrides [Shape](/api/classes/shape).[rayCast](/api/classes/shape#abstract-raycast)* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value)): *boolean* + +*Overrides [Shape](/api/classes/shape).[testPoint](/api/classes/shape#abstract-testpoint)* + +Test a point for containment in this shape. This only works for convex +shapes. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | [Vec2Value](/api/interfaces/vec2value) | A point in world coordinates. | + +**Returns:** *boolean* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +*Inherited from [Shape](/api/classes/shape).[isValid](/api/classes/shape#static-isvalid)* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/pages/api/classes/clipvertex.md b/docs/pages/api/classes/clipvertex.md new file mode 100644 index 00000000..af74f1fd --- /dev/null +++ b/docs/pages/api/classes/clipvertex.md @@ -0,0 +1,57 @@ +--- +showOutline: false +--- + +# Class: ClipVertex + +Used for computing contact manifolds. + +## Hierarchy + +* **ClipVertex** + +## Index + +### Properties + +* [id](/api/classes/clipvertex#id) +* [v](/api/classes/clipvertex#v) + +### Methods + +* [recycle](/api/classes/clipvertex#recycle) +* [set](/api/classes/clipvertex#set) + +## Properties + +### id + +• **id**: *[ContactID](/api/classes/contactid)* = new ContactID() + +___ + +### v + +• **v**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* + +___ + +### set + +▸ **set**(`o`: [ClipVertex](/api/classes/clipvertex)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | [ClipVertex](/api/classes/clipvertex) | + +**Returns:** *void* diff --git a/docs/api/classes/contact.md b/docs/pages/api/classes/contact.md similarity index 54% rename from docs/api/classes/contact.md rename to docs/pages/api/classes/contact.md index a634033e..b29a73de 100644 --- a/docs/api/classes/contact.md +++ b/docs/pages/api/classes/contact.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Contact](contact.md) +--- +showOutline: false +--- # Class: Contact @@ -14,40 +16,40 @@ object may exist that has no contact points. ### Methods -* [evaluate](contact.md#evaluate) -* [flagForFiltering](contact.md#flagforfiltering) -* [getChildIndexA](contact.md#getchildindexa) -* [getChildIndexB](contact.md#getchildindexb) -* [getFixtureA](contact.md#getfixturea) -* [getFixtureB](contact.md#getfixtureb) -* [getFriction](contact.md#getfriction) -* [getManifold](contact.md#getmanifold) -* [getNext](contact.md#getnext) -* [getRestitution](contact.md#getrestitution) -* [getTangentSpeed](contact.md#gettangentspeed) -* [getWorldManifold](contact.md#getworldmanifold) -* [initConstraint](contact.md#initconstraint) -* [initVelocityConstraint](contact.md#initvelocityconstraint) -* [isEnabled](contact.md#isenabled) -* [isTouching](contact.md#istouching) -* [resetFriction](contact.md#resetfriction) -* [resetRestitution](contact.md#resetrestitution) -* [setEnabled](contact.md#setenabled) -* [setFriction](contact.md#setfriction) -* [setRestitution](contact.md#setrestitution) -* [setTangentSpeed](contact.md#settangentspeed) -* [solvePositionConstraint](contact.md#solvepositionconstraint) -* [solvePositionConstraintTOI](contact.md#solvepositionconstrainttoi) -* [solveVelocityConstraint](contact.md#solvevelocityconstraint) -* [storeConstraintImpulses](contact.md#storeconstraintimpulses) -* [update](contact.md#update) -* [warmStartConstraint](contact.md#warmstartconstraint) +* [evaluate](/api/classes/contact#evaluate) +* [flagForFiltering](/api/classes/contact#flagforfiltering) +* [getChildIndexA](/api/classes/contact#getchildindexa) +* [getChildIndexB](/api/classes/contact#getchildindexb) +* [getFixtureA](/api/classes/contact#getfixturea) +* [getFixtureB](/api/classes/contact#getfixtureb) +* [getFriction](/api/classes/contact#getfriction) +* [getManifold](/api/classes/contact#getmanifold) +* [getNext](/api/classes/contact#getnext) +* [getRestitution](/api/classes/contact#getrestitution) +* [getTangentSpeed](/api/classes/contact#gettangentspeed) +* [getWorldManifold](/api/classes/contact#getworldmanifold) +* [initConstraint](/api/classes/contact#initconstraint) +* [initVelocityConstraint](/api/classes/contact#initvelocityconstraint) +* [isEnabled](/api/classes/contact#isenabled) +* [isTouching](/api/classes/contact#istouching) +* [resetFriction](/api/classes/contact#resetfriction) +* [resetRestitution](/api/classes/contact#resetrestitution) +* [setEnabled](/api/classes/contact#setenabled) +* [setFriction](/api/classes/contact#setfriction) +* [setRestitution](/api/classes/contact#setrestitution) +* [setTangentSpeed](/api/classes/contact#settangentspeed) +* [solvePositionConstraint](/api/classes/contact#solvepositionconstraint) +* [solvePositionConstraintTOI](/api/classes/contact#solvepositionconstrainttoi) +* [solveVelocityConstraint](/api/classes/contact#solvevelocityconstraint) +* [storeConstraintImpulses](/api/classes/contact#storeconstraintimpulses) +* [update](/api/classes/contact#update) +* [warmStartConstraint](/api/classes/contact#warmstartconstraint) ## Methods ### evaluate -▸ **evaluate**(`manifold`: [Manifold](manifold.md), `xfA`: [TransformValue](../globals.md#transformvalue), `xfB`: [TransformValue](../globals.md#transformvalue)): *void* +▸ **evaluate**(`manifold`: [Manifold](/api/classes/manifold), `xfA`: [TransformValue](/api/globals#transformvalue), `xfB`: [TransformValue](/api/globals#transformvalue)): *void* Called by Update method, and implemented by subclasses. @@ -55,9 +57,9 @@ Called by Update method, and implemented by subclasses. Name | Type | ------ | ------ | -`manifold` | [Manifold](manifold.md) | -`xfA` | [TransformValue](../globals.md#transformvalue) | -`xfB` | [TransformValue](../globals.md#transformvalue) | +`manifold` | [Manifold](/api/classes/manifold) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`xfB` | [TransformValue](/api/globals#transformvalue) | **Returns:** *void* @@ -95,21 +97,21 @@ ___ ### getFixtureA -▸ **getFixtureA**(): *[Fixture](fixture.md)* +▸ **getFixtureA**(): *[Fixture](/api/classes/fixture)* Get fixture A in this contact. -**Returns:** *[Fixture](fixture.md)* +**Returns:** *[Fixture](/api/classes/fixture)* ___ ### getFixtureB -▸ **getFixtureB**(): *[Fixture](fixture.md)* +▸ **getFixtureB**(): *[Fixture](/api/classes/fixture)* Get fixture B in this contact. -**Returns:** *[Fixture](fixture.md)* +**Returns:** *[Fixture](/api/classes/fixture)* ___ @@ -125,22 +127,22 @@ ___ ### getManifold -▸ **getManifold**(): *[Manifold](manifold.md)* +▸ **getManifold**(): *[Manifold](/api/classes/manifold)* Get the contact manifold. Do not modify the manifold unless you understand the internals of the library. -**Returns:** *[Manifold](manifold.md)* +**Returns:** *[Manifold](/api/classes/manifold)* ___ ### getNext -▸ **getNext**(): *[Contact](contact.md) | null* +▸ **getNext**(): *[Contact](/api/classes/contact) | null* Get the next contact in the world's contact list. -**Returns:** *[Contact](contact.md) | null* +**Returns:** *[Contact](/api/classes/contact) | null* ___ @@ -166,7 +168,7 @@ ___ ### getWorldManifold -▸ **getWorldManifold**(`worldManifold`: [WorldManifold](worldmanifold.md) | null): *[WorldManifold](worldmanifold.md) | undefined* +▸ **getWorldManifold**(`worldManifold`: [WorldManifold](/api/classes/worldmanifold) | null): *[WorldManifold](/api/classes/worldmanifold) | undefined* Get the world manifold. @@ -174,21 +176,21 @@ Get the world manifold. Name | Type | ------ | ------ | -`worldManifold` | [WorldManifold](worldmanifold.md) | null | +`worldManifold` | [WorldManifold](/api/classes/worldmanifold) | null | -**Returns:** *[WorldManifold](worldmanifold.md) | undefined* +**Returns:** *[WorldManifold](/api/classes/worldmanifold) | undefined* ___ ### initConstraint -▸ **initConstraint**(`step`: [TimeStep](timestep.md)): *void* +▸ **initConstraint**(`step`: [TimeStep](/api/classes/timestep)): *void* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* @@ -196,13 +198,13 @@ ___ ### initVelocityConstraint -▸ **initVelocityConstraint**(`step`: [TimeStep](timestep.md)): *void* +▸ **initVelocityConstraint**(`step`: [TimeStep](/api/classes/timestep)): *void* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* @@ -319,13 +321,13 @@ ___ ### solvePositionConstraint -▸ **solvePositionConstraint**(`step`: [TimeStep](timestep.md)): *number* +▸ **solvePositionConstraint**(`step`: [TimeStep](/api/classes/timestep)): *number* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *number* @@ -333,15 +335,15 @@ ___ ### solvePositionConstraintTOI -▸ **solvePositionConstraintTOI**(`step`: [TimeStep](timestep.md), `toiA`: [Body](body.md), `toiB`: [Body](body.md)): *number* +▸ **solvePositionConstraintTOI**(`step`: [TimeStep](/api/classes/timestep), `toiA`: [Body](/api/classes/body), `toiB`: [Body](/api/classes/body)): *number* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | -`toiA` | [Body](body.md) | -`toiB` | [Body](body.md) | +`step` | [TimeStep](/api/classes/timestep) | +`toiA` | [Body](/api/classes/body) | +`toiB` | [Body](/api/classes/body) | **Returns:** *number* @@ -349,13 +351,13 @@ ___ ### solveVelocityConstraint -▸ **solveVelocityConstraint**(`step`: [TimeStep](timestep.md)): *void* +▸ **solveVelocityConstraint**(`step`: [TimeStep](/api/classes/timestep)): *void* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* @@ -363,13 +365,13 @@ ___ ### storeConstraintImpulses -▸ **storeConstraintImpulses**(`step`: [TimeStep](timestep.md)): *void* +▸ **storeConstraintImpulses**(`step`: [TimeStep](/api/classes/timestep)): *void* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* @@ -399,12 +401,12 @@ ___ ### warmStartConstraint -▸ **warmStartConstraint**(`step`: [TimeStep](timestep.md)): *void* +▸ **warmStartConstraint**(`step`: [TimeStep](/api/classes/timestep)): *void* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* diff --git a/docs/pages/api/classes/contactedge.md b/docs/pages/api/classes/contactedge.md new file mode 100644 index 00000000..9be87b64 --- /dev/null +++ b/docs/pages/api/classes/contactedge.md @@ -0,0 +1,65 @@ +--- +showOutline: false +--- + +# Class: ContactEdge + +A contact edge is used to connect bodies and contacts together in a contact +graph where each body is a node and each contact is an edge. A contact edge +belongs to a doubly linked list maintained in each attached body. Each +contact has two contact nodes, one for each attached body. + +## Hierarchy + +* **ContactEdge** + +## Index + +### Constructors + +* [constructor](/api/classes/contactedge#constructor) + +### Properties + +* [contact](/api/classes/contactedge#contact) +* [next](/api/classes/contactedge#next) +* [other](/api/classes/contactedge#other) +* [prev](/api/classes/contactedge#prev) + +## Constructors + +### constructor + +\+ **new ContactEdge**(`contact`: [Contact](/api/classes/contact)): *[ContactEdge](/api/classes/contactedge)* + +**Parameters:** + +Name | Type | +------ | ------ | +`contact` | [Contact](/api/classes/contact) | + +**Returns:** *[ContactEdge](/api/classes/contactedge)* + +## Properties + +### contact + +• **contact**: *[Contact](/api/classes/contact)* + +___ + +### next + +• **next**: *[ContactEdge](/api/classes/contactedge) | null* = null + +___ + +### other + +• **other**: *[Body](/api/classes/body) | null* = null + +___ + +### prev + +• **prev**: *[ContactEdge](/api/classes/contactedge) | null* = null diff --git a/docs/api/classes/contactid.md b/docs/pages/api/classes/contactid.md similarity index 50% rename from docs/api/classes/contactid.md rename to docs/pages/api/classes/contactid.md index fd1500a2..540804ad 100644 --- a/docs/api/classes/contactid.md +++ b/docs/pages/api/classes/contactid.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ContactID](contactid.md) +--- +showOutline: false +--- # Class: ContactID @@ -14,18 +16,18 @@ ContactFeature: The features that intersect to form the contact point. ### Properties -* [indexA](contactid.md#indexa) -* [indexB](contactid.md#indexb) -* [key](contactid.md#key) -* [typeA](contactid.md#typea) -* [typeB](contactid.md#typeb) +* [indexA](/api/classes/contactid#indexa) +* [indexB](/api/classes/contactid#indexb) +* [key](/api/classes/contactid#key) +* [typeA](/api/classes/contactid#typea) +* [typeB](/api/classes/contactid#typeb) ### Methods -* [recycle](contactid.md#recycle) -* [set](contactid.md#set) -* [setFeatures](contactid.md#setfeatures) -* [swapFeatures](contactid.md#swapfeatures) +* [recycle](/api/classes/contactid#recycle) +* [set](/api/classes/contactid#set) +* [setFeatures](/api/classes/contactid#setfeatures) +* [swapFeatures](/api/classes/contactid#swapfeatures) ## Properties @@ -55,7 +57,7 @@ ___ ### typeA -• **typeA**: *[ContactFeatureType](../enums/contactfeaturetype.md)* = ContactFeatureType.e_unset +• **typeA**: *[ContactFeatureType](/api/enums/contactfeaturetype)* = ContactFeatureType.e_unset ContactFeature type on shapeA @@ -63,7 +65,7 @@ ___ ### typeB -• **typeB**: *[ContactFeatureType](../enums/contactfeaturetype.md)* = ContactFeatureType.e_unset +• **typeB**: *[ContactFeatureType](/api/enums/contactfeaturetype)* = ContactFeatureType.e_unset ContactFeature type on shapeB @@ -79,13 +81,13 @@ ___ ### set -▸ **set**(`that`: [ContactID](contactid.md)): *void* +▸ **set**(`that`: [ContactID](/api/classes/contactid)): *void* **Parameters:** Name | Type | ------ | ------ | -`that` | [ContactID](contactid.md) | +`that` | [ContactID](/api/classes/contactid) | **Returns:** *void* @@ -93,16 +95,16 @@ ___ ### setFeatures -▸ **setFeatures**(`indexA`: number, `typeA`: [ContactFeatureType](../enums/contactfeaturetype.md), `indexB`: number, `typeB`: [ContactFeatureType](../enums/contactfeaturetype.md)): *void* +▸ **setFeatures**(`indexA`: number, `typeA`: [ContactFeatureType](/api/enums/contactfeaturetype), `indexB`: number, `typeB`: [ContactFeatureType](/api/enums/contactfeaturetype)): *void* **Parameters:** Name | Type | ------ | ------ | `indexA` | number | -`typeA` | [ContactFeatureType](../enums/contactfeaturetype.md) | +`typeA` | [ContactFeatureType](/api/enums/contactfeaturetype) | `indexB` | number | -`typeB` | [ContactFeatureType](../enums/contactfeaturetype.md) | +`typeB` | [ContactFeatureType](/api/enums/contactfeaturetype) | **Returns:** *void* diff --git a/docs/api/classes/contactimpulse.md b/docs/pages/api/classes/contactimpulse.md similarity index 58% rename from docs/api/classes/contactimpulse.md rename to docs/pages/api/classes/contactimpulse.md index 4f1d4eb5..10a32edf 100644 --- a/docs/api/classes/contactimpulse.md +++ b/docs/pages/api/classes/contactimpulse.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ContactImpulse](contactimpulse.md) +--- +showOutline: false +--- # Class: ContactImpulse @@ -14,30 +16,30 @@ up one-to-one with the contact points in Manifold. ### Constructors -* [constructor](contactimpulse.md#constructor) +* [constructor](/api/classes/contactimpulse#constructor) ### Accessors -* [normalImpulses](contactimpulse.md#normalimpulses) -* [tangentImpulses](contactimpulse.md#tangentimpulses) +* [normalImpulses](/api/classes/contactimpulse#normalimpulses) +* [tangentImpulses](/api/classes/contactimpulse#tangentimpulses) ### Methods -* [recycle](contactimpulse.md#recycle) +* [recycle](/api/classes/contactimpulse#recycle) ## Constructors ### constructor -\+ **new ContactImpulse**(`contact`: [Contact](contact.md)): *[ContactImpulse](contactimpulse.md)* +\+ **new ContactImpulse**(`contact`: [Contact](/api/classes/contact)): *[ContactImpulse](/api/classes/contactimpulse)* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | +`contact` | [Contact](/api/classes/contact) | -**Returns:** *[ContactImpulse](contactimpulse.md)* +**Returns:** *[ContactImpulse](/api/classes/contactimpulse)* ## Accessors diff --git a/docs/pages/api/classes/distanceinput.md b/docs/pages/api/classes/distanceinput.md new file mode 100644 index 00000000..9a15fff8 --- /dev/null +++ b/docs/pages/api/classes/distanceinput.md @@ -0,0 +1,64 @@ +--- +showOutline: false +--- + +# Class: DistanceInput + +Input for Distance. You have to option to use the shape radii in the +computation. Even + +## Hierarchy + +* **DistanceInput** + +## Index + +### Properties + +* [proxyA](/api/classes/distanceinput#readonly-proxya) +* [proxyB](/api/classes/distanceinput#readonly-proxyb) +* [transformA](/api/classes/distanceinput#readonly-transforma) +* [transformB](/api/classes/distanceinput#readonly-transformb) +* [useRadii](/api/classes/distanceinput#useradii) + +### Methods + +* [recycle](/api/classes/distanceinput#recycle) + +## Properties + +### `Readonly` proxyA + +• **proxyA**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### `Readonly` proxyB + +• **proxyB**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### `Readonly` transformA + +• **transformA**: *[Transform](/api/classes/transform)‹›* = Transform.identity() + +___ + +### `Readonly` transformB + +• **transformB**: *[Transform](/api/classes/transform)‹›* = Transform.identity() + +___ + +### useRadii + +• **useRadii**: *boolean* = false + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/pages/api/classes/distancejoint.md b/docs/pages/api/classes/distancejoint.md new file mode 100644 index 00000000..00899d2d --- /dev/null +++ b/docs/pages/api/classes/distancejoint.md @@ -0,0 +1,419 @@ +--- +showOutline: false +--- + +# Class: DistanceJoint + +A distance joint constrains two points on two bodies to remain at a fixed +distance from each other. You can view this as a massless, rigid rod. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **DistanceJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/distancejoint#constructor) + +### Properties + +* [style](/api/classes/distancejoint#style) +* [TYPE](/api/classes/distancejoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/distancejoint#getanchora) +* [getAnchorB](/api/classes/distancejoint#getanchorb) +* [getBodyA](/api/classes/distancejoint#getbodya) +* [getBodyB](/api/classes/distancejoint#getbodyb) +* [getCollideConnected](/api/classes/distancejoint#getcollideconnected) +* [getDampingRatio](/api/classes/distancejoint#getdampingratio) +* [getFrequency](/api/classes/distancejoint#getfrequency) +* [getLength](/api/classes/distancejoint#getlength) +* [getLocalAnchorA](/api/classes/distancejoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/distancejoint#getlocalanchorb) +* [getNext](/api/classes/distancejoint#getnext) +* [getReactionForce](/api/classes/distancejoint#getreactionforce) +* [getReactionTorque](/api/classes/distancejoint#getreactiontorque) +* [getType](/api/classes/distancejoint#gettype) +* [getUserData](/api/classes/distancejoint#getuserdata) +* [initVelocityConstraints](/api/classes/distancejoint#initvelocityconstraints) +* [isActive](/api/classes/distancejoint#isactive) +* [setDampingRatio](/api/classes/distancejoint#setdampingratio) +* [setFrequency](/api/classes/distancejoint#setfrequency) +* [setLength](/api/classes/distancejoint#setlength) +* [setUserData](/api/classes/distancejoint#setuserdata) +* [shiftOrigin](/api/classes/distancejoint#shiftorigin) +* [solvePositionConstraints](/api/classes/distancejoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/distancejoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new DistanceJoint**(`def`: [DistanceJointDef](/api/interfaces/distancejointdef)): *[DistanceJoint](/api/classes/distancejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`def` | [DistanceJointDef](/api/interfaces/distancejointdef) | DistanceJoint definition. | + +**Returns:** *[DistanceJoint](/api/classes/distancejoint)* + +\+ **new DistanceJoint**(`def`: [DistanceJointOpt](/api/interfaces/distancejointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchorA`: [Vec2Value](/api/interfaces/vec2value), `anchorB`: [Vec2Value](/api/interfaces/vec2value)): *[DistanceJoint](/api/classes/distancejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`def` | [DistanceJointOpt](/api/interfaces/distancejointopt) | DistanceJoint definition. | +`bodyA` | [Body](/api/classes/body) | - | +`bodyB` | [Body](/api/classes/body) | - | +`anchorA` | [Vec2Value](/api/interfaces/vec2value) | Anchor A in global coordination. | +`anchorB` | [Vec2Value](/api/interfaces/vec2value) | Anchor B in global coordination. | + +**Returns:** *[DistanceJoint](/api/classes/distancejoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"distance-joint"* = 'distance-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getDampingRatio + +▸ **getDampingRatio**(): *number* + +**Returns:** *number* + +___ + +### getFrequency + +▸ **getFrequency**(): *number* + +**Returns:** *number* + +___ + +### getLength + +▸ **getLength**(): *number* + +Get the natural length. + +**Returns:** *number* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setDampingRatio + +▸ **setDampingRatio**(`ratio`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`ratio` | number | + +**Returns:** *void* + +___ + +### setFrequency + +▸ **setFrequency**(`hz`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`hz` | number | + +**Returns:** *void* + +___ + +### setLength + +▸ **setLength**(`length`: number): *void* + +Set the natural length. Manipulating the length can lead to non-physical +behavior when the frequency is zero. + +**Parameters:** + +Name | Type | +------ | ------ | +`length` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/distanceoutput.md b/docs/pages/api/classes/distanceoutput.md new file mode 100644 index 00000000..3d0594c1 --- /dev/null +++ b/docs/pages/api/classes/distanceoutput.md @@ -0,0 +1,62 @@ +--- +showOutline: false +--- + +# Class: DistanceOutput + +Output for Distance. + +## Hierarchy + +* **DistanceOutput** + +## Index + +### Properties + +* [distance](/api/classes/distanceoutput#distance) +* [iterations](/api/classes/distanceoutput#iterations) +* [pointA](/api/classes/distanceoutput#pointa) +* [pointB](/api/classes/distanceoutput#pointb) + +### Methods + +* [recycle](/api/classes/distanceoutput#recycle) + +## Properties + +### distance + +• **distance**: *number* = 0 + +___ + +### iterations + +• **iterations**: *number* = 0 + +iterations number of GJK iterations used + +___ + +### pointA + +• **pointA**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +closest point on shapeA + +___ + +### pointB + +• **pointB**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +closest point on shapeB + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/api/classes/distanceproxy.md b/docs/pages/api/classes/distanceproxy.md similarity index 51% rename from docs/api/classes/distanceproxy.md rename to docs/pages/api/classes/distanceproxy.md index 4cd3cc65..f0ccd09f 100644 --- a/docs/api/classes/distanceproxy.md +++ b/docs/pages/api/classes/distanceproxy.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceProxy](distanceproxy.md) +--- +showOutline: false +--- # Class: DistanceProxy @@ -12,19 +14,19 @@ A distance proxy is used by the GJK algorithm. It encapsulates any shape. ### Methods -* [getSupport](distanceproxy.md#getsupport) -* [getSupportVertex](distanceproxy.md#getsupportvertex) -* [getVertex](distanceproxy.md#getvertex) -* [getVertexCount](distanceproxy.md#getvertexcount) -* [recycle](distanceproxy.md#recycle) -* [set](distanceproxy.md#set) -* [setVertices](distanceproxy.md#setvertices) +* [getSupport](/api/classes/distanceproxy#getsupport) +* [getSupportVertex](/api/classes/distanceproxy#getsupportvertex) +* [getVertex](/api/classes/distanceproxy#getvertex) +* [getVertexCount](/api/classes/distanceproxy#getvertexcount) +* [recycle](/api/classes/distanceproxy#recycle) +* [set](/api/classes/distanceproxy#set) +* [setVertices](/api/classes/distanceproxy#setvertices) ## Methods ### getSupport -▸ **getSupport**(`d`: [Vec2Value](../interfaces/vec2value.md)): *number* +▸ **getSupport**(`d`: [Vec2Value](/api/interfaces/vec2value)): *number* Get the supporting vertex index in the given direction. @@ -32,7 +34,7 @@ Get the supporting vertex index in the given direction. Name | Type | ------ | ------ | -`d` | [Vec2Value](../interfaces/vec2value.md) | +`d` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *number* @@ -40,7 +42,7 @@ ___ ### getSupportVertex -▸ **getSupportVertex**(`d`: [Vec2Value](../interfaces/vec2value.md)): *[Vec2Value](../interfaces/vec2value.md)* +▸ **getSupportVertex**(`d`: [Vec2Value](/api/interfaces/vec2value)): *[Vec2Value](/api/interfaces/vec2value)* Get the supporting vertex in the given direction. @@ -48,15 +50,15 @@ Get the supporting vertex in the given direction. Name | Type | ------ | ------ | -`d` | [Vec2Value](../interfaces/vec2value.md) | +`d` | [Vec2Value](/api/interfaces/vec2value) | -**Returns:** *[Vec2Value](../interfaces/vec2value.md)* +**Returns:** *[Vec2Value](/api/interfaces/vec2value)* ___ ### getVertex -▸ **getVertex**(`index`: number): *[Vec2Value](../interfaces/vec2value.md)* +▸ **getVertex**(`index`: number): *[Vec2Value](/api/interfaces/vec2value)* Get a vertex by index. Used by Distance. @@ -66,7 +68,7 @@ Name | Type | ------ | ------ | `index` | number | -**Returns:** *[Vec2Value](../interfaces/vec2value.md)* +**Returns:** *[Vec2Value](/api/interfaces/vec2value)* ___ @@ -90,7 +92,7 @@ ___ ### set -▸ **set**(`shape`: [Shape](shape.md), `index`: number): *void* +▸ **set**(`shape`: [Shape](/api/classes/shape), `index`: number): *void* Initialize the proxy using the given shape. The shape must remain in scope while the proxy is in use. @@ -99,7 +101,7 @@ while the proxy is in use. Name | Type | ------ | ------ | -`shape` | [Shape](shape.md) | +`shape` | [Shape](/api/classes/shape) | `index` | number | **Returns:** *void* @@ -108,7 +110,7 @@ ___ ### setVertices -▸ **setVertices**(`vertices`: [Vec2Value](../interfaces/vec2value.md)[], `count`: number, `radius`: number): *void* +▸ **setVertices**(`vertices`: [Vec2Value](/api/interfaces/vec2value)[], `count`: number, `radius`: number): *void* Initialize the proxy using a vertex cloud and radius. The vertices must remain in scope while the proxy is in use. @@ -117,7 +119,7 @@ must remain in scope while the proxy is in use. Name | Type | ------ | ------ | -`vertices` | [Vec2Value](../interfaces/vec2value.md)[] | +`vertices` | [Vec2Value](/api/interfaces/vec2value)[] | `count` | number | `radius` | number | diff --git a/docs/api/classes/dynamictree.md b/docs/pages/api/classes/dynamictree.md similarity index 52% rename from docs/api/classes/dynamictree.md rename to docs/pages/api/classes/dynamictree.md index c69b22d4..f8237fbe 100644 --- a/docs/api/classes/dynamictree.md +++ b/docs/pages/api/classes/dynamictree.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DynamicTree](dynamictree.md) +--- +showOutline: false +--- # Class: DynamicTree ‹**T**› @@ -24,45 +26,45 @@ pointers. ### Constructors -* [constructor](dynamictree.md#constructor) +* [constructor](/api/classes/dynamictree#constructor) ### Properties -* [m_lastProxyId](dynamictree.md#m_lastproxyid) -* [m_nodes](dynamictree.md#m_nodes) -* [m_root](dynamictree.md#m_root) +* [m_lastProxyId](/api/classes/dynamictree#m_lastproxyid) +* [m_nodes](/api/classes/dynamictree#m_nodes) +* [m_root](/api/classes/dynamictree#m_root) ### Methods -* [allocateNode](dynamictree.md#allocatenode) -* [balance](dynamictree.md#balance) -* [computeHeight](dynamictree.md#computeheight) -* [createProxy](dynamictree.md#createproxy) -* [destroyProxy](dynamictree.md#destroyproxy) -* [freeNode](dynamictree.md#freenode) -* [getAreaRatio](dynamictree.md#getarearatio) -* [getFatAABB](dynamictree.md#getfataabb) -* [getHeight](dynamictree.md#getheight) -* [getMaxBalance](dynamictree.md#getmaxbalance) -* [getUserData](dynamictree.md#getuserdata) -* [insertLeaf](dynamictree.md#insertleaf) -* [moveProxy](dynamictree.md#moveproxy) -* [query](dynamictree.md#query) -* [rayCast](dynamictree.md#raycast) -* [rebuildBottomUp](dynamictree.md#rebuildbottomup) -* [removeLeaf](dynamictree.md#removeleaf) -* [shiftOrigin](dynamictree.md#shiftorigin) -* [validate](dynamictree.md#validate) -* [validateMetrics](dynamictree.md#validatemetrics) -* [validateStructure](dynamictree.md#validatestructure) +* [allocateNode](/api/classes/dynamictree#allocatenode) +* [balance](/api/classes/dynamictree#balance) +* [computeHeight](/api/classes/dynamictree#computeheight) +* [createProxy](/api/classes/dynamictree#createproxy) +* [destroyProxy](/api/classes/dynamictree#destroyproxy) +* [freeNode](/api/classes/dynamictree#freenode) +* [getAreaRatio](/api/classes/dynamictree#getarearatio) +* [getFatAABB](/api/classes/dynamictree#getfataabb) +* [getHeight](/api/classes/dynamictree#getheight) +* [getMaxBalance](/api/classes/dynamictree#getmaxbalance) +* [getUserData](/api/classes/dynamictree#getuserdata) +* [insertLeaf](/api/classes/dynamictree#insertleaf) +* [moveProxy](/api/classes/dynamictree#moveproxy) +* [query](/api/classes/dynamictree#query) +* [rayCast](/api/classes/dynamictree#raycast) +* [rebuildBottomUp](/api/classes/dynamictree#rebuildbottomup) +* [removeLeaf](/api/classes/dynamictree#removeleaf) +* [shiftOrigin](/api/classes/dynamictree#shiftorigin) +* [validate](/api/classes/dynamictree#validate) +* [validateMetrics](/api/classes/dynamictree#validatemetrics) +* [validateStructure](/api/classes/dynamictree#validatestructure) ## Constructors ### constructor -\+ **new DynamicTree**(): *[DynamicTree](dynamictree.md)* +\+ **new DynamicTree**(): *[DynamicTree](/api/classes/dynamictree)* -**Returns:** *[DynamicTree](dynamictree.md)* +**Returns:** *[DynamicTree](/api/classes/dynamictree)* ## Properties @@ -78,27 +80,27 @@ ___ #### Type declaration: -* \[ **id**: *number*\]: [TreeNode](treenode.md)‹T› +* \[ **id**: *number*\]: [TreeNode](/api/classes/treenode)‹T› ___ ### m_root -• **m_root**: *[TreeNode](treenode.md)‹T›* +• **m_root**: *[TreeNode](/api/classes/treenode)‹T›* ## Methods ### allocateNode -▸ **allocateNode**(): *[TreeNode](treenode.md)‹T›* +▸ **allocateNode**(): *[TreeNode](/api/classes/treenode)‹T›* -**Returns:** *[TreeNode](treenode.md)‹T›* +**Returns:** *[TreeNode](/api/classes/treenode)‹T›* ___ ### balance -▸ **balance**(`iA`: [TreeNode](treenode.md)‹T›): *[TreeNode](treenode.md)‹T›* +▸ **balance**(`iA`: [TreeNode](/api/classes/treenode)‹T›): *[TreeNode](/api/classes/treenode)‹T›* Perform a left or right rotation if node A is imbalanced. Returns the new root index. @@ -107,9 +109,9 @@ root index. Name | Type | ------ | ------ | -`iA` | [TreeNode](treenode.md)‹T› | +`iA` | [TreeNode](/api/classes/treenode)‹T› | -**Returns:** *[TreeNode](treenode.md)‹T›* +**Returns:** *[TreeNode](/api/classes/treenode)‹T›* ___ @@ -131,7 +133,7 @@ ___ ### createProxy -▸ **createProxy**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `userData`: T): *number* +▸ **createProxy**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `userData`: T): *number* Create a proxy in the tree as a leaf node. We return the index of the node instead of a pointer so that we can grow the node pool. @@ -142,7 +144,7 @@ Create a proxy. Provide a tight fitting AABB and a userData pointer. Name | Type | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | `userData` | T | **Returns:** *number* @@ -167,13 +169,13 @@ ___ ### freeNode -▸ **freeNode**(`node`: [TreeNode](treenode.md)‹T›): *void* +▸ **freeNode**(`node`: [TreeNode](/api/classes/treenode)‹T›): *void* **Parameters:** Name | Type | ------ | ------ | -`node` | [TreeNode](treenode.md)‹T› | +`node` | [TreeNode](/api/classes/treenode)‹T› | **Returns:** *void* @@ -191,7 +193,7 @@ ___ ### getFatAABB -▸ **getFatAABB**(`id`: number): *[AABB](aabb.md)* +▸ **getFatAABB**(`id`: number): *[AABB](/api/classes/aabb)* Get the fat AABB for a node id. @@ -201,7 +203,7 @@ Name | Type | ------ | ------ | `id` | number | -**Returns:** *[AABB](aabb.md)* +**Returns:** *[AABB](/api/classes/aabb)* the proxy user data or 0 if the id is invalid. @@ -249,13 +251,13 @@ ___ ### insertLeaf -▸ **insertLeaf**(`leaf`: [TreeNode](treenode.md)‹T›): *void* +▸ **insertLeaf**(`leaf`: [TreeNode](/api/classes/treenode)‹T›): *void* **Parameters:** Name | Type | ------ | ------ | -`leaf` | [TreeNode](treenode.md)‹T› | +`leaf` | [TreeNode](/api/classes/treenode)‹T› | **Returns:** *void* @@ -263,7 +265,7 @@ ___ ### moveProxy -▸ **moveProxy**(`id`: number, `aabb`: [AABBValue](../interfaces/aabbvalue.md), `d`: [Vec2Value](../interfaces/vec2value.md)): *boolean* +▸ **moveProxy**(`id`: number, `aabb`: [AABBValue](/api/interfaces/aabbvalue), `d`: [Vec2Value](/api/interfaces/vec2value)): *boolean* Move a proxy with a swepted AABB. If the proxy has moved outside of its fattened AABB, then the proxy is removed from the tree and re-inserted. @@ -274,8 +276,8 @@ Otherwise the function returns immediately. Name | Type | Description | ------ | ------ | ------ | `id` | number | - | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | - | -`d` | [Vec2Value](../interfaces/vec2value.md) | Displacement | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | - | +`d` | [Vec2Value](/api/interfaces/vec2value) | Displacement | **Returns:** *boolean* @@ -285,7 +287,7 @@ ___ ### query -▸ **query**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `queryCallback`: [DynamicTreeQueryCallback](../globals.md#dynamictreequerycallback)): *void* +▸ **query**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `queryCallback`: [DynamicTreeQueryCallback](/api/globals#dynamictreequerycallback)): *void* Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB. @@ -294,8 +296,8 @@ proxy that overlaps the supplied AABB. Name | Type | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | -`queryCallback` | [DynamicTreeQueryCallback](../globals.md#dynamictreequerycallback) | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | +`queryCallback` | [DynamicTreeQueryCallback](/api/globals#dynamictreequerycallback) | **Returns:** *void* @@ -303,7 +305,7 @@ ___ ### rayCast -▸ **rayCast**(`input`: [RayCastInput](../interfaces/raycastinput.md), `rayCastCallback`: [RayCastCallback](../globals.md#raycastcallback)): *void* +▸ **rayCast**(`input`: [RayCastInput](/api/interfaces/raycastinput), `rayCastCallback`: [RayCastCallback](/api/globals#raycastcallback)): *void* Ray-cast against the proxies in the tree. This relies on the callback to perform a exact ray-cast in the case were the proxy contains a shape. The @@ -315,8 +317,8 @@ number of proxies in the tree. Name | Type | Description | ------ | ------ | ------ | -`input` | [RayCastInput](../interfaces/raycastinput.md) | The ray-cast input data. The ray extends from `p1` to `p1 + maxFraction * (p2 - p1)`. | -`rayCastCallback` | [RayCastCallback](../globals.md#raycastcallback) | A function that is called for each proxy that is hit by the ray. If the return value is a positive number it will update the maxFraction of the ray cast input, and if it is zero it will terminate they ray cast. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input data. The ray extends from `p1` to `p1 + maxFraction * (p2 - p1)`. | +`rayCastCallback` | [RayCastCallback](/api/globals#raycastcallback) | A function that is called for each proxy that is hit by the ray. If the return value is a positive number it will update the maxFraction of the ray cast input, and if it is zero it will terminate they ray cast. | **Returns:** *void* @@ -334,13 +336,13 @@ ___ ### removeLeaf -▸ **removeLeaf**(`leaf`: [TreeNode](treenode.md)‹T›): *void* +▸ **removeLeaf**(`leaf`: [TreeNode](/api/classes/treenode)‹T›): *void* **Parameters:** Name | Type | ------ | ------ | -`leaf` | [TreeNode](treenode.md)‹T› | +`leaf` | [TreeNode](/api/classes/treenode)‹T› | **Returns:** *void* @@ -348,7 +350,7 @@ ___ ### shiftOrigin -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* Shift the world origin. Useful for large worlds. The shift formula is: position -= newOrigin @@ -357,7 +359,7 @@ position -= newOrigin Name | Type | Description | ------ | ------ | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | The new origin with respect to the old origin | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | The new origin with respect to the old origin | **Returns:** *void* @@ -375,13 +377,13 @@ ___ ### validateMetrics -▸ **validateMetrics**(`node`: [TreeNode](treenode.md)‹T›): *void* +▸ **validateMetrics**(`node`: [TreeNode](/api/classes/treenode)‹T›): *void* **Parameters:** Name | Type | ------ | ------ | -`node` | [TreeNode](treenode.md)‹T› | +`node` | [TreeNode](/api/classes/treenode)‹T› | **Returns:** *void* @@ -389,12 +391,12 @@ ___ ### validateStructure -▸ **validateStructure**(`node`: [TreeNode](treenode.md)‹T›): *void* +▸ **validateStructure**(`node`: [TreeNode](/api/classes/treenode)‹T›): *void* **Parameters:** Name | Type | ------ | ------ | -`node` | [TreeNode](treenode.md)‹T› | +`node` | [TreeNode](/api/classes/treenode)‹T› | **Returns:** *void* diff --git a/docs/pages/api/classes/edgeshape.md b/docs/pages/api/classes/edgeshape.md new file mode 100644 index 00000000..261ca569 --- /dev/null +++ b/docs/pages/api/classes/edgeshape.md @@ -0,0 +1,349 @@ +--- +showOutline: false +--- + +# Class: EdgeShape + +A line segment (edge) shape. These can be connected in chains or loops to +other edge shapes. The connectivity information is used to ensure correct +contact normals. + +## Hierarchy + +* [Shape](/api/classes/shape) + + ↳ **EdgeShape** + +## Index + +### Constructors + +* [constructor](/api/classes/edgeshape#constructor) + +### Properties + +* [m_hasVertex0](/api/classes/edgeshape#m_hasvertex0) +* [m_hasVertex3](/api/classes/edgeshape#m_hasvertex3) +* [m_radius](/api/classes/edgeshape#m_radius) +* [m_type](/api/classes/edgeshape#m_type) +* [m_vertex0](/api/classes/edgeshape#m_vertex0) +* [m_vertex1](/api/classes/edgeshape#m_vertex1) +* [m_vertex2](/api/classes/edgeshape#m_vertex2) +* [m_vertex3](/api/classes/edgeshape#m_vertex3) +* [style](/api/classes/edgeshape#style) +* [TYPE](/api/classes/edgeshape#static-type) + +### Methods + +* [_set](/api/classes/edgeshape#_set) +* [computeAABB](/api/classes/edgeshape#computeaabb) +* [computeDistanceProxy](/api/classes/edgeshape#computedistanceproxy) +* [computeMass](/api/classes/edgeshape#computemass) +* [getChildCount](/api/classes/edgeshape#getchildcount) +* [getNextVertex](/api/classes/edgeshape#getnextvertex) +* [getPrevVertex](/api/classes/edgeshape#getprevvertex) +* [getRadius](/api/classes/edgeshape#getradius) +* [getType](/api/classes/edgeshape#gettype) +* [rayCast](/api/classes/edgeshape#raycast) +* [setNextVertex](/api/classes/edgeshape#setnextvertex) +* [setPrevVertex](/api/classes/edgeshape#setprevvertex) +* [testPoint](/api/classes/edgeshape#testpoint) +* [isValid](/api/classes/edgeshape#static-isvalid) + +## Constructors + +### constructor + +\+ **new EdgeShape**(`v1?`: [Vec2Value](/api/interfaces/vec2value), `v2?`: [Vec2Value](/api/interfaces/vec2value)): *[EdgeShape](/api/classes/edgeshape)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v1?` | [Vec2Value](/api/interfaces/vec2value) | +`v2?` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[EdgeShape](/api/classes/edgeshape)* + +## Properties + +### m_hasVertex0 + +• **m_hasVertex0**: *boolean* + +___ + +### m_hasVertex3 + +• **m_hasVertex3**: *boolean* + +___ + +### m_radius + +• **m_radius**: *number* + +*Overrides [Shape](/api/classes/shape).[m_radius](/api/classes/shape#m_radius)* + +___ + +### m_type + +• **m_type**: *"edge"* + +*Overrides [Shape](/api/classes/shape).[m_type](/api/classes/shape#m_type)* + +___ + +### m_vertex0 + +• **m_vertex0**: *Vec2* + +___ + +### m_vertex1 + +• **m_vertex1**: *Vec2* + +___ + +### m_vertex2 + +• **m_vertex2**: *Vec2* + +___ + +### m_vertex3 + +• **m_vertex3**: *Vec2* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Shape](/api/classes/shape).[style](/api/classes/shape#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"edge"* = 'edge' as const + +## Methods + +### _set + +▸ **_set**(`v1`: Vec2, `v2`: Vec2): *[EdgeShape](/api/classes/edgeshape)* + +Set this as an isolated edge. + +**Parameters:** + +Name | Type | +------ | ------ | +`v1` | Vec2 | +`v2` | Vec2 | + +**Returns:** *[EdgeShape](/api/classes/edgeshape)* + +___ + +### computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeAABB](/api/classes/shape#abstract-computeaabb)* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy)): *void* + +*Overrides [Shape](/api/classes/shape).[computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | + +**Returns:** *void* + +___ + +### computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density?`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeMass](/api/classes/shape#abstract-computemass)* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density?` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### getChildCount + +▸ **getChildCount**(): *1* + +*Overrides [Shape](/api/classes/shape).[getChildCount](/api/classes/shape#abstract-getchildcount)* + +Get the number of child primitives. + +**Returns:** *1* + +___ + +### getNextVertex + +▸ **getNextVertex**(): *Vec2* + +Optional next vertex, used for smooth collision. + +**Returns:** *Vec2* + +___ + +### getPrevVertex + +▸ **getPrevVertex**(): *Vec2* + +Optional prev vertex, used for smooth collision. + +**Returns:** *Vec2* + +___ + +### getRadius + +▸ **getRadius**(): *number* + +*Overrides [Shape](/api/classes/shape).[getRadius](/api/classes/shape#abstract-getradius)* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *"edge"* + +*Overrides [Shape](/api/classes/shape).[getType](/api/classes/shape#abstract-gettype)* + +**Returns:** *"edge"* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +*Overrides [Shape](/api/classes/shape).[rayCast](/api/classes/shape#abstract-raycast)* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### setNextVertex + +▸ **setNextVertex**(`v?`: Vec2): *[EdgeShape](/api/classes/edgeshape)* + +Optional next vertex, used for smooth collision. + +**Parameters:** + +Name | Type | +------ | ------ | +`v?` | Vec2 | + +**Returns:** *[EdgeShape](/api/classes/edgeshape)* + +___ + +### setPrevVertex + +▸ **setPrevVertex**(`v?`: Vec2): *[EdgeShape](/api/classes/edgeshape)* + +Optional prev vertex, used for smooth collision. + +**Parameters:** + +Name | Type | +------ | ------ | +`v?` | Vec2 | + +**Returns:** *[EdgeShape](/api/classes/edgeshape)* + +___ + +### testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value)): *false* + +*Overrides [Shape](/api/classes/shape).[testPoint](/api/classes/shape#abstract-testpoint)* + +Test a point for containment in this shape. This only works for convex +shapes. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | [Vec2Value](/api/interfaces/vec2value) | A point in world coordinates. | + +**Returns:** *false* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +*Inherited from [Shape](/api/classes/shape).[isValid](/api/classes/shape#static-isvalid)* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/api/classes/fixture.md b/docs/pages/api/classes/fixture.md similarity index 62% rename from docs/api/classes/fixture.md rename to docs/pages/api/classes/fixture.md index eab2420f..e60bd004 100644 --- a/docs/api/classes/fixture.md +++ b/docs/pages/api/classes/fixture.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Fixture](fixture.md) +--- +showOutline: false +--- # Class: Fixture @@ -6,7 +8,7 @@ A fixture is used to attach a shape to a body for collision detection. A fixture inherits its transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc. -To create a new Fixture use [Body.createFixture](body.md#createfixture). +To create a new Fixture use [Body.createFixture](body#createfixture). ## Hierarchy @@ -16,46 +18,46 @@ To create a new Fixture use [Body.createFixture](body.md#createfixture). ### Properties -* [style](fixture.md#style) +* [style](/api/classes/fixture#style) ### Methods -* [createProxies](fixture.md#createproxies) -* [destroyProxies](fixture.md#destroyproxies) -* [getAABB](fixture.md#getaabb) -* [getBody](fixture.md#getbody) -* [getDensity](fixture.md#getdensity) -* [getFilterCategoryBits](fixture.md#getfiltercategorybits) -* [getFilterGroupIndex](fixture.md#getfiltergroupindex) -* [getFilterMaskBits](fixture.md#getfiltermaskbits) -* [getFriction](fixture.md#getfriction) -* [getMassData](fixture.md#getmassdata) -* [getNext](fixture.md#getnext) -* [getRestitution](fixture.md#getrestitution) -* [getShape](fixture.md#getshape) -* [getType](fixture.md#gettype) -* [getUserData](fixture.md#getuserdata) -* [isSensor](fixture.md#issensor) -* [rayCast](fixture.md#raycast) -* [refilter](fixture.md#refilter) -* [setDensity](fixture.md#setdensity) -* [setFilterCategoryBits](fixture.md#setfiltercategorybits) -* [setFilterData](fixture.md#setfilterdata) -* [setFilterGroupIndex](fixture.md#setfiltergroupindex) -* [setFilterMaskBits](fixture.md#setfiltermaskbits) -* [setFriction](fixture.md#setfriction) -* [setRestitution](fixture.md#setrestitution) -* [setSensor](fixture.md#setsensor) -* [setUserData](fixture.md#setuserdata) -* [shouldCollide](fixture.md#shouldcollide) -* [synchronize](fixture.md#synchronize) -* [testPoint](fixture.md#testpoint) +* [createProxies](/api/classes/fixture#createproxies) +* [destroyProxies](/api/classes/fixture#destroyproxies) +* [getAABB](/api/classes/fixture#getaabb) +* [getBody](/api/classes/fixture#getbody) +* [getDensity](/api/classes/fixture#getdensity) +* [getFilterCategoryBits](/api/classes/fixture#getfiltercategorybits) +* [getFilterGroupIndex](/api/classes/fixture#getfiltergroupindex) +* [getFilterMaskBits](/api/classes/fixture#getfiltermaskbits) +* [getFriction](/api/classes/fixture#getfriction) +* [getMassData](/api/classes/fixture#getmassdata) +* [getNext](/api/classes/fixture#getnext) +* [getRestitution](/api/classes/fixture#getrestitution) +* [getShape](/api/classes/fixture#getshape) +* [getType](/api/classes/fixture#gettype) +* [getUserData](/api/classes/fixture#getuserdata) +* [isSensor](/api/classes/fixture#issensor) +* [rayCast](/api/classes/fixture#raycast) +* [refilter](/api/classes/fixture#refilter) +* [setDensity](/api/classes/fixture#setdensity) +* [setFilterCategoryBits](/api/classes/fixture#setfiltercategorybits) +* [setFilterData](/api/classes/fixture#setfilterdata) +* [setFilterGroupIndex](/api/classes/fixture#setfiltergroupindex) +* [setFilterMaskBits](/api/classes/fixture#setfiltermaskbits) +* [setFriction](/api/classes/fixture#setfriction) +* [setRestitution](/api/classes/fixture#setrestitution) +* [setSensor](/api/classes/fixture#setsensor) +* [setUserData](/api/classes/fixture#setuserdata) +* [shouldCollide](/api/classes/fixture#shouldcollide) +* [synchronize](/api/classes/fixture#synchronize) +* [testPoint](/api/classes/fixture#testpoint) ## Properties ### style -• **style**: *[Style](../interfaces/style.md)* +• **style**: *[Style](/api/interfaces/style)* Styling for dev-tools. @@ -63,7 +65,7 @@ Styling for dev-tools. ### createProxies -▸ **createProxies**(`broadPhase`: [BroadPhase](broadphase.md), `xf`: [TransformValue](../globals.md#transformvalue)): *void* +▸ **createProxies**(`broadPhase`: [BroadPhase](/api/classes/broadphase), `xf`: [TransformValue](/api/globals#transformvalue)): *void* These support body activation/deactivation. @@ -71,8 +73,8 @@ These support body activation/deactivation. Name | Type | ------ | ------ | -`broadPhase` | [BroadPhase](broadphase.md) | -`xf` | [TransformValue](../globals.md#transformvalue) | +`broadPhase` | [BroadPhase](/api/classes/broadphase) | +`xf` | [TransformValue](/api/globals#transformvalue) | **Returns:** *void* @@ -80,13 +82,13 @@ ___ ### destroyProxies -▸ **destroyProxies**(`broadPhase`: [BroadPhase](broadphase.md)): *void* +▸ **destroyProxies**(`broadPhase`: [BroadPhase](/api/classes/broadphase)): *void* **Parameters:** Name | Type | ------ | ------ | -`broadPhase` | [BroadPhase](broadphase.md) | +`broadPhase` | [BroadPhase](/api/classes/broadphase) | **Returns:** *void* @@ -94,7 +96,7 @@ ___ ### getAABB -▸ **getAABB**(`childIndex`: number): *[AABB](aabb.md)* +▸ **getAABB**(`childIndex`: number): *[AABB](/api/classes/aabb)* Get the fixture's AABB. This AABB may be enlarge and/or stale. If you need a more accurate AABB, compute it using the shape and the body transform. @@ -105,18 +107,18 @@ Name | Type | ------ | ------ | `childIndex` | number | -**Returns:** *[AABB](aabb.md)* +**Returns:** *[AABB](/api/classes/aabb)* ___ ### getBody -▸ **getBody**(): *[Body](body.md)* +▸ **getBody**(): *[Body](/api/classes/body)* Get the parent body of this fixture. This is null if the fixture is not attached. -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ @@ -166,7 +168,7 @@ ___ ### getMassData -▸ **getMassData**(`massData`: [MassData](../interfaces/massdata.md)): *void* +▸ **getMassData**(`massData`: [MassData](/api/interfaces/massdata)): *void* Get the mass data for this fixture. The mass data is based on the density and the shape. The rotational inertia is about the shape's origin. This operation @@ -176,7 +178,7 @@ may be expensive. Name | Type | ------ | ------ | -`massData` | [MassData](../interfaces/massdata.md) | +`massData` | [MassData](/api/interfaces/massdata) | **Returns:** *void* @@ -184,11 +186,11 @@ ___ ### getNext -▸ **getNext**(): *[Fixture](fixture.md) | null* +▸ **getNext**(): *[Fixture](/api/classes/fixture) | null* Get the next fixture in the parent body's fixture list. -**Returns:** *[Fixture](fixture.md) | null* +**Returns:** *[Fixture](/api/classes/fixture) | null* ___ @@ -204,24 +206,24 @@ ___ ### getShape -▸ **getShape**(): *[Shape](shape.md)* +▸ **getShape**(): *[Shape](/api/classes/shape)* Get the child shape. You can modify the child shape, however you should not change the number of vertices because this will crash some collision caching mechanisms. Manipulating the shape may lead to non-physical behavior. -**Returns:** *[Shape](shape.md)* +**Returns:** *[Shape](/api/classes/shape)* ___ ### getType -▸ **getType**(): *[ShapeType](../globals.md#shapetype)* +▸ **getType**(): *[ShapeType](/api/globals#shapetype)* Get the type of the child shape. You can use this to down cast to the concrete shape. -**Returns:** *[ShapeType](../globals.md#shapetype)* +**Returns:** *[ShapeType](/api/globals#shapetype)* ___ @@ -249,7 +251,7 @@ ___ ### rayCast -▸ **rayCast**(`output`: [RayCastOutput](../interfaces/raycastoutput.md), `input`: [RayCastInput](../interfaces/raycastinput.md), `childIndex`: number): *boolean* +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `childIndex`: number): *boolean* Cast a ray against this shape. @@ -257,8 +259,8 @@ Cast a ray against this shape. Name | Type | ------ | ------ | -`output` | [RayCastOutput](../interfaces/raycastoutput.md) | -`input` | [RayCastInput](../interfaces/raycastinput.md) | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | +`input` | [RayCastInput](/api/interfaces/raycastinput) | `childIndex` | number | **Returns:** *boolean* @@ -425,7 +427,7 @@ ___ ### shouldCollide -▸ **shouldCollide**(`that`: [Fixture](fixture.md)): *boolean* +▸ **shouldCollide**(`that`: [Fixture](/api/classes/fixture)): *boolean* Implement this method to provide collision filtering, if you want finer control over contact creation. @@ -440,7 +442,7 @@ overlap. Name | Type | ------ | ------ | -`that` | [Fixture](fixture.md) | +`that` | [Fixture](/api/classes/fixture) | **Returns:** *boolean* @@ -448,7 +450,7 @@ ___ ### synchronize -▸ **synchronize**(`broadPhase`: [BroadPhase](broadphase.md), `xf1`: [TransformValue](../globals.md#transformvalue), `xf2`: [TransformValue](../globals.md#transformvalue)): *void* +▸ **synchronize**(`broadPhase`: [BroadPhase](/api/classes/broadphase), `xf1`: [TransformValue](/api/globals#transformvalue), `xf2`: [TransformValue](/api/globals#transformvalue)): *void* Updates this fixture proxy in broad-phase (with combined AABB of current and next transformation). @@ -457,9 +459,9 @@ next transformation). Name | Type | ------ | ------ | -`broadPhase` | [BroadPhase](broadphase.md) | -`xf1` | [TransformValue](../globals.md#transformvalue) | -`xf2` | [TransformValue](../globals.md#transformvalue) | +`broadPhase` | [BroadPhase](/api/classes/broadphase) | +`xf1` | [TransformValue](/api/globals#transformvalue) | +`xf2` | [TransformValue](/api/globals#transformvalue) | **Returns:** *void* @@ -467,7 +469,7 @@ ___ ### testPoint -▸ **testPoint**(`p`: [Vec2Value](../interfaces/vec2value.md)): *boolean* +▸ **testPoint**(`p`: [Vec2Value](/api/interfaces/vec2value)): *boolean* Test a point in world coordinates for containment in this fixture. @@ -475,6 +477,6 @@ Test a point in world coordinates for containment in this fixture. Name | Type | ------ | ------ | -`p` | [Vec2Value](../interfaces/vec2value.md) | +`p` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *boolean* diff --git a/docs/pages/api/classes/fixtureproxy.md b/docs/pages/api/classes/fixtureproxy.md new file mode 100644 index 00000000..70e5cfb1 --- /dev/null +++ b/docs/pages/api/classes/fixtureproxy.md @@ -0,0 +1,63 @@ +--- +showOutline: false +--- + +# Class: FixtureProxy + +This proxy is used internally to connect shape children to the broad-phase. + +## Hierarchy + +* **FixtureProxy** + +## Index + +### Constructors + +* [constructor](/api/classes/fixtureproxy#constructor) + +### Properties + +* [aabb](/api/classes/fixtureproxy#aabb) +* [childIndex](/api/classes/fixtureproxy#childindex) +* [fixture](/api/classes/fixtureproxy#fixture) +* [proxyId](/api/classes/fixtureproxy#proxyid) + +## Constructors + +### constructor + +\+ **new FixtureProxy**(`fixture`: [Fixture](/api/classes/fixture), `childIndex`: number): *[FixtureProxy](/api/classes/fixtureproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`fixture` | [Fixture](/api/classes/fixture) | +`childIndex` | number | + +**Returns:** *[FixtureProxy](/api/classes/fixtureproxy)* + +## Properties + +### aabb + +• **aabb**: *[AABB](/api/classes/aabb)* + +___ + +### childIndex + +• **childIndex**: *number* + +___ + +### fixture + +• **fixture**: *[Fixture](/api/classes/fixture)* + +___ + +### proxyId + +• **proxyId**: *number* diff --git a/docs/pages/api/classes/frictionjoint.md b/docs/pages/api/classes/frictionjoint.md new file mode 100644 index 00000000..a93b68b3 --- /dev/null +++ b/docs/pages/api/classes/frictionjoint.md @@ -0,0 +1,397 @@ +--- +showOutline: false +--- + +# Class: FrictionJoint + +Friction joint. This is used for top-down friction. It provides 2D +translational friction and angular friction. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **FrictionJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/frictionjoint#constructor) + +### Properties + +* [style](/api/classes/frictionjoint#style) +* [TYPE](/api/classes/frictionjoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/frictionjoint#getanchora) +* [getAnchorB](/api/classes/frictionjoint#getanchorb) +* [getBodyA](/api/classes/frictionjoint#getbodya) +* [getBodyB](/api/classes/frictionjoint#getbodyb) +* [getCollideConnected](/api/classes/frictionjoint#getcollideconnected) +* [getLocalAnchorA](/api/classes/frictionjoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/frictionjoint#getlocalanchorb) +* [getMaxForce](/api/classes/frictionjoint#getmaxforce) +* [getMaxTorque](/api/classes/frictionjoint#getmaxtorque) +* [getNext](/api/classes/frictionjoint#getnext) +* [getReactionForce](/api/classes/frictionjoint#getreactionforce) +* [getReactionTorque](/api/classes/frictionjoint#getreactiontorque) +* [getType](/api/classes/frictionjoint#gettype) +* [getUserData](/api/classes/frictionjoint#getuserdata) +* [initVelocityConstraints](/api/classes/frictionjoint#initvelocityconstraints) +* [isActive](/api/classes/frictionjoint#isactive) +* [setMaxForce](/api/classes/frictionjoint#setmaxforce) +* [setMaxTorque](/api/classes/frictionjoint#setmaxtorque) +* [setUserData](/api/classes/frictionjoint#setuserdata) +* [shiftOrigin](/api/classes/frictionjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/frictionjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/frictionjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new FrictionJoint**(`def`: [FrictionJointDef](/api/interfaces/frictionjointdef)): *[FrictionJoint](/api/classes/frictionjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [FrictionJointDef](/api/interfaces/frictionjointdef) | + +**Returns:** *[FrictionJoint](/api/classes/frictionjoint)* + +\+ **new FrictionJoint**(`def`: [FrictionJointOpt](/api/interfaces/frictionjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value)): *[FrictionJoint](/api/classes/frictionjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`def` | [FrictionJointOpt](/api/interfaces/frictionjointopt) | - | +`bodyA` | [Body](/api/classes/body) | - | +`bodyB` | [Body](/api/classes/body) | - | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | Anchor in global coordination. | + +**Returns:** *[FrictionJoint](/api/classes/frictionjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"friction-joint"* = 'friction-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getMaxForce + +▸ **getMaxForce**(): *number* + +Get the maximum friction force in N. + +**Returns:** *number* + +___ + +### getMaxTorque + +▸ **getMaxTorque**(): *number* + +Get the maximum friction torque in N*m. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setMaxForce + +▸ **setMaxForce**(`force`: number): *void* + +Set the maximum friction force in N. + +**Parameters:** + +Name | Type | +------ | ------ | +`force` | number | + +**Returns:** *void* + +___ + +### setMaxTorque + +▸ **setMaxTorque**(`torque`: number): *void* + +Set the maximum friction torque in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`torque` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/gearjoint.md b/docs/pages/api/classes/gearjoint.md new file mode 100644 index 00000000..a79ba100 --- /dev/null +++ b/docs/pages/api/classes/gearjoint.md @@ -0,0 +1,380 @@ +--- +showOutline: false +--- + +# Class: GearJoint + +A gear joint is used to connect two joints together. Either joint can be a +revolute or prismatic joint. You specify a gear ratio to bind the motions +together: coordinate1 + ratio * coordinate2 = constant + +The ratio can be negative or positive. If one joint is a revolute joint and +the other joint is a prismatic joint, then the ratio will have units of +length or units of 1/length. Warning: You have to manually destroy the gear +joint if joint1 or joint2 is destroyed. + +This definition requires two existing revolute or prismatic joints (any +combination will work). + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **GearJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/gearjoint#constructor) + +### Properties + +* [style](/api/classes/gearjoint#style) +* [TYPE](/api/classes/gearjoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/gearjoint#getanchora) +* [getAnchorB](/api/classes/gearjoint#getanchorb) +* [getBodyA](/api/classes/gearjoint#getbodya) +* [getBodyB](/api/classes/gearjoint#getbodyb) +* [getCollideConnected](/api/classes/gearjoint#getcollideconnected) +* [getJoint1](/api/classes/gearjoint#getjoint1) +* [getJoint2](/api/classes/gearjoint#getjoint2) +* [getNext](/api/classes/gearjoint#getnext) +* [getRatio](/api/classes/gearjoint#getratio) +* [getReactionForce](/api/classes/gearjoint#getreactionforce) +* [getReactionTorque](/api/classes/gearjoint#getreactiontorque) +* [getType](/api/classes/gearjoint#gettype) +* [getUserData](/api/classes/gearjoint#getuserdata) +* [initVelocityConstraints](/api/classes/gearjoint#initvelocityconstraints) +* [isActive](/api/classes/gearjoint#isactive) +* [setRatio](/api/classes/gearjoint#setratio) +* [setUserData](/api/classes/gearjoint#setuserdata) +* [shiftOrigin](/api/classes/gearjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/gearjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/gearjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new GearJoint**(`def`: [GearJointDef](/api/interfaces/gearjointdef)): *[GearJoint](/api/classes/gearjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [GearJointDef](/api/interfaces/gearjointdef) | + +**Returns:** *[GearJoint](/api/classes/gearjoint)* + +\+ **new GearJoint**(`def`: [GearJointOpt](/api/interfaces/gearjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `joint1`: [RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint), `joint2`: [RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint), `ratio?`: number): *[GearJoint](/api/classes/gearjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [GearJointOpt](/api/interfaces/gearjointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`joint1` | [RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint) | +`joint2` | [RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint) | +`ratio?` | number | + +**Returns:** *[GearJoint](/api/classes/gearjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"gear-joint"* = 'gear-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getJoint1 + +▸ **getJoint1**(): *[Joint](/api/classes/joint)* + +Get the first joint. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getJoint2 + +▸ **getJoint2**(): *[Joint](/api/classes/joint)* + +Get the second joint. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getRatio + +▸ **getRatio**(): *number* + +Get the gear ratio. + +**Returns:** *number* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setRatio + +▸ **setRatio**(`ratio`: number): *void* + +Set the gear ratio. + +**Parameters:** + +Name | Type | +------ | ------ | +`ratio` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/joint.md b/docs/pages/api/classes/joint.md new file mode 100644 index 00000000..4de3f984 --- /dev/null +++ b/docs/pages/api/classes/joint.md @@ -0,0 +1,293 @@ +--- +showOutline: false +--- + +# Class: Joint + +The base joint class. Joints are used to constraint two bodies together in +various fashions. Some joints also feature limits and motors. + +## Hierarchy + +* **Joint** + + ↳ [DistanceJoint](/api/classes/distancejoint) + + ↳ [FrictionJoint](/api/classes/frictionjoint) + + ↳ [RevoluteJoint](/api/classes/revolutejoint) + + ↳ [PrismaticJoint](/api/classes/prismaticjoint) + + ↳ [GearJoint](/api/classes/gearjoint) + + ↳ [MotorJoint](/api/classes/motorjoint) + + ↳ [MouseJoint](/api/classes/mousejoint) + + ↳ [PulleyJoint](/api/classes/pulleyjoint) + + ↳ [RopeJoint](/api/classes/ropejoint) + + ↳ [WeldJoint](/api/classes/weldjoint) + + ↳ [WheelJoint](/api/classes/wheeljoint) + +## Index + +### Constructors + +* [constructor](/api/classes/joint#constructor) + +### Properties + +* [style](/api/classes/joint#style) + +### Methods + +* [getAnchorA](/api/classes/joint#abstract-getanchora) +* [getAnchorB](/api/classes/joint#abstract-getanchorb) +* [getBodyA](/api/classes/joint#getbodya) +* [getBodyB](/api/classes/joint#getbodyb) +* [getCollideConnected](/api/classes/joint#getcollideconnected) +* [getNext](/api/classes/joint#getnext) +* [getReactionForce](/api/classes/joint#abstract-getreactionforce) +* [getReactionTorque](/api/classes/joint#abstract-getreactiontorque) +* [getType](/api/classes/joint#gettype) +* [getUserData](/api/classes/joint#getuserdata) +* [initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints) +* [isActive](/api/classes/joint#isactive) +* [setUserData](/api/classes/joint#setuserdata) +* [shiftOrigin](/api/classes/joint#shiftorigin) +* [solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new Joint**(`def`: [JointDef](/api/interfaces/jointdef)): *[Joint](/api/classes/joint)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [JointDef](/api/interfaces/jointdef) | + +**Returns:** *[Joint](/api/classes/joint)* + +\+ **new Joint**(`def`: [JointOpt](/api/interfaces/jointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body)): *[Joint](/api/classes/joint)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [JointOpt](/api/interfaces/jointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | + +**Returns:** *[Joint](/api/classes/joint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +Styling for dev-tools. + +## Methods + +### `Abstract` getAnchorA + +▸ **getAnchorA**(): *Vec2* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### `Abstract` getAnchorB + +▸ **getAnchorB**(): *Vec2* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### `Abstract` getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### `Abstract` getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +**Returns:** *unknown* + +___ + +### `Abstract` initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### `Abstract` solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### `Abstract` solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/api/classes/jointedge.md b/docs/pages/api/classes/jointedge.md similarity index 57% rename from docs/api/classes/jointedge.md rename to docs/pages/api/classes/jointedge.md index 7ddcd989..709d1e6e 100644 --- a/docs/api/classes/jointedge.md +++ b/docs/pages/api/classes/jointedge.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [JointEdge](jointedge.md) +--- +showOutline: false +--- # Class: JointEdge @@ -15,16 +17,16 @@ joint nodes, one for each attached body. ### Properties -* [joint](jointedge.md#joint) -* [next](jointedge.md#next) -* [other](jointedge.md#other) -* [prev](jointedge.md#prev) +* [joint](/api/classes/jointedge#joint) +* [next](/api/classes/jointedge#next) +* [other](/api/classes/jointedge#other) +* [prev](/api/classes/jointedge#prev) ## Properties ### joint -• **joint**: *[Joint](joint.md) | null* = null +• **joint**: *[Joint](/api/classes/joint) | null* = null the joint @@ -32,7 +34,7 @@ ___ ### next -• **next**: *[JointEdge](jointedge.md) | null* = null +• **next**: *[JointEdge](/api/classes/jointedge) | null* = null the next joint edge in the body's joint list @@ -40,7 +42,7 @@ ___ ### other -• **other**: *[Body](body.md) | null* = null +• **other**: *[Body](/api/classes/body) | null* = null provides quick access to the other body attached. @@ -48,6 +50,6 @@ ___ ### prev -• **prev**: *[JointEdge](jointedge.md) | null* = null +• **prev**: *[JointEdge](/api/classes/jointedge) | null* = null prev the previous joint edge in the body's joint list diff --git a/docs/pages/api/classes/manifold.md b/docs/pages/api/classes/manifold.md new file mode 100644 index 00000000..85c3fd0e --- /dev/null +++ b/docs/pages/api/classes/manifold.md @@ -0,0 +1,152 @@ +--- +showOutline: false +--- + +# Class: Manifold + +A manifold for two touching convex shapes. Manifolds are created in `evaluate` +method of Contact subclasses. + +Supported manifold types are e_faceA or e_faceB for clip point versus plane +with radius and e_circles point versus point with radius. + +We store contacts in this way so that position correction can account for +movement, which is critical for continuous physics. All contact scenarios +must be expressed in one of these types. This structure is stored across time +steps, so we keep it small. + +## Hierarchy + +* **Manifold** + +## Index + +### Properties + +* [localNormal](/api/classes/manifold#localnormal) +* [localPoint](/api/classes/manifold#localpoint) +* [pointCount](/api/classes/manifold#pointcount) +* [points](/api/classes/manifold#points) +* [type](/api/classes/manifold#type) +* [ClipVertex](/api/classes/manifold#static-clipvertex) +* [PointState](/api/classes/manifold#static-pointstate) +* [clipSegmentToLine](/api/classes/manifold#static-clipsegmenttoline) +* [getPointStates](/api/classes/manifold#static-getpointstates) + +### Methods + +* [getWorldManifold](/api/classes/manifold#getworldmanifold) +* [recycle](/api/classes/manifold#recycle) +* [set](/api/classes/manifold#set) + +## Properties + +### localNormal + +• **localNormal**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +Usage depends on manifold type: +- circles: not used +- faceA: the normal on polygonA +- faceB: the normal on polygonB + +___ + +### localPoint + +• **localPoint**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +Usage depends on manifold type: +- circles: the local center of circleA +- faceA: the center of faceA +- faceB: the center of faceB + +___ + +### pointCount + +• **pointCount**: *number* = 0 + +The number of manifold points + +___ + +### points + +• **points**: *[ManifoldPoint](/api/classes/manifoldpoint)[]* = [ new ManifoldPoint(), new ManifoldPoint() ] + +The points of contact + +___ + +### type + +• **type**: *[ManifoldType](/api/enums/manifoldtype)* + +___ + +### `Static` ClipVertex + +▪ **ClipVertex**: *[ClipVertex](/api/classes/clipvertex)* = ClipVertex + +___ + +### `Static` PointState + +▪ **PointState**: *[PointState](/api/enums/pointstate)* = PointState + +___ + +### `Static` clipSegmentToLine + +▪ **clipSegmentToLine**: *[clipSegmentToLine](/api/globals#clipsegmenttoline)* = clipSegmentToLine + +___ + +### `Static` getPointStates + +▪ **getPointStates**: *[getPointStates](/api/globals#getpointstates)* = getPointStates + +## Methods + +### getWorldManifold + +▸ **getWorldManifold**(`wm`: [WorldManifold](/api/classes/worldmanifold) | null, `xfA`: [TransformValue](/api/globals#transformvalue), `radiusA`: number, `xfB`: [TransformValue](/api/globals#transformvalue), `radiusB`: number): *[WorldManifold](/api/classes/worldmanifold)* + +Evaluate the manifold with supplied transforms. This assumes modest motion +from the original state. This does not change the point count, impulses, etc. +The radii must come from the shapes that generated the manifold. + +**Parameters:** + +Name | Type | +------ | ------ | +`wm` | [WorldManifold](/api/classes/worldmanifold) | null | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`radiusA` | number | +`xfB` | [TransformValue](/api/globals#transformvalue) | +`radiusB` | number | + +**Returns:** *[WorldManifold](/api/classes/worldmanifold)* + +___ + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* + +___ + +### set + +▸ **set**(`that`: [Manifold](/api/classes/manifold)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`that` | [Manifold](/api/classes/manifold) | + +**Returns:** *void* diff --git a/docs/api/classes/manifoldpoint.md b/docs/pages/api/classes/manifoldpoint.md similarity index 63% rename from docs/api/classes/manifoldpoint.md rename to docs/pages/api/classes/manifoldpoint.md index 06925915..c4827cc5 100644 --- a/docs/api/classes/manifoldpoint.md +++ b/docs/pages/api/classes/manifoldpoint.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ManifoldPoint](manifoldpoint.md) +--- +showOutline: false +--- # Class: ManifoldPoint @@ -18,21 +20,21 @@ contact forces, especially for high speed collisions. ### Properties -* [id](manifoldpoint.md#readonly-id) -* [localPoint](manifoldpoint.md#localpoint) -* [normalImpulse](manifoldpoint.md#normalimpulse) -* [tangentImpulse](manifoldpoint.md#tangentimpulse) +* [id](/api/classes/manifoldpoint#readonly-id) +* [localPoint](/api/classes/manifoldpoint#localpoint) +* [normalImpulse](/api/classes/manifoldpoint#normalimpulse) +* [tangentImpulse](/api/classes/manifoldpoint#tangentimpulse) ### Methods -* [recycle](manifoldpoint.md#recycle) -* [set](manifoldpoint.md#set) +* [recycle](/api/classes/manifoldpoint#recycle) +* [set](/api/classes/manifoldpoint#set) ## Properties ### `Readonly` id -• **id**: *[ContactID](contactid.md)‹›* = new ContactID() +• **id**: *[ContactID](/api/classes/contactid)‹›* = new ContactID() Uniquely identifies a contact point between two shapes to facilitate warm starting @@ -40,7 +42,7 @@ ___ ### localPoint -• **localPoint**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) +• **localPoint**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) Usage depends on manifold type: - circles: the local center of circleB @@ -75,12 +77,12 @@ ___ ### set -▸ **set**(`that`: [ManifoldPoint](manifoldpoint.md)): *void* +▸ **set**(`that`: [ManifoldPoint](/api/classes/manifoldpoint)): *void* **Parameters:** Name | Type | ------ | ------ | -`that` | [ManifoldPoint](manifoldpoint.md) | +`that` | [ManifoldPoint](/api/classes/manifoldpoint) | **Returns:** *void* diff --git a/docs/pages/api/classes/mat22.md b/docs/pages/api/classes/mat22.md new file mode 100644 index 00000000..53f49c98 --- /dev/null +++ b/docs/pages/api/classes/mat22.md @@ -0,0 +1,348 @@ +--- +showOutline: false +--- + +# Class: Mat22 + +A 2-by-2 matrix. Stored in column-major order. + +## Hierarchy + +* **Mat22** + +## Index + +### Constructors + +* [constructor](/api/classes/mat22#constructor) + +### Properties + +* [ex](/api/classes/mat22#ex) +* [ey](/api/classes/mat22#ey) + +### Methods + +* [getInverse](/api/classes/mat22#getinverse) +* [set](/api/classes/mat22#set) +* [setIdentity](/api/classes/mat22#setidentity) +* [setZero](/api/classes/mat22#setzero) +* [solve](/api/classes/mat22#solve) +* [abs](/api/classes/mat22#static-abs) +* [add](/api/classes/mat22#static-add) +* [assert](/api/classes/mat22#static-assert) +* [isValid](/api/classes/mat22#static-isvalid) +* [mul](/api/classes/mat22#static-mul) +* [mulMat22](/api/classes/mat22#static-mulmat22) +* [mulT](/api/classes/mat22#static-mult) +* [mulTMat22](/api/classes/mat22#static-multmat22) +* [mulTVec2](/api/classes/mat22#static-multvec2) +* [mulVec2](/api/classes/mat22#static-mulvec2) + +## Constructors + +### constructor + +\+ **new Mat22**(`a`: number, `b`: number, `c`: number, `d`: number): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`b` | number | +`c` | number | +`d` | number | + +**Returns:** *[Mat22](/api/classes/mat22)* + +\+ **new Mat22**(`a`: object, `b`: object): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +▪ **a**: *object* + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +▪ **b**: *object* + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +**Returns:** *[Mat22](/api/classes/mat22)* + +\+ **new Mat22**(): *[Mat22](/api/classes/mat22)* + +**Returns:** *[Mat22](/api/classes/mat22)* + +## Properties + +### ex + +• **ex**: *Vec2* + +___ + +### ey + +• **ey**: *Vec2* + +## Methods + +### getInverse + +▸ **getInverse**(): *[Mat22](/api/classes/mat22)* + +**Returns:** *[Mat22](/api/classes/mat22)* + +___ + +### set + +▸ **set**(`a`: [Mat22](/api/classes/mat22)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat22](/api/classes/mat22) | + +**Returns:** *void* + +▸ **set**(`a`: Vec2, `b`: Vec2): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | Vec2 | +`b` | Vec2 | + +**Returns:** *void* + +▸ **set**(`a`: number, `b`: number, `c`: number, `d`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`b` | number | +`c` | number | +`d` | number | + +**Returns:** *void* + +___ + +### setIdentity + +▸ **setIdentity**(): *void* + +**Returns:** *void* + +___ + +### setZero + +▸ **setZero**(): *void* + +**Returns:** *void* + +___ + +### solve + +▸ **solve**(`v`: Vec2): *Vec2* + +Solve A * x = b, where b is a column vector. This is more efficient than +computing the inverse in one-shot cases. + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | Vec2 | + +**Returns:** *Vec2* + +___ + +### `Static` abs + +▸ **abs**(`mx`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +___ + +### `Static` add + +▸ **add**(`mx1`: [Mat22](/api/classes/mat22), `mx2`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx1` | [Mat22](/api/classes/mat22) | +`mx2` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` mul + +▸ **mul**(`mx`: [Mat22](/api/classes/mat22), `my`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +Multiply a matrix times a vector. If a rotation matrix is provided, then this +transforms the vector from one frame to another. + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`my` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +▸ **mul**(`mx`: [Mat22](/api/classes/mat22), `v`: Vec2): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | Vec2 | + +**Returns:** *Vec2* + +___ + +### `Static` mulMat22 + +▸ **mulMat22**(`mx`: [Mat22](/api/classes/mat22), `v`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +___ + +### `Static` mulT + +▸ **mulT**(`mx`: [Mat22](/api/classes/mat22), `my`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +Multiply a matrix transpose times a vector. If a rotation matrix is provided, +then this transforms the vector from one frame to another (inverse +transform). + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`my` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +▸ **mulT**(`mx`: [Mat22](/api/classes/mat22), `v`: Vec2): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | Vec2 | + +**Returns:** *Vec2* + +___ + +### `Static` mulTMat22 + +▸ **mulTMat22**(`mx`: [Mat22](/api/classes/mat22), `v`: [Mat22](/api/classes/mat22)): *[Mat22](/api/classes/mat22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | [Mat22](/api/classes/mat22) | + +**Returns:** *[Mat22](/api/classes/mat22)* + +___ + +### `Static` mulTVec2 + +▸ **mulTVec2**(`mx`: [Mat22](/api/classes/mat22), `v`: Vec2): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | Vec2 | + +**Returns:** *Vec2* + +___ + +### `Static` mulVec2 + +▸ **mulVec2**(`mx`: [Mat22](/api/classes/mat22), `v`: Vec2): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`mx` | [Mat22](/api/classes/mat22) | +`v` | Vec2 | + +**Returns:** *Vec2* diff --git a/docs/pages/api/classes/mat33.md b/docs/pages/api/classes/mat33.md new file mode 100644 index 00000000..97984be7 --- /dev/null +++ b/docs/pages/api/classes/mat33.md @@ -0,0 +1,255 @@ +--- +showOutline: false +--- + +# Class: Mat33 + +A 3-by-3 matrix. Stored in column-major order. + +## Hierarchy + +* **Mat33** + +## Index + +### Constructors + +* [constructor](/api/classes/mat33#constructor) + +### Properties + +* [ex](/api/classes/mat33#ex) +* [ey](/api/classes/mat33#ey) +* [ez](/api/classes/mat33#ez) + +### Methods + +* [getInverse22](/api/classes/mat33#getinverse22) +* [getSymInverse33](/api/classes/mat33#getsyminverse33) +* [setZero](/api/classes/mat33#setzero) +* [solve22](/api/classes/mat33#solve22) +* [solve33](/api/classes/mat33#solve33) +* [add](/api/classes/mat33#static-add) +* [assert](/api/classes/mat33#static-assert) +* [isValid](/api/classes/mat33#static-isvalid) +* [mul](/api/classes/mat33#static-mul) +* [mulVec2](/api/classes/mat33#static-mulvec2) +* [mulVec3](/api/classes/mat33#static-mulvec3) + +## Constructors + +### constructor + +\+ **new Mat33**(`a`: [Vec3Value](/api/interfaces/vec3value), `b`: [Vec3Value](/api/interfaces/vec3value), `c`: [Vec3Value](/api/interfaces/vec3value)): *[Mat33](/api/classes/mat33)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec3Value](/api/interfaces/vec3value) | +`b` | [Vec3Value](/api/interfaces/vec3value) | +`c` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Mat33](/api/classes/mat33)* + +\+ **new Mat33**(): *[Mat33](/api/classes/mat33)* + +**Returns:** *[Mat33](/api/classes/mat33)* + +## Properties + +### ex + +• **ex**: *[Vec3](/api/classes/vec3)* + +___ + +### ey + +• **ey**: *[Vec3](/api/classes/vec3)* + +___ + +### ez + +• **ez**: *[Vec3](/api/classes/vec3)* + +## Methods + +### getInverse22 + +▸ **getInverse22**(`M`: [Mat33](/api/classes/mat33)): *void* + +Get the inverse of this matrix as a 2-by-2. Returns the zero matrix if +singular. + +**Parameters:** + +Name | Type | +------ | ------ | +`M` | [Mat33](/api/classes/mat33) | + +**Returns:** *void* + +___ + +### getSymInverse33 + +▸ **getSymInverse33**(`M`: [Mat33](/api/classes/mat33)): *void* + +Get the symmetric inverse of this matrix as a 3-by-3. Returns the zero matrix +if singular. + +**Parameters:** + +Name | Type | +------ | ------ | +`M` | [Mat33](/api/classes/mat33) | + +**Returns:** *void* + +___ + +### setZero + +▸ **setZero**(): *[Mat33](/api/classes/mat33)* + +Set this matrix to all zeros. + +**Returns:** *[Mat33](/api/classes/mat33)* + +___ + +### solve22 + +▸ **solve22**(`v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Solve A * x = b, where b is a column vector. This is more efficient than +computing the inverse in one-shot cases. Solve only the upper 2-by-2 matrix +equation. + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### solve33 + +▸ **solve33**(`v`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +Solve A * x = b, where b is a column vector. This is more efficient than +computing the inverse in one-shot cases. + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` add + +▸ **add**(`a`: [Mat33](/api/classes/mat33), `b`: [Mat33](/api/classes/mat33)): *[Mat33](/api/classes/mat33)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat33](/api/classes/mat33) | +`b` | [Mat33](/api/classes/mat33) | + +**Returns:** *[Mat33](/api/classes/mat33)* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` mul + +▸ **mul**(`a`: [Mat33](/api/classes/mat33), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Multiply a matrix times a vector. + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat33](/api/classes/mat33) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +▸ **mul**(`a`: [Mat33](/api/classes/mat33), `b`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat33](/api/classes/mat33) | +`b` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` mulVec2 + +▸ **mulVec2**(`a`: [Mat33](/api/classes/mat33), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat33](/api/classes/mat33) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulVec3 + +▸ **mulVec3**(`a`: [Mat33](/api/classes/mat33), `b`: [Vec3](/api/classes/vec3)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Mat33](/api/classes/mat33) | +`b` | [Vec3](/api/classes/vec3) | + +**Returns:** *[Vec3](/api/classes/vec3)* diff --git a/docs/pages/api/classes/motorjoint.md b/docs/pages/api/classes/motorjoint.md new file mode 100644 index 00000000..9601a94c --- /dev/null +++ b/docs/pages/api/classes/motorjoint.md @@ -0,0 +1,455 @@ +--- +showOutline: false +--- + +# Class: MotorJoint + +A motor joint is used to control the relative motion between two bodies. A +typical usage is to control the movement of a dynamic body with respect to +the ground. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **MotorJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/motorjoint#constructor) + +### Properties + +* [style](/api/classes/motorjoint#style) +* [TYPE](/api/classes/motorjoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/motorjoint#getanchora) +* [getAnchorB](/api/classes/motorjoint#getanchorb) +* [getAngularOffset](/api/classes/motorjoint#getangularoffset) +* [getBodyA](/api/classes/motorjoint#getbodya) +* [getBodyB](/api/classes/motorjoint#getbodyb) +* [getCollideConnected](/api/classes/motorjoint#getcollideconnected) +* [getCorrectionFactor](/api/classes/motorjoint#getcorrectionfactor) +* [getLinearOffset](/api/classes/motorjoint#getlinearoffset) +* [getMaxForce](/api/classes/motorjoint#getmaxforce) +* [getMaxTorque](/api/classes/motorjoint#getmaxtorque) +* [getNext](/api/classes/motorjoint#getnext) +* [getReactionForce](/api/classes/motorjoint#getreactionforce) +* [getReactionTorque](/api/classes/motorjoint#getreactiontorque) +* [getType](/api/classes/motorjoint#gettype) +* [getUserData](/api/classes/motorjoint#getuserdata) +* [initVelocityConstraints](/api/classes/motorjoint#initvelocityconstraints) +* [isActive](/api/classes/motorjoint#isactive) +* [setAngularOffset](/api/classes/motorjoint#setangularoffset) +* [setCorrectionFactor](/api/classes/motorjoint#setcorrectionfactor) +* [setLinearOffset](/api/classes/motorjoint#setlinearoffset) +* [setMaxForce](/api/classes/motorjoint#setmaxforce) +* [setMaxTorque](/api/classes/motorjoint#setmaxtorque) +* [setUserData](/api/classes/motorjoint#setuserdata) +* [shiftOrigin](/api/classes/motorjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/motorjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/motorjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new MotorJoint**(`def`: [MotorJointDef](/api/interfaces/motorjointdef)): *[MotorJoint](/api/classes/motorjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [MotorJointDef](/api/interfaces/motorjointdef) | + +**Returns:** *[MotorJoint](/api/classes/motorjoint)* + +\+ **new MotorJoint**(`def`: [MotorJointOpt](/api/interfaces/motorjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body)): *[MotorJoint](/api/classes/motorjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [MotorJointOpt](/api/interfaces/motorjointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | + +**Returns:** *[MotorJoint](/api/classes/motorjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"motor-joint"* = 'motor-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAngularOffset + +▸ **getAngularOffset**(): *number* + +**Returns:** *number* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getCorrectionFactor + +▸ **getCorrectionFactor**(): *number* + +Get the position correction factor in the range [0,1]. + +**Returns:** *number* + +___ + +### getLinearOffset + +▸ **getLinearOffset**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### getMaxForce + +▸ **getMaxForce**(): *number* + +Get the maximum friction force in N. + +**Returns:** *number* + +___ + +### getMaxTorque + +▸ **getMaxTorque**(): *number* + +Get the maximum friction torque in N*m. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setAngularOffset + +▸ **setAngularOffset**(`angularOffset`: number): *void* + +Set/get the target angular offset, in radians. + +**Parameters:** + +Name | Type | +------ | ------ | +`angularOffset` | number | + +**Returns:** *void* + +___ + +### setCorrectionFactor + +▸ **setCorrectionFactor**(`factor`: number): *void* + +Set the position correction factor in the range [0,1]. + +**Parameters:** + +Name | Type | +------ | ------ | +`factor` | number | + +**Returns:** *void* + +___ + +### setLinearOffset + +▸ **setLinearOffset**(`linearOffset`: [Vec2Value](/api/interfaces/vec2value)): *void* + +Set/get the target linear offset, in frame A, in meters. + +**Parameters:** + +Name | Type | +------ | ------ | +`linearOffset` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### setMaxForce + +▸ **setMaxForce**(`force`: number): *void* + +Set the maximum friction force in N. + +**Parameters:** + +Name | Type | +------ | ------ | +`force` | number | + +**Returns:** *void* + +___ + +### setMaxTorque + +▸ **setMaxTorque**(`torque`: number): *void* + +Set the maximum friction torque in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`torque` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/mousejoint.md b/docs/pages/api/classes/mousejoint.md new file mode 100644 index 00000000..948b523f --- /dev/null +++ b/docs/pages/api/classes/mousejoint.md @@ -0,0 +1,437 @@ +--- +showOutline: false +--- + +# Class: MouseJoint + +A mouse joint is used to make a point on a body track a specified world +point. This a soft constraint with a maximum force. This allows the +constraint to stretch and without applying huge forces. + +You need to call setTarget(target) every time that mouse is +moved, to track the new location of the mouse. + +NOTE: this joint is not documented in the manual because it was developed to +be used in the testbed. If you want to learn how to use the mouse joint, look +at the testbed. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **MouseJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/mousejoint#constructor) + +### Properties + +* [style](/api/classes/mousejoint#style) +* [TYPE](/api/classes/mousejoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/mousejoint#getanchora) +* [getAnchorB](/api/classes/mousejoint#getanchorb) +* [getBodyA](/api/classes/mousejoint#getbodya) +* [getBodyB](/api/classes/mousejoint#getbodyb) +* [getCollideConnected](/api/classes/mousejoint#getcollideconnected) +* [getDampingRatio](/api/classes/mousejoint#getdampingratio) +* [getFrequency](/api/classes/mousejoint#getfrequency) +* [getMaxForce](/api/classes/mousejoint#getmaxforce) +* [getNext](/api/classes/mousejoint#getnext) +* [getReactionForce](/api/classes/mousejoint#getreactionforce) +* [getReactionTorque](/api/classes/mousejoint#getreactiontorque) +* [getTarget](/api/classes/mousejoint#gettarget) +* [getType](/api/classes/mousejoint#gettype) +* [getUserData](/api/classes/mousejoint#getuserdata) +* [initVelocityConstraints](/api/classes/mousejoint#initvelocityconstraints) +* [isActive](/api/classes/mousejoint#isactive) +* [setDampingRatio](/api/classes/mousejoint#setdampingratio) +* [setFrequency](/api/classes/mousejoint#setfrequency) +* [setMaxForce](/api/classes/mousejoint#setmaxforce) +* [setTarget](/api/classes/mousejoint#settarget) +* [setUserData](/api/classes/mousejoint#setuserdata) +* [shiftOrigin](/api/classes/mousejoint#shiftorigin) +* [solvePositionConstraints](/api/classes/mousejoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/mousejoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new MouseJoint**(`def`: [MouseJointDef](/api/interfaces/mousejointdef)): *[MouseJoint](/api/classes/mousejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [MouseJointDef](/api/interfaces/mousejointdef) | + +**Returns:** *[MouseJoint](/api/classes/mousejoint)* + +\+ **new MouseJoint**(`def`: [MouseJointOpt](/api/interfaces/mousejointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `target`: [Vec2Value](/api/interfaces/vec2value)): *[MouseJoint](/api/classes/mousejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [MouseJointOpt](/api/interfaces/mousejointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`target` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[MouseJoint](/api/classes/mousejoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"mouse-joint"* = 'mouse-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getDampingRatio + +▸ **getDampingRatio**(): *number* + +Get the damping ratio (dimensionless). + +**Returns:** *number* + +___ + +### getFrequency + +▸ **getFrequency**(): *number* + +Get the frequency in Hertz. + +**Returns:** *number* + +___ + +### getMaxForce + +▸ **getMaxForce**(): *number* + +Get the maximum force in Newtons. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getTarget + +▸ **getTarget**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setDampingRatio + +▸ **setDampingRatio**(`ratio`: number): *void* + +Set the damping ratio (dimensionless). + +**Parameters:** + +Name | Type | +------ | ------ | +`ratio` | number | + +**Returns:** *void* + +___ + +### setFrequency + +▸ **setFrequency**(`hz`: number): *void* + +Set the frequency in Hertz. + +**Parameters:** + +Name | Type | +------ | ------ | +`hz` | number | + +**Returns:** *void* + +___ + +### setMaxForce + +▸ **setMaxForce**(`force`: number): *void* + +Set the maximum force in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`force` | number | + +**Returns:** *void* + +___ + +### setTarget + +▸ **setTarget**(`target`: [Vec2Value](/api/interfaces/vec2value)): *void* + +Use this to update the target point. + +**Parameters:** + +Name | Type | +------ | ------ | +`target` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Overrides [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/polygonshape.md b/docs/pages/api/classes/polygonshape.md new file mode 100644 index 00000000..d137c5f1 --- /dev/null +++ b/docs/pages/api/classes/polygonshape.md @@ -0,0 +1,276 @@ +--- +showOutline: false +--- + +# Class: PolygonShape + +A convex polygon. It is assumed that the interior of the polygon is to the +left of each edge. Polygons have a maximum number of vertices equal to +Settings.maxPolygonVertices. In most cases you should not need many vertices +for a convex polygon. extends Shape + +## Hierarchy + +* [Shape](/api/classes/shape) + + ↳ **PolygonShape** + + ↳ [BoxShape](/api/classes/boxshape) + +## Index + +### Constructors + +* [constructor](/api/classes/polygonshape#constructor) + +### Properties + +* [m_centroid](/api/classes/polygonshape#m_centroid) +* [m_count](/api/classes/polygonshape#m_count) +* [m_normals](/api/classes/polygonshape#m_normals) +* [m_radius](/api/classes/polygonshape#m_radius) +* [m_type](/api/classes/polygonshape#m_type) +* [m_vertices](/api/classes/polygonshape#m_vertices) +* [style](/api/classes/polygonshape#style) +* [TYPE](/api/classes/polygonshape#static-type) + +### Methods + +* [computeAABB](/api/classes/polygonshape#computeaabb) +* [computeDistanceProxy](/api/classes/polygonshape#computedistanceproxy) +* [computeMass](/api/classes/polygonshape#computemass) +* [getChildCount](/api/classes/polygonshape#getchildcount) +* [getRadius](/api/classes/polygonshape#getradius) +* [getType](/api/classes/polygonshape#gettype) +* [rayCast](/api/classes/polygonshape#raycast) +* [testPoint](/api/classes/polygonshape#testpoint) +* [validate](/api/classes/polygonshape#validate) +* [isValid](/api/classes/polygonshape#static-isvalid) + +## Constructors + +### constructor + +\+ **new PolygonShape**(`vertices?`: [Vec2Value](/api/interfaces/vec2value)[]): *[PolygonShape](/api/classes/polygonshape)* + +**Parameters:** + +Name | Type | +------ | ------ | +`vertices?` | [Vec2Value](/api/interfaces/vec2value)[] | + +**Returns:** *[PolygonShape](/api/classes/polygonshape)* + +## Properties + +### m_centroid + +• **m_centroid**: *Vec2* + +___ + +### m_count + +• **m_count**: *number* + +___ + +### m_normals + +• **m_normals**: *Vec2[]* + +___ + +### m_radius + +• **m_radius**: *number* + +*Overrides [Shape](/api/classes/shape).[m_radius](/api/classes/shape#m_radius)* + +___ + +### m_type + +• **m_type**: *"polygon"* + +*Overrides [Shape](/api/classes/shape).[m_type](/api/classes/shape#m_type)* + +___ + +### m_vertices + +• **m_vertices**: *Vec2[]* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Shape](/api/classes/shape).[style](/api/classes/shape#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"polygon"* = 'polygon' as const + +## Methods + +### computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeAABB](/api/classes/shape#abstract-computeaabb)* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy)): *void* + +*Overrides [Shape](/api/classes/shape).[computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy)* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | + +**Returns:** *void* + +___ + +### computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density`: number): *void* + +*Overrides [Shape](/api/classes/shape).[computeMass](/api/classes/shape#abstract-computemass)* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### getChildCount + +▸ **getChildCount**(): *1* + +*Overrides [Shape](/api/classes/shape).[getChildCount](/api/classes/shape#abstract-getchildcount)* + +Get the number of child primitives. + +**Returns:** *1* + +___ + +### getRadius + +▸ **getRadius**(): *number* + +*Overrides [Shape](/api/classes/shape).[getRadius](/api/classes/shape#abstract-getradius)* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *"polygon"* + +*Overrides [Shape](/api/classes/shape).[getType](/api/classes/shape#abstract-gettype)* + +**Returns:** *"polygon"* + +___ + +### rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +*Overrides [Shape](/api/classes/shape).[rayCast](/api/classes/shape#abstract-raycast)* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: Vec2): *boolean* + +*Overrides [Shape](/api/classes/shape).[testPoint](/api/classes/shape#abstract-testpoint)* + +Test a point for containment in this shape. This only works for convex +shapes. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | Vec2 | A point in world coordinates. | + +**Returns:** *boolean* + +___ + +### validate + +▸ **validate**(): *boolean* + +Validate convexity. This is a very time consuming operation. + +**Returns:** *boolean* + +true if valid + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +*Inherited from [Shape](/api/classes/shape).[isValid](/api/classes/shape#static-isvalid)* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/pages/api/classes/position.md b/docs/pages/api/classes/position.md new file mode 100644 index 00000000..e65cee55 --- /dev/null +++ b/docs/pages/api/classes/position.md @@ -0,0 +1,51 @@ +--- +showOutline: false +--- + +# Class: Position + +## Hierarchy + +* **Position** + +## Index + +### Properties + +* [a](/api/classes/position#a) +* [c](/api/classes/position#c) + +### Methods + +* [getTransform](/api/classes/position#gettransform) + +## Properties + +### a + +• **a**: *number* = 0 + +angle + +___ + +### c + +• **c**: *Vec2‹›* = Vec2.zero() + +location + +## Methods + +### getTransform + +▸ **getTransform**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value)): *[TransformValue](/api/globals#transformvalue)* + +**Parameters:** + +Name | Type | +------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | +`p` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[TransformValue](/api/globals#transformvalue)* diff --git a/docs/pages/api/classes/prismaticjoint.md b/docs/pages/api/classes/prismaticjoint.md new file mode 100644 index 00000000..08095e95 --- /dev/null +++ b/docs/pages/api/classes/prismaticjoint.md @@ -0,0 +1,555 @@ +--- +showOutline: false +--- + +# Class: PrismaticJoint + +A prismatic joint. This joint provides one degree of freedom: translation +along an axis fixed in bodyA. Relative rotation is prevented. You can use a +joint limit to restrict the range of motion and a joint motor to drive the +motion or to model joint friction. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **PrismaticJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/prismaticjoint#constructor) + +### Properties + +* [style](/api/classes/prismaticjoint#style) +* [TYPE](/api/classes/prismaticjoint#static-type) + +### Methods + +* [enableLimit](/api/classes/prismaticjoint#enablelimit) +* [enableMotor](/api/classes/prismaticjoint#enablemotor) +* [getAnchorA](/api/classes/prismaticjoint#getanchora) +* [getAnchorB](/api/classes/prismaticjoint#getanchorb) +* [getBodyA](/api/classes/prismaticjoint#getbodya) +* [getBodyB](/api/classes/prismaticjoint#getbodyb) +* [getCollideConnected](/api/classes/prismaticjoint#getcollideconnected) +* [getJointSpeed](/api/classes/prismaticjoint#getjointspeed) +* [getJointTranslation](/api/classes/prismaticjoint#getjointtranslation) +* [getLocalAnchorA](/api/classes/prismaticjoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/prismaticjoint#getlocalanchorb) +* [getLocalAxisA](/api/classes/prismaticjoint#getlocalaxisa) +* [getLowerLimit](/api/classes/prismaticjoint#getlowerlimit) +* [getMaxMotorForce](/api/classes/prismaticjoint#getmaxmotorforce) +* [getMotorForce](/api/classes/prismaticjoint#getmotorforce) +* [getMotorSpeed](/api/classes/prismaticjoint#getmotorspeed) +* [getNext](/api/classes/prismaticjoint#getnext) +* [getReactionForce](/api/classes/prismaticjoint#getreactionforce) +* [getReactionTorque](/api/classes/prismaticjoint#getreactiontorque) +* [getReferenceAngle](/api/classes/prismaticjoint#getreferenceangle) +* [getType](/api/classes/prismaticjoint#gettype) +* [getUpperLimit](/api/classes/prismaticjoint#getupperlimit) +* [getUserData](/api/classes/prismaticjoint#getuserdata) +* [initVelocityConstraints](/api/classes/prismaticjoint#initvelocityconstraints) +* [isActive](/api/classes/prismaticjoint#isactive) +* [isLimitEnabled](/api/classes/prismaticjoint#islimitenabled) +* [isMotorEnabled](/api/classes/prismaticjoint#ismotorenabled) +* [setLimits](/api/classes/prismaticjoint#setlimits) +* [setMaxMotorForce](/api/classes/prismaticjoint#setmaxmotorforce) +* [setMotorSpeed](/api/classes/prismaticjoint#setmotorspeed) +* [setUserData](/api/classes/prismaticjoint#setuserdata) +* [shiftOrigin](/api/classes/prismaticjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/prismaticjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/prismaticjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new PrismaticJoint**(`def`: [PrismaticJointDef](/api/interfaces/prismaticjointdef)): *[PrismaticJoint](/api/classes/prismaticjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [PrismaticJointDef](/api/interfaces/prismaticjointdef) | + +**Returns:** *[PrismaticJoint](/api/classes/prismaticjoint)* + +\+ **new PrismaticJoint**(`def`: [PrismaticJointOpt](/api/interfaces/prismaticjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value), `axis`: [Vec2Value](/api/interfaces/vec2value)): *[PrismaticJoint](/api/classes/prismaticjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [PrismaticJointOpt](/api/interfaces/prismaticjointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | +`axis` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[PrismaticJoint](/api/classes/prismaticjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"prismatic-joint"* = 'prismatic-joint' as const + +## Methods + +### enableLimit + +▸ **enableLimit**(`flag`: boolean): *void* + +Enable/disable the joint limit. + +**Parameters:** + +Name | Type | +------ | ------ | +`flag` | boolean | + +**Returns:** *void* + +___ + +### enableMotor + +▸ **enableMotor**(`flag`: boolean): *void* + +Enable/disable the joint motor. + +**Parameters:** + +Name | Type | +------ | ------ | +`flag` | boolean | + +**Returns:** *void* + +___ + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getJointSpeed + +▸ **getJointSpeed**(): *number* + +Get the current joint translation speed, usually in meters per second. + +**Returns:** *number* + +___ + +### getJointTranslation + +▸ **getJointTranslation**(): *number* + +Get the current joint translation, usually in meters. + +**Returns:** *number* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAxisA + +▸ **getLocalAxisA**(): *Vec2* + +The local joint axis relative to bodyA. + +**Returns:** *Vec2* + +___ + +### getLowerLimit + +▸ **getLowerLimit**(): *number* + +Get the lower joint limit, usually in meters. + +**Returns:** *number* + +___ + +### getMaxMotorForce + +▸ **getMaxMotorForce**(): *number* + +**Returns:** *number* + +___ + +### getMotorForce + +▸ **getMotorForce**(`inv_dt`: number): *number* + +Get the current motor force given the inverse time step, usually in N. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getMotorSpeed + +▸ **getMotorSpeed**(): *number* + +Get the motor speed, usually in meters per second. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getReferenceAngle + +▸ **getReferenceAngle**(): *number* + +Get the reference angle. + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUpperLimit + +▸ **getUpperLimit**(): *number* + +Get the upper joint limit, usually in meters. + +**Returns:** *number* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### isLimitEnabled + +▸ **isLimitEnabled**(): *boolean* + +Is the joint limit enabled? + +**Returns:** *boolean* + +___ + +### isMotorEnabled + +▸ **isMotorEnabled**(): *boolean* + +Is the joint motor enabled? + +**Returns:** *boolean* + +___ + +### setLimits + +▸ **setLimits**(`lower`: number, `upper`: number): *void* + +Set the joint limits, usually in meters. + +**Parameters:** + +Name | Type | +------ | ------ | +`lower` | number | +`upper` | number | + +**Returns:** *void* + +___ + +### setMaxMotorForce + +▸ **setMaxMotorForce**(`force`: number): *void* + +Set the maximum motor force, usually in N. + +**Parameters:** + +Name | Type | +------ | ------ | +`force` | number | + +**Returns:** *void* + +___ + +### setMotorSpeed + +▸ **setMotorSpeed**(`speed`: number): *void* + +Set the motor speed, usually in meters per second. + +**Parameters:** + +Name | Type | +------ | ------ | +`speed` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/pulleyjoint.md b/docs/pages/api/classes/pulleyjoint.md new file mode 100644 index 00000000..39c9d75c --- /dev/null +++ b/docs/pages/api/classes/pulleyjoint.md @@ -0,0 +1,407 @@ +--- +showOutline: false +--- + +# Class: PulleyJoint + +The pulley joint is connected to two bodies and two fixed ground points. The +pulley supports a ratio such that: length1 + ratio * length2 <= constant + +Yes, the force transmitted is scaled by the ratio. + +Warning: the pulley joint can get a bit squirrelly by itself. They often work +better when combined with prismatic joints. You should also cover the the +anchor points with static shapes to prevent one side from going to zero +length. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **PulleyJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/pulleyjoint#constructor) + +### Properties + +* [style](/api/classes/pulleyjoint#style) +* [TYPE](/api/classes/pulleyjoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/pulleyjoint#getanchora) +* [getAnchorB](/api/classes/pulleyjoint#getanchorb) +* [getBodyA](/api/classes/pulleyjoint#getbodya) +* [getBodyB](/api/classes/pulleyjoint#getbodyb) +* [getCollideConnected](/api/classes/pulleyjoint#getcollideconnected) +* [getCurrentLengthA](/api/classes/pulleyjoint#getcurrentlengtha) +* [getCurrentLengthB](/api/classes/pulleyjoint#getcurrentlengthb) +* [getGroundAnchorA](/api/classes/pulleyjoint#getgroundanchora) +* [getGroundAnchorB](/api/classes/pulleyjoint#getgroundanchorb) +* [getLengthA](/api/classes/pulleyjoint#getlengtha) +* [getLengthB](/api/classes/pulleyjoint#getlengthb) +* [getNext](/api/classes/pulleyjoint#getnext) +* [getRatio](/api/classes/pulleyjoint#getratio) +* [getReactionForce](/api/classes/pulleyjoint#getreactionforce) +* [getReactionTorque](/api/classes/pulleyjoint#getreactiontorque) +* [getType](/api/classes/pulleyjoint#gettype) +* [getUserData](/api/classes/pulleyjoint#getuserdata) +* [initVelocityConstraints](/api/classes/pulleyjoint#initvelocityconstraints) +* [isActive](/api/classes/pulleyjoint#isactive) +* [setUserData](/api/classes/pulleyjoint#setuserdata) +* [shiftOrigin](/api/classes/pulleyjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/pulleyjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/pulleyjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new PulleyJoint**(`def`: [PulleyJointDef](/api/interfaces/pulleyjointdef)): *[PulleyJoint](/api/classes/pulleyjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [PulleyJointDef](/api/interfaces/pulleyjointdef) | + +**Returns:** *[PulleyJoint](/api/classes/pulleyjoint)* + +\+ **new PulleyJoint**(`def`: [PulleyJointOpt](/api/interfaces/pulleyjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `groundA`: [Vec2Value](/api/interfaces/vec2value), `groundB`: [Vec2Value](/api/interfaces/vec2value), `anchorA`: [Vec2Value](/api/interfaces/vec2value), `anchorB`: [Vec2Value](/api/interfaces/vec2value), `ratio`: number): *[PulleyJoint](/api/classes/pulleyjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [PulleyJointOpt](/api/interfaces/pulleyjointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`groundA` | [Vec2Value](/api/interfaces/vec2value) | +`groundB` | [Vec2Value](/api/interfaces/vec2value) | +`anchorA` | [Vec2Value](/api/interfaces/vec2value) | +`anchorB` | [Vec2Value](/api/interfaces/vec2value) | +`ratio` | number | + +**Returns:** *[PulleyJoint](/api/classes/pulleyjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"pulley-joint"* = 'pulley-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getCurrentLengthA + +▸ **getCurrentLengthA**(): *number* + +Get the current length of the segment attached to bodyA. + +**Returns:** *number* + +___ + +### getCurrentLengthB + +▸ **getCurrentLengthB**(): *number* + +Get the current length of the segment attached to bodyB. + +**Returns:** *number* + +___ + +### getGroundAnchorA + +▸ **getGroundAnchorA**(): *Vec2* + +Get the first ground anchor. + +**Returns:** *Vec2* + +___ + +### getGroundAnchorB + +▸ **getGroundAnchorB**(): *Vec2* + +Get the second ground anchor. + +**Returns:** *Vec2* + +___ + +### getLengthA + +▸ **getLengthA**(): *number* + +Get the current length of the segment attached to bodyA. + +**Returns:** *number* + +___ + +### getLengthB + +▸ **getLengthB**(): *number* + +Get the current length of the segment attached to bodyB. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getRatio + +▸ **getRatio**(): *number* + +Get the pulley ratio. + +**Returns:** *number* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Overrides [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/api/classes/revolutejoint.md b/docs/pages/api/classes/revolutejoint.md similarity index 50% rename from docs/api/classes/revolutejoint.md rename to docs/pages/api/classes/revolutejoint.md index be776dc5..184e0ca5 100644 --- a/docs/api/classes/revolutejoint.md +++ b/docs/pages/api/classes/revolutejoint.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RevoluteJoint](revolutejoint.md) +--- +showOutline: false +--- # Class: RevoluteJoint @@ -11,7 +13,7 @@ so that infinite forces are not generated. ## Hierarchy -* [Joint](joint.md) +* [Joint](/api/classes/joint) ↳ **RevoluteJoint** @@ -19,87 +21,87 @@ so that infinite forces are not generated. ### Constructors -* [constructor](revolutejoint.md#constructor) +* [constructor](/api/classes/revolutejoint#constructor) ### Properties -* [style](revolutejoint.md#style) -* [TYPE](revolutejoint.md#static-type) +* [style](/api/classes/revolutejoint#style) +* [TYPE](/api/classes/revolutejoint#static-type) ### Methods -* [enableLimit](revolutejoint.md#enablelimit) -* [enableMotor](revolutejoint.md#enablemotor) -* [getAnchorA](revolutejoint.md#getanchora) -* [getAnchorB](revolutejoint.md#getanchorb) -* [getBodyA](revolutejoint.md#getbodya) -* [getBodyB](revolutejoint.md#getbodyb) -* [getCollideConnected](revolutejoint.md#getcollideconnected) -* [getJointAngle](revolutejoint.md#getjointangle) -* [getJointSpeed](revolutejoint.md#getjointspeed) -* [getLocalAnchorA](revolutejoint.md#getlocalanchora) -* [getLocalAnchorB](revolutejoint.md#getlocalanchorb) -* [getLowerLimit](revolutejoint.md#getlowerlimit) -* [getMaxMotorTorque](revolutejoint.md#getmaxmotortorque) -* [getMotorSpeed](revolutejoint.md#getmotorspeed) -* [getMotorTorque](revolutejoint.md#getmotortorque) -* [getNext](revolutejoint.md#getnext) -* [getReactionForce](revolutejoint.md#getreactionforce) -* [getReactionTorque](revolutejoint.md#getreactiontorque) -* [getReferenceAngle](revolutejoint.md#getreferenceangle) -* [getType](revolutejoint.md#gettype) -* [getUpperLimit](revolutejoint.md#getupperlimit) -* [getUserData](revolutejoint.md#getuserdata) -* [initVelocityConstraints](revolutejoint.md#initvelocityconstraints) -* [isActive](revolutejoint.md#isactive) -* [isLimitEnabled](revolutejoint.md#islimitenabled) -* [isMotorEnabled](revolutejoint.md#ismotorenabled) -* [setLimits](revolutejoint.md#setlimits) -* [setMaxMotorTorque](revolutejoint.md#setmaxmotortorque) -* [setMotorSpeed](revolutejoint.md#setmotorspeed) -* [setUserData](revolutejoint.md#setuserdata) -* [shiftOrigin](revolutejoint.md#shiftorigin) -* [solvePositionConstraints](revolutejoint.md#solvepositionconstraints) -* [solveVelocityConstraints](revolutejoint.md#solvevelocityconstraints) +* [enableLimit](/api/classes/revolutejoint#enablelimit) +* [enableMotor](/api/classes/revolutejoint#enablemotor) +* [getAnchorA](/api/classes/revolutejoint#getanchora) +* [getAnchorB](/api/classes/revolutejoint#getanchorb) +* [getBodyA](/api/classes/revolutejoint#getbodya) +* [getBodyB](/api/classes/revolutejoint#getbodyb) +* [getCollideConnected](/api/classes/revolutejoint#getcollideconnected) +* [getJointAngle](/api/classes/revolutejoint#getjointangle) +* [getJointSpeed](/api/classes/revolutejoint#getjointspeed) +* [getLocalAnchorA](/api/classes/revolutejoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/revolutejoint#getlocalanchorb) +* [getLowerLimit](/api/classes/revolutejoint#getlowerlimit) +* [getMaxMotorTorque](/api/classes/revolutejoint#getmaxmotortorque) +* [getMotorSpeed](/api/classes/revolutejoint#getmotorspeed) +* [getMotorTorque](/api/classes/revolutejoint#getmotortorque) +* [getNext](/api/classes/revolutejoint#getnext) +* [getReactionForce](/api/classes/revolutejoint#getreactionforce) +* [getReactionTorque](/api/classes/revolutejoint#getreactiontorque) +* [getReferenceAngle](/api/classes/revolutejoint#getreferenceangle) +* [getType](/api/classes/revolutejoint#gettype) +* [getUpperLimit](/api/classes/revolutejoint#getupperlimit) +* [getUserData](/api/classes/revolutejoint#getuserdata) +* [initVelocityConstraints](/api/classes/revolutejoint#initvelocityconstraints) +* [isActive](/api/classes/revolutejoint#isactive) +* [isLimitEnabled](/api/classes/revolutejoint#islimitenabled) +* [isMotorEnabled](/api/classes/revolutejoint#ismotorenabled) +* [setLimits](/api/classes/revolutejoint#setlimits) +* [setMaxMotorTorque](/api/classes/revolutejoint#setmaxmotortorque) +* [setMotorSpeed](/api/classes/revolutejoint#setmotorspeed) +* [setUserData](/api/classes/revolutejoint#setuserdata) +* [shiftOrigin](/api/classes/revolutejoint#shiftorigin) +* [solvePositionConstraints](/api/classes/revolutejoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/revolutejoint#solvevelocityconstraints) ## Constructors ### constructor -\+ **new RevoluteJoint**(`def`: [RevoluteJointDef](../interfaces/revolutejointdef.md)): *[RevoluteJoint](revolutejoint.md)* +\+ **new RevoluteJoint**(`def`: [RevoluteJointDef](/api/interfaces/revolutejointdef)): *[RevoluteJoint](/api/classes/revolutejoint)* -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* **Parameters:** Name | Type | ------ | ------ | -`def` | [RevoluteJointDef](../interfaces/revolutejointdef.md) | +`def` | [RevoluteJointDef](/api/interfaces/revolutejointdef) | -**Returns:** *[RevoluteJoint](revolutejoint.md)* +**Returns:** *[RevoluteJoint](/api/classes/revolutejoint)* -\+ **new RevoluteJoint**(`def`: [RevoluteJointOpt](../interfaces/revolutejointopt.md), `bodyA`: [Body](body.md), `bodyB`: [Body](body.md), `anchor`: [Vec2Value](../interfaces/vec2value.md)): *[RevoluteJoint](revolutejoint.md)* +\+ **new RevoluteJoint**(`def`: [RevoluteJointOpt](/api/interfaces/revolutejointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value)): *[RevoluteJoint](/api/classes/revolutejoint)* -*Overrides [Joint](joint.md).[constructor](joint.md#constructor)* +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* **Parameters:** Name | Type | ------ | ------ | -`def` | [RevoluteJointOpt](../interfaces/revolutejointopt.md) | -`bodyA` | [Body](body.md) | -`bodyB` | [Body](body.md) | -`anchor` | [Vec2Value](../interfaces/vec2value.md) | +`def` | [RevoluteJointOpt](/api/interfaces/revolutejointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | -**Returns:** *[RevoluteJoint](revolutejoint.md)* +**Returns:** *[RevoluteJoint](/api/classes/revolutejoint)* ## Properties ### style -• **style**: *[Style](../interfaces/style.md)* +• **style**: *[Style](/api/interfaces/style)* -*Inherited from [Joint](joint.md).[style](joint.md#style)* +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* Styling for dev-tools. @@ -147,7 +149,7 @@ ___ ▸ **getAnchorA**(): *Vec2* -*Overrides [Joint](joint.md).[getAnchorA](joint.md#abstract-getanchora)* +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* Get the anchor point on bodyA in world coordinates. @@ -159,7 +161,7 @@ ___ ▸ **getAnchorB**(): *Vec2* -*Overrides [Joint](joint.md).[getAnchorB](joint.md#abstract-getanchorb)* +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* Get the anchor point on bodyB in world coordinates. @@ -169,25 +171,25 @@ ___ ### getBodyA -▸ **getBodyA**(): *[Body](body.md)* +▸ **getBodyA**(): *[Body](/api/classes/body)* -*Inherited from [Joint](joint.md).[getBodyA](joint.md#getbodya)* +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* Get the first body attached to this joint. -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ ### getBodyB -▸ **getBodyB**(): *[Body](body.md)* +▸ **getBodyB**(): *[Body](/api/classes/body)* -*Inherited from [Joint](joint.md).[getBodyB](joint.md#getbodyb)* +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* Get the second body attached to this joint. -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ @@ -195,7 +197,7 @@ ___ ▸ **getCollideConnected**(): *boolean* -*Inherited from [Joint](joint.md).[getCollideConnected](joint.md#getcollideconnected)* +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* Get collide connected. Note: modifying the collide connect flag won't work correctly because the flag is only checked when fixture AABBs begin to @@ -291,13 +293,13 @@ ___ ### getNext -▸ **getNext**(): *[Joint](joint.md)* +▸ **getNext**(): *[Joint](/api/classes/joint)* -*Inherited from [Joint](joint.md).[getNext](joint.md#getnext)* +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* Get the next joint the world joint list. -**Returns:** *[Joint](joint.md)* +**Returns:** *[Joint](/api/classes/joint)* ___ @@ -305,7 +307,7 @@ ___ ▸ **getReactionForce**(`inv_dt`: number): *Vec2* -*Overrides [Joint](joint.md).[getReactionForce](joint.md#abstract-getreactionforce)* +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* Get the reaction force given the inverse time step. Unit is N. @@ -323,7 +325,7 @@ ___ ▸ **getReactionTorque**(`inv_dt`: number): *number* -*Overrides [Joint](joint.md).[getReactionTorque](joint.md#abstract-getreactiontorque)* +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m. @@ -352,7 +354,7 @@ ___ ▸ **getType**(): *string* -*Inherited from [Joint](joint.md).[getType](joint.md#gettype)* +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* Get the type of the concrete joint. @@ -374,7 +376,7 @@ ___ ▸ **getUserData**(): *unknown* -*Inherited from [Joint](joint.md).[getUserData](joint.md#getuserdata)* +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* **Returns:** *unknown* @@ -382,15 +384,15 @@ ___ ### initVelocityConstraints -▸ **initVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* -*Overrides [Joint](joint.md).[initVelocityConstraints](joint.md#abstract-initvelocityconstraints)* +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* @@ -400,7 +402,7 @@ ___ ▸ **isActive**(): *boolean* -*Inherited from [Joint](joint.md).[isActive](joint.md#isactive)* +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* Short-cut function to determine if either body is inactive. @@ -481,7 +483,7 @@ ___ ▸ **setUserData**(`data`: unknown): *void* -*Inherited from [Joint](joint.md).[setUserData](joint.md#setuserdata)* +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* **Parameters:** @@ -495,9 +497,9 @@ ___ ### shiftOrigin -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* -*Inherited from [Joint](joint.md).[shiftOrigin](joint.md#shiftorigin)* +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* Shift the origin for any points stored in world coordinates. @@ -505,7 +507,7 @@ Shift the origin for any points stored in world coordinates. Name | Type | ------ | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *void* @@ -513,9 +515,9 @@ ___ ### solvePositionConstraints -▸ **solvePositionConstraints**(`step`: [TimeStep](timestep.md)): *boolean* +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* -*Overrides [Joint](joint.md).[solvePositionConstraints](joint.md#abstract-solvepositionconstraints)* +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* This returns true if the position errors are within tolerance. @@ -523,7 +525,7 @@ This returns true if the position errors are within tolerance. Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *boolean* @@ -531,14 +533,14 @@ ___ ### solveVelocityConstraints -▸ **solveVelocityConstraints**(`step`: [TimeStep](timestep.md)): *void* +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* -*Overrides [Joint](joint.md).[solveVelocityConstraints](joint.md#abstract-solvevelocityconstraints)* +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* **Parameters:** Name | Type | ------ | ------ | -`step` | [TimeStep](timestep.md) | +`step` | [TimeStep](/api/classes/timestep) | **Returns:** *void* diff --git a/docs/pages/api/classes/ropejoint.md b/docs/pages/api/classes/ropejoint.md new file mode 100644 index 00000000..ab8864d4 --- /dev/null +++ b/docs/pages/api/classes/ropejoint.md @@ -0,0 +1,385 @@ +--- +showOutline: false +--- + +# Class: RopeJoint + +A rope joint enforces a maximum distance between two points on two bodies. It +has no other effect. + +Warning: if you attempt to change the maximum length during the simulation +you will get some non-physical behavior. + +A model that would allow you to dynamically modify the length would have some +sponginess, so I chose not to implement it that way. See [DistanceJoint](distancejoint) if you +want to dynamically control length. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **RopeJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/ropejoint#constructor) + +### Properties + +* [style](/api/classes/ropejoint#style) +* [TYPE](/api/classes/ropejoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/ropejoint#getanchora) +* [getAnchorB](/api/classes/ropejoint#getanchorb) +* [getBodyA](/api/classes/ropejoint#getbodya) +* [getBodyB](/api/classes/ropejoint#getbodyb) +* [getCollideConnected](/api/classes/ropejoint#getcollideconnected) +* [getLimitState](/api/classes/ropejoint#getlimitstate) +* [getLocalAnchorA](/api/classes/ropejoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/ropejoint#getlocalanchorb) +* [getMaxLength](/api/classes/ropejoint#getmaxlength) +* [getNext](/api/classes/ropejoint#getnext) +* [getReactionForce](/api/classes/ropejoint#getreactionforce) +* [getReactionTorque](/api/classes/ropejoint#getreactiontorque) +* [getType](/api/classes/ropejoint#gettype) +* [getUserData](/api/classes/ropejoint#getuserdata) +* [initVelocityConstraints](/api/classes/ropejoint#initvelocityconstraints) +* [isActive](/api/classes/ropejoint#isactive) +* [setMaxLength](/api/classes/ropejoint#setmaxlength) +* [setUserData](/api/classes/ropejoint#setuserdata) +* [shiftOrigin](/api/classes/ropejoint#shiftorigin) +* [solvePositionConstraints](/api/classes/ropejoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/ropejoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new RopeJoint**(`def`: [RopeJointDef](/api/interfaces/ropejointdef)): *[RopeJoint](/api/classes/ropejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [RopeJointDef](/api/interfaces/ropejointdef) | + +**Returns:** *[RopeJoint](/api/classes/ropejoint)* + +\+ **new RopeJoint**(`def`: [RopeJointOpt](/api/interfaces/ropejointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value)): *[RopeJoint](/api/classes/ropejoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [RopeJointOpt](/api/interfaces/ropejointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[RopeJoint](/api/classes/ropejoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"rope-joint"* = 'rope-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getLimitState + +▸ **getLimitState**(): *number* + +**Returns:** *number* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getMaxLength + +▸ **getMaxLength**(): *number* + +Get the maximum length of the rope. + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setMaxLength + +▸ **setMaxLength**(`length`: number): *void* + +Set the maximum length of the rope. + +**Parameters:** + +Name | Type | +------ | ------ | +`length` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/rot.md b/docs/pages/api/classes/rot.md new file mode 100644 index 00000000..4548c7b8 --- /dev/null +++ b/docs/pages/api/classes/rot.md @@ -0,0 +1,351 @@ +--- +showOutline: false +--- + +# Class: Rot + +## Hierarchy + +* **Rot** + +## Index + +### Constructors + +* [constructor](/api/classes/rot#constructor) + +### Properties + +* [c](/api/classes/rot#c) +* [s](/api/classes/rot#s) + +### Methods + +* [getAngle](/api/classes/rot#getangle) +* [getXAxis](/api/classes/rot#getxaxis) +* [getYAxis](/api/classes/rot#getyaxis) +* [set](/api/classes/rot#set) +* [setAngle](/api/classes/rot#setangle) +* [setIdentity](/api/classes/rot#setidentity) +* [setRot](/api/classes/rot#setrot) +* [assert](/api/classes/rot#static-assert) +* [clone](/api/classes/rot#static-clone) +* [identity](/api/classes/rot#static-identity) +* [isValid](/api/classes/rot#static-isvalid) +* [mul](/api/classes/rot#static-mul) +* [mulRot](/api/classes/rot#static-mulrot) +* [mulSub](/api/classes/rot#static-mulsub) +* [mulT](/api/classes/rot#static-mult) +* [mulTRot](/api/classes/rot#static-multrot) +* [mulTVec2](/api/classes/rot#static-multvec2) +* [mulVec2](/api/classes/rot#static-mulvec2) + +## Constructors + +### constructor + +\+ **new Rot**(`angle?`: number | [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +Initialize from an angle in radians. + +**Parameters:** + +Name | Type | +------ | ------ | +`angle?` | number | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +## Properties + +### c + +• **c**: *number* + +cos(angle) + +___ + +### s + +• **s**: *number* + +sin(angle) + +## Methods + +### getAngle + +▸ **getAngle**(): *number* + +Get the angle in radians. + +**Returns:** *number* + +___ + +### getXAxis + +▸ **getXAxis**(): *Vec2* + +Get the x-axis. + +**Returns:** *Vec2* + +___ + +### getYAxis + +▸ **getYAxis**(): *Vec2* + +Get the y-axis. + +**Returns:** *Vec2* + +___ + +### set + +▸ **set**(`angle`: number | [RotValue](/api/interfaces/rotvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`angle` | number | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *void* + +___ + +### setAngle + +▸ **setAngle**(`angle`: number): *void* + +Set using an angle in radians. + +**Parameters:** + +Name | Type | +------ | ------ | +`angle` | number | + +**Returns:** *void* + +___ + +### setIdentity + +▸ **setIdentity**(): *void* + +Set to the identity rotation. + +**Returns:** *void* + +___ + +### setRot + +▸ **setRot**(`angle`: [RotValue](/api/interfaces/rotvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`angle` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *void* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` clone + +▸ **clone**(`rot`: [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +___ + +### `Static` identity + +▸ **identity**(): *[Rot](/api/classes/rot)* + +**Returns:** *[Rot](/api/classes/rot)* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` mul + +▸ **mul**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +Multiply two rotations: q * r + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +▸ **mul**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Rotate a vector + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulRot + +▸ **mulRot**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +Multiply two rotations: q * r + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +___ + +### `Static` mulSub + +▸ **mulSub**(`rot`: [RotValue](/api/interfaces/rotvalue), `v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulT + +▸ **mulT**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +Transpose multiply two rotations: qT * r + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +▸ **mulT**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Inverse rotate a vector + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulTRot + +▸ **mulTRot**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [RotValue](/api/interfaces/rotvalue)): *[Rot](/api/classes/rot)* + +Transpose multiply two rotations: qT * r + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [RotValue](/api/interfaces/rotvalue) | + +**Returns:** *[Rot](/api/classes/rot)* + +___ + +### `Static` mulTVec2 + +▸ **mulTVec2**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Inverse rotate a vector + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulVec2 + +▸ **mulVec2**(`rot`: [RotValue](/api/interfaces/rotvalue), `m`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Rotate a vector + +**Parameters:** + +Name | Type | +------ | ------ | +`rot` | [RotValue](/api/interfaces/rotvalue) | +`m` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* diff --git a/docs/pages/api/classes/separationfunction.md b/docs/pages/api/classes/separationfunction.md new file mode 100644 index 00000000..4f343b0e --- /dev/null +++ b/docs/pages/api/classes/separationfunction.md @@ -0,0 +1,155 @@ +--- +showOutline: false +--- + +# Class: SeparationFunction + +## Hierarchy + +* **SeparationFunction** + +## Index + +### Properties + +* [indexA](/api/classes/separationfunction#indexa) +* [indexB](/api/classes/separationfunction#indexb) +* [m_axis](/api/classes/separationfunction#m_axis) +* [m_localPoint](/api/classes/separationfunction#m_localpoint) +* [m_proxyA](/api/classes/separationfunction#m_proxya) +* [m_proxyB](/api/classes/separationfunction#m_proxyb) +* [m_sweepA](/api/classes/separationfunction#m_sweepa) +* [m_sweepB](/api/classes/separationfunction#m_sweepb) +* [m_type](/api/classes/separationfunction#m_type) + +### Methods + +* [compute](/api/classes/separationfunction#compute) +* [evaluate](/api/classes/separationfunction#evaluate) +* [findMinSeparation](/api/classes/separationfunction#findminseparation) +* [initialize](/api/classes/separationfunction#initialize) +* [recycle](/api/classes/separationfunction#recycle) + +## Properties + +### indexA + +• **indexA**: *number* = -1 + +___ + +### indexB + +• **indexB**: *number* = -1 + +___ + +### m_axis + +• **m_axis**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +___ + +### m_localPoint + +• **m_localPoint**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +___ + +### m_proxyA + +• **m_proxyA**: *[DistanceProxy](/api/classes/distanceproxy)* = null + +___ + +### m_proxyB + +• **m_proxyB**: *[DistanceProxy](/api/classes/distanceproxy)* = null + +___ + +### m_sweepA + +• **m_sweepA**: *[Sweep](/api/classes/sweep)* = null + +___ + +### m_sweepB + +• **m_sweepB**: *[Sweep](/api/classes/sweep)* = null + +___ + +### m_type + +• **m_type**: *[SeparationFunctionType](/api/enums/separationfunctiontype)* = SeparationFunctionType.e_unset + +## Methods + +### compute + +▸ **compute**(`find`: boolean, `t`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`find` | boolean | +`t` | number | + +**Returns:** *number* + +___ + +### evaluate + +▸ **evaluate**(`t`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`t` | number | + +**Returns:** *number* + +___ + +### findMinSeparation + +▸ **findMinSeparation**(`t`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`t` | number | + +**Returns:** *number* + +___ + +### initialize + +▸ **initialize**(`cache`: [SimplexCache](/api/classes/simplexcache), `proxyA`: [DistanceProxy](/api/classes/distanceproxy), `sweepA`: [Sweep](/api/classes/sweep), `proxyB`: [DistanceProxy](/api/classes/distanceproxy), `sweepB`: [Sweep](/api/classes/sweep), `t1`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`cache` | [SimplexCache](/api/classes/simplexcache) | +`proxyA` | [DistanceProxy](/api/classes/distanceproxy) | +`sweepA` | [Sweep](/api/classes/sweep) | +`proxyB` | [DistanceProxy](/api/classes/distanceproxy) | +`sweepB` | [Sweep](/api/classes/sweep) | +`t1` | number | + +**Returns:** *number* + +___ + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/api/classes/settings.md b/docs/pages/api/classes/settings.md similarity index 75% rename from docs/api/classes/settings.md rename to docs/pages/api/classes/settings.md index c5354165..efd3c3d5 100644 --- a/docs/api/classes/settings.md +++ b/docs/pages/api/classes/settings.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Settings](settings.md) +--- +showOutline: false +--- # Class: Settings @@ -14,31 +16,31 @@ Some tolerances are absolute and some are relative. Absolute tolerances use MKS ### Properties -* [aabbExtension](settings.md#static-aabbextension) -* [aabbMultiplier](settings.md#static-aabbmultiplier) -* [angularSleepTolerance](settings.md#static-angularsleeptolerance) -* [angularSlop](settings.md#static-angularslop) -* [baumgarte](settings.md#static-baumgarte) -* [lengthUnitsPerMeter](settings.md#static-lengthunitspermeter) -* [linearSleepTolerance](settings.md#static-linearsleeptolerance) -* [linearSlop](settings.md#static-linearslop) -* [maxAngularCorrection](settings.md#static-maxangularcorrection) -* [maxDistanceIterations](settings.md#static-maxdistanceiterations) -* [maxLinearCorrection](settings.md#static-maxlinearcorrection) -* [maxManifoldPoints](settings.md#static-maxmanifoldpoints) -* [maxPolygonVertices](settings.md#static-maxpolygonvertices) -* [maxRotation](settings.md#static-maxrotation) -* [maxSubSteps](settings.md#static-maxsubsteps) -* [maxTOIContacts](settings.md#static-maxtoicontacts) -* [maxTOIIterations](settings.md#static-maxtoiiterations) -* [maxTranslation](settings.md#static-maxtranslation) -* [timeToSleep](settings.md#static-timetosleep) -* [toiBaugarte](settings.md#static-toibaugarte) -* [velocityThreshold](settings.md#static-velocitythreshold) +* [aabbExtension](/api/classes/settings#static-aabbextension) +* [aabbMultiplier](/api/classes/settings#static-aabbmultiplier) +* [angularSleepTolerance](/api/classes/settings#static-angularsleeptolerance) +* [angularSlop](/api/classes/settings#static-angularslop) +* [baumgarte](/api/classes/settings#static-baumgarte) +* [lengthUnitsPerMeter](/api/classes/settings#static-lengthunitspermeter) +* [linearSleepTolerance](/api/classes/settings#static-linearsleeptolerance) +* [linearSlop](/api/classes/settings#static-linearslop) +* [maxAngularCorrection](/api/classes/settings#static-maxangularcorrection) +* [maxDistanceIterations](/api/classes/settings#static-maxdistanceiterations) +* [maxLinearCorrection](/api/classes/settings#static-maxlinearcorrection) +* [maxManifoldPoints](/api/classes/settings#static-maxmanifoldpoints) +* [maxPolygonVertices](/api/classes/settings#static-maxpolygonvertices) +* [maxRotation](/api/classes/settings#static-maxrotation) +* [maxSubSteps](/api/classes/settings#static-maxsubsteps) +* [maxTOIContacts](/api/classes/settings#static-maxtoicontacts) +* [maxTOIIterations](/api/classes/settings#static-maxtoiiterations) +* [maxTranslation](/api/classes/settings#static-maxtranslation) +* [timeToSleep](/api/classes/settings#static-timetosleep) +* [toiBaugarte](/api/classes/settings#static-toibaugarte) +* [velocityThreshold](/api/classes/settings#static-velocitythreshold) ### Accessors -* [polygonRadius](settings.md#static-polygonradius) +* [polygonRadius](/api/classes/settings#static-polygonradius) ## Properties diff --git a/docs/pages/api/classes/shape.md b/docs/pages/api/classes/shape.md new file mode 100644 index 00000000..ffe0ec66 --- /dev/null +++ b/docs/pages/api/classes/shape.md @@ -0,0 +1,198 @@ +--- +showOutline: false +--- + +# Class: Shape + +A shape is used for collision detection. You can create a shape however you +like. Shapes used for simulation in World are created automatically when a +Fixture is created. Shapes may encapsulate one or more child shapes. + +## Hierarchy + +* **Shape** + + ↳ [PolygonShape](/api/classes/polygonshape) + + ↳ [EdgeShape](/api/classes/edgeshape) + + ↳ [ChainShape](/api/classes/chainshape) + + ↳ [CircleShape](/api/classes/circleshape) + +## Index + +### Properties + +* [m_radius](/api/classes/shape#m_radius) +* [m_type](/api/classes/shape#m_type) +* [style](/api/classes/shape#style) + +### Methods + +* [computeAABB](/api/classes/shape#abstract-computeaabb) +* [computeDistanceProxy](/api/classes/shape#abstract-computedistanceproxy) +* [computeMass](/api/classes/shape#abstract-computemass) +* [getChildCount](/api/classes/shape#abstract-getchildcount) +* [getRadius](/api/classes/shape#abstract-getradius) +* [getType](/api/classes/shape#abstract-gettype) +* [rayCast](/api/classes/shape#abstract-raycast) +* [testPoint](/api/classes/shape#abstract-testpoint) +* [isValid](/api/classes/shape#static-isvalid) + +## Properties + +### m_radius + +• **m_radius**: *number* + +Radius of a shape. For polygonal shapes this must be b2_polygonRadius. +There is no support for making rounded polygons. + +___ + +### m_type + +• **m_type**: *[ShapeType](/api/globals#shapetype)* + +___ + +### style + +• **style**: *[Style](/api/interfaces/style)* + +Styling for dev-tools. + +## Methods + +### `Abstract` computeAABB + +▸ **computeAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `xf`: [TransformValue](/api/globals#transformvalue), `childIndex`: number): *void* + +Given a transform, compute the associated axis aligned bounding box for a +child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | Returns the axis aligned box. | +`xf` | [TransformValue](/api/globals#transformvalue) | The world transform of the shape. | +`childIndex` | number | The child shape | + +**Returns:** *void* + +___ + +### `Abstract` computeDistanceProxy + +▸ **computeDistanceProxy**(`proxy`: [DistanceProxy](/api/classes/distanceproxy), `childIndex`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`proxy` | [DistanceProxy](/api/classes/distanceproxy) | +`childIndex` | number | + +**Returns:** *void* + +___ + +### `Abstract` computeMass + +▸ **computeMass**(`massData`: [MassData](/api/interfaces/massdata), `density?`: number): *void* + +Compute the mass properties of this shape using its dimensions and density. +The inertia tensor is computed about the local origin. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`massData` | [MassData](/api/interfaces/massdata) | Returns the mass data for this shape. | +`density?` | number | The density in kilograms per meter squared. | + +**Returns:** *void* + +___ + +### `Abstract` getChildCount + +▸ **getChildCount**(): *number* + +Get the number of child primitives. + +**Returns:** *number* + +___ + +### `Abstract` getRadius + +▸ **getRadius**(): *number* + +**Returns:** *number* + +___ + +### `Abstract` getType + +▸ **getType**(): *[ShapeType](/api/globals#shapetype)* + +Get the type of this shape. You can use this to down cast to the concrete +shape. + +**Returns:** *[ShapeType](/api/globals#shapetype)* + +the shape type. + +___ + +### `Abstract` rayCast + +▸ **rayCast**(`output`: [RayCastOutput](/api/interfaces/raycastoutput), `input`: [RayCastInput](/api/interfaces/raycastinput), `xf`: [Transform](/api/classes/transform), `childIndex`: number): *boolean* + +Cast a ray against a child shape. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`output` | [RayCastOutput](/api/interfaces/raycastoutput) | The ray-cast results. | +`input` | [RayCastInput](/api/interfaces/raycastinput) | The ray-cast input parameters. | +`xf` | [Transform](/api/classes/transform) | The transform to be applied to the shape. | +`childIndex` | number | The child shape index | + +**Returns:** *boolean* + +___ + +### `Abstract` testPoint + +▸ **testPoint**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value)): *boolean* + +Test a point for containment in this shape. This only works for convex +shapes. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | The shape world transform. | +`p` | [Vec2Value](/api/interfaces/vec2value) | A point in world coordinates. | + +**Returns:** *boolean* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* diff --git a/docs/pages/api/classes/shapecastinput.md b/docs/pages/api/classes/shapecastinput.md new file mode 100644 index 00000000..38e616ed --- /dev/null +++ b/docs/pages/api/classes/shapecastinput.md @@ -0,0 +1,63 @@ +--- +showOutline: false +--- + +# Class: ShapeCastInput + +Input parameters for ShapeCast + +## Hierarchy + +* **ShapeCastInput** + +## Index + +### Properties + +* [proxyA](/api/classes/shapecastinput#readonly-proxya) +* [proxyB](/api/classes/shapecastinput#readonly-proxyb) +* [transformA](/api/classes/shapecastinput#readonly-transforma) +* [transformB](/api/classes/shapecastinput#readonly-transformb) +* [translationB](/api/classes/shapecastinput#readonly-translationb) + +### Methods + +* [recycle](/api/classes/shapecastinput#recycle) + +## Properties + +### `Readonly` proxyA + +• **proxyA**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### `Readonly` proxyB + +• **proxyB**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### `Readonly` transformA + +• **transformA**: *[Transform](/api/classes/transform)‹›* = Transform.identity() + +___ + +### `Readonly` transformB + +• **transformB**: *[Transform](/api/classes/transform)‹›* = Transform.identity() + +___ + +### `Readonly` translationB + +• **translationB**: *Vec2‹›* = Vec2.zero() + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/api/classes/shapecastoutput.md b/docs/pages/api/classes/shapecastoutput.md similarity index 56% rename from docs/api/classes/shapecastoutput.md rename to docs/pages/api/classes/shapecastoutput.md index 2da2a06e..71904d85 100644 --- a/docs/api/classes/shapecastoutput.md +++ b/docs/pages/api/classes/shapecastoutput.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ShapeCastOutput](shapecastoutput.md) +--- +showOutline: false +--- # Class: ShapeCastOutput @@ -12,10 +14,10 @@ Output results for b2ShapeCast ### Properties -* [iterations](shapecastoutput.md#iterations) -* [lambda](shapecastoutput.md#lambda) -* [normal](shapecastoutput.md#normal) -* [point](shapecastoutput.md#point) +* [iterations](/api/classes/shapecastoutput#iterations) +* [lambda](/api/classes/shapecastoutput#lambda) +* [normal](/api/classes/shapecastoutput#normal) +* [point](/api/classes/shapecastoutput#point) ## Properties diff --git a/docs/pages/api/classes/simplex.md b/docs/pages/api/classes/simplex.md new file mode 100644 index 00000000..830dcb87 --- /dev/null +++ b/docs/pages/api/classes/simplex.md @@ -0,0 +1,165 @@ +--- +showOutline: false +--- + +# Class: Simplex + +## Hierarchy + +* **Simplex** + +## Index + +### Properties + +* [m_count](/api/classes/simplex#m_count) +* [m_v](/api/classes/simplex#m_v) +* [m_v1](/api/classes/simplex#m_v1) +* [m_v2](/api/classes/simplex#m_v2) +* [m_v3](/api/classes/simplex#m_v3) + +### Methods + +* [getClosestPoint](/api/classes/simplex#getclosestpoint) +* [getMetric](/api/classes/simplex#getmetric) +* [getSearchDirection](/api/classes/simplex#getsearchdirection) +* [getWitnessPoints](/api/classes/simplex#getwitnesspoints) +* [readCache](/api/classes/simplex#readcache) +* [recycle](/api/classes/simplex#recycle) +* [solve](/api/classes/simplex#solve) +* [solve2](/api/classes/simplex#solve2) +* [solve3](/api/classes/simplex#solve3) +* [writeCache](/api/classes/simplex#writecache) + +## Properties + +### m_count + +• **m_count**: *number* + +___ + +### m_v + +• **m_v**: *[SimplexVertex](/api/classes/simplexvertex)‹›[]* = [this.m_v1, this.m_v2, this.m_v3] + +___ + +### m_v1 + +• **m_v1**: *[SimplexVertex](/api/classes/simplexvertex)‹›* = new SimplexVertex() + +___ + +### m_v2 + +• **m_v2**: *[SimplexVertex](/api/classes/simplexvertex)‹›* = new SimplexVertex() + +___ + +### m_v3 + +• **m_v3**: *[SimplexVertex](/api/classes/simplexvertex)‹›* = new SimplexVertex() + +## Methods + +### getClosestPoint + +▸ **getClosestPoint**(): *[Vec2Value](/api/interfaces/vec2value)* + +**Returns:** *[Vec2Value](/api/interfaces/vec2value)* + +___ + +### getMetric + +▸ **getMetric**(): *number* + +**Returns:** *number* + +___ + +### getSearchDirection + +▸ **getSearchDirection**(): *[Vec2Value](/api/interfaces/vec2value)* + +**Returns:** *[Vec2Value](/api/interfaces/vec2value)* + +___ + +### getWitnessPoints + +▸ **getWitnessPoints**(`pA`: [Vec2Value](/api/interfaces/vec2value), `pB`: [Vec2Value](/api/interfaces/vec2value)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`pA` | [Vec2Value](/api/interfaces/vec2value) | +`pB` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### readCache + +▸ **readCache**(`cache`: [SimplexCache](/api/classes/simplexcache), `proxyA`: [DistanceProxy](/api/classes/distanceproxy), `transformA`: [TransformValue](/api/globals#transformvalue), `proxyB`: [DistanceProxy](/api/classes/distanceproxy), `transformB`: [TransformValue](/api/globals#transformvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`cache` | [SimplexCache](/api/classes/simplexcache) | +`proxyA` | [DistanceProxy](/api/classes/distanceproxy) | +`transformA` | [TransformValue](/api/globals#transformvalue) | +`proxyB` | [DistanceProxy](/api/classes/distanceproxy) | +`transformB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* + +___ + +### solve + +▸ **solve**(): *void* + +**Returns:** *void* + +___ + +### solve2 + +▸ **solve2**(): *void* + +**Returns:** *void* + +___ + +### solve3 + +▸ **solve3**(): *void* + +**Returns:** *void* + +___ + +### writeCache + +▸ **writeCache**(`cache`: [SimplexCache](/api/classes/simplexcache)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`cache` | [SimplexCache](/api/classes/simplexcache) | + +**Returns:** *void* diff --git a/docs/api/classes/simplexcache.md b/docs/pages/api/classes/simplexcache.md similarity index 64% rename from docs/api/classes/simplexcache.md rename to docs/pages/api/classes/simplexcache.md index cbb66794..bb50d447 100644 --- a/docs/api/classes/simplexcache.md +++ b/docs/pages/api/classes/simplexcache.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [SimplexCache](simplexcache.md) +--- +showOutline: false +--- # Class: SimplexCache @@ -12,14 +14,14 @@ Used to warm start Distance. Set count to zero on first call. ### Properties -* [count](simplexcache.md#count) -* [indexA](simplexcache.md#indexa) -* [indexB](simplexcache.md#indexb) -* [metric](simplexcache.md#metric) +* [count](/api/classes/simplexcache#count) +* [indexA](/api/classes/simplexcache#indexa) +* [indexB](/api/classes/simplexcache#indexb) +* [metric](/api/classes/simplexcache#metric) ### Methods -* [recycle](simplexcache.md#recycle) +* [recycle](/api/classes/simplexcache#recycle) ## Properties diff --git a/docs/pages/api/classes/simplexvertex.md b/docs/pages/api/classes/simplexvertex.md new file mode 100644 index 00000000..ba9ef5b4 --- /dev/null +++ b/docs/pages/api/classes/simplexvertex.md @@ -0,0 +1,95 @@ +--- +showOutline: false +--- + +# Class: SimplexVertex + +## Hierarchy + +* **SimplexVertex** + +## Index + +### Properties + +* [a](/api/classes/simplexvertex#a) +* [indexA](/api/classes/simplexvertex#indexa) +* [indexB](/api/classes/simplexvertex#indexb) +* [w](/api/classes/simplexvertex#w) +* [wA](/api/classes/simplexvertex#wa) +* [wB](/api/classes/simplexvertex#wb) + +### Methods + +* [recycle](/api/classes/simplexvertex#recycle) +* [set](/api/classes/simplexvertex#set) + +## Properties + +### a + +• **a**: *number* = 0 + +barycentric coordinate for closest point + +___ + +### indexA + +• **indexA**: *number* = 0 + +wA index + +___ + +### indexB + +• **indexB**: *number* = 0 + +wB index + +___ + +### w + +• **w**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +wB - wA; + +___ + +### wA + +• **wA**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +support point in proxyA + +___ + +### wB + +• **wB**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +support point in proxyB + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* + +___ + +### set + +▸ **set**(`v`: [SimplexVertex](/api/classes/simplexvertex)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [SimplexVertex](/api/classes/simplexvertex) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/solver.md b/docs/pages/api/classes/solver.md new file mode 100644 index 00000000..b326d8ed --- /dev/null +++ b/docs/pages/api/classes/solver.md @@ -0,0 +1,190 @@ +--- +showOutline: false +--- + +# Class: Solver + +Finds and solves islands. An island is a connected subset of the world. + +## Hierarchy + +* **Solver** + +## Index + +### Constructors + +* [constructor](/api/classes/solver#constructor) + +### Properties + +* [m_bodies](/api/classes/solver#m_bodies) +* [m_contacts](/api/classes/solver#m_contacts) +* [m_joints](/api/classes/solver#m_joints) +* [m_stack](/api/classes/solver#m_stack) +* [m_world](/api/classes/solver#m_world) + +### Methods + +* [addBody](/api/classes/solver#addbody) +* [addContact](/api/classes/solver#addcontact) +* [addJoint](/api/classes/solver#addjoint) +* [clear](/api/classes/solver#clear) +* [solveIsland](/api/classes/solver#solveisland) +* [solveIslandTOI](/api/classes/solver#solveislandtoi) +* [solveWorld](/api/classes/solver#solveworld) +* [solveWorldTOI](/api/classes/solver#solveworldtoi) + +## Constructors + +### constructor + +\+ **new Solver**(`world`: World): *[Solver](/api/classes/solver)* + +**Parameters:** + +Name | Type | +------ | ------ | +`world` | World | + +**Returns:** *[Solver](/api/classes/solver)* + +## Properties + +### m_bodies + +• **m_bodies**: *[Body](/api/classes/body)[]* + +___ + +### m_contacts + +• **m_contacts**: *[Contact](/api/classes/contact)[]* + +___ + +### m_joints + +• **m_joints**: *[Joint](/api/classes/joint)[]* + +___ + +### m_stack + +• **m_stack**: *[Body](/api/classes/body)[]* + +___ + +### m_world + +• **m_world**: *World* + +## Methods + +### addBody + +▸ **addBody**(`body`: [Body](/api/classes/body)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`body` | [Body](/api/classes/body) | + +**Returns:** *void* + +___ + +### addContact + +▸ **addContact**(`contact`: [Contact](/api/classes/contact)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`contact` | [Contact](/api/classes/contact) | + +**Returns:** *void* + +___ + +### addJoint + +▸ **addJoint**(`joint`: [Joint](/api/classes/joint)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`joint` | [Joint](/api/classes/joint) | + +**Returns:** *void* + +___ + +### clear + +▸ **clear**(): *void* + +**Returns:** *void* + +___ + +### solveIsland + +▸ **solveIsland**(`step`: [TimeStep](/api/classes/timestep)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### solveIslandTOI + +▸ **solveIslandTOI**(`subStep`: [TimeStep](/api/classes/timestep), `toiA`: [Body](/api/classes/body), `toiB`: [Body](/api/classes/body)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`subStep` | [TimeStep](/api/classes/timestep) | +`toiA` | [Body](/api/classes/body) | +`toiB` | [Body](/api/classes/body) | + +**Returns:** *void* + +___ + +### solveWorld + +▸ **solveWorld**(`step`: [TimeStep](/api/classes/timestep)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### solveWorldTOI + +▸ **solveWorldTOI**(`step`: [TimeStep](/api/classes/timestep)): *void* + +Find TOI contacts and solve them. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/api/classes/sweep.md b/docs/pages/api/classes/sweep.md similarity index 60% rename from docs/api/classes/sweep.md rename to docs/pages/api/classes/sweep.md index 8d8f8df7..752edef4 100644 --- a/docs/api/classes/sweep.md +++ b/docs/pages/api/classes/sweep.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Sweep](sweep.md) +--- +showOutline: false +--- # Class: Sweep @@ -15,22 +17,22 @@ of mass position. ### Properties -* [a](sweep.md#a) -* [a0](sweep.md#a0) -* [alpha0](sweep.md#alpha0) -* [c](sweep.md#c) -* [c0](sweep.md#c0) -* [localCenter](sweep.md#localcenter) +* [a](/api/classes/sweep#a) +* [a0](/api/classes/sweep#a0) +* [alpha0](/api/classes/sweep#alpha0) +* [c](/api/classes/sweep#c) +* [c0](/api/classes/sweep#c0) +* [localCenter](/api/classes/sweep#localcenter) ### Methods -* [advance](sweep.md#advance) -* [forward](sweep.md#forward) -* [getTransform](sweep.md#gettransform) -* [normalize](sweep.md#normalize) -* [set](sweep.md#set) -* [setLocalCenter](sweep.md#setlocalcenter) -* [setTransform](sweep.md#settransform) +* [advance](/api/classes/sweep#advance) +* [forward](/api/classes/sweep#forward) +* [getTransform](/api/classes/sweep#gettransform) +* [normalize](/api/classes/sweep#normalize) +* [set](/api/classes/sweep#set) +* [setLocalCenter](/api/classes/sweep#setlocalcenter) +* [setTransform](/api/classes/sweep#settransform) ## Properties @@ -104,7 +106,7 @@ ___ ### getTransform -▸ **getTransform**(`xf`: [TransformValue](../globals.md#transformvalue), `beta`: number): *void* +▸ **getTransform**(`xf`: [TransformValue](/api/globals#transformvalue), `beta`: number): *void* Get the interpolated transform at a specific time. @@ -112,7 +114,7 @@ Get the interpolated transform at a specific time. Name | Type | Default | Description | ------ | ------ | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | - | - | +`xf` | [TransformValue](/api/globals#transformvalue) | - | - | `beta` | number | 0 | A factor in [0,1], where 0 indicates alpha0 | **Returns:** *void* @@ -131,13 +133,13 @@ ___ ### set -▸ **set**(`that`: [Sweep](sweep.md)): *void* +▸ **set**(`that`: [Sweep](/api/classes/sweep)): *void* **Parameters:** Name | Type | ------ | ------ | -`that` | [Sweep](sweep.md) | +`that` | [Sweep](/api/classes/sweep) | **Returns:** *void* @@ -145,14 +147,14 @@ ___ ### setLocalCenter -▸ **setLocalCenter**(`localCenter`: [Vec2Value](../interfaces/vec2value.md), `xf`: [TransformValue](../globals.md#transformvalue)): *void* +▸ **setLocalCenter**(`localCenter`: [Vec2Value](/api/interfaces/vec2value), `xf`: [TransformValue](/api/globals#transformvalue)): *void* **Parameters:** Name | Type | ------ | ------ | -`localCenter` | [Vec2Value](../interfaces/vec2value.md) | -`xf` | [TransformValue](../globals.md#transformvalue) | +`localCenter` | [Vec2Value](/api/interfaces/vec2value) | +`xf` | [TransformValue](/api/globals#transformvalue) | **Returns:** *void* @@ -160,12 +162,12 @@ ___ ### setTransform -▸ **setTransform**(`xf`: [TransformValue](../globals.md#transformvalue)): *void* +▸ **setTransform**(`xf`: [TransformValue](/api/globals#transformvalue)): *void* **Parameters:** Name | Type | ------ | ------ | -`xf` | [TransformValue](../globals.md#transformvalue) | +`xf` | [TransformValue](/api/globals#transformvalue) | **Returns:** *void* diff --git a/docs/api/classes/testbed.md b/docs/pages/api/classes/testbed.md similarity index 67% rename from docs/api/classes/testbed.md rename to docs/pages/api/classes/testbed.md index 9aaa31c8..70d36445 100644 --- a/docs/api/classes/testbed.md +++ b/docs/pages/api/classes/testbed.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Testbed](testbed.md) +--- +showOutline: false +--- # Class: Testbed @@ -10,42 +12,42 @@ ### Properties -* [activeKeys](testbed.md#activekeys) -* [background](testbed.md#background) -* [height](testbed.md#height) -* [hz](testbed.md#hz) -* [mouseForce](testbed.md#optional-mouseforce) -* [scaleY](testbed.md#scaley) -* [speed](testbed.md#speed) -* [width](testbed.md#width) -* [x](testbed.md#x) -* [y](testbed.md#y) +* [activeKeys](/api/classes/testbed#activekeys) +* [background](/api/classes/testbed#background) +* [height](/api/classes/testbed#height) +* [hz](/api/classes/testbed#hz) +* [mouseForce](/api/classes/testbed#optional-mouseforce) +* [scaleY](/api/classes/testbed#scaley) +* [speed](/api/classes/testbed#speed) +* [width](/api/classes/testbed#width) +* [x](/api/classes/testbed#x) +* [y](/api/classes/testbed#y) ### Methods -* [color](testbed.md#color) -* [drawAABB](testbed.md#abstract-drawaabb) -* [drawCircle](testbed.md#abstract-drawcircle) -* [drawEdge](testbed.md#abstract-drawedge) -* [drawPoint](testbed.md#abstract-drawpoint) -* [drawPolygon](testbed.md#abstract-drawpolygon) -* [drawSegment](testbed.md#abstract-drawsegment) -* [findAll](testbed.md#abstract-findall) -* [findOne](testbed.md#abstract-findone) -* [info](testbed.md#info) -* [keydown](testbed.md#keydown) -* [keyup](testbed.md#keyup) -* [start](testbed.md#abstract-start) -* [status](testbed.md#status) -* [step](testbed.md#step) -* [mount](testbed.md#static-mount) -* [start](testbed.md#static-start) +* [color](/api/classes/testbed#color) +* [drawAABB](/api/classes/testbed#abstract-drawaabb) +* [drawCircle](/api/classes/testbed#abstract-drawcircle) +* [drawEdge](/api/classes/testbed#abstract-drawedge) +* [drawPoint](/api/classes/testbed#abstract-drawpoint) +* [drawPolygon](/api/classes/testbed#abstract-drawpolygon) +* [drawSegment](/api/classes/testbed#abstract-drawsegment) +* [findAll](/api/classes/testbed#abstract-findall) +* [findOne](/api/classes/testbed#abstract-findone) +* [info](/api/classes/testbed#info) +* [keydown](/api/classes/testbed#keydown) +* [keyup](/api/classes/testbed#keyup) +* [start](/api/classes/testbed#abstract-start) +* [status](/api/classes/testbed#status) +* [step](/api/classes/testbed#step) +* [mount](/api/classes/testbed#static-mount) +* [start](/api/classes/testbed#static-start) ## Properties ### activeKeys -• **activeKeys**: *[ActiveKeys](../globals.md#activekeys)* +• **activeKeys**: *[ActiveKeys](/api/globals#activekeys)* ___ @@ -133,13 +135,13 @@ ___ ### `Abstract` drawAABB -▸ **drawAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `color`: string): *void* +▸ **drawAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `color`: string): *void* **Parameters:** Name | Type | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | `color` | string | **Returns:** *void* @@ -257,7 +259,7 @@ ___ ### `Abstract` findAll -▸ **findAll**(`query`: string): *([Body](body.md)‹› | [Joint](joint.md)‹› | [Fixture](fixture.md)‹›)[]* +▸ **findAll**(`query`: string): *([Body](/api/classes/body)‹› | [Joint](/api/classes/joint)‹› | [Fixture](/api/classes/fixture)‹›)[]* **Parameters:** @@ -265,13 +267,13 @@ Name | Type | ------ | ------ | `query` | string | -**Returns:** *([Body](body.md)‹› | [Joint](joint.md)‹› | [Fixture](fixture.md)‹›)[]* +**Returns:** *([Body](/api/classes/body)‹› | [Joint](/api/classes/joint)‹› | [Fixture](/api/classes/fixture)‹›)[]* ___ ### `Abstract` findOne -▸ **findOne**(`query`: string): *[Body](body.md)‹› | [Joint](joint.md)‹› | [Fixture](fixture.md)‹›* +▸ **findOne**(`query`: string): *[Body](/api/classes/body)‹› | [Joint](/api/classes/joint)‹› | [Fixture](/api/classes/fixture)‹›* **Parameters:** @@ -279,7 +281,7 @@ Name | Type | ------ | ------ | `query` | string | -**Returns:** *[Body](body.md)‹› | [Joint](joint.md)‹› | [Fixture](fixture.md)‹›* +**Returns:** *[Body](/api/classes/body)‹› | [Joint](/api/classes/joint)‹› | [Fixture](/api/classes/fixture)‹›* ___ @@ -389,7 +391,7 @@ ___ ### `Static` mount -▸ **mount**(`options?`: [TestbedMountOptions](../globals.md#testbedmountoptions)): *Testbed* +▸ **mount**(`options?`: [TestbedMountOptions](/api/globals#testbedmountoptions)): *Testbed* Mount testbed. @@ -399,7 +401,7 @@ If you need to customize testbed before starting, use `Testbed.mount()` and `Tes Name | Type | ------ | ------ | -`options?` | [TestbedMountOptions](../globals.md#testbedmountoptions) | +`options?` | [TestbedMountOptions](/api/globals#testbedmountoptions) | **Returns:** *Testbed* diff --git a/docs/api/classes/timestep.md b/docs/pages/api/classes/timestep.md similarity index 63% rename from docs/api/classes/timestep.md rename to docs/pages/api/classes/timestep.md index 56969788..21c59520 100644 --- a/docs/api/classes/timestep.md +++ b/docs/pages/api/classes/timestep.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [TimeStep](timestep.md) +--- +showOutline: false +--- # Class: TimeStep @@ -10,18 +12,18 @@ ### Properties -* [blockSolve](timestep.md#blocksolve) -* [dt](timestep.md#dt) -* [dtRatio](timestep.md#dtratio) -* [inv_dt](timestep.md#inv_dt) -* [inv_dt0](timestep.md#inv_dt0) -* [positionIterations](timestep.md#positioniterations) -* [velocityIterations](timestep.md#velocityiterations) -* [warmStarting](timestep.md#warmstarting) +* [blockSolve](/api/classes/timestep#blocksolve) +* [dt](/api/classes/timestep#dt) +* [dtRatio](/api/classes/timestep#dtratio) +* [inv_dt](/api/classes/timestep#inv_dt) +* [inv_dt0](/api/classes/timestep#inv_dt0) +* [positionIterations](/api/classes/timestep#positioniterations) +* [velocityIterations](/api/classes/timestep#velocityiterations) +* [warmStarting](/api/classes/timestep#warmstarting) ### Methods -* [reset](timestep.md#reset) +* [reset](/api/classes/timestep#reset) ## Properties diff --git a/docs/pages/api/classes/toiinput.md b/docs/pages/api/classes/toiinput.md new file mode 100644 index 00000000..04eba280 --- /dev/null +++ b/docs/pages/api/classes/toiinput.md @@ -0,0 +1,65 @@ +--- +showOutline: false +--- + +# Class: TOIInput + +Input parameters for TimeOfImpact. + +## Hierarchy + +* **TOIInput** + +## Index + +### Properties + +* [proxyA](/api/classes/toiinput#proxya) +* [proxyB](/api/classes/toiinput#proxyb) +* [sweepA](/api/classes/toiinput#sweepa) +* [sweepB](/api/classes/toiinput#sweepb) +* [tMax](/api/classes/toiinput#tmax) + +### Methods + +* [recycle](/api/classes/toiinput#recycle) + +## Properties + +### proxyA + +• **proxyA**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### proxyB + +• **proxyB**: *[DistanceProxy](/api/classes/distanceproxy)‹›* = new DistanceProxy() + +___ + +### sweepA + +• **sweepA**: *[Sweep](/api/classes/sweep)‹›* = new Sweep() + +___ + +### sweepB + +• **sweepB**: *[Sweep](/api/classes/sweep)‹›* = new Sweep() + +___ + +### tMax + +• **tMax**: *number* + +defines sweep interval [0, tMax] + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/api/classes/toioutput.md b/docs/pages/api/classes/toioutput.md similarity index 50% rename from docs/api/classes/toioutput.md rename to docs/pages/api/classes/toioutput.md index fd2e378d..93d6c85f 100644 --- a/docs/api/classes/toioutput.md +++ b/docs/pages/api/classes/toioutput.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [TOIOutput](toioutput.md) +--- +showOutline: false +--- # Class: TOIOutput @@ -12,18 +14,18 @@ Output parameters for TimeOfImpact. ### Properties -* [state](toioutput.md#state) -* [t](toioutput.md#t) +* [state](/api/classes/toioutput#state) +* [t](/api/classes/toioutput#t) ### Methods -* [recycle](toioutput.md#recycle) +* [recycle](/api/classes/toioutput#recycle) ## Properties ### state -• **state**: *[TOIOutputState](../enums/toioutputstate.md)* = TOIOutputState.e_unset +• **state**: *[TOIOutputState](/api/enums/toioutputstate)* = TOIOutputState.e_unset ___ diff --git a/docs/pages/api/classes/transform.md b/docs/pages/api/classes/transform.md new file mode 100644 index 00000000..02fcf29b --- /dev/null +++ b/docs/pages/api/classes/transform.md @@ -0,0 +1,331 @@ +--- +showOutline: false +--- + +# Class: Transform + +A transform contains translation and rotation. It is used to represent the +position and orientation of rigid frames. Initialize using a position vector +and a rotation. + +## Hierarchy + +* **Transform** + +## Index + +### Constructors + +* [constructor](/api/classes/transform#constructor) + +### Properties + +* [p](/api/classes/transform#p) +* [q](/api/classes/transform#q) + +### Methods + +* [set](/api/classes/transform#set) +* [setIdentity](/api/classes/transform#setidentity) +* [setNum](/api/classes/transform#setnum) +* [setTransform](/api/classes/transform#settransform) +* [assert](/api/classes/transform#static-assert) +* [clone](/api/classes/transform#static-clone) +* [identity](/api/classes/transform#static-identity) +* [isValid](/api/classes/transform#static-isvalid) +* [mul](/api/classes/transform#static-mul) +* [mulAll](/api/classes/transform#static-mulall) +* [mulT](/api/classes/transform#static-mult) +* [mulTVec2](/api/classes/transform#static-multvec2) +* [mulTXf](/api/classes/transform#static-multxf) +* [mulVec2](/api/classes/transform#static-mulvec2) +* [mulXf](/api/classes/transform#static-mulxf) + +## Constructors + +### constructor + +\+ **new Transform**(`position?`: [Vec2Value](/api/interfaces/vec2value), `rotation?`: number): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`position?` | [Vec2Value](/api/interfaces/vec2value) | +`rotation?` | number | + +**Returns:** *[Transform](/api/classes/transform)* + +## Properties + +### p + +• **p**: *Vec2* + +position + +___ + +### q + +• **q**: *[Rot](/api/classes/rot)* + +rotation + +## Methods + +### set + +▸ **set**(`position`: [Vec2Value](/api/interfaces/vec2value), `rotation`: number): *void* + +Set position and angle + +**Parameters:** + +Name | Type | +------ | ------ | +`position` | [Vec2Value](/api/interfaces/vec2value) | +`rotation` | number | + +**Returns:** *void* + +▸ **set**(`xf`: [TransformValue](/api/globals#transformvalue)): *void* + +Copy from another transform + +**Parameters:** + +Name | Type | +------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### setIdentity + +▸ **setIdentity**(): *void* + +Set this to the identity transform + +**Returns:** *void* + +___ + +### setNum + +▸ **setNum**(`position`: [Vec2Value](/api/interfaces/vec2value), `rotation`: number): *void* + +Set position and angle + +**Parameters:** + +Name | Type | +------ | ------ | +`position` | [Vec2Value](/api/interfaces/vec2value) | +`rotation` | number | + +**Returns:** *void* + +___ + +### setTransform + +▸ **setTransform**(`xf`: [TransformValue](/api/globals#transformvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` clone + +▸ **clone**(`xf`: [Transform](/api/classes/transform)): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`xf` | [Transform](/api/classes/transform) | + +**Returns:** *[Transform](/api/classes/transform)* + +___ + +### `Static` identity + +▸ **identity**(): *[Transform](/api/classes/transform)* + +**Returns:** *[Transform](/api/classes/transform)* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` mul + +▸ **mul**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +▸ **mul**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [TransformValue](/api/globals#transformvalue)): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *[Transform](/api/classes/transform)* + +___ + +### `Static` mulAll + +▸ **mulAll**(`a`: [Transform](/api/classes/transform), `b`: [Vec2Value](/api/interfaces/vec2value)[]): *Vec2[]* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Transform](/api/classes/transform) | +`b` | [Vec2Value](/api/interfaces/vec2value)[] | + +**Returns:** *Vec2[]* + +▸ **mulAll**(`a`: [Transform](/api/classes/transform), `b`: [Transform](/api/classes/transform)[]): *[Transform](/api/classes/transform)[]* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Transform](/api/classes/transform) | +`b` | [Transform](/api/classes/transform)[] | + +**Returns:** *[Transform](/api/classes/transform)[]* + +___ + +### `Static` mulT + +▸ **mulT**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +▸ **mulT**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [TransformValue](/api/globals#transformvalue)): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *[Transform](/api/classes/transform)* + +___ + +### `Static` mulTVec2 + +▸ **mulTVec2**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulTXf + +▸ **mulTXf**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [TransformValue](/api/globals#transformvalue)): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *[Transform](/api/classes/transform)* + +___ + +### `Static` mulVec2 + +▸ **mulVec2**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulXf + +▸ **mulXf**(`a`: [TransformValue](/api/globals#transformvalue), `b`: [TransformValue](/api/globals#transformvalue)): *[Transform](/api/classes/transform)* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [TransformValue](/api/globals#transformvalue) | +`b` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *[Transform](/api/classes/transform)* diff --git a/docs/pages/api/classes/treenode.md b/docs/pages/api/classes/treenode.md new file mode 100644 index 00000000..965b1031 --- /dev/null +++ b/docs/pages/api/classes/treenode.md @@ -0,0 +1,103 @@ +--- +showOutline: false +--- + +# Class: TreeNode ‹**T**› + +A node in the dynamic tree. The client does not interact with this directly. + +## Type parameters + +▪ **T** + +## Hierarchy + +* **TreeNode** + +## Index + +### Constructors + +* [constructor](/api/classes/treenode#constructor) + +### Properties + +* [aabb](/api/classes/treenode#aabb) +* [child1](/api/classes/treenode#child1) +* [child2](/api/classes/treenode#child2) +* [height](/api/classes/treenode#height) +* [id](/api/classes/treenode#id) +* [parent](/api/classes/treenode#parent) +* [userData](/api/classes/treenode#userdata) + +### Methods + +* [isLeaf](/api/classes/treenode#isleaf) + +## Constructors + +### constructor + +\+ **new TreeNode**(`id?`: number): *[TreeNode](/api/classes/treenode)* + +**Parameters:** + +Name | Type | +------ | ------ | +`id?` | number | + +**Returns:** *[TreeNode](/api/classes/treenode)* + +## Properties + +### aabb + +• **aabb**: *[AABB](/api/classes/aabb)* = new AABB() + +Enlarged AABB + +___ + +### child1 + +• **child1**: *[TreeNode](/api/classes/treenode)‹T›* = null + +___ + +### child2 + +• **child2**: *[TreeNode](/api/classes/treenode)‹T›* = null + +___ + +### height + +• **height**: *number* = -1 + +0: leaf, -1: free node + +___ + +### id + +• **id**: *number* + +___ + +### parent + +• **parent**: *[TreeNode](/api/classes/treenode)‹T›* = null + +___ + +### userData + +• **userData**: *T* = null + +## Methods + +### isLeaf + +▸ **isLeaf**(): *boolean* + +**Returns:** *boolean* diff --git a/docs/pages/api/classes/vec2.md b/docs/pages/api/classes/vec2.md new file mode 100644 index 00000000..e4be97d3 --- /dev/null +++ b/docs/pages/api/classes/vec2.md @@ -0,0 +1,955 @@ +--- +showOutline: false +--- + +# Class: Vec2 + +## Hierarchy + +* **Vec2** + +## Index + +### Constructors + +* [constructor](/api/classes/vec2#constructor) + +### Properties + +* [x](/api/classes/vec2#x) +* [y](/api/classes/vec2#y) + +### Methods + +* [add](/api/classes/vec2#add) +* [addCombine](/api/classes/vec2#addcombine) +* [addMul](/api/classes/vec2#addmul) +* [clamp](/api/classes/vec2#clamp) +* [clone](/api/classes/vec2#clone) +* [length](/api/classes/vec2#length) +* [lengthSquared](/api/classes/vec2#lengthsquared) +* [mul](/api/classes/vec2#mul) +* [neg](/api/classes/vec2#neg) +* [normalize](/api/classes/vec2#normalize) +* [set](/api/classes/vec2#set) +* [setCombine](/api/classes/vec2#setcombine) +* [setMul](/api/classes/vec2#setmul) +* [setNum](/api/classes/vec2#setnum) +* [setVec2](/api/classes/vec2#setvec2) +* [setZero](/api/classes/vec2#setzero) +* [sub](/api/classes/vec2#sub) +* [subCombine](/api/classes/vec2#subcombine) +* [subMul](/api/classes/vec2#submul) +* [wSub](/api/classes/vec2#wsub) +* [abs](/api/classes/vec2#static-abs) +* [add](/api/classes/vec2#static-add) +* [addCross](/api/classes/vec2#static-addcross) +* [addCrossNumVec2](/api/classes/vec2#static-addcrossnumvec2) +* [addCrossVec2Num](/api/classes/vec2#static-addcrossvec2num) +* [areEqual](/api/classes/vec2#static-areequal) +* [assert](/api/classes/vec2#static-assert) +* [clamp](/api/classes/vec2#static-clamp) +* [clone](/api/classes/vec2#static-clone) +* [combine](/api/classes/vec2#static-combine) +* [cross](/api/classes/vec2#static-cross) +* [crossNumVec2](/api/classes/vec2#static-crossnumvec2) +* [crossVec2Num](/api/classes/vec2#static-crossvec2num) +* [crossVec2Vec2](/api/classes/vec2#static-crossvec2vec2) +* [distance](/api/classes/vec2#static-distance) +* [distanceSquared](/api/classes/vec2#static-distancesquared) +* [dot](/api/classes/vec2#static-dot) +* [isValid](/api/classes/vec2#static-isvalid) +* [lengthOf](/api/classes/vec2#static-lengthof) +* [lengthSquared](/api/classes/vec2#static-lengthsquared) +* [lower](/api/classes/vec2#static-lower) +* [mid](/api/classes/vec2#static-mid) +* [mul](/api/classes/vec2#static-mul) +* [mulNumVec2](/api/classes/vec2#static-mulnumvec2) +* [mulVec2Num](/api/classes/vec2#static-mulvec2num) +* [neg](/api/classes/vec2#static-neg) +* [skew](/api/classes/vec2#static-skew) +* [sub](/api/classes/vec2#static-sub) +* [upper](/api/classes/vec2#static-upper) +* [zero](/api/classes/vec2#static-zero) + +## Constructors + +### constructor + +\+ **new Vec2**(`x`: number, `y`: number): *[Vec2](/api/classes/vec2)* + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +**Returns:** *[Vec2](/api/classes/vec2)* + +\+ **new Vec2**(`obj`: object): *[Vec2](/api/classes/vec2)* + +**Parameters:** + +▪ **obj**: *object* + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +**Returns:** *[Vec2](/api/classes/vec2)* + +\+ **new Vec2**(): *[Vec2](/api/classes/vec2)* + +**Returns:** *[Vec2](/api/classes/vec2)* + +## Properties + +### x + +• **x**: *number* + +___ + +### y + +• **y**: *number* + +## Methods + +### add + +▸ **add**(`w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Add a vector to this vector. + +**Parameters:** + +Name | Type | +------ | ------ | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +this + +___ + +### addCombine + +▸ **addCombine**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value), `b`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Add linear combination of v and w: `a * v + b * w` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`b` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### addMul + +▸ **addMul**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### clamp + +▸ **clamp**(`max`: number): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`max` | number | + +**Returns:** *Vec2* + +___ + +### clone + +▸ **clone**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### length + +▸ **length**(): *number* + +Get the length of this vector (the norm). + +For performance, use this instead of lengthSquared (if possible). + +**Returns:** *number* + +___ + +### lengthSquared + +▸ **lengthSquared**(): *number* + +Get the length squared. + +**Returns:** *number* + +___ + +### mul + +▸ **mul**(`m`: number): *Vec2* + +Multiply this vector by a scalar. + +**Parameters:** + +Name | Type | +------ | ------ | +`m` | number | + +**Returns:** *Vec2* + +this + +___ + +### neg + +▸ **neg**(): *Vec2* + +**Returns:** *Vec2* + +___ + +### normalize + +▸ **normalize**(): *number* + +Convert this vector into a unit vector. + +**Returns:** *number* + +old length + +___ + +### set + +▸ **set**(`x`: number, `y`: number): *Vec2* + +Set this vector to some specified coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +**Returns:** *Vec2* + +this + +▸ **set**(`value`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Set this vector to some specified coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`value` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +this + +___ + +### setCombine + +▸ **setCombine**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value), `b`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Set linear combination of v and w: `a * v + b * w` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`b` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### setMul + +▸ **setMul**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### setNum + +▸ **setNum**(`x`: number, `y`: number): *this* + +Set this vector to some specified coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | + +**Returns:** *this* + +this + +___ + +### setVec2 + +▸ **setVec2**(`value`: [Vec2Value](/api/interfaces/vec2value)): *this* + +Set this vector to some specified coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`value` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *this* + +this + +___ + +### setZero + +▸ **setZero**(): *Vec2* + +Set this vector to all zeros. + +**Returns:** *Vec2* + +this + +___ + +### sub + +▸ **sub**(`w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Subtract a vector from this vector + +**Parameters:** + +Name | Type | +------ | ------ | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +this + +___ + +### subCombine + +▸ **subCombine**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value), `b`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Subtract linear combination of v and w: `a * v + b * w` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`b` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### subMul + +▸ **subMul**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### wSub + +▸ **wSub**(`a`: number, `v`: [Vec2Value](/api/interfaces/vec2value), `b?`: number, `w?`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**`deprecated`** Use subCombine or subMul + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`b?` | number | +`w?` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` abs + +▸ **abs**(`v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` add + +▸ **add**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` addCross + +▸ **addCross**(`a`: [Vec2Value](/api/interfaces/vec2value), `v`: [Vec2Value](/api/interfaces/vec2value), `w`: number): *Vec2* + +Returns `a + (v x w)` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | number | + +**Returns:** *Vec2* + +▸ **addCross**(`a`: [Vec2Value](/api/interfaces/vec2value), `v`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Returns `a + (v x w)` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`v` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` addCrossNumVec2 + +▸ **addCrossNumVec2**(`a`: [Vec2Value](/api/interfaces/vec2value), `v`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Returns `a + (v x w)` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`v` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` addCrossVec2Num + +▸ **addCrossVec2Num**(`a`: [Vec2Value](/api/interfaces/vec2value), `v`: [Vec2Value](/api/interfaces/vec2value), `w`: number): *Vec2* + +Returns `a + (v x w)` + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | number | + +**Returns:** *Vec2* + +___ + +### `Static` areEqual + +▸ **areEqual**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *boolean* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` clamp + +▸ **clamp**(`v`: [Vec2Value](/api/interfaces/vec2value), `max`: number): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`max` | number | + +**Returns:** *Vec2* + +___ + +### `Static` clone + +▸ **clone**(`v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` combine + +▸ **combine**(`a`: number, `v`: Vec2, `b`: number, `w`: Vec2): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`v` | Vec2 | +`b` | number | +`w` | Vec2 | + +**Returns:** *Vec2* + +___ + +### `Static` cross + +▸ **cross**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *number* + +Cross product between two vectors + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +▸ **cross**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: number): *Vec2* + +Cross product between a vector and a scalar + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | number | + +**Returns:** *Vec2* + +▸ **cross**(`v`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Cross product between a scalar and a vector + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` crossNumVec2 + +▸ **crossNumVec2**(`v`: number, `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Cross product on a vector and a scalar + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | number | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` crossVec2Num + +▸ **crossVec2Num**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: number): *Vec2* + +Cross product on a vector and a scalar + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | number | + +**Returns:** *Vec2* + +___ + +### `Static` crossVec2Vec2 + +▸ **crossVec2Vec2**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *number* + +Cross product on two vectors + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` distance + +▸ **distance**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` distanceSquared + +▸ **distanceSquared**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` dot + +▸ **dot**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *number* + +Dot product on two vectors + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +Does this vector contain finite coordinates? + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` lengthOf + +▸ **lengthOf**(`v`: [Vec2Value](/api/interfaces/vec2value)): *number* + +Get the length of this vector (the norm). + +For performance, use this instead of lengthSquared (if possible). + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` lengthSquared + +▸ **lengthSquared**(`v`: [Vec2Value](/api/interfaces/vec2value)): *number* + +Get the length squared. + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *number* + +___ + +### `Static` lower + +▸ **lower**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mid + +▸ **mid**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mul + +▸ **mul**(`a`: [Vec2Value](/api/interfaces/vec2value), `b`: number): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`b` | number | + +**Returns:** *Vec2* + +▸ **mul**(`a`: number, `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulNumVec2 + +▸ **mulNumVec2**(`a`: number, `b`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | number | +`b` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` mulVec2Num + +▸ **mulVec2Num**(`a`: [Vec2Value](/api/interfaces/vec2value), `b`: number): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`a` | [Vec2Value](/api/interfaces/vec2value) | +`b` | number | + +**Returns:** *Vec2* + +___ + +### `Static` neg + +▸ **neg**(`v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` skew + +▸ **skew**(`v`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +Get the skew vector such that dot(skew_vec, other) == cross(vec, other) + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` sub + +▸ **sub**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` upper + +▸ **upper**(`v`: [Vec2Value](/api/interfaces/vec2value), `w`: [Vec2Value](/api/interfaces/vec2value)): *Vec2* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec2Value](/api/interfaces/vec2value) | +`w` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *Vec2* + +___ + +### `Static` zero + +▸ **zero**(): *Vec2* + +**Returns:** *Vec2* diff --git a/docs/pages/api/classes/vec3.md b/docs/pages/api/classes/vec3.md new file mode 100644 index 00000000..a0191f82 --- /dev/null +++ b/docs/pages/api/classes/vec3.md @@ -0,0 +1,327 @@ +--- +showOutline: false +--- + +# Class: Vec3 + +## Hierarchy + +* **Vec3** + +## Index + +### Constructors + +* [constructor](/api/classes/vec3#constructor) + +### Properties + +* [x](/api/classes/vec3#x) +* [y](/api/classes/vec3#y) +* [z](/api/classes/vec3#z) + +### Methods + +* [add](/api/classes/vec3#add) +* [mul](/api/classes/vec3#mul) +* [neg](/api/classes/vec3#neg) +* [set](/api/classes/vec3#set) +* [setZero](/api/classes/vec3#setzero) +* [sub](/api/classes/vec3#sub) +* [add](/api/classes/vec3#static-add) +* [areEqual](/api/classes/vec3#static-areequal) +* [assert](/api/classes/vec3#static-assert) +* [clone](/api/classes/vec3#static-clone) +* [cross](/api/classes/vec3#static-cross) +* [dot](/api/classes/vec3#static-dot) +* [isValid](/api/classes/vec3#static-isvalid) +* [mul](/api/classes/vec3#static-mul) +* [neg](/api/classes/vec3#static-neg) +* [sub](/api/classes/vec3#static-sub) +* [zero](/api/classes/vec3#static-zero) + +## Constructors + +### constructor + +\+ **new Vec3**(`x`: number, `y`: number, `z`: number): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | +`z` | number | + +**Returns:** *[Vec3](/api/classes/vec3)* + +\+ **new Vec3**(`obj`: object): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +▪ **obj**: *object* + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | +`z` | number | + +**Returns:** *[Vec3](/api/classes/vec3)* + +\+ **new Vec3**(): *[Vec3](/api/classes/vec3)* + +**Returns:** *[Vec3](/api/classes/vec3)* + +## Properties + +### x + +• **x**: *number* + +___ + +### y + +• **y**: *number* + +___ + +### z + +• **z**: *number* + +## Methods + +### add + +▸ **add**(`w`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### mul + +▸ **mul**(`m`: number): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`m` | number | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### neg + +▸ **neg**(): *[Vec3](/api/classes/vec3)* + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### set + +▸ **set**(`x`: number, `y`: number, `z`: number): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | +`y` | number | +`z` | number | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### setZero + +▸ **setZero**(): *[Vec3](/api/classes/vec3)* + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### sub + +▸ **sub**(`w`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` add + +▸ **add**(`v`: [Vec3Value](/api/interfaces/vec3value), `w`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` areEqual + +▸ **areEqual**(`v`: [Vec3Value](/api/interfaces/vec3value), `w`: [Vec3Value](/api/interfaces/vec3value)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *boolean* + +___ + +### `Static` assert + +▸ **assert**(`o`: any): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`o` | any | + +**Returns:** *void* + +___ + +### `Static` clone + +▸ **clone**(`v`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` cross + +▸ **cross**(`v`: [Vec3Value](/api/interfaces/vec3value), `w`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +Cross product on two vectors + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` dot + +▸ **dot**(`v`: [Vec3Value](/api/interfaces/vec3value), `w`: [Vec3Value](/api/interfaces/vec3value)): *number* + +Dot product on two vectors + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *number* + +___ + +### `Static` isValid + +▸ **isValid**(`obj`: any): *boolean* + +Does this vector contain finite coordinates? + +**Parameters:** + +Name | Type | +------ | ------ | +`obj` | any | + +**Returns:** *boolean* + +___ + +### `Static` mul + +▸ **mul**(`v`: [Vec3Value](/api/interfaces/vec3value), `m`: number): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`m` | number | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` neg + +▸ **neg**(`v`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` sub + +▸ **sub**(`v`: [Vec3Value](/api/interfaces/vec3value), `w`: [Vec3Value](/api/interfaces/vec3value)): *[Vec3](/api/classes/vec3)* + +**Parameters:** + +Name | Type | +------ | ------ | +`v` | [Vec3Value](/api/interfaces/vec3value) | +`w` | [Vec3Value](/api/interfaces/vec3value) | + +**Returns:** *[Vec3](/api/classes/vec3)* + +___ + +### `Static` zero + +▸ **zero**(): *[Vec3](/api/classes/vec3)* + +**Returns:** *[Vec3](/api/classes/vec3)* diff --git a/docs/api/classes/velocity.md b/docs/pages/api/classes/velocity.md similarity index 59% rename from docs/api/classes/velocity.md rename to docs/pages/api/classes/velocity.md index 1682007e..60d3cfd2 100644 --- a/docs/api/classes/velocity.md +++ b/docs/pages/api/classes/velocity.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Velocity](velocity.md) +--- +showOutline: false +--- # Class: Velocity @@ -10,8 +12,8 @@ ### Properties -* [v](velocity.md#v) -* [w](velocity.md#w) +* [v](/api/classes/velocity#v) +* [w](/api/classes/velocity#w) ## Properties diff --git a/docs/pages/api/classes/velocityconstraintpoint.md b/docs/pages/api/classes/velocityconstraintpoint.md new file mode 100644 index 00000000..11d67cbc --- /dev/null +++ b/docs/pages/api/classes/velocityconstraintpoint.md @@ -0,0 +1,75 @@ +--- +showOutline: false +--- + +# Class: VelocityConstraintPoint + +## Hierarchy + +* **VelocityConstraintPoint** + +## Index + +### Properties + +* [normalImpulse](/api/classes/velocityconstraintpoint#normalimpulse) +* [normalMass](/api/classes/velocityconstraintpoint#normalmass) +* [rA](/api/classes/velocityconstraintpoint#ra) +* [rB](/api/classes/velocityconstraintpoint#rb) +* [tangentImpulse](/api/classes/velocityconstraintpoint#tangentimpulse) +* [tangentMass](/api/classes/velocityconstraintpoint#tangentmass) +* [velocityBias](/api/classes/velocityconstraintpoint#velocitybias) + +### Methods + +* [recycle](/api/classes/velocityconstraintpoint#recycle) + +## Properties + +### normalImpulse + +• **normalImpulse**: *number* = 0 + +___ + +### normalMass + +• **normalMass**: *number* = 0 + +___ + +### rA + +• **rA**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +___ + +### rB + +• **rB**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) + +___ + +### tangentImpulse + +• **tangentImpulse**: *number* = 0 + +___ + +### tangentMass + +• **tangentMass**: *number* = 0 + +___ + +### velocityBias + +• **velocityBias**: *number* = 0 + +## Methods + +### recycle + +▸ **recycle**(): *void* + +**Returns:** *void* diff --git a/docs/pages/api/classes/weldjoint.md b/docs/pages/api/classes/weldjoint.md new file mode 100644 index 00000000..458d999f --- /dev/null +++ b/docs/pages/api/classes/weldjoint.md @@ -0,0 +1,408 @@ +--- +showOutline: false +--- + +# Class: WeldJoint + +A weld joint essentially glues two bodies together. A weld joint may distort +somewhat because the island constraint solver is approximate. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **WeldJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/weldjoint#constructor) + +### Properties + +* [style](/api/classes/weldjoint#style) +* [TYPE](/api/classes/weldjoint#static-type) + +### Methods + +* [getAnchorA](/api/classes/weldjoint#getanchora) +* [getAnchorB](/api/classes/weldjoint#getanchorb) +* [getBodyA](/api/classes/weldjoint#getbodya) +* [getBodyB](/api/classes/weldjoint#getbodyb) +* [getCollideConnected](/api/classes/weldjoint#getcollideconnected) +* [getDampingRatio](/api/classes/weldjoint#getdampingratio) +* [getFrequency](/api/classes/weldjoint#getfrequency) +* [getLocalAnchorA](/api/classes/weldjoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/weldjoint#getlocalanchorb) +* [getNext](/api/classes/weldjoint#getnext) +* [getReactionForce](/api/classes/weldjoint#getreactionforce) +* [getReactionTorque](/api/classes/weldjoint#getreactiontorque) +* [getReferenceAngle](/api/classes/weldjoint#getreferenceangle) +* [getType](/api/classes/weldjoint#gettype) +* [getUserData](/api/classes/weldjoint#getuserdata) +* [initVelocityConstraints](/api/classes/weldjoint#initvelocityconstraints) +* [isActive](/api/classes/weldjoint#isactive) +* [setDampingRatio](/api/classes/weldjoint#setdampingratio) +* [setFrequency](/api/classes/weldjoint#setfrequency) +* [setUserData](/api/classes/weldjoint#setuserdata) +* [shiftOrigin](/api/classes/weldjoint#shiftorigin) +* [solvePositionConstraints](/api/classes/weldjoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/weldjoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new WeldJoint**(`def`: [WeldJointDef](/api/interfaces/weldjointdef)): *[WeldJoint](/api/classes/weldjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [WeldJointDef](/api/interfaces/weldjointdef) | + +**Returns:** *[WeldJoint](/api/classes/weldjoint)* + +\+ **new WeldJoint**(`def`: [WeldJointOpt](/api/interfaces/weldjointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value)): *[WeldJoint](/api/classes/weldjoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [WeldJointOpt](/api/interfaces/weldjointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[WeldJoint](/api/classes/weldjoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"weld-joint"* = 'weld-joint' as const + +## Methods + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getDampingRatio + +▸ **getDampingRatio**(): *number* + +Get damping ratio. + +**Returns:** *number* + +___ + +### getFrequency + +▸ **getFrequency**(): *number* + +Get frequency in Hz. + +**Returns:** *number* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getReferenceAngle + +▸ **getReferenceAngle**(): *number* + +Get the reference angle. + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### setDampingRatio + +▸ **setDampingRatio**(`ratio`: number): *void* + +Set damping ratio. + +**Parameters:** + +Name | Type | +------ | ------ | +`ratio` | number | + +**Returns:** *void* + +___ + +### setFrequency + +▸ **setFrequency**(`hz`: number): *void* + +Set frequency in Hz. + +**Parameters:** + +Name | Type | +------ | ------ | +`hz` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/pages/api/classes/wheeljoint.md b/docs/pages/api/classes/wheeljoint.md new file mode 100644 index 00000000..249074ce --- /dev/null +++ b/docs/pages/api/classes/wheeljoint.md @@ -0,0 +1,529 @@ +--- +showOutline: false +--- + +# Class: WheelJoint + +A wheel joint. This joint provides two degrees of freedom: translation along +an axis fixed in bodyA and rotation in the plane. In other words, it is a +point to line constraint with a rotational motor and a linear spring/damper. +This joint is designed for vehicle suspensions. + +## Hierarchy + +* [Joint](/api/classes/joint) + + ↳ **WheelJoint** + +## Index + +### Constructors + +* [constructor](/api/classes/wheeljoint#constructor) + +### Properties + +* [style](/api/classes/wheeljoint#style) +* [TYPE](/api/classes/wheeljoint#static-type) + +### Methods + +* [enableMotor](/api/classes/wheeljoint#enablemotor) +* [getAnchorA](/api/classes/wheeljoint#getanchora) +* [getAnchorB](/api/classes/wheeljoint#getanchorb) +* [getBodyA](/api/classes/wheeljoint#getbodya) +* [getBodyB](/api/classes/wheeljoint#getbodyb) +* [getCollideConnected](/api/classes/wheeljoint#getcollideconnected) +* [getJointSpeed](/api/classes/wheeljoint#getjointspeed) +* [getJointTranslation](/api/classes/wheeljoint#getjointtranslation) +* [getLocalAnchorA](/api/classes/wheeljoint#getlocalanchora) +* [getLocalAnchorB](/api/classes/wheeljoint#getlocalanchorb) +* [getLocalAxisA](/api/classes/wheeljoint#getlocalaxisa) +* [getMaxMotorTorque](/api/classes/wheeljoint#getmaxmotortorque) +* [getMotorSpeed](/api/classes/wheeljoint#getmotorspeed) +* [getMotorTorque](/api/classes/wheeljoint#getmotortorque) +* [getNext](/api/classes/wheeljoint#getnext) +* [getReactionForce](/api/classes/wheeljoint#getreactionforce) +* [getReactionTorque](/api/classes/wheeljoint#getreactiontorque) +* [getSpringDampingRatio](/api/classes/wheeljoint#getspringdampingratio) +* [getSpringFrequencyHz](/api/classes/wheeljoint#getspringfrequencyhz) +* [getType](/api/classes/wheeljoint#gettype) +* [getUserData](/api/classes/wheeljoint#getuserdata) +* [initVelocityConstraints](/api/classes/wheeljoint#initvelocityconstraints) +* [isActive](/api/classes/wheeljoint#isactive) +* [isMotorEnabled](/api/classes/wheeljoint#ismotorenabled) +* [setMaxMotorTorque](/api/classes/wheeljoint#setmaxmotortorque) +* [setMotorSpeed](/api/classes/wheeljoint#setmotorspeed) +* [setSpringDampingRatio](/api/classes/wheeljoint#setspringdampingratio) +* [setSpringFrequencyHz](/api/classes/wheeljoint#setspringfrequencyhz) +* [setUserData](/api/classes/wheeljoint#setuserdata) +* [shiftOrigin](/api/classes/wheeljoint#shiftorigin) +* [solvePositionConstraints](/api/classes/wheeljoint#solvepositionconstraints) +* [solveVelocityConstraints](/api/classes/wheeljoint#solvevelocityconstraints) + +## Constructors + +### constructor + +\+ **new WheelJoint**(`def`: [WheelJointDef](/api/interfaces/wheeljointdef)): *[WheelJoint](/api/classes/wheeljoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [WheelJointDef](/api/interfaces/wheeljointdef) | + +**Returns:** *[WheelJoint](/api/classes/wheeljoint)* + +\+ **new WheelJoint**(`def`: [WheelJointOpt](/api/interfaces/wheeljointopt), `bodyA`: [Body](/api/classes/body), `bodyB`: [Body](/api/classes/body), `anchor`: [Vec2Value](/api/interfaces/vec2value), `axis`: [Vec2Value](/api/interfaces/vec2value)): *[WheelJoint](/api/classes/wheeljoint)* + +*Overrides [Joint](/api/classes/joint).[constructor](/api/classes/joint#constructor)* + +**Parameters:** + +Name | Type | +------ | ------ | +`def` | [WheelJointOpt](/api/interfaces/wheeljointopt) | +`bodyA` | [Body](/api/classes/body) | +`bodyB` | [Body](/api/classes/body) | +`anchor` | [Vec2Value](/api/interfaces/vec2value) | +`axis` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *[WheelJoint](/api/classes/wheeljoint)* + +## Properties + +### style + +• **style**: *[Style](/api/interfaces/style)* + +*Inherited from [Joint](/api/classes/joint).[style](/api/classes/joint#style)* + +Styling for dev-tools. + +___ + +### `Static` TYPE + +▪ **TYPE**: *"wheel-joint"* = 'wheel-joint' as const + +## Methods + +### enableMotor + +▸ **enableMotor**(`flag`: boolean): *void* + +Enable/disable the joint motor. + +**Parameters:** + +Name | Type | +------ | ------ | +`flag` | boolean | + +**Returns:** *void* + +___ + +### getAnchorA + +▸ **getAnchorA**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorA](/api/classes/joint#abstract-getanchora)* + +Get the anchor point on bodyA in world coordinates. + +**Returns:** *Vec2* + +___ + +### getAnchorB + +▸ **getAnchorB**(): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getAnchorB](/api/classes/joint#abstract-getanchorb)* + +Get the anchor point on bodyB in world coordinates. + +**Returns:** *Vec2* + +___ + +### getBodyA + +▸ **getBodyA**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyA](/api/classes/joint#getbodya)* + +Get the first body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getBodyB + +▸ **getBodyB**(): *[Body](/api/classes/body)* + +*Inherited from [Joint](/api/classes/joint).[getBodyB](/api/classes/joint#getbodyb)* + +Get the second body attached to this joint. + +**Returns:** *[Body](/api/classes/body)* + +___ + +### getCollideConnected + +▸ **getCollideConnected**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[getCollideConnected](/api/classes/joint#getcollideconnected)* + +Get collide connected. Note: modifying the collide connect flag won't work +correctly because the flag is only checked when fixture AABBs begin to +overlap. + +**Returns:** *boolean* + +___ + +### getJointSpeed + +▸ **getJointSpeed**(): *number* + +Get the current joint translation speed, usually in meters per second. + +**Returns:** *number* + +___ + +### getJointTranslation + +▸ **getJointTranslation**(): *number* + +Get the current joint translation, usually in meters. + +**Returns:** *number* + +___ + +### getLocalAnchorA + +▸ **getLocalAnchorA**(): *Vec2* + +The local anchor point relative to bodyA's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAnchorB + +▸ **getLocalAnchorB**(): *Vec2* + +The local anchor point relative to bodyB's origin. + +**Returns:** *Vec2* + +___ + +### getLocalAxisA + +▸ **getLocalAxisA**(): *Vec2* + +The local joint axis relative to bodyA. + +**Returns:** *Vec2* + +___ + +### getMaxMotorTorque + +▸ **getMaxMotorTorque**(): *number* + +**Returns:** *number* + +___ + +### getMotorSpeed + +▸ **getMotorSpeed**(): *number* + +Get the motor speed, usually in radians per second. + +**Returns:** *number* + +___ + +### getMotorTorque + +▸ **getMotorTorque**(`inv_dt`: number): *number* + +Get the current motor torque given the inverse time step, usually in N-m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getNext + +▸ **getNext**(): *[Joint](/api/classes/joint)* + +*Inherited from [Joint](/api/classes/joint).[getNext](/api/classes/joint#getnext)* + +Get the next joint the world joint list. + +**Returns:** *[Joint](/api/classes/joint)* + +___ + +### getReactionForce + +▸ **getReactionForce**(`inv_dt`: number): *Vec2* + +*Overrides [Joint](/api/classes/joint).[getReactionForce](/api/classes/joint#abstract-getreactionforce)* + +Get the reaction force on bodyB at the joint anchor in Newtons. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *Vec2* + +___ + +### getReactionTorque + +▸ **getReactionTorque**(`inv_dt`: number): *number* + +*Overrides [Joint](/api/classes/joint).[getReactionTorque](/api/classes/joint#abstract-getreactiontorque)* + +Get the reaction torque on bodyB in N*m. + +**Parameters:** + +Name | Type | +------ | ------ | +`inv_dt` | number | + +**Returns:** *number* + +___ + +### getSpringDampingRatio + +▸ **getSpringDampingRatio**(): *number* + +**Returns:** *number* + +___ + +### getSpringFrequencyHz + +▸ **getSpringFrequencyHz**(): *number* + +**Returns:** *number* + +___ + +### getType + +▸ **getType**(): *string* + +*Inherited from [Joint](/api/classes/joint).[getType](/api/classes/joint#gettype)* + +Get the type of the concrete joint. + +**Returns:** *string* + +___ + +### getUserData + +▸ **getUserData**(): *unknown* + +*Inherited from [Joint](/api/classes/joint).[getUserData](/api/classes/joint#getuserdata)* + +**Returns:** *unknown* + +___ + +### initVelocityConstraints + +▸ **initVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[initVelocityConstraints](/api/classes/joint#abstract-initvelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* + +___ + +### isActive + +▸ **isActive**(): *boolean* + +*Inherited from [Joint](/api/classes/joint).[isActive](/api/classes/joint#isactive)* + +Short-cut function to determine if either body is inactive. + +**Returns:** *boolean* + +___ + +### isMotorEnabled + +▸ **isMotorEnabled**(): *boolean* + +Is the joint motor enabled? + +**Returns:** *boolean* + +___ + +### setMaxMotorTorque + +▸ **setMaxMotorTorque**(`torque`: number): *void* + +Set/Get the maximum motor force, usually in N-m. + +**Parameters:** + +Name | Type | +------ | ------ | +`torque` | number | + +**Returns:** *void* + +___ + +### setMotorSpeed + +▸ **setMotorSpeed**(`speed`: number): *void* + +Set the motor speed, usually in radians per second. + +**Parameters:** + +Name | Type | +------ | ------ | +`speed` | number | + +**Returns:** *void* + +___ + +### setSpringDampingRatio + +▸ **setSpringDampingRatio**(`ratio`: number): *void* + +Set/Get the spring damping ratio + +**Parameters:** + +Name | Type | +------ | ------ | +`ratio` | number | + +**Returns:** *void* + +___ + +### setSpringFrequencyHz + +▸ **setSpringFrequencyHz**(`hz`: number): *void* + +Set/Get the spring frequency in hertz. Setting the frequency to zero disables +the spring. + +**Parameters:** + +Name | Type | +------ | ------ | +`hz` | number | + +**Returns:** *void* + +___ + +### setUserData + +▸ **setUserData**(`data`: unknown): *void* + +*Inherited from [Joint](/api/classes/joint).[setUserData](/api/classes/joint#setuserdata)* + +**Parameters:** + +Name | Type | +------ | ------ | +`data` | unknown | + +**Returns:** *void* + +___ + +### shiftOrigin + +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* + +*Inherited from [Joint](/api/classes/joint).[shiftOrigin](/api/classes/joint#shiftorigin)* + +Shift the origin for any points stored in world coordinates. + +**Parameters:** + +Name | Type | +------ | ------ | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | + +**Returns:** *void* + +___ + +### solvePositionConstraints + +▸ **solvePositionConstraints**(`step`: [TimeStep](/api/classes/timestep)): *boolean* + +*Overrides [Joint](/api/classes/joint).[solvePositionConstraints](/api/classes/joint#abstract-solvepositionconstraints)* + +This returns true if the position errors are within tolerance. + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *boolean* + +___ + +### solveVelocityConstraints + +▸ **solveVelocityConstraints**(`step`: [TimeStep](/api/classes/timestep)): *void* + +*Overrides [Joint](/api/classes/joint).[solveVelocityConstraints](/api/classes/joint#abstract-solvevelocityconstraints)* + +**Parameters:** + +Name | Type | +------ | ------ | +`step` | [TimeStep](/api/classes/timestep) | + +**Returns:** *void* diff --git a/docs/api/classes/world.md b/docs/pages/api/classes/world.md similarity index 66% rename from docs/api/classes/world.md rename to docs/pages/api/classes/world.md index ef2ba64a..01cfa758 100644 --- a/docs/api/classes/world.md +++ b/docs/pages/api/classes/world.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [World](world.md) +--- +showOutline: false +--- # Class: World @@ -10,61 +12,61 @@ ### Constructors -* [constructor](world.md#constructor) +* [constructor](/api/classes/world#constructor) ### Methods -* [clearForces](world.md#clearforces) -* [createBody](world.md#createbody) -* [createDynamicBody](world.md#createdynamicbody) -* [createJoint](world.md#createjoint) -* [createKinematicBody](world.md#createkinematicbody) -* [destroyBody](world.md#destroybody) -* [destroyJoint](world.md#destroyjoint) -* [getAllowSleeping](world.md#getallowsleeping) -* [getAutoClearForces](world.md#getautoclearforces) -* [getBodyCount](world.md#getbodycount) -* [getBodyList](world.md#getbodylist) -* [getContactCount](world.md#getcontactcount) -* [getContactList](world.md#getcontactlist) -* [getContinuousPhysics](world.md#getcontinuousphysics) -* [getGravity](world.md#getgravity) -* [getJointCount](world.md#getjointcount) -* [getJointList](world.md#getjointlist) -* [getProxyCount](world.md#getproxycount) -* [getSubStepping](world.md#getsubstepping) -* [getTreeBalance](world.md#gettreebalance) -* [getTreeHeight](world.md#gettreeheight) -* [getTreeQuality](world.md#gettreequality) -* [getWarmStarting](world.md#getwarmstarting) -* [isLocked](world.md#islocked) -* [off](world.md#off) -* [on](world.md#on) -* [publish](world.md#publish) -* [queryAABB](world.md#queryaabb) -* [rayCast](world.md#raycast) -* [setAllowSleeping](world.md#setallowsleeping) -* [setAutoClearForces](world.md#setautoclearforces) -* [setContinuousPhysics](world.md#setcontinuousphysics) -* [setGravity](world.md#setgravity) -* [setSubStepping](world.md#setsubstepping) -* [setWarmStarting](world.md#setwarmstarting) -* [shiftOrigin](world.md#shiftorigin) -* [step](world.md#step) +* [clearForces](/api/classes/world#clearforces) +* [createBody](/api/classes/world#createbody) +* [createDynamicBody](/api/classes/world#createdynamicbody) +* [createJoint](/api/classes/world#createjoint) +* [createKinematicBody](/api/classes/world#createkinematicbody) +* [destroyBody](/api/classes/world#destroybody) +* [destroyJoint](/api/classes/world#destroyjoint) +* [getAllowSleeping](/api/classes/world#getallowsleeping) +* [getAutoClearForces](/api/classes/world#getautoclearforces) +* [getBodyCount](/api/classes/world#getbodycount) +* [getBodyList](/api/classes/world#getbodylist) +* [getContactCount](/api/classes/world#getcontactcount) +* [getContactList](/api/classes/world#getcontactlist) +* [getContinuousPhysics](/api/classes/world#getcontinuousphysics) +* [getGravity](/api/classes/world#getgravity) +* [getJointCount](/api/classes/world#getjointcount) +* [getJointList](/api/classes/world#getjointlist) +* [getProxyCount](/api/classes/world#getproxycount) +* [getSubStepping](/api/classes/world#getsubstepping) +* [getTreeBalance](/api/classes/world#gettreebalance) +* [getTreeHeight](/api/classes/world#gettreeheight) +* [getTreeQuality](/api/classes/world#gettreequality) +* [getWarmStarting](/api/classes/world#getwarmstarting) +* [isLocked](/api/classes/world#islocked) +* [off](/api/classes/world#off) +* [on](/api/classes/world#on) +* [publish](/api/classes/world#publish) +* [queryAABB](/api/classes/world#queryaabb) +* [rayCast](/api/classes/world#raycast) +* [setAllowSleeping](/api/classes/world#setallowsleeping) +* [setAutoClearForces](/api/classes/world#setautoclearforces) +* [setContinuousPhysics](/api/classes/world#setcontinuousphysics) +* [setGravity](/api/classes/world#setgravity) +* [setSubStepping](/api/classes/world#setsubstepping) +* [setWarmStarting](/api/classes/world#setwarmstarting) +* [shiftOrigin](/api/classes/world#shiftorigin) +* [step](/api/classes/world#step) ## Constructors ### constructor -\+ **new World**(`def?`: [WorldDef](../interfaces/worlddef.md) | Vec2 | null): *[World](world.md)* +\+ **new World**(`def?`: [WorldDef](/api/interfaces/worlddef) | Vec2 | null): *[World](/api/classes/world)* **Parameters:** Name | Type | Description | ------ | ------ | ------ | -`def?` | [WorldDef](../interfaces/worlddef.md) | Vec2 | null | World definition or gravity vector. | +`def?` | [WorldDef](/api/interfaces/worlddef) | Vec2 | null | World definition or gravity vector. | -**Returns:** *[World](world.md)* +**Returns:** *[World](/api/classes/world)* ## Methods @@ -80,7 +82,7 @@ under a variable frame-rate. When you perform sub-stepping you will disable auto clearing of forces and instead call clearForces after all sub-steps are complete in one pass of your game loop. -See [World.setAutoClearForces](world.md#setautoclearforces) +See [World.setAutoClearForces](world#setautoclearforces) **Returns:** *void* @@ -88,7 +90,7 @@ ___ ### createBody -▸ **createBody**(`def?`: [BodyDef](../interfaces/bodydef.md)): *[Body](body.md)* +▸ **createBody**(`def?`: [BodyDef](/api/interfaces/bodydef)): *[Body](/api/classes/body)* Create a rigid body given a definition. No reference to the definition is retained. @@ -99,45 +101,45 @@ Warning: This function is locked during callbacks. Name | Type | ------ | ------ | -`def?` | [BodyDef](../interfaces/bodydef.md) | +`def?` | [BodyDef](/api/interfaces/bodydef) | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* -▸ **createBody**(`position`: [Vec2Value](../interfaces/vec2value.md), `angle?`: number): *[Body](body.md)* +▸ **createBody**(`position`: [Vec2Value](/api/interfaces/vec2value), `angle?`: number): *[Body](/api/classes/body)* **Parameters:** Name | Type | ------ | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | +`position` | [Vec2Value](/api/interfaces/vec2value) | `angle?` | number | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ ### createDynamicBody -▸ **createDynamicBody**(`def?`: [BodyDef](../interfaces/bodydef.md)): *[Body](body.md)* +▸ **createDynamicBody**(`def?`: [BodyDef](/api/interfaces/bodydef)): *[Body](/api/classes/body)* **Parameters:** Name | Type | ------ | ------ | -`def?` | [BodyDef](../interfaces/bodydef.md) | +`def?` | [BodyDef](/api/interfaces/bodydef) | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* -▸ **createDynamicBody**(`position`: [Vec2Value](../interfaces/vec2value.md), `angle?`: number): *[Body](body.md)* +▸ **createDynamicBody**(`position`: [Vec2Value](/api/interfaces/vec2value), `angle?`: number): *[Body](/api/classes/body)* **Parameters:** Name | Type | ------ | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | +`position` | [Vec2Value](/api/interfaces/vec2value) | `angle?` | number | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ @@ -152,7 +154,7 @@ Warning: This function is locked during callbacks. **Type parameters:** -▪ **T**: *[Joint](joint.md)* +▪ **T**: *[Joint](/api/classes/joint)* **Parameters:** @@ -166,32 +168,32 @@ ___ ### createKinematicBody -▸ **createKinematicBody**(`def?`: [BodyDef](../interfaces/bodydef.md)): *[Body](body.md)* +▸ **createKinematicBody**(`def?`: [BodyDef](/api/interfaces/bodydef)): *[Body](/api/classes/body)* **Parameters:** Name | Type | ------ | ------ | -`def?` | [BodyDef](../interfaces/bodydef.md) | +`def?` | [BodyDef](/api/interfaces/bodydef) | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* -▸ **createKinematicBody**(`position`: [Vec2Value](../interfaces/vec2value.md), `angle?`: number): *[Body](body.md)* +▸ **createKinematicBody**(`position`: [Vec2Value](/api/interfaces/vec2value), `angle?`: number): *[Body](/api/classes/body)* **Parameters:** Name | Type | ------ | ------ | -`position` | [Vec2Value](../interfaces/vec2value.md) | +`position` | [Vec2Value](/api/interfaces/vec2value) | `angle?` | number | -**Returns:** *[Body](body.md)* +**Returns:** *[Body](/api/classes/body)* ___ ### destroyBody -▸ **destroyBody**(`b`: [Body](body.md)): *boolean* +▸ **destroyBody**(`b`: [Body](/api/classes/body)): *boolean* Destroy a rigid body given a definition. No reference to the definition is retained. @@ -204,7 +206,7 @@ Warning: This function is locked during callbacks. Name | Type | ------ | ------ | -`b` | [Body](body.md) | +`b` | [Body](/api/classes/body) | **Returns:** *boolean* @@ -212,7 +214,7 @@ ___ ### destroyJoint -▸ **destroyJoint**(`joint`: [Joint](joint.md)): *void* +▸ **destroyJoint**(`joint`: [Joint](/api/classes/joint)): *void* Destroy a joint. This may cause the connected bodies to begin colliding. Warning: This function is locked during callbacks. @@ -221,7 +223,7 @@ Warning: This function is locked during callbacks. Name | Type | ------ | ------ | -`joint` | [Joint](joint.md) | +`joint` | [Joint](/api/classes/joint) | **Returns:** *void* @@ -255,12 +257,12 @@ ___ ### getBodyList -▸ **getBodyList**(): *[Body](body.md) | null* +▸ **getBodyList**(): *[Body](/api/classes/body) | null* Get the world body list. With the returned body, use Body.getNext to get the next body in the world list. A null body indicates the end of the list. -**Returns:** *[Body](body.md) | null* +**Returns:** *[Body](/api/classes/body) | null* the head of the world body list. @@ -278,7 +280,7 @@ ___ ### getContactList -▸ **getContactList**(): *[Contact](contact.md) | null* +▸ **getContactList**(): *[Contact](/api/classes/contact) | null* Get the world contact list. With the returned contact, use Contact.getNext to get the next contact in the world list. A null contact indicates the end of @@ -287,7 +289,7 @@ the list. Warning: contacts are created and destroyed in the middle of a time step. Use ContactListener to avoid missing contacts. -**Returns:** *[Contact](contact.md) | null* +**Returns:** *[Contact](/api/classes/contact) | null* the head of the world contact list. @@ -321,12 +323,12 @@ ___ ### getJointList -▸ **getJointList**(): *[Joint](joint.md) | null* +▸ **getJointList**(): *[Joint](/api/classes/joint) | null* Get the world joint list. With the returned joint, use Joint.getNext to get the next joint in the world list. A null joint indicates the end of the list. -**Returns:** *[Joint](joint.md) | null* +**Returns:** *[Joint](/api/classes/joint) | null* the head of the world joint list. @@ -411,13 +413,13 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | +`contact` | [Contact](/api/classes/contact) | **Returns:** *World* @@ -431,13 +433,13 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | +`contact` | [Contact](/api/classes/contact) | **Returns:** *World* @@ -451,14 +453,14 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md), `oldManifold`: [Manifold](manifold.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact), `oldManifold`: [Manifold](/api/classes/manifold)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | -`oldManifold` | [Manifold](manifold.md) | +`contact` | [Contact](/api/classes/contact) | +`oldManifold` | [Manifold](/api/classes/manifold) | **Returns:** *World* @@ -472,14 +474,14 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md), `impulse`: [ContactImpulse](contactimpulse.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact), `impulse`: [ContactImpulse](/api/classes/contactimpulse)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | -`impulse` | [ContactImpulse](contactimpulse.md) | +`contact` | [Contact](/api/classes/contact) | +`impulse` | [ContactImpulse](/api/classes/contactimpulse) | **Returns:** *World* @@ -493,13 +495,13 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`body`: [Body](body.md)): *void* +▸ (`body`: [Body](/api/classes/body)): *void* **Parameters:** Name | Type | ------ | ------ | -`body` | [Body](body.md) | +`body` | [Body](/api/classes/body) | **Returns:** *World* @@ -513,13 +515,13 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`joint`: [Joint](joint.md)): *void* +▸ (`joint`: [Joint](/api/classes/joint)): *void* **Parameters:** Name | Type | ------ | ------ | -`joint` | [Joint](joint.md) | +`joint` | [Joint](/api/classes/joint) | **Returns:** *World* @@ -533,13 +535,13 @@ Remove an event listener. ▪ **listener**: *function* -▸ (`fixture`: [Fixture](fixture.md)): *void* +▸ (`fixture`: [Fixture](/api/classes/fixture)): *void* **Parameters:** Name | Type | ------ | ------ | -`fixture` | [Fixture](fixture.md) | +`fixture` | [Fixture](/api/classes/fixture) | **Returns:** *World* @@ -567,13 +569,13 @@ Warning: You cannot create/destroy world entities inside these callbacks. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | +`contact` | [Contact](/api/classes/contact) | **Returns:** *World* @@ -597,13 +599,13 @@ Warning: You cannot create/destroy world entities inside these callbacks. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | +`contact` | [Contact](/api/classes/contact) | **Returns:** *World* @@ -626,14 +628,14 @@ Warning: You cannot create/destroy world entities inside these callbacks. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md), `oldManifold`: [Manifold](manifold.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact), `oldManifold`: [Manifold](/api/classes/manifold)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | -`oldManifold` | [Manifold](manifold.md) | +`contact` | [Contact](/api/classes/contact) | +`oldManifold` | [Manifold](/api/classes/manifold) | **Returns:** *World* @@ -653,14 +655,14 @@ Warning: You cannot create/destroy world entities inside these callbacks. ▪ **listener**: *function* -▸ (`contact`: [Contact](contact.md), `impulse`: [ContactImpulse](contactimpulse.md)): *void* +▸ (`contact`: [Contact](/api/classes/contact), `impulse`: [ContactImpulse](/api/classes/contactimpulse)): *void* **Parameters:** Name | Type | ------ | ------ | -`contact` | [Contact](contact.md) | -`impulse` | [ContactImpulse](contactimpulse.md) | +`contact` | [Contact](/api/classes/contact) | +`impulse` | [ContactImpulse](/api/classes/contactimpulse) | **Returns:** *World* @@ -674,13 +676,13 @@ Listener is called whenever a body is removed. ▪ **listener**: *function* -▸ (`body`: [Body](body.md)): *void* +▸ (`body`: [Body](/api/classes/body)): *void* **Parameters:** Name | Type | ------ | ------ | -`body` | [Body](body.md) | +`body` | [Body](/api/classes/body) | **Returns:** *World* @@ -694,13 +696,13 @@ Listener is called whenever a joint is removed implicitly or explicitly. ▪ **listener**: *function* -▸ (`joint`: [Joint](joint.md)): *void* +▸ (`joint`: [Joint](/api/classes/joint)): *void* **Parameters:** Name | Type | ------ | ------ | -`joint` | [Joint](joint.md) | +`joint` | [Joint](/api/classes/joint) | **Returns:** *World* @@ -714,13 +716,13 @@ Listener is called whenever a fixture is removed implicitly or explicitly. ▪ **listener**: *function* -▸ (`fixture`: [Fixture](fixture.md)): *void* +▸ (`fixture`: [Fixture](/api/classes/fixture)): *void* **Parameters:** Name | Type | ------ | ------ | -`fixture` | [Fixture](fixture.md) | +`fixture` | [Fixture](/api/classes/fixture) | **Returns:** *World* @@ -745,7 +747,7 @@ ___ ### queryAABB -▸ **queryAABB**(`aabb`: [AABBValue](../interfaces/aabbvalue.md), `callback`: [WorldAABBQueryCallback](../globals.md#worldaabbquerycallback)): *void* +▸ **queryAABB**(`aabb`: [AABBValue](/api/interfaces/aabbvalue), `callback`: [WorldAABBQueryCallback](/api/globals#worldaabbquerycallback)): *void* Query the world for all fixtures that potentially overlap the provided AABB. @@ -753,8 +755,8 @@ Query the world for all fixtures that potentially overlap the provided AABB. Name | Type | Description | ------ | ------ | ------ | -`aabb` | [AABBValue](../interfaces/aabbvalue.md) | The query box. | -`callback` | [WorldAABBQueryCallback](../globals.md#worldaabbquerycallback) | Called for each fixture found in the query AABB. It may return `false` to terminate the query. | +`aabb` | [AABBValue](/api/interfaces/aabbvalue) | The query box. | +`callback` | [WorldAABBQueryCallback](/api/globals#worldaabbquerycallback) | Called for each fixture found in the query AABB. It may return `false` to terminate the query. | **Returns:** *void* @@ -762,7 +764,7 @@ ___ ### rayCast -▸ **rayCast**(`point1`: Vec2, `point2`: Vec2, `callback`: [WorldRayCastCallback](../globals.md#worldraycastcallback)): *void* +▸ **rayCast**(`point1`: Vec2, `point2`: Vec2, `callback`: [WorldRayCastCallback](/api/globals#worldraycastcallback)): *void* Ray-cast the world for all fixtures in the path of the ray. Your callback controls whether you get the closest point, any point, or n-points. The @@ -774,7 +776,7 @@ Name | Type | Description | ------ | ------ | ------ | `point1` | Vec2 | The ray starting point | `point2` | Vec2 | The ray ending point | -`callback` | [WorldRayCastCallback](../globals.md#worldraycastcallback) | A function that is called for each fixture that is hit by the ray. You control how the ray cast proceeds by returning a numeric/float value. | +`callback` | [WorldRayCastCallback](/api/globals#worldraycastcallback) | A function that is called for each fixture that is hit by the ray. You control how the ray cast proceeds by returning a numeric/float value. | **Returns:** *void* @@ -830,7 +832,7 @@ ___ ### setGravity -▸ **setGravity**(`gravity`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **setGravity**(`gravity`: [Vec2Value](/api/interfaces/vec2value)): *void* Change the global gravity vector. @@ -838,7 +840,7 @@ Change the global gravity vector. Name | Type | ------ | ------ | -`gravity` | [Vec2Value](../interfaces/vec2value.md) | +`gravity` | [Vec2Value](/api/interfaces/vec2value) | **Returns:** *void* @@ -878,7 +880,7 @@ ___ ### shiftOrigin -▸ **shiftOrigin**(`newOrigin`: [Vec2Value](../interfaces/vec2value.md)): *void* +▸ **shiftOrigin**(`newOrigin`: [Vec2Value](/api/interfaces/vec2value)): *void* Shift the world origin. Useful for large worlds. The body shift formula is: position -= newOrigin @@ -887,7 +889,7 @@ position -= newOrigin Name | Type | Description | ------ | ------ | ------ | -`newOrigin` | [Vec2Value](../interfaces/vec2value.md) | The new origin with respect to the old origin | +`newOrigin` | [Vec2Value](/api/interfaces/vec2value) | The new origin with respect to the old origin | **Returns:** *void* diff --git a/docs/api/classes/worldmanifold.md b/docs/pages/api/classes/worldmanifold.md similarity index 54% rename from docs/api/classes/worldmanifold.md rename to docs/pages/api/classes/worldmanifold.md index 72c799ba..cf96e6c6 100644 --- a/docs/api/classes/worldmanifold.md +++ b/docs/pages/api/classes/worldmanifold.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WorldManifold](worldmanifold.md) +--- +showOutline: false +--- # Class: WorldManifold @@ -12,20 +14,20 @@ This is used to compute the current state of a contact manifold. ### Properties -* [normal](worldmanifold.md#normal) -* [pointCount](worldmanifold.md#pointcount) -* [points](worldmanifold.md#points) -* [separations](worldmanifold.md#separations) +* [normal](/api/classes/worldmanifold#normal) +* [pointCount](/api/classes/worldmanifold#pointcount) +* [points](/api/classes/worldmanifold#points) +* [separations](/api/classes/worldmanifold#separations) ### Methods -* [recycle](worldmanifold.md#recycle) +* [recycle](/api/classes/worldmanifold#recycle) ## Properties ### normal -• **normal**: *[Vec2Value](../interfaces/vec2value.md)* = matrix.vec2(0, 0) +• **normal**: *[Vec2Value](/api/interfaces/vec2value)* = matrix.vec2(0, 0) World vector pointing from A to B @@ -41,7 +43,7 @@ ___ ### points -• **points**: *[Vec2Value](../interfaces/vec2value.md)[]* = [matrix.vec2(0, 0), matrix.vec2(0, 0)] +• **points**: *[Vec2Value](/api/interfaces/vec2value)[]* = [matrix.vec2(0, 0), matrix.vec2(0, 0)] World contact point (point of intersection) diff --git a/docs/pages/api/enums/contactfeaturetype.md b/docs/pages/api/enums/contactfeaturetype.md new file mode 100644 index 00000000..70f2be91 --- /dev/null +++ b/docs/pages/api/enums/contactfeaturetype.md @@ -0,0 +1,31 @@ +--- +showOutline: false +--- + +# Enumeration: ContactFeatureType + +## Index + +### Enumeration members + +* [e_face](/api/enums/contactfeaturetype#e_face) +* [e_unset](/api/enums/contactfeaturetype#e_unset) +* [e_vertex](/api/enums/contactfeaturetype#e_vertex) + +## Enumeration members + +### e_face + +• **e_face**: = 1 + +___ + +### e_unset + +• **e_unset**: = -1 + +___ + +### e_vertex + +• **e_vertex**: = 0 diff --git a/docs/api/enums/manifoldtype.md b/docs/pages/api/enums/manifoldtype.md similarity index 50% rename from docs/api/enums/manifoldtype.md rename to docs/pages/api/enums/manifoldtype.md index fd510024..e90a9c0d 100644 --- a/docs/api/enums/manifoldtype.md +++ b/docs/pages/api/enums/manifoldtype.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [ManifoldType](manifoldtype.md) +--- +showOutline: false +--- # Enumeration: ManifoldType @@ -6,10 +8,10 @@ ### Enumeration members -* [e_circles](manifoldtype.md#e_circles) -* [e_faceA](manifoldtype.md#e_facea) -* [e_faceB](manifoldtype.md#e_faceb) -* [e_unset](manifoldtype.md#e_unset) +* [e_circles](/api/enums/manifoldtype#e_circles) +* [e_faceA](/api/enums/manifoldtype#e_facea) +* [e_faceB](/api/enums/manifoldtype#e_faceb) +* [e_unset](/api/enums/manifoldtype#e_unset) ## Enumeration members diff --git a/docs/api/enums/pointstate.md b/docs/pages/api/enums/pointstate.md similarity index 63% rename from docs/api/enums/pointstate.md rename to docs/pages/api/enums/pointstate.md index d60d5496..ee4d811f 100644 --- a/docs/api/enums/pointstate.md +++ b/docs/pages/api/enums/pointstate.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PointState](pointstate.md) +--- +showOutline: false +--- # Enumeration: PointState @@ -8,10 +10,10 @@ This is used for determining the state of contact points. ### Enumeration members -* [addState](pointstate.md#addstate) -* [nullState](pointstate.md#nullstate) -* [persistState](pointstate.md#persiststate) -* [removeState](pointstate.md#removestate) +* [addState](/api/enums/pointstate#addstate) +* [nullState](/api/enums/pointstate#nullstate) +* [persistState](/api/enums/pointstate#persiststate) +* [removeState](/api/enums/pointstate#removestate) ## Enumeration members diff --git a/docs/pages/api/enums/separationfunctiontype.md b/docs/pages/api/enums/separationfunctiontype.md new file mode 100644 index 00000000..8fca76ff --- /dev/null +++ b/docs/pages/api/enums/separationfunctiontype.md @@ -0,0 +1,38 @@ +--- +showOutline: false +--- + +# Enumeration: SeparationFunctionType + +## Index + +### Enumeration members + +* [e_faceA](/api/enums/separationfunctiontype#e_facea) +* [e_faceB](/api/enums/separationfunctiontype#e_faceb) +* [e_points](/api/enums/separationfunctiontype#e_points) +* [e_unset](/api/enums/separationfunctiontype#e_unset) + +## Enumeration members + +### e_faceA + +• **e_faceA**: = 2 + +___ + +### e_faceB + +• **e_faceB**: = 3 + +___ + +### e_points + +• **e_points**: = 1 + +___ + +### e_unset + +• **e_unset**: = -1 diff --git a/docs/pages/api/enums/toioutputstate.md b/docs/pages/api/enums/toioutputstate.md new file mode 100644 index 00000000..bbcdd006 --- /dev/null +++ b/docs/pages/api/enums/toioutputstate.md @@ -0,0 +1,52 @@ +--- +showOutline: false +--- + +# Enumeration: TOIOutputState + +## Index + +### Enumeration members + +* [e_failed](/api/enums/toioutputstate#e_failed) +* [e_overlapped](/api/enums/toioutputstate#e_overlapped) +* [e_separated](/api/enums/toioutputstate#e_separated) +* [e_touching](/api/enums/toioutputstate#e_touching) +* [e_unknown](/api/enums/toioutputstate#e_unknown) +* [e_unset](/api/enums/toioutputstate#e_unset) + +## Enumeration members + +### e_failed + +• **e_failed**: = 1 + +___ + +### e_overlapped + +• **e_overlapped**: = 2 + +___ + +### e_separated + +• **e_separated**: = 4 + +___ + +### e_touching + +• **e_touching**: = 3 + +___ + +### e_unknown + +• **e_unknown**: = 0 + +___ + +### e_unset + +• **e_unset**: = -1 diff --git a/docs/pages/api/globals.md b/docs/pages/api/globals.md new file mode 100644 index 00000000..f6044b44 --- /dev/null +++ b/docs/pages/api/globals.md @@ -0,0 +1,914 @@ +--- +showOutline: false +--- + +# API Reference + +## Index + +### Enumerations + +* [ContactFeatureType](/api/enums/contactfeaturetype) +* [ManifoldType](/api/enums/manifoldtype) +* [PointState](/api/enums/pointstate) +* [SeparationFunctionType](/api/enums/separationfunctiontype) +* [TOIOutputState](/api/enums/toioutputstate) + +### Classes + +* [AABB](/api/classes/aabb) +* [Body](/api/classes/body) +* [BoxShape](/api/classes/boxshape) +* [BroadPhase](/api/classes/broadphase) +* [ChainShape](/api/classes/chainshape) +* [CircleShape](/api/classes/circleshape) +* [ClipVertex](/api/classes/clipvertex) +* [Contact](/api/classes/contact) +* [ContactEdge](/api/classes/contactedge) +* [ContactID](/api/classes/contactid) +* [ContactImpulse](/api/classes/contactimpulse) +* [DistanceInput](/api/classes/distanceinput) +* [DistanceJoint](/api/classes/distancejoint) +* [DistanceOutput](/api/classes/distanceoutput) +* [DistanceProxy](/api/classes/distanceproxy) +* [DynamicTree](/api/classes/dynamictree) +* [EdgeShape](/api/classes/edgeshape) +* [Fixture](/api/classes/fixture) +* [FixtureProxy](/api/classes/fixtureproxy) +* [FrictionJoint](/api/classes/frictionjoint) +* [GearJoint](/api/classes/gearjoint) +* [Joint](/api/classes/joint) +* [JointEdge](/api/classes/jointedge) +* [Manifold](/api/classes/manifold) +* [ManifoldPoint](/api/classes/manifoldpoint) +* [Mat22](/api/classes/mat22) +* [Mat33](/api/classes/mat33) +* [MotorJoint](/api/classes/motorjoint) +* [MouseJoint](/api/classes/mousejoint) +* [PolygonShape](/api/classes/polygonshape) +* [Position](/api/classes/position) +* [PrismaticJoint](/api/classes/prismaticjoint) +* [PulleyJoint](/api/classes/pulleyjoint) +* [RevoluteJoint](/api/classes/revolutejoint) +* [RopeJoint](/api/classes/ropejoint) +* [Rot](/api/classes/rot) +* [SeparationFunction](/api/classes/separationfunction) +* [Settings](/api/classes/settings) +* [Shape](/api/classes/shape) +* [ShapeCastInput](/api/classes/shapecastinput) +* [ShapeCastOutput](/api/classes/shapecastoutput) +* [Simplex](/api/classes/simplex) +* [SimplexCache](/api/classes/simplexcache) +* [SimplexVertex](/api/classes/simplexvertex) +* [Solver](/api/classes/solver) +* [Sweep](/api/classes/sweep) +* [TOIInput](/api/classes/toiinput) +* [TOIOutput](/api/classes/toioutput) +* [Testbed](/api/classes/testbed) +* [TimeStep](/api/classes/timestep) +* [Transform](/api/classes/transform) +* [TreeNode](/api/classes/treenode) +* [Vec2](/api/classes/vec2) +* [Vec3](/api/classes/vec3) +* [Velocity](/api/classes/velocity) +* [VelocityConstraintPoint](/api/classes/velocityconstraintpoint) +* [WeldJoint](/api/classes/weldjoint) +* [WheelJoint](/api/classes/wheeljoint) +* [World](/api/classes/world) +* [WorldManifold](/api/classes/worldmanifold) + +### Interfaces + +* [AABBValue](/api/interfaces/aabbvalue) +* [BodyDef](/api/interfaces/bodydef) +* [DistanceJointDef](/api/interfaces/distancejointdef) +* [DistanceJointOpt](/api/interfaces/distancejointopt) +* [FixtureDef](/api/interfaces/fixturedef) +* [FixtureOpt](/api/interfaces/fixtureopt) +* [FrictionJointDef](/api/interfaces/frictionjointdef) +* [FrictionJointOpt](/api/interfaces/frictionjointopt) +* [GearJointDef](/api/interfaces/gearjointdef) +* [GearJointOpt](/api/interfaces/gearjointopt) +* [JointDef](/api/interfaces/jointdef) +* [JointOpt](/api/interfaces/jointopt) +* [MassData](/api/interfaces/massdata) +* [MotorJointDef](/api/interfaces/motorjointdef) +* [MotorJointOpt](/api/interfaces/motorjointopt) +* [MouseJointDef](/api/interfaces/mousejointdef) +* [MouseJointOpt](/api/interfaces/mousejointopt) +* [PrismaticJointDef](/api/interfaces/prismaticjointdef) +* [PrismaticJointOpt](/api/interfaces/prismaticjointopt) +* [PulleyJointDef](/api/interfaces/pulleyjointdef) +* [PulleyJointOpt](/api/interfaces/pulleyjointopt) +* [RayCastInput](/api/interfaces/raycastinput) +* [RayCastOutput](/api/interfaces/raycastoutput) +* [RevoluteJointDef](/api/interfaces/revolutejointdef) +* [RevoluteJointOpt](/api/interfaces/revolutejointopt) +* [RopeJointDef](/api/interfaces/ropejointdef) +* [RopeJointOpt](/api/interfaces/ropejointopt) +* [RotValue](/api/interfaces/rotvalue) +* [Style](/api/interfaces/style) +* [Vec2Value](/api/interfaces/vec2value) +* [Vec3Value](/api/interfaces/vec3value) +* [WeldJointDef](/api/interfaces/weldjointdef) +* [WeldJointOpt](/api/interfaces/weldjointopt) +* [WheelJointDef](/api/interfaces/wheeljointdef) +* [WheelJointOpt](/api/interfaces/wheeljointopt) +* [WorldDef](/api/interfaces/worlddef) + +### Type aliases + +* [ActiveKeys](/api/globals#activekeys) +* [BodyType](/api/globals#bodytype) +* [DynamicTreeQueryCallback](/api/globals#dynamictreequerycallback) +* [EvaluateFunction](/api/globals#evaluatefunction) +* [KEY](/api/globals#key) +* [RayCastCallback](/api/globals#raycastcallback) +* [ShapeType](/api/globals#shapetype) +* [TestbedCallback](/api/globals#testbedcallback) +* [TestbedFactoryOptions](/api/globals#testbedfactoryoptions) +* [TestbedMountOptions](/api/globals#testbedmountoptions) +* [TransformValue](/api/globals#transformvalue) +* [WorldAABBQueryCallback](/api/globals#worldaabbquerycallback) +* [WorldRayCastCallback](/api/globals#worldraycastcallback) + +### Variables + +* [Box](/api/globals#const-box) +* [Chain](/api/globals#const-chain) +* [Circle](/api/globals#const-circle) +* [EPSILON](/api/globals#const-epsilon) +* [Edge](/api/globals#const-edge) +* [Polygon](/api/globals#const-polygon) +* [world](/api/globals#const-world) + +### Functions + +* [ChainCircleContact](/api/globals#chaincirclecontact) +* [CollideCircles](/api/globals#const-collidecircles) +* [CollideEdgeCircle](/api/globals#const-collideedgecircle) +* [CollideEdgePolygon](/api/globals#const-collideedgepolygon) +* [CollidePolygonCircle](/api/globals#const-collidepolygoncircle) +* [CollidePolygons](/api/globals#const-collidepolygons) +* [Distance](/api/globals#const-distance) +* [ShapeCast](/api/globals#const-shapecast) +* [TimeOfImpact](/api/globals#const-timeofimpact) +* [clamp](/api/globals#clamp) +* [clipSegmentToLine](/api/globals#clipsegmenttoline) +* [getPointStates](/api/globals#getpointstates) +* [getTransform](/api/globals#gettransform) +* [isPowerOfTwo](/api/globals#ispoweroftwo) +* [mixFriction](/api/globals#mixfriction) +* [mixRestitution](/api/globals#mixrestitution) +* [mod](/api/globals#mod) +* [nextPowerOfTwo](/api/globals#nextpoweroftwo) +* [random](/api/globals#random) +* [testOverlap](/api/globals#const-testoverlap) + +### Object literals + +* [internal](/api/globals#const-internal) +* [stats](/api/globals#const-stats) + +## Type aliases + +### ActiveKeys + +Ƭ **ActiveKeys**: *object* + +#### Type declaration: + +___ + +### BodyType + +Ƭ **BodyType**: *"static" | "kinematic" | "dynamic"* + +___ + +### DynamicTreeQueryCallback + +Ƭ **DynamicTreeQueryCallback**: *function* + +#### Type declaration: + +▸ (`nodeId`: number): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`nodeId` | number | + +___ + +### EvaluateFunction + +Ƭ **EvaluateFunction**: *function* + +#### Type declaration: + +▸ (`manifold`: [Manifold](/api/classes/manifold), `xfA`: [TransformValue](/api/globals#transformvalue), `fixtureA`: [Fixture](/api/classes/fixture), `indexA`: number, `xfB`: [TransformValue](/api/globals#transformvalue), `fixtureB`: [Fixture](/api/classes/fixture), `indexB`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`fixtureA` | [Fixture](/api/classes/fixture) | +`indexA` | number | +`xfB` | [TransformValue](/api/globals#transformvalue) | +`fixtureB` | [Fixture](/api/classes/fixture) | +`indexB` | number | + +___ + +### KEY + +Ƭ **KEY**: *"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "right" | "left" | "up" | "down" | "fire"* + +___ + +### RayCastCallback + +Ƭ **RayCastCallback**: *function* + +#### Type declaration: + +▸ (`subInput`: [RayCastInput](/api/interfaces/raycastinput), `id`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`subInput` | [RayCastInput](/api/interfaces/raycastinput) | +`id` | number | + +___ + +### ShapeType + +Ƭ **ShapeType**: *"circle" | "edge" | "polygon" | "chain"* + +___ + +### TestbedCallback + +Ƭ **TestbedCallback**: *function* + +**`deprecated`** + +#### Type declaration: + +▸ (`testbed`: Testbed): *World* + +**Parameters:** + +Name | Type | +------ | ------ | +`testbed` | Testbed | + +___ + +### TestbedFactoryOptions + +Ƭ **TestbedFactoryOptions**: *string | object* + +___ + +### TestbedMountOptions + +Ƭ **TestbedMountOptions**: *object* + +#### Type declaration: + +___ + +### TransformValue + +Ƭ **TransformValue**: *object* + +#### Type declaration: + +* **p**: *[Vec2Value](/api/interfaces/vec2value)* + +* **q**: *[RotValue](/api/interfaces/rotvalue)* + +___ + +### WorldAABBQueryCallback + +Ƭ **WorldAABBQueryCallback**: *function* + +Called for each fixture found in the query AABB. It may return `false` to terminate the query. + +#### Type declaration: + +▸ (`fixture`: [Fixture](/api/classes/fixture)): *boolean* + +**Parameters:** + +Name | Type | +------ | ------ | +`fixture` | [Fixture](/api/classes/fixture) | + +___ + +### WorldRayCastCallback + +Ƭ **WorldRayCastCallback**: *function* + +Callback function for ray casts, see [World.rayCast](classes/world#raycast). + +Called for each fixture found in the query. +The returned value replaces the ray-cast input maxFraction. +You control how the ray cast proceeds by returning a numeric/float value. + +- `0` to terminate the ray cast +- `fraction` to clip the ray cast at current point +- `1` don't clip the ray and continue +- `-1` (or anything else) to continue + +**`param`** The fixture hit by the ray + +**`param`** The point of initial intersection + +**`param`** The normal vector at the point of intersection + +**`param`** The fraction along the ray at the point of intersection + +**`returns`** A number to update the maxFraction + +#### Type declaration: + +▸ (`fixture`: [Fixture](/api/classes/fixture), `point`: Vec2, `normal`: Vec2, `fraction`: number): *number* + +**Parameters:** + +Name | Type | +------ | ------ | +`fixture` | [Fixture](/api/classes/fixture) | +`point` | Vec2 | +`normal` | Vec2 | +`fraction` | number | + +## Variables + +### `Const` Box + +• **Box**: *[BoxShape](/api/classes/boxshape)* = BoxShape + +___ + +### `Const` Chain + +• **Chain**: *[ChainShape](/api/classes/chainshape)* = ChainShape + +___ + +### `Const` Circle + +• **Circle**: *[CircleShape](/api/classes/circleshape)* = CircleShape + +___ + +### `Const` EPSILON + +• **EPSILON**: *1e-9* = 1e-9 + +___ + +### `Const` Edge + +• **Edge**: *[EdgeShape](/api/classes/edgeshape)* = EdgeShape + +___ + +### `Const` Polygon + +• **Polygon**: *[PolygonShape](/api/classes/polygonshape)* = PolygonShape + +___ + +### `Const` world + +• **world**: *World‹›* = new World() + +## Functions + +### ChainCircleContact + +▸ **ChainCircleContact**(`manifold`: [Manifold](/api/classes/manifold), `xfA`: [TransformValue](/api/globals#transformvalue), `fixtureA`: [Fixture](/api/classes/fixture), `indexA`: number, `xfB`: [TransformValue](/api/globals#transformvalue), `fixtureB`: [Fixture](/api/classes/fixture), `indexB`: number): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`fixtureA` | [Fixture](/api/classes/fixture) | +`indexA` | number | +`xfB` | [TransformValue](/api/globals#transformvalue) | +`fixtureB` | [Fixture](/api/classes/fixture) | +`indexB` | number | + +**Returns:** *void* + +___ + +### `Const` CollideCircles + +▸ **CollideCircles**(`manifold`: [Manifold](/api/classes/manifold), `circleA`: [CircleShape](/api/classes/circleshape), `xfA`: [Transform](/api/classes/transform), `circleB`: [CircleShape](/api/classes/circleshape), `xfB`: [Transform](/api/classes/transform)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`circleA` | [CircleShape](/api/classes/circleshape) | +`xfA` | [Transform](/api/classes/transform) | +`circleB` | [CircleShape](/api/classes/circleshape) | +`xfB` | [Transform](/api/classes/transform) | + +**Returns:** *void* + +___ + +### `Const` CollideEdgeCircle + +▸ **CollideEdgeCircle**(`manifold`: [Manifold](/api/classes/manifold), `edgeA`: [EdgeShape](/api/classes/edgeshape), `xfA`: [TransformValue](/api/globals#transformvalue), `circleB`: [CircleShape](/api/classes/circleshape), `xfB`: [TransformValue](/api/globals#transformvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`edgeA` | [EdgeShape](/api/classes/edgeshape) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`circleB` | [CircleShape](/api/classes/circleshape) | +`xfB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### `Const` CollideEdgePolygon + +▸ **CollideEdgePolygon**(`manifold`: [Manifold](/api/classes/manifold), `edgeA`: [EdgeShape](/api/classes/edgeshape), `xfA`: [TransformValue](/api/globals#transformvalue), `polygonB`: [PolygonShape](/api/classes/polygonshape), `xfB`: [TransformValue](/api/globals#transformvalue)): *void* + +This function collides and edge and a polygon, taking into account edge +adjacency. + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`edgeA` | [EdgeShape](/api/classes/edgeshape) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`polygonB` | [PolygonShape](/api/classes/polygonshape) | +`xfB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### `Const` CollidePolygonCircle + +▸ **CollidePolygonCircle**(`manifold`: [Manifold](/api/classes/manifold), `polygonA`: [PolygonShape](/api/classes/polygonshape), `xfA`: [TransformValue](/api/globals#transformvalue), `circleB`: [CircleShape](/api/classes/circleshape), `xfB`: [TransformValue](/api/globals#transformvalue)): *void* + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`polygonA` | [PolygonShape](/api/classes/polygonshape) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`circleB` | [CircleShape](/api/classes/circleshape) | +`xfB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### `Const` CollidePolygons + +▸ **CollidePolygons**(`manifold`: [Manifold](/api/classes/manifold), `polyA`: [PolygonShape](/api/classes/polygonshape), `xfA`: [TransformValue](/api/globals#transformvalue), `polyB`: [PolygonShape](/api/classes/polygonshape), `xfB`: [TransformValue](/api/globals#transformvalue)): *void* + +Find edge normal of max separation on A - return if separating axis is found
+Find edge normal of max separation on B - return if separation axis is found
+Choose reference edge as min(minA, minB)
+Find incident edge
+Clip + +The normal points from 1 to 2 + +**Parameters:** + +Name | Type | +------ | ------ | +`manifold` | [Manifold](/api/classes/manifold) | +`polyA` | [PolygonShape](/api/classes/polygonshape) | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`polyB` | [PolygonShape](/api/classes/polygonshape) | +`xfB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *void* + +___ + +### `Const` Distance + +▸ **Distance**(`output`: [DistanceOutput](/api/classes/distanceoutput), `cache`: [SimplexCache](/api/classes/simplexcache), `input`: [DistanceInput](/api/classes/distanceinput)): *void* + +Compute the closest points between two shapes. Supports any combination of: +CircleShape, PolygonShape, EdgeShape. The simplex cache is input/output. On +the first call set SimplexCache.count to zero. + +**Parameters:** + +Name | Type | +------ | ------ | +`output` | [DistanceOutput](/api/classes/distanceoutput) | +`cache` | [SimplexCache](/api/classes/simplexcache) | +`input` | [DistanceInput](/api/classes/distanceinput) | + +**Returns:** *void* + +___ + +### `Const` ShapeCast + +▸ **ShapeCast**(`output`: [ShapeCastOutput](/api/classes/shapecastoutput), `input`: [ShapeCastInput](/api/classes/shapecastinput)): *boolean* + +Perform a linear shape cast of shape B moving and shape A fixed. Determines +the hit point, normal, and translation fraction. + +**Parameters:** + +Name | Type | +------ | ------ | +`output` | [ShapeCastOutput](/api/classes/shapecastoutput) | +`input` | [ShapeCastInput](/api/classes/shapecastinput) | + +**Returns:** *boolean* + +true if hit, false if there is no hit or an initial overlap + +___ + +### `Const` TimeOfImpact + +▸ **TimeOfImpact**(`output`: [TOIOutput](/api/classes/toioutput), `input`: [TOIInput](/api/classes/toiinput)): *void* + +Compute the upper bound on time before two shapes penetrate. Time is +represented as a fraction between [0,tMax]. This uses a swept separating axis +and may miss some intermediate, non-tunneling collisions. If you change the +time interval, you should call this function again. + +Note: use Distance to compute the contact point and normal at the time of +impact. + +CCD via the local separating axis method. This seeks progression by computing +the largest time at which separation is maintained. + +**Parameters:** + +Name | Type | +------ | ------ | +`output` | [TOIOutput](/api/classes/toioutput) | +`input` | [TOIInput](/api/classes/toiinput) | + +**Returns:** *void* + +___ + +### clamp + +▸ **clamp**(`num`: number, `min`: number, `max`: number): *number* + +**`deprecated`** +Returns a min if num is less than min, and max if more than max, otherwise returns num. + +**Parameters:** + +Name | Type | +------ | ------ | +`num` | number | +`min` | number | +`max` | number | + +**Returns:** *number* + +___ + +### clipSegmentToLine + +▸ **clipSegmentToLine**(`vOut`: [ClipVertex](/api/classes/clipvertex)[], `vIn`: [ClipVertex](/api/classes/clipvertex)[], `normal`: [Vec2Value](/api/interfaces/vec2value), `offset`: number, `vertexIndexA`: number): *number* + +Clipping for contact manifolds. Sutherland-Hodgman clipping. + +**Parameters:** + +Name | Type | +------ | ------ | +`vOut` | [ClipVertex](/api/classes/clipvertex)[] | +`vIn` | [ClipVertex](/api/classes/clipvertex)[] | +`normal` | [Vec2Value](/api/interfaces/vec2value) | +`offset` | number | +`vertexIndexA` | number | + +**Returns:** *number* + +___ + +### getPointStates + +▸ **getPointStates**(`state1`: [PointState](/api/enums/pointstate)[], `state2`: [PointState](/api/enums/pointstate)[], `manifold1`: [Manifold](/api/classes/manifold), `manifold2`: [Manifold](/api/classes/manifold)): *void* + +Compute the point states given two manifolds. The states pertain to the +transition from manifold1 to manifold2. So state1 is either persist or remove +while state2 is either add or persist. + +**Parameters:** + +Name | Type | +------ | ------ | +`state1` | [PointState](/api/enums/pointstate)[] | +`state2` | [PointState](/api/enums/pointstate)[] | +`manifold1` | [Manifold](/api/classes/manifold) | +`manifold2` | [Manifold](/api/classes/manifold) | + +**Returns:** *void* + +___ + +### getTransform + +▸ **getTransform**(`xf`: [TransformValue](/api/globals#transformvalue), `p`: [Vec2Value](/api/interfaces/vec2value), `c`: [Vec2Value](/api/interfaces/vec2value), `a`: number): *[TransformValue](/api/globals#transformvalue)* + +**Parameters:** + +Name | Type | +------ | ------ | +`xf` | [TransformValue](/api/globals#transformvalue) | +`p` | [Vec2Value](/api/interfaces/vec2value) | +`c` | [Vec2Value](/api/interfaces/vec2value) | +`a` | number | + +**Returns:** *[TransformValue](/api/globals#transformvalue)* + +___ + +### isPowerOfTwo + +▸ **isPowerOfTwo**(`x`: number): *boolean* + +**`deprecated`** + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | + +**Returns:** *boolean* + +___ + +### mixFriction + +▸ **mixFriction**(`friction1`: number, `friction2`: number): *number* + +Friction mixing law. The idea is to allow either fixture to drive the +friction to zero. For example, anything slides on ice. + +**Parameters:** + +Name | Type | +------ | ------ | +`friction1` | number | +`friction2` | number | + +**Returns:** *number* + +___ + +### mixRestitution + +▸ **mixRestitution**(`restitution1`: number, `restitution2`: number): *number* + +Restitution mixing law. The idea is allow for anything to bounce off an +inelastic surface. For example, a superball bounces on anything. + +**Parameters:** + +Name | Type | +------ | ------ | +`restitution1` | number | +`restitution2` | number | + +**Returns:** *number* + +___ + +### mod + +▸ **mod**(`num`: number, `min?`: number, `max?`: number): *number* + +**`deprecated`** + +**Parameters:** + +Name | Type | +------ | ------ | +`num` | number | +`min?` | number | +`max?` | number | + +**Returns:** *number* + +___ + +### nextPowerOfTwo + +▸ **nextPowerOfTwo**(`x`: number): *number* + +**`deprecated`** +Next Largest Power of 2 Given a binary integer value x, the next largest +power of 2 can be computed by a SWAR algorithm that recursively "folds" the +upper bits into the lower bits. This process yields a bit vector with the +same most significant 1 as x, but all 1's below it. Adding 1 to that value +yields the next largest power of 2. For a 32-bit value: + +**Parameters:** + +Name | Type | +------ | ------ | +`x` | number | + +**Returns:** *number* + +___ + +### random + +▸ **random**(`min?`: number, `max?`: number): *number* + +**`deprecated`** +Returns a random number between min and max when two arguments are provided. +If one arg is provided between 0 to max. +If one arg is passed between 0 to 1. + +**Parameters:** + +Name | Type | +------ | ------ | +`min?` | number | +`max?` | number | + +**Returns:** *number* + +___ + +### `Const` testOverlap + +▸ **testOverlap**(`shapeA`: [Shape](/api/classes/shape), `indexA`: number, `shapeB`: [Shape](/api/classes/shape), `indexB`: number, `xfA`: [TransformValue](/api/globals#transformvalue), `xfB`: [TransformValue](/api/globals#transformvalue)): *boolean* + +Determine if two generic shapes overlap. + +**Parameters:** + +Name | Type | +------ | ------ | +`shapeA` | [Shape](/api/classes/shape) | +`indexA` | number | +`shapeB` | [Shape](/api/classes/shape) | +`indexB` | number | +`xfA` | [TransformValue](/api/globals#transformvalue) | +`xfB` | [TransformValue](/api/globals#transformvalue) | + +**Returns:** *boolean* + +## Object literals + +### `Const` internal + +### ▪ **internal**: *object* + +**`deprecated`** Merged with main namespace + +### CollidePolygons + +• **CollidePolygons**: *CollidePolygons* + +### Distance + +• **Distance**: *Distance* + +### DynamicTree + +• **DynamicTree**: *[DynamicTree](/api/classes/dynamictree)* + +### Manifold + +• **Manifold**: *[Manifold](/api/classes/manifold)* + +### Settings + +• **Settings**: *SettingsInternal* + +### Sweep + +• **Sweep**: *[Sweep](/api/classes/sweep)* + +### TimeOfImpact + +• **TimeOfImpact**: *TimeOfImpact* + +### stats + +• **stats**: *object* + +#### Type declaration: + +* **gjkCalls**: *number* = 0 + +* **gjkIters**: *number* = 0 + +* **gjkMaxIters**: *number* = 0 + +* **toiCalls**: *number* = 0 + +* **toiIters**: *number* = 0 + +* **toiMaxIters**: *number* = 0 + +* **toiMaxRootIters**: *number* = 0 + +* **toiMaxTime**: *number* = 0 + +* **toiRootIters**: *number* = 0 + +* **toiTime**: *number* = 0 + +* **toString**(`newline?`: string): *string* + +___ + +### `Const` stats + +### ▪ **stats**: *object* + +### gjkCalls + +• **gjkCalls**: *number* = 0 + +### gjkIters + +• **gjkIters**: *number* = 0 + +### gjkMaxIters + +• **gjkMaxIters**: *number* = 0 + +### toiCalls + +• **toiCalls**: *number* = 0 + +### toiIters + +• **toiIters**: *number* = 0 + +### toiMaxIters + +• **toiMaxIters**: *number* = 0 + +### toiMaxRootIters + +• **toiMaxRootIters**: *number* = 0 + +### toiMaxTime + +• **toiMaxTime**: *number* = 0 + +### toiRootIters + +• **toiRootIters**: *number* = 0 + +### toiTime + +• **toiTime**: *number* = 0 + +### toString + +▸ **toString**(`newline?`: string): *string* + +**Parameters:** + +Name | Type | +------ | ------ | +`newline?` | string | + +**Returns:** *string* diff --git a/docs/pages/api/index.md b/docs/pages/api/index.md new file mode 120000 index 00000000..0e7b5aa2 --- /dev/null +++ b/docs/pages/api/index.md @@ -0,0 +1 @@ +globals.md \ No newline at end of file diff --git a/docs/pages/api/interfaces/aabbvalue.md b/docs/pages/api/interfaces/aabbvalue.md new file mode 100644 index 00000000..49356d1b --- /dev/null +++ b/docs/pages/api/interfaces/aabbvalue.md @@ -0,0 +1,28 @@ +--- +showOutline: false +--- + +# Interface: AABBValue + +## Hierarchy + +* **AABBValue** + +## Index + +### Properties + +* [lowerBound](/api/interfaces/aabbvalue#lowerbound) +* [upperBound](/api/interfaces/aabbvalue#upperbound) + +## Properties + +### lowerBound + +• **lowerBound**: *[Vec2Value](/api/interfaces/vec2value)* + +___ + +### upperBound + +• **upperBound**: *[Vec2Value](/api/interfaces/vec2value)* diff --git a/docs/api/interfaces/bodydef.md b/docs/pages/api/interfaces/bodydef.md similarity index 68% rename from docs/api/interfaces/bodydef.md rename to docs/pages/api/interfaces/bodydef.md index 6cdb6073..e3d392f6 100644 --- a/docs/api/interfaces/bodydef.md +++ b/docs/pages/api/interfaces/bodydef.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [BodyDef](bodydef.md) +--- +showOutline: false +--- # Interface: BodyDef @@ -10,20 +12,20 @@ ### Properties -* [active](bodydef.md#optional-active) -* [allowSleep](bodydef.md#optional-allowsleep) -* [angle](bodydef.md#optional-angle) -* [angularDamping](bodydef.md#optional-angulardamping) -* [angularVelocity](bodydef.md#optional-angularvelocity) -* [awake](bodydef.md#optional-awake) -* [bullet](bodydef.md#optional-bullet) -* [fixedRotation](bodydef.md#optional-fixedrotation) -* [gravityScale](bodydef.md#optional-gravityscale) -* [linearDamping](bodydef.md#optional-lineardamping) -* [linearVelocity](bodydef.md#optional-linearvelocity) -* [position](bodydef.md#optional-position) -* [type](bodydef.md#optional-type) -* [userData](bodydef.md#optional-userdata) +* [active](/api/interfaces/bodydef#optional-active) +* [allowSleep](/api/interfaces/bodydef#optional-allowsleep) +* [angle](/api/interfaces/bodydef#optional-angle) +* [angularDamping](/api/interfaces/bodydef#optional-angulardamping) +* [angularVelocity](/api/interfaces/bodydef#optional-angularvelocity) +* [awake](/api/interfaces/bodydef#optional-awake) +* [bullet](/api/interfaces/bodydef#optional-bullet) +* [fixedRotation](/api/interfaces/bodydef#optional-fixedrotation) +* [gravityScale](/api/interfaces/bodydef#optional-gravityscale) +* [linearDamping](/api/interfaces/bodydef#optional-lineardamping) +* [linearVelocity](/api/interfaces/bodydef#optional-linearvelocity) +* [position](/api/interfaces/bodydef#optional-position) +* [type](/api/interfaces/bodydef#optional-type) +* [userData](/api/interfaces/bodydef#optional-userdata) ## Properties @@ -115,7 +117,7 @@ ___ ### `Optional` linearVelocity -• **linearVelocity**? : *[Vec2Value](vec2value.md)* +• **linearVelocity**? : *[Vec2Value](/api/interfaces/vec2value)* The linear velocity of the body's origin in world co-ordinates. @@ -123,7 +125,7 @@ ___ ### `Optional` position -• **position**? : *[Vec2Value](vec2value.md)* +• **position**? : *[Vec2Value](/api/interfaces/vec2value)* The world position of the body. Avoid creating bodies at the origin since this can lead to many overlapping shapes. @@ -132,7 +134,7 @@ ___ ### `Optional` type -• **type**? : *[BodyType](../globals.md#bodytype)* +• **type**? : *[BodyType](/api/globals#bodytype)* Body types are static, kinematic, or dynamic. Note: if a dynamic body would have zero mass, the mass is set to one. diff --git a/docs/pages/api/interfaces/distancejointdef.md b/docs/pages/api/interfaces/distancejointdef.md new file mode 100644 index 00000000..287ff256 --- /dev/null +++ b/docs/pages/api/interfaces/distancejointdef.md @@ -0,0 +1,124 @@ +--- +showOutline: false +--- + +# Interface: DistanceJointDef + +Distance joint definition. This requires defining an anchor point on both +bodies and the non-zero length of the distance joint. The definition uses +local anchor points so that the initial configuration can violate the +constraint slightly. This helps when saving and loading a game. Warning: Do +not use a zero or short length. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [DistanceJointOpt](/api/interfaces/distancejointopt) + + ↳ **DistanceJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/distancejointdef#bodya) +* [bodyB](/api/interfaces/distancejointdef#bodyb) +* [collideConnected](/api/interfaces/distancejointdef#optional-collideconnected) +* [dampingRatio](/api/interfaces/distancejointdef#optional-dampingratio) +* [frequencyHz](/api/interfaces/distancejointdef#optional-frequencyhz) +* [length](/api/interfaces/distancejointdef#optional-length) +* [localAnchorA](/api/interfaces/distancejointdef#localanchora) +* [localAnchorB](/api/interfaces/distancejointdef#localanchorb) +* [userData](/api/interfaces/distancejointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` dampingRatio + +• **dampingRatio**? : *number* + +*Inherited from [DistanceJointOpt](/api/interfaces/distancejointopt).[dampingRatio](/api/interfaces/distancejointopt#optional-dampingratio)* + +The damping ratio. 0 = no damping, 1 = critical damping. + +___ + +### `Optional` frequencyHz + +• **frequencyHz**? : *number* + +*Inherited from [DistanceJointOpt](/api/interfaces/distancejointopt).[frequencyHz](/api/interfaces/distancejointopt#optional-frequencyhz)* + +The mass-spring-damper frequency in Hertz. A value of 0 disables softness. + +___ + +### `Optional` length + +• **length**? : *number* + +*Inherited from [DistanceJointOpt](/api/interfaces/distancejointopt).[length](/api/interfaces/distancejointopt#optional-length)* + +Distance length. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/distancejointopt.md b/docs/pages/api/interfaces/distancejointopt.md similarity index 59% rename from docs/api/interfaces/distancejointopt.md rename to docs/pages/api/interfaces/distancejointopt.md index 3be3664c..018af3df 100644 --- a/docs/api/interfaces/distancejointopt.md +++ b/docs/pages/api/interfaces/distancejointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [DistanceJointOpt](distancejointopt.md) +--- +showOutline: false +--- # Interface: DistanceJointOpt @@ -10,21 +12,21 @@ not use a zero or short length. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **DistanceJointOpt** - ↳ [DistanceJointDef](distancejointdef.md) + ↳ [DistanceJointDef](/api/interfaces/distancejointdef) ## Index ### Properties -* [collideConnected](distancejointopt.md#optional-collideconnected) -* [dampingRatio](distancejointopt.md#optional-dampingratio) -* [frequencyHz](distancejointopt.md#optional-frequencyhz) -* [length](distancejointopt.md#optional-length) -* [userData](distancejointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/distancejointopt#optional-collideconnected) +* [dampingRatio](/api/interfaces/distancejointopt#optional-dampingratio) +* [frequencyHz](/api/interfaces/distancejointopt#optional-frequencyhz) +* [length](/api/interfaces/distancejointopt#optional-length) +* [userData](/api/interfaces/distancejointopt#optional-userdata) ## Properties @@ -32,7 +34,7 @@ not use a zero or short length. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -67,6 +69,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/fixturedef.md b/docs/pages/api/interfaces/fixturedef.md new file mode 100644 index 00000000..6d8badd7 --- /dev/null +++ b/docs/pages/api/interfaces/fixturedef.md @@ -0,0 +1,111 @@ +--- +showOutline: false +--- + +# Interface: FixtureDef + +## Hierarchy + +* [FixtureOpt](/api/interfaces/fixtureopt) + + ↳ **FixtureDef** + +## Index + +### Properties + +* [density](/api/interfaces/fixturedef#optional-density) +* [filterCategoryBits](/api/interfaces/fixturedef#optional-filtercategorybits) +* [filterGroupIndex](/api/interfaces/fixturedef#optional-filtergroupindex) +* [filterMaskBits](/api/interfaces/fixturedef#optional-filtermaskbits) +* [friction](/api/interfaces/fixturedef#optional-friction) +* [isSensor](/api/interfaces/fixturedef#optional-issensor) +* [restitution](/api/interfaces/fixturedef#optional-restitution) +* [shape](/api/interfaces/fixturedef#shape) +* [userData](/api/interfaces/fixturedef#optional-userdata) + +## Properties + +### `Optional` density + +• **density**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[density](/api/interfaces/fixtureopt#optional-density)* + +The density, usually in kg/m^2 + +___ + +### `Optional` filterCategoryBits + +• **filterCategoryBits**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[filterCategoryBits](/api/interfaces/fixtureopt#optional-filtercategorybits)* + +Collision category bit or bits that this fixture belongs to. +If groupIndex is zero or not matching, then at least one bit in this fixture categoryBits should match other fixture maskBits and vice versa. + +___ + +### `Optional` filterGroupIndex + +• **filterGroupIndex**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[filterGroupIndex](/api/interfaces/fixtureopt#optional-filtergroupindex)* + +Zero, positive or negative collision group. +Fixtures with same positive groupIndex always collide and fixtures with same negative groupIndex never collide. + +___ + +### `Optional` filterMaskBits + +• **filterMaskBits**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[filterMaskBits](/api/interfaces/fixtureopt#optional-filtermaskbits)* + +Collision category bit or bits that this fixture accept for collision. + +___ + +### `Optional` friction + +• **friction**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[friction](/api/interfaces/fixtureopt#optional-friction)* + +The friction coefficient, usually in the range [0,1] + +___ + +### `Optional` isSensor + +• **isSensor**? : *boolean* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[isSensor](/api/interfaces/fixtureopt#optional-issensor)* + +A sensor shape collects contact information but never generates a collision response. + +___ + +### `Optional` restitution + +• **restitution**? : *number* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[restitution](/api/interfaces/fixtureopt#optional-restitution)* + +The restitution (elasticity) usually in the range [0,1] + +___ + +### shape + +• **shape**: *[Shape](/api/classes/shape)* + +___ + +### `Optional` userData + +• **userData**? : *unknown* + +*Inherited from [FixtureOpt](/api/interfaces/fixtureopt).[userData](/api/interfaces/fixtureopt#optional-userdata)* diff --git a/docs/api/interfaces/fixtureopt.md b/docs/pages/api/interfaces/fixtureopt.md similarity index 70% rename from docs/api/interfaces/fixtureopt.md rename to docs/pages/api/interfaces/fixtureopt.md index 7e16906c..98aa8f5f 100644 --- a/docs/api/interfaces/fixtureopt.md +++ b/docs/pages/api/interfaces/fixtureopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [FixtureOpt](fixtureopt.md) +--- +showOutline: false +--- # Interface: FixtureOpt @@ -9,20 +11,20 @@ abstract fixture definition. You can reuse fixture definitions safely. * **FixtureOpt** - ↳ [FixtureDef](fixturedef.md) + ↳ [FixtureDef](/api/interfaces/fixturedef) ## Index ### Properties -* [density](fixtureopt.md#optional-density) -* [filterCategoryBits](fixtureopt.md#optional-filtercategorybits) -* [filterGroupIndex](fixtureopt.md#optional-filtergroupindex) -* [filterMaskBits](fixtureopt.md#optional-filtermaskbits) -* [friction](fixtureopt.md#optional-friction) -* [isSensor](fixtureopt.md#optional-issensor) -* [restitution](fixtureopt.md#optional-restitution) -* [userData](fixtureopt.md#optional-userdata) +* [density](/api/interfaces/fixtureopt#optional-density) +* [filterCategoryBits](/api/interfaces/fixtureopt#optional-filtercategorybits) +* [filterGroupIndex](/api/interfaces/fixtureopt#optional-filtergroupindex) +* [filterMaskBits](/api/interfaces/fixtureopt#optional-filtermaskbits) +* [friction](/api/interfaces/fixtureopt#optional-friction) +* [isSensor](/api/interfaces/fixtureopt#optional-issensor) +* [restitution](/api/interfaces/fixtureopt#optional-restitution) +* [userData](/api/interfaces/fixtureopt#optional-userdata) ## Properties diff --git a/docs/pages/api/interfaces/frictionjointdef.md b/docs/pages/api/interfaces/frictionjointdef.md new file mode 100644 index 00000000..df9f4f26 --- /dev/null +++ b/docs/pages/api/interfaces/frictionjointdef.md @@ -0,0 +1,109 @@ +--- +showOutline: false +--- + +# Interface: FrictionJointDef + +Friction joint definition. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [FrictionJointOpt](/api/interfaces/frictionjointopt) + + ↳ **FrictionJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/frictionjointdef#bodya) +* [bodyB](/api/interfaces/frictionjointdef#bodyb) +* [collideConnected](/api/interfaces/frictionjointdef#optional-collideconnected) +* [localAnchorA](/api/interfaces/frictionjointdef#localanchora) +* [localAnchorB](/api/interfaces/frictionjointdef#localanchorb) +* [maxForce](/api/interfaces/frictionjointdef#optional-maxforce) +* [maxTorque](/api/interfaces/frictionjointdef#optional-maxtorque) +* [userData](/api/interfaces/frictionjointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### `Optional` maxForce + +• **maxForce**? : *number* + +*Inherited from [FrictionJointOpt](/api/interfaces/frictionjointopt).[maxForce](/api/interfaces/frictionjointopt#optional-maxforce)* + +The maximum friction force in N. + +___ + +### `Optional` maxTorque + +• **maxTorque**? : *number* + +*Inherited from [FrictionJointOpt](/api/interfaces/frictionjointopt).[maxTorque](/api/interfaces/frictionjointopt#optional-maxtorque)* + +The maximum friction torque in N-m. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/frictionjointopt.md b/docs/pages/api/interfaces/frictionjointopt.md new file mode 100644 index 00000000..fdad1b1f --- /dev/null +++ b/docs/pages/api/interfaces/frictionjointopt.md @@ -0,0 +1,61 @@ +--- +showOutline: false +--- + +# Interface: FrictionJointOpt + +Friction joint definition. + +## Hierarchy + +* [JointOpt](/api/interfaces/jointopt) + + ↳ **FrictionJointOpt** + + ↳ [FrictionJointDef](/api/interfaces/frictionjointdef) + +## Index + +### Properties + +* [collideConnected](/api/interfaces/frictionjointopt#optional-collideconnected) +* [maxForce](/api/interfaces/frictionjointopt#optional-maxforce) +* [maxTorque](/api/interfaces/frictionjointopt#optional-maxtorque) +* [userData](/api/interfaces/frictionjointopt#optional-userdata) + +## Properties + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` maxForce + +• **maxForce**? : *number* + +The maximum friction force in N. + +___ + +### `Optional` maxTorque + +• **maxTorque**? : *number* + +The maximum friction torque in N-m. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/gearjointdef.md b/docs/pages/api/interfaces/gearjointdef.md new file mode 100644 index 00000000..7885073b --- /dev/null +++ b/docs/pages/api/interfaces/gearjointdef.md @@ -0,0 +1,98 @@ +--- +showOutline: false +--- + +# Interface: GearJointDef + +Gear joint definition. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [GearJointOpt](/api/interfaces/gearjointopt) + + ↳ **GearJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/gearjointdef#bodya) +* [bodyB](/api/interfaces/gearjointdef#bodyb) +* [collideConnected](/api/interfaces/gearjointdef#optional-collideconnected) +* [joint1](/api/interfaces/gearjointdef#joint1) +* [joint2](/api/interfaces/gearjointdef#joint2) +* [ratio](/api/interfaces/gearjointdef#optional-ratio) +* [userData](/api/interfaces/gearjointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### joint1 + +• **joint1**: *[RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint)* + +The first revolute/prismatic joint attached to the gear joint. + +___ + +### joint2 + +• **joint2**: *[RevoluteJoint](/api/classes/revolutejoint) | [PrismaticJoint](/api/classes/prismaticjoint)* + +The second prismatic/revolute joint attached to the gear joint. + +___ + +### `Optional` ratio + +• **ratio**? : *number* + +*Inherited from [GearJointOpt](/api/interfaces/gearjointopt).[ratio](/api/interfaces/gearjointopt#optional-ratio)* + +The gear ratio. See [GearJoint](../classes/gearjoint) for explanation. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/gearjointopt.md b/docs/pages/api/interfaces/gearjointopt.md new file mode 100644 index 00000000..e34e6fa8 --- /dev/null +++ b/docs/pages/api/interfaces/gearjointopt.md @@ -0,0 +1,52 @@ +--- +showOutline: false +--- + +# Interface: GearJointOpt + +Gear joint definition. + +## Hierarchy + +* [JointOpt](/api/interfaces/jointopt) + + ↳ **GearJointOpt** + + ↳ [GearJointDef](/api/interfaces/gearjointdef) + +## Index + +### Properties + +* [collideConnected](/api/interfaces/gearjointopt#optional-collideconnected) +* [ratio](/api/interfaces/gearjointopt#optional-ratio) +* [userData](/api/interfaces/gearjointopt#optional-userdata) + +## Properties + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` ratio + +• **ratio**? : *number* + +The gear ratio. See [GearJoint](../classes/gearjoint) for explanation. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/jointdef.md b/docs/pages/api/interfaces/jointdef.md new file mode 100644 index 00000000..35656d90 --- /dev/null +++ b/docs/pages/api/interfaces/jointdef.md @@ -0,0 +1,81 @@ +--- +showOutline: false +--- + +# Interface: JointDef + +Joint definitions are used to construct joints. + +## Hierarchy + +* [JointOpt](/api/interfaces/jointopt) + + ↳ **JointDef** + + ↳ [DistanceJointDef](/api/interfaces/distancejointdef) + + ↳ [FrictionJointDef](/api/interfaces/frictionjointdef) + + ↳ [RevoluteJointDef](/api/interfaces/revolutejointdef) + + ↳ [PrismaticJointDef](/api/interfaces/prismaticjointdef) + + ↳ [GearJointDef](/api/interfaces/gearjointdef) + + ↳ [MotorJointDef](/api/interfaces/motorjointdef) + + ↳ [MouseJointDef](/api/interfaces/mousejointdef) + + ↳ [PulleyJointDef](/api/interfaces/pulleyjointdef) + + ↳ [RopeJointDef](/api/interfaces/ropejointdef) + + ↳ [WeldJointDef](/api/interfaces/weldjointdef) + + ↳ [WheelJointDef](/api/interfaces/wheeljointdef) + +## Index + +### Properties + +* [bodyA](/api/interfaces/jointdef#bodya) +* [bodyB](/api/interfaces/jointdef#bodyb) +* [collideConnected](/api/interfaces/jointdef#optional-collideconnected) +* [userData](/api/interfaces/jointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/jointopt.md b/docs/pages/api/interfaces/jointopt.md new file mode 100644 index 00000000..462c605e --- /dev/null +++ b/docs/pages/api/interfaces/jointopt.md @@ -0,0 +1,59 @@ +--- +showOutline: false +--- + +# Interface: JointOpt + +Joint definitions are used to construct joints. + +## Hierarchy + +* **JointOpt** + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [DistanceJointOpt](/api/interfaces/distancejointopt) + + ↳ [FrictionJointOpt](/api/interfaces/frictionjointopt) + + ↳ [RevoluteJointOpt](/api/interfaces/revolutejointopt) + + ↳ [PrismaticJointOpt](/api/interfaces/prismaticjointopt) + + ↳ [GearJointOpt](/api/interfaces/gearjointopt) + + ↳ [MotorJointOpt](/api/interfaces/motorjointopt) + + ↳ [MouseJointOpt](/api/interfaces/mousejointopt) + + ↳ [PulleyJointOpt](/api/interfaces/pulleyjointopt) + + ↳ [RopeJointOpt](/api/interfaces/ropejointopt) + + ↳ [WeldJointOpt](/api/interfaces/weldjointopt) + + ↳ [WheelJointOpt](/api/interfaces/wheeljointopt) + +## Index + +### Properties + +* [collideConnected](/api/interfaces/jointopt#optional-collideconnected) +* [userData](/api/interfaces/jointopt#optional-userdata) + +## Properties + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` userData + +• **userData**? : *any* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/massdata.md b/docs/pages/api/interfaces/massdata.md similarity index 66% rename from docs/api/interfaces/massdata.md rename to docs/pages/api/interfaces/massdata.md index 4095978b..e9c482c8 100644 --- a/docs/api/interfaces/massdata.md +++ b/docs/pages/api/interfaces/massdata.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MassData](massdata.md) +--- +showOutline: false +--- # Interface: MassData @@ -12,9 +14,9 @@ MassData This holds the mass data computed for a shape. ### Properties -* [I](massdata.md#i) -* [center](massdata.md#center) -* [mass](massdata.md#mass) +* [I](/api/interfaces/massdata#i) +* [center](/api/interfaces/massdata#center) +* [mass](/api/interfaces/massdata#mass) ## Properties @@ -28,7 +30,7 @@ ___ ### center -• **center**: *[Vec2Value](vec2value.md)* +• **center**: *[Vec2Value](/api/interfaces/vec2value)* The position of the shape's centroid relative to the shape's origin. diff --git a/docs/pages/api/interfaces/motorjointdef.md b/docs/pages/api/interfaces/motorjointdef.md new file mode 100644 index 00000000..2d1f11b2 --- /dev/null +++ b/docs/pages/api/interfaces/motorjointdef.md @@ -0,0 +1,124 @@ +--- +showOutline: false +--- + +# Interface: MotorJointDef + +Motor joint definition. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [MotorJointOpt](/api/interfaces/motorjointopt) + + ↳ **MotorJointDef** + +## Index + +### Properties + +* [angularOffset](/api/interfaces/motorjointdef#optional-angularoffset) +* [bodyA](/api/interfaces/motorjointdef#bodya) +* [bodyB](/api/interfaces/motorjointdef#bodyb) +* [collideConnected](/api/interfaces/motorjointdef#optional-collideconnected) +* [correctionFactor](/api/interfaces/motorjointdef#optional-correctionfactor) +* [linearOffset](/api/interfaces/motorjointdef#optional-linearoffset) +* [maxForce](/api/interfaces/motorjointdef#optional-maxforce) +* [maxTorque](/api/interfaces/motorjointdef#optional-maxtorque) +* [userData](/api/interfaces/motorjointdef#optional-userdata) + +## Properties + +### `Optional` angularOffset + +• **angularOffset**? : *number* + +*Inherited from [MotorJointOpt](/api/interfaces/motorjointopt).[angularOffset](/api/interfaces/motorjointopt#optional-angularoffset)* + +The bodyB angle minus bodyA angle in radians. + +___ + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` correctionFactor + +• **correctionFactor**? : *number* + +*Inherited from [MotorJointOpt](/api/interfaces/motorjointopt).[correctionFactor](/api/interfaces/motorjointopt#optional-correctionfactor)* + +Position correction factor in the range [0,1]. + +___ + +### `Optional` linearOffset + +• **linearOffset**? : *[Vec2Value](/api/interfaces/vec2value)* + +*Inherited from [MotorJointOpt](/api/interfaces/motorjointopt).[linearOffset](/api/interfaces/motorjointopt#optional-linearoffset)* + +Position of bodyB minus the position of bodyA, in bodyA's frame, in meters. + +___ + +### `Optional` maxForce + +• **maxForce**? : *number* + +*Inherited from [MotorJointOpt](/api/interfaces/motorjointopt).[maxForce](/api/interfaces/motorjointopt#optional-maxforce)* + +The maximum motor force in N. + +___ + +### `Optional` maxTorque + +• **maxTorque**? : *number* + +*Inherited from [MotorJointOpt](/api/interfaces/motorjointopt).[maxTorque](/api/interfaces/motorjointopt#optional-maxtorque)* + +The maximum motor torque in N-m. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/motorjointopt.md b/docs/pages/api/interfaces/motorjointopt.md similarity index 50% rename from docs/api/interfaces/motorjointopt.md rename to docs/pages/api/interfaces/motorjointopt.md index c6eb624a..3b23704a 100644 --- a/docs/api/interfaces/motorjointopt.md +++ b/docs/pages/api/interfaces/motorjointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MotorJointOpt](motorjointopt.md) +--- +showOutline: false +--- # Interface: MotorJointOpt @@ -6,23 +8,23 @@ Motor joint definition. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **MotorJointOpt** - ↳ [MotorJointDef](motorjointdef.md) + ↳ [MotorJointDef](/api/interfaces/motorjointdef) ## Index ### Properties -* [angularOffset](motorjointopt.md#optional-angularoffset) -* [collideConnected](motorjointopt.md#optional-collideconnected) -* [correctionFactor](motorjointopt.md#optional-correctionfactor) -* [linearOffset](motorjointopt.md#optional-linearoffset) -* [maxForce](motorjointopt.md#optional-maxforce) -* [maxTorque](motorjointopt.md#optional-maxtorque) -* [userData](motorjointopt.md#optional-userdata) +* [angularOffset](/api/interfaces/motorjointopt#optional-angularoffset) +* [collideConnected](/api/interfaces/motorjointopt#optional-collideconnected) +* [correctionFactor](/api/interfaces/motorjointopt#optional-correctionfactor) +* [linearOffset](/api/interfaces/motorjointopt#optional-linearoffset) +* [maxForce](/api/interfaces/motorjointopt#optional-maxforce) +* [maxTorque](/api/interfaces/motorjointopt#optional-maxtorque) +* [userData](/api/interfaces/motorjointopt#optional-userdata) ## Properties @@ -38,7 +40,7 @@ ___ • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -55,7 +57,7 @@ ___ ### `Optional` linearOffset -• **linearOffset**? : *[Vec2Value](vec2value.md)* +• **linearOffset**? : *[Vec2Value](/api/interfaces/vec2value)* Position of bodyB minus the position of bodyA, in bodyA's frame, in meters. @@ -81,6 +83,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/mousejointdef.md b/docs/pages/api/interfaces/mousejointdef.md new file mode 100644 index 00000000..3faa6ce8 --- /dev/null +++ b/docs/pages/api/interfaces/mousejointdef.md @@ -0,0 +1,116 @@ +--- +showOutline: false +--- + +# Interface: MouseJointDef + +Mouse joint definition. This requires a world target point, tuning +parameters, and the time step. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [MouseJointOpt](/api/interfaces/mousejointopt) + + ↳ **MouseJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/mousejointdef#bodya) +* [bodyB](/api/interfaces/mousejointdef#bodyb) +* [collideConnected](/api/interfaces/mousejointdef#optional-collideconnected) +* [dampingRatio](/api/interfaces/mousejointdef#optional-dampingratio) +* [frequencyHz](/api/interfaces/mousejointdef#optional-frequencyhz) +* [maxForce](/api/interfaces/mousejointdef#optional-maxforce) +* [target](/api/interfaces/mousejointdef#target) +* [userData](/api/interfaces/mousejointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` dampingRatio + +• **dampingRatio**? : *number* + +*Inherited from [MouseJointOpt](/api/interfaces/mousejointopt).[dampingRatio](/api/interfaces/mousejointopt#optional-dampingratio)* + +[dampingRatio = 0.7] The damping ratio. 0 = no damping, 1 = critical +damping. + +___ + +### `Optional` frequencyHz + +• **frequencyHz**? : *number* + +*Inherited from [MouseJointOpt](/api/interfaces/mousejointopt).[frequencyHz](/api/interfaces/mousejointopt#optional-frequencyhz)* + +[frequencyHz = 5.0] The response speed. + +___ + +### `Optional` maxForce + +• **maxForce**? : *number* + +*Inherited from [MouseJointOpt](/api/interfaces/mousejointopt).[maxForce](/api/interfaces/mousejointopt#optional-maxforce)* + +[maxForce = 0.0] The maximum constraint force that can be exerted to move +the candidate body. Usually you will express as some multiple of the +weight (multiplier * mass * gravity). + +___ + +### target + +• **target**: *[Vec2Value](/api/interfaces/vec2value)* + +The initial world target point. This is assumed to coincide with the body +anchor initially. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/mousejointopt.md b/docs/pages/api/interfaces/mousejointopt.md similarity index 58% rename from docs/api/interfaces/mousejointopt.md rename to docs/pages/api/interfaces/mousejointopt.md index a1f10a35..bde58b8e 100644 --- a/docs/api/interfaces/mousejointopt.md +++ b/docs/pages/api/interfaces/mousejointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [MouseJointOpt](mousejointopt.md) +--- +showOutline: false +--- # Interface: MouseJointOpt @@ -7,21 +9,21 @@ parameters, and the time step. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **MouseJointOpt** - ↳ [MouseJointDef](mousejointdef.md) + ↳ [MouseJointDef](/api/interfaces/mousejointdef) ## Index ### Properties -* [collideConnected](mousejointopt.md#optional-collideconnected) -* [dampingRatio](mousejointopt.md#optional-dampingratio) -* [frequencyHz](mousejointopt.md#optional-frequencyhz) -* [maxForce](mousejointopt.md#optional-maxforce) -* [userData](mousejointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/mousejointopt#optional-collideconnected) +* [dampingRatio](/api/interfaces/mousejointopt#optional-dampingratio) +* [frequencyHz](/api/interfaces/mousejointopt#optional-frequencyhz) +* [maxForce](/api/interfaces/mousejointopt#optional-maxforce) +* [userData](/api/interfaces/mousejointopt#optional-userdata) ## Properties @@ -29,7 +31,7 @@ parameters, and the time step. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -67,6 +69,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/prismaticjointdef.md b/docs/pages/api/interfaces/prismaticjointdef.md new file mode 100644 index 00000000..a9d9cf6b --- /dev/null +++ b/docs/pages/api/interfaces/prismaticjointdef.md @@ -0,0 +1,177 @@ +--- +showOutline: false +--- + +# Interface: PrismaticJointDef + +Prismatic joint definition. This requires defining a line of motion using an +axis and an anchor point. The definition uses local anchor points and a local +axis so that the initial configuration can violate the constraint slightly. +The joint translation is zero when the local anchor points coincide in world +space. Using local anchors and a local axis helps when saving and loading a +game. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [PrismaticJointOpt](/api/interfaces/prismaticjointopt) + + ↳ **PrismaticJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/prismaticjointdef#bodya) +* [bodyB](/api/interfaces/prismaticjointdef#bodyb) +* [collideConnected](/api/interfaces/prismaticjointdef#optional-collideconnected) +* [enableLimit](/api/interfaces/prismaticjointdef#optional-enablelimit) +* [enableMotor](/api/interfaces/prismaticjointdef#optional-enablemotor) +* [localAnchorA](/api/interfaces/prismaticjointdef#localanchora) +* [localAnchorB](/api/interfaces/prismaticjointdef#localanchorb) +* [localAxisA](/api/interfaces/prismaticjointdef#localaxisa) +* [lowerTranslation](/api/interfaces/prismaticjointdef#optional-lowertranslation) +* [maxMotorForce](/api/interfaces/prismaticjointdef#optional-maxmotorforce) +* [motorSpeed](/api/interfaces/prismaticjointdef#optional-motorspeed) +* [referenceAngle](/api/interfaces/prismaticjointdef#referenceangle) +* [upperTranslation](/api/interfaces/prismaticjointdef#optional-uppertranslation) +* [userData](/api/interfaces/prismaticjointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` enableLimit + +• **enableLimit**? : *boolean* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[enableLimit](/api/interfaces/prismaticjointopt#optional-enablelimit)* + +Enable/disable the joint limit. + +___ + +### `Optional` enableMotor + +• **enableMotor**? : *boolean* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[enableMotor](/api/interfaces/prismaticjointopt#optional-enablemotor)* + +Enable/disable the joint motor. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### localAxisA + +• **localAxisA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local translation unit axis in bodyA. + +___ + +### `Optional` lowerTranslation + +• **lowerTranslation**? : *number* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[lowerTranslation](/api/interfaces/prismaticjointopt#optional-lowertranslation)* + +The lower translation limit, usually in meters. + +___ + +### `Optional` maxMotorForce + +• **maxMotorForce**? : *number* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[maxMotorForce](/api/interfaces/prismaticjointopt#optional-maxmotorforce)* + +The maximum motor torque, usually in N-m. + +___ + +### `Optional` motorSpeed + +• **motorSpeed**? : *number* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[motorSpeed](/api/interfaces/prismaticjointopt#optional-motorspeed)* + +The desired motor speed in radians per second. + +___ + +### referenceAngle + +• **referenceAngle**: *number* + +referenceAngle The constrained angle between the bodies: +bodyB_angle - bodyA_angle. + +___ + +### `Optional` upperTranslation + +• **upperTranslation**? : *number* + +*Inherited from [PrismaticJointOpt](/api/interfaces/prismaticjointopt).[upperTranslation](/api/interfaces/prismaticjointopt#optional-uppertranslation)* + +The upper translation limit, usually in meters. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/prismaticjointopt.md b/docs/pages/api/interfaces/prismaticjointopt.md similarity index 59% rename from docs/api/interfaces/prismaticjointopt.md rename to docs/pages/api/interfaces/prismaticjointopt.md index ca5e8399..118d2bee 100644 --- a/docs/api/interfaces/prismaticjointopt.md +++ b/docs/pages/api/interfaces/prismaticjointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [PrismaticJointOpt](prismaticjointopt.md) +--- +showOutline: false +--- # Interface: PrismaticJointOpt @@ -11,24 +13,24 @@ game. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **PrismaticJointOpt** - ↳ [PrismaticJointDef](prismaticjointdef.md) + ↳ [PrismaticJointDef](/api/interfaces/prismaticjointdef) ## Index ### Properties -* [collideConnected](prismaticjointopt.md#optional-collideconnected) -* [enableLimit](prismaticjointopt.md#optional-enablelimit) -* [enableMotor](prismaticjointopt.md#optional-enablemotor) -* [lowerTranslation](prismaticjointopt.md#optional-lowertranslation) -* [maxMotorForce](prismaticjointopt.md#optional-maxmotorforce) -* [motorSpeed](prismaticjointopt.md#optional-motorspeed) -* [upperTranslation](prismaticjointopt.md#optional-uppertranslation) -* [userData](prismaticjointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/prismaticjointopt#optional-collideconnected) +* [enableLimit](/api/interfaces/prismaticjointopt#optional-enablelimit) +* [enableMotor](/api/interfaces/prismaticjointopt#optional-enablemotor) +* [lowerTranslation](/api/interfaces/prismaticjointopt#optional-lowertranslation) +* [maxMotorForce](/api/interfaces/prismaticjointopt#optional-maxmotorforce) +* [motorSpeed](/api/interfaces/prismaticjointopt#optional-motorspeed) +* [upperTranslation](/api/interfaces/prismaticjointopt#optional-uppertranslation) +* [userData](/api/interfaces/prismaticjointopt#optional-userdata) ## Properties @@ -36,7 +38,7 @@ game. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -95,6 +97,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/pulleyjointdef.md b/docs/pages/api/interfaces/pulleyjointdef.md new file mode 100644 index 00000000..5f17eb2a --- /dev/null +++ b/docs/pages/api/interfaces/pulleyjointdef.md @@ -0,0 +1,133 @@ +--- +showOutline: false +--- + +# Interface: PulleyJointDef + +Pulley joint definition. This requires two ground anchors, two dynamic body +anchor points, and a pulley ratio. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [PulleyJointOpt](/api/interfaces/pulleyjointopt) + + ↳ **PulleyJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/pulleyjointdef#bodya) +* [bodyB](/api/interfaces/pulleyjointdef#bodyb) +* [collideConnected](/api/interfaces/pulleyjointdef#optional-collideconnected) +* [groundAnchorA](/api/interfaces/pulleyjointdef#groundanchora) +* [groundAnchorB](/api/interfaces/pulleyjointdef#groundanchorb) +* [lengthA](/api/interfaces/pulleyjointdef#lengtha) +* [lengthB](/api/interfaces/pulleyjointdef#lengthb) +* [localAnchorA](/api/interfaces/pulleyjointdef#localanchora) +* [localAnchorB](/api/interfaces/pulleyjointdef#localanchorb) +* [ratio](/api/interfaces/pulleyjointdef#ratio) +* [userData](/api/interfaces/pulleyjointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### groundAnchorA + +• **groundAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The first ground anchor in world coordinates. This point never moves. + +___ + +### groundAnchorB + +• **groundAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The second ground anchor in world coordinates. This point never moves. + +___ + +### lengthA + +• **lengthA**: *number* + +The reference length for the segment attached to bodyA. + +___ + +### lengthB + +• **lengthB**: *number* + +The reference length for the segment attached to bodyB. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### ratio + +• **ratio**: *number* + +The pulley ratio, used to simulate a block-and-tackle. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/pulleyjointopt.md b/docs/pages/api/interfaces/pulleyjointopt.md new file mode 100644 index 00000000..7af6f95c --- /dev/null +++ b/docs/pages/api/interfaces/pulleyjointopt.md @@ -0,0 +1,44 @@ +--- +showOutline: false +--- + +# Interface: PulleyJointOpt + +Pulley joint definition. This requires two ground anchors, two dynamic body +anchor points, and a pulley ratio. + +## Hierarchy + +* [JointOpt](/api/interfaces/jointopt) + + ↳ **PulleyJointOpt** + + ↳ [PulleyJointDef](/api/interfaces/pulleyjointdef) + +## Index + +### Properties + +* [collideConnected](/api/interfaces/pulleyjointopt#optional-collideconnected) +* [userData](/api/interfaces/pulleyjointopt#optional-userdata) + +## Properties + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/raycastinput.md b/docs/pages/api/interfaces/raycastinput.md similarity index 60% rename from docs/api/interfaces/raycastinput.md rename to docs/pages/api/interfaces/raycastinput.md index 180eeaea..d62c65d6 100644 --- a/docs/api/interfaces/raycastinput.md +++ b/docs/pages/api/interfaces/raycastinput.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RayCastInput](raycastinput.md) +--- +showOutline: false +--- # Interface: RayCastInput @@ -12,9 +14,9 @@ Ray-cast input data. The ray extends from `p1` to `p1 + maxFraction * (p2 - p1)` ### Properties -* [maxFraction](raycastinput.md#maxfraction) -* [p1](raycastinput.md#p1) -* [p2](raycastinput.md#p2) +* [maxFraction](/api/interfaces/raycastinput#maxfraction) +* [p1](/api/interfaces/raycastinput#p1) +* [p2](/api/interfaces/raycastinput#p2) ## Properties diff --git a/docs/api/interfaces/raycastoutput.md b/docs/pages/api/interfaces/raycastoutput.md similarity index 63% rename from docs/api/interfaces/raycastoutput.md rename to docs/pages/api/interfaces/raycastoutput.md index 29cf4b72..5ac57f30 100644 --- a/docs/api/interfaces/raycastoutput.md +++ b/docs/pages/api/interfaces/raycastoutput.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RayCastOutput](raycastoutput.md) +--- +showOutline: false +--- # Interface: RayCastOutput @@ -13,8 +15,8 @@ where `p1` and `p2` come from RayCastInput. ### Properties -* [fraction](raycastoutput.md#fraction) -* [normal](raycastoutput.md#normal) +* [fraction](/api/interfaces/raycastoutput#fraction) +* [normal](/api/interfaces/raycastoutput#normal) ## Properties diff --git a/docs/pages/api/interfaces/revolutejointdef.md b/docs/pages/api/interfaces/revolutejointdef.md new file mode 100644 index 00000000..97724495 --- /dev/null +++ b/docs/pages/api/interfaces/revolutejointdef.md @@ -0,0 +1,172 @@ +--- +showOutline: false +--- + +# Interface: RevoluteJointDef + +Revolute joint definition. This requires defining an anchor point where the +bodies are joined. The definition uses local anchor points so that the +initial configuration can violate the constraint slightly. You also need to +specify the initial relative angle for joint limits. This helps when saving +and loading a game. + +The local anchor points are measured from the body's origin rather than the +center of mass because: 1. you might not know where the center of mass will +be. 2. if you add/remove shapes from a body and recompute the mass, the +joints will be broken. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [RevoluteJointOpt](/api/interfaces/revolutejointopt) + + ↳ **RevoluteJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/revolutejointdef#bodya) +* [bodyB](/api/interfaces/revolutejointdef#bodyb) +* [collideConnected](/api/interfaces/revolutejointdef#optional-collideconnected) +* [enableLimit](/api/interfaces/revolutejointdef#optional-enablelimit) +* [enableMotor](/api/interfaces/revolutejointdef#optional-enablemotor) +* [localAnchorA](/api/interfaces/revolutejointdef#localanchora) +* [localAnchorB](/api/interfaces/revolutejointdef#localanchorb) +* [lowerAngle](/api/interfaces/revolutejointdef#optional-lowerangle) +* [maxMotorTorque](/api/interfaces/revolutejointdef#optional-maxmotortorque) +* [motorSpeed](/api/interfaces/revolutejointdef#optional-motorspeed) +* [referenceAngle](/api/interfaces/revolutejointdef#referenceangle) +* [upperAngle](/api/interfaces/revolutejointdef#optional-upperangle) +* [userData](/api/interfaces/revolutejointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` enableLimit + +• **enableLimit**? : *boolean* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[enableLimit](/api/interfaces/revolutejointopt#optional-enablelimit)* + +A flag to enable joint limits. + +___ + +### `Optional` enableMotor + +• **enableMotor**? : *boolean* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[enableMotor](/api/interfaces/revolutejointopt#optional-enablemotor)* + +A flag to enable the joint motor. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### `Optional` lowerAngle + +• **lowerAngle**? : *number* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[lowerAngle](/api/interfaces/revolutejointopt#optional-lowerangle)* + +The lower angle for the joint limit (radians). + +___ + +### `Optional` maxMotorTorque + +• **maxMotorTorque**? : *number* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[maxMotorTorque](/api/interfaces/revolutejointopt#optional-maxmotortorque)* + +The maximum motor torque used to achieve the desired motor speed. Usually +in N-m. + +___ + +### `Optional` motorSpeed + +• **motorSpeed**? : *number* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[motorSpeed](/api/interfaces/revolutejointopt#optional-motorspeed)* + +The desired motor speed. Usually in radians per second. + +___ + +### referenceAngle + +• **referenceAngle**: *number* + +The bodyB angle minus bodyA angle in the reference state (radians). + +___ + +### `Optional` upperAngle + +• **upperAngle**? : *number* + +*Inherited from [RevoluteJointOpt](/api/interfaces/revolutejointopt).[upperAngle](/api/interfaces/revolutejointopt#optional-upperangle)* + +The upper angle for the joint limit (radians). + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/revolutejointopt.md b/docs/pages/api/interfaces/revolutejointopt.md similarity index 63% rename from docs/api/interfaces/revolutejointopt.md rename to docs/pages/api/interfaces/revolutejointopt.md index a050de15..18f82488 100644 --- a/docs/api/interfaces/revolutejointopt.md +++ b/docs/pages/api/interfaces/revolutejointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RevoluteJointOpt](revolutejointopt.md) +--- +showOutline: false +--- # Interface: RevoluteJointOpt @@ -15,24 +17,24 @@ joints will be broken. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **RevoluteJointOpt** - ↳ [RevoluteJointDef](revolutejointdef.md) + ↳ [RevoluteJointDef](/api/interfaces/revolutejointdef) ## Index ### Properties -* [collideConnected](revolutejointopt.md#optional-collideconnected) -* [enableLimit](revolutejointopt.md#optional-enablelimit) -* [enableMotor](revolutejointopt.md#optional-enablemotor) -* [lowerAngle](revolutejointopt.md#optional-lowerangle) -* [maxMotorTorque](revolutejointopt.md#optional-maxmotortorque) -* [motorSpeed](revolutejointopt.md#optional-motorspeed) -* [upperAngle](revolutejointopt.md#optional-upperangle) -* [userData](revolutejointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/revolutejointopt#optional-collideconnected) +* [enableLimit](/api/interfaces/revolutejointopt#optional-enablelimit) +* [enableMotor](/api/interfaces/revolutejointopt#optional-enablemotor) +* [lowerAngle](/api/interfaces/revolutejointopt#optional-lowerangle) +* [maxMotorTorque](/api/interfaces/revolutejointopt#optional-maxmotortorque) +* [motorSpeed](/api/interfaces/revolutejointopt#optional-motorspeed) +* [upperAngle](/api/interfaces/revolutejointopt#optional-upperangle) +* [userData](/api/interfaces/revolutejointopt#optional-userdata) ## Properties @@ -40,7 +42,7 @@ joints will be broken. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -100,6 +102,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/ropejointdef.md b/docs/pages/api/interfaces/ropejointdef.md new file mode 100644 index 00000000..31970b04 --- /dev/null +++ b/docs/pages/api/interfaces/ropejointdef.md @@ -0,0 +1,101 @@ +--- +showOutline: false +--- + +# Interface: RopeJointDef + +Rope joint definition. This requires two body anchor points and a maximum +lengths. Note: by default the connected objects will not collide. see +collideConnected in JointDef. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [RopeJointOpt](/api/interfaces/ropejointopt) + + ↳ **RopeJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/ropejointdef#bodya) +* [bodyB](/api/interfaces/ropejointdef#bodyb) +* [collideConnected](/api/interfaces/ropejointdef#optional-collideconnected) +* [localAnchorA](/api/interfaces/ropejointdef#localanchora) +* [localAnchorB](/api/interfaces/ropejointdef#localanchorb) +* [maxLength](/api/interfaces/ropejointdef#optional-maxlength) +* [userData](/api/interfaces/ropejointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### `Optional` maxLength + +• **maxLength**? : *number* + +*Inherited from [RopeJointOpt](/api/interfaces/ropejointopt).[maxLength](/api/interfaces/ropejointopt#optional-maxlength)* + +The maximum length of the rope. +Warning: this must be larger than linearSlop or the joint will have no effect. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/ropejointopt.md b/docs/pages/api/interfaces/ropejointopt.md similarity index 56% rename from docs/api/interfaces/ropejointopt.md rename to docs/pages/api/interfaces/ropejointopt.md index 34b5f542..0012455e 100644 --- a/docs/api/interfaces/ropejointopt.md +++ b/docs/pages/api/interfaces/ropejointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RopeJointOpt](ropejointopt.md) +--- +showOutline: false +--- # Interface: RopeJointOpt @@ -8,19 +10,19 @@ collideConnected in JointDef. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **RopeJointOpt** - ↳ [RopeJointDef](ropejointdef.md) + ↳ [RopeJointDef](/api/interfaces/ropejointdef) ## Index ### Properties -* [collideConnected](ropejointopt.md#optional-collideconnected) -* [maxLength](ropejointopt.md#optional-maxlength) -* [userData](ropejointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/ropejointopt#optional-collideconnected) +* [maxLength](/api/interfaces/ropejointopt#optional-maxlength) +* [userData](/api/interfaces/ropejointopt#optional-userdata) ## Properties @@ -28,7 +30,7 @@ collideConnected in JointDef. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -48,6 +50,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/rotvalue.md b/docs/pages/api/interfaces/rotvalue.md similarity index 57% rename from docs/api/interfaces/rotvalue.md rename to docs/pages/api/interfaces/rotvalue.md index 8ad299c3..2dfd5983 100644 --- a/docs/api/interfaces/rotvalue.md +++ b/docs/pages/api/interfaces/rotvalue.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [RotValue](rotvalue.md) +--- +showOutline: false +--- # Interface: RotValue @@ -10,8 +12,8 @@ ### Properties -* [c](rotvalue.md#c) -* [s](rotvalue.md#s) +* [c](/api/interfaces/rotvalue#c) +* [s](/api/interfaces/rotvalue#s) ## Properties diff --git a/docs/api/interfaces/style.md b/docs/pages/api/interfaces/style.md similarity index 55% rename from docs/api/interfaces/style.md rename to docs/pages/api/interfaces/style.md index 50dc734a..cd82dc70 100644 --- a/docs/api/interfaces/style.md +++ b/docs/pages/api/interfaces/style.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Style](style.md) +--- +showOutline: false +--- # Interface: Style @@ -10,8 +12,8 @@ ### Properties -* [fill](style.md#optional-fill) -* [stroke](style.md#optional-stroke) +* [fill](/api/interfaces/style#optional-fill) +* [stroke](/api/interfaces/style#optional-stroke) ## Properties diff --git a/docs/api/interfaces/vec2value.md b/docs/pages/api/interfaces/vec2value.md similarity index 53% rename from docs/api/interfaces/vec2value.md rename to docs/pages/api/interfaces/vec2value.md index 75cfb871..89db497a 100644 --- a/docs/api/interfaces/vec2value.md +++ b/docs/pages/api/interfaces/vec2value.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Vec2Value](vec2value.md) +--- +showOutline: false +--- # Interface: Vec2Value @@ -10,8 +12,8 @@ ### Properties -* [x](vec2value.md#x) -* [y](vec2value.md#y) +* [x](/api/interfaces/vec2value#x) +* [y](/api/interfaces/vec2value#y) ## Properties diff --git a/docs/api/interfaces/vec3value.md b/docs/pages/api/interfaces/vec3value.md similarity index 54% rename from docs/api/interfaces/vec3value.md rename to docs/pages/api/interfaces/vec3value.md index 71f77bda..fc1482c2 100644 --- a/docs/api/interfaces/vec3value.md +++ b/docs/pages/api/interfaces/vec3value.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [Vec3Value](vec3value.md) +--- +showOutline: false +--- # Interface: Vec3Value @@ -10,9 +12,9 @@ ### Properties -* [x](vec3value.md#x) -* [y](vec3value.md#y) -* [z](vec3value.md#z) +* [x](/api/interfaces/vec3value#x) +* [y](/api/interfaces/vec3value#y) +* [z](/api/interfaces/vec3value#z) ## Properties diff --git a/docs/pages/api/interfaces/weldjointdef.md b/docs/pages/api/interfaces/weldjointdef.md new file mode 100644 index 00000000..7460807e --- /dev/null +++ b/docs/pages/api/interfaces/weldjointdef.md @@ -0,0 +1,123 @@ +--- +showOutline: false +--- + +# Interface: WeldJointDef + +Weld joint definition. You need to specify local anchor points where they are +attached and the relative body angle. The position of the anchor points is +important for computing the reaction torque. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [WeldJointOpt](/api/interfaces/weldjointopt) + + ↳ **WeldJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/weldjointdef#bodya) +* [bodyB](/api/interfaces/weldjointdef#bodyb) +* [collideConnected](/api/interfaces/weldjointdef#optional-collideconnected) +* [dampingRatio](/api/interfaces/weldjointdef#optional-dampingratio) +* [frequencyHz](/api/interfaces/weldjointdef#optional-frequencyhz) +* [localAnchorA](/api/interfaces/weldjointdef#localanchora) +* [localAnchorB](/api/interfaces/weldjointdef#localanchorb) +* [referenceAngle](/api/interfaces/weldjointdef#optional-referenceangle) +* [userData](/api/interfaces/weldjointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` dampingRatio + +• **dampingRatio**? : *number* + +*Inherited from [WeldJointOpt](/api/interfaces/weldjointopt).[dampingRatio](/api/interfaces/weldjointopt#optional-dampingratio)* + +The damping ratio. 0 = no damping, 1 = critical damping. + +___ + +### `Optional` frequencyHz + +• **frequencyHz**? : *number* + +*Inherited from [WeldJointOpt](/api/interfaces/weldjointopt).[frequencyHz](/api/interfaces/weldjointopt#optional-frequencyhz)* + +The mass-spring-damper frequency in Hertz. Rotation only. Disable softness +with a value of 0. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### `Optional` referenceAngle + +• **referenceAngle**? : *number* + +*Inherited from [WeldJointOpt](/api/interfaces/weldjointopt).[referenceAngle](/api/interfaces/weldjointopt#optional-referenceangle)* + +The bodyB angle minus bodyA angle in the reference state (radians). + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/weldjointopt.md b/docs/pages/api/interfaces/weldjointopt.md similarity index 58% rename from docs/api/interfaces/weldjointopt.md rename to docs/pages/api/interfaces/weldjointopt.md index d045c25a..7a2766f9 100644 --- a/docs/api/interfaces/weldjointopt.md +++ b/docs/pages/api/interfaces/weldjointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WeldJointOpt](weldjointopt.md) +--- +showOutline: false +--- # Interface: WeldJointOpt @@ -8,21 +10,21 @@ important for computing the reaction torque. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **WeldJointOpt** - ↳ [WeldJointDef](weldjointdef.md) + ↳ [WeldJointDef](/api/interfaces/weldjointdef) ## Index ### Properties -* [collideConnected](weldjointopt.md#optional-collideconnected) -* [dampingRatio](weldjointopt.md#optional-dampingratio) -* [frequencyHz](weldjointopt.md#optional-frequencyhz) -* [referenceAngle](weldjointopt.md#optional-referenceangle) -* [userData](weldjointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/weldjointopt#optional-collideconnected) +* [dampingRatio](/api/interfaces/weldjointopt#optional-dampingratio) +* [frequencyHz](/api/interfaces/weldjointopt#optional-frequencyhz) +* [referenceAngle](/api/interfaces/weldjointopt#optional-referenceangle) +* [userData](/api/interfaces/weldjointopt#optional-userdata) ## Properties @@ -30,7 +32,7 @@ important for computing the reaction torque. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -66,6 +68,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/pages/api/interfaces/wheeljointdef.md b/docs/pages/api/interfaces/wheeljointdef.md new file mode 100644 index 00000000..6ff226b9 --- /dev/null +++ b/docs/pages/api/interfaces/wheeljointdef.md @@ -0,0 +1,156 @@ +--- +showOutline: false +--- + +# Interface: WheelJointDef + +Wheel joint definition. This requires defining a line of motion using an axis +and an anchor point. The definition uses local anchor points and a local axis +so that the initial configuration can violate the constraint slightly. The +joint translation is zero when the local anchor points coincide in world +space. Using local anchors and a local axis helps when saving and loading a +game. + +## Hierarchy + + ↳ [JointDef](/api/interfaces/jointdef) + + ↳ [WheelJointOpt](/api/interfaces/wheeljointopt) + + ↳ **WheelJointDef** + +## Index + +### Properties + +* [bodyA](/api/interfaces/wheeljointdef#bodya) +* [bodyB](/api/interfaces/wheeljointdef#bodyb) +* [collideConnected](/api/interfaces/wheeljointdef#optional-collideconnected) +* [dampingRatio](/api/interfaces/wheeljointdef#optional-dampingratio) +* [enableMotor](/api/interfaces/wheeljointdef#optional-enablemotor) +* [frequencyHz](/api/interfaces/wheeljointdef#optional-frequencyhz) +* [localAnchorA](/api/interfaces/wheeljointdef#localanchora) +* [localAnchorB](/api/interfaces/wheeljointdef#localanchorb) +* [localAxisA](/api/interfaces/wheeljointdef#localaxisa) +* [maxMotorTorque](/api/interfaces/wheeljointdef#optional-maxmotortorque) +* [motorSpeed](/api/interfaces/wheeljointdef#optional-motorspeed) +* [userData](/api/interfaces/wheeljointdef#optional-userdata) + +## Properties + +### bodyA + +• **bodyA**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyA](/api/interfaces/jointdef#bodya)* + +The first attached body. + +___ + +### bodyB + +• **bodyB**: *[Body](/api/classes/body)* + +*Inherited from [JointDef](/api/interfaces/jointdef).[bodyB](/api/interfaces/jointdef#bodyb)* + +The second attached body. + +___ + +### `Optional` collideConnected + +• **collideConnected**? : *boolean* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* + +Set this flag to true if the attached bodies +should collide. + +___ + +### `Optional` dampingRatio + +• **dampingRatio**? : *number* + +*Inherited from [WheelJointOpt](/api/interfaces/wheeljointopt).[dampingRatio](/api/interfaces/wheeljointopt#optional-dampingratio)* + +Suspension damping ratio, one indicates critical damping. + +___ + +### `Optional` enableMotor + +• **enableMotor**? : *boolean* + +*Inherited from [WheelJointOpt](/api/interfaces/wheeljointopt).[enableMotor](/api/interfaces/wheeljointopt#optional-enablemotor)* + +Enable/disable the joint motor. + +___ + +### `Optional` frequencyHz + +• **frequencyHz**? : *number* + +*Inherited from [WheelJointOpt](/api/interfaces/wheeljointopt).[frequencyHz](/api/interfaces/wheeljointopt#optional-frequencyhz)* + +Suspension frequency, zero indicates no suspension. + +___ + +### localAnchorA + +• **localAnchorA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyA's origin. + +___ + +### localAnchorB + +• **localAnchorB**: *[Vec2Value](/api/interfaces/vec2value)* + +The local anchor point relative to bodyB's origin. + +___ + +### localAxisA + +• **localAxisA**: *[Vec2Value](/api/interfaces/vec2value)* + +The local translation axis in bodyA. + +___ + +### `Optional` maxMotorTorque + +• **maxMotorTorque**? : *number* + +*Inherited from [WheelJointOpt](/api/interfaces/wheeljointopt).[maxMotorTorque](/api/interfaces/wheeljointopt#optional-maxmotortorque)* + +The maximum motor torque, usually in N-m. + +___ + +### `Optional` motorSpeed + +• **motorSpeed**? : *number* + +*Inherited from [WheelJointOpt](/api/interfaces/wheeljointopt).[motorSpeed](/api/interfaces/wheeljointopt#optional-motorspeed)* + +The desired motor speed in radians per second. + +___ + +### `Optional` userData + +• **userData**? : *any* + +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +*Overrides [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* + +Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/wheeljointopt.md b/docs/pages/api/interfaces/wheeljointopt.md similarity index 61% rename from docs/api/interfaces/wheeljointopt.md rename to docs/pages/api/interfaces/wheeljointopt.md index 4f91137c..18227f38 100644 --- a/docs/api/interfaces/wheeljointopt.md +++ b/docs/pages/api/interfaces/wheeljointopt.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WheelJointOpt](wheeljointopt.md) +--- +showOutline: false +--- # Interface: WheelJointOpt @@ -11,23 +13,23 @@ game. ## Hierarchy -* [JointOpt](jointopt.md) +* [JointOpt](/api/interfaces/jointopt) ↳ **WheelJointOpt** - ↳ [WheelJointDef](wheeljointdef.md) + ↳ [WheelJointDef](/api/interfaces/wheeljointdef) ## Index ### Properties -* [collideConnected](wheeljointopt.md#optional-collideconnected) -* [dampingRatio](wheeljointopt.md#optional-dampingratio) -* [enableMotor](wheeljointopt.md#optional-enablemotor) -* [frequencyHz](wheeljointopt.md#optional-frequencyhz) -* [maxMotorTorque](wheeljointopt.md#optional-maxmotortorque) -* [motorSpeed](wheeljointopt.md#optional-motorspeed) -* [userData](wheeljointopt.md#optional-userdata) +* [collideConnected](/api/interfaces/wheeljointopt#optional-collideconnected) +* [dampingRatio](/api/interfaces/wheeljointopt#optional-dampingratio) +* [enableMotor](/api/interfaces/wheeljointopt#optional-enablemotor) +* [frequencyHz](/api/interfaces/wheeljointopt#optional-frequencyhz) +* [maxMotorTorque](/api/interfaces/wheeljointopt#optional-maxmotortorque) +* [motorSpeed](/api/interfaces/wheeljointopt#optional-motorspeed) +* [userData](/api/interfaces/wheeljointopt#optional-userdata) ## Properties @@ -35,7 +37,7 @@ game. • **collideConnected**? : *boolean* -*Inherited from [JointOpt](jointopt.md).[collideConnected](jointopt.md#optional-collideconnected)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[collideConnected](/api/interfaces/jointopt#optional-collideconnected)* Set this flag to true if the attached bodies should collide. @@ -86,6 +88,6 @@ ___ • **userData**? : *any* -*Inherited from [JointOpt](jointopt.md).[userData](jointopt.md#optional-userdata)* +*Inherited from [JointOpt](/api/interfaces/jointopt).[userData](/api/interfaces/jointopt#optional-userdata)* Use this to attach application specific data to your joints. diff --git a/docs/api/interfaces/worlddef.md b/docs/pages/api/interfaces/worlddef.md similarity index 59% rename from docs/api/interfaces/worlddef.md rename to docs/pages/api/interfaces/worlddef.md index 448e16a7..50aa2371 100644 --- a/docs/api/interfaces/worlddef.md +++ b/docs/pages/api/interfaces/worlddef.md @@ -1,4 +1,6 @@ -[Planck.js API Doc](../README.md) › [Globals](../globals.md) › [WorldDef](worlddef.md) +--- +showOutline: false +--- # Interface: WorldDef @@ -10,12 +12,12 @@ ### Properties -* [allowSleep](worlddef.md#optional-allowsleep) -* [blockSolve](worlddef.md#optional-blocksolve) -* [continuousPhysics](worlddef.md#optional-continuousphysics) -* [gravity](worlddef.md#optional-gravity) -* [subStepping](worlddef.md#optional-substepping) -* [warmStarting](worlddef.md#optional-warmstarting) +* [allowSleep](/api/interfaces/worlddef#optional-allowsleep) +* [blockSolve](/api/interfaces/worlddef#optional-blocksolve) +* [continuousPhysics](/api/interfaces/worlddef#optional-continuousphysics) +* [gravity](/api/interfaces/worlddef#optional-gravity) +* [subStepping](/api/interfaces/worlddef#optional-substepping) +* [warmStarting](/api/interfaces/worlddef#optional-warmstarting) ## Properties diff --git a/docs/pages/body.md b/docs/pages/body.md index 6a8e14c9..10692c20 100644 --- a/docs/pages/body.md +++ b/docs/pages/body.md @@ -1,4 +1,8 @@ -### Body +--- +showOutline: false +--- + +## Body Bodies have position, angle, and velocity. You can apply forces, torques, and impulses to bodies. Bodies can be `static`, `kinematic`, or `dynamic`. Here are the body type definitions: @@ -39,7 +43,7 @@ query the body positions to update the positions of your graphical entities. You should also keep body references so you can destroy them when you are done with them. -#### Body Factory +## Body Factory Bodies are created and destroyed using a body factory provided by the `World` class. This lets the world create the body and add the body to the world data structure. @@ -64,11 +68,11 @@ When you destroy a body, the attached fixtures and joints are automatically destroyed. This has important implications for how you manage shape and joint references. -#### Body Definition +## Body Definition Let's go over some of the key members of the body definition. -##### Body Type +### Body Type As discussed at the beginning of this chapter, there are three different body types: static, kinematic, and dynamic. You should specify the body type at creation because changing the body type later is expensive. @@ -81,7 +85,7 @@ world.createBody({ Default body type is static, static bodies don't move in simulations. -##### Position and Angle +### Position and Angle The body definition gives you the chance to initialize the position of the body on creation. This has far better performance than creating the body at the world origin and then moving the body. @@ -117,7 +121,7 @@ A rigid body is also a frame of reference. You can define fixtures and joints in that frame. Those fixtures and joint anchors never move in the local frame of the body. -##### Damping +### Damping Damping is used to reduce the world velocity of bodies. Damping is different than friction because friction only occurs with contact. Damping is not a replacement for friction and the two effects should be @@ -140,7 +144,7 @@ values the damping effect is mostly independent of the time step. At larger damping values, the damping effect will vary with the time step. This is not an issue if you use a fixed time step (recommended). -##### Gravity Scale +### Gravity Scale You can use the gravity scale to adjust the gravity on a single body. Be careful though, increased gravity can decrease stability. @@ -151,7 +155,7 @@ world.createBody({ }); ``` -##### Sleep Parameters +### Sleep Parameters It is expensive to simulate bodies, so the less we have to simulate the better. When a body comes to rest we would like to stop simulating it. @@ -171,7 +175,7 @@ world.createBody({ }); ``` -##### Fixed Rotation +### Fixed Rotation You may want a body, such as a character, to have a fixed rotation. Such a body should not rotate, even under load. You can use the fixed rotation setting to achieve this: @@ -185,7 +189,7 @@ world.createBody({ The fixed rotation flag causes the rotational inertia and its inverse to be set to zero. -##### Bullets +### Bullets Game simulation usually generates a sequence of images that are played at some frame rate. This is called discrete simulation. In discrete simulation, rigid bodies can move by a large amount in one time step. If @@ -220,7 +224,7 @@ world.createBody({ The bullet flag only affects dynamic bodies. -##### Activation +### Activation You may wish a body to be created but not participate in collision or dynamics. This state is similar to sleeping except the body will not be woken by other bodies and the body's fixtures will not be placed in the @@ -243,7 +247,7 @@ Note that activating a body is almost as expensive as creating the body from scratch. So you should not use activation for streaming worlds. Use creation/destruction for streaming worlds to save memory. -##### User Data +### User Data User data is an untyped reference. This gives you a hook to link your application objects to bodies. @@ -253,12 +257,12 @@ world.createBody({ }); ``` -#### Using a Body +## Using a Body After creating a body, there are many operations you can perform on the body. These include setting mass properties, accessing position and velocity, applying forces, and transforming points and vectors. -##### Mass Data +### Mass Data A body has mass (scalar), center of mass (2-vector), and rotational inertia (scalar). For static bodies, the mass and rotational inertia are set to zero. When a body has fixed rotation, its rotational inertia is @@ -289,7 +293,7 @@ body.getLocalCenter(); // Vec2 body.getMassData(massData); ``` -##### State Information +### State Information There are many aspects to the body's state. You can access this state data efficiently through the following functions: @@ -313,7 +317,7 @@ body.setFixedRotation(flag); body.isFixedRotation(); // boolean ``` -##### Position and Velocity +### Position and Velocity You can access the position and rotation of a body. This is common when rendering your associated game actor. You can also set the position and rotation, although this is less common since you will normally use Planck.js to @@ -346,7 +350,7 @@ You can access the linear and angular velocity. The linear velocity is for the center of mass. Therefore, the linear velocity may change if the mass properties change. -##### Forces and Impulses +### Forces and Impulses You can apply forces, torques (rotational force), and impulses to a body. When you apply a force or an impulse, you provide a world point where the load is applied. This often results in a torque about the center of mass. @@ -369,7 +373,7 @@ if (myBody.isAwake()) { } ``` -##### Coordinate Transformations +### Coordinate Transformations The body class has some utility functions to help you transform points and vectors between local and world space. @@ -390,7 +394,7 @@ body.getWorldVector(localVector); // Vec2 body.getLocalVector(worldVector); // Vec2 ``` -##### Accessing Fixtures, Joints, and Contacts +### Accessing Fixtures, Joints, and Contacts You can iterate over a body's fixtures. ```js diff --git a/docs/pages/collision.md b/docs/pages/collision.md index 92c7199c..bbc9d362 100644 --- a/docs/pages/collision.md +++ b/docs/pages/collision.md @@ -1,4 +1,8 @@ -### Collision +--- +showOutline: false +--- + +## Collision The Collision classes include shapes and functions that operate on them. The module also contains a dynamic tree and broad-phase to acceleration collision processing of large systems. @@ -12,7 +16,7 @@ engine, so the using the collision module by itself may feel limited for some applications. Likewise, I will not make a strong effort to document it or polish the APIs. -#### Contact Manifolds +### Contact Manifolds Planck.js has functions to compute contact points for overlapping shapes. If we consider circle-circle or circle-polygon, we can only get one contact point and normal. In the case of polygon-polygon we can get two points. @@ -20,7 +24,7 @@ These points share the same normal vector so Planck.js groups them into a manifold structure. The contact solver takes advantage of this to improve stacking stability. -![Contact Manifold](./images/manifolds.svg) +![Contact Manifold](/images/manifolds.svg) Normally you don't need to compute contact manifolds directly, however you will likely use the results produced in the simulation. @@ -60,19 +64,19 @@ if (state1[0] == PointState.removeState) { } ``` -#### Distance +### Distance The `Distance` function can be used to compute the distance between two shapes. The distance function needs both shapes to be converted into a `DistanceProxy`. There is also some caching used to warm start the distance function for repeated calls. -![Distance Function](./images/distance.svg) +![Distance Function](/images/distance.svg) -#### Time of Impact +### Time of Impact If two shapes are moving fast, they may *tunnel* through each other in a single time step. -![Tunneling](./images/tunneling2.svg) +![Tunneling](/images/tunneling2.svg) The `TimeOfImpact` function is used to determine the time when two moving shapes collide. This is called the *time of impact* (TOI). The @@ -90,9 +94,9 @@ ensures the shapes do not cross on that axis. This might miss collisions that are clear at the final positions. While this approach may miss some collisions, it is very fast and adequate for tunnel prevention. -![Captured Collision](./images/captured_toi.svg) +![Captured Collision](/images/captured_toi.svg) -![Missed Collision](./images/missed_toi.svg) +![Missed Collision](/images/missed_toi.svg) It is difficult to put a restriction on the rotation magnitude. There may be cases where collisions are missed for small rotations. Normally, @@ -106,7 +110,7 @@ transforms of the shapes. You can use fixed rotations to perform a *shape cast*. In this case, the time of impact function will not miss any collisions. -### Dynamic Tree +## Dynamic Tree The `DynamicTree` class is used by Planck.js to organize large numbers of shapes efficiently. The class does not know about shapes. Instead it operates on axis-aligned bounding boxes (AABBs) with user data pointers. @@ -128,16 +132,16 @@ A region query uses the tree to find all leaf AABBs that overlap a query AABB. This is faster than a brute force approach because many shapes can be skipped. -![Raycast](./images/raycast.svg) +![Raycast](/images/raycast.svg) -![Overlap Test](./images/overlap_test.svg) +![Overlap Test](/images/overlap_test.svg) Normally you will not use the dynamic tree directly. Rather you will go through the `World` class for ray casts and region queries. If you plan to instantiate your own dynamic tree, you can learn how to use it by looking at how Planck.js uses it. -### Broad-phase +## Broad-phase Collision processing in a physics step can be divided into narrow-phase and broad-phase. In the narrow-phase we compute contact points between pairs of shapes. Imagine we have N shapes. Using brute force, we would diff --git a/docs/pages/contacts.md b/docs/pages/contacts.md index bbb45f6c..6bd23fdc 100644 --- a/docs/pages/contacts.md +++ b/docs/pages/contacts.md @@ -1,4 +1,8 @@ -# Contacts +--- +showOutline: false +--- + +## Contacts Contacts are objects created by Planck.js to manage collision between two fixtures. If the fixture has children, such as a chain shape, then a contact exists for each relevant child. There are different kinds of @@ -9,36 +13,36 @@ circle-circle collision. Here is some terminology associated with contacts. -#### contact point +#### Contact Point A contact point is a point where two shapes touch. Planck.js approximates contact with a small number of points. -#### contact normal +#### Contact Normal A contact normal is a unit vector that points from one shape to another. By convention, the normal points from fixtureA to fixtureB. -#### contact separation +#### Contact Separation Separation is the opposite of penetration. Separation is negative when shapes overlap. It is possible that future versions of Planck.js will create contact points with positive separation, so you may want to check the sign when contact points are reported. -#### contact manifold +#### Contact Manifold Contact between two convex polygons may generate up to 2 contact points. Both of these points use the same normal, so they are grouped into a contact manifold, which is an approximation of a continuous region of contact. -#### normal impulse +#### Normal Impulse The normal force is the force applied at a contact point to prevent the shapes from penetrating. For convenience, Planck.js works with impulses. The normal impulse is just the normal force multiplied by the time step. -#### tangent impulse +#### Tangent Impulse The tangent force is generated at a contact point to simulate friction. For convenience, this is stored as an impulse. -#### contact ids +#### Contact Ids Planck.js tries to re-use the contact force results from a time step as the initial guess for the next time step. Planck.js uses contact ids to match contact points across time steps. The ids contain geometric features @@ -56,7 +60,7 @@ contact right away if the shapes are not touching, or we can just wait until the AABBs stop overlapping. Planck.js takes the latter approach because it lets the system cache information to improve performance. -### Contact Class +## Contact Class As mentioned before, the contact class is created and destroyed by Planck.js. Contact objects are not created by the user. However, you are able to access the contact class and interact with it. @@ -99,7 +103,7 @@ let actorA = bodyA.getUserData(); You can disable a contact. This only works inside the `pre-solve` event, discussed below. -### Accessing Contacts +## Accessing Contacts You can get access to contacts in several ways. You can access the contacts directly on the world and body structures. You can also implement a contact listener. @@ -130,7 +134,7 @@ described below. > contacts that occur in the middle of the time step. Use > ContactListener to get the most accurate results. -### Contact Events +## Contact Events You can receive contact data by adding event listeners to world. The World supports several events: begin-contact, end-contact, pre-solve, and post-solve. @@ -158,16 +162,16 @@ world.on('pre-solve', function(contact, contactImpulse) { At run-time you can create an instance of the listener and register it with world.on(). You can remove listener using world.off() function. -#### Begin Contact Event +### Begin Contact Event This is called when two fixtures begin to overlap. This is called for sensors and non-sensors. This event can only occur inside the time step. -#### End Contact Event +### End Contact Event This is called when two fixtures cease to overlap. This is called for sensors and non-sensors. This may be called when a body is destroyed, so this event can occur outside the time step. -#### Pre-Solve Event +### Pre-Solve Event This is called after collision detection, but before collision resolution. This gives you a chance to disable the contact based on the current configuration. For example, you can implement a one-sided @@ -216,7 +220,7 @@ world.on('pre-solve', function(contact, oldManifold) { }); ``` -#### Post-Solve Event +### Post-Solve Event The post solve event is where you can gather collision impulse results. If you don't care about the impulses, you should probably just implement the pre-solve event. @@ -274,7 +278,7 @@ for (let i = 0; i < nuke.length; i++) { } ``` -### Contact Filtering +## Contact Filtering Often in a game you don't want all objects to collide. For example, you may want to create a door that only certain characters can pass through. This is called contact filtering, because some interactions are filtered diff --git a/docs/pages/core-concepts.md b/docs/pages/core-concepts.md index 29d5b6b6..493ad0fc 100644 --- a/docs/pages/core-concepts.md +++ b/docs/pages/core-concepts.md @@ -1,35 +1,39 @@ -### Core Concepts +--- +showOutline: false +--- + +## Core Concepts Planck.js works with several fundamental concepts and objects. We briefly define these objects here and more details are given later in this document. -#### World +### World A physics world is a collection of bodies, fixtures, and constraints that interact together. `World` also manages running simulation. -#### Shape +### Shape A shape is a 2D geometrical object, such as a circle or polygon. -#### Rigid Body +### Rigid Body A chunk of matter that is so strong that the distance between any two bits of matter on the chunk is constant. In the following discussion we use body interchangeably with rigid body. -#### Fixture +### Fixture A fixture binds a shape to a body and adds physical properties such as density, friction, and restitution. A fixture puts a shape into the collision system (broad-phase) so that it can collide with other shapes. -#### Constraint +### Constraint A constraint is a physical connection that removes degrees of freedom from bodies. A 2D body has 3 degrees of freedom (two position coordinates and one rotation coordinate). If we take a body and pin it to the wall (like a pendulum) we have constrained the body to the wall. At this point the body can only rotate about the pin, so the constraint has removed 2 degrees of freedom. -#### Contact Constraint +### Contact Constraint A special constraint designed to prevent penetration of rigid bodies and to simulate friction and restitution. You do not create contact constraints; they are created automatically when two objects might collide. -#### Joint +### Joint This is a constraint used to hold two or more bodies together. There are several joint types implemented in the library: revolute, prismatic, distance, and more. Some joints may have limits and motors. @@ -37,14 +41,14 @@ A joint limit restricts the range of motion of a joint. For example, the human e A joint motor drives the motion of the connected bodies according to the joint's degrees of freedom. For example, you can use a motor to drive the rotation of an elbow. -#### Solver +### Solver The physics world has a solver that is used to advance time and to resolve contact and joint constraints. The Planck.js solver is a high-performance iterative solver that operates in order N time, where N is the number of constraints. -#### Continuous Collision +### Continuous Collision The solver advances bodies in time using discrete time steps. Without intervention this can lead to tunneling. -![Tunneling Effect](./images/tunneling1.svg) +![Tunneling Effect](/images/tunneling1.svg) Planck.js contains specialized algorithms to deal with tunneling. First, the collision algorithms can interpolate the motion of two bodies to find the first time of impact (TOI). Second, there is a sub-stepping solver that moves bodies to their first time of impact and then resolves the collision. diff --git a/docs/pages/credits.md b/docs/pages/credits.md index 2fbdebe2..f26ab645 100644 --- a/docs/pages/credits.md +++ b/docs/pages/credits.md @@ -1,3 +1,7 @@ +--- +showOutline: false +--- + #### Credits Box2D is a popular C++ 2D rigid-body physics engine created by Erin Catto. Box2D is used in several popular games, such as Angry Birds, Limbo and Crayon Physics, as well as game development tools and libraries such as Apple's SpriteKit. diff --git a/docs/pages/fixture.md b/docs/pages/fixture.md index c54a2fd2..0464a946 100644 --- a/docs/pages/fixture.md +++ b/docs/pages/fixture.md @@ -1,4 +1,8 @@ -### Fixture +--- +showOutline: false +--- + +## Fixture Shapes only have geometrical coordinates, they don't have physical properties and don't know about the body's transformation, so may be used independently of the physics simulation. The `Fixture` class is used to attach shapes to bodies. A body may have zero or more fixtures. A body with multiple fixtures is sometimes called a *compound body.* @@ -14,7 +18,7 @@ Fixtures hold the following: These are described in the following sections. -#### Fixture Creation +### Fixture Creation Fixtures are created by initializing a fixture definition and then passing the definition to the parent body. @@ -38,7 +42,7 @@ the body destruction take care of destroying the attached fixtures. myBody.destroyFixture(myFixture); ``` -##### Density +### Density The fixture density is used to compute the mass properties of the parent body. The density can be zero or positive. You should generally use similar densities for all your fixtures. This will improve stacking @@ -52,7 +56,7 @@ fixture.setDensity(5); body.resetMassData(); ``` -##### Friction +### Friction Friction is used to make objects slide along each other realistically. Planck.js supports static and dynamic friction, but uses the same parameter for both. Friction is simulated accurately in Planck.js and the friction @@ -76,7 +80,7 @@ You can override the default mixed friction using `contact.setFriction`. This is usually done in the contact listener callback. -##### Restitution +### Restitution Restitution is used to make objects bounce. The restitution value is usually set to be between 0 and 1. Consider dropping a ball on a table. A value of zero means the ball won't bounce. This is called an @@ -102,7 +106,7 @@ approximately. This is because Planck.js uses an iterative solver. Planck.js also uses inelastic collisions when the collision velocity is small. This is done to prevent jitter. See `Settings.velocityThreshold`. -##### Filtering +### Filtering Collision filtering allows you to prevent collision between fixtures. For example, say you make a character that rides a bicycle. You want the bicycle to collide with the terrain and the character to collide with @@ -172,7 +176,7 @@ an existing fixture using fixture.getFilterData and fixture.setFilterData. Note that changing the filter data will not add or remove contacts until the next time step (see the World class). -#### Sensors +### Sensors Sometimes game logic needs to know when two fixtures overlap yet there should be no collision response. This is done by using sensors. A sensor is a fixture that detects collision but does not produce a response. diff --git a/docs/pages/hello-world.md b/docs/pages/hello-world.md index e37768d8..c87bf008 100644 --- a/docs/pages/hello-world.md +++ b/docs/pages/hello-world.md @@ -1,8 +1,12 @@ -### Getting Started +--- +showOutline: false +--- + +## Hello World In this section we will walk through a simple example to set up the physics world, and create a platform and a small box. -#### Creating a World +### Creating a World Every Planck.js program begins with the creation of a World object. World is the physics hub that manages objects, their physical interactions, and runs simulation. @@ -16,7 +20,7 @@ let world = new World({ Now that we have our physics world set up, let's start adding some stuff to it. -#### Creating a platform +### Creating a platform We will create a platform using the following steps: @@ -60,7 +64,7 @@ However, you can attach all static fixtures to a single static body. A static body has zero mass by definition, so we don't need to specify density in this case. Later we will see how to use a fixture's properties to customize its physical behavior. -#### Creating a dynamic box +### Creating a dynamic box Creating a dynamic box is similar to the platform. The main difference, besides dimensions, is that for a dynamic body we need to specify mass properties. First we create the body using `createBody`. By default bodies are static, so we should set the body's `type` at construction time to make the body dynamic. @@ -95,7 +99,7 @@ You can add as many fixtures as you like to a body. Each one contributes to the Box dimensions are specified as the **half-width** and **half-height** (like a circler radius). So in this case the ground box is 2 units wide (x-axis) and 2 units tall (y-axis). -#### Units +### Units Planck.js by default is tuned for meters, kilograms, and seconds. So you can consider the dimensions to be in meters. Planck.js generally works best when objects are the size of typical real world objects. For example, a barrel is about 1 meter tall. Due to the limitations of floating point arithmetic, using Planck.js to model the movement of glaciers or dust particles is not a good idea. diff --git a/docs/pages/index.md b/docs/pages/index.md index 12e63a84..4d18bbad 100644 --- a/docs/pages/index.md +++ b/docs/pages/index.md @@ -1,26 +1,20 @@ -#### Planck.js +--- +showOutline: false +--- + +### Planck.js Planck.js is JavaScript/TypeScript rewrite of the [Box2D](https://box2d.org/) C++ physics engine for cross-platform game development. -#### Box2D +### Box2D Box2D is a 2D rigid-body physics simulation library for games. You can use it in your games to make objects move in realistic ways and make the game world more interactive. From the game engine's point of view, a physics engine is just a system for procedural animation. Planck.js documentation is based on the Box2D manual with adjustments and additions for JavaScript. Both projects' names are used interchangeably in the documentation. -#### Before You Start +### Before You Start Planck.js is a physics engine, so to use the library you need to be familiar with basic physics concepts, such as mass, force, torque, and impulses. If not, you can ask ChatGPT to explain them. Since Planck.js is written in JavaScript, you need to be familiar with JavaScript programming. - -#### Running Your Code - -Planck.js is a physics simulation library, and it doesn't draw anything. - -[Piqnt](https://piqnt.com/) is an online playground for Planck.js. You can explore [examples](https://piqnt.com/planck.js/), inspect and edit them, or create new ones. - -[Testbed](./testbed) is a simple tool (included in the project repository) to visualize and interact with physics simulation. Testbed is compatible with Piqnt playground. - -You can use Planck.js with any game engines or frameworks, or use an existing integrations. See [Rendering](./rendering) page for more information. diff --git a/docs/pages/install.md b/docs/pages/install.md index 2daf16dc..22f783cb 100644 --- a/docs/pages/install.md +++ b/docs/pages/install.md @@ -1,3 +1,19 @@ +--- +showOutline: false +--- + +## Get Started + +### Running Your Code + +Planck.js is a physics simulation library, and it doesn't draw anything. + +[Piqnt](https://piqnt.com/) is an online playground for Planck.js. You can explore [examples](https://piqnt.com/planck.js/), inspect and edit them, or create new ones. + +[Testbed](./testbed) is a simple tool (included in the project repository) to visualize and interact with physics simulation. Testbed is compatible with Piqnt playground. + +You can use Planck.js with any game engines or frameworks, or use an existing integrations. See [Simulation](./simulation) and [Rendering](./rendering) page for more information. + ### Install #### NPM @@ -6,27 +22,15 @@ npm install planck ``` +Import the library in your code: + ```js import { World } from 'planck'; const world = new World(); ``` -#### Script tag - -Planck.js is available on [jsDelivr](https://www.jsdelivr.com/package/npm/planck), [cdnjs](https://cdnjs.com/libraries/planck), and [unpkg](https://unpkg.com/planck/). - -```html - - -``` - -### Testbed - -#### NPM +Import the library with testbed: ```js import { World, Testbed } from 'planck/with-testbed'; @@ -37,8 +41,19 @@ const testbed = Testbed.mount(); testbed.start(world); ``` + #### Script tag +Planck.js is available on [jsDelivr](https://www.jsdelivr.com/package/npm/planck), [cdnjs](https://cdnjs.com/libraries/planck), and [unpkg](https://unpkg.com/planck/). + +```html + + +``` + ```html diff --git a/docs/pages/joint.md b/docs/pages/joint.md index 22d1a04b..bb0498c0 100644 --- a/docs/pages/joint.md +++ b/docs/pages/joint.md @@ -1,4 +1,8 @@ -# Joint +--- +showOutline: false +--- + +## Joint Joints are used to constrain bodies to the world or to each other. Typical examples in games include ragdolls, teeters, and pulleys. Joints can be combined in many different ways to create interesting motions. diff --git a/docs/pages/joint/distance-joint.md b/docs/pages/joint/distance-joint.md index c6ba5c9b..f63a2d1f 100644 --- a/docs/pages/joint/distance-joint.md +++ b/docs/pages/joint/distance-joint.md @@ -1,5 +1,8 @@ +--- +showOutline: false +--- -### Distance Joint +## Distance Joint One of the simplest joints is a distance joint which says that the distance between two points on two bodies must be constant. When you specify a distance joint the two bodies should already be in place. Then @@ -7,7 +10,7 @@ you specify the two anchor points in world coordinates. The first anchor point is connected to body 1, and the second anchor point is connected to body 2. These points imply the length of the distance constraint. -![Distance Joint](../images/distance_joint.gif) +![Distance Joint](/images/distance_joint.gif) Here is an example of a distance joint definition. In this case we decide to allow the bodies to collide. diff --git a/docs/pages/joint/friction-joint.md b/docs/pages/joint/friction-joint.md index 91f51041..d28e934c 100644 --- a/docs/pages/joint/friction-joint.md +++ b/docs/pages/joint/friction-joint.md @@ -1,5 +1,8 @@ +--- +showOutline: false +--- -### Friction Joint +## Friction Joint The friction joint is used for top-down friction. The joint provides 2D translational friction and angular friction. See FrictionJoint.js and ApplyForce.js for details. diff --git a/docs/pages/joint/gear-joint.md b/docs/pages/joint/gear-joint.md index f6dbcf20..7ff3dda0 100644 --- a/docs/pages/joint/gear-joint.md +++ b/docs/pages/joint/gear-joint.md @@ -1,4 +1,8 @@ -### Gear Joint +--- +showOutline: false +--- + +## Gear Joint If you want to create a sophisticated mechanical contraption you might want to use gears. In principle you can create gears in Planck.js by using compound shapes to model gear teeth. This is not very efficient and @@ -6,7 +10,7 @@ might be tedious to author. You also have to be careful to line up the gears so the teeth mesh smoothly. Planck.js has a simpler method of creating gears: the gear joint. -![Gear Joint](../images/gear_joint.gif) +![Gear Joint](/images/gear_joint.gif) The gear joint can only connect revolute and/or prismatic joints. diff --git a/docs/pages/joint/motor-joint.md b/docs/pages/joint/motor-joint.md index 30805d8c..6349634e 100644 --- a/docs/pages/joint/motor-joint.md +++ b/docs/pages/joint/motor-joint.md @@ -1,5 +1,8 @@ +--- +showOutline: false +--- -### Motor Joint +## Motor Joint A motor joint lets you control the motion of a body by specifying target position and rotation offsets. You can set the maximum motor force and torque that will be applied to reach the target position and rotation. diff --git a/docs/pages/joint/mouse-joint.md b/docs/pages/joint/mouse-joint.md index b863fc1b..a4da4818 100644 --- a/docs/pages/joint/mouse-joint.md +++ b/docs/pages/joint/mouse-joint.md @@ -1,4 +1,8 @@ -### Mouse Joint +--- +showOutline: false +--- + +## Mouse Joint The mouse joint is used in the testbed to manipulate bodies with the mouse. It attempts to drive a point on a body towards the current position of the cursor. There is no restriction on rotation. diff --git a/docs/pages/joint/prismatic-joint.md b/docs/pages/joint/prismatic-joint.md index 7dbdfb5d..3c7bd5f2 100644 --- a/docs/pages/joint/prismatic-joint.md +++ b/docs/pages/joint/prismatic-joint.md @@ -1,9 +1,13 @@ -### Prismatic Joint +--- +showOutline: false +--- + +## Prismatic Joint A prismatic joint allows for relative translation of two bodies along a specified axis. A prismatic joint prevents relative rotation. Therefore, a prismatic joint has a single degree of freedom. -![Prismatic Joint](../images/prismatic_joint.gif) +![Prismatic Joint](/images/prismatic_joint.gif) The prismatic joint definition is similar to the revolute joint description; just substitute translation for angle, and force for torque. diff --git a/docs/pages/joint/pulley.md b/docs/pages/joint/pulley.md index 8c0d4a6d..c4ea0476 100644 --- a/docs/pages/joint/pulley.md +++ b/docs/pages/joint/pulley.md @@ -1,5 +1,8 @@ +--- +showOutline: false +--- -### Pulley Joint +## Pulley Joint A pulley is used to create an idealized pulley. The pulley connects two bodies to ground and to each other. As one body goes up, the other goes down. The total length of the pulley rope is conserved according to the @@ -22,7 +25,7 @@ For example, if the ratio is 2, then `length1` will vary at twice the rate of `length2`. Also the force in the rope attached to `body1` will have half the constraint force as the rope attached to `body2`. -![Pulley Joint](../images/pulley_joint.gif) +![Pulley Joint](/images/pulley_joint.gif) Pulleys can be troublesome when one side is fully extended. The rope on the other side will have zero length. At this point the constraint diff --git a/docs/pages/joint/revolute-joint.md b/docs/pages/joint/revolute-joint.md index 93008efc..8e3984f7 100644 --- a/docs/pages/joint/revolute-joint.md +++ b/docs/pages/joint/revolute-joint.md @@ -1,9 +1,13 @@ -### Revolute Joint +--- +showOutline: false +--- + +## Revolute Joint A revolute joint forces two bodies to share a common anchor point, often called a hinge point. The revolute joint has a single degree of freedom: the relative rotation of the two bodies. This is called the joint angle. -![Revolute Joint](../images/revolute_joint.gif) +![Revolute Joint](/images/revolute_joint.gif) To specify a revolute you need to provide two bodies and a single anchor point in world space. The initialization function assumes that the diff --git a/docs/pages/joint/rope-joint.md b/docs/pages/joint/rope-joint.md index b4b0c2ff..85d21d30 100644 --- a/docs/pages/joint/rope-joint.md +++ b/docs/pages/joint/rope-joint.md @@ -1,4 +1,8 @@ -### Rope Joint +--- +showOutline: false +--- + +## Rope Joint The rope joint restricts the maximum distance between two points. This can be useful to prevent chains of bodies from stretching, even under high load. See RopeJoint.js and RopeJoint.js for details. diff --git a/docs/pages/joint/weld-joint.md b/docs/pages/joint/weld-joint.md index 41bac8ff..495029ad 100644 --- a/docs/pages/joint/weld-joint.md +++ b/docs/pages/joint/weld-joint.md @@ -1,4 +1,8 @@ -### Weld Joint +--- +showOutline: false +--- + +## Weld Joint The weld joint attempts to constrain all relative motion between two bodies. See the Cantilever.js in the testbed to see how the weld joint behaves. diff --git a/docs/pages/joint/wheel-joint.md b/docs/pages/joint/wheel-joint.md index 99607a71..28d0f711 100644 --- a/docs/pages/joint/wheel-joint.md +++ b/docs/pages/joint/wheel-joint.md @@ -1,6 +1,10 @@ -### Wheel Joint +--- +showOutline: false +--- + +## Wheel Joint The wheel joint restricts a point on bodyB to a line on bodyA. The wheel joint also provides a suspension spring. See WheelJoint.js and Car.js for details. -![Wheel Joint](../images/wheel_joint.svg) \ No newline at end of file +![Wheel Joint](/images/wheel_joint.svg) \ No newline at end of file diff --git a/docs/pages/limitations.md b/docs/pages/limitations.md index 16991825..3269cfdf 100644 --- a/docs/pages/limitations.md +++ b/docs/pages/limitations.md @@ -1,4 +1,8 @@ -### Limitations +--- +showOutline: false +--- + +## Limitations Planck.js uses several approximations to simulate rigid body physics efficiently. This brings some limitations. @@ -10,7 +14,7 @@ Here are the current limitations: 5. Planck.js uses the symplectic Euler integration scheme. It does not reproduce parabolic motion of projectiles and has only first-order accuracy. However it is fast and has good stability. 6. Planck.js uses an iterative solver to provide real-time performance. You will not get precisely rigid collisions or pixel perfect accuracy. Increasing the iterations will improve accuracy. -### Accuracy +## Accuracy Box2D/Planck.js uses approximate methods for a few reasons. @@ -24,13 +28,13 @@ Box2D/Planck.js also uses Semi-implicit Euler to approximately solve the differe Box2D/Planck.js also does not have exact collision. Polygons are covered with a thin skin (around 0.5cm thick) to avoid numerical problems. This can sometimes lead to unexpected contact normals. Also, some shapes may begin to overlap and then be pushed apart by the solver. -### Restitution/Friction mixing accuracy +## Restitution/Friction mixing accuracy A physically correct restitution value must be measured in experiments. But as soon as you change the geometry from the experiment then the value is wrong. Next, adding simultaneous collision makes the answer worse. -### Determinism +## Determinism For the same input, and same binary, Box2D/Planck.js will reproduce any simulation. Box2D/Planck.js does not use any random numbers nor base any computation on random events (such as timers, etc). @@ -43,20 +47,20 @@ Box2D/Planck.js does not support fixed-point math. In the past Box2D was ported to the NDS in fixed-point and apparently it worked okay. Fixed-point math is slower and more tedious to develop, so fixed-point is used for the development of Box2D. -### Making Games +## Making Games -##### Worms Clones +### Worms Clones Making a worms clone requires arbitrarily destructible terrain. This is beyond the scope of Box2D/Planck.js, so you will have to figure out how to do this on your own. -##### Tile Based Environment +### Tile Based Environment Using many boxes for your terrain may not work well because box-like characters can get snagged on internal corners. A future update to Box2D/Planck.js should allow for smooth motion over edge chains. In general you should avoid using a rectangular character because collision tolerances will still lead to undesirable snagging. -##### Asteroid Type Coordinate Systems +### Asteroid Type Coordinate Systems Box2D/Planck.js does not have any support for coordinate frame wrapping. You would likely need to customize Box2D/Planck.js for this purpose. diff --git a/docs/pages/misc/api-reference.md b/docs/pages/misc/api-reference.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/pages/references-resources.md b/docs/pages/references-resources.md index fe63a479..0da71922 100644 --- a/docs/pages/references-resources.md +++ b/docs/pages/references-resources.md @@ -1,3 +1,7 @@ +--- +showOutline: false +--- + ### References - [Erin Catto's Publications](https://box2d.org/publications/) - Collision Detection in Interactive 3D Environments, Gino van den Bergen, 2004 diff --git a/docs/pages/rendering.md b/docs/pages/rendering.md index e190bf33..c128772e 100644 --- a/docs/pages/rendering.md +++ b/docs/pages/rendering.md @@ -1,4 +1,8 @@ -### Rendering and Simulation +--- +showOutline: false +--- + +### Rendering Planck.js is a physics engine and it can be used with any graphics library or ui framework for rendering. @@ -100,6 +104,7 @@ renderer.start(world); ``` ### Pixels and Coordinate Systems + Planck.js uses MKS (meters, kilograms, and seconds) units and radians for angles, however rendering is done in pixels. So you need to transformation world geometry into screen and vice versa. diff --git a/docs/pages/shape.md b/docs/pages/shape.md index ea846476..99044599 100644 --- a/docs/pages/shape.md +++ b/docs/pages/shape.md @@ -1,4 +1,9 @@ -### Shapes +--- +showOutline: false +--- + +## Shape + Shapes describe collision geometry and may be used independently of physics simulation. At a minimum, you should understand how to create shapes that can be later attached to rigid bodies. @@ -20,10 +25,12 @@ shapes move rigidly with the host body. In summary: - When a shape is **not** attached to a body, you can view its vertices as being expressed in world-space. - When a shape is attached to a body, you can view its vertices as being expressed in local coordinates. -#### Geometric Queries +### Geometric Queries + You can perform a couple geometric queries on a single shape. #### Shape Point Test + You can test a point for overlap with a shape. You provide a transform for the shape and a world point. @@ -37,6 +44,7 @@ let hit = shape.testPoint(transform, point); Edge and chain shapes always return false, even if the chain is a loop. #### Shape Ray Cast + You can cast a ray at a shape to get the point of first intersection and normal vector. A child index is included for chain shapes because the ray cast will only check a single edge at a time. @@ -67,6 +75,7 @@ if (hit) { ``` #### Pairwise Functions + The Collision module contains functions that take a pair of shapes and compute some results. These include: - Overlap - Contact manifolds @@ -74,6 +83,7 @@ The Collision module contains functions that take a pair of shapes and compute s - Time of impact #### Overlap + You can test two shapes for overlap using this function: ```js diff --git a/docs/pages/shape/chain.md b/docs/pages/shape/chain.md index ae191d2c..e65a0a02 100644 --- a/docs/pages/shape/chain.md +++ b/docs/pages/shape/chain.md @@ -1,10 +1,14 @@ -### Chain Shapes +--- +showOutline: false +--- + +## Chain Shapes The chain shape provides an efficient way to connect many edges together to construct your static game worlds. Chain shapes automatically eliminate ghost collisions and provide two-sided collision. -![Chain Shape](../images/chain_shape.svg) +![Chain Shape](/images/chain_shape.svg) ```js // This is a chain shape with isolated vertices @@ -40,7 +44,7 @@ might not. The code that prevents ghost collisions assumes there are no self-intersections of the chain. Also, very close vertices can cause problems. Make sure all your edges are longer than Settings.linearSlop (5mm). -![Self Intersection](../images/self_intersect.svg) +![Self Intersection](/images/self_intersect.svg) Each edge in the chain is treated as a child shape and can be accessed by index. When a chain shape is connected to a body, each edge gets its diff --git a/docs/pages/shape/circle.md b/docs/pages/shape/circle.md index ca831eda..b9a26d41 100644 --- a/docs/pages/shape/circle.md +++ b/docs/pages/shape/circle.md @@ -1,4 +1,8 @@ -### Circle Shapes +--- +showOutline: false +--- + +## Circle Shapes Circle shapes have a position and radius. Circles are solid. You cannot make a hollow circle using the circle shape. diff --git a/docs/pages/shape/edge.md b/docs/pages/shape/edge.md index 5752392d..414ef613 100644 --- a/docs/pages/shape/edge.md +++ b/docs/pages/shape/edge.md @@ -1,4 +1,8 @@ -### Edge Shapes +--- +showOutline: false +--- + +## Edge Shapes Edge shapes are line segments. These are provided to assist in making a free-form static environment for your game. A major limitation of edge shapes is that they can collide with circles and polygons but not with @@ -18,7 +22,7 @@ see a box colliding with an internal vertex. These *ghost* collisions are caused when the polygon collides with an internal vertex generating an internal collision normal. -![Ghost Collision](../images/ghost_collision.svg) +![Ghost Collision](/images/ghost_collision.svg) If edge1 did not exist this collision would seem fine. With edge1 present, the internal collision seems like a bug. But normally when @@ -28,7 +32,7 @@ Fortunately, the edge shape provides a mechanism for eliminating ghost collisions by storing the adjacent *ghost* vertices. Planck.js uses these ghost vertices to prevent internal collisions. -![Ghost Vertices](../images/ghost_vertices.svg) +![Ghost Vertices](/images/ghost_vertices.svg) ```js // This is an edge shape with ghost vertices. diff --git a/docs/pages/shape/polygon.md b/docs/pages/shape/polygon.md index 7f53669f..166103cd 100644 --- a/docs/pages/shape/polygon.md +++ b/docs/pages/shape/polygon.md @@ -1,10 +1,14 @@ -### Polygon Shapes +--- +showOutline: false +--- + +## Polygon Shapes Polygon shapes are solid convex polygons. A polygon is convex when all line segments connecting two points in the interior do not cross any edge of the polygon. Polygons are solid and never hollow. A polygon must have 3 or more vertices. -![Convex and Concave Polygons](../images/convex_concave.gif) +![Convex and Concave Polygons](/images/convex_concave.gif) Polygon vertices are stored with a counter-clockwise winding (CCW). We must be careful because the notion of CCW is with respect to a @@ -12,7 +16,7 @@ right-handed coordinate system with the z-axis pointing out of the plane. This might turn out to be clockwise on your screen, depending on your coordinate system conventions. -![Polygon Winding Order](../images/winding.svg) +![Polygon Winding Order](/images/winding.svg) The initialization functions create normal vectors and perform validation. So you should use initialization functions to create a polygon. @@ -51,10 +55,10 @@ the polygon. The skin is used in stacking scenarios to keep polygons slightly separated. This allows continuous collision to work against the core polygon. -![Polygon Skin](../images/skinned_polygon.svg) +![Polygon Skin](/images/skinned_polygon.svg) The polygon skin helps prevent tunneling by keeping the polygons separated. This results in small gaps between the shapes. Your visual representation can be larger than the polygon to hide any gaps. -![Skin Collision](../images/skin_collision.svg) +![Skin Collision](/images/skin_collision.svg) diff --git a/docs/pages/styles.css b/docs/pages/styles.css deleted file mode 100644 index 6916b277..00000000 --- a/docs/pages/styles.css +++ /dev/null @@ -1,9 +0,0 @@ -p img { - display: block; - margin-left: auto; - margin-right: auto; -} - -.dark p img { - filter: invert(0.8); -} diff --git a/docs/pages/testbed.md b/docs/pages/testbed.md index 30e4fab3..02a3b925 100644 --- a/docs/pages/testbed.md +++ b/docs/pages/testbed.md @@ -1,6 +1,130 @@ -### Testbed +--- +showOutline: false +--- + +## Testbed + Testbed is a debugging tool that is provided with the library. It is useful to get started with Planck.js, and develop and debug physics code, and run examples. -You can run testbed online at [piqnt.com](https://piqnt.com/planck.js/), run it locally, or install it from NPM or a CDN. +Testbed is not required to use Planck.js physics. You can run simulation and render physics world directly, with any rendering library or framework (see [Simulation](./simulation) and [Rendering](./rendering) sections for more details). + +There are multiple way to use testbed: +- Use Piqnt online playground +- Install from NPM, or from CDN +- Run locally from source + +### Piqnt onlin playground + +[Piqnt](https://piqnt.com/) is an online playground to run testbed code. It is useful to quickly try out physics examples, and share them with others. + +### Install from NPM + +To install testbed from NPM, run `npm install planck`. Then import testbed in your code. + +```bash +npm install planck +``` + +```js +import { World, Testbed } from 'planck/with-testbed'; +``` + +### Script tag and CDN + +To use testbed from CDN, add the following script tag to your HTML file. + +```html + + + + + + + + +``` + +### Run locally from source + +Running testbed locally is useful if you want to debug or edit the library or testbed code, or if you want to run testbed examples locally. + +To run testbed from source, clone the repository and run `npm install` and `npm run dev` in the root directory. This will start a local server and open testbed in your browser. + +```bash +git clone +cd planck.js +npm install +npm run dev +``` + + +## Testbed Usage and API + +To use testbed first create a world, then start simulation. + +```js +// Create a world +const world = new World(); + +// Start simulation +const testbed = Testbed.start(world); +``` + +If you need to access the testbed instance before starting simulation you can mount the testbed first, and later start simulation. + +```js +// Mount testbed +const testbed = Testbed.mount(); + +// Create a world +const world = new World(); + +// Start simulation +testbed.start(world); +``` + +#### Viewbox + +You can adjust testbed viewbox, by setting the viewbox center and dimensions. Viewbox center and dimension are in defined in physical units. Testbed will calculate and set rendering scale and offset to match provided dimensions and center. + +```js +// Viewbox center +testbed.x = 0; +testbed.y = 0; + +// Viewbox size +testbed.width = 30; +testbed.height = 20; +``` + +#### Game-loop callback + +You can add a game loop callback to testbed, it will be called in each frame. + +```js +testbed.step = function() { + // Code to run in each game loop +}; +``` + +#### Display text information + +Testbed has two methods to display information on screen, `info` and `status`. + +```js +// Use info() to print some text on screen +testbed.info('Use arrow keys to move player'); -Testbed is not required to use Planck.js physics. You can run and render physics world directly, with any rendering library or framework (see the Rendering section for more details). +testbed.step = function() { + // Use status() to print key-values + // Testbed will retain value of keys until they are changed + testbed.status('score', score); + testbed.status('time', time); +}; +``` diff --git a/docs/pages/testbed/_meta.json b/docs/pages/testbed/_meta.json deleted file mode 100644 index 68bd084d..00000000 --- a/docs/pages/testbed/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "install": "Testbed Install", - "api": "Testbed API" -} diff --git a/docs/pages/testbed/api.md b/docs/pages/testbed/api.md deleted file mode 100644 index 5d8e6d44..00000000 --- a/docs/pages/testbed/api.md +++ /dev/null @@ -1,64 +0,0 @@ -### Testbed API - -To use testbed first create a world, then start simulation. - -```js -// Create a world -const world = new World(); - -// Start simulation -const testbed = Testbed.start(world); -``` - -If you need to access the testbed instance before starting simulation you can mount the testbed first, and later start simulation. - -```js -// Mount testbed -const testbed = Testbed.mount(); - -// Create a world -const world = new World(); - -// Start simulation -testbed.start(world); -``` - -#### Viewbox - -You can adjust testbed viewbox, by setting the viewbox center and dimensions. Viewbox center and dimension are in defined in physical units. Testbed will calculate and set rendering scale and offset to match provided dimensions and center. - -```js -// Viewbox center -testbed.x = 0; -testbed.y = 0; - -// Viewbox size -testbed.width = 30; -testbed.height = 20; -``` - -#### Game-loop callback - -You can add a game loop callback to testbed, it will be called in each frame. - -```js -testbed.step = function() { - // Code to run in each game loop -}; -``` - -#### Display text information - -Testbed has two methods to display information on screen, `info` and `status`. - -```js -// Use info() to print some text on screen -testbed.info('Use arrow keys to move player'); - -testbed.step = function() { - // Use status() to print key-values - // Testbed will retain value of keys until they are changed - testbed.status('score', score); - testbed.status('time', time); -}; -``` diff --git a/docs/pages/testbed/install.md b/docs/pages/testbed/install.md deleted file mode 100644 index 086577e7..00000000 --- a/docs/pages/testbed/install.md +++ /dev/null @@ -1,52 +0,0 @@ -### Testbed Install - -There are multiple way to use testbed: -- Use Piqnt playground -- Install from NPM, or from CDN -- Run locally from source - -#### Use Piqnt playground -[Piqnt](https://piqnt.com/) is an online playground to run testbed code. It is useful to quickly try out physics examples, and share them with others. - -#### NPM -To install testbed from NPM, run `npm install planck`. Then import testbed in your code. - -```bash -npm install planck -``` - -```js -import { World, Testbed } from 'planck/with-testbed'; -``` - -#### Script tag -To use testbed from CDN, add the following script tag to your HTML file. - -```html - - - - - - - - -``` - -#### Run locally from source -Running testbed locally is useful if you want to debug or edit the library or testbed code, or if you want to run testbed examples locally. - -To run testbed from source, clone the repository and run `npm install` and `npm run dev` in the root directory. This will start a local server and open testbed in your browser. - -```bash -git clone -cd planck.js -npm install -npm run dev -``` diff --git a/docs/pages/world.md b/docs/pages/world.md index c5316e4e..bcba60f1 100644 --- a/docs/pages/world.md +++ b/docs/pages/world.md @@ -1,10 +1,13 @@ -# World +--- +showOutline: false +--- + +## World The `World` class contains the bodies and joints. It manages all aspects of the simulation and allows for asynchronous queries (like AABB queries and ray-casts). Much of your interactions with Planck.js will be with a World object. -### Creating a World Creating a world is fairly simple. You just need to provide a gravity vector and a boolean indicating if bodies can sleep. @@ -15,7 +18,6 @@ let myWorld = new World({ }); ``` -### Using a World The world class contains factories for creating and destroying bodies and joints. These factories are discussed later in the sections on bodies and joints. There are some other interactions with World that I diff --git a/docs/pages/world/aabb-query.md b/docs/pages/world/aabb-query.md index 227626cb..5f729a49 100644 --- a/docs/pages/world/aabb-query.md +++ b/docs/pages/world/aabb-query.md @@ -1,4 +1,8 @@ -### AABB Queries +--- +showOutline: false +--- + +## AABB Queries Sometimes you want to determine all the shapes in a region. The World class has a fast O(log N) method for this using the broad-phase data structure. You provide an AABB in world coordinates and an diff --git a/docs/pages/world/ray-cast.md b/docs/pages/world/ray-cast.md index f64652cd..a1a1d5aa 100644 --- a/docs/pages/world/ray-cast.md +++ b/docs/pages/world/ray-cast.md @@ -1,4 +1,8 @@ -### Ray Casts +--- +showOutline: false +--- + +## Ray Casts You can use ray casts to do line-of-sight checks, fire guns, etc. You perform a ray cast by implementing a callback class and providing the start and end points. The world class calls your class with each fixture diff --git a/docs/pages/world/simulation.md b/docs/pages/world/simulation.md index 6525f4b2..3cf1f119 100644 --- a/docs/pages/world/simulation.md +++ b/docs/pages/world/simulation.md @@ -1,4 +1,9 @@ -### Simulation +--- +showOutline: false +--- + +## Simulation + The world class is used to drive the simulation. You specify a time step and a velocity and position iteration count. For example: @@ -39,7 +44,9 @@ myWorld.clearForces(); [todo: clean up next section, it is duplicate] + ### Simulating the World + Planck.js uses a computational algorithm called an integrator. Integrators simulate the physics equations at discrete points of time. This goes along with the traditional game loop where we essentially have a flip diff --git a/docs/pages/images/body_origin.gif b/docs/public/images/body_origin.gif similarity index 100% rename from docs/pages/images/body_origin.gif rename to docs/public/images/body_origin.gif diff --git a/docs/pages/images/captured_toi.svg b/docs/public/images/captured_toi.svg similarity index 100% rename from docs/pages/images/captured_toi.svg rename to docs/public/images/captured_toi.svg diff --git a/docs/pages/images/chain_shape.svg b/docs/public/images/chain_shape.svg similarity index 100% rename from docs/pages/images/chain_shape.svg rename to docs/public/images/chain_shape.svg diff --git a/docs/pages/images/convex_concave.gif b/docs/public/images/convex_concave.gif similarity index 100% rename from docs/pages/images/convex_concave.gif rename to docs/public/images/convex_concave.gif diff --git a/docs/pages/images/distance.svg b/docs/public/images/distance.svg similarity index 100% rename from docs/pages/images/distance.svg rename to docs/public/images/distance.svg diff --git a/docs/pages/images/distance_joint.gif b/docs/public/images/distance_joint.gif similarity index 100% rename from docs/pages/images/distance_joint.gif rename to docs/public/images/distance_joint.gif diff --git a/docs/pages/images/gear_joint.gif b/docs/public/images/gear_joint.gif similarity index 100% rename from docs/pages/images/gear_joint.gif rename to docs/public/images/gear_joint.gif diff --git a/docs/pages/images/ghost_collision.svg b/docs/public/images/ghost_collision.svg similarity index 100% rename from docs/pages/images/ghost_collision.svg rename to docs/public/images/ghost_collision.svg diff --git a/docs/pages/images/ghost_vertices.svg b/docs/public/images/ghost_vertices.svg similarity index 100% rename from docs/pages/images/ghost_vertices.svg rename to docs/public/images/ghost_vertices.svg diff --git a/docs/pages/images/manifolds.svg b/docs/public/images/manifolds.svg similarity index 100% rename from docs/pages/images/manifolds.svg rename to docs/public/images/manifolds.svg diff --git a/docs/pages/images/missed_toi.svg b/docs/public/images/missed_toi.svg similarity index 100% rename from docs/pages/images/missed_toi.svg rename to docs/public/images/missed_toi.svg diff --git a/docs/pages/images/modules.svg b/docs/public/images/modules.svg similarity index 100% rename from docs/pages/images/modules.svg rename to docs/public/images/modules.svg diff --git a/docs/pages/images/overlap_test.svg b/docs/public/images/overlap_test.svg similarity index 100% rename from docs/pages/images/overlap_test.svg rename to docs/public/images/overlap_test.svg diff --git a/docs/pages/images/prismatic_joint.gif b/docs/public/images/prismatic_joint.gif similarity index 100% rename from docs/pages/images/prismatic_joint.gif rename to docs/public/images/prismatic_joint.gif diff --git a/docs/pages/images/pulley_joint.gif b/docs/public/images/pulley_joint.gif similarity index 100% rename from docs/pages/images/pulley_joint.gif rename to docs/public/images/pulley_joint.gif diff --git a/docs/pages/images/raycast.svg b/docs/public/images/raycast.svg similarity index 100% rename from docs/pages/images/raycast.svg rename to docs/public/images/raycast.svg diff --git a/docs/pages/images/revolute_joint.gif b/docs/public/images/revolute_joint.gif similarity index 100% rename from docs/pages/images/revolute_joint.gif rename to docs/public/images/revolute_joint.gif diff --git a/docs/pages/images/self_intersect.svg b/docs/public/images/self_intersect.svg similarity index 100% rename from docs/pages/images/self_intersect.svg rename to docs/public/images/self_intersect.svg diff --git a/docs/pages/images/skin_collision.svg b/docs/public/images/skin_collision.svg similarity index 100% rename from docs/pages/images/skin_collision.svg rename to docs/public/images/skin_collision.svg diff --git a/docs/pages/images/skinned_polygon.svg b/docs/public/images/skinned_polygon.svg similarity index 100% rename from docs/pages/images/skinned_polygon.svg rename to docs/public/images/skinned_polygon.svg diff --git a/docs/pages/images/tunneling1.svg b/docs/public/images/tunneling1.svg similarity index 100% rename from docs/pages/images/tunneling1.svg rename to docs/public/images/tunneling1.svg diff --git a/docs/pages/images/tunneling2.svg b/docs/public/images/tunneling2.svg similarity index 100% rename from docs/pages/images/tunneling2.svg rename to docs/public/images/tunneling2.svg diff --git a/docs/pages/images/wheel_joint.svg b/docs/public/images/wheel_joint.svg similarity index 100% rename from docs/pages/images/wheel_joint.svg rename to docs/public/images/wheel_joint.svg diff --git a/docs/pages/images/winding.svg b/docs/public/images/winding.svg similarity index 100% rename from docs/pages/images/winding.svg rename to docs/public/images/winding.svg diff --git a/docs/styles.css b/docs/styles.css new file mode 100644 index 00000000..0a7fc494 --- /dev/null +++ b/docs/styles.css @@ -0,0 +1,14 @@ +p img { + display: block; + margin-left: auto; + margin-right: auto; +} + +.dark p img { + filter: invert(0.8); +} + +.vocs_Sidebar_sectionTitle { + font-weight: var(--vocs-fontWeight_medium); + color: var(--vocs-color_text3); +} diff --git a/docs/theme.config.tsx b/docs/theme.config.tsx deleted file mode 100644 index 3bd2f658..00000000 --- a/docs/theme.config.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react' -import { DocsThemeConfig } from 'nextra-theme-docs' - -const config: DocsThemeConfig = { - logo: Planck.js, - logoLink: false, - docsRepositoryBase: 'https://github.com/piqnt/planck.js', - sidebar: { - autoCollapse: true, - defaultMenuCollapseLevel: 1, - }, - footer: { - component: null, - }, - feedback: { - content: null, - }, - editLink: { - component: null, - }, - useNextSeoProps() { - return { - titleTemplate: '%s – Planck.js' - } - } -} - -export default config diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 1563f3e8..d2636aac 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,20 +1,24 @@ { "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", "skipLibCheck": true, - "strict": false, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "incremental": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve" + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "include": ["**/*.ts", "**/*.tsx"] } diff --git a/docs/vercel.json b/docs/vercel.json new file mode 100644 index 00000000..d08033c4 --- /dev/null +++ b/docs/vercel.json @@ -0,0 +1,8 @@ +{ + "rewrites": [ + { + "source": "/stage.js/docs/:path*", + "destination": "/:path*" + } + ] +} diff --git a/docs/vocs.config.ts b/docs/vocs.config.ts new file mode 100644 index 00000000..08fb1a95 --- /dev/null +++ b/docs/vocs.config.ts @@ -0,0 +1,86 @@ +import { defineConfig } from 'vocs'; + +export default defineConfig({ + title: 'Planck.js', + rootDir: '.', + basePath: "/planck.js/docs/", + baseUrl: "/planck.js/docs/", + topNav: [ + { text: 'API Reference', link: '/api/'}, + { text: 'GitHub', link: 'https://github.com/piqnt/planck.js/'}, + { text: 'Discord', link: 'https://discord.gg/znjh6J7'}, + ], + sidebar: [ + { + text: 'Getting Started', + collapsed: true, + items: [ + { link: "/", text: "Introduction" }, + { link: "/install", text: "Install" }, + { link: "/hello-world", text: "Hello World" }, + { link: "/core-concepts", text: "Core Concepts" }, + ], + }, + + { + text: 'API Conventions', + collapsed: true, + items: [ + { link: "/api-conventions/units", text: "Units" }, + { link: "/api-conventions/factories-and-definitions", text: "Factories and Definitions" }, + { link: "/api-conventions/implicit-destruction", text: "Implicit Destruction" }, + { link: "/api-conventions/user-data", text: "User Data" }, + ], + }, + + { link: "/world", text: "World" }, + { link: "/body", text: "Body" }, + { link: "/fixture", text: "Fixture" }, + + { + text: 'Shape', + collapsed: true, + link: "/shape", + items: [ + { link: "/shape", text: "Shape" }, + { link: "/shape/circle", text: "Circle" }, + { link: "/shape/polygon", text: "Polygon" }, + { link: "/shape/edge", text: "Edge" }, + { link: "/shape/chain", text: "Chain" }, + ], + }, + + { + text: 'Joint', + collapsed: true, + link: "/joint", + items: [ + { link: "/joint", text: "Joint" }, + { link: "/joint/distance-joint", text: "Distance Joint" }, + { link: "/joint/friction-joint", text: "Friction Joint" }, + { link: "/joint/gear-joint", text: "Gear Joint" }, + { link: "/joint/motor-joint", text: "Motor Joint" }, + { link: "/joint/prismatic-joint", text: "Prismatic Joint" }, + { link: "/joint/pulley", text: "Pulley" }, + { link: "/joint/revolute-joint", text: "Revolute Joint" }, + { link: "/joint/rope-joint", text: "Rope Joint" }, + { link: "/joint/weld-joint", text: "Weld Joint" }, + { link: "/joint/wheel-joint", text: "Wheel Joint" }, + { link: "/joint/mouse-joint", text: "Mouse Joint" }, + ], + }, + + { link: "/contacts", text: "Contacts" }, + { link: "/collision", text: "Collision" }, + + { link: "/world/simulation", text: "Simulation" }, + { link: "/rendering", text: "Rendering" }, + + { link: "/testbed", text: "Testbed" }, + + { link: "/limitations", text: "Limitations" }, + { link: "/api/", text: "API Reference" }, + { link: "/references-resources", text: "References & Resources" }, + { link: "/credits", text: "Credits & License" }, + ], +}) diff --git a/typedoc.json b/typedoc.json index eca0615c..15081cb0 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,8 +1,9 @@ { - "name": "Planck.js API Doc", - "readme": "./docs/API.md", + "name": "API Reference", + "readme": "./docs/pages/misc/api-reference.md", "inputFiles": ["./src", "./testbed"], - "out": "./docs/api/", + "out": "./docs/pages/api/", + "publicPath": "/api/", "mode": "file", "includeDeclarations": false, "exclude": [ @@ -16,11 +17,13 @@ "src/util/Timer*", "src/common/Matrix*", "testbed/*", + "docs/*", "dist/*" ], "disableSources": true, "excludeExternals": true, "excludePrivate": true, "stripInternal": true, - "excludeNotExported": true + "excludeNotExported": true, + "hideBreadcrumbs": true }