diff --git a/CHANGELOG.md b/CHANGELOG.md
index d5493a23..da1fa207 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,23 @@
## [unreleased]
+## [0.1.0]
+
+- #49:
+
+ - Performs a bunch of README etc updates in preparation for the `0.1.0`
+ release.
+
+ - Bumps portal to `0.42.1` and enables the Leva portal viewers.
+
+ - Removes custom JS compilation from the `emmy-viewers/clerk` template, which
+ no longer needs it thanks to our precompiled JS.
+
+ - Sets a default camera `:up` direction of `[0 0 1]`, removing the need to
+ emit in `xzy` order. This would almost certainly have been ultra confusing
+ to anyone trying to extend the library. Thanks to @ChristopherChudzicki for
+ the suggestion here.
+
- #44:
- Adds `emmy.viewer.physics` and `emmy.mathbox.physics` in support of the new
diff --git a/README.md b/README.md
index 931b1ee6..f9724539 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,9 @@
# Emmy-Viewers
-A library of functions for building high-performance interactive 2D and 3D
-mathematical scenes powered by the [Emmy][emmy-url] computer algebra system.
-
-Emmy-Viewers makes it easy to use either [Clerk][clerk-url] or
-[Portal][portal-url]
+Emmy-Viewers is a library of tools for visually rendering mathematical objects
+found in the [Emmy](https://github.com/mentat-collective/emmy) computer algebra
+system. These tools allow you to build symbolic representations and 2D and 3D
+mathematical scenes for exploring physical and mathematical worlds.
@@ -16,26 +15,133 @@ Emmy-Viewers makes it easy to use either [Clerk][clerk-url] or
-## Quickstart with Clerk
+## Examples
+
+The first example uses the functions in the
+[`emmy.mafs`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.mafs)
+namespace to plot
+
+- `((cube D) tanh)`, the third derivative of the [hyperbolic tangent
+ function](https://mathworld.wolfram.com/HyperbolicTangent.html), shifted by
+ the `x`-value of the (interactive, try sliding!) pink point in the scene, and
+- the inequality between that function and `(cos x)`:
+
+```clojure
+(emmy.viewer/with-let [!phase [0 0]]
+ (let [shifted (emmy.viewer/with-params {:atom !phase :params [0]}
+ (fn [shift]
+ (((cube D) tanh) (- identity shift))))]
+ (emmy.mafs/mafs
+ {:height 400}
+ (emmy.mafs/cartesian)
+ (emmy.mafs/of-x shifted)
+ (emmy.mafs/inequality
+ {:y {:<= shifted :> cos} :color :blue})
+ (emmy.mafs/movable-point
+ {:atom !phase :constrain "horizontal"}))))
+```
+
+![2023-06-26 16 53 03](https://github.com/mentat-collective/emmy-viewers/assets/69635/075fe878-db6c-4249-84bd-d83109b3e3c9)
+
+> **Note**
+> To play with interactive versions of these examples, visit
+> https://emmy-viewers.mentat.org.
+
+The next example uses the functions in
+[`emmy.mathbox.plot`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.mathbox.plot)
+and
+[`emmy.leva`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.leva)
+to plot the functions
-Install `emmy-viewers` into your Clojure project using the instructions at
-its Clojars page:
+- $f(x, y) := D^3\tanh(x) + \sin(y-\texttt{phase})$
+- $g(y) := \texttt{shift} * \cos(y - \texttt{phase})$
+
+where $\texttt{phase}$ is supplied by the interactive slider hovering in the top
+right:
+
+```clojure
+(emmy.viewer/with-let [!phase {:phase 0}]
+ (emmy.mathbox.plot/scene
+ (emmy.leva/controls
+ {:folder {:name "Intro Demo"}
+ :schema {:phase {:min -4 :max 4 :step 0.01}}
+ :atom !phase})
+ (emmy.mathbox.plot/of-y
+ {:z (ev/with-params {:atom !phase :params [:phase]}
+ (fn [shift]
+ (fn [y]
+ (* shift (sin (- y shift))))))
+
+ :color "LimeGreen"})
+ (emmy.mathbox.plot/of-xy
+ {:color "#3090FF"
+ :z (ev/with-params {:atom !phase :params [:phase]}
+ (fn [shift]
+ (fn [[x y]]
+ (+ (((cube D) tanh) x)
+ (sin (- y shift))))))})))
+```
+
+![2023-06-26 16 54 26](https://github.com/mentat-collective/emmy-viewers/assets/69635/b0a48fab-6d16-4a56-8504-3835c09c648b)
+
+Emmy-Viewers uses either [Clerk][portal-url] or [Portal][portal-url] as a
+presentation environment.
+
+## Quickstart
+
+Install `Emmy-Viewers` into your Clojure project using the instructions at its
+Clojars page:
[![Clojars Project][clojars]][clojars-url]
Or grab the most recent code using a Git dependency:
```clj
-;; replace $GIT_SHA with the sha you'd like to target!
+replace $GIT_SHA with the sha you'd like to target!
{io.github.mentat-collective/emmy-viewers
{:git/url "https://github.com/mentat-collective/emmy-viewers.git"
:git/sha "$GIT_SHA"}}
```
-Then install Clerk: [![Clojars Project][clerk-clojars]][clerk-clojars-url]
+Next visit ["Quickstart via Clerk"](#quickstart-via-clerk) to build scenes using
+[Clerk](http://github.com/nextjournal/clerk), or ["Quickstart via
+Portal"](#quickstart-via-portal) to use
+[Portal](https://github.com/djblue/portal).
+
+### Quickstart via Clerk
-Create a namespace called `emmy.demo`, and install our default Clerk viewers
+The fastest way to get started with Clerk is to use the [`emmy-viewers/clerk`
+project template](#clerk-project-template). Jump there, or read on to set
+Clerk up manually.
+
+Install Clerk by adding the following entry to your `deps.edn`:
+
+```clojure
+{:deps
+ {
+ io.github.nextjournal/clerk {:mvn/version "0.14.919"}}}
+```
+
+Require and start `emmy.clerk` in your `user.clj`:
+
+```clojure
+(ns user
+ (:require [emmy.clerk :as ec]))
+
+;; start Clerk's built-in webserver on the default port 7777, opening the
+;; browser when done
+(ec/serve! {:browse true})
+```
+
+> **Note**
+> See Clerk's ["Using
+> Clerk"](https://github.com/nextjournal/clerk#-using-clerk) section for more
+> configuration options. Replace any call in that guide to
+> `nextjournal.clerk/{serve!,halt!,build!}` with
+> `emmy.clerk/{serve!,halt!,build!}`.
+
+Create a file called `emmy/demo.clj` and install our default Clerk viewers
from `emmy.clerk`:
```clojure
@@ -54,7 +160,17 @@ from `emmy.clerk`:
(ec/install!)
```
-Add this line to the file to plot a function using the [Mafs][mafs-url]:
+> **Note**
+> This namespace imports every function
+> from [`emmy.env`](https://cljdoc.org/d/org.mentat/emmy/0.31.0/api/emmy.env).
+> You'll need to build your mathematical functions out of these `emmy.env`
+> functions to use them with Emmy-Viewers 2D and 3D plotting capabilities.
+
+Thanks to the `ec/install!` call above, the return values of all Emmy-Viewers
+functions will be able to present themselves graphically.
+
+Add this line to plot the sine function using
+the [Mafs.cljs](https://mafs.mentat.org/) 2D plotting library:
```clojure
(mafs/of-x sin {:color :blue})
@@ -63,17 +179,151 @@ Add this line to the file to plot a function using the [Mafs][mafs-url]:
Render it by calling `(nextjournal.clerk/show! "src/emmy/demo.clj")` at the
REPL. You'll see the following:
-;; TODO insert picture, add more getting started info with a MathBox example.
+![Mafs plot example](https://github.com/mentat-collective/emmy-viewers/assets/69635/446cd61f-0795-4375-bb67-4a2b687c9a2e)
+
+> See the [Mafs Guide](https://emmy-viewers.mentat.org/dev/examples/mafs) for 2D plotting examples.
+
+Use `plot/scene` to render multiple plots onto a 3D canvas:
+
+```clojure
+(plot/scene
+ (plot/of-x {:z sin})
+ (plot/parametric-curve
+ {:f (up sin cos (/ identity 3))
+ :t [-10 10]
+ :color :green}))
+```
+
+![MathBox plot example](https://github.com/mentat-collective/emmy-viewers/assets/69635/3349cff0-744c-40fa-b996-1d324162b3d9)
+
+> See the [MathBox Guide](https://emmy-viewers.mentat.org/dev/examples/mafs) for 3D plotting examples.
+
+Next, try clicking the 'show code' link for the examples at the top of the
+page and pasting their source into your namespace. Then visit the ["Specific
+Guides"](#specific-guides) section, and click through ["Demos"](#demos) for
+inspiration.
+
+### Quickstart via Portal
+
+Follow the [Portal Usage
+instructions](https://github.com/djblue/portal#usage) to the point where you
+have the Portal dependency installed and loadable.
+
+You'll also need to install [node.js](https://nodejs.org/en/) to download
+JavaScript dependencies.
+
+Test your installation by running this command at the REPL:
+
+```clojure
+(require '[portal.api :as p])
+```
-## Quickstart with Portal
+If this returns `nil` you're all set.
-;; TODO fill in.
+Require `emmy.portal` in your `user.clj`, and call `prepare!` to make sure
+you've downloaded all JavaScript dependencies from `npm`:
-## Demo Instructions
+```clojure
+(ns user
+ (:require [emmy.portal :as ep]))
+
+;; This really only needs to be run once, but run it at each system start to
+;; be safe.
+(ep/prepare!)
+```
+
+Start the Emmy-Viewers customization of Portal:
+
+```clojure
+(def portal
+ (ep/start!
+ {:emmy.portal/tex {:macros {"\\f" "#1f(#2)"}}
+ :theme :portal.colors/zenburn}))
+```
-The project's [demos][emmy-viewers-url] are generated using Nextjournal's
-[Clerk][clerk-url]. If you'd like to edit or play with the demos, you'll need to
-install
+The options passed above are optional; `:emmy.portal/tex` customizes the
+[katex](https://katex.org/) viewer with any option allowed by [katex's option
+support](https://katex.org/docs/options.html), while `:theme` sets a custom
+theme. You can pass any [Portal
+theme](https://cljdoc.org/d/djblue/portal/0.42.1/doc/ui-concepts/themes) that
+you like, or remove this entry.
+
+Use `tap>` to send values to Portal:
+
+```clojure
+(tap> (mafs/of-x sin {:color :indigo}))
+```
+
+
+
+
+
+`tap>` an Emmy symbolic expression:
+
+```clojure
+(tap> (((exp D) (literal-function 'f)) 'x))
+```
+
+then click the cell in the Portal UI and choose `:emmy.portal/tex` from the
+viewer list at the bottom. You should see the expression transform into nicely
+typeset mathematics.
+
+
+
+
+
+> **Note**
+> Currently anything from `emmy.mafs`, `emmy.leva`, `emmy.jsxgraph` and
+> `emmy.mathlive` will render. MathBox support is coming soon!
+
+Visit the ["Specific Guides"](#specific-guides) section, and click
+through ["Demos"](#demos) for inspiration.
+
+## Specific Guides
+
+- [MathBox Guide](https://emmy-viewers.mentat.org/dev/examples/mathbox)
+- [Mafs Guide](https://emmy-viewers.mentat.org/dev/examples/mafs)
+- [Leva Guide](https://emmy-viewers.mentat.org/dev/examples/leva)
+
+[JSXGraph.cljs](https://github.com/mentat-collective/jsxgraph.cljs) and
+[MathLive.cljs](https://github.com/mentat-collective/jsxgraph.cljs) guides are
+coming soon.
+
+## Demos
+
+These demos are in-progress, more advanced demonstrations of the capabilities of
+Emmy-Viewers. I'm using these as test cases to flesh out the more settled API,
+so please read them with that in mind!
+
+- [examples.manifold.fdg](https://emmy-viewers.mentat.org/dev/examples/manifold/fdg)
+- [examples.manifold.klein](https://emmy-viewers.mentat.org/dev/examples/manifold/klein)
+- [examples.manifold.pq-knot](https://emmy-viewers.mentat.org/dev/examples/manifold/pq_knot)
+- [examples.mathbox.cube-controls](https://emmy-viewers.mentat.org/dev/examples/mathbox/cube_controls)
+- [examples.mathbox.functions](https://emmy-viewers.mentat.org/dev/examples/mathbox/functions)
+- [examples.mathbox.geom](https://emmy-viewers.mentat.org/dev/examples/mathbox/geom)
+- [examples.mathbox.ode](https://emmy-viewers.mentat.org/dev/examples/mathbox/ode)
+- [examples.mathbox.quickstart](https://emmy-viewers.mentat.org/dev/examples/mathbox/quickstart)
+- [examples.simulation.cylinder-flow](https://emmy-viewers.mentat.org/dev/examples/simulation/cylinder_flow)
+- [examples.simulation.double-ellipsoid](https://emmy-viewers.mentat.org/dev/examples/simulation/double_ellipsoid)
+- [examples.simulation.ellipsoid](https://emmy-viewers.mentat.org/dev/examples/simulation/ellipsoid)
+- [examples.simulation.lorenz](https://emmy-viewers.mentat.org/dev/examples/simulation/lorenz)
+- [examples.simulation.oscillator](https://emmy-viewers.mentat.org/dev/examples/simulation/oscillator)
+- [examples.simulation.phase-portrait](https://emmy-viewers.mentat.org/dev/examples/simulation/phase_portrait)
+- [examples.simulation.quartic-well](https://emmy-viewers.mentat.org/dev/examples/simulation/quartic_well)
+- [examples.simulation.toroid](https://emmy-viewers.mentat.org/dev/examples/simulation/toroid)
+- [examples.vega.pendulum](https://emmy-viewers.mentat.org/dev/examples/vega/pendulum)
+
+## Interactive Demos via Clerk
+
+The project's [interactive documentation][emmy-viewers-url] was generated using
+Nextjournal's [Clerk][clerk-url]. If you'd like to edit or play with the
+documentation or demos, you'll need to install
- The [Clojure command line tool](https://clojure.org/guides/install_clojure)
- [Babashka](https://github.com/babashka/babashka#installation)
@@ -92,8 +342,8 @@ bb clerk-watch
```
This will open a browser window to `http://localhost:7777` with the contents of
-the documentation notebook. Any edits you make to any file in the `src` or `dev`
-directories will be picked up and displayed in the browser on save.
+the main documentation notebook. Any edits you make to any file in the `src` or
+`dev` directories will be picked up and displayed in the browser on save.
## Dependencies
@@ -103,6 +353,7 @@ These viewers are built on the following libraries:
- [JSXGraph.cljs][jsxgraph-url]
- [Mafs.cljs][mafs-url]
- [Leva.cljs][leva-url]
+- [MathLive.cljs][mathlive-url]
## Thanks and Support
@@ -110,6 +361,11 @@ To support this work and my other open source projects, consider sponsoring me
via my [GitHub Sponsors page](https://github.com/sponsors/sritchie). Thank you
to my current sponsors!
+I'm grateful to [Clojurists Together](https://www.clojuriststogether.org/) for
+financial support during this library's creation. Please consider [becoming a
+member](https://www.clojuriststogether.org/developers/) to support this work and
+projects like it.
+
## License
Copyright © 2022-2023 Sam Ritchie.
@@ -137,6 +393,7 @@ Distributed under the [MIT License](LICENSE). See [LICENSE](LICENSE).
[license]: https://img.shields.io/badge/license-MIT-brightgreen.svg
[mafs-url]: https://mafs.mentat.org
[mathbox-url]: https://mathbox.mentat.org
+[mathlive-url]: https://mathlive.mentat.org
[mentat-slack-url]: https://clojurians.slack.com/archives/C041G9B1AAK
[portal-url]: https://github.com/djblue/portal
[reagent-url]: https://reagent-project.github.io/
diff --git a/build.clj b/build.clj
index b1b77a3f..263fdb64 100644
--- a/build.clj
+++ b/build.clj
@@ -20,7 +20,13 @@
(def version "0.1.0")
(def pom-deps
{'org.babashka/sci
- {:mvn/version "0.6.37"
+ {:mvn/version "0.7.39"
+ :mvn/scope "provided"}
+ 'io.github.nextjournal/clerk
+ {:mvn/version "0.14.919"
+ :mvn/scope "provided"}
+ 'djblue/portal
+ {:mvn/version "0.42.1"
:mvn/scope "provided"}})
(defn- ->version
diff --git a/deps.edn b/deps.edn
index e4547b50..af4f272f 100644
--- a/deps.edn
+++ b/deps.edn
@@ -4,7 +4,7 @@
org.mentat/emmy {:mvn/version "0.31.0"}
org.mentat/jsxgraph.cljs {:mvn/version "0.2.1"}
org.mentat/leva.cljs {:mvn/version "0.3.0"}
- org.mentat/mathbox.cljs {:mvn/version "0.2.0"}
+ org.mentat/mathbox.cljs {:mvn/version "0.2.2"}
org.mentat/mathlive.cljs {:mvn/version "0.2.1"}
org.mentat/mafs.cljs {:mvn/version "0.3.0"}
org.mentat/clerk-utils {:mvn/version "0.6.0"}}
@@ -17,18 +17,17 @@
org.clojure/clojurescript {:mvn/version "1.11.60"}
io.github.nextjournal/cas-client
{:git/sha "84ab35c3321c1e51a589fddbeee058aecd055bf8"}
- io.github.nextjournal/clerk
- {:git/sha "1f6c5331418aaf9c5a4335fc2e6e95f07dc3af6b"}
+ io.github.nextjournal/clerk {:mvn/version "0.14.919"}
io.github.nextjournal/clerk.render
{:git/url "https://github.com/nextjournal/clerk"
- :git/sha "1f6c5331418aaf9c5a4335fc2e6e95f07dc3af6b"
+ :git/sha "4c4983182061abd24201cd43fab6ee55dc16b7e8"
:deps/root "render"}}
:exec-fn user/build!}
:portal
{:extra-paths ["dev"]
:extra-deps
- {djblue/portal {:mvn/version "0.42.0"}}}
+ {djblue/portal {:mvn/version "0.42.1"}}}
:cljs
{:extra-deps
diff --git a/dev/emmy_viewers/notebook.clj b/dev/emmy_viewers/notebook.clj
index 8d5b0d98..18bed5be 100644
--- a/dev/emmy_viewers/notebook.clj
+++ b/dev/emmy_viewers/notebook.clj
@@ -4,22 +4,37 @@
(:refer-clojure
:exclude [+ - * / zero? compare divide numerator denominator
infinite? abs ref partial =])
- (:require [emmy.env :as e :refer :all]
+ (:require [emmy.clerk :as ec]
+ [emmy.env :as e :refer :all]
+ [emmy.leva :as leva]
+ [emmy.mafs :as mafs]
+ [emmy.mathbox.plot :as plot]
+ [emmy.viewer :as ev]
[mentat.clerk-utils.docs :as docs]
[nextjournal.clerk :as clerk]))
-;; # Emmy-Viewers [ALPHA!]
+{:nextjournal.clerk/width :wide}
+
+^{:nextjournal.clerk/visibility {:code :hide :result :hide}}
+(ec/install!)
+
+;; # Emmy-Viewers
;;
-;; Visualizations over [Emmy](https://emmy.mentat.org).
+;; A library of functions for building high-performance interactive symbolic
+;; representations and 2D and 3D mathematical scenes powered by
+;; the [Emmy](https://github.com/mentat-collective/emmy) computer algebra
+;; system.
-{::clerk/visibility {:code :hide}}
+^{::clerk/visibility {:code :hide}}
(clerk/html
[:<>
[:center
(clerk/md
"[![Build Status](https://github.com/mentat-collective/emmy/actions/workflows/kondo.yml/badge.svg?branch=main)](https://github.com/mentat-collective/emmy/actions/workflows/kondo.yml)
[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/mentat-collective/emmy/blob/main/LICENSE)
-[![cljdoc badge](https://cljdoc.org/badge/org.mentat/emmy)](https://cljdoc.org/d/org.mentat/emmy/CURRENT)")]])
+[![cljdoc badge](https://cljdoc.org/badge/org.mentat/emmy-viewers)](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT)
+[![Clojars Project](https://img.shields.io/clojars/v/org.mentat/emmy-viewers.svg)](https://clojars.org/org.mentat/emmy-viewers)
+[![Discord Shield](https://img.shields.io/discord/731131562002743336?style=flat&colorA=000000&colorB=000000&label=&logo=discord)](https://discord.gg/hsRBqGEeQ4)")]])
;;
;;
;;
@@ -37,54 +52,291 @@
;;
;; ## What is Emmy-Viewers?
;;
-;; TODO
+;; Emmy-Viewers is a library of tools for visually rendering mathematical
+;; objects found in the [Emmy](https://github.com/mentat-collective/emmy)
+;; computer algebra system. These tools allow you to build interactive scenes
+;; for exploring physical and mathematical worlds.
+;;
+;; The first example uses the functions in
+;; the [`emmy.mafs`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.mafs)
+;; namespace to plot
+;;
+;; - `((cube D) tanh)`, the third derivative of the [hyperbolic tangent
+;; function](https://mathworld.wolfram.com/HyperbolicTangent.html), shifted by
+;; the `x`-value of the (interactive, try sliding!) pink point in the scene, and
+;; - the inequality between that function and `(cos x)`:
+;;
+;; > The 'show code' link below will expand the example's source.
+
+^{::clerk/visibility {:code :fold}}
+(emmy.viewer/with-let [!phase [0 0]]
+ (let [shifted (emmy.viewer/with-params {:atom !phase :params [0]}
+ (fn [shift]
+ (((cube D) tanh) (- identity shift))))]
+ (emmy.mafs/mafs
+ {:height 400}
+ (emmy.mafs/cartesian)
+ (emmy.mafs/of-x shifted)
+ (emmy.mafs/inequality
+ {:y {:<= shifted :> cos} :color :blue})
+ (emmy.mafs/movable-point
+ {:atom !phase :constrain "horizontal"}))))
+
+;; The next example uses the functions
+;; in [`emmy.mathbox.plot`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.mathbox.plot) and [`emmy.leva`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.leva)
+;; to plot the functions
+;;
+;; - $f(x, y) := D^3\tanh(x) + \sin(y-\texttt{phase})$
+;; - $g(y) := \texttt{shift} * \cos(y - \texttt{phase})$
+;;
+;; where $\texttt{phase}$ is supplied by the interactive slider hovering in the
+;; top right:
+
+^{::clerk/visibility {:code :fold}}
+(emmy.viewer/with-let [!phase {:phase 0}]
+ (emmy.mathbox.plot/scene
+ (emmy.leva/controls
+ {:folder {:name "Intro Demo"}
+ :schema {:phase {:min -4 :max 4 :step 0.01}}
+ :atom !phase})
+ (emmy.mathbox.plot/of-y
+ {:z (ev/with-params {:atom !phase :params [:phase]}
+ (fn [shift]
+ (fn [y]
+ (* shift (sin (- y shift))))))
+
+ :color "LimeGreen"})
+ (emmy.mathbox.plot/of-xy
+ {:color "#3090FF"
+ :z (ev/with-params {:atom !phase :params [:phase]}
+ (fn [shift]
+ (fn [[x y]]
+ (+ (((cube D) tanh) x)
+ (sin (- y shift))))))})))
+
+;; Emmy-Viewers uses either [Clerk](https://github.com/nextjournal/clerk) or
+;; [Portal](https://github.com/djblue/portal) as a presentation environment.
+;;
;;
;; ## Quickstart
+
+;;Install Emmy-Viewers into your Clojure project using the instructions at its
+;; Clojars page:
+
+;; [![Clojars
+;; Project](https://img.shields.io/clojars/v/org.mentat/emmy-viewers.svg)](https://clojars.org/org.mentat/emmy-viewers)
;;
-;; Grab the most recent code using a Git dependency:
+;; Or grab the most recent code by adding a Git dependency to your `deps.edn`
+;; file:
^{::clerk/visibility {:code :hide}}
-(docs/git-dependency
- "mentat-collective/emmy-viewers")
+(clerk/md
+ (format
+ "```clojure
+{:deps
+ {org.mentat/emmy-viewers
+ {:git/url \"https://github.com/mentat-collective/emmy-viewers.git\"
+ :git/sha \"%s\"}}}
+ ```" (docs/git-sha)))
+
+;; Next visit ["Quickstart via Clerk"](#quickstart-via-clerk) to build scenes
+;; using [Clerk](http://github.com/nextjournal/clerk), or ["Quickstart via
+;; Portal"](#quickstart-via-portal) to
+;; use [Portal](https://github.com/djblue/portal).
+;;
+;;
+;; ### Quickstart via Clerk
+;;
+;; The fastest way to get started with Clerk is to use the [`emmy-viewers/clerk`
+;; project template](#clerk-project-template). Jump there, or read on to set
+;; Clerk up manually.
+
+;; Install Clerk by adding the following entry to your `deps.edn`:
+;;
+;; ```clojure
+;; {:deps
+;; {
+;; io.github.nextjournal/clerk {:mvn/version "0.14.919"}}}
+;; ```
+;;
+;; Require and start `emmy.clerk` in your `user.clj`:
+;;
+;; ```clojure
+;; (ns user
+;; (:require [emmy.clerk :as ec]))
+
+;; ;; start Clerk's built-in webserver on the default port 7777, opening the
+;; ;; browser when done
+;; (ec/serve! {:browse true})
+;; ```
+;;
+;; > See Clerk's ["Using
+;; > Clerk"](https://github.com/nextjournal/clerk#-using-clerk) section for more
+;; > configuration options. Replace any call in that guide to
+;; > `nextjournal.clerk/{serve!,halt!,build!}` with
+;; > `emmy.clerk/{serve!,halt!,build!}`.
+
+;; Create a file called `emmy/demo.clj` and install our default Clerk viewers
+;; from `emmy.clerk`:
+
+;; ```clojure
+;; (ns emmy.demo
+;; (:refer-clojure
+;; :exclude [+ - * / zero? compare divide numerator denominator
+;; infinite? abs ref partial =])
+;; (:require [emmy.clerk :as ec]
+;; [emmy.env :as e :refer :all]
+;; [emmy.mafs :as mafs]
+;; [emmy.mathbox.plot :as plot]
+;; [emmy.viewer :as ev]
+;; [nextjournal.clerk :as clerk]))
+
+;; ^{::clerk/visibility {:code :hide :result :hide}}
+;; (ec/install!)
+;; ```
+;;
+;; > This namespace imports every function
+;; > from [`emmy.env`](https://cljdoc.org/d/org.mentat/emmy/0.31.0/api/emmy.env).
+;; > You'll need to build your mathematical functions out of these `emmy.env`
+;; > functions to use them with Emmy-Viewers 2D and 3D plotting capabilities.
+;;
+;; Thanks to the `ec/install!` call above, the return values of all Emmy-Viewers
+;; functions will be able to present themselves graphically.
+;;
+;; Add this line to plot the sine function using
+;; the [Mafs.cljs](https://mafs.mentat.org/) 2D plotting library:
+
+(mafs/of-x sin {:color :blue})
+
+;; Render it by calling `(nextjournal.clerk/show! "src/emmy/demo.clj")` at the
+;; REPL.
+
+;; > See the [Mafs Guide](/dev/examples/mafs) for 2D plotting examples.
+
+;; Use `plot/scene` to render multiple plots onto a 3D canvas:
+
+(plot/scene
+ (plot/of-x {:z sin})
+ (plot/parametric-curve
+ {:f (up sin cos (/ identity 3))
+ :t [-10 10]
+ :color :green}))
+
+;; > See the [MathBox Guide](/dev/examples/mafs) for 3D plotting examples.
+;;
+;; Next, try clicking the 'show code' link for the examples at the top of the
+;; page and pasting their source into your namespace. Then visit the ["Specific
+;; Guides"](#specific-guides) section, and click through ["Demos"](#demos) for
+;; inspiration.
+
+;; ### Quickstart via Portal
+;;
+;; Follow the [Portal Usage
+;; instructions](https://github.com/djblue/portal#usage) to the point where you
+;; have the Portal dependency installed and loadable.
+;;
+;; You'll also need to install [node.js](https://nodejs.org/en/) to download
+;; JavaScript dependencies.
+;;
+;; Test your installation by running this command at the REPL:
+
+;; ```clojure
+;; (require '[portal.api :as p])
+;; ```
+;;
+;; If this returns `nil` you're all set.
+
+;; Require `emmy.portal` in your `user.clj`, and call `prepare!` to make sure
+;; you've downloaded all JavaScript dependencies from `npm`:
+;;
+;; ```clojure
+;; (ns user
+;; (:require [emmy.portal :as ep]))
+;;
+;; ;; This really only needs to be run once, but run it at each system start to
+;; ;; be safe.
+;; (ep/prepare!)
+;; ```
+;;
+;; Start the Emmy-Viewers customization of Portal:
+;;
+;; ```clojure
+;; (def portal
+;; (ep/start!
+;; {:emmy.portal/tex {:macros {"\\f" "#1f(#2)"}}
+;; :theme :portal.colors/zenburn}))
+;; ```
+;;
+;; The options passed above are optional; `:emmy.portal/tex` customizes
+;; the [katex](https://katex.org/) viewer with any option allowed by [katex's
+;; option support](https://katex.org/docs/options.html), while `:theme` sets a
+;; custom theme. You can pass any [Portal
+;; theme](https://cljdoc.org/d/djblue/portal/0.42.1/doc/ui-concepts/themes) that
+;; you like, or remove this entry.
+;;
+;; Use `tap>` to send values to Portal:
+
+;; ```clojure
+;; (tap> (mafs/of-x sin {:color :indigo}))
+;; ```
+;;
+;; `tap>` an Emmy symbolic expression:
+;;
+;; ```clojure
+;; (tap> (((exp D) (literal-function 'f)) 'x))
+;; ```
+;;
+;; then click the cell in the Portal UI and choose `:emmy.portal/tex` from the
+;; viewer list at the bottom. You should see the expression transform into
+;; nicely typeset mathematics.
+;;
+;; > Currently anything from `emmy.mafs`, `emmy.leva`, `emmy.jsxgraph` and
+;; > `emmy.mathlive` will render. MathBox support is coming soon!
+
+;; Visit the ["Specific Guides"](#specific-guides) section, and click
+;; through ["Demos"](#demos) for inspiration.
+
+;; ## Specific Guides
+;;
+;; - [Mafs Guide](/dev/examples/mafs)
+;; - [MathBox Guide](/dev/examples/mathbox)
+;; - [Leva Guide](/dev/examples/leva)
+;;
+;; [JSXGraph.cljs](https://github.com/mentat-collective/jsxgraph.cljs)
+;; and [MathLive.cljs](https://github.com/mentat-collective/jsxgraph.cljs)
+;; guides are coming soon.
;; ## Demos
;;
-;; - [examples.complex](/dev/examples/complex.html)
-;; - [examples.continued-fractions](/dev/examples/continued_fractions.html)
-;; - [examples.expression](/dev/examples/expression.html)
-;; - [examples.functions](/dev/examples/functions.html)
-;; - [examples.index.md](/dev/examples/index.md)
-;; - [examples.mafs](/dev/examples/mafs.html)
+;; These demos are in-progress, more advanced demonstrations of the capabilities
+;; of Emmy-Viewers. I'm using these as test cases to flesh out the more settled API, so please read them with that in mind!
+;;
+;; - [examples.manifold.fdg](/dev/examples/manifold/fdg)
+;; - [examples.manifold.klein](/dev/examples/manifold/klein)
;; - [examples.manifold.pq-knot](/dev/examples/manifold/pq_knot)
-;; - [examples.mathbox.cube-controls](/dev/examples/mathbox/cube_controls.html)
-;; - [examples.matrix](/dev/examples/matrix.html)
-;; - [examples.modint](/dev/examples/modint.html)
-;; - [examples.number](/dev/examples/number.html)
-;; - [examples.operator](/dev/examples/operator.html)
-;; - [examples.polynomial](/dev/examples/polynomial.html)
-;; - [examples.power-series](/dev/examples/power_series.html)
-;; - [examples.quaternion](/dev/examples/quaternion.html)
-;; - [examples.rational-function](/dev/examples/rational_function.html)
-;; - [examples.simulation.cylinder-flow](/dev/examples/simulation/cylinder_flow.html)
-;; - [examples.simulation.double-ellipsoid](/dev/examples/simulation/double_ellipsoid.html)
-;; - [examples.simulation.ellipsoid](/dev/examples/simulation/ellipsoid.html)
-;; - [examples.simulation.lorenz](/dev/examples/simulation/lorenz.html)
-;; - [examples.simulation.oscillator](/dev/examples/simulation/oscillator.html)
-;; - [examples.simulation.phase-portrait](/dev/examples/simulation/phase_portrait.html)
-;; - [examples.simulation.quartic-well](/dev/examples/simulation/quartic_well.html)
-;; - [examples.simulation.toroid](/dev/examples/simulation/toroid.html)
-;; - [examples.stern-brocot](/dev/examples/stern_brocot.html)
-;; - [examples.structure](/dev/examples/structure.html)
-;; - [examples.symbolic.einstein](/dev/examples/symbolic/einstein.html)
-;; - [examples.vega.pendulum](/dev/examples/vega/pendulum.html)
+;; - [examples.mathbox.cube-controls](/dev/examples/mathbox/cube_controls)
+;; - [examples.mathbox.functions](/dev/examples/mathbox/functions)
+;; - [examples.mathbox.geom](/dev/examples/mathbox/geom)
+;; - [examples.mathbox.ode](/dev/examples/mathbox/ode)
+;; - [examples.mathbox.quickstart](/dev/examples/mathbox/quickstart)
+;; - [examples.simulation.cylinder-flow](/dev/examples/simulation/cylinder_flow)
+;; - [examples.simulation.double-ellipsoid](/dev/examples/simulation/double_ellipsoid)
+;; - [examples.simulation.ellipsoid](/dev/examples/simulation/ellipsoid)
+;; - [examples.simulation.lorenz](/dev/examples/simulation/lorenz)
+;; - [examples.simulation.oscillator](/dev/examples/simulation/oscillator)
+;; - [examples.simulation.phase-portrait](/dev/examples/simulation/phase_portrait)
+;; - [examples.simulation.quartic-well](/dev/examples/simulation/quartic_well)
+;; - [examples.simulation.toroid](/dev/examples/simulation/toroid)
+;; - [examples.vega.pendulum](/dev/examples/vega/pendulum)
;; ## Emmy-Viewers via SCI
;;
-;; `Emmy` is compatible with [SCI, the Small Clojure
+;; `Emmy-Viewers` is compatible with [SCI, the Small Clojure
;; Interpreter](https://github.com/babashka/sci).
;;
-;; To install `Emmy-Viewers` into your SCI context, require the
-;; `emmy-viewers.sci` namespace and call `emmy-viewers.sci/install!`:
+;; To install the Reagent components and code defined in `Emmy-Viewers` into
+;; your SCI context, require the `emmy-viewers.sci` namespace and call
+;; `emmy-viewers.sci/install!`:
;; ```clj
;; (ns myproject.sci-extensions
@@ -94,30 +346,11 @@
;; ```
;;
;; If you want more granular control, see the [cljdoc page for
-;; `emmy.sci`](https://cljdoc.org/d/org.mentat/emmy/CURRENT/api/emmy.sci)
+;; `emmy.viewer.sci`](https://cljdoc.org/d/org.mentat/emmy-viewers/CURRENT/api/emmy.viewer.sci)
;; for an SCI config and distinct SCI namespace objects that you can piece
;; together.
;;
-;; > Note that `Emmy` does not ship with a dependency on SCI, so you'll
-;; > need to install your own version.
-;;
-;; ## Emmy-Viewers via Clerk
-;;
-;; Using `Emmy-Viewers` with Nextjournal's [Clerk](https://clerk.vision/) gives
-;; you the ability to write notebooks like this one.
-;;
-;; Doing this requires that you generate a custom ClojureScript build for your
-;; Clerk project. The easiest way to do this for an existing project is with
-;; the [`clerk-utils` project](https://clerk-utils.mentat.org/). Follow the
-;; instructions on the [`clerk-utils` guide for custom
-;; ClojureScript](https://clerk-utils.mentat.org/#custom-clojurescript-builds).
-;;
-;; If this is your first time using Clerk, use the [`emmy/clerk` template
-;; described below](#project-template) to generate a new project with all steps
-;; described in ["Emmy-Viewers via SCI"](#emmy-viewers-via-sci) already
-;; completed.
-;;
-;; ## Project Template
+;; ## Clerk Project Template
;;
;; `Emmy-Viewers` includes
;; a [`deps-new`](https://github.com/seancorfield/deps-new) template called
@@ -156,7 +389,7 @@ clojure -Sdeps '{:deps {io.github.mentat-collective/emmy-viewers {:git/sha \"%s\
;; ## clj-kondo config
-;; `Emmy` ships with a configuration that allows
+;; `Emmy-Viewers` ships with a configuration that allows
;; [clj-kondo](https://github.com/clj-kondo/clj-kondo) to lint the library's
;; macros.
@@ -190,17 +423,24 @@ clojure -Sdeps '{:deps {io.github.mentat-collective/emmy-viewers {:git/sha \"%s\
;; repo](https://github.com/clj-kondo/clj-kondo/blob/master/doc/config.md#importing).
;; ## Who is using Emmy-Viewers?
-
-;; If you want to show off your use of Emmy-Viewers, please [file a
-;; ticket](https://github.com/mentat-collective/emmy-viewers/issues/new) and let
-;; us know!
+;;
+;; - [The Road to Reality series](https://github.com/mentat-collective/road-to-reality)
+;;
+;; > If you want to show off your use of Emmy-Viewers, please [file a
+;; > ticket](https://github.com/mentat-collective/emmy-viewers/issues/new) and
+;; > let us know!
;; ## Thanks and Support
;; To support this work and my other open source projects, consider sponsoring
;; me via my [GitHub Sponsors page](https://github.com/sponsors/sritchie). Thank
;; you to my current sponsors!
-
+;;
+;; I'm grateful to [Clojurists Together](https://www.clojuriststogether.org/)
+;; for financial support during this library's creation. Please
+;; consider [becoming a member](https://www.clojuriststogether.org/developers/)
+;; to support this work and projects like it.
+;;
;; For more information on me and my work, visit https://samritchie.io.
;; ## License
diff --git a/dev/examples/leva.clj b/dev/examples/leva.clj
new file mode 100644
index 00000000..f18864d9
--- /dev/null
+++ b/dev/examples/leva.clj
@@ -0,0 +1,28 @@
+;; ## Leva Viewers
+;;
+;; This namespace form makes use of a number of aliases that you'll want to use
+;; in your own namespace to follow these examples.
+
+(ns examples.leva
+ {:nextjournal.clerk/toc true}
+ (:refer-clojure
+ :exclude [+ - * / zero? compare divide numerator denominator
+ infinite? abs ref partial =])
+ (:require [emmy.clerk :as ec]
+ [emmy.env :as e :refer :all]
+ [nextjournal.clerk :as clerk]))
+
+;; To enable rendering of a Leva control panel, install the Emmy viewers:
+
+^{::clerk/visibility {:result :hide}}
+(ec/install!)
+
+;; This page is in-progress. For now, see Leva in action at the following demo pages:
+
+;; - [examples.manifold.fdg](/dev/examples/manifold/fdg)
+;; - [examples.manifold.klein](/dev/examples/manifold/klein)
+;; - [examples.manifold.pq-knot](/dev/examples/manifold/pq_knot)
+;; - [examples.mathbox.cube-controls](/dev/examples/mathbox/cube_controls)
+;; - [examples.mathbox.functions](/dev/examples/mathbox/functions)
+;; - [examples.mathbox.ode](/dev/examples/mathbox/ode)
+;; - [examples.simulation.toroid](/dev/examples/simulation/toroid)
diff --git a/dev/examples/mafs.clj b/dev/examples/mafs.clj
index 95f1829d..5b0b9089 100644
--- a/dev/examples/mafs.clj
+++ b/dev/examples/mafs.clj
@@ -1,11 +1,14 @@
-^{:nextjournal.clerk/visibility {:code :hide}}
+;; ## Mafs Viewers
+;;
+;; This namespace form makes use of a number of aliases that you'll want to use
+;; in your own namespace to follow these examples.
+
(ns examples.mafs
{:nextjournal.clerk/toc true}
(:refer-clojure
:exclude [+ - * / zero? compare divide numerator denominator
infinite? abs ref partial =])
- (:require [emmy.mafs.core]
- [emmy.clerk :as ec]
+ (:require [emmy.clerk :as ec]
[emmy.env :as e :refer :all]
[emmy.mafs :as mafs]
[emmy.polynomial :as poly]
@@ -15,12 +18,60 @@
{::clerk/width :wide}
-;; ## Server-Side Mafs
+;; To enable rendering of the Mafs forms, install the Emmy viewers:
-^{::clerk/visibility {:code :hide :result :hide}}
+^{::clerk/visibility {:result :hide}}
(ec/install!)
-;; parametrized function controlled by a stateful point:
+;; The page currently contains a bunch of representative demos. Read on, adapt,
+;; and be inspired!
+
+;; ## Non-Plots
+;;
+;; shorter vector and text on the same page:
+
+(mafs/mafs
+ {:height 300}
+ (mafs/cartesian)
+ (mafs/vector [1 2] {:color :blue})
+ (mafs/text "face" {:color :green}))
+
+;; ## Function Plots
+
+;; cartesian grid with nothing on it:
+
+(mafs/cartesian)
+
+;; ### Basics
+
+;; Plot of `sin`:
+
+(mafs/of-x {:y sin :color :blue})
+
+;; more fun with easy derivatives:
+
+(defn sigmoid1 [x]
+ (-> (/ 2 (+ 1 (exp (- x))))
+ (- 1)))
+
+(mafs/mafs {:zoom {:min 0.1 :max 2}}
+ (mafs/cartesian)
+ (mafs/of-x {:y sin :color :blue})
+ (mafs/of-x {:y (+ cos (D sin)) :color :green})
+ (mafs/of-y {:x sigmoid1 :color :pink}))
+
+;; ### Inequality
+
+(mafs/inequality
+ {:y {:<= sin :> cos} :color :blue})
+
+;; ### Param Function, Stateful Point
+;;
+;; Note that the function inside of `ev/with-params` takes `shift` and returns
+;; another function, built using Emmy's "function algebra".
+;;
+;; The inner function `(((cube D) tanh) (- identity shift))` is equivalent
+;; to `(fn [x] (((cube D) tanh) (- x shift)))`.
(ev/with-let [!phase [0 0]]
(let [shifted (ev/with-params {:atom !phase :params [0]}
@@ -34,7 +85,7 @@
(mafs/movable-point
{:atom !phase :constrain "horizontal"}))))
-;; same thing, different component:
+;; Similar idea with a parametric function:
(ev/with-let [!phase [1 0]]
(let [path (ev/with-params {:atom !phase :params [0 1]}
@@ -50,22 +101,8 @@
(mafs/movable-point
{:atom !phase}))))
-;; inequality:
-
-(mafs/inequality
- {:y {:<= sin :> cos} :color :blue})
-
-;; shorter vector and text on the same page:
-
-(mafs/mafs
- {:height 300}
- (mafs/cartesian)
- (mafs/vector [1 2] {:color :blue})
- (mafs/text "face" {:color :green}))
-
-;; parametrized function running a vector field:
+;; ### Vector field:
-^{::clerk/width :wide}
(ev/with-let [!point [1 0]]
(mafs/mafs
(mafs/cartesian {:subdivisions 2})
@@ -81,9 +118,34 @@
10))})
(mafs/movable-point {:atom !point})))
+;; ## Polynomials
+;;
+;; Emmy polynomials are functions, so are fair game for plotting:
+
+(mafs/of-x
+ (let [x (poly/identity)]
+ (+ (- x)
+ (square x)
+ (cube x))))
+
+;; ## Multiviewer
+;;
+;; tabbed viewer between TeX and plot:
+
+(def ->tex
+ (comp clerk/tex ->TeX simplify))
+
+(let [f ((expt D 5) tanh)]
+ (ec/multi
+ {:TeX (->tex (f 'x))
+ :Mafs (mafs/mafs
+ {:zoom {:min 0.1 :max 2}}
+ (mafs/cartesian)
+ (mafs/of-x {:y f :color :blue}))}))
+
;; this one is a little more fun... I am building a quoted value for `:radius`,
;; but the backtick means that on the client-side we'll see `emmy.env/abs`. And
-;; Emmy is available over there so this works fine!
+;; Emmy is available in the SCI environment so this works fine!
(ev/with-let [!point [1 1]]
(mafs/mafs
@@ -93,6 +155,8 @@
:radius `(abs @~!point)})
(mafs/movable-point {:atom !point})))
+;; ## Combinators
+
;; Build up a more complex set of fragments with a combinators:
(defn chain [& points]
@@ -111,6 +175,8 @@
(chain [1 2] [1 0] [-1 1])
+;; ## Compositional Scenes
+;;
;; This is the ellipse example from mafs as a higher-order function. Takes a
;; function of a state symbol and returns a reagent fragment.
@@ -155,8 +221,8 @@
:path :translate
:color :orange}))))))
-;;
-#_{:clj-kondo/ignore [:unused-binding]}
+;; Then use the function:
+
(with-handles
(fn [!state]
[:<>
@@ -169,10 +235,6 @@
(let [{[x _] :width [_ y] :height} @~!state]
[(Math/abs x) (Math/abs y)]))})]))
-(defn sigmoid1 [x]
- (-> (/ 2 (+ 1 (exp (- x))))
- (- 1)))
-
;; function that generates fragments representing `n` derivatives of `f`:
(defn derivatives [n f]
@@ -184,7 +246,7 @@
(cycle
[:red :orange :green :blue :indigo :violet :pink :yellow]))))
-;; `clerk/row` combinator works:
+;; `clerk/row` combinator works. Note that these can zoom!
(clerk/row
(mafs/mafs {:zoom {:min 0.1 :max 2}}
@@ -194,9 +256,8 @@
(mafs/cartesian)
(derivatives 5 tanh)))
-(def ->tex
- (comp clerk/tex ->TeX simplify))
-
+;; ## Clerk Row and Column
+;;
;; show off a column of tex and then a graph of the same function:
(let [f ((expt D 3) tanh)]
@@ -225,44 +286,3 @@
(mafs/cartesian)
(derivatives 5 tanh))
(caption [:<> "Derivatives of " [:code "tanh"] "."])))
-
-;; cartesian works without a `mafs` wrapper:
-
-(mafs/cartesian)
-
-;; same here for `of-x`:
-
-(mafs/of-x {:y sin :color :blue})
-
-;; more fun with easy derivatives:
-
-(mafs/mafs {:zoom {:min 0.1 :max 2}}
- (mafs/cartesian)
- (mafs/of-x {:y sin :color :blue})
- (mafs/of-x {:y (+ cos (D sin)) :color :green})
- (mafs/of-y {:x sigmoid1 :color :pink}))
-
-;; ## Polynomials
-;;
-;; I think this can work out of the box for an Emmy Polynomial.
-
-(def my-poly
- (let [x (poly/identity)]
- (+ (- x)
- (square x)
- (cube x))))
-
-
-(mafs/of-x my-poly)
-
-;; ## Multiviewer
-;;
-;; tabbed viewer between TeX and plot:
-
-(let [f ((expt D 5) tanh)]
- (ec/multi
- {:TeX (->tex (f 'x))
- :Mafs (mafs/mafs
- {:zoom {:min 0.1 :max 2}}
- (mafs/cartesian)
- (mafs/of-x {:y f :color :blue}))}))
diff --git a/dev/examples/manifold/pq_knot.clj b/dev/examples/manifold/pq_knot.clj
index a9ca5e88..65265bc6 100644
--- a/dev/examples/manifold/pq_knot.clj
+++ b/dev/examples/manifold/pq_knot.clj
@@ -7,7 +7,6 @@
(:require [emmy.clerk :as ec]
[emmy.env :as e :refer :all]
[emmy.leva :as leva]
- [emmy.mathbox :as box]
[emmy.mathbox.plot :as plot]
[emmy.viewer :as ev]))
@@ -135,22 +134,16 @@
(torus-knot R (+ r2 r3) p q)
r3))
-(defn scene [& children]
- (box/mathbox
- {:container {:style {:height "500px" :width "100%"}}
- :renderer {:background-opacity 0}
- :scale 500 :focus 3}
- (box/camera {:proxy true :position [1 1 3]})
- (apply box/cartesian
- {:range [[-1 1] [-1 1] [-1 1]]
- :scale [1 1 1]}
- children)))
-
^{:nextjournal.clerk/width :full
:nextjournal.clerk/visibility {:code :fold}}
-
(ev/with-let [!opts {:p 7 :q 8 :r1 1.791 :r2 0.95 :r3 0.1 :torus? false}]
- (scene
+ (plot/scene
+ {:threestrap {:controls {:klass :trackball}}
+ :container {:style {:height "500px" :width "100%"}}
+ :camera [1 3 1]
+ :range [[-1 1] [-1 1] [-1 1]]
+ :axes []
+ :grids []}
(leva/controls
{:folder {:name "PQ Knot"}
:atom !opts
@@ -171,6 +164,7 @@
:v-samples 16
:grid-color 0xffffff
:grid-opacity 1
+ :grid-width 3
:grid-u 100
:grid-v 4
:u [(- Math/PI) Math/PI]
diff --git a/dev/examples/mathbox.clj b/dev/examples/mathbox.clj
new file mode 100644
index 00000000..6c773f29
--- /dev/null
+++ b/dev/examples/mathbox.clj
@@ -0,0 +1,28 @@
+;; ## MathBox Viewers
+;;
+;; This namespace form makes use of a number of aliases that you'll want to use
+;; in your own namespace to follow these examples.
+
+(ns examples.mathbox
+ {:nextjournal.clerk/toc true}
+ (:refer-clojure
+ :exclude [+ - * / zero? compare divide numerator denominator
+ infinite? abs ref partial =])
+ (:require [emmy.clerk :as ec]
+ [emmy.env :as e :refer :all]
+ [nextjournal.clerk :as clerk]))
+
+{::clerk/width :wide}
+
+;; To enable rendering of MathBox plots, install the Emmy viewers:
+
+^{::clerk/visibility {:result :hide}}
+(ec/install!)
+
+;; This page is in-progress. For now, see the examples at the following demo pages:
+
+;; - [examples.mathbox.functions](/dev/examples/mathbox/functions)
+;; - [examples.mathbox.quickstart](/dev/examples/mathbox/quickstart)
+;; - [examples.manifold.fdg](/dev/examples/manifold/fdg)
+;; - [examples.manifold.klein](/dev/examples/manifold/klein)
+;; - [examples.manifold.pq-knot](/dev/examples/manifold/pq_knot)
diff --git a/dev/examples/mathbox/functions.clj b/dev/examples/mathbox/functions.clj
index 19ea0526..c6fe391c 100644
--- a/dev/examples/mathbox/functions.clj
+++ b/dev/examples/mathbox/functions.clj
@@ -12,13 +12,12 @@
{:nextjournal.clerk/width :wide}
-
^{:nextjournal.clerk/visibility {:code :hide :result :hide}}
(ec/install!)
-;; ## Function Viewer
+;; # Function Viewer
-;; ### Demo
+;; ## Demo
;;
;; Let's make a function to try!
@@ -33,19 +32,22 @@
;; Then we'll call it with our new viewer:
-(plot/scene
- (plot/of-x {:z my-fn :samples 256}))
+(plot/of-x {:z my-fn :samples 256})
-(ev/with-let [!opts {:x-max 5
- :color "#3090ff"}]
+(ev/with-let [!opts {:x-max 5 :color "#3090ff"}]
(plot/scene
{:range [[-5 (ev/get !opts :x-max)] [-5 5] [-5 5]]}
(emmy.leva/controls
{:folder {:name "Plot Color"}
:atom !opts})
+
+ (plot/polar-curve
+ {:color "Salmon"
+ :r (fn [theta]
+ (* 2 (+ 1 (cos (* 3 theta)))))})
+
(plot/polar-surface
- {:shaded? true
- :color (ev/get !opts :color)
+ {:color (ev/get !opts :color)
:grid-r 8
:grid-theta 8
:z (fn [[r theta]]
diff --git a/dev/examples/rational_function.clj b/dev/examples/rational_function.clj
index 1772995c..f2a0b5a5 100644
--- a/dev/examples/rational_function.clj
+++ b/dev/examples/rational_function.clj
@@ -3,11 +3,3 @@
{:nextjournal.clerk/toc true})
;; ## Rational Function
-
-;; TODO remaining:
-;;
-;; Modular Int
-;; Function
-;; Operator
-;; Structures
-;; Matrix
diff --git a/package-lock.json b/package-lock.json
index 56cce19d..f698a9c9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,20 +5,20 @@
"packages": {
"": {
"dependencies": {
- "@codemirror/autocomplete": "6.7.1",
+ "@codemirror/autocomplete": "6.8.1",
"@codemirror/commands": "6.2.4",
"@codemirror/lang-markdown": "6.0.0",
- "@codemirror/language": "6.7.0",
- "@codemirror/lint": "6.2.1",
- "@codemirror/search": "6.4.0",
+ "@codemirror/language": "6.8.0",
+ "@codemirror/lint": "6.3.0",
+ "@codemirror/search": "6.5.0",
"@codemirror/state": "6.2.1",
- "@codemirror/view": "6.12.0",
+ "@codemirror/view": "6.14.0",
"@cortex-js/compute-engine": "0.12.3",
- "@lezer/common": "1.0.2",
- "@lezer/generator": "1.2.3",
+ "@lezer/common": "1.0.3",
+ "@lezer/generator": "1.3.0",
"@lezer/highlight": "1.1.6",
- "@lezer/lr": "1.3.5",
- "@lezer/markdown": "1.0.2",
+ "@lezer/lr": "1.3.7",
+ "@lezer/markdown": "1.0.3",
"@nextjournal/lang-clojure": "1.0.0",
"@nextjournal/lezer-clojure": "1.0.0",
"complex.js": "2.1.1",
@@ -26,36 +26,35 @@
"fraction.js": "4.2.0",
"framer-motion": "6.5.1",
"jsxgraph": "1.5.0",
- "katex": "^0.16.7",
- "leva": "0.9.34",
- "mafs": "0.16.0",
+ "katex": "0.16.8",
+ "leva": "0.9.35",
+ "mafs": "0.17.1",
"markdown-it": "12.3.2",
"markdown-it-block-image": "0.0.3",
"markdown-it-footnote": "3.0.3",
"markdown-it-texmath": "0.9.7",
"markdown-it-toc-done-right": "4.2.0",
"mathbox": "2.3.1",
- "mathbox-react": "0.2.2",
+ "mathbox-react": "0.0.14",
"mathlive": "0.86.1",
"odex": "3.0.0-rc.4",
"punycode": "2.1.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"shadow-cljs": "2.23.1",
- "three": "0.149.0",
+ "three": "0.150.0",
"threestrap": "0.5.1",
"use-sync-external-store": "1.2.0",
"vh-sticky-table-header": "1.2.1",
- "w3c-keyname": "2.2.7"
+ "w3c-keyname": "2.2.8"
},
"devDependencies": {
"gh-pages": "^3.2.3"
}
},
"node_modules/@babel/runtime": {
- "version": "7.22.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz",
- "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==",
+ "version": "7.22.5",
+ "license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.13.11"
},
@@ -64,9 +63,8 @@
}
},
"node_modules/@codemirror/autocomplete": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.7.1.tgz",
- "integrity": "sha512-hSxf9S0uB+GV+gBsjY1FZNo53e1FFdzPceRfCfD1gWOnV6o21GfB5J5Wg9G/4h76XZMPrF0A6OCK/Rz5+V1egg==",
+ "version": "6.8.1",
+ "license": "MIT",
"dependencies": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.0.0",
@@ -82,8 +80,7 @@
},
"node_modules/@codemirror/commands": {
"version": "6.2.4",
- "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.4.tgz",
- "integrity": "sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==",
+ "license": "MIT",
"dependencies": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.2.0",
@@ -93,8 +90,7 @@
},
"node_modules/@codemirror/lang-css": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.2.0.tgz",
- "integrity": "sha512-oyIdJM29AyRPM3+PPq1I2oIk8NpUfEN3kAM05XWDDs6o3gSneIKaVJifT2P+fqONLou2uIgXynFyMUDQvo/szA==",
+ "license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.0.0",
@@ -104,9 +100,8 @@
}
},
"node_modules/@codemirror/lang-html": {
- "version": "6.4.3",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz",
- "integrity": "sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ==",
+ "version": "6.4.5",
+ "license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/lang-css": "^6.0.0",
@@ -120,9 +115,8 @@
}
},
"node_modules/@codemirror/lang-javascript": {
- "version": "6.1.8",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.8.tgz",
- "integrity": "sha512-5cIA6IOkslTu1DtldcYnj7hsBm3p+cD37qSaKvW1kV16M6q9ysKvKrveCOWgbrj4+ilSWRL2JtSLudbeB158xg==",
+ "version": "6.1.9",
+ "license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.6.0",
@@ -135,8 +129,7 @@
},
"node_modules/@codemirror/lang-markdown": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.0.0.tgz",
- "integrity": "sha512-ozJaO1W4WgGlwWOoYCSYzbVhhM0YM/4lAWLrNsBbmhh5Ztpl0qm4CgEQRl3t8/YcylTZYBIXiskui8sHNGd4dg==",
+ "license": "MIT",
"dependencies": {
"@codemirror/lang-html": "^6.0.0",
"@codemirror/language": "^6.0.0",
@@ -147,9 +140,8 @@
}
},
"node_modules/@codemirror/language": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.7.0.tgz",
- "integrity": "sha512-4SMwe6Fwn57klCUsVN0y4/h/iWT+XIXFEmop2lIHHuWO0ubjCrF3suqSZLyOQlznxkNnNbOOfKe5HQbQGCAmTg==",
+ "version": "6.8.0",
+ "license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -160,9 +152,8 @@
}
},
"node_modules/@codemirror/lint": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.1.tgz",
- "integrity": "sha512-y1muai5U/uUPAGRyHMx9mHuHLypPcHWxzlZGknp/U5Mdb5Ol8Q5ZLp67UqyTbNFJJ3unVxZ8iX3g1fMN79S1JQ==",
+ "version": "6.3.0",
+ "license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -170,9 +161,8 @@
}
},
"node_modules/@codemirror/search": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.4.0.tgz",
- "integrity": "sha512-zMDgaBXah+nMLK2dHz9GdCnGbQu+oaGRXS1qviqNZkvOCv/whp5XZFyoikLp/23PM9RBcbuKUUISUmQHM1eRHw==",
+ "version": "6.5.0",
+ "license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -181,13 +171,11 @@
},
"node_modules/@codemirror/state": {
"version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
- "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw=="
+ "license": "MIT"
},
"node_modules/@codemirror/view": {
- "version": "6.12.0",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.12.0.tgz",
- "integrity": "sha512-xNHvbJBc2v8JuEcIGOck6EUGShpP+TYGCEMVEVQMYxbFXfMhYnoF3znxB/2GgeKR0nrxBs+nhBupiTYQqCp2kw==",
+ "version": "6.14.0",
+ "license": "MIT",
"dependencies": {
"@codemirror/state": "^6.1.4",
"style-mod": "^4.0.0",
@@ -196,8 +184,7 @@
},
"node_modules/@cortex-js/compute-engine": {
"version": "0.12.3",
- "resolved": "https://registry.npmjs.org/@cortex-js/compute-engine/-/compute-engine-0.12.3.tgz",
- "integrity": "sha512-LuiSWMSlgsLFcRWm5ifR8ZeE9HXWOrJ+hE6F211eVI+S+w9SQQvZhhCdUCBusyspW0+29R8lksJPH4qFFr3Xag==",
+ "license": "MIT",
"dependencies": {
"complex.js": "^2.1.1",
"decimal.js": "^10.4.0"
@@ -209,8 +196,7 @@
},
"node_modules/@emotion/is-prop-valid": {
"version": "0.8.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
- "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+ "license": "MIT",
"optional": true,
"dependencies": {
"@emotion/memoize": "0.7.4"
@@ -218,33 +204,50 @@
},
"node_modules/@emotion/memoize": {
"version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+ "license": "MIT",
"optional": true
},
+ "node_modules/@floating-ui/core": {
+ "version": "1.3.1",
+ "license": "MIT"
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.4.2",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.3.1"
+ }
+ },
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.3.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
"node_modules/@juggle/resize-observer": {
"version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
- "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA=="
+ "license": "Apache-2.0"
},
"node_modules/@lezer/common": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz",
- "integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng=="
+ "version": "1.0.3",
+ "license": "MIT"
},
"node_modules/@lezer/css": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.2.tgz",
- "integrity": "sha512-5TKMAReXukfEmIiZprDlGfZVfOOCyEStFi1YLzxclm9H3G/HHI49/2wzlRT6bQw5r7PoZVEtjTItEkb/UuZQyg==",
+ "license": "MIT",
"dependencies": {
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0"
}
},
"node_modules/@lezer/generator": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-1.2.3.tgz",
- "integrity": "sha512-xRmNryYbJpWs7novjWtQLCGHOj71B4X1QHQ4SgJqwm11tl6COEVAGhuFTXKX16JMJUhumdXaX8We6hEMd4clDg==",
+ "version": "1.3.0",
+ "license": "MIT",
"dependencies": {
"@lezer/common": "^1.0.2",
"@lezer/lr": "^1.3.0"
@@ -255,16 +258,14 @@
},
"node_modules/@lezer/highlight": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz",
- "integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==",
+ "license": "MIT",
"dependencies": {
"@lezer/common": "^1.0.0"
}
},
"node_modules/@lezer/html": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz",
- "integrity": "sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g==",
+ "license": "MIT",
"dependencies": {
"@lezer/common": "^1.0.0",
"@lezer/highlight": "^1.0.0",
@@ -273,25 +274,22 @@
},
"node_modules/@lezer/javascript": {
"version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.3.tgz",
- "integrity": "sha512-k7Eo9z9B1supZ5cCD4ilQv/RZVN30eUQL+gGbr6ybrEY3avBAL5MDiYi2aa23Aj0A79ry4rJRvPAwE2TM8bd+A==",
+ "license": "MIT",
"dependencies": {
"@lezer/highlight": "^1.1.3",
"@lezer/lr": "^1.3.0"
}
},
"node_modules/@lezer/lr": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.5.tgz",
- "integrity": "sha512-Kye0rxYBi+OdToLUN2tQfeH5VIrpESC6XznuvxmIxbO1lz6M1C90vkjMNYoX1SfbUcuvoPXvLYsBquZ//77zVQ==",
+ "version": "1.3.7",
+ "license": "MIT",
"dependencies": {
"@lezer/common": "^1.0.0"
}
},
"node_modules/@lezer/markdown": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.0.2.tgz",
- "integrity": "sha512-8CY0OoZ6V5EzPjSPeJ4KLVbtXdLBd8V6sRCooN5kHnO28ytreEGTyrtU/zUwo/XLRzGr/e1g44KlzKi3yWGB5A==",
+ "version": "1.0.3",
+ "license": "MIT",
"dependencies": {
"@lezer/common": "^1.0.0",
"@lezer/highlight": "^1.0.0"
@@ -299,8 +297,7 @@
},
"node_modules/@motionone/animation": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
- "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==",
+ "license": "MIT",
"dependencies": {
"@motionone/easing": "^10.15.1",
"@motionone/types": "^10.15.1",
@@ -310,8 +307,7 @@
},
"node_modules/@motionone/dom": {
"version": "10.12.0",
- "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz",
- "integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==",
+ "license": "MIT",
"dependencies": {
"@motionone/animation": "^10.12.0",
"@motionone/generators": "^10.12.0",
@@ -323,8 +319,7 @@
},
"node_modules/@motionone/easing": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz",
- "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==",
+ "license": "MIT",
"dependencies": {
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
@@ -332,8 +327,7 @@
},
"node_modules/@motionone/generators": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz",
- "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==",
+ "license": "MIT",
"dependencies": {
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
@@ -342,13 +336,11 @@
},
"node_modules/@motionone/types": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz",
- "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA=="
+ "license": "MIT"
},
"node_modules/@motionone/utils": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz",
- "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==",
+ "license": "MIT",
"dependencies": {
"@motionone/types": "^10.15.1",
"hey-listen": "^1.0.8",
@@ -357,8 +349,7 @@
},
"node_modules/@nextjournal/lang-clojure": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nextjournal/lang-clojure/-/lang-clojure-1.0.0.tgz",
- "integrity": "sha512-gOCV71XrYD0DhwGoPMWZmZ0r92/lIHsqQu9QWdpZYYBwiChNwMO4sbVMP7eTuAqffFB2BTtCSC+1skSH9d3bNg==",
+ "license": "ISC",
"dependencies": {
"@codemirror/language": "^6.0.0",
"@nextjournal/lezer-clojure": "1.0.0"
@@ -366,92 +357,409 @@
},
"node_modules/@nextjournal/lezer-clojure": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nextjournal/lezer-clojure/-/lezer-clojure-1.0.0.tgz",
- "integrity": "sha512-VZyuGu4zw5mkTOwQBTaGVNWmsOZAPw5ZRxu1/Knk/Xfs7EDBIogwIs5UXTYkuECX5ZQB8eOB+wKA2pc7VyqaZQ==",
+ "license": "ISC",
"dependencies": {
"@lezer/lr": "^1.0.0"
}
},
- "node_modules/@radix-ui/popper": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/popper/-/popper-0.1.0.tgz",
- "integrity": "sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ==",
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "1.0.3",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10",
- "csstype": "^3.0.4"
+ "@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/@radix-ui/primitive": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz",
- "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==",
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.0.1",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "@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"
+ },
+ "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/@radix-ui/react-id": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "1.1.2",
+ "license": "MIT",
+ "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/@radix-ui/react-portal": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@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/@radix-ui/react-presence": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-0.1.1.tgz",
- "integrity": "sha512-LsL+NcWDpFUAYCmXeH02o4pgqcSLpwxP84UIjCtpIKrsPe2vLuhcp79KC/jZJeXz+of2lUpMAxpM+eCpxFZtlg==",
+ "version": "1.0.1",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-use-layout-effect": "0.1.0"
+ "@radix-ui/react-compose-refs": "1.0.1",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
},
"peerDependencies": {
- "react": ">=16.8"
+ "@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/@radix-ui/react-primitive": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.2"
+ },
+ "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/@radix-ui/react-presence/node_modules/@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "@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/@radix-ui/react-tooltip": {
+ "version": "1.0.6",
+ "license": "MIT",
+ "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.4",
+ "@radix-ui/react-id": "1.0.1",
+ "@radix-ui/react-popper": "1.1.2",
+ "@radix-ui/react-portal": "1.0.3",
+ "@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",
+ "@radix-ui/react-visually-hidden": "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/@radix-ui/react-use-callback-ref": {
+ "version": "1.0.1",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10"
},
"peerDependencies": {
- "react": "^16.8 || ^17.0"
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/@radix-ui/react-presence/node_modules/@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.0.1",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10"
},
"peerDependencies": {
- "react": "^16.8 || ^17.0"
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "1.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "@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/@radix-ui/rect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-0.1.1.tgz",
- "integrity": "sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw==",
+ "version": "1.0.1",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.13.10"
}
},
"node_modules/@react-hook/latest": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@react-hook/latest/-/latest-1.0.3.tgz",
- "integrity": "sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg==",
+ "license": "MIT",
"peerDependencies": {
"react": ">=16.8"
}
},
"node_modules/@react-hook/passive-layout-effect": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz",
- "integrity": "sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==",
+ "license": "MIT",
"peerDependencies": {
"react": ">=16.8"
}
},
"node_modules/@react-hook/resize-observer": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@react-hook/resize-observer/-/resize-observer-1.2.6.tgz",
- "integrity": "sha512-DlBXtLSW0DqYYTW3Ft1/GQFZlTdKY5VAFIC4+km6IK5NiPPDFchGbEJm1j6pSgMqPRHbUQgHJX7RaR76ic1LWA==",
+ "license": "MIT",
"dependencies": {
"@juggle/resize-observer": "^3.3.1",
"@react-hook/latest": "^1.0.2",
@@ -463,37 +771,32 @@
},
"node_modules/@sicmutils/glsl-parser": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@sicmutils/glsl-parser/-/glsl-parser-2.0.1.tgz",
- "integrity": "sha512-svY++7/9A7oYE/BJtURM+Y77uvVWZ+PXfKuzZmbiQSWgBJRChUU3AHt8QXmmt4GFIXeVHV1zuSwjYpluU2WjXQ==",
+ "license": "MIT",
"dependencies": {
"glsl-tokenizer": "^2.1.4"
}
},
"node_modules/@stitches/react": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz",
- "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==",
+ "license": "MIT",
"peerDependencies": {
"react": ">= 16.3.0"
}
},
"node_modules/@swc/helpers": {
"version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.4.0"
}
},
"node_modules/@use-gesture/core": {
"version": "10.2.27",
- "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.27.tgz",
- "integrity": "sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA=="
+ "license": "MIT"
},
"node_modules/@use-gesture/react": {
"version": "10.2.27",
- "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.27.tgz",
- "integrity": "sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==",
+ "license": "MIT",
"dependencies": {
"@use-gesture/core": "10.2.27"
},
@@ -503,14 +806,12 @@
},
"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=="
+ "license": "Python-2.0"
},
"node_modules/array-union": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-uniq": "^1.0.1"
},
@@ -520,17 +821,15 @@
},
"node_modules/array-uniq": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/asn1.js": {
"version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.0.0",
"inherits": "^2.0.1",
@@ -540,13 +839,11 @@
},
"node_modules/asn1.js/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/assert": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "license": "MIT",
"dependencies": {
"object-assign": "^4.1.1",
"util": "0.10.3"
@@ -554,52 +851,44 @@
},
"node_modules/assert/node_modules/inherits": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
+ "license": "ISC"
},
"node_modules/assert/node_modules/util": {
"version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
+ "license": "MIT",
"dependencies": {
"inherits": "2.0.1"
}
},
"node_modules/assign-symbols": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/async": {
"version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash": "^4.17.14"
}
},
"node_modules/attr-accept": {
"version": "2.2.2",
- "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
- "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==",
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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",
@@ -613,23 +902,21 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/bn.js": {
"version": "5.2.1",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
- "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
+ "license": "MIT"
},
"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=="
+ "license": "ISC"
},
"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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -637,13 +924,11 @@
},
"node_modules/brorand": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
+ "license": "MIT"
},
"node_modules/browserify-aes": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "license": "MIT",
"dependencies": {
"buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0",
@@ -655,8 +940,7 @@
},
"node_modules/browserify-cipher": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "license": "MIT",
"dependencies": {
"browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0",
@@ -665,8 +949,7 @@
},
"node_modules/browserify-des": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "license": "MIT",
"dependencies": {
"cipher-base": "^1.0.1",
"des.js": "^1.0.0",
@@ -676,8 +959,7 @@
},
"node_modules/browserify-rsa": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^5.0.0",
"randombytes": "^2.0.1"
@@ -685,8 +967,7 @@
},
"node_modules/browserify-sign": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "license": "ISC",
"dependencies": {
"bn.js": "^5.1.1",
"browserify-rsa": "^4.0.1",
@@ -701,8 +982,7 @@
},
"node_modules/browserify-sign/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==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -714,16 +994,14 @@
},
"node_modules/browserify-zlib": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "license": "MIT",
"dependencies": {
"pako": "~1.0.5"
}
},
"node_modules/buffer": {
"version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+ "license": "MIT",
"dependencies": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
@@ -732,18 +1010,26 @@
},
"node_modules/buffer-xor": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
+ "license": "MIT"
},
"node_modules/builtin-status-codes": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
+ "license": "MIT"
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/cipher-base": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
@@ -751,25 +1037,21 @@
},
"node_modules/colord": {
"version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
+ "license": "MIT"
},
"node_modules/commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/complex.js": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz",
- "integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==",
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -780,34 +1062,27 @@
},
"node_modules/computer-modern": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/computer-modern/-/computer-modern-0.1.2.tgz",
- "integrity": "sha512-qvW7/uUkNFjJT6DaM4NaLXrYSnkFdES8iJajX3xD2S7KRFYxxppFsEUM0+R7SLypEN/t/3TQ4zFBvj5i/MBL9A=="
+ "license": "MIT"
},
"node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
+ "version": "1.2.0"
},
"node_modules/constants-browserify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
+ "license": "MIT"
},
"node_modules/core-util-is": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ "license": "MIT"
},
"node_modules/create-ecdh": {
"version": "4.0.4",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.1.0",
"elliptic": "^6.5.3"
@@ -815,13 +1090,11 @@
},
"node_modules/create-ecdh/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/create-hash": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "license": "MIT",
"dependencies": {
"cipher-base": "^1.0.1",
"inherits": "^2.0.1",
@@ -832,8 +1105,7 @@
},
"node_modules/create-hmac": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "license": "MIT",
"dependencies": {
"cipher-base": "^1.0.3",
"create-hash": "^1.1.0",
@@ -845,13 +1117,11 @@
},
"node_modules/crelt": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
- "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
+ "license": "MIT"
},
"node_modules/crypto-browserify": {
"version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "license": "MIT",
"dependencies": {
"browserify-cipher": "^1.0.0",
"browserify-sign": "^4.0.0",
@@ -871,8 +1141,7 @@
},
"node_modules/css-select": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+ "license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
"css-what": "^6.0.1",
@@ -886,8 +1155,7 @@
},
"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==",
+ "license": "BSD-2-Clause",
"engines": {
"node": ">= 6"
},
@@ -895,33 +1163,24 @@
"url": "https://github.com/sponsors/fb55"
}
},
- "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/d3-require": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/d3-require/-/d3-require-1.3.0.tgz",
- "integrity": "sha512-XaNc2azaAwXhGjmCMtxlD+AowpMfLimVsAoTMpqrvb8CWoA4QqyV12mc4Ue6KSoDvfuS831tsumfhDYxGd4FGA=="
+ "license": "ISC"
},
"node_modules/decimal.js": {
"version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
+ "license": "MIT"
},
"node_modules/dequal": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/des.js": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
- "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0"
@@ -929,8 +1188,7 @@
},
"node_modules/diffie-hellman": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.1.0",
"miller-rabin": "^4.0.0",
@@ -939,13 +1197,11 @@
},
"node_modules/diffie-hellman/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/dom-serializer": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "license": "MIT",
"dependencies": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
@@ -957,8 +1213,7 @@
},
"node_modules/domain-browser": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "license": "MIT",
"engines": {
"node": ">=0.4",
"npm": ">=1.2"
@@ -966,19 +1221,17 @@
},
"node_modules/domelementtype": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fb55"
}
- ]
+ ],
+ "license": "BSD-2-Clause"
},
"node_modules/domhandler": {
"version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "^2.2.0"
},
@@ -991,8 +1244,7 @@
},
"node_modules/domutils": {
"version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "license": "BSD-2-Clause",
"dependencies": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
@@ -1004,8 +1256,7 @@
},
"node_modules/elliptic": {
"version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.11.9",
"brorand": "^1.1.0",
@@ -1018,44 +1269,38 @@
},
"node_modules/elliptic/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/email-addresses": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
- "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/entities": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "license": "BSD-2-Clause",
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/events": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "license": "MIT",
"engines": {
"node": ">=0.8.x"
}
},
"node_modules/evp_bytestokey": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "license": "MIT",
"dependencies": {
"md5.js": "^1.3.4",
"safe-buffer": "^5.1.1"
@@ -1063,8 +1308,7 @@
},
"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==",
+ "license": "MIT",
"dependencies": {
"is-extendable": "^0.1.0"
},
@@ -1074,16 +1318,14 @@
},
"node_modules/extend-shallow/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==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/file-selector": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.5.0.tgz",
- "integrity": "sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.3"
},
@@ -1093,18 +1335,16 @@
},
"node_modules/filename-reserved-regex": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
- "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/filenamify": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
- "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"filename-reserved-regex": "^2.0.0",
"strip-outer": "^1.0.1",
@@ -1119,9 +1359,8 @@
},
"node_modules/find-cache-dir": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
@@ -1136,9 +1375,8 @@
},
"node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -1149,16 +1387,14 @@
},
"node_modules/for-in": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/fraction.js": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -1169,8 +1405,7 @@
},
"node_modules/framer-motion": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz",
- "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==",
+ "license": "MIT",
"dependencies": {
"@motionone/dom": "10.12.0",
"framesync": "6.0.1",
@@ -1189,17 +1424,15 @@
},
"node_modules/framesync": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
- "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/fs-extra": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -1211,23 +1444,37 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "license": "MIT"
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.1",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/get-value": {
"version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/gh-pages": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz",
- "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async": "^2.6.1",
"commander": "^2.18.0",
@@ -1247,9 +1494,8 @@
},
"node_modules/glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -1267,9 +1513,8 @@
},
"node_modules/globby": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
@@ -1283,22 +1528,49 @@
},
"node_modules/glsl-tokenizer": {
"version": "2.1.5",
- "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz",
- "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==",
+ "license": "MIT",
"dependencies": {
"through2": "^0.6.3"
}
},
"node_modules/graceful-fs": {
"version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/hash-base": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.4",
"readable-stream": "^3.6.0",
@@ -1310,8 +1582,7 @@
},
"node_modules/hash-base/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==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -1323,8 +1594,7 @@
},
"node_modules/hash.js": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1"
@@ -1332,13 +1602,11 @@
},
"node_modules/hey-listen": {
"version": "1.0.8",
- "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
- "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
+ "license": "MIT"
},
"node_modules/hmac-drbg": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+ "license": "MIT",
"dependencies": {
"hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0",
@@ -1347,13 +1615,10 @@
},
"node_modules/https-browserify": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
+ "license": "MIT"
},
"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",
@@ -1367,13 +1632,13 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "BSD-3-Clause"
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -1381,13 +1646,11 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "license": "ISC"
},
"node_modules/is-extendable": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "license": "MIT",
"dependencies": {
"is-plain-object": "^2.0.4"
},
@@ -1397,8 +1660,7 @@
},
"node_modules/is-plain-object": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -1408,405 +1670,91 @@
},
"node_modules/isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ "license": "ISC"
},
"node_modules/isobject": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "license": "MIT"
},
"node_modules/jsonfile": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"dev": true,
+ "license": "MIT",
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/jsxgraph": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/jsxgraph/-/jsxgraph-1.5.0.tgz",
- "integrity": "sha512-mXsW1LG9AEZpiYDM+nScs5G5ZKw6xrQIrVLszRXeXFX+XYbS1Abx9oMmk7WMDbCXerYFzNo5/vZ9MRZpFeABpQ==",
+ "license": "(MIT OR LGPL-3.0-or-later)",
"engines": {
"node": ">=0.6.0"
}
},
"node_modules/katex": {
- "version": "0.16.7",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.7.tgz",
- "integrity": "sha512-Xk9C6oGKRwJTfqfIbtr0Kes9OSv6IFsuhFGc7tW4urlpMJtuh+7YhzU6YEG9n8gmWKcMAFzkp7nr+r69kV0zrA==",
+ "version": "0.16.8",
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
],
+ "license": "MIT",
"dependencies": {
"commander": "^8.3.0"
},
"bin": {
"katex": "cli.js"
}
- },
- "node_modules/katex/node_modules/commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/leva": {
- "version": "0.9.34",
- "resolved": "https://registry.npmjs.org/leva/-/leva-0.9.34.tgz",
- "integrity": "sha512-hQmWAakOCuBXYIenJ7RaNIei5enDwHNNb6Gz5BUU3mZk+ElECdbvNJbmcMfkFAJslJw33MXRabt7OKIzItLLWw==",
- "dependencies": {
- "@radix-ui/react-portal": "^0.1.3",
- "@radix-ui/react-tooltip": "0.1.6",
- "@stitches/react": "1.2.8",
- "@use-gesture/react": "^10.2.5",
- "colord": "^2.9.2",
- "dequal": "^2.0.2",
- "merge-value": "^1.0.0",
- "react-colorful": "^5.5.1",
- "react-dropzone": "^12.0.0",
- "v8n": "^1.3.3",
- "zustand": "^3.6.9"
- },
- "peerDependencies": {
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-portal": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.4.tgz",
- "integrity": "sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.4",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0",
- "react-dom": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz",
- "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-slot": "0.1.2"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
- "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-0.1.6.tgz",
- "integrity": "sha512-0uaRpRmTCQo5yMUkDpv4LEDnaQDoeLXcNNhZonCZdbZBQ7ntvjURIWIigq1/pXZp0UX7oPpFzsXD9jUp8JT0WA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "0.1.0",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-context": "0.1.1",
- "@radix-ui/react-id": "0.1.4",
- "@radix-ui/react-popper": "0.1.3",
- "@radix-ui/react-portal": "0.1.3",
- "@radix-ui/react-presence": "0.1.1",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-slot": "0.1.2",
- "@radix-ui/react-use-controllable-state": "0.1.0",
- "@radix-ui/react-use-escape-keydown": "0.1.0",
- "@radix-ui/react-use-previous": "0.1.0",
- "@radix-ui/react-use-rect": "0.1.1",
- "@radix-ui/react-visually-hidden": "0.1.3"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0",
- "react-dom": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz",
- "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-id": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.4.tgz",
- "integrity": "sha512-/hq5m/D0ZfJWOS7TLF+G0l08KDRs87LBE46JkAvgKkg1fW4jkucx9At9D9vauIPSbdNmww5kXEp566hMlA8eXA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-id/node_modules/@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-0.1.3.tgz",
- "integrity": "sha512-2OV2YaJv7iTZexJY3HJ7B6Fs1A/3JXd3fRGU4JY0guACfGMD1C/jSgds505MKQOTiHE/quI6j3/q8yfzFjJR9g==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/popper": "0.1.0",
- "@radix-ui/react-arrow": "0.1.3",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-context": "0.1.1",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-use-rect": "0.1.1",
- "@radix-ui/react-use-size": "0.1.0",
- "@radix-ui/rect": "0.1.1"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-0.1.3.tgz",
- "integrity": "sha512-9x1gRYdlUD5OUwY7L+M+4FY/YltDSsrNSj8QXGPbxZxL5ghWXB/4lhyIGccCwk/e8ggfmQYv9SRNmn3LavPo3A==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-0.1.0.tgz",
- "integrity": "sha512-TcZAsR+BYI46w/RbaSFCRACl+Jh6mDqhu6GS2r0iuJpIVrj8atff7qtTjmMmfGtEDNEjhl7DxN3pr1nTS/oruQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.3.tgz",
- "integrity": "sha512-DrV+sPYLs0HhmX5/b7yRT6nLM9Nl6FtQe2KUG+46kiCOKQ+0XzNMO5hmeQtyq0mRf/qlC02rFu6OMsWpIqVsJg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0",
- "react-dom": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.3.tgz",
- "integrity": "sha512-fcyADaaAx2jdqEDLsTs6aX50S3L1c9K9CC6XMpJpuXFJCU4n9PGTFDZRtY2gAoXXoRCPIBsklCopSmGb6SsDjQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-slot": "0.1.2"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
- "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-controllable-state": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz",
- "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-controllable-state/node_modules/@radix-ui/react-use-callback-ref": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
- "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-escape-keydown": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz",
- "integrity": "sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "0.1.0"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-escape-keydown/node_modules/@radix-ui/react-use-callback-ref": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
- "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-previous": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-0.1.0.tgz",
- "integrity": "sha512-0fxNc33rYnCzDMPSiSnfS8YklnxQo8WqbAQXPAgIaaA1jRu2qFB916PL4qCIW+avcAAqFD38vWhqDqcVmBharA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
- }
- },
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-rect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-0.1.1.tgz",
- "integrity": "sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/rect": "0.1.1"
- },
- "peerDependencies": {
- "react": "^16.8 || ^17.0"
+ },
+ "node_modules/katex/node_modules/commander": {
+ "version": "8.3.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
}
},
- "node_modules/leva/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-visually-hidden": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-0.1.3.tgz",
- "integrity": "sha512-dPU6ZR2WQ/W9qv7E1Y8/I8ymqG+8sViU6dQQ6sfr2/8yGr0I4mmI7ywTnqXaE+YS9gHLEZHdQcEqTNESg6YfdQ==",
+ "node_modules/leva": {
+ "version": "0.9.35",
+ "license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3"
+ "@radix-ui/react-portal": "^1.0.2",
+ "@radix-ui/react-tooltip": "^1.0.5",
+ "@stitches/react": "^1.2.8",
+ "@use-gesture/react": "^10.2.5",
+ "colord": "^2.9.2",
+ "dequal": "^2.0.2",
+ "merge-value": "^1.0.0",
+ "react-colorful": "^5.5.1",
+ "react-dropzone": "^12.0.0",
+ "v8n": "^1.3.3",
+ "zustand": "^3.6.9"
},
"peerDependencies": {
- "react": "^16.8 || ^17.0"
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
}
},
"node_modules/linkify-it": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
+ "license": "MIT",
"dependencies": {
"uc.micro": "^1.0.1"
}
},
"node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -1816,13 +1764,11 @@
},
"node_modules/lodash": {
"version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "license": "MIT"
},
"node_modules/loose-envify": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -1831,14 +1777,14 @@
}
},
"node_modules/mafs": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/mafs/-/mafs-0.16.0.tgz",
- "integrity": "sha512-9ZZo5JrFFly17vRJrlNqd5bQHv5aryV/vlWKa+loz2yLBMwYHTcBripUfq2G/zuDJPeuDqBHCwGz2ZAslTYAtQ==",
+ "version": "0.17.1",
+ "license": "MIT",
"dependencies": {
"@react-hook/resize-observer": "^1.2.6",
"@swc/helpers": "^0.4.14",
"@use-gesture/react": "^10.2.23",
"computer-modern": "^0.1.2",
+ "katex": "^0.16.4",
"tiny-invariant": "^1.3.1",
"use-resize-observer": "^9.0.0"
},
@@ -1849,9 +1795,8 @@
},
"node_modules/make-dir": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^6.0.0"
},
@@ -1864,17 +1809,15 @@
},
"node_modules/make-dir/node_modules/semver": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/markdown-it": {
"version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "~2.1.0",
@@ -1888,28 +1831,23 @@
},
"node_modules/markdown-it-block-image": {
"version": "0.0.3",
- "resolved": "https://registry.npmjs.org/markdown-it-block-image/-/markdown-it-block-image-0.0.3.tgz",
- "integrity": "sha512-+esbdLegMSWmIRGwVncj5ZwVi5K1qt894uXfnkZIyMFC7ssbv7aR7YEVI16w0PdFWow1HmBNUZ4chl0vScjoIA=="
+ "license": "MIT"
},
"node_modules/markdown-it-footnote": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz",
- "integrity": "sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w=="
+ "license": "MIT"
},
"node_modules/markdown-it-texmath": {
"version": "0.9.7",
- "resolved": "https://registry.npmjs.org/markdown-it-texmath/-/markdown-it-texmath-0.9.7.tgz",
- "integrity": "sha512-2oZ7WO+xQCvQpfCwxUsCzDpz5jRjiY+FbSJSVz+66+Z9NoPR7ljzUNaOp1CDHYj0JWx+drQLxO0XUjuSsuqc0A=="
+ "license": "MIT"
},
"node_modules/markdown-it-toc-done-right": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/markdown-it-toc-done-right/-/markdown-it-toc-done-right-4.2.0.tgz",
- "integrity": "sha512-UB/IbzjWazwTlNAX0pvWNlJS8NKsOQ4syrXZQ/C72j+jirrsjVRT627lCaylrKJFBQWfRsPmIVQie8x38DEhAQ=="
+ "license": "MIT"
},
"node_modules/mathbox": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/mathbox/-/mathbox-2.3.1.tgz",
- "integrity": "sha512-DtTa/zvFVVhaMsiROAXRByq8BpPJxnhAx2JaGmiCSOCaJEfzeuJycOAPyBw9s3OdzRY9NWyvoq79k0xQFsxHMg==",
+ "license": "MIT",
"dependencies": {
"css-select": "^4.2.1",
"lodash": "^4.17.21",
@@ -1921,22 +1859,20 @@
}
},
"node_modules/mathbox-react": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/mathbox-react/-/mathbox-react-0.2.2.tgz",
- "integrity": "sha512-R9wi1oJpFI/TqhfujTibjuz9/m5Mzl9hS/wbCeSKWrTUAj9I5+oIt3uDP0toTrcoawvPmA9LTiNnZUSdAxCc4w==",
+ "version": "0.0.14",
+ "license": "ISC",
"dependencies": {
"lodash": "^4.17.21"
},
"peerDependencies": {
- "mathbox": "^2.3.1",
+ "mathbox": "^2.2.1",
"react": "^17.0.2 || ^18.0.0",
"three": ">=0.118.0"
}
},
"node_modules/mathlive": {
"version": "0.86.1",
- "resolved": "https://registry.npmjs.org/mathlive/-/mathlive-0.86.1.tgz",
- "integrity": "sha512-xkObr7S/0WwD8l4z/pdFREWueFDgqRd9wYi8vGUEFiC0fiRxW1kQlzQMNb5Xs0UokoOq7yR/2mGf3wHX1ekmYQ==",
+ "license": "MIT",
"engines": {
"node": ">=16.14.2",
"npm": ">=8.5.0"
@@ -1948,8 +1884,7 @@
},
"node_modules/md5.js": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "license": "MIT",
"dependencies": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1",
@@ -1958,13 +1893,11 @@
},
"node_modules/mdurl": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
+ "license": "MIT"
},
"node_modules/merge-value": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz",
- "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==",
+ "license": "MIT",
"dependencies": {
"get-value": "^2.0.6",
"is-extendable": "^1.0.0",
@@ -1977,8 +1910,7 @@
},
"node_modules/miller-rabin": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.0.0",
"brorand": "^1.0.1"
@@ -1989,24 +1921,20 @@
},
"node_modules/miller-rabin/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/minimalistic-assert": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "license": "ISC"
},
"node_modules/minimalistic-crypto-utils": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
+ "license": "MIT"
},
"node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2016,8 +1944,7 @@
},
"node_modules/mixin-deep": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "license": "MIT",
"dependencies": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
@@ -2028,8 +1955,7 @@
},
"node_modules/node-libs-browser": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+ "license": "MIT",
"dependencies": {
"assert": "^1.1.1",
"browserify-zlib": "^0.2.0",
@@ -2058,13 +1984,11 @@
},
"node_modules/node-libs-browser/node_modules/punycode": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ "license": "MIT"
},
"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==",
+ "license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0"
},
@@ -2074,36 +1998,38 @@
},
"node_modules/object-assign": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/object-inspect": {
+ "version": "1.12.3",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/odex": {
"version": "3.0.0-rc.4",
- "resolved": "https://registry.npmjs.org/odex/-/odex-3.0.0-rc.4.tgz",
- "integrity": "sha512-NPpR3eFHUJWQWYT9VParetnYF2bVe1p9iel1PHk2PLGgOdfXd7tr67XJi6x6fVzDmoKnUv1e9AtRtdwLxg2Z2Q=="
+ "license": "BSD-2-Clause"
},
"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==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/os-browserify": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
+ "license": "MIT"
},
"node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -2116,9 +2042,8 @@
},
"node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -2128,22 +2053,19 @@
},
"node_modules/p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/pako": {
"version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "license": "(MIT AND Zlib)"
},
"node_modules/parse-asn1": {
"version": "5.1.6",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
+ "license": "ISC",
"dependencies": {
"asn1.js": "^5.2.0",
"browserify-aes": "^1.0.0",
@@ -2154,31 +2076,27 @@
},
"node_modules/path-browserify": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ "license": "MIT"
},
"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==",
"dev": true,
+ "license": "MIT",
"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==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pbkdf2": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
+ "license": "MIT",
"dependencies": {
"create-hash": "^1.1.2",
"create-hmac": "^1.1.4",
@@ -2192,27 +2110,24 @@
},
"node_modules/pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie-promise": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pinkie": "^2.0.0"
},
@@ -2222,9 +2137,8 @@
},
"node_modules/pkg-dir": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^4.0.0"
},
@@ -2234,8 +2148,7 @@
},
"node_modules/popmotion": {
"version": "11.0.3",
- "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz",
- "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==",
+ "license": "MIT",
"dependencies": {
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
@@ -2245,21 +2158,18 @@
},
"node_modules/process": {
"version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ "license": "MIT"
},
"node_modules/prop-types": {
"version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -2268,8 +2178,7 @@
},
"node_modules/public-encrypt": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "license": "MIT",
"dependencies": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
@@ -2281,46 +2190,44 @@
},
"node_modules/public-encrypt/node_modules/bn.js": {
"version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "license": "MIT"
},
"node_modules/punycode": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
- "node_modules/querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
- "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+ "node_modules/qs": {
+ "version": "6.11.2",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
"engines": {
- "node": ">=0.4.x"
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/querystring-es3": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
"engines": {
"node": ">=0.4.x"
}
},
"node_modules/randombytes": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "^5.1.0"
}
},
"node_modules/randomfill": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "license": "MIT",
"dependencies": {
"randombytes": "^2.0.5",
"safe-buffer": "^5.1.0"
@@ -2328,8 +2235,7 @@
},
"node_modules/react": {
"version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -2339,8 +2245,7 @@
},
"node_modules/react-colorful": {
"version": "5.6.1",
- "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
- "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
+ "license": "MIT",
"peerDependencies": {
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
@@ -2348,8 +2253,7 @@
},
"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==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
@@ -2360,8 +2264,7 @@
},
"node_modules/react-dropzone": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.1.0.tgz",
- "integrity": "sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==",
+ "license": "MIT",
"dependencies": {
"attr-accept": "^2.2.2",
"file-selector": "^0.5.0",
@@ -2376,13 +2279,11 @@
},
"node_modules/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=="
+ "license": "MIT"
},
"node_modules/readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -2395,34 +2296,29 @@
},
"node_modules/readable-stream/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=="
+ "license": "MIT"
},
"node_modules/readable-stream/node_modules/string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/readline-sync": {
"version": "1.4.10",
- "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
- "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/regenerator-runtime": {
"version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+ "license": "MIT"
},
"node_modules/ripemd160": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "license": "MIT",
"dependencies": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1"
@@ -2430,8 +2326,6 @@
},
"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",
@@ -2445,25 +2339,23 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/safer-buffer": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "license": "MIT"
},
"node_modules/scheduler": {
"version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/set-value": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "license": "MIT",
"dependencies": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -2476,21 +2368,18 @@
},
"node_modules/set-value/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==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/setimmediate": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ "license": "MIT"
},
"node_modules/sha.js": {
"version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "license": "(MIT AND BSD-3-Clause)",
"dependencies": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
@@ -2501,8 +2390,7 @@
},
"node_modules/shadergraph": {
"version": "2.1.3",
- "resolved": "https://registry.npmjs.org/shadergraph/-/shadergraph-2.1.3.tgz",
- "integrity": "sha512-98Objdkj8OTNIuYG5wxkAZTdPsBEGXuDq8yveqQh0QVzBBkEObb6RA3sMozlOiWPQXycQ+Ng4ZmT2OJiokYplQ==",
+ "license": "MIT",
"dependencies": {
"@sicmutils/glsl-parser": "^2.0.1",
"glsl-tokenizer": "^2.1.5"
@@ -2513,8 +2401,7 @@
},
"node_modules/shadow-cljs": {
"version": "2.23.1",
- "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.23.1.tgz",
- "integrity": "sha512-qPI8FyRSmOJgl24svvrWvA/29fA94CVo89X0v6B4eaH/uex5NBSBZqyw58Bo4ZBu0YUxEXnwB8BSHLgmAzf8LQ==",
+ "license": "ISC",
"dependencies": {
"node-libs-browser": "^2.2.1",
"readline-sync": "^1.4.7",
@@ -2532,29 +2419,37 @@
},
"node_modules/shadow-cljs-jar": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz",
- "integrity": "sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA=="
+ "license": "ISC"
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/source-map": {
"version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-support": {
"version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "license": "MIT",
"dependencies": {
"source-map": "^0.5.6"
}
},
"node_modules/split-string": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "license": "MIT",
"dependencies": {
"extend-shallow": "^3.0.0"
},
@@ -2564,8 +2459,7 @@
},
"node_modules/split-string/node_modules/extend-shallow": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "license": "MIT",
"dependencies": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -2576,13 +2470,11 @@
},
"node_modules/stats.js": {
"version": "0.17.0",
- "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
- "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw=="
+ "license": "MIT"
},
"node_modules/stream-browserify": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "license": "MIT",
"dependencies": {
"inherits": "~2.0.1",
"readable-stream": "^2.0.2"
@@ -2590,8 +2482,7 @@
},
"node_modules/stream-http": {
"version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "license": "MIT",
"dependencies": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
@@ -2602,17 +2493,15 @@
},
"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==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/strip-outer": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
@@ -2622,27 +2511,24 @@
},
"node_modules/style-mod": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz",
- "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw=="
+ "license": "MIT"
},
"node_modules/style-value-types": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz",
- "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==",
+ "license": "MIT",
"dependencies": {
"hey-listen": "^1.0.8",
"tslib": "^2.1.0"
}
},
"node_modules/three": {
- "version": "0.149.0",
- "resolved": "https://registry.npmjs.org/three/-/three-0.149.0.tgz",
- "integrity": "sha512-tohpUxPDht0qExRLDTM8sjRLc5d9STURNrdnK3w9A+V4pxaTBfKWWT/IqtiLfg23Vfc3Z+ImNfvRw1/0CtxrkQ=="
+ "version": "0.150.0",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.150.0.tgz",
+ "integrity": "sha512-12oqqBZom9fb5HtX3rD8qPVnamojuiN5Os7r0x8s3HQ+WHRwnEyzl2XU3aEKocsDkG++rkE9+HWzx77O59NXtw=="
},
"node_modules/threestrap": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/threestrap/-/threestrap-0.5.1.tgz",
- "integrity": "sha512-58Wq1NRw6r+clwZ59xL6BK4NXKZvLWS7TUCM5a2utOM9Dy5PFXv8pT+A9AWUxi735yWUXQ0l0Fddr8povBKOCw==",
+ "license": "MIT",
"dependencies": {
"stats.js": "^0.17.0"
},
@@ -2652,8 +2538,7 @@
},
"node_modules/through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
+ "license": "MIT",
"dependencies": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
@@ -2661,13 +2546,11 @@
},
"node_modules/through2/node_modules/isarray": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
+ "license": "MIT"
},
"node_modules/through2/node_modules/readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -2677,13 +2560,11 @@
},
"node_modules/through2/node_modules/string_decoder": {
"version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
+ "license": "MIT"
},
"node_modules/timers-browserify": {
"version": "2.0.12",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
- "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+ "license": "MIT",
"dependencies": {
"setimmediate": "^1.0.4"
},
@@ -2693,19 +2574,16 @@
},
"node_modules/tiny-invariant": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
- "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
+ "license": "MIT"
},
"node_modules/to-arraybuffer": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="
+ "license": "MIT"
},
"node_modules/trim-repeated": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "^1.0.2"
},
@@ -2714,47 +2592,40 @@
}
},
"node_modules/tslib": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz",
- "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA=="
+ "version": "2.5.3",
+ "license": "0BSD"
},
"node_modules/tty-browserify": {
"version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw=="
+ "license": "MIT"
},
"node_modules/uc.micro": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+ "license": "MIT"
},
"node_modules/universalify": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
+ "version": "0.11.1",
+ "license": "MIT",
"dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.11.0"
}
},
"node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
+ "version": "1.4.1",
+ "license": "MIT"
},
"node_modules/use-resize-observer": {
"version": "9.1.0",
- "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz",
- "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==",
+ "license": "MIT",
"dependencies": {
"@juggle/resize-observer": "^3.3.1"
},
@@ -2765,54 +2636,45 @@
},
"node_modules/use-sync-external-store": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/util": {
"version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "license": "MIT",
"dependencies": {
"inherits": "2.0.3"
}
},
"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=="
+ "license": "MIT"
},
"node_modules/util/node_modules/inherits": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ "license": "ISC"
},
"node_modules/v8n": {
"version": "1.5.1",
- "resolved": "https://registry.npmjs.org/v8n/-/v8n-1.5.1.tgz",
- "integrity": "sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A=="
+ "license": "MIT"
},
"node_modules/vh-sticky-table-header": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/vh-sticky-table-header/-/vh-sticky-table-header-1.2.1.tgz",
- "integrity": "sha512-ZetSgFI6QYSp/iON1hU6LAyijW5kr/B+o7ndWegJ3B6vq/6na8Lat/vf6/VXdgtm/nsH8bgtXxRKz5dBU4YZdg=="
+ "license": "MIT"
},
"node_modules/vm-browserify": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
+ "license": "MIT"
},
"node_modules/w3c-keyname": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.7.tgz",
- "integrity": "sha512-XB8aa62d4rrVfoZYQaYNy3fy+z4nrfy2ooea3/0BnBzXW0tSdZ+lRgjzBZhk0La0H6h8fVyYCxx/qkQcAIuvfg=="
+ "version": "2.2.8",
+ "license": "MIT"
},
"node_modules/which": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -2822,14 +2684,12 @@
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/ws": {
"version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "license": "MIT",
"engines": {
"node": ">=8.3.0"
},
@@ -2848,16 +2708,14 @@
},
"node_modules/xtend": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "license": "MIT",
"engines": {
"node": ">=0.4"
}
},
"node_modules/zustand": {
"version": "3.7.2",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
- "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
+ "license": "MIT",
"engines": {
"node": ">=12.7.0"
},
@@ -2873,17 +2731,13 @@
},
"dependencies": {
"@babel/runtime": {
- "version": "7.22.3",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz",
- "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==",
+ "version": "7.22.5",
"requires": {
"regenerator-runtime": "^0.13.11"
}
},
"@codemirror/autocomplete": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.7.1.tgz",
- "integrity": "sha512-hSxf9S0uB+GV+gBsjY1FZNo53e1FFdzPceRfCfD1gWOnV6o21GfB5J5Wg9G/4h76XZMPrF0A6OCK/Rz5+V1egg==",
+ "version": "6.8.1",
"requires": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.0.0",
@@ -2893,8 +2747,6 @@
},
"@codemirror/commands": {
"version": "6.2.4",
- "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.4.tgz",
- "integrity": "sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==",
"requires": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.2.0",
@@ -2904,8 +2756,6 @@
},
"@codemirror/lang-css": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.2.0.tgz",
- "integrity": "sha512-oyIdJM29AyRPM3+PPq1I2oIk8NpUfEN3kAM05XWDDs6o3gSneIKaVJifT2P+fqONLou2uIgXynFyMUDQvo/szA==",
"requires": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.0.0",
@@ -2915,9 +2765,7 @@
}
},
"@codemirror/lang-html": {
- "version": "6.4.3",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz",
- "integrity": "sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ==",
+ "version": "6.4.5",
"requires": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/lang-css": "^6.0.0",
@@ -2931,9 +2779,7 @@
}
},
"@codemirror/lang-javascript": {
- "version": "6.1.8",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.8.tgz",
- "integrity": "sha512-5cIA6IOkslTu1DtldcYnj7hsBm3p+cD37qSaKvW1kV16M6q9ysKvKrveCOWgbrj4+ilSWRL2JtSLudbeB158xg==",
+ "version": "6.1.9",
"requires": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/language": "^6.6.0",
@@ -2946,8 +2792,6 @@
},
"@codemirror/lang-markdown": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.0.0.tgz",
- "integrity": "sha512-ozJaO1W4WgGlwWOoYCSYzbVhhM0YM/4lAWLrNsBbmhh5Ztpl0qm4CgEQRl3t8/YcylTZYBIXiskui8sHNGd4dg==",
"requires": {
"@codemirror/lang-html": "^6.0.0",
"@codemirror/language": "^6.0.0",
@@ -2958,9 +2802,7 @@
}
},
"@codemirror/language": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.7.0.tgz",
- "integrity": "sha512-4SMwe6Fwn57klCUsVN0y4/h/iWT+XIXFEmop2lIHHuWO0ubjCrF3suqSZLyOQlznxkNnNbOOfKe5HQbQGCAmTg==",
+ "version": "6.8.0",
"requires": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -2971,9 +2813,7 @@
}
},
"@codemirror/lint": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.1.tgz",
- "integrity": "sha512-y1muai5U/uUPAGRyHMx9mHuHLypPcHWxzlZGknp/U5Mdb5Ol8Q5ZLp67UqyTbNFJJ3unVxZ8iX3g1fMN79S1JQ==",
+ "version": "6.3.0",
"requires": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -2981,9 +2821,7 @@
}
},
"@codemirror/search": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.4.0.tgz",
- "integrity": "sha512-zMDgaBXah+nMLK2dHz9GdCnGbQu+oaGRXS1qviqNZkvOCv/whp5XZFyoikLp/23PM9RBcbuKUUISUmQHM1eRHw==",
+ "version": "6.5.0",
"requires": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@@ -2991,14 +2829,10 @@
}
},
"@codemirror/state": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz",
- "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw=="
+ "version": "6.2.1"
},
"@codemirror/view": {
- "version": "6.12.0",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.12.0.tgz",
- "integrity": "sha512-xNHvbJBc2v8JuEcIGOck6EUGShpP+TYGCEMVEVQMYxbFXfMhYnoF3znxB/2GgeKR0nrxBs+nhBupiTYQqCp2kw==",
+ "version": "6.14.0",
"requires": {
"@codemirror/state": "^6.1.4",
"style-mod": "^4.0.0",
@@ -3007,8 +2841,6 @@
},
"@cortex-js/compute-engine": {
"version": "0.12.3",
- "resolved": "https://registry.npmjs.org/@cortex-js/compute-engine/-/compute-engine-0.12.3.tgz",
- "integrity": "sha512-LuiSWMSlgsLFcRWm5ifR8ZeE9HXWOrJ+hE6F211eVI+S+w9SQQvZhhCdUCBusyspW0+29R8lksJPH4qFFr3Xag==",
"requires": {
"complex.js": "^2.1.1",
"decimal.js": "^10.4.0"
@@ -3016,8 +2848,6 @@
},
"@emotion/is-prop-valid": {
"version": "0.8.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
- "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
"optional": true,
"requires": {
"@emotion/memoize": "0.7.4"
@@ -3025,33 +2855,38 @@
},
"@emotion/memoize": {
"version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
"optional": true
},
+ "@floating-ui/core": {
+ "version": "1.3.1"
+ },
+ "@floating-ui/dom": {
+ "version": "1.4.2",
+ "requires": {
+ "@floating-ui/core": "^1.3.1"
+ }
+ },
+ "@floating-ui/react-dom": {
+ "version": "2.0.1",
+ "requires": {
+ "@floating-ui/dom": "^1.3.0"
+ }
+ },
"@juggle/resize-observer": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
- "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA=="
+ "version": "3.4.0"
},
"@lezer/common": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz",
- "integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng=="
+ "version": "1.0.3"
},
"@lezer/css": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.2.tgz",
- "integrity": "sha512-5TKMAReXukfEmIiZprDlGfZVfOOCyEStFi1YLzxclm9H3G/HHI49/2wzlRT6bQw5r7PoZVEtjTItEkb/UuZQyg==",
"requires": {
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0"
}
},
"@lezer/generator": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-1.2.3.tgz",
- "integrity": "sha512-xRmNryYbJpWs7novjWtQLCGHOj71B4X1QHQ4SgJqwm11tl6COEVAGhuFTXKX16JMJUhumdXaX8We6hEMd4clDg==",
+ "version": "1.3.0",
"requires": {
"@lezer/common": "^1.0.2",
"@lezer/lr": "^1.3.0"
@@ -3059,16 +2894,12 @@
},
"@lezer/highlight": {
"version": "1.1.6",
- "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz",
- "integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==",
"requires": {
"@lezer/common": "^1.0.0"
}
},
"@lezer/html": {
"version": "1.3.4",
- "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz",
- "integrity": "sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g==",
"requires": {
"@lezer/common": "^1.0.0",
"@lezer/highlight": "^1.0.0",
@@ -3077,25 +2908,19 @@
},
"@lezer/javascript": {
"version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.3.tgz",
- "integrity": "sha512-k7Eo9z9B1supZ5cCD4ilQv/RZVN30eUQL+gGbr6ybrEY3avBAL5MDiYi2aa23Aj0A79ry4rJRvPAwE2TM8bd+A==",
"requires": {
"@lezer/highlight": "^1.1.3",
"@lezer/lr": "^1.3.0"
}
},
"@lezer/lr": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.5.tgz",
- "integrity": "sha512-Kye0rxYBi+OdToLUN2tQfeH5VIrpESC6XznuvxmIxbO1lz6M1C90vkjMNYoX1SfbUcuvoPXvLYsBquZ//77zVQ==",
+ "version": "1.3.7",
"requires": {
"@lezer/common": "^1.0.0"
}
},
"@lezer/markdown": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.0.2.tgz",
- "integrity": "sha512-8CY0OoZ6V5EzPjSPeJ4KLVbtXdLBd8V6sRCooN5kHnO28ytreEGTyrtU/zUwo/XLRzGr/e1g44KlzKi3yWGB5A==",
+ "version": "1.0.3",
"requires": {
"@lezer/common": "^1.0.0",
"@lezer/highlight": "^1.0.0"
@@ -3103,8 +2928,6 @@
},
"@motionone/animation": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
- "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==",
"requires": {
"@motionone/easing": "^10.15.1",
"@motionone/types": "^10.15.1",
@@ -3114,8 +2937,6 @@
},
"@motionone/dom": {
"version": "10.12.0",
- "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz",
- "integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==",
"requires": {
"@motionone/animation": "^10.12.0",
"@motionone/generators": "^10.12.0",
@@ -3127,8 +2948,6 @@
},
"@motionone/easing": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz",
- "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==",
"requires": {
"@motionone/utils": "^10.15.1",
"tslib": "^2.3.1"
@@ -3136,8 +2955,6 @@
},
"@motionone/generators": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz",
- "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==",
"requires": {
"@motionone/types": "^10.15.1",
"@motionone/utils": "^10.15.1",
@@ -3145,14 +2962,10 @@
}
},
"@motionone/types": {
- "version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz",
- "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA=="
+ "version": "10.15.1"
},
"@motionone/utils": {
"version": "10.15.1",
- "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz",
- "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==",
"requires": {
"@motionone/types": "^10.15.1",
"hey-listen": "^1.0.8",
@@ -3161,8 +2974,6 @@
},
"@nextjournal/lang-clojure": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nextjournal/lang-clojure/-/lang-clojure-1.0.0.tgz",
- "integrity": "sha512-gOCV71XrYD0DhwGoPMWZmZ0r92/lIHsqQu9QWdpZYYBwiChNwMO4sbVMP7eTuAqffFB2BTtCSC+1skSH9d3bNg==",
"requires": {
"@codemirror/language": "^6.0.0",
"@nextjournal/lezer-clojure": "1.0.0"
@@ -3170,81 +2981,179 @@
},
"@nextjournal/lezer-clojure": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@nextjournal/lezer-clojure/-/lezer-clojure-1.0.0.tgz",
- "integrity": "sha512-VZyuGu4zw5mkTOwQBTaGVNWmsOZAPw5ZRxu1/Knk/Xfs7EDBIogwIs5UXTYkuECX5ZQB8eOB+wKA2pc7VyqaZQ==",
"requires": {
"@lezer/lr": "^1.0.0"
}
},
- "@radix-ui/popper": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/popper/-/popper-0.1.0.tgz",
- "integrity": "sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ==",
+ "@radix-ui/primitive": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-arrow": {
+ "version": "1.0.3",
"requires": {
"@babel/runtime": "^7.13.10",
- "csstype": "^3.0.4"
+ "@radix-ui/react-primitive": "1.0.3"
}
},
- "@radix-ui/primitive": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz",
- "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==",
+ "@radix-ui/react-compose-refs": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context": {
+ "version": "1.0.1",
"requires": {
"@babel/runtime": "^7.13.10"
}
},
+ "@radix-ui/react-dismissable-layer": {
+ "version": "1.0.4",
+ "requires": {
+ "@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"
+ }
+ },
+ "@radix-ui/react-id": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
+ }
+ },
+ "@radix-ui/react-popper": {
+ "version": "1.1.2",
+ "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.3",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.3"
+ }
+ },
"@radix-ui/react-presence": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-0.1.1.tgz",
- "integrity": "sha512-LsL+NcWDpFUAYCmXeH02o4pgqcSLpwxP84UIjCtpIKrsPe2vLuhcp79KC/jZJeXz+of2lUpMAxpM+eCpxFZtlg==",
+ "version": "1.0.1",
"requires": {
"@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
+ "@radix-ui/react-compose-refs": "1.0.1",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "1.0.3",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.2"
+ }
+ },
+ "@radix-ui/react-slot": {
+ "version": "1.0.2",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.1"
+ }
+ },
+ "@radix-ui/react-tooltip": {
+ "version": "1.0.6",
+ "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.4",
+ "@radix-ui/react-id": "1.0.1",
+ "@radix-ui/react-popper": "1.1.2",
+ "@radix-ui/react-portal": "1.0.3",
+ "@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",
+ "@radix-ui/react-visually-hidden": "1.0.3"
+ }
+ },
+ "@radix-ui/react-use-callback-ref": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-controllable-state": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.1"
+ }
+ },
+ "@radix-ui/react-use-escape-keydown": {
+ "version": "1.0.3",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "1.0.1"
+ }
+ },
+ "@radix-ui/react-use-layout-effect": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-rect": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "1.0.1"
+ }
+ },
+ "@radix-ui/react-use-size": {
+ "version": "1.0.1",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "1.0.1"
+ }
+ },
+ "@radix-ui/react-visually-hidden": {
+ "version": "1.0.3",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.3"
}
},
"@radix-ui/rect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-0.1.1.tgz",
- "integrity": "sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw==",
+ "version": "1.0.1",
"requires": {
"@babel/runtime": "^7.13.10"
}
},
"@react-hook/latest": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@react-hook/latest/-/latest-1.0.3.tgz",
- "integrity": "sha512-dy6duzl+JnAZcDbNTfmaP3xHiKtbXYOaz3G51MGVljh548Y8MWzTr+PHLOfvpypEVW9zwvl+VyKjbWKEVbV1Rg==",
"requires": {}
},
"@react-hook/passive-layout-effect": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz",
- "integrity": "sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==",
"requires": {}
},
"@react-hook/resize-observer": {
"version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@react-hook/resize-observer/-/resize-observer-1.2.6.tgz",
- "integrity": "sha512-DlBXtLSW0DqYYTW3Ft1/GQFZlTdKY5VAFIC4+km6IK5NiPPDFchGbEJm1j6pSgMqPRHbUQgHJX7RaR76ic1LWA==",
"requires": {
"@juggle/resize-observer": "^3.3.1",
"@react-hook/latest": "^1.0.2",
@@ -3253,48 +3162,34 @@
},
"@sicmutils/glsl-parser": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@sicmutils/glsl-parser/-/glsl-parser-2.0.1.tgz",
- "integrity": "sha512-svY++7/9A7oYE/BJtURM+Y77uvVWZ+PXfKuzZmbiQSWgBJRChUU3AHt8QXmmt4GFIXeVHV1zuSwjYpluU2WjXQ==",
"requires": {
"glsl-tokenizer": "^2.1.4"
}
},
"@stitches/react": {
"version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz",
- "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==",
"requires": {}
},
"@swc/helpers": {
"version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
"requires": {
"tslib": "^2.4.0"
}
},
"@use-gesture/core": {
- "version": "10.2.27",
- "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.27.tgz",
- "integrity": "sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA=="
+ "version": "10.2.27"
},
"@use-gesture/react": {
"version": "10.2.27",
- "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.27.tgz",
- "integrity": "sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==",
"requires": {
"@use-gesture/core": "10.2.27"
}
},
"argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ "version": "2.0.1"
},
"array-union": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
"dev": true,
"requires": {
"array-uniq": "^1.0.1"
@@ -3302,14 +3197,10 @@
},
"array-uniq": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
"dev": true
},
"asn1.js": {
"version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
"requires": {
"bn.js": "^4.0.0",
"inherits": "^2.0.1",
@@ -3318,30 +3209,22 @@
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"assert": {
"version": "1.5.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
"requires": {
"object-assign": "^4.1.1",
"util": "0.10.3"
},
"dependencies": {
"inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
+ "version": "2.0.1"
},
"util": {
"version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
"requires": {
"inherits": "2.0.1"
}
@@ -3349,49 +3232,33 @@
}
},
"assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw=="
+ "version": "1.0.0"
},
"async": {
"version": "2.6.4",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
- "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"requires": {
"lodash": "^4.17.14"
}
},
"attr-accept": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
- "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg=="
+ "version": "2.2.2"
},
"balanced-match": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ "version": "1.5.1"
},
"bn.js": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
- "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
+ "version": "5.2.1"
},
"boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+ "version": "1.0.0"
},
"brace-expansion": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
@@ -3399,14 +3266,10 @@
}
},
"brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
+ "version": "1.1.0"
},
"browserify-aes": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"requires": {
"buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0",
@@ -3418,8 +3281,6 @@
},
"browserify-cipher": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
"requires": {
"browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0",
@@ -3428,8 +3289,6 @@
},
"browserify-des": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
"requires": {
"cipher-base": "^1.0.1",
"des.js": "^1.0.0",
@@ -3439,8 +3298,6 @@
},
"browserify-rsa": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
"requires": {
"bn.js": "^5.0.0",
"randombytes": "^2.0.1"
@@ -3448,8 +3305,6 @@
},
"browserify-sign": {
"version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
"requires": {
"bn.js": "^5.1.1",
"browserify-rsa": "^4.0.1",
@@ -3464,8 +3319,6 @@
"dependencies": {
"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": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -3476,16 +3329,12 @@
},
"browserify-zlib": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"requires": {
"pako": "~1.0.5"
}
},
"buffer": {
"version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
@@ -3493,92 +3342,69 @@
}
},
"buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
+ "version": "1.0.3"
},
"builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
+ "version": "3.0.0"
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
},
"cipher-base": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"colord": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
+ "version": "2.9.3"
},
"commander": {
"version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
"dev": true
},
"complex.js": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz",
- "integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg=="
+ "version": "2.1.1"
},
"computer-modern": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/computer-modern/-/computer-modern-0.1.2.tgz",
- "integrity": "sha512-qvW7/uUkNFjJT6DaM4NaLXrYSnkFdES8iJajX3xD2S7KRFYxxppFsEUM0+R7SLypEN/t/3TQ4zFBvj5i/MBL9A=="
+ "version": "0.1.2"
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
"console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
+ "version": "1.2.0"
},
"constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
+ "version": "1.0.0"
},
"core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ "version": "1.0.3"
},
"create-ecdh": {
"version": "4.0.4",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
"requires": {
"bn.js": "^4.1.0",
"elliptic": "^6.5.3"
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"create-hash": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"requires": {
"cipher-base": "^1.0.1",
"inherits": "^2.0.1",
@@ -3589,8 +3415,6 @@
},
"create-hmac": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"requires": {
"cipher-base": "^1.0.3",
"create-hash": "^1.1.0",
@@ -3601,14 +3425,10 @@
}
},
"crelt": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
- "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
+ "version": "1.0.6"
},
"crypto-browserify": {
"version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
"requires": {
"browserify-cipher": "^1.0.0",
"browserify-sign": "^4.0.0",
@@ -3625,8 +3445,6 @@
},
"css-select": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
"requires": {
"boolbase": "^1.0.0",
"css-what": "^6.0.1",
@@ -3636,34 +3454,19 @@
}
},
"css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
- },
- "csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+ "version": "6.1.0"
},
"d3-require": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/d3-require/-/d3-require-1.3.0.tgz",
- "integrity": "sha512-XaNc2azaAwXhGjmCMtxlD+AowpMfLimVsAoTMpqrvb8CWoA4QqyV12mc4Ue6KSoDvfuS831tsumfhDYxGd4FGA=="
+ "version": "1.3.0"
},
"decimal.js": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
+ "version": "10.4.3"
},
"dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
+ "version": "2.0.3"
},
"des.js": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
- "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
"requires": {
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0"
@@ -3671,8 +3474,6 @@
},
"diffie-hellman": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"requires": {
"bn.js": "^4.1.0",
"miller-rabin": "^4.0.0",
@@ -3680,16 +3481,12 @@
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"dom-serializer": {
"version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
@@ -3697,27 +3494,19 @@
}
},
"domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
+ "version": "1.2.0"
},
"domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
+ "version": "2.3.0"
},
"domhandler": {
"version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"requires": {
"domelementtype": "^2.2.0"
}
},
"domutils": {
"version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
@@ -3726,8 +3515,6 @@
},
"elliptic": {
"version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
"requires": {
"bn.js": "^4.11.9",
"brorand": "^1.1.0",
@@ -3739,38 +3526,26 @@
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"email-addresses": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
- "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==",
"dev": true
},
"entities": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
+ "version": "2.1.0"
},
"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==",
"dev": true
},
"events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
+ "version": "3.3.0"
},
"evp_bytestokey": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"requires": {
"md5.js": "^1.3.4",
"safe-buffer": "^5.1.1"
@@ -3778,37 +3553,27 @@
},
"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"
},
"dependencies": {
"is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
+ "version": "0.1.1"
}
}
},
"file-selector": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.5.0.tgz",
- "integrity": "sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==",
"requires": {
"tslib": "^2.0.3"
}
},
"filename-reserved-regex": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
- "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
"dev": true
},
"filenamify": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
- "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
"dev": true,
"requires": {
"filename-reserved-regex": "^2.0.0",
@@ -3818,8 +3583,6 @@
},
"find-cache-dir": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
"requires": {
"commondir": "^1.0.1",
@@ -3829,8 +3592,6 @@
},
"find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
@@ -3838,19 +3599,13 @@
}
},
"for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
+ "version": "1.0.2"
},
"fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
+ "version": "4.2.0"
},
"framer-motion": {
"version": "6.5.1",
- "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz",
- "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==",
"requires": {
"@emotion/is-prop-valid": "^0.8.2",
"@motionone/dom": "10.12.0",
@@ -3863,16 +3618,12 @@
},
"framesync": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
- "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
"requires": {
"tslib": "^2.1.0"
}
},
"fs-extra": {
"version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
@@ -3882,19 +3633,25 @@
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
+ "function-bind": {
+ "version": "1.1.1"
+ },
+ "get-intrinsic": {
+ "version": "1.2.1",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
+ }
+ },
"get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA=="
+ "version": "2.0.6"
},
"gh-pages": {
"version": "3.2.3",
- "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz",
- "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==",
"dev": true,
"requires": {
"async": "^2.6.1",
@@ -3908,8 +3665,6 @@
},
"glob": {
"version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -3922,8 +3677,6 @@
},
"globby": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==",
"dev": true,
"requires": {
"array-union": "^1.0.1",
@@ -3935,22 +3688,28 @@
},
"glsl-tokenizer": {
"version": "2.1.5",
- "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz",
- "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==",
"requires": {
"through2": "^0.6.3"
}
},
"graceful-fs": {
"version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"dev": true
},
+ "has": {
+ "version": "1.0.3",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-proto": {
+ "version": "1.0.1"
+ },
+ "has-symbols": {
+ "version": "1.0.3"
+ },
"hash-base": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
"requires": {
"inherits": "^2.0.4",
"readable-stream": "^3.6.0",
@@ -3959,8 +3718,6 @@
"dependencies": {
"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": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -3971,22 +3728,16 @@
},
"hash.js": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
"requires": {
"inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1"
}
},
"hey-listen": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
- "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
+ "version": "1.0.8"
},
"hmac-drbg": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
"requires": {
"hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0",
@@ -3994,19 +3745,13 @@
}
},
"https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
+ "version": "1.0.0"
},
"ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ "version": "1.2.1"
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"requires": {
"once": "^1.3.0",
@@ -4014,83 +3759,59 @@
}
},
"inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "version": "2.0.4"
},
"is-extendable": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"requires": {
"is-plain-object": "^2.0.4"
}
},
"is-plain-object": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"requires": {
"isobject": "^3.0.1"
}
},
"isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "version": "1.0.0"
},
"isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ "version": "2.0.0"
},
"isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
+ "version": "3.0.1"
},
"js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "version": "4.0.0"
},
"jsonfile": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
},
"jsxgraph": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/jsxgraph/-/jsxgraph-1.5.0.tgz",
- "integrity": "sha512-mXsW1LG9AEZpiYDM+nScs5G5ZKw6xrQIrVLszRXeXFX+XYbS1Abx9oMmk7WMDbCXerYFzNo5/vZ9MRZpFeABpQ=="
+ "version": "1.5.0"
},
"katex": {
- "version": "0.16.7",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.7.tgz",
- "integrity": "sha512-Xk9C6oGKRwJTfqfIbtr0Kes9OSv6IFsuhFGc7tW4urlpMJtuh+7YhzU6YEG9n8gmWKcMAFzkp7nr+r69kV0zrA==",
+ "version": "0.16.8",
"requires": {
"commander": "^8.3.0"
},
"dependencies": {
"commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="
+ "version": "8.3.0"
}
}
},
"leva": {
- "version": "0.9.34",
- "resolved": "https://registry.npmjs.org/leva/-/leva-0.9.34.tgz",
- "integrity": "sha512-hQmWAakOCuBXYIenJ7RaNIei5enDwHNNb6Gz5BUU3mZk+ElECdbvNJbmcMfkFAJslJw33MXRabt7OKIzItLLWw==",
+ "version": "0.9.35",
"requires": {
- "@radix-ui/react-portal": "^0.1.3",
- "@radix-ui/react-tooltip": "0.1.6",
- "@stitches/react": "1.2.8",
+ "@radix-ui/react-portal": "^1.0.2",
+ "@radix-ui/react-tooltip": "^1.0.5",
+ "@stitches/react": "^1.2.8",
"@use-gesture/react": "^10.2.5",
"colord": "^2.9.2",
"dequal": "^2.0.2",
@@ -4099,303 +3820,44 @@
"react-dropzone": "^12.0.0",
"v8n": "^1.3.3",
"zustand": "^3.6.9"
- },
- "dependencies": {
- "@radix-ui/react-portal": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.4.tgz",
- "integrity": "sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.4",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-primitive": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz",
- "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-slot": "0.1.2"
- },
- "dependencies": {
- "@radix-ui/react-slot": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
- "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- }
- }
- },
- "@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-tooltip": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-0.1.6.tgz",
- "integrity": "sha512-0uaRpRmTCQo5yMUkDpv4LEDnaQDoeLXcNNhZonCZdbZBQ7ntvjURIWIigq1/pXZp0UX7oPpFzsXD9jUp8JT0WA==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "0.1.0",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-context": "0.1.1",
- "@radix-ui/react-id": "0.1.4",
- "@radix-ui/react-popper": "0.1.3",
- "@radix-ui/react-portal": "0.1.3",
- "@radix-ui/react-presence": "0.1.1",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-slot": "0.1.2",
- "@radix-ui/react-use-controllable-state": "0.1.0",
- "@radix-ui/react-use-escape-keydown": "0.1.0",
- "@radix-ui/react-use-previous": "0.1.0",
- "@radix-ui/react-use-rect": "0.1.1",
- "@radix-ui/react-visually-hidden": "0.1.3"
- },
- "dependencies": {
- "@radix-ui/react-compose-refs": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
- "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@radix-ui/react-context": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz",
- "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@radix-ui/react-id": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.4.tgz",
- "integrity": "sha512-/hq5m/D0ZfJWOS7TLF+G0l08KDRs87LBE46JkAvgKkg1fW4jkucx9At9D9vauIPSbdNmww5kXEp566hMlA8eXA==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-popper": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-0.1.3.tgz",
- "integrity": "sha512-2OV2YaJv7iTZexJY3HJ7B6Fs1A/3JXd3fRGU4JY0guACfGMD1C/jSgds505MKQOTiHE/quI6j3/q8yfzFjJR9g==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/popper": "0.1.0",
- "@radix-ui/react-arrow": "0.1.3",
- "@radix-ui/react-compose-refs": "0.1.0",
- "@radix-ui/react-context": "0.1.1",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-use-rect": "0.1.1",
- "@radix-ui/react-use-size": "0.1.0",
- "@radix-ui/rect": "0.1.1"
- },
- "dependencies": {
- "@radix-ui/react-arrow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-0.1.3.tgz",
- "integrity": "sha512-9x1gRYdlUD5OUwY7L+M+4FY/YltDSsrNSj8QXGPbxZxL5ghWXB/4lhyIGccCwk/e8ggfmQYv9SRNmn3LavPo3A==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3"
- }
- },
- "@radix-ui/react-use-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-0.1.0.tgz",
- "integrity": "sha512-TcZAsR+BYI46w/RbaSFCRACl+Jh6mDqhu6GS2r0iuJpIVrj8atff7qtTjmMmfGtEDNEjhl7DxN3pr1nTS/oruQ==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-portal": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.3.tgz",
- "integrity": "sha512-DrV+sPYLs0HhmX5/b7yRT6nLM9Nl6FtQe2KUG+46kiCOKQ+0XzNMO5hmeQtyq0mRf/qlC02rFu6OMsWpIqVsJg==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3",
- "@radix-ui/react-use-layout-effect": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-use-layout-effect": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
- "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-primitive": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.3.tgz",
- "integrity": "sha512-fcyADaaAx2jdqEDLsTs6aX50S3L1c9K9CC6XMpJpuXFJCU4n9PGTFDZRtY2gAoXXoRCPIBsklCopSmGb6SsDjQ==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-slot": "0.1.2"
- }
- },
- "@radix-ui/react-slot": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
- "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "0.1.0"
- }
- },
- "@radix-ui/react-use-controllable-state": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz",
- "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-use-callback-ref": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
- "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-use-escape-keydown": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz",
- "integrity": "sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "0.1.0"
- },
- "dependencies": {
- "@radix-ui/react-use-callback-ref": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
- "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- }
- }
- },
- "@radix-ui/react-use-previous": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-0.1.0.tgz",
- "integrity": "sha512-0fxNc33rYnCzDMPSiSnfS8YklnxQo8WqbAQXPAgIaaA1jRu2qFB916PL4qCIW+avcAAqFD38vWhqDqcVmBharA==",
- "requires": {
- "@babel/runtime": "^7.13.10"
- }
- },
- "@radix-ui/react-use-rect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-0.1.1.tgz",
- "integrity": "sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/rect": "0.1.1"
- }
- },
- "@radix-ui/react-visually-hidden": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-0.1.3.tgz",
- "integrity": "sha512-dPU6ZR2WQ/W9qv7E1Y8/I8ymqG+8sViU6dQQ6sfr2/8yGr0I4mmI7ywTnqXaE+YS9gHLEZHdQcEqTNESg6YfdQ==",
- "requires": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "0.1.3"
- }
- }
- }
- }
}
},
"linkify-it": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
"requires": {
"uc.micro": "^1.0.1"
}
},
"locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "version": "4.17.21"
},
"loose-envify": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"mafs": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/mafs/-/mafs-0.16.0.tgz",
- "integrity": "sha512-9ZZo5JrFFly17vRJrlNqd5bQHv5aryV/vlWKa+loz2yLBMwYHTcBripUfq2G/zuDJPeuDqBHCwGz2ZAslTYAtQ==",
+ "version": "0.17.1",
"requires": {
"@react-hook/resize-observer": "^1.2.6",
"@swc/helpers": "^0.4.14",
"@use-gesture/react": "^10.2.23",
"computer-modern": "^0.1.2",
+ "katex": "^0.16.4",
"tiny-invariant": "^1.3.1",
"use-resize-observer": "^9.0.0"
}
},
"make-dir": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
"semver": "^6.0.0"
@@ -4403,16 +3865,12 @@
"dependencies": {
"semver": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
"markdown-it": {
"version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
"requires": {
"argparse": "^2.0.1",
"entities": "~2.1.0",
@@ -4422,29 +3880,19 @@
}
},
"markdown-it-block-image": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/markdown-it-block-image/-/markdown-it-block-image-0.0.3.tgz",
- "integrity": "sha512-+esbdLegMSWmIRGwVncj5ZwVi5K1qt894uXfnkZIyMFC7ssbv7aR7YEVI16w0PdFWow1HmBNUZ4chl0vScjoIA=="
+ "version": "0.0.3"
},
"markdown-it-footnote": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz",
- "integrity": "sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w=="
+ "version": "3.0.3"
},
"markdown-it-texmath": {
- "version": "0.9.7",
- "resolved": "https://registry.npmjs.org/markdown-it-texmath/-/markdown-it-texmath-0.9.7.tgz",
- "integrity": "sha512-2oZ7WO+xQCvQpfCwxUsCzDpz5jRjiY+FbSJSVz+66+Z9NoPR7ljzUNaOp1CDHYj0JWx+drQLxO0XUjuSsuqc0A=="
+ "version": "0.9.7"
},
"markdown-it-toc-done-right": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/markdown-it-toc-done-right/-/markdown-it-toc-done-right-4.2.0.tgz",
- "integrity": "sha512-UB/IbzjWazwTlNAX0pvWNlJS8NKsOQ4syrXZQ/C72j+jirrsjVRT627lCaylrKJFBQWfRsPmIVQie8x38DEhAQ=="
+ "version": "4.2.0"
},
"mathbox": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/mathbox/-/mathbox-2.3.1.tgz",
- "integrity": "sha512-DtTa/zvFVVhaMsiROAXRByq8BpPJxnhAx2JaGmiCSOCaJEfzeuJycOAPyBw9s3OdzRY9NWyvoq79k0xQFsxHMg==",
"requires": {
"css-select": "^4.2.1",
"lodash": "^4.17.21",
@@ -4453,22 +3901,16 @@
}
},
"mathbox-react": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/mathbox-react/-/mathbox-react-0.2.2.tgz",
- "integrity": "sha512-R9wi1oJpFI/TqhfujTibjuz9/m5Mzl9hS/wbCeSKWrTUAj9I5+oIt3uDP0toTrcoawvPmA9LTiNnZUSdAxCc4w==",
+ "version": "0.0.14",
"requires": {
"lodash": "^4.17.21"
}
},
"mathlive": {
- "version": "0.86.1",
- "resolved": "https://registry.npmjs.org/mathlive/-/mathlive-0.86.1.tgz",
- "integrity": "sha512-xkObr7S/0WwD8l4z/pdFREWueFDgqRd9wYi8vGUEFiC0fiRxW1kQlzQMNb5Xs0UokoOq7yR/2mGf3wHX1ekmYQ=="
+ "version": "0.86.1"
},
"md5.js": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1",
@@ -4476,14 +3918,10 @@
}
},
"mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
+ "version": "1.0.1"
},
"merge-value": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz",
- "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==",
"requires": {
"get-value": "^2.0.6",
"is-extendable": "^1.0.0",
@@ -4493,34 +3931,24 @@
},
"miller-rabin": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"requires": {
"bn.js": "^4.0.0",
"brorand": "^1.0.1"
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "version": "1.0.1"
},
"minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
+ "version": "1.0.1"
},
"minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
@@ -4528,8 +3956,6 @@
},
"mixin-deep": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
@@ -4537,8 +3963,6 @@
},
"node-libs-browser": {
"version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
"requires": {
"assert": "^1.1.1",
"browserify-zlib": "^0.2.0",
@@ -4566,48 +3990,37 @@
},
"dependencies": {
"punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ "version": "1.4.1"
}
}
},
"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": {
"boolbase": "^1.0.0"
}
},
"object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "version": "4.1.1"
+ },
+ "object-inspect": {
+ "version": "1.12.3"
},
"odex": {
- "version": "3.0.0-rc.4",
- "resolved": "https://registry.npmjs.org/odex/-/odex-3.0.0-rc.4.tgz",
- "integrity": "sha512-NPpR3eFHUJWQWYT9VParetnYF2bVe1p9iel1PHk2PLGgOdfXd7tr67XJi6x6fVzDmoKnUv1e9AtRtdwLxg2Z2Q=="
+ "version": "3.0.0-rc.4"
},
"once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
+ "version": "0.3.0"
},
"p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@@ -4615,8 +4028,6 @@
},
"p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
@@ -4624,19 +4035,13 @@
},
"p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "version": "1.0.11"
},
"parse-asn1": {
"version": "5.1.6",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
"requires": {
"asn1.js": "^5.2.0",
"browserify-aes": "^1.0.0",
@@ -4646,26 +4051,18 @@
}
},
"path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ "version": "0.0.1"
},
"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==",
"dev": 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==",
"dev": true
},
"pbkdf2": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
"requires": {
"create-hash": "^1.1.2",
"create-hmac": "^1.1.4",
@@ -4676,20 +4073,14 @@
},
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true
},
"pinkie": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
"requires": {
"pinkie": "^2.0.0"
@@ -4697,8 +4088,6 @@
},
"pkg-dir": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"requires": {
"find-up": "^4.0.0"
@@ -4706,8 +4095,6 @@
},
"popmotion": {
"version": "11.0.3",
- "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz",
- "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==",
"requires": {
"framesync": "6.0.1",
"hey-listen": "^1.0.8",
@@ -4716,19 +4103,13 @@
}
},
"process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
+ "version": "0.11.10"
},
"process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ "version": "2.0.1"
},
"prop-types": {
"version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
@@ -4737,8 +4118,6 @@
},
"public-encrypt": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
@@ -4749,39 +4128,30 @@
},
"dependencies": {
"bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "version": "4.12.0"
}
}
},
"punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ "version": "2.1.1"
},
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="
+ "qs": {
+ "version": "6.11.2",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
},
"querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="
+ "version": "0.2.1"
},
"randombytes": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"requires": {
"safe-buffer": "^5.1.0"
}
},
"randomfill": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"requires": {
"randombytes": "^2.0.5",
"safe-buffer": "^5.1.0"
@@ -4789,22 +4159,16 @@
},
"react": {
"version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
- "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
"requires": {
"loose-envify": "^1.1.0"
}
},
"react-colorful": {
"version": "5.6.1",
- "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
- "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
"requires": {}
},
"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==",
"requires": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
@@ -4812,8 +4176,6 @@
},
"react-dropzone": {
"version": "12.1.0",
- "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.1.0.tgz",
- "integrity": "sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==",
"requires": {
"attr-accept": "^2.2.2",
"file-selector": "^0.5.0",
@@ -4821,14 +4183,10 @@
}
},
"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=="
+ "version": "16.13.1"
},
"readable-stream": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -4840,14 +4198,10 @@
},
"dependencies": {
"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=="
+ "version": "5.1.2"
},
"string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -4855,46 +4209,32 @@
}
},
"readline-sync": {
- "version": "1.4.10",
- "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
- "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw=="
+ "version": "1.4.10"
},
"regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+ "version": "0.13.11"
},
"ripemd160": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1"
}
},
"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=="
+ "version": "5.2.1"
},
"safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "version": "2.1.2"
},
"scheduler": {
"version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"requires": {
"loose-envify": "^1.1.0"
}
},
"set-value": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -4903,21 +4243,15 @@
},
"dependencies": {
"is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
+ "version": "0.1.1"
}
}
},
"setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ "version": "1.0.5"
},
"sha.js": {
"version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
@@ -4925,8 +4259,6 @@
},
"shadergraph": {
"version": "2.1.3",
- "resolved": "https://registry.npmjs.org/shadergraph/-/shadergraph-2.1.3.tgz",
- "integrity": "sha512-98Objdkj8OTNIuYG5wxkAZTdPsBEGXuDq8yveqQh0QVzBBkEObb6RA3sMozlOiWPQXycQ+Ng4ZmT2OJiokYplQ==",
"requires": {
"@sicmutils/glsl-parser": "^2.0.1",
"glsl-tokenizer": "^2.1.5"
@@ -4934,8 +4266,6 @@
},
"shadow-cljs": {
"version": "2.23.1",
- "resolved": "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.23.1.tgz",
- "integrity": "sha512-qPI8FyRSmOJgl24svvrWvA/29fA94CVo89X0v6B4eaH/uex5NBSBZqyw58Bo4ZBu0YUxEXnwB8BSHLgmAzf8LQ==",
"requires": {
"node-libs-browser": "^2.2.1",
"readline-sync": "^1.4.7",
@@ -4946,35 +4276,33 @@
}
},
"shadow-cljs-jar": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.4.tgz",
- "integrity": "sha512-cZB2pzVXBnhpJ6PQdsjO+j/MksR28mv4QD/hP/2y1fsIa9Z9RutYgh3N34FZ8Ktl4puAXaIGlct+gMCJ5BmwmA=="
+ "version": "1.3.4"
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
+ "version": "0.5.7"
},
"source-map-support": {
"version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"requires": {
"source-map": "^0.5.6"
}
},
"split-string": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"requires": {
"extend-shallow": "^3.0.0"
},
"dependencies": {
"extend-shallow": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -4983,14 +4311,10 @@
}
},
"stats.js": {
- "version": "0.17.0",
- "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
- "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw=="
+ "version": "0.17.0"
},
"stream-browserify": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
"requires": {
"inherits": "~2.0.1",
"readable-stream": "^2.0.2"
@@ -4998,8 +4322,6 @@
},
"stream-http": {
"version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
@@ -5010,66 +4332,50 @@
},
"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": {
"safe-buffer": "~5.2.0"
}
},
"strip-outer": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.2"
}
},
"style-mod": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz",
- "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw=="
+ "version": "4.0.3"
},
"style-value-types": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz",
- "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==",
"requires": {
"hey-listen": "^1.0.8",
"tslib": "^2.1.0"
}
},
"three": {
- "version": "0.149.0",
- "resolved": "https://registry.npmjs.org/three/-/three-0.149.0.tgz",
- "integrity": "sha512-tohpUxPDht0qExRLDTM8sjRLc5d9STURNrdnK3w9A+V4pxaTBfKWWT/IqtiLfg23Vfc3Z+ImNfvRw1/0CtxrkQ=="
+ "version": "0.150.0",
+ "resolved": "https://registry.npmjs.org/three/-/three-0.150.0.tgz",
+ "integrity": "sha512-12oqqBZom9fb5HtX3rD8qPVnamojuiN5Os7r0x8s3HQ+WHRwnEyzl2XU3aEKocsDkG++rkE9+HWzx77O59NXtw=="
},
"threestrap": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/threestrap/-/threestrap-0.5.1.tgz",
- "integrity": "sha512-58Wq1NRw6r+clwZ59xL6BK4NXKZvLWS7TUCM5a2utOM9Dy5PFXv8pT+A9AWUxi735yWUXQ0l0Fddr8povBKOCw==",
"requires": {
"stats.js": "^0.17.0"
}
},
"through2": {
"version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
},
"dependencies": {
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
+ "version": "0.0.1"
},
"readable-stream": {
"version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -5078,159 +4384,109 @@
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
+ "version": "0.10.31"
}
}
},
"timers-browserify": {
"version": "2.0.12",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
- "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
"requires": {
"setimmediate": "^1.0.4"
}
},
"tiny-invariant": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
- "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
+ "version": "1.3.1"
},
"to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="
+ "version": "1.0.1"
},
"trim-repeated": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.2"
}
},
"tslib": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz",
- "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA=="
+ "version": "2.5.3"
},
"tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw=="
+ "version": "0.0.0"
},
"uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+ "version": "1.0.6"
},
"universalify": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true
},
"url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
+ "version": "0.11.1",
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.11.0"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
+ "version": "1.4.1"
}
}
},
"use-resize-observer": {
"version": "9.1.0",
- "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz",
- "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==",
"requires": {
"@juggle/resize-observer": "^3.3.1"
}
},
"use-sync-external-store": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"requires": {}
},
"util": {
"version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
"requires": {
"inherits": "2.0.3"
},
"dependencies": {
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ "version": "2.0.3"
}
}
},
"util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "version": "1.0.2"
},
"v8n": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/v8n/-/v8n-1.5.1.tgz",
- "integrity": "sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A=="
+ "version": "1.5.1"
},
"vh-sticky-table-header": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/vh-sticky-table-header/-/vh-sticky-table-header-1.2.1.tgz",
- "integrity": "sha512-ZetSgFI6QYSp/iON1hU6LAyijW5kr/B+o7ndWegJ3B6vq/6na8Lat/vf6/VXdgtm/nsH8bgtXxRKz5dBU4YZdg=="
+ "version": "1.2.1"
},
"vm-browserify": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
+ "version": "1.1.2"
},
"w3c-keyname": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.7.tgz",
- "integrity": "sha512-XB8aa62d4rrVfoZYQaYNy3fy+z4nrfy2ooea3/0BnBzXW0tSdZ+lRgjzBZhk0La0H6h8fVyYCxx/qkQcAIuvfg=="
+ "version": "2.2.8"
},
"which": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"requires": {
"isexe": "^2.0.0"
}
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
"ws": {
"version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"requires": {}
},
"xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ "version": "4.0.2"
},
"zustand": {
"version": "3.7.2",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
- "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
"requires": {}
}
}
diff --git a/package.json b/package.json
index b85869f9..b2e1cf9a 100644
--- a/package.json
+++ b/package.json
@@ -8,20 +8,20 @@
"gh-pages": "gh-pages -d public/build --dotfiles true"
},
"dependencies": {
- "@codemirror/autocomplete": "6.7.1",
+ "@codemirror/autocomplete": "6.8.1",
"@codemirror/commands": "6.2.4",
"@codemirror/lang-markdown": "6.0.0",
- "@codemirror/language": "6.7.0",
- "@codemirror/lint": "6.2.1",
- "@codemirror/search": "6.4.0",
+ "@codemirror/language": "6.8.0",
+ "@codemirror/lint": "6.3.0",
+ "@codemirror/search": "6.5.0",
"@codemirror/state": "6.2.1",
- "@codemirror/view": "6.12.0",
+ "@codemirror/view": "6.14.0",
"@cortex-js/compute-engine": "0.12.3",
- "@lezer/common": "1.0.2",
- "@lezer/generator": "1.2.3",
+ "@lezer/common": "1.0.3",
+ "@lezer/generator": "1.3.0",
"@lezer/highlight": "1.1.6",
- "@lezer/lr": "1.3.5",
- "@lezer/markdown": "1.0.2",
+ "@lezer/lr": "1.3.7",
+ "@lezer/markdown": "1.0.3",
"@nextjournal/lang-clojure": "1.0.0",
"@nextjournal/lezer-clojure": "1.0.0",
"complex.js": "2.1.1",
@@ -29,26 +29,26 @@
"fraction.js": "4.2.0",
"framer-motion": "6.5.1",
"jsxgraph": "1.5.0",
- "katex": "^0.16.7",
- "leva": "0.9.34",
- "mafs": "0.16.0",
+ "katex": "0.16.8",
+ "leva": "0.9.35",
+ "mafs": "0.17.1",
"markdown-it": "12.3.2",
"markdown-it-block-image": "0.0.3",
"markdown-it-footnote": "3.0.3",
"markdown-it-texmath": "0.9.7",
"markdown-it-toc-done-right": "4.2.0",
"mathbox": "2.3.1",
- "mathbox-react": "0.2.2",
+ "mathbox-react": "0.0.14",
"mathlive": "0.86.1",
"odex": "3.0.0-rc.4",
"punycode": "2.1.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"shadow-cljs": "2.23.1",
- "three": "0.149.0",
+ "three": "0.150.0",
"threestrap": "0.5.1",
"use-sync-external-store": "1.2.0",
"vh-sticky-table-header": "1.2.1",
- "w3c-keyname": "2.2.7"
+ "w3c-keyname": "2.2.8"
}
}
diff --git a/resources/emmy_viewers/clerk/README.md b/resources/emmy_viewers/clerk/README.md
index 9515fefb..33c7db98 100644
--- a/resources/emmy_viewers/clerk/README.md
+++ b/resources/emmy_viewers/clerk/README.md
@@ -1,10 +1,10 @@
# emmy-viewers/clerk template
This directory contains a [`deps-new`][deps-new-url] template that creates a new
-[Emmy-Viewers][emmy-viewers-url] project with everything described in the ["Emmy
-via Clerk"](https://emmy-viewers.mentat.org/#emmy-viewers-via-clerk) section of
-the [`Emmy-Viewers` documentation notebook][emmy-viewers-notebook] already
-configured.
+[Emmy-Viewers][emmy-viewers-url] project with everything described in the
+["Quickstart via Clerk"](https://emmy-viewers.mentat.org/#quickstart-via-clerk)
+section of the [`Emmy-Viewers` documentation notebook][emmy-viewers-notebook]
+already configured.
To use the template, install the [`deps-new`][deps-new-url] tool:
@@ -49,16 +49,7 @@ following key-value pairs to the above command (See
Clerk.)
- `:clerk-port`: the port used by `clerk/serve!` during interactive development.
- `:clerk-sha`: the hash of the Clerk version you'd like to use in the template.
-- `:shadow-port`: the port that [`shadow-cljs`][shadow-url] uses to serve
- compiled JavaScript during interactive development.
-- `:shadow-version`: the version of [`shadow-cljs`][shadow-url] required by the
- generated project.
- `:clj-version`: the version of Clojure required by the generated project.
-- `:cljs-version`: the version of ClojureScript required by the generated
- project. (_note that this needs to meet or exceed the version declared in the
- [`shadow-cljs` `deps.edn`
- file](https://github.com/thheller/shadow-cljs/blob/master/deps.edn) for the
- `shadow-cljs` version you've chosen._)
- `:http-server-port`: The port used by `bb serve` and `bb publish-local` to
serve the local statically built site.
- `:cname`: If you're serving your GitHub Pages build from a custom URL, pass
diff --git a/resources/emmy_viewers/clerk/dev/user.tmpl b/resources/emmy_viewers/clerk/dev/user.tmpl
index 74123a99..7262f4e4 100644
--- a/resources/emmy_viewers/clerk/dev/user.tmpl
+++ b/resources/emmy_viewers/clerk/dev/user.tmpl
@@ -1,9 +1,5 @@
(ns user
- (:require [emmy.clerk :as ec]
- [mentat.clerk-utils.build :as b]
- [nextjournal.clerk :as clerk]))
-
-(ec/install-css!)
+ (:require [emmy.clerk :as ec]))
(def index
"notebooks/{{top/file}}/{{main/file}}.clj")
@@ -16,11 +12,6 @@
;; Comment out the following line to tell Clerk to generate its own index
;; with a list of all built pages.
:index index
-
- ;; Comment out the following line and enable the `:cljs-namespaces` line to
- ;; build a custom JS bundle.
- :custom-js ec/custom-js
- ;; :cljs-namespaces '[{{top/ns}}.sci-extensions]
})
(def serve-defaults
@@ -37,24 +28,24 @@
:git/url "https://github.com/{{raw-name}}"))
(defn serve!
- "Alias of [[mentat.clerk-utils.build/serve!]] with [[defaults]] supplied as
+ "Alias of [[emmy.clerk/serve!]] with [[defaults]] supplied as
default arguments.
Any supplied `opts` overrides the defaults."
([] (serve! {}))
([opts]
- (b/serve!
+ (ec/serve!
(merge serve-defaults opts))))
-(def ^{:doc "Alias for [[mentat.clerk-utils.build/halt!]]."}
+(def ^{:doc "Alias for [[emmy.clerk/halt!]]."}
halt!
- b/halt!)
+ ec/halt!)
(defn build!
- "Alias of [[mentat.clerk-utils.build/build!]] with [[static-defaults]] supplied
+ "Alias of [[emmy.clerk/build!]] with [[static-defaults]] supplied
as default arguments.
Any supplied `opts` overrides the defaults."
[opts]
- (b/build!
+ (ec/build!
(merge static-defaults opts)))
diff --git a/resources/emmy_viewers/clerk/notebooks/main.tmpl b/resources/emmy_viewers/clerk/notebooks/main.tmpl
index 0f8f4d20..cdc336df 100644
--- a/resources/emmy_viewers/clerk/notebooks/main.tmpl
+++ b/resources/emmy_viewers/clerk/notebooks/main.tmpl
@@ -24,7 +24,6 @@
;; - Interactively develop Clerk notebooks
;; - Publish them to [GitHub Pages](https://pages.github.com/) or [Clerk's Garden](https://github.clerk.garden/)
-;; - Use a [custom ClojureScript build](https://clerk-utils.mentat.org/#custom-clojurescript-builds) in both modes
;; Some good next steps:
diff --git a/resources/emmy_viewers/clerk/root/.dir-locals.el b/resources/emmy_viewers/clerk/root/.dir-locals.el
deleted file mode 100644
index d0ba4bf4..00000000
--- a/resources/emmy_viewers/clerk/root/.dir-locals.el
+++ /dev/null
@@ -1,6 +0,0 @@
-((clojurec-mode
- . ((cider-clojure-cli-aliases . ":nextjournal/clerk")))
- (clojurescript-mode
- . ((cider-clojure-cli-aliases . ":nextjournal/clerk")))
- (clojure-mode
- . ((cider-clojure-cli-aliases . ":nextjournal/clerk"))))
diff --git a/resources/emmy_viewers/clerk/root/README.md b/resources/emmy_viewers/clerk/root/README.md
index ab2a5ed0..3790c575 100644
--- a/resources/emmy_viewers/clerk/root/README.md
+++ b/resources/emmy_viewers/clerk/root/README.md
@@ -16,13 +16,6 @@ written with [`Emmy-Viewers`](https://emmy-viewers.mentat.org) and produce
static builds of these notebooks ready for publication via [GitHub
Pages](https://pages.github.com/) or [Clerk's Garden](https://clerk.garden/).
-The project is also configured to let you use `Emmy-Viewers` code, as well as
-other custom ClojureScript code that you write, inside of your Clerk project's
-[viewers](https://book.clerk.vision#viewers). To enable this feature, uncomment
-the two lines beginning with `:cljs-namespaces` to activate a custom
-ClojureScript build. See `dev/{{top/file}}/sci_extensions.cljs` for more
-information.
-
> **Note**
> This README contains a good amount of Getting Started material. Feel free to
> delete anything that you don't want to keep, or move it to a file like
@@ -35,9 +28,6 @@ Install the following dependencies:
- [Clojure CLI tools](https://clojure.org/guides/install_clojure)
- [`babashka`](https://github.com/babashka/babashka#installation)
-You'll also need `node` installed, preferably via
-[`nvm`](https://github.com/nvm-sh/nvm#installing-and-updating).
-
Run the following command to see all of the [Babashka
Tasks](https://book.babashka.org/#tasks) declared in `bb.edn`:
@@ -125,19 +115,6 @@ To show a file, pass it to `clerk/show!`:
> These commands work because dev/user.clj requires `nextjournal.clerk` under a
> `clerk` alias, and defines a `serve!` function.
-## Custom ClojureScript and JavaScript
-
-All ClojureScript code you add to `src/{{top/file}}/custom.cljs` is available
-for use inside any [custom viewer code you
-write](https://book.clerk.vision/#writing-viewers).
-
-This is made possible by the code in `src/{{top/file}}/sci_viewers.cljs`. If you
-want to add more namespaces, follow the instructions in `sci_viewers.cljs` to
-get them into Clerk's SCI environment.
-
-That file also contains instructions on how to make JavaScript and NPM
-dependencies available to your viewers.
-
## Static Builds
Once you're ready to share your work, run the following command to generate a
diff --git a/resources/emmy_viewers/clerk/root/deps.edn b/resources/emmy_viewers/clerk/root/deps.edn
index 17d378a2..82f7e855 100644
--- a/resources/emmy_viewers/clerk/root/deps.edn
+++ b/resources/emmy_viewers/clerk/root/deps.edn
@@ -1,19 +1,12 @@
{:paths ["src" "dev" "notebooks"]
:deps {org.clojure/clojure {:mvn/version "{{clj-version}}"}
- io.github.nextjournal/clerk {:git/sha "{{clerk-sha}}"}
- io.github.mentat-collective/emmy-viewers
- {:git/sha "{{emmy-viewers-sha}}"
+ org.mentat/emmy-viewers
+ {:git/url "https://github.com/mentat-collective/emmy-viewers.git"
+ :git/sha "{{emmy-viewers-sha}}"
;; This is required because Clerk specifies SCI using a
;; git dependency and `clojure` can't resolve the
;; conflict.
:exclusions [org.babashka/sci]}
- io.github.mentat-collective/clerk-utils {:git/sha "{{clerk-utils-sha}}"}}
+ io.github.nextjournal/clerk {:git/sha "{{clerk-sha}}"}}
:aliases
- {:nextjournal/clerk
- {:extra-deps
- {io.github.nextjournal/clerk.render
- {:git/url "https://github.com/nextjournal/clerk"
- ;; make sure this sha matches the one in `:deps` above.
- :git/sha "{{clerk-sha}}"
- :deps/root "render"}}
- :exec-fn user/build!}}}
+ {:nextjournal/clerk {:exec-fn user/build!}}}
diff --git a/resources/emmy_viewers/clerk/src/custom.tmpl b/resources/emmy_viewers/clerk/src/custom.tmpl
deleted file mode 100644
index 80becc95..00000000
--- a/resources/emmy_viewers/clerk/src/custom.tmpl
+++ /dev/null
@@ -1,15 +0,0 @@
-(ns {{top/ns}}.custom)
-
-;; ## Custom ClojureScript
-;;
-;; This namespace contains custom ClojureScript definitions used by the
-;; {{raw/name}} project.
-
-;; With the default configuration in `{{top/ns}}.sci-extensions`, any function
-;; or var you add here will be available inside your SCI viewers as
-;; `custom/` or as the fully-qualified `{{top/ns}}.custom/`.
-
-(defn square
- "Returns the square of `x`."
- [x]
- (* x x))
diff --git a/resources/emmy_viewers/clerk/src/sci_extensions.tmpl b/resources/emmy_viewers/clerk/src/sci_extensions.tmpl
deleted file mode 100644
index b98fa58e..00000000
--- a/resources/emmy_viewers/clerk/src/sci_extensions.tmpl
+++ /dev/null
@@ -1,59 +0,0 @@
-(ns {{top/ns}}.sci-extensions
- (:require [{{top/ns}}.custom]
- [emmy.viewer.sci]
- [sci.ctx-store]
- [sci.core :as sci]))
-
-;; ## SCI Environment Extension
-;;
-;; This namespace extends the SCI environment used by Clerk, making available
-;; any custom ClojureScript you'd like to use while [writing
-;; viewers](https://book.clerk.vision/#writing-viewers) for your notebooks.
-
-;; ## Emmy-Viewers installation
-;;
-;; This first section installs all `Emmy-Viewers` namespaces into the project:
-
-(emmy.viewer.sci/install!)
-
-;; See [`Emmy-Viewers` via
-;; SCI](https://emmy-viewers.mentat.org/#emmy-viewers-via-sci) for more detail.
-
-;; ## SCI Environment Extension
-
-;; This form creates a "lives-within-SCI" version of the `clerk-utils.custom`
-;; namespace by copying all public vars.
-(def custom-namespace
- (sci/copy-ns {{top/ns}}.custom
- (sci/create-ns '{{top/ns}}.custom)))
-
-;; Adding an entry to this map is equivalent to adding an entry like
-;; `(:require [clerk-utils.custom])` to a Clojure namespace.
-(def custom-namespaces
- {'{{top/ns}}.custom custom-namespace
- ;; Add any more namespaces here! Make sure to `:require` anything you add at
- ;; the top of this file.
- })
-
-;; Add aliases here for namespaces that you've included above. This adds an
-;; `:as` form to a namespace: `(:require [{{top/ns}}.custom :as custom])`
-(def custom-aliases
- {'custom '{{top/ns}}.custom})
-
-;; This next form mutates SCI's default environment, merging in your custom code
-;; on top of what Clerk has already configured.
-
-(sci.ctx-store/swap-ctx!
- sci/merge-opts
- {;; Use `:classes` to expose JavaScript classes that you'd like to use in your
- ;; viewer code. `Math/sin` etc will work with this entry:
- :classes {'Math js/Math}
- :namespaces custom-namespaces
- :aliases custom-aliases})
-
-;; ## JavaScript Libraries
-;;
-;; See the [Extending SCI](https://clerk-utils.mentat.org/#extending-sci)
-;; section of the [Clerk-Utils docs](https://clerk-utils.mentat.org) for
-;; instructions on how to make NPM dependencies like "react" available inside of
-;; Clerk's viewers.
diff --git a/resources/emmy_viewers/clerk/template.edn b/resources/emmy_viewers/clerk/template.edn
index 46d068a3..4aad2bc7 100644
--- a/resources/emmy_viewers/clerk/template.edn
+++ b/resources/emmy_viewers/clerk/template.edn
@@ -3,17 +3,11 @@
:emmy-viewers-sha "034bc313d95df7ae8f304de263b9bcee01347df5"
:clerk-sha "1f6c5331418aaf9c5a4335fc2e6e95f07dc3af6b"
:clerk-utils-sha "b98b74fa025b5543318a6b5beb1622fd35b4906e"
- :shadow-port 8765
- :shadow-version "2.23.1"
:clj-version "1.11.1"
- :cljs-version "1.11.60"
:http-server-port 8080
:cname ""
:transform
- [["src" "src"
- {"custom.tmpl" "{{top/file}}/custom.cljs"
- "sci_extensions.tmpl" "{{top/file}}/sci_extensions.cljs"}]
- ["notebooks" "notebooks"
+ [["notebooks" "notebooks"
{"main.tmpl" "{{top/file}}/{{main/file}}.clj"}]
["dev" "dev"
{"user.tmpl" "user.clj"}]]}
diff --git a/src/demo/mathbox.cljs b/src/demo/mathbox.cljs
index 6a218c3d..0d1a6c13 100644
--- a/src/demo/mathbox.cljs
+++ b/src/demo/mathbox.cljs
@@ -48,9 +48,7 @@
#js {:absoluteTolerance epsilon
:relativeTolerance epsilon
:rawFunction true
- :maxSteps 10000})
- )
- )
+ :maxSteps 10000})))
(defn Lagrangian-collector
"hardcoded at first for this use case."
diff --git a/src/emmy/clerk.clj b/src/emmy/clerk.clj
index 8fd48cfd..81e4be04 100644
--- a/src/emmy/clerk.clj
+++ b/src/emmy/clerk.clj
@@ -3,7 +3,9 @@
Use:
- - [[install-css!]] for project configuration
+ - [[install-css!]] for project configuration (or use [[serve!]], [[halt!]]
+ and [[build!]] in place of the Clerk versions)
+
- [[install!]] for notebook-specific configuration"
{:nextjournal.clerk/toc true}
(:require [clojure.walk :refer [postwalk]]
@@ -17,7 +19,7 @@
(def custom-js
"CDN address of a pre-built JS bundle for Clerk with support for all of this
library's viewers."
- "https://cas.clerk.garden/tree/8Vx3qnFoB2pE6Yk63LD14HRLNhXBapzwyjVaaxr4p4GiMf8QXiMc5kT4xePqWes8CkQaBBwqyPKCrYBzvd5XY8uGtX/.clerk/shadow-cljs/main.js")
+ "https://cas.clerk.garden/tree/8VtzzNQNgLi8tCtfjg3epG8AC4eLkodBppZFoyCrgfQSybHCky9BcT9PbYeoexpUmzRcQjPitiqqBa2UEXTkUguyRq/.clerk/shadow-cljs/main.js")
;; ## Viewers
;;
@@ -238,13 +240,12 @@
All remaining `opts` are forwarded to [[nextjournal.clerk/build!]]"
[opts]
(let [existing @css/custom-css
- opts (cond-> opts
- (or (:cljs-namespaces opts)
- (:custom-js opts))
- (assoc :custom-js custom-js))]
-
+ opts (if (or (:cljs-namespaces opts)
+ (:custom-js opts))
+ opts
+ (assoc opts :custom-js custom-js))]
(try (install-css!)
- (b/build! (merge opts))
+ (b/build! opts)
(finally
(apply css/set-css! existing)))))
diff --git a/src/emmy/mathbox/compile.clj b/src/emmy/mathbox/compile.clj
index 0c052397..10b85e12 100644
--- a/src/emmy/mathbox/compile.clj
+++ b/src/emmy/mathbox/compile.clj
@@ -35,8 +35,8 @@
syms)
(~sym ~in out# psym#)
(emit# (aget out# 0)
- (aget out# 2)
- (aget out# 1))))))
+ (aget out# 1)
+ (aget out# 2))))))
(defn param-3d
"Given:
diff --git a/src/emmy/mathbox/physics.cljs b/src/emmy/mathbox/physics.cljs
index cfed7789..a43b6de9 100644
--- a/src/emmy/mathbox/physics.cljs
+++ b/src/emmy/mathbox/physics.cljs
@@ -90,8 +90,8 @@
(fn [ys]
(state->xyz ys xyz)
(emit (aget xyz 0)
- (aget xyz 2)
- (aget xyz 1)))))}]
+ (aget xyz 1)
+ (aget xyz 2)))))}]
[mb/Vector
{:size arrow-size
:width width
diff --git a/src/emmy/mathbox/plot.clj b/src/emmy/mathbox/plot.clj
index e0a2bc1c..3be95f74 100644
--- a/src/emmy/mathbox/plot.clj
+++ b/src/emmy/mathbox/plot.clj
@@ -8,26 +8,6 @@
[emmy.viewer :as ev]
[emmy.viewer.compile :as c]))
-;; ## Utilities
-
-(defn ^:no-doc split-opts
- "Returns a pair of a parameters map and the rest of the children. Useful for
- allowing a component to take a props map optionally.
-
- TODO this is duplicated between the clj and cljs versions of this file. Find a
- better place and consolidate."
- [children]
- (if (map? (first children))
- [(first children) (rest children)]
- [{} children]))
-
-(def ^:no-doc box-defaults
- {:container {:style {:height "400px" :width "100%"}}
- :renderer {:background-opacity 0}})
-
-(def ^:no-doc client-keys
- [:range :scale :camera :axes :grids])
-
;; ## Scene Elements
(defn labeled-axis
@@ -113,13 +93,10 @@
[opts]
['emmy.mathbox.plot/Grid opts])
-(defn scene
- "Takes an optional options map and any number of children and nests them into a
- configured [[mathbox.coordinates/Cartesian]] component that renders a
- mathematical 3d plotting scene into MathBox.
-
- Any option supported by [[emmy.mathbox/mathbox]] is removed and passed along
- to that functions.
+(defn cartesian
+ "Component that renders a mathematical 3d plotting scene into MathBox.
+ Takes any number of children and nests them into a
+ configured [[emmy.mathbox.plot/Cartesian]] component.
Optional arguments:
@@ -132,7 +109,7 @@
given to each dimension in the rendering. Each entry defaults to 1.
- `:camera`: Camera position in units I don't really understand yet! Defaults
- to `[0.5 0.6 2]`.
+ to `[0.5 -2 0.6]`.
- `:axes`: can be either
@@ -152,12 +129,22 @@
See [[grid]] for more detail on allowed configuration values."
[& children]
- (let [[opts children] (split-opts children)
- client-opts (select-keys opts client-keys)
- box-opts (apply dissoc opts client-keys)]
- (box/mathbox
- (merge box-defaults box-opts)
- (into ['emmy.mathbox.plot/Scene client-opts] children))))
+ (ev/fragment
+ (into ['emmy.mathbox.plot/Cartesian] children)
+ #(box/mathbox 'emmy.mathbox.plot/box-defaults %)))
+
+(defn scene
+ "Takes an optional options map and any number of children and nests them into a
+ configured [[emmy.mathbox.plot/Cartesian]] component that renders a
+ mathematical 3d plotting scene into MathBox.
+
+ Any option supported by [[emmy.mathbox/mathbox]] is removed and passed along
+ to that function.
+
+ See [[cartesian]] for all other supported options."
+ [& children]
+ (ev/fragment
+ (into ['emmy.mathbox.plot/Scene] children)))
;; ## Geometric Primitives
@@ -307,6 +294,11 @@
(-> (c/wrap [f-bind] ['emmy.mathbox.plot/ParametricCurve opts])
(ev/fragment scene))))
+(defn polar-curve [opts]
+ (let [[r-bind opts] (c/compile-1d opts :r)]
+ (-> (c/wrap [r-bind] ['emmy.mathbox.plot/PolarCurve opts])
+ (ev/fragment scene))))
+
(defn of-x
"Returns a fragment that plots a function in either the `y` or `z` directions as
a function of `x` values.
@@ -324,7 +316,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:y` or `:z`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -372,7 +364,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:x` or `:z`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -420,7 +412,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:x` or `:y`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -516,13 +508,13 @@
- `:f`: function of the form `(fn [[r theta]] [])`, valid within the
area specified by `:r-range` and `:theta-range`.
+ Optional arguments:
+
- `:r-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to `[0 3]`.
- `:theta-range`: 2-vector of the form `[ ]` specifying
- the interval of the second input to `f`.
-
- Optional arguments:
+ the interval of the second input to `f`. Defaults to `[0 (* 2 Math/PI)]`.
- `:r-samples`: the number of r samples to use to generate the surface.
Defaults to 64.
@@ -569,13 +561,13 @@
- `:z`: function of the form `(fn [[x y]] [])`, valid within the
area specified by `:x-range` and `:y-range`.
+ Optional arguments:
+
- `:x-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:y-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:x-samples`: the number of x samples to use to generate the surface.
Defaults to 64.
@@ -622,13 +614,13 @@
- `:y`: function of the form `(fn [[x z]] [])`, valid within the
area specified by `:x-range` and `:z-range`.
+ Optional arguments:
+
- `:x-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:z-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:x-samples`: the number of x samples to use to generate the surface.
Defaults to 64.
@@ -675,13 +667,13 @@
- `:x`: function of the form `(fn [[y z]] [])`, valid within the
area specified by `:y-range` and `:z-range`.
+ Optional arguments:
+
- `:y-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:z-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:y-samples`: the number of y samples to use to generate the surface.
Defaults to 64.
@@ -722,7 +714,63 @@
;; ## Vector Fields
(defn vector-field
- "Currently in-progress component for displaying 3-dimensional vector fields."
+ "Returns a fragment that plots a vector field defined by `:f` into the scene
+ along the volume specified by `:x-range`, `:y-range` and `:z-range`.
+
+ Required arguments:
+
+ - `:f`: function of the form `(fn [[x y z]] [ ])`, valid within the
+ area specified by `:x-range`, `:y-range` and `:z-range`.
+
+ The function should return the coordinates of the tip of a vector with
+ origin at `[0 0 0]`; [[VectorField]] will translate each vector to start at
+ `[x y z]`.
+
+ Optional arguments:
+
+ - `:scale`: Optional scale factor to apply to each vector's magnitude.
+ Defaults to 1.0.
+
+ - `:x-range`: 2-vector of the form `[ ]` specifying the interval
+ of the first input to `f`. Defaults to the scene's range.
+
+ - `:y-range`: 2-vector of the form `[ ]` specifying the interval
+ of the first input to `f`. Defaults to the scene's range.
+
+ - `:z-range`: 2-vector of the form `[ ]` specifying the interval
+ of the second input to `f`. Defaults to the scene's range.
+
+ - `:x-samples`: the number of vectors to plot in the `x` direction. Defaults
+ to 10.
+
+ - `:y-samples`: the number of vectors to plot in the `y` direction. Defaults
+ to 10.
+
+ - `:z-samples`: the number of vectors to plot in the `z` direction. Defaults
+ to 10.
+
+ - `:start?` if `true`, renders an arrow at the start of each vector. Defaults
+ to `false`.
+
+ - `:end?` if `true`, renders an arrow at the end of each vector. Defaults to
+ `true`.
+
+ - `:arrow-size`: size of the arrows toggled by `:start?` and `:end?`. Defaults
+ to 6.
+
+ - `:width`: width of each vector. Defaults to 2.
+
+ - `:opacity`: opacity of each vector. Defaults to 1.0.
+
+ - `:color`: color of each vector. This can be a `three.js` `Color` object
+ or [any valid input to its
+ constructor](https://threejs.org/docs/#api/en/math/Color).
+
+ - `:z-order`: z-order of the vector field.
+
+ - `:z-index`: zIndex of the vector field. Defaults to 0.
+
+ - `:z-bias`: zBias of the vector field. Defaults to 0."
[opts]
(let [[f-bind opts] (mc/compile-3d opts :f 3)]
(-> (c/wrap [f-bind] ['emmy.mathbox.plot/VectorField opts])
diff --git a/src/emmy/mathbox/plot.cljs b/src/emmy/mathbox/plot.cljs
index 33abf20f..fa50b063 100644
--- a/src/emmy/mathbox/plot.cljs
+++ b/src/emmy/mathbox/plot.cljs
@@ -5,6 +5,7 @@
(:require [clojure.set :as cs]
[emmy.mathbox.color :as color]
[emmy.viewer.plot :as p]
+ [mathbox.core]
[mathbox.primitives :as mb]
["katex" :as katex]
["mathbox" :as box]))
@@ -20,17 +21,13 @@
[{} children]))
(def ^:no-doc axis->idx
- "Map of axis keyword => the MathBox dimensions that represent the axis or axes.
-
- MathBox's `emit` calls confusingly take inputs in 'xzy' order! Rather than
- swizzle everything I'm using this map to track the actual indices and being
- careful."
+ "Map of axis keyword => the MathBox dimensions that represent the axis or axes."
{:x 1
- :y 3
- :z 2
- :xy [1 3] :yx [3 1]
- :yz [3 2] :zy [2 3]
- :xz [1 2] :zx [2 1]})
+ :y 2
+ :z 3
+ :xy [1 2] :yx [2 1]
+ :yz [2 3] :zy [3 2]
+ :xz [1 3] :zx [3 1]})
(def ^:no-doc latex-render
"HTML renderer for MathBox that renders its children using katex."
@@ -150,12 +147,14 @@
[mb/Ticks {:width width}]
(when labels?
[:<>
- [mb/Format {:expr (fn [x] (label-fn x))}]
+ [mb/Format
+ {:live false
+ :expr (fn [x] (label-fn x))}]
[mb/Label
{:offset
- (if (= idx 2)
+ (if (= axis :z)
[20 0 0]
- [0 -20 0])}]])]))
+ [0 0 -20])}]])]))
(defn AxisLabel
"Component that renders an axis label above the referenced `axis`.
@@ -189,7 +188,8 @@
:live false
:data [(assoc [0 0 0] (dec idx) position)]}]
[mb/Text
- {:weight "bold"
+ {:live false
+ :weight "bold"
:data [label]}]
[mb/Label
{:size size
@@ -385,7 +385,7 @@
(assoc :axes grid))])))
m)))
-(defn Scene
+(defn Cartesian
"Component that renders a mathematical 3d plotting scene into MathBox.
Takes any number of children and nests them into a
configured [[mathbox.coordinates/Cartesian]] component.
@@ -401,7 +401,7 @@
given to each dimension in the rendering. Each entry defaults to 1.
- `:camera`: Camera position in units I don't really understand yet! Defaults
- to `[0.5 0.6 2]`.
+ to `[0.5 -2 0.6]`.
- `:axes`: can be either
@@ -415,6 +415,7 @@
- `:grids`: either
- a vector like `[:xy :yz]`
+
- a map of `{ }`
Any plane entries missing from `:grids` won't be rendered.
@@ -425,18 +426,49 @@
{:keys [camera range scale axes grids]
:or {range [[-5 5] [-5 5] [-5 5]]
scale [1 1 1]
- camera [0.5 2 0.6]
+ camera [0.5 -2 0.6]
axes [:x :y :z]
- grids [:xy]}} opts
- range [(range 0) (range 2) (range 1)]]
+ grids [:xy]}} opts]
[mb/Cartesian
- {:range range :scale [(nth scale 0) (nth scale 2) (nth scale 1)]}
+ {:range range :scale scale}
[mb/Camera
- {:proxy true :position [(nth camera 0) (nth camera 2) (nth camera 1)]}]
+ {:proxy true :position camera}]
(into [:<>] children)
[SceneAxes axes range]
[SceneGrids grids]]))
+(def threestrap-defaults
+ "Default Threestrap options."
+ {:camera {:up [0 0 1]}})
+
+(def box-defaults
+ "Default MathBox options."
+ {:container {:style {:height "400px" :width "100%"}}
+ :renderer {:background-opacity 0}
+ :threestrap threestrap-defaults})
+
+(def ^:no-doc content-keys
+ [:range :scale :camera :axes :grids])
+
+(defn Scene
+ "Takes an optional options map and any number of children and nests them into a
+ configured [[mathbox.coordinates/Cartesian]] component that renders a
+ mathematical 3d plotting scene into MathBox.
+
+ Any option supported by [[mathbox.core/MathBox]] is removed and passed along
+ to that component, after merging with [[box-defaults]].
+
+ See [[Cartesian]] for all other supported options."
+ [& children]
+ (let [[opts children] (split-opts children)
+ content-opts (select-keys opts content-keys)
+ box-opts (apply dissoc opts content-keys)
+ box-opts (if-let [m (:threestrap box-opts)]
+ (assoc box-opts :threestrap (merge threestrap-defaults m))
+ box-opts)]
+ [mathbox.core/MathBox (merge box-defaults box-opts)
+ (into [Cartesian content-opts] children)]))
+
;; ## Objects
;;
;; Next we have a number of geometric objects.
@@ -476,7 +508,6 @@
color color/default}}]
[:<>
[mb/Array {:items 1 :live false :channels 3 :data [coords]}]
- [mb/Swizzle {:order "xzy"}]
[mb/Point
{:size size
:opacity opacity
@@ -565,7 +596,7 @@
:else ["" label])]
[:<>
[mb/Format {:weight "bold" :data data}]
- [mb/Label {:offset [0 40 0]}]]))])
+ [mb/Label {:offset [0 0 40]}]]))])
(defn Vector
"Component that renders a vector into the scene with the specified `tip` and
@@ -662,10 +693,61 @@
- `:z-index`: zIndex of the curve. Defaults to 0.
- `:z-bias`: zBias of the curve. Defaults to 0."
- [{:keys [f t] :as opts}]
+ [opts]
[Curve1D
- (-> (dissoc opts :f :t)
- (assoc :expr f :range t))])
+ (cs/rename-keys opts {:f :expr :t :range})])
+
+(defn PolarCurve
+ "Component that plots a polar curve, ie, radius as a function of theta.
+
+ Required arguments:
+
+ - `:r`: function of the form `(fn [theta] )`, valid within the range of
+ theta values specified by `:range`.
+
+ NOTE that you may only supply ONE of these two! Supplying both will trigger
+ an error.
+
+ Optional arguments:
+
+ - `:samples`: the number of points to use to generate the curve. Defaults to
+ 256.
+
+ - `:range`: 2-vector of the form `[ ]` specifying the
+ range to feed into `:r`. Defaults to `[0 (* 2 Math/PI)]`.
+
+ - `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
+ `false`.
+
+ - `:end?` if `true`, renders an arrow at the end of the curve. Defaults to
+ `false`.
+
+ - `:arrow-size`: size of the arrows toggled by `:start?` and `:end?`. Defaults
+ to 6.
+
+ - `:width`: width of the curve. Defaults to 4.
+
+ - `:opacity`: opacity of the curve. Defaults to 1.0.
+
+ - `:color`: color of the curve. This can be a `three.js` `Color` object or [any
+ valid input to its constructor](https://threejs.org/docs/#api/en/math/Color).
+
+ - `:z-order`: z-order of the curve.
+
+ - `:z-index`: zIndex of the curve. Defaults to 0.
+
+ - `:z-bias`: zBias of the curve. Defaults to 0."
+ [{:keys [r range]
+ :or {range [0 (* 2 Math/PI)]}
+ :as opts}]
+ (let [expr (fn [emit theta _i _time]
+ (let [radius (r theta)]
+ (emit (* radius (Math/cos theta))
+ (* radius (Math/sin theta))
+ 0)))]
+ [Curve1D
+ (-> (dissoc opts :r)
+ (assoc :expr expr :range range))]))
(defn OfX
"Component that plots a function in either the `y` or `z` directions as a
@@ -684,7 +766,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:y` or `:z`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -714,9 +796,9 @@
(js/Error. (str "Error: specify only one of `:y` or `:z`, not both!"))))
(let [expr (cond
y (fn [emit x _i _time _delta]
- (emit x 0 (y x)))
+ (emit x (y x) 0))
z (fn [emit x _i _time _delta]
- (emit x (z x) 0))
+ (emit x 0 (z x)))
:else
(throw
(js/Error.
@@ -742,7 +824,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:x` or `:z`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -771,9 +853,9 @@
(throw (js/Error. (str "Error: specify only one of `:x` or `:z`, not both!"))))
(let [expr (cond
x (fn [emit y _i _time _delta]
- (emit (x y) 0 y))
+ (emit (x y) y 0))
z (fn [emit y _i _time _delta]
- (emit 0 (z y) y))
+ (emit 0 y (z y)))
:else
(throw
(js/Error.
@@ -799,7 +881,7 @@
- `:samples`: the number of points to use to generate the curve. Defaults to
256.
- - `:range` 2-vector of the form `[ ]` specifying the range to
+ - `:range`: 2-vector of the form `[ ]` specifying the range to
feed into `:x` or `:y`.
- `:start?` if `true`, renders an arrow at the start of the curve. Defaults to
@@ -828,9 +910,9 @@
(throw (js/Error. (str "Error: specify only one of `:x` or `:y`, not both!"))))
(let [expr (cond
x (fn [emit z _i _time _delta]
- (emit (x z) z 0))
+ (emit (x z) 0 z))
y (fn [emit z _i _time _delta]
- (emit 0 z (y z)))
+ (emit 0 (y z) z))
:else
(throw
(js/Error.
@@ -972,13 +1054,11 @@
- `:grid-color`: color of the grid lines. Defaults to a darkened version of
`:color`."
- [{:keys [f] :as opts}]
+ [opts]
[Surface2D
- (-> (dissoc opts :f)
- (assoc :expr f)
- (cs/rename-keys
- {:u :u-range
- :v :v-range}))])
+ (cs/rename-keys opts {:f :expr
+ :u :u-range
+ :v :v-range})])
(defn PolarSurface
"Component that plots a polar surface defined by `:f` into the scene along the
@@ -989,13 +1069,13 @@
- `:f`: function of the form `(fn [[r theta]] [])`, valid within the
area specified by `:r-range` and `:theta-range`.
+ Optional arguments:
+
- `:r-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to `[0 3]`.
- `:theta-range`: 2-vector of the form `[ ]` specifying
- the interval of the second input to `f`.
-
- Optional arguments:
+ the interval of the second input to `f`. Defaults to `[0 (* 2 Math/PI)]`.
- `:r-samples`: the number of r samples to use to generate the surface.
Defaults to 64.
@@ -1031,15 +1111,15 @@
[_]
(let [in #js [0 0]]
(fn [{:keys [z r-range theta-range]
- :or {r-range [0 3]
+ :or {r-range [0 3]
theta-range [0 (* 2 Math/PI)]}
:as opts}]
(let [expr (fn [emit r theta _i _j _time]
(aset in 0 r)
(aset in 1 theta)
(emit (* r (Math/cos theta))
- (z in)
- (* r (Math/sin theta))))]
+ (* r (Math/sin theta))
+ (z in)))]
[Surface2D
(-> (dissoc opts :z)
(assoc :axes [1 3]
@@ -1063,13 +1143,13 @@
- `:z`: function of the form `(fn [[x y]] [])`, valid within the
area specified by `:x-range` and `:y-range`.
+ Optional arguments:
+
- `:x-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:y-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:x-samples`: the number of x samples to use to generate the surface.
Defaults to 64.
@@ -1108,7 +1188,7 @@
(let [expr (fn [emit x y _i _j _time]
(aset in 0 x)
(aset in 1 y)
- (emit x (z in) y))]
+ (emit x y (z in)))]
[Surface2D
(-> (dissoc opts :z)
(cs/rename-keys {:x-range :u-range
@@ -1129,13 +1209,13 @@
- `:y`: function of the form `(fn [[x z]] [])`, valid within the
area specified by `:x-range` and `:z-range`.
+ Optional arguments:
+
- `:x-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:z-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:x-samples`: the number of x samples to use to generate the surface.
Defaults to 64.
@@ -1174,7 +1254,7 @@
(let [expr (fn [emit x z _i _j _time]
(aset in 0 x)
(aset in 1 z)
- (emit x z (y in)))]
+ (emit x (y in) z))]
[Surface2D
(-> (dissoc opts :y)
(cs/rename-keys {:x-range :u-range
@@ -1184,8 +1264,7 @@
:grid-x :grid-u
:grid-z :grid-v})
(assoc :axes (axis->idx :xz)
- :expr expr))]
- ))))
+ :expr expr))]))))
(defn OfYZ
"Component that plots an explicit surface defined by `:x` into the scene along the
@@ -1196,13 +1275,13 @@
- `:x`: function of the form `(fn [[y z]] [])`, valid within the
area specified by `:y-range` and `:z-range`.
+ Optional arguments:
+
- `:y-range`: 2-vector of the form `[ ]` specifying the interval
- of the first input to `f`.
+ of the first input to `f`. Defaults to the scene's range.
- `:z-range`: 2-vector of the form `[ ]` specifying the interval
- of the second input to `f`.
-
- Optional arguments:
+ of the second input to `f`. Defaults to the scene's range.
- `:y-samples`: the number of y samples to use to generate the surface.
Defaults to 64.
@@ -1241,7 +1320,7 @@
(let [expr (fn [emit y z _i _j _time]
(aset in 0 y)
(aset in 1 z)
- (emit (x in) z y))]
+ (emit (x in) y z))]
[Surface2D
(-> (dissoc opts :x)
(cs/rename-keys {:y-range :u-range
@@ -1253,39 +1332,108 @@
(assoc :axes (axis->idx :yz)
:expr expr))]))))
-;; Finish getting info from
-;; https://github.com/ChristopherChudzicki/math3d-react/blob/master/client/src/components/MathBox/MathBoxComponents.js#L1424-L1435
-;;
-;; and make sure it feels like the mafs vectorfield example. Should we normalize
-;; down? Probably not, let the user do that.
-
(defn VectorField
- "Currently in-progress component for displaying 3-dimensional vector fields."
- [{:keys [f x y z] :as opts}]
- [:<>
- [mb/Volume
- (merge
- {:live false
- :width 10
- :height 10
- :depth 10}
- (-> opts
- (dissoc :f :x :y :z)
- (assoc :expr
- (let [scale 0.2]
- (fn [emit x y z]
- (emit x z y)
- (f (fn [x' z' y']
- (emit (+ x (* scale x'))
- (+ z (* scale z'))
- (+ y (* scale y'))))
- x y z)))
- :items 2
- :channels 3
- :rangeX x
- :rangeY y
- :rangeZ z)))]
- [mb/Vector {:points "<"
- :color "blue"
- :size 4
- :end true}]])
+ "Component that plots a vector field defined by `:f` into the scene along the
+ volume specified by `:x-range`, `:y-range` and `:z-range`.
+
+ Required arguments:
+
+ - `:f`: function of the form `(fn [[x y z]] [ ])`, valid within the
+ area specified by `:x-range`, `:y-range` and `:z-range`.
+
+ The function should return the coordinates of the tip of a vector with
+ origin at `[0 0 0]`; [[VectorField]] will translate each vector to start at
+ `[x y z]`.
+
+ Optional arguments:
+
+ - `:scale`: Optional scale factor to apply to each vector's magnitude.
+ Defaults to 1.0.
+
+ - `:x-range`: 2-vector of the form `[ ]` specifying the interval
+ of the first input to `f`. Defaults to the scene's range.
+
+ - `:y-range`: 2-vector of the form `[ ]` specifying the interval
+ of the first input to `f`. Defaults to the scene's range.
+
+ - `:z-range`: 2-vector of the form `[ ]` specifying the interval
+ of the second input to `f`. Defaults to the scene's range.
+
+ - `:x-samples`: the number of vectors to plot in the `x` direction. Defaults
+ to 10.
+
+ - `:y-samples`: the number of vectors to plot in the `y` direction. Defaults
+ to 10.
+
+ - `:z-samples`: the number of vectors to plot in the `z` direction. Defaults
+ to 10.
+
+ - `:start?` if `true`, renders an arrow at the start of each vector. Defaults
+ to `false`.
+
+ - `:end?` if `true`, renders an arrow at the end of each vector. Defaults to
+ `true`.
+
+ - `:arrow-size`: size of the arrows toggled by `:start?` and `:end?`. Defaults
+ to 6.
+
+ - `:width`: width of each vector. Defaults to 2.
+
+ - `:opacity`: opacity of each vector. Defaults to 1.0.
+
+ - `:color`: color of each vector. This can be a `three.js` `Color` object
+ or [any valid input to its
+ constructor](https://threejs.org/docs/#api/en/math/Color).
+
+ - `:z-order`: z-order of the vector field.
+
+ - `:z-index`: zIndex of the vector field. Defaults to 0.
+
+ - `:z-bias`: zBias of the vector field. Defaults to 0."
+ [{:keys [f scale
+ x-samples y-samples z-samples
+ x-range y-range z-range
+ arrow-size width start? end?
+ opacity color z-order z-index z-bias]
+ :or {scale 1
+ x-samples 10
+ y-samples 10
+ z-samples 10
+ z-index 0
+ z-bias 0
+ opacity 1
+ color "#3090ff"
+ arrow-size 6
+ width 2
+ start? false
+ end? true}}]
+ (let [x-range (or x-range (when (= 1 x-samples) [0 0]))
+ y-range (or y-range (when (= 1 y-samples) [0 0]))
+ z-range (or z-range (when (= 1 z-samples) [0 0]))]
+ [:<>
+ [mb/Volume
+ (cond-> {:expr
+ (fn [emit x y z]
+ (emit x y z)
+ (f (fn [x' y' z']
+ (emit (+ x (* scale x'))
+ (+ y (* scale y'))
+ (+ z (* scale z'))))
+ x y z))
+ :items 2
+ :channels 3
+ :live false
+ :width x-samples
+ :height y-samples
+ :depth z-samples}
+ x-range (assoc :rangeX x-range)
+ y-range (assoc :rangeY y-range)
+ z-range (assoc :rangeZ z-range))]
+ [mb/Vector
+ {:size arrow-size
+ :width width
+ :opacity opacity
+ :start start?
+ :end end?
+ :color color
+ :zOrder z-order :zIndex z-index :zBias z-bias}]]))
diff --git a/src/emmy/portal.clj b/src/emmy/portal.clj
index 7f915756..ce381c71 100644
--- a/src/emmy/portal.clj
+++ b/src/emmy/portal.clj
@@ -13,9 +13,7 @@
["emmy/portal/tex.cljs"
"emmy/portal/reagent.cljs"
"emmy/portal/mafs.cljs"
-
- ;; TODO: activate and bump Portal once 0.43.0 ships.
- #_"emmy/portal/leva.cljs"
+ "emmy/portal/leva.cljs"
"emmy/portal/jsxgraph.cljs"
"emmy/portal/mathlive.cljs"])