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..f735d5c9 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](./world/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..bb89c61f 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](./world/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..5d5ffddb
--- /dev/null
+++ b/docs/vercel.json
@@ -0,0 +1,8 @@
+{
+ "rewrites": [
+ {
+ "source": "/planck.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
}