diff --git a/.gitignore b/.gitignore
index df3b7d0d..9650f7d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
site
+/.next
+/.source
/.vscode
.cache
node_modules
-docs/.vitepress/dist
-docs/.vitepress/cache
diff --git a/Dockerfile b/Dockerfile
index b5955273..0cf66004 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -20,9 +20,22 @@ RUN pnpm run build
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS runtime
-EXPOSE 80
+ARG PNPM_VERSION
+
+WORKDIR /docs
+
+RUN wget -qO /bin/pnpm "https://github.com/pnpm/pnpm/releases/download/v${PNPM_VERSION}/pnpm-linuxstatic-x64" && chmod +x /bin/pnpm
+
+ENV NODE_ENV=production
+
+COPY package.json .
+COPY pnpm-lock.yaml .
+RUN pnpm install --prod --frozen-lockfile --strict-peer-dependencies
+
+COPY --from=build /docs/.next ./.next
+COPY --from=build /docs/public ./public
+COPY --from=build /docs/next.config.mjs ./next.config.mjs
-# Copy release artifacts (static HTML, JS, CSS)
-COPY --from=build /docs/docs/.vitepress/dist /usr/share/nginx/html
+EXPOSE 3000
-# Leave startup as-is.
+CMD ["pnpm", "start"]
diff --git a/README.md b/README.md
index 6cae12b9..9e811ba6 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
## Development
-This documentation site is built with [VitePress](https://vitepress.dev).
+This documentation site is built with [Fumadocs](https://fumadocs.dev) on top of Next.js.
### Local preview
diff --git a/app/(docs)/[[...slug]]/page.tsx b/app/(docs)/[[...slug]]/page.tsx
new file mode 100644
index 00000000..5ea5bd98
--- /dev/null
+++ b/app/(docs)/[[...slug]]/page.tsx
@@ -0,0 +1,45 @@
+import type { Metadata } from 'next';
+import { notFound } from 'next/navigation';
+import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page';
+import { getMDXComponents } from '@/mdx-components';
+import { source } from '@/lib/source';
+
+type PageParams = {
+ slug?: string[];
+};
+
+export default async function Page({ params }: { params: PageParams }) {
+ const page = source.getPage(params.slug);
+ if (!page) notFound();
+
+ const MDX = page.data.body;
+
+ return (
+
+ {page.data.title}
+ {page.data.description}
+
+
+
+
+ );
+}
+
+export async function generateStaticParams() {
+ return source.generateParams();
+}
+
+export async function generateMetadata({ params }: { params: PageParams }): Promise {
+ const page = source.getPage(params.slug);
+ if (!page) notFound();
+
+ return {
+ title: page.data.title,
+ description: page.data.description,
+ };
+}
diff --git a/app/(docs)/layout.tsx b/app/(docs)/layout.tsx
new file mode 100644
index 00000000..719f03c4
--- /dev/null
+++ b/app/(docs)/layout.tsx
@@ -0,0 +1,12 @@
+import type { ReactNode } from 'react';
+import { DocsLayout } from 'fumadocs-ui/layouts/docs';
+import { baseOptions } from '@/lib/layout.shared';
+import { source } from '@/lib/source';
+
+export default function DocsRootLayout({ children }: { children: ReactNode }) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/app/global.css b/app/global.css
new file mode 100644
index 00000000..50b3bc29
--- /dev/null
+++ b/app/global.css
@@ -0,0 +1,3 @@
+@import 'tailwindcss';
+@import 'fumadocs-ui/css/neutral.css';
+@import 'fumadocs-ui/css/preset.css';
diff --git a/app/layout.tsx b/app/layout.tsx
new file mode 100644
index 00000000..f9e40ffb
--- /dev/null
+++ b/app/layout.tsx
@@ -0,0 +1,18 @@
+import type { ReactNode } from 'react';
+import { RootProvider } from 'fumadocs-ui/provider/next';
+import { Inter } from 'next/font/google';
+import './global.css';
+
+const inter = Inter({
+ subsets: ['latin'],
+});
+
+export default function RootLayout({ children }: { children: ReactNode }) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/docs/dev/contributing/backend.md b/content/docs/dev/contributing/backend.md
similarity index 100%
rename from docs/dev/contributing/backend.md
rename to content/docs/dev/contributing/backend.md
diff --git a/docs/dev/contributing/compile-firmware.md b/content/docs/dev/contributing/compile-firmware.md
similarity index 94%
rename from docs/dev/contributing/compile-firmware.md
rename to content/docs/dev/contributing/compile-firmware.md
index 2ac7552b..e5cf65f3 100644
--- a/docs/dev/contributing/compile-firmware.md
+++ b/content/docs/dev/contributing/compile-firmware.md
@@ -16,6 +16,6 @@ git clone https://github.com/OpenShock/Firmware.git
```
Open the folder you just downloaded with VSCode. Allow time for PlatformIO to initialize the IDE. Once it has completed, pick the project environment based on the board you would like to compile for under the new PlatformIO icon.
-
+
First, run the `PlatformIO > Project Tasks > General > Upload` task, then run `Platform > Upload Filesystem Image`. These tasks auto-build the latest changes and then upload the code to a connected micro-controller. This may require pressing the reset button on your micro-controller, refer to the documentation for your specific board for more information.
diff --git a/docs/dev/contributing/index.md b/content/docs/dev/contributing/index.md
similarity index 100%
rename from docs/dev/contributing/index.md
rename to content/docs/dev/contributing/index.md
diff --git a/docs/dev/index.md b/content/docs/dev/index.md
similarity index 95%
rename from docs/dev/index.md
rename to content/docs/dev/index.md
index b0b5801f..bec3a3b7 100644
--- a/docs/dev/index.md
+++ b/content/docs/dev/index.md
@@ -10,7 +10,7 @@ tags:
## Backend Architecture
-
+
## OpenAPI Documentation
diff --git a/docs/dev/signalr.md b/content/docs/dev/signalr.md
similarity index 100%
rename from docs/dev/signalr.md
rename to content/docs/dev/signalr.md
diff --git a/docs/dev/signalr/user.md b/content/docs/dev/signalr/user.md
similarity index 100%
rename from docs/dev/signalr/user.md
rename to content/docs/dev/signalr/user.md
diff --git a/docs/guides/diy/assembling.md b/content/docs/guides/diy/assembling.md
similarity index 98%
rename from docs/guides/diy/assembling.md
rename to content/docs/guides/diy/assembling.md
index e34ab0e9..c1e5538c 100644
--- a/docs/guides/diy/assembling.md
+++ b/content/docs/guides/diy/assembling.md
@@ -33,7 +33,7 @@ Or, you can re-enable the Captive Portal on the website under the Hub's "..." me
:::
-
+
::: warning Logic level compatibility
Please note that all ESP32s operate at 3.3V logic levels. To avoid overvolting your ESP's IO pins, it is recommended to either: connect your transmitter's power input to a 3V supply pin on the ESP's board, or use a logic-level shifter if your transmitter ***really* requires** more than 3V power to operate.
diff --git a/docs/guides/diy/e-stop.md b/content/docs/guides/diy/e-stop.md
similarity index 94%
rename from docs/guides/diy/e-stop.md
rename to content/docs/guides/diy/e-stop.md
index d6862227..5bf05802 100644
--- a/docs/guides/diy/e-stop.md
+++ b/content/docs/guides/diy/e-stop.md
@@ -14,8 +14,8 @@ You will need to connect the button and resistor in a pullup or pulldown configu
Either pullup or pulldown will work use which ever is easier for your board.
-
-
+
+
*Most* of the GPIO pins on any given ESP32 board should work for E-Stop, however some pins are reserved for special usage and will return an error if you attempt to use them during setup. If you run into that error, adjust your setup to use a different pin with a higher number.
diff --git a/docs/guides/diy/hardware-buying.md b/content/docs/guides/diy/hardware-buying.md
similarity index 100%
rename from docs/guides/diy/hardware-buying.md
rename to content/docs/guides/diy/hardware-buying.md
diff --git a/docs/guides/diy/index.md b/content/docs/guides/diy/index.md
similarity index 100%
rename from docs/guides/diy/index.md
rename to content/docs/guides/diy/index.md
diff --git a/docs/guides/openshock/e-stop-guide.md b/content/docs/guides/openshock/e-stop-guide.md
similarity index 100%
rename from docs/guides/openshock/e-stop-guide.md
rename to content/docs/guides/openshock/e-stop-guide.md
diff --git a/docs/guides/openshock/first-setup.md b/content/docs/guides/openshock/first-setup.md
similarity index 85%
rename from docs/guides/openshock/first-setup.md
rename to content/docs/guides/openshock/first-setup.md
index bcdce900..2bb0be7f 100644
--- a/docs/guides/openshock/first-setup.md
+++ b/content/docs/guides/openshock/first-setup.md
@@ -26,7 +26,7 @@ The electricity could flow through your heart.
1. Plug your hub in and ensure it has power.
2. On your phone, search for a Wi-Fi network named similar to ``OpenShock-XX:XX:XX:XX:XX:XX`` and connect to it.
::: details Images (click to expand)
- 
+ 
:::
2. Connect to the hub via the network:
1. Open your phone's browser and type in ``10.10.10.10`` *or* ``openshock.local`` this should open up a web-interface for the hub.
@@ -34,7 +34,7 @@ The electricity could flow through your heart.
3. Press the green button next to it and type in your Wi-Fi password, then press submit.
*A green pop up should appear if it's connected successfully*
::: details Images (click to expand)
- 
+ 
:::
3. Set the RF TX Pin if needed
@@ -55,9 +55,9 @@ If you do not know how to do this, you can also re-enable the captive portal (ho
3. Type in a name, *(your name for example)* into the name field.
4. Press save.
::: details Images (click to expand)
- 
- 
- 
+ 
+ 
+ 
:::
2. Pair the hub:
1. Open the context menu of your hub again.
@@ -65,12 +65,12 @@ If you do not know how to do this, you can also re-enable the captive portal (ho
3. On your phone type the code into the account Linking field of the hub's web-interface, then press **pair**.
- After you linked the hub to your account it should shut down it's own Wi-Fi network.
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
3. The hub is now connected!
- If everything went well, it should show a **green icon** next to the device name on the website.
- 
+ 
## Pairing shockers
@@ -86,8 +86,8 @@ If you do not know how to do this, you can also re-enable the captive portal (ho
7. Select the **model** of shocker.
8. Click **Create**
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
4. Pair your Shocker.
1. Grab your shocker and turn it on. (Press the power button once. it should beep one time.)
@@ -95,7 +95,7 @@ If you do not know how to do this, you can also re-enable the captive portal (ho
3. On the website click the ***speaker icon*** of your shocker, if your shocker beeps in response, the pairing was successful.
4. You must click the icon before the shocker's pairing mode times out (while the shocker's LED is flashing quickly).
::: details Images (click to expand)
- 
+ 
:::
**Everything should work now, have fun!** 🎉
diff --git a/docs/guides/openshock/how-to-flash-your-board.md b/content/docs/guides/openshock/how-to-flash-your-board.md
similarity index 93%
rename from docs/guides/openshock/how-to-flash-your-board.md
rename to content/docs/guides/openshock/how-to-flash-your-board.md
index 52096958..16e6b0b0 100644
--- a/docs/guides/openshock/how-to-flash-your-board.md
+++ b/content/docs/guides/openshock/how-to-flash-your-board.md
@@ -19,10 +19,10 @@ If you received your hub from an OpenShock hardware vendor, you can likely **ski
2. Open the [Flashtool](https://next.openshock.app/flashtool).
3. Click "Select Device" and select your hub in the Popup window.
If your hub is not showing up click on "Install Drivers", after that repeat this step.
-
+
4. Ensure you have the "Stable" channel selected.
5. Ensure the correct [board](../../hardware/boards/index.md) is selected.
-
+
6. Press Flash and let it do it's thing, keep the window open and it will tell you when it's done.
7. When everything went well you board will restart and you should be able to run through the [First Setup](../openshock/first-setup.md) steps to configure your hub and link it to your shocker etc.
8. (Optional) If you have issues after flashing, try again with "Erase everything before flashing" enabled.
@@ -61,8 +61,8 @@ On some boards without firmware, you won't see a Serial port until you enter the
Example pins for the Wemos D1 Mini
-
-
+
+
#### Manually flash using `esptool.py`
diff --git a/docs/guides/openshock/how-to-update.md b/content/docs/guides/openshock/how-to-update.md
similarity index 91%
rename from docs/guides/openshock/how-to-update.md
rename to content/docs/guides/openshock/how-to-update.md
index 3dae9487..8d95ed62 100644
--- a/docs/guides/openshock/how-to-update.md
+++ b/content/docs/guides/openshock/how-to-update.md
@@ -12,10 +12,10 @@
2. Connect your hub to a power source and make sure it appears as online in the Device section.
3. Open the context menu of your hub.
4. Select "OTA Update".
-
+
5. Now you can see 3 different branches of firmware, these are "Develop", "Stable" and "Beta". **We recommend that you only use the Stable branch if you don't know what you're doing.**
6. If your firmware version is older than the one displayed on the "Stable" button, you should update.
-
+
7. Click the "Stable" button.
8. Confirm the update.
9. Your hub should now update automatically, don't close the website during this.
diff --git a/docs/guides/openshock/index.md b/content/docs/guides/openshock/index.md
similarity index 100%
rename from docs/guides/openshock/index.md
rename to content/docs/guides/openshock/index.md
diff --git a/docs/guides/openshock/offline-remote-setup.md b/content/docs/guides/openshock/offline-remote-setup.md
similarity index 87%
rename from docs/guides/openshock/offline-remote-setup.md
rename to content/docs/guides/openshock/offline-remote-setup.md
index f2583bab..50c69d18 100644
--- a/docs/guides/openshock/offline-remote-setup.md
+++ b/content/docs/guides/openshock/offline-remote-setup.md
@@ -25,8 +25,8 @@ You can also decode this ID yourself using a 433 Mhz Receiver module with an ESP
3. Set the Shocker RfId field to the **Offline Remote ID**
4. Save
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
4. RePair the Shocker
**Everything should work now, have fun!** 🎉
\ No newline at end of file
diff --git a/docs/guides/openshock/sharecodes.md b/content/docs/guides/openshock/sharecodes.md
similarity index 73%
rename from docs/guides/openshock/sharecodes.md
rename to content/docs/guides/openshock/sharecodes.md
index 88c23e02..7f25789e 100644
--- a/docs/guides/openshock/sharecodes.md
+++ b/content/docs/guides/openshock/sharecodes.md
@@ -22,9 +22,9 @@ Shares are permanent until unshared/deleted by the owner of the shocker.
3. Click on the **green plus icon**, that will generate a new share code.
4. Send this code to a person you trust.
::: details Images (click to expand)
- 
- 
- 
+ 
+ 
+ 
:::
## Use a share code
@@ -36,9 +36,9 @@ Shares are permanent until unshared/deleted by the owner of the shocker.
**Now the shocker is linked to your account and you can control it.** 🎉
::: details Images (click to expand)
-
-
-
+
+
+
:::
::: tip
You can find all shockers you added with a share code on the same page in your account under **Shockers** -> [**Shared**](https://openshock.app/#/dashboard/shockers/shared)
@@ -61,10 +61,10 @@ For this step to work, someone has to [use your share code](#use-a-share-code) f
5. Set max ***intensity*** and ***duration*** and also select what kind of ***commands*** the person can send.
6. Press **Save**, you are done. 🎉
::: details Images (click to expand)
- 
- 
- 
- 
+ 
+ 
+ 
+ 
:::
## Pause/Unpause a share code
@@ -82,8 +82,8 @@ For this step to work, someone has to [use your share code](#use-a-share-code) f
- *Press the **play icon** next to the persons name to unpause the code again.*
4. You are done. 🎉
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
## Unshare/Delete a share code
@@ -100,9 +100,9 @@ For this step to work, someone has to [use your share code](#use-a-share-code) f
4. Select **Unshare**
5. You are done. 🎉
::: details Images (click to expand)
- 
- 
- 
+ 
+ 
+ 
:::
::: tip
You can also pause a specific share to temporarily stop the person from using this shocker.
diff --git a/docs/guides/openshock/sharelinks.md b/content/docs/guides/openshock/sharelinks.md
similarity index 76%
rename from docs/guides/openshock/sharelinks.md
rename to content/docs/guides/openshock/sharelinks.md
index 8407cbde..cef36c45 100644
--- a/docs/guides/openshock/sharelinks.md
+++ b/content/docs/guides/openshock/sharelinks.md
@@ -19,10 +19,10 @@ Share links are a great way to give people control of your shockers without the
5. Press **Create**
- Your new share link should popup as a new entry on the page.
::: details Images (click to expand)
- 
- 
- 
- 
+ 
+ 
+ 
+ 
:::
2. Add a Shocker to the Link:
1. Click on the newly created link.
@@ -32,8 +32,8 @@ Share links are a great way to give people control of your shockers without the
5. Press **Add** *(repeat that to add more shockers)*
- You should be able to see the shockers controls now.
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
**That's it.**
Everyone you send the share link to can now control your shocker. 🎉
@@ -58,8 +58,8 @@ You can also **Pause** the link so nobody can send commands with this link.
3. Set the maximum ***intensity***, ***duration*** and choose what kind of ***command*** can be send.
4. To exit the Edit Mode open the share links context menu and select **Edit Mode** again. This will return the controls to their normal color.
::: details Images (click to expand)
- 
- 
+ 
+ 
:::
**That's it.** 🎉
@@ -74,6 +74,6 @@ A paused link will not accept any commands.
- It should now ***blur*** the shocker controls telling you it's paused.
2. To un-pause the share link again simply click on the ``Play Icon``.
::: details Images (click to expand)
-
-
+
+
:::
diff --git a/docs/guides/quickstart/what-you-need.md b/content/docs/guides/quickstart/what-you-need.md
similarity index 100%
rename from docs/guides/quickstart/what-you-need.md
rename to content/docs/guides/quickstart/what-you-need.md
diff --git a/docs/guides/selfhosting/index.md b/content/docs/guides/selfhosting/index.md
similarity index 100%
rename from docs/guides/selfhosting/index.md
rename to content/docs/guides/selfhosting/index.md
diff --git a/docs/guides/shockosc/avatar-setup-cvr.md b/content/docs/guides/shockosc/avatar-setup-cvr.md
similarity index 82%
rename from docs/guides/shockosc/avatar-setup-cvr.md
rename to content/docs/guides/shockosc/avatar-setup-cvr.md
index 19aca3ef..6d8c189c 100644
--- a/docs/guides/shockosc/avatar-setup-cvr.md
+++ b/content/docs/guides/shockosc/avatar-setup-cvr.md
@@ -17,12 +17,12 @@ Please make sure you have "OSC Query" turned off in the **App Settings** tab.
2. Create an Advanced Avatar Trigger
1. Select the Bone of you avatar you want the trigger to be.
2. Create a new empty Game object and name it however you like.
- 
+ 
3. Add the "CVR Advanced Avatar Trigger" component to it.
4. Configure it like followed and replace {GROUPNAME} with the name of your ShockOsc group. ``ShockOsc/Bzz`` for example:
- 
+ 
5. Make sure the trigger area is appropriate for you.
3. Add the Parameter to your Animator as a bool.
4. Add the Parameter to your Menu as a bool.
-
+
5. That's it. 🎉
diff --git a/docs/guides/shockosc/avatar-setup-vrc.md b/content/docs/guides/shockosc/avatar-setup-vrc.md
similarity index 90%
rename from docs/guides/shockosc/avatar-setup-vrc.md
rename to content/docs/guides/shockosc/avatar-setup-vrc.md
index 66ccf160..b71b4da6 100644
--- a/docs/guides/shockosc/avatar-setup-vrc.md
+++ b/content/docs/guides/shockosc/avatar-setup-vrc.md
@@ -14,14 +14,14 @@
1. *Right-Click the bone.*
2. *Select "Create Empty".*
::: details Image
-
+
:::
2. Select the new GameObject.
3. Rename it to whatever you want. *For example "ShockOSC"*
4. Add a new ``VRC Contact Receiver`` component to it.
5. Position the object on your avatar.
::: details Image
-
+
:::
3. Configure the **VRC Contact Receiver** component:
- **Radius** : That's the range of the trigger, don't make it too big otherwise people will constantly trigger it by accident.
@@ -32,7 +32,7 @@
Replace *{GroupName}* with the name you gave your shocker in the [ShockOSC config](./basic.md#setup-shockosc).
Example: ``ShockOsc/leftleg``.
::: info Example
-
+
:::
4. Upload your Avatar and you are ready to go! 🎉
@@ -70,9 +70,9 @@ This will utilize the Contact Sender and Receiver components of the VRChatSDK to
8. Set the Parameter: ``ShockOsc/{GroupName}_IShock``(bool), alternatively you can use ``ShockOsc/_All_IShock``(bool) to trigger all your shockers at the same time.
Replace *{GroupName}* with the name you gave your shocker in the [ShockOsc config](./basic.md#setup-shockosc).
Example: ``ShockOsc/leftleg_IShock``.
- 
+ 
::: details example
-
+
:::
### Create a Sender
@@ -96,19 +96,19 @@ This will utilize the Contact Sender and Receiver components of the VRChatSDK to
4. Switch to the Layer tab of the Animator and Create a new Layer.
5. Name the layer something like "Shocker Remote"
6. Create 2 new states inside the layer and name them On and Off and set Off as the default layer state (Orange).
- 
+ 
7. Create 2 new Animations, one that toggles the Sender object On an one that turns it Off, then assigns the animations to the right states you created earlier.
8. Create 2 Transitions one from On to Off and one from Off to On.
9. Both transitions should **not** have a transition time greater then 0 and they should have **no** Exit time.
10. In both transitions set your Bool Parameter created earlier as a condition, from On to Off should be ``false`` and Off to On should be ``true``
- 
+ 
6. Create the Toggle in the Action Menu.
1. Open your avatars Parameter list and add your earlier created bool parameter to it
- 
+ 
2. uncheck the "Saved" option and also the "default" option
3. Open your Avatar Menu file and go to the place you want to add the Button for the Remote to.
4. Create a new entry, give it a name "Shocker Remote" for example. Make sure it's set to Button and then add your Parameter to it.
- 
+ 
### Upload your Avatars
diff --git a/docs/guides/shockosc/basic.md b/content/docs/guides/shockosc/basic.md
similarity index 90%
rename from docs/guides/shockosc/basic.md
rename to content/docs/guides/shockosc/basic.md
index dc500d54..65ad78e1 100644
--- a/docs/guides/shockosc/basic.md
+++ b/content/docs/guides/shockosc/basic.md
@@ -25,7 +25,7 @@ OSC is a protocol implemented in VRChat, ChilloutVR, etc. that allows the commun
3. Click Login, this will open your browser
3. In the browser, log into your OpenShock account and accept the request shown.
4. OpenShock Desktop will now be logged in.
- 
+ 
3. Create your Shock Group.
*everything is done in groups, doesn't matter if it's only one shocker or multiple shockers.*
1. Go to the Group Tab.
@@ -33,13 +33,13 @@ OSC is a protocol implemented in VRChat, ChilloutVR, etc. that allows the commun
3. Give the Group a name. (This also defines the parameter name later used for your Avatar)
4. Select what shocker is to be used with the group.
5. *Optional you can override the default limits set in ShockOSC per group*
- 
+ 
4. Configure your Limits.
1. Go to the Config Tab
2. Configure Cooldown, Hold time, if Intensity is fixed or random and the limits for that same with duration.
3. Choose if ShockOSC pauses while being AFK and if it'll un-mute you when shocked.
4. Everything else can be left alone unless you know what you are doing.
- 
+ 
5. That's it, you are ready to go! 🎉
::: tip Avatar Setup
diff --git a/docs/guides/shockosc/parameters.md b/content/docs/guides/shockosc/parameters.md
similarity index 100%
rename from docs/guides/shockosc/parameters.md
rename to content/docs/guides/shockosc/parameters.md
diff --git a/docs/hardware/boards/china/esp32s3-dorx.md b/content/docs/hardware/boards/china/esp32s3-dorx.md
similarity index 79%
rename from docs/hardware/boards/china/esp32s3-dorx.md
rename to content/docs/hardware/boards/china/esp32s3-dorx.md
index 42e95208..d2138230 100644
--- a/docs/hardware/boards/china/esp32s3-dorx.md
+++ b/content/docs/hardware/boards/china/esp32s3-dorx.md
@@ -32,6 +32,6 @@ Codenamed "Dorx", this is a brandless knockoff ESP32-S3 board with a fake "ESP32
## Media
-
-
-
+
+
+
diff --git a/docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md b/content/docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md
similarity index 88%
rename from docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md
rename to content/docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md
index 6918af6e..ca0e8333 100644
--- a/docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md
+++ b/content/docs/hardware/boards/dfr-firebeetle/dfr-firebeetle.md
@@ -34,4 +34,4 @@ This product is fully compatible with OpenShock.
## Media
-
+
diff --git a/docs/hardware/boards/index.md b/content/docs/hardware/boards/index.md
similarity index 100%
rename from docs/hardware/boards/index.md
rename to content/docs/hardware/boards/index.md
diff --git a/docs/hardware/boards/openshock/core-v1.md b/content/docs/hardware/boards/openshock/core-v1.md
similarity index 72%
rename from docs/hardware/boards/openshock/core-v1.md
rename to content/docs/hardware/boards/openshock/core-v1.md
index 7a000723..de79a617 100644
--- a/docs/hardware/boards/openshock/core-v1.md
+++ b/content/docs/hardware/boards/openshock/core-v1.md
@@ -51,9 +51,9 @@ You may require a pair of small pointy objects, such as toothpicks or paperclips
## Media
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/docs/hardware/boards/openshock/core-v2.md b/content/docs/hardware/boards/openshock/core-v2.md
similarity index 61%
rename from docs/hardware/boards/openshock/core-v2.md
rename to content/docs/hardware/boards/openshock/core-v2.md
index ab3b2958..d44461b3 100644
--- a/docs/hardware/boards/openshock/core-v2.md
+++ b/content/docs/hardware/boards/openshock/core-v2.md
@@ -52,21 +52,21 @@ You may require a pair of small pointy objects, such as toothpicks or paperclips
## Media
::: details V2.0 and Case
-
-
-
-
-
-
+
+
+
+
+
+
:::
::: details V2.2L PCB
-
-
-
-
-
-
-:::
+
+
+
+
+
+
+:::
diff --git a/docs/hardware/boards/pishock/2021q1-plus.md b/content/docs/hardware/boards/pishock/2021q1-plus.md
similarity index 76%
rename from docs/hardware/boards/pishock/2021q1-plus.md
rename to content/docs/hardware/boards/pishock/2021q1-plus.md
index e74e3473..37ed371f 100644
--- a/docs/hardware/boards/pishock/2021q1-plus.md
+++ b/content/docs/hardware/boards/pishock/2021q1-plus.md
@@ -23,7 +23,7 @@ This device is based on the [Raspberry Pi Zero W](https://www.raspberrypi.com/pr
## Media
-
-
+
+
Thanks to `@nacho_` on Discord for the images.
diff --git a/docs/hardware/boards/pishock/2021q3-lite.md b/content/docs/hardware/boards/pishock/2021q3-lite.md
similarity index 54%
rename from docs/hardware/boards/pishock/2021q3-lite.md
rename to content/docs/hardware/boards/pishock/2021q3-lite.md
index ae966363..76e077bc 100644
--- a/docs/hardware/boards/pishock/2021q3-lite.md
+++ b/content/docs/hardware/boards/pishock/2021q3-lite.md
@@ -31,19 +31,19 @@ This product is fully compatible with OpenShock.
### Clean variant
-
-
-
+
+
+
### Burnt solder joint variant
Courtesy of `@ulthirm` on Discord.
-
-
+
+
### Cold solder joint variant
Courtesy of `@pixelcommander` on Discord.
-
+
diff --git a/docs/hardware/boards/pishock/2023-pishock.md b/content/docs/hardware/boards/pishock/2023-pishock.md
similarity index 63%
rename from docs/hardware/boards/pishock/2023-pishock.md
rename to content/docs/hardware/boards/pishock/2023-pishock.md
index 63a8b98d..9d2a56b9 100644
--- a/docs/hardware/boards/pishock/2023-pishock.md
+++ b/content/docs/hardware/boards/pishock/2023-pishock.md
@@ -34,7 +34,7 @@ This board is compatible with the flash tool.
## Media
-
-
-
-
+
+
+
+
diff --git a/docs/hardware/boards/seeed/xiao-esp32s3.md b/content/docs/hardware/boards/seeed/xiao-esp32s3.md
similarity index 84%
rename from docs/hardware/boards/seeed/xiao-esp32s3.md
rename to content/docs/hardware/boards/seeed/xiao-esp32s3.md
index 23ca0209..b309c4fc 100644
--- a/docs/hardware/boards/seeed/xiao-esp32s3.md
+++ b/content/docs/hardware/boards/seeed/xiao-esp32s3.md
@@ -50,6 +50,6 @@ If everything went correctly, you can now flash the board using a flashing tool
The antenna is detachable. The back side of the antenna has adhesive tape.
:::
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/docs/hardware/boards/wemos/d1-mini-esp32.md b/content/docs/hardware/boards/wemos/d1-mini-esp32.md
similarity index 79%
rename from docs/hardware/boards/wemos/d1-mini-esp32.md
rename to content/docs/hardware/boards/wemos/d1-mini-esp32.md
index c3ac8440..fadcfd71 100644
--- a/docs/hardware/boards/wemos/d1-mini-esp32.md
+++ b/content/docs/hardware/boards/wemos/d1-mini-esp32.md
@@ -28,6 +28,6 @@ Sorry, we haven't *quite* finished this article yet. **In the meantime, feel fre
### FeiYang variant
-
-
+
+
Credit to `minty_kitsune` on Discord.
diff --git a/docs/hardware/boards/wemos/lolin-s2-mini.md b/content/docs/hardware/boards/wemos/lolin-s2-mini.md
similarity index 69%
rename from docs/hardware/boards/wemos/lolin-s2-mini.md
rename to content/docs/hardware/boards/wemos/lolin-s2-mini.md
index acfc00c5..c4f49574 100644
--- a/docs/hardware/boards/wemos/lolin-s2-mini.md
+++ b/content/docs/hardware/boards/wemos/lolin-s2-mini.md
@@ -23,5 +23,5 @@ This product is fully compatible with OpenShock.
## Media
-
-
+
+
diff --git a/docs/hardware/boards/wemos/lolin-s3.md b/content/docs/hardware/boards/wemos/lolin-s3.md
similarity index 77%
rename from docs/hardware/boards/wemos/lolin-s3.md
rename to content/docs/hardware/boards/wemos/lolin-s3.md
index 452f7855..945bfad7 100644
--- a/docs/hardware/boards/wemos/lolin-s3.md
+++ b/content/docs/hardware/boards/wemos/lolin-s3.md
@@ -24,5 +24,5 @@ This product is fully compatible with OpenShock.
## Media
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/docs/hardware/firmware/status-led.md b/content/docs/hardware/firmware/status-led.md
similarity index 100%
rename from docs/hardware/firmware/status-led.md
rename to content/docs/hardware/firmware/status-led.md
diff --git a/docs/hardware/index.md b/content/docs/hardware/index.md
similarity index 100%
rename from docs/hardware/index.md
rename to content/docs/hardware/index.md
diff --git a/content/docs/hardware/remotes/identifying.md b/content/docs/hardware/remotes/identifying.md
new file mode 100644
index 00000000..d40ba502
--- /dev/null
+++ b/content/docs/hardware/remotes/identifying.md
@@ -0,0 +1,11 @@
+---
+tags:
+ - hardware
+ - remote
+ - buy
+---
+
+# Identifying
+
+
+
diff --git a/docs/hardware/shockers/caixianlin.md b/content/docs/hardware/shockers/caixianlin.md
similarity index 95%
rename from docs/hardware/shockers/caixianlin.md
rename to content/docs/hardware/shockers/caixianlin.md
index 2b72f59e..aa98a2a7 100644
--- a/docs/hardware/shockers/caixianlin.md
+++ b/content/docs/hardware/shockers/caixianlin.md
@@ -39,10 +39,10 @@ The charging port for this model is a standard **DC 3.5 x 1.35mm**. A USB to **D
## Media
-
-
+
+
-
+
Thank you `@dasbrin` on Discord for the images.
diff --git a/docs/hardware/shockers/index.md b/content/docs/hardware/shockers/index.md
similarity index 100%
rename from docs/hardware/shockers/index.md
rename to content/docs/hardware/shockers/index.md
diff --git a/docs/hardware/shockers/petrainer.md b/content/docs/hardware/shockers/petrainer.md
similarity index 100%
rename from docs/hardware/shockers/petrainer.md
rename to content/docs/hardware/shockers/petrainer.md
diff --git a/docs/hardware/transmitter/china/open-smart.md b/content/docs/hardware/transmitter/china/open-smart.md
similarity index 65%
rename from docs/hardware/transmitter/china/open-smart.md
rename to content/docs/hardware/transmitter/china/open-smart.md
index 318424b7..2440e538 100644
--- a/docs/hardware/transmitter/china/open-smart.md
+++ b/content/docs/hardware/transmitter/china/open-smart.md
@@ -21,5 +21,5 @@ tags:
- 433MHz
### Media
-
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/docs/hardware/transmitter/index.md b/content/docs/hardware/transmitter/index.md
similarity index 100%
rename from docs/hardware/transmitter/index.md
rename to content/docs/hardware/transmitter/index.md
diff --git a/docs/home/faq.md b/content/docs/home/faq.md
similarity index 100%
rename from docs/home/faq.md
rename to content/docs/home/faq.md
diff --git a/docs/home/safety-rules.md b/content/docs/home/safety-rules.md
similarity index 96%
rename from docs/home/safety-rules.md
rename to content/docs/home/safety-rules.md
index 7cc1c96f..f8c2e426 100644
--- a/docs/home/safety-rules.md
+++ b/content/docs/home/safety-rules.md
@@ -5,7 +5,7 @@ Information provided on this wiki does not constitute or imply endorsement and i
:::
::: danger DO NOT wear your Shockers near these Zones
-
+
:::
::: danger Do not touch the pins of the shocker with both hands at the same time
diff --git a/docs/index.md b/content/docs/index.md
similarity index 67%
rename from docs/index.md
rename to content/docs/index.md
index e8f58edc..c4546975 100644
--- a/docs/index.md
+++ b/content/docs/index.md
@@ -1,20 +1,10 @@
---
-layout: home
-
-
-hero:
- name: OpenShock
- tagline: Wiki and Documentation
-
- actions:
- - theme: brand
- text: Get Started
- link: /guides/quickstart/what-you-need.md
- - theme: alt
- text: View on GitHub
- link: https://github.com/openshock
+title: OpenShock
+description: Wiki and Documentation
---
+# OpenShock
+
Welcome to OpenShock! We're proud to present our fully open-source software solution, compatible with off-the-shelf hardware, to get you started in the world of shocking!
## Getting started
diff --git a/docs/legal/code-of-conduct.md b/content/docs/legal/code-of-conduct.md
similarity index 100%
rename from docs/legal/code-of-conduct.md
rename to content/docs/legal/code-of-conduct.md
diff --git a/docs/legal/license.md b/content/docs/legal/license.md
similarity index 100%
rename from docs/legal/license.md
rename to content/docs/legal/license.md
diff --git a/docs/legal/privacy-policy.md b/content/docs/legal/privacy-policy.md
similarity index 100%
rename from docs/legal/privacy-policy.md
rename to content/docs/legal/privacy-policy.md
diff --git a/docs/legal/terms-and-conditions.md b/content/docs/legal/terms-and-conditions.md
similarity index 100%
rename from docs/legal/terms-and-conditions.md
rename to content/docs/legal/terms-and-conditions.md
diff --git a/docs/troubleshooting/hub.md b/content/docs/troubleshooting/hub.md
similarity index 100%
rename from docs/troubleshooting/hub.md
rename to content/docs/troubleshooting/hub.md
diff --git a/docs/troubleshooting/shocker-pairing.md b/content/docs/troubleshooting/shocker-pairing.md
similarity index 100%
rename from docs/troubleshooting/shocker-pairing.md
rename to content/docs/troubleshooting/shocker-pairing.md
diff --git a/docs/troubleshooting/shockosc.md b/content/docs/troubleshooting/shockosc.md
similarity index 100%
rename from docs/troubleshooting/shockosc.md
rename to content/docs/troubleshooting/shockosc.md
diff --git a/docs/vendors/hardware/bosjesman.md b/content/docs/vendors/hardware/bosjesman.md
similarity index 100%
rename from docs/vendors/hardware/bosjesman.md
rename to content/docs/vendors/hardware/bosjesman.md
diff --git a/docs/vendors/hardware/ebthing.md b/content/docs/vendors/hardware/ebthing.md
similarity index 100%
rename from docs/vendors/hardware/ebthing.md
rename to content/docs/vendors/hardware/ebthing.md
diff --git a/docs/vendors/hardware/index.md b/content/docs/vendors/hardware/index.md
similarity index 100%
rename from docs/vendors/hardware/index.md
rename to content/docs/vendors/hardware/index.md
diff --git a/docs/vendors/hardware/luc.md b/content/docs/vendors/hardware/luc.md
similarity index 100%
rename from docs/vendors/hardware/luc.md
rename to content/docs/vendors/hardware/luc.md
diff --git a/docs/vendors/hardware/meguminvrc.md b/content/docs/vendors/hardware/meguminvrc.md
similarity index 100%
rename from docs/vendors/hardware/meguminvrc.md
rename to content/docs/vendors/hardware/meguminvrc.md
diff --git a/docs/vendors/hardware/millkox.md b/content/docs/vendors/hardware/millkox.md
similarity index 100%
rename from docs/vendors/hardware/millkox.md
rename to content/docs/vendors/hardware/millkox.md
diff --git a/docs/vendors/hardware/namelessnanashi.md b/content/docs/vendors/hardware/namelessnanashi.md
similarity index 100%
rename from docs/vendors/hardware/namelessnanashi.md
rename to content/docs/vendors/hardware/namelessnanashi.md
diff --git a/docs/vendors/hardware/nerex.md b/content/docs/vendors/hardware/nerex.md
similarity index 100%
rename from docs/vendors/hardware/nerex.md
rename to content/docs/vendors/hardware/nerex.md
diff --git a/docs/vendors/hardware/nullstalgia.md b/content/docs/vendors/hardware/nullstalgia.md
similarity index 100%
rename from docs/vendors/hardware/nullstalgia.md
rename to content/docs/vendors/hardware/nullstalgia.md
diff --git a/docs/vendors/hardware/sillypupkit.md b/content/docs/vendors/hardware/sillypupkit.md
similarity index 100%
rename from docs/vendors/hardware/sillypupkit.md
rename to content/docs/vendors/hardware/sillypupkit.md
diff --git a/docs/vendors/hardware/yunadex.md b/content/docs/vendors/hardware/yunadex.md
similarity index 100%
rename from docs/vendors/hardware/yunadex.md
rename to content/docs/vendors/hardware/yunadex.md
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
deleted file mode 100644
index 5b869cad..00000000
--- a/docs/.vitepress/config.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { defineConfig } from 'vitepress'
-import nav from './nav'
-import sidebar from './sidebar'
-
-export default defineConfig({
- title: 'OpenShock Wiki',
- description: 'Documentation for OpenShock',
- lastUpdated: true,
- cleanUrls: true,
- rewrites: {
- '/diy/:page': '/guides/diy/:page',
- '/guides/openshock-:page': '/guides/openshock/:page'
- },
- themeConfig: {
- siteTitle: false,
- logo: '/branding/LogoBakedFont.svg',
- search: {
- provider: 'algolia',
- options: {
- appId: 'TM973D0RMF',
- apiKey: '63f489250dfedfd861f58395335ee908',
- indexName: 'Algolia OpenShock Crawler'
- }
- },
- socialLinks: [
- { icon: 'github', link: 'https://github.com/OpenShock' },
- { icon: 'discord', link: 'https://discord.gg/OpenShock' }
- ],
- editLink: {
- pattern: 'https://github.com/OpenShock/Wiki/edit/master/docs/:path',
- text: 'Edit this page on GitHub',
- },
- nav,
- sidebar
- }
-})
-
diff --git a/docs/.vitepress/nav.ts b/docs/.vitepress/nav.ts
deleted file mode 100644
index 699a9b31..00000000
--- a/docs/.vitepress/nav.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-export default [
- {
- text: 'Home',
- items: [
- { text: 'Home', link: '/' },
- { text: 'FAQ', link: '/home/faq' },
- { text: 'Safety', link: '/home/safety-rules' },
- {
- text: 'Legal',
- items: [
- { text: 'Terms and Conditions', link: '/legal/terms-and-conditions' },
- { text: 'Privacy Policy', link: '/legal/privacy-policy' },
- { text: 'Code of Conduct', link: '/legal/code-of-conduct' },
- { text: 'License', link: '/legal/license' },
- ],
- },
- ],
- },
- {
- text: 'Guides',
- items: [
- { text: 'Quickstart', link: '/guides/quickstart/what-you-need' },
- { text: 'OpenShock', link: '/guides/openshock/' },
- { text: 'Do It Yourself', link: '/guides/diy/' },
- {
- text: 'ShockOsc',
- items: [
- { text: 'Basic', link: '/guides/shockosc/basic' },
- { text: 'Avatar setup VRC', link: '/guides/shockosc/avatar-setup-vrc' },
- { text: 'Avatar setup CVR', link: '/guides/shockosc/avatar-setup-cvr' },
- { text: 'Parameters', link: '/guides/shockosc/parameters' },
- ],
- },
- { text: 'Self Hosting', link: '/guides/selfhosting/' },
- ],
- },
- {
- text: 'Developer',
- items: [
- { text: 'Overview', link: '/dev/' },
- { text: 'Contributing', link: '/dev/contributing/' },
- ],
- },
- {
- text: 'Hardware',
- link: '/hardware'
- },
- {
- text: 'Vendors',
- link: '/vendors/hardware'
- },
- {
- text: 'Help',
- items: [
- { text: 'Hub', link: '/troubleshooting/hub' },
- { text: 'ShockOsc', link: '/troubleshooting/shockosc' },
- { text: 'Shocker pairing', link: '/troubleshooting/shocker-pairing' },
- ],
- }
-];
diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts
deleted file mode 100644
index 7d0bfa45..00000000
--- a/docs/.vitepress/sidebar.ts
+++ /dev/null
@@ -1,182 +0,0 @@
-export default {
- "/": [
- {
- text: "Home",
- items: [
- { text: "Home", link: "/" },
- { text: "FAQ", link: "/home/faq" },
- { text: "Safety", link: "/home/safety-rules" },
- ],
- },
- {
- text: "Legal and Privacy",
- items: [
- { text: "Terms and Conditions", link: "/legal/terms-and-conditions" },
- { text: "Privacy Policy", link: "/legal/privacy-policy" },
- { text: "Code of Conduct", link: "/legal/code-of-conduct" },
- { text: "License", link: "/legal/license" },
- ],
- },
- ],
- "/guides/": [
- {
- text: "Quickstart",
- items: [
- { text: "What you need", link: "/guides/quickstart/what-you-need" },
- ],
- },
- {
- text: "OpenShock",
- link: "/guides/openshock/",
- items: [
- {
- text: "How to flash your board",
- link: "/guides/openshock/how-to-flash-your-board",
- },
- { text: "First setup", link: "/guides/openshock/first-setup" },
- { text: "How to update", link: "/guides/openshock/how-to-update" },
- { text: "Sharelinks", link: "/guides/openshock/sharelinks" },
- { text: "Sharecodes", link: "/guides/openshock/sharecodes" },
- {
- text: "Offline remote setup",
- link: "/guides/openshock/offline-remote-setup",
- },
- { text: "Using the E-Stop", link: "/guides/openshock/e-stop-guide" },
- ],
- },
- {
- text: "Do It Yourself",
- items: [
- { text: "Overview", link: "/guides/diy/" },
- { text: "Hardware", link: "/guides/diy/hardware-buying" },
- { text: "Assembling", link: "/guides/diy/assembling" },
- { text: "E-Stop", link: "/guides/diy/e-stop" },
- ],
- },
- {
- text: "ShockOsc",
- items: [
- { text: "Basic", link: "/guides/shockosc/basic" },
- { text: "Avatar setup VRC", link: "/guides/shockosc/avatar-setup-vrc" },
- { text: "Avatar setup CVR", link: "/guides/shockosc/avatar-setup-cvr" },
- { text: "Parameters", link: "/guides/shockosc/parameters" },
- ],
- },
- {
- text: "Self Hosting",
- items: [{ text: "Overview", link: "/guides/selfhosting/" }],
- },
- ],
- "/dev/": [
- {
- text: "Developer",
- items: [
- { text: "Overview", link: "/dev/" },
- { text: "Contributing", link: "/dev/contributing/" },
- {
- text: "Compile firmware",
- link: "/dev/contributing/compile-firmware",
- },
- { text: "Backend", link: "/dev/contributing/backend" },
- ],
- },
- ],
- "/hardware/": [
- {
- text: "Overview",
- link: "/hardware/",
- },
- {
- text: "Firmware",
- items: [{ text: "Status LED", link: "/hardware/firmware/status-led" }],
- },
- {
- text: "Shockers",
- items: [
- { text: "Overview", link: "/hardware/shockers/" },
- { text: "Caixianlin", link: "/hardware/shockers/caixianlin" },
- { text: "Petrainer", link: "/hardware/shockers/petrainer" },
- ],
- },
- {
- text: "Remotes",
- items: [{ text: "Identifying", link: "/hardware/remotes/identifying" }],
- },
- {
- text: "Boards",
- items: [
- { text: "Overview", link: "/hardware/boards/" },
- {
- text: "OpenShock Core v1",
- link: "/hardware/boards/openshock/core-v1",
- },
- {
- text: "OpenShock Core v2",
- link: "/hardware/boards/openshock/core-v2",
- },
- { text: "PiShock 2023", link: "/hardware/boards/pishock/2023-pishock" },
- {
- text: "PiShock Lite 2021Q3",
- link: "/hardware/boards/pishock/2021q3-lite",
- },
- {
- text: "PiShock Plus 2021Q1",
- link: "/hardware/boards/pishock/2021q1-plus",
- },
- {
- text: "Seeed XIAO ESP32S3",
- link: "/hardware/boards/seeed/xiao-esp32s3",
- },
- {
- text: "Wemos D1 mini ESP32",
- link: "/hardware/boards/wemos/d1-mini-esp32",
- },
- {
- text: "Wemos Lolin S2 mini",
- link: "/hardware/boards/wemos/lolin-s2-mini",
- },
- { text: "Wemos Lolin S3", link: "/hardware/boards/wemos/lolin-s3" },
- {
- text: "DFRobot Firebeetle",
- link: "/hardware/boards/dfr-firebeetle/dfr-firebeetle",
- },
- { text: "ESP32-S3 DORx", link: "/hardware/boards/china/esp32s3-dorx" },
- ],
- },
- {
- text: "Transmitter",
- items: [
- { text: "Overview", link: "/hardware/transmitter/" },
- { text: "Open Smart", link: "/hardware/transmitter/china/open-smart" },
- ],
- },
- ],
- "/vendors/": [
- {
- text: "Hardware",
- items: [
- { text: "Overview", link: "/vendors/hardware/" },
- { text: "Luc", link: "/vendors/hardware/luc" },
- { text: "Nullstalgia", link: "/vendors/hardware/nullstalgia" },
- { text: "Millkox", link: "/vendors/hardware/millkox" },
- { text: "Bosjesman", link: "/vendors/hardware/bosjesman" },
- { text: "SillyPupKit", link: "/vendors/hardware/sillypupkit" },
- { text: "NamelessNanashi", link: "/vendors/hardware/namelessnanashi" },
- { text: "Nerex", link: "/vendors/hardware/nerex" },
- { text: "Ebthing", link: "/vendors/hardware/ebthing" },
- { text: "Yunadex", link: "/vendors/hardware/yunadex" },
- { text: "MeguminVRC", link: "/vendors/hardware/meguminvrc" },
- ],
- },
- ],
- "/troubleshooting/": [
- {
- text: "Troubleshooting",
- items: [
- { text: "Hub", link: "/troubleshooting/hub" },
- { text: "ShockOsc", link: "/troubleshooting/shockosc" },
- { text: "Shocker pairing", link: "/troubleshooting/shocker-pairing" },
- ],
- },
- ],
-};
diff --git a/docs/css/custom.css b/docs/css/custom.css
deleted file mode 100644
index a6899535..00000000
--- a/docs/css/custom.css
+++ /dev/null
@@ -1,20 +0,0 @@
-:root {
- --md-primary-fg-color: #e14a6d;
- --md-primary-fg-color--light: #ffa5af;
- --md-primary-fg-color--dark: #9e1c3b;
-
- --md-accent-fg-color: #ffa5af;
- --md-accent-fg-color--transparent: rgba(255, 165, 175, 0.1);
-}
-
-.md-header {
- background-color: #6735A5;
-}
-
-.md-tabs {
- background-color: #6735A5;
-}
-
-.md-grid {
- max-width: 75rem;
-}
\ No newline at end of file
diff --git a/docs/hardware/remotes/identifying.md b/docs/hardware/remotes/identifying.md
deleted file mode 100644
index 5626ce81..00000000
--- a/docs/hardware/remotes/identifying.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-tags:
- - hardware
- - remote
- - buy
----
-
-# Identifying
-
-
-
diff --git a/lib/layout.shared.tsx b/lib/layout.shared.tsx
new file mode 100644
index 00000000..cfa7c439
--- /dev/null
+++ b/lib/layout.shared.tsx
@@ -0,0 +1,19 @@
+import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
+
+export function baseOptions(): BaseLayoutProps {
+ return {
+ githubUrl: 'https://github.com/OpenShock',
+ links: [
+ {
+ type: 'main',
+ text: 'Discord',
+ url: 'https://discord.gg/OpenShock',
+ external: true,
+ },
+ ],
+ nav: {
+ title: 'OpenShock Wiki',
+ url: '/',
+ },
+ };
+}
diff --git a/lib/source.ts b/lib/source.ts
new file mode 100644
index 00000000..18d9e350
--- /dev/null
+++ b/lib/source.ts
@@ -0,0 +1,7 @@
+import { docs } from '../.source';
+import { loader } from 'fumadocs-core/source';
+
+export const source = loader({
+ baseUrl: '/',
+ source: docs.toFumadocsSource(),
+});
diff --git a/mdx-components.tsx b/mdx-components.tsx
new file mode 100644
index 00000000..20beb4cd
--- /dev/null
+++ b/mdx-components.tsx
@@ -0,0 +1,9 @@
+import defaultMdxComponents from 'fumadocs-ui/mdx';
+import type { MDXComponents } from 'mdx/types';
+
+export function getMDXComponents(components?: MDXComponents): MDXComponents {
+ return {
+ ...defaultMdxComponents,
+ ...components,
+ };
+}
diff --git a/next-env.d.ts b/next-env.d.ts
new file mode 100644
index 00000000..40c3d680
--- /dev/null
+++ b/next-env.d.ts
@@ -0,0 +1,5 @@
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
diff --git a/next.config.mjs b/next.config.mjs
new file mode 100644
index 00000000..457dcf29
--- /dev/null
+++ b/next.config.mjs
@@ -0,0 +1,10 @@
+import { createMDX } from 'fumadocs-mdx/next';
+
+const withMDX = createMDX();
+
+/** @type {import('next').NextConfig} */
+const config = {
+ reactStrictMode: true,
+};
+
+export default withMDX(config);
diff --git a/package.json b/package.json
index 8adef345..d8b8e165 100644
--- a/package.json
+++ b/package.json
@@ -4,12 +4,27 @@
"version": "1.0.0",
"type": "module",
"scripts": {
- "dev": "vitepress dev docs",
- "build": "vitepress build docs",
- "preview": "vitepress preview docs"
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start"
+ },
+ "dependencies": {
+ "fumadocs-core": "^14.4.4",
+ "fumadocs-mdx": "^11.6.1",
+ "fumadocs-ui": "^15.6.1",
+ "next": "^14.2.5",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
},
"devDependencies": {
- "vitepress": "2.0.0-alpha.15"
+ "@tailwindcss/postcss": "^4.1.18",
+ "@types/mdx": "^2.0.13",
+ "@types/node": "^20.11.30",
+ "@types/react": "^18.2.79",
+ "@types/react-dom": "^18.2.25",
+ "postcss": "^8.5.6",
+ "tailwindcss": "^4.1.18",
+ "typescript": "^5.4.2"
},
"packageManager": "pnpm@10.26.1"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 06cf60a4..52a7b396 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,35 +7,56 @@ settings:
importers:
.:
+ dependencies:
+ fumadocs-core:
+ specifier: ^14.4.4
+ version: 14.7.7(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ fumadocs-mdx:
+ specifier: ^11.6.1
+ version: 11.10.1(fumadocs-core@14.7.7(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(vite@7.2.4(@types/node@20.19.30)(jiti@2.6.1)(lightningcss@1.30.2))
+ fumadocs-ui:
+ specifier: ^15.6.1
+ version: 15.8.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.18)
+ next:
+ specifier: ^14.2.5
+ version: 14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react:
+ specifier: ^18.2.0
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.3.1(react@18.3.1)
devDependencies:
- vitepress:
- specifier: 2.0.0-alpha.15
- version: 2.0.0-alpha.15(postcss@8.5.6)
+ '@tailwindcss/postcss':
+ specifier: ^4.1.18
+ version: 4.1.18
+ '@types/mdx':
+ specifier: ^2.0.13
+ version: 2.0.13
+ '@types/node':
+ specifier: ^20.11.30
+ version: 20.19.30
+ '@types/react':
+ specifier: ^18.2.79
+ version: 18.3.27
+ '@types/react-dom':
+ specifier: ^18.2.25
+ version: 18.3.7(@types/react@18.3.27)
+ postcss:
+ specifier: ^8.5.6
+ version: 8.5.6
+ tailwindcss:
+ specifier: ^4.1.18
+ version: 4.1.18
+ typescript:
+ specifier: ^5.4.2
+ version: 5.9.3
packages:
- '@babel/helper-string-parser@7.27.1':
- resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.28.5':
- resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.28.5':
- resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/types@7.28.5':
- resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
- engines: {node: '>=6.9.0'}
-
- '@docsearch/css@4.3.2':
- resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==}
-
- '@docsearch/js@4.3.2':
- resolution: {integrity: sha512-xdfpPXMgKRY9EW7U1vtY7gLKbLZFa9ed+t0Dacquq8zXBqAlH9HlUf0h4Mhxm0xatsVeMaIR2wr/u6g0GsZyQw==}
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
'@esbuild/aix-ppc64@0.25.12':
resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
@@ -193,17 +214,475 @@ packages:
cpu: [x64]
os: [win32]
- '@iconify-json/simple-icons@1.2.60':
- resolution: {integrity: sha512-KlwLBKCdMCqfySdkAA+jehdUx6VSjnj6lvzQKus7HjkPSQ6QP58d6xiptkIp0jd/Hw3PW2++nRuGvCvSYaF0Mg==}
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
+
+ '@floating-ui/dom@1.7.4':
+ resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
+
+ '@floating-ui/react-dom@2.1.6':
+ resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+
+ '@formatjs/intl-localematcher@0.5.10':
+ resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==}
- '@iconify/types@2.0.0':
- resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ '@formatjs/intl-localematcher@0.6.2':
+ resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
- '@rolldown/pluginutils@1.0.0-beta.50':
- resolution: {integrity: sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==}
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@next/env@14.2.35':
+ resolution: {integrity: sha512-DuhvCtj4t9Gwrx80dmz2F4t/zKQ4ktN8WrMwOuVzkJfBilwAwGr6v16M5eI8yCuZ63H9TTuEU09Iu2HqkzFPVQ==}
+
+ '@next/swc-darwin-arm64@14.2.33':
+ resolution: {integrity: sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@14.2.33':
+ resolution: {integrity: sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@next/swc-linux-arm64-gnu@14.2.33':
+ resolution: {integrity: sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-arm64-musl@14.2.33':
+ resolution: {integrity: sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-x64-gnu@14.2.33':
+ resolution: {integrity: sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-linux-x64-musl@14.2.33':
+ resolution: {integrity: sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-win32-arm64-msvc@14.2.33':
+ resolution: {integrity: sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@next/swc-win32-ia32-msvc@14.2.33':
+ resolution: {integrity: sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@next/swc-win32-x64-msvc@14.2.33':
+ resolution: {integrity: sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@orama/orama@2.1.1':
+ resolution: {integrity: sha512-euTV/2kya290SNkl5m8e/H1na8iDygk74nNtl4E0YZNyYIrEMwE1JwamoroMKGZw2Uz+in/8gH3m1+2YfP0j1w==}
+ engines: {node: '>= 16.0.0'}
+
+ '@orama/orama@3.1.18':
+ resolution: {integrity: sha512-a61ljmRVVyG5MC/698C8/FfFDw5a8LOIvyOLW5fztgUXqUpc1jOfQzOitSCbge657OgXXThmY3Tk8fpiDb4UcA==}
+ engines: {node: '>= 20.0.0'}
+
+ '@radix-ui/number@1.1.1':
+ resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
+
+ '@radix-ui/primitive@1.1.3':
+ resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==}
+
+ '@radix-ui/react-accordion@1.2.12':
+ resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-arrow@1.1.7':
+ resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collapsible@1.1.12':
+ resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.7':
+ resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.2':
+ resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context@1.1.2':
+ resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dialog@1.1.15':
+ resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-direction@1.1.1':
+ resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.11':
+ resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-focus-guards@1.1.3':
+ resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.7':
+ resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.1':
+ resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-navigation-menu@1.2.14':
+ resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popover@1.1.15':
+ resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.8':
+ resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.9':
+ resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.5':
+ resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.1.3':
+ resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.11':
+ resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.10':
+ resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.2.3':
+ resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-slot@1.2.4':
+ resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.13':
+ resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.1':
+ resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.2.2':
+ resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-effect-event@0.0.2':
+ resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.1':
+ resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.1':
+ resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.1':
+ resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.1':
+ resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.1':
+ resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.2.3':
+ resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.1':
+ resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
'@rollup/rollup-android-arm-eabi@4.53.3':
resolution: {integrity: sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==}
@@ -315,159 +794,246 @@ packages:
cpu: [x64]
os: [win32]
+ '@shikijs/core@2.5.0':
+ resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
+
'@shikijs/core@3.15.0':
resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==}
+ '@shikijs/core@3.21.0':
+ resolution: {integrity: sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==}
+
+ '@shikijs/engine-javascript@2.5.0':
+ resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
+
'@shikijs/engine-javascript@3.15.0':
resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==}
+ '@shikijs/engine-javascript@3.21.0':
+ resolution: {integrity: sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==}
+
+ '@shikijs/engine-oniguruma@2.5.0':
+ resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
+
'@shikijs/engine-oniguruma@3.15.0':
resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==}
+ '@shikijs/engine-oniguruma@3.21.0':
+ resolution: {integrity: sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==}
+
+ '@shikijs/langs@2.5.0':
+ resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
+
'@shikijs/langs@3.15.0':
resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==}
+ '@shikijs/langs@3.21.0':
+ resolution: {integrity: sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==}
+
+ '@shikijs/rehype@2.5.0':
+ resolution: {integrity: sha512-BO/QRsuQVdzQdoQLq//zcex8K6w57kD9zT8KhSs9kNBJFVDsxm6mTmi6OiRIxysZqhvVrEpY5Mh9IOv1NnjGFg==}
+
+ '@shikijs/rehype@3.21.0':
+ resolution: {integrity: sha512-fTQvwsZL67QdosMFdTgQ5SNjW3nxaPplRy//312hqOctRbIwviTV0nAbhv3NfnztHXvFli2zLYNKsTz/f9tbpQ==}
+
+ '@shikijs/themes@2.5.0':
+ resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
+
'@shikijs/themes@3.15.0':
resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==}
+ '@shikijs/themes@3.21.0':
+ resolution: {integrity: sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==}
+
+ '@shikijs/transformers@2.5.0':
+ resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==}
+
'@shikijs/transformers@3.15.0':
resolution: {integrity: sha512-Hmwip5ovvSkg+Kc41JTvSHHVfCYF+C8Cp1omb5AJj4Xvd+y9IXz2rKJwmFRGsuN0vpHxywcXJ1+Y4B9S7EG1/A==}
+ '@shikijs/types@2.5.0':
+ resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
+
'@shikijs/types@3.15.0':
resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==}
+ '@shikijs/types@3.21.0':
+ resolution: {integrity: sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==}
+
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
- '@types/estree@1.0.8':
- resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
- '@types/hast@3.0.4':
- resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
- '@types/linkify-it@5.0.0':
- resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+ '@swc/helpers@0.5.5':
+ resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
- '@types/markdown-it@14.1.2':
- resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
+ '@tailwindcss/node@4.1.18':
+ resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==}
- '@types/mdast@4.0.4':
- resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+ '@tailwindcss/oxide-android-arm64@4.1.18':
+ resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
- '@types/mdurl@2.0.0':
- resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+ '@tailwindcss/oxide-darwin-arm64@4.1.18':
+ resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
- '@types/unist@3.0.3':
- resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@tailwindcss/oxide-darwin-x64@4.1.18':
+ resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
- '@types/web-bluetooth@0.0.21':
- resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+ '@tailwindcss/oxide-freebsd-x64@4.1.18':
+ resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
- '@ungap/structured-clone@1.3.0':
- resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18':
+ resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
- '@vitejs/plugin-vue@6.0.2':
- resolution: {integrity: sha512-iHmwV3QcVGGvSC1BG5bZ4z6iwa1SOpAPWmnjOErd4Ske+lZua5K9TtAVdx0gMBClJ28DViCbSmZitjWZsWO3LA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- peerDependencies:
- vite: ^5.0.0 || ^6.0.0 || ^7.0.0
- vue: ^3.2.25
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.18':
+ resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- '@vue/compiler-core@3.5.25':
- resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==}
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.18':
+ resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- '@vue/compiler-dom@3.5.25':
- resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==}
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.18':
+ resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- '@vue/compiler-sfc@3.5.25':
- resolution: {integrity: sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==}
+ '@tailwindcss/oxide-linux-x64-musl@4.1.18':
+ resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
- '@vue/compiler-ssr@3.5.25':
- resolution: {integrity: sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==}
+ '@tailwindcss/oxide-wasm32-wasi@4.1.18':
+ resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.18':
+ resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
- '@vue/devtools-api@8.0.5':
- resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==}
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.18':
+ resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
- '@vue/devtools-kit@8.0.5':
- resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==}
+ '@tailwindcss/oxide@4.1.18':
+ resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==}
+ engines: {node: '>= 10'}
- '@vue/devtools-shared@8.0.5':
- resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==}
+ '@tailwindcss/postcss@4.1.18':
+ resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==}
- '@vue/reactivity@3.5.25':
- resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==}
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- '@vue/runtime-core@3.5.25':
- resolution: {integrity: sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==}
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
- '@vue/runtime-dom@3.5.25':
- resolution: {integrity: sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==}
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@vue/server-renderer@3.5.25':
- resolution: {integrity: sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==}
- peerDependencies:
- vue: 3.5.25
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
- '@vue/shared@3.5.25':
- resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==}
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- '@vueuse/core@14.0.0':
- resolution: {integrity: sha512-d6tKRWkZE8IQElX2aHBxXOMD478fHIYV+Dzm2y9Ag122ICBpNKtGICiXKOhWU3L1kKdttDD9dCMS4bGP3jhCTQ==}
- peerDependencies:
- vue: ^3.5.0
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
- '@vueuse/integrations@14.0.0':
- resolution: {integrity: sha512-5A0X7q9qyLtM3xyghq5nK/NEESf7cpcZlkQgXTMuW4JWiAMYxc1ImdhhGrk4negFBsq3ejvAlRmLdNrkcTzk1Q==}
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@20.19.30':
+ resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==}
+
+ '@types/prop-types@15.7.15':
+ resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
+
+ '@types/react-dom@18.3.7':
+ resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
peerDependencies:
- async-validator: ^4
- axios: ^1
- change-case: ^5
- drauu: ^0.4
- focus-trap: ^7
- fuse.js: ^7
- idb-keyval: ^6
- jwt-decode: ^4
- nprogress: ^0.2
- qrcode: ^1.5
- sortablejs: ^1
- universal-cookie: ^7 || ^8
- vue: ^3.5.0
- peerDependenciesMeta:
- async-validator:
- optional: true
- axios:
- optional: true
- change-case:
- optional: true
- drauu:
- optional: true
- focus-trap:
- optional: true
- fuse.js:
- optional: true
- idb-keyval:
- optional: true
- jwt-decode:
- optional: true
- nprogress:
- optional: true
- qrcode:
- optional: true
- sortablejs:
- optional: true
- universal-cookie:
- optional: true
+ '@types/react': ^18.0.0
- '@vueuse/metadata@14.0.0':
- resolution: {integrity: sha512-6yoGqbJcMldVCevkFiHDBTB1V5Hq+G/haPlGIuaFZHpXC0HADB0EN1ryQAAceiW+ryS3niUwvdFbGiqHqBrfVA==}
+ '@types/react@18.3.27':
+ resolution: {integrity: sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==}
- '@vueuse/shared@14.0.0':
- resolution: {integrity: sha512-mTCA0uczBgurRlwVaQHfG0Ja7UdGe4g9mwffiJmvLiTtp1G4AQyIjej6si/k8c8pUwTfVpNufck+23gXptPAkw==}
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
- vue: ^3.5.0
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-hidden@1.2.6:
+ resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
+ engines: {node: '>=10'}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
- birpc@2.8.0:
- resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==}
+ busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+
+ caniuse-lite@1.0.30001766:
+ resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -478,34 +1044,117 @@ packages:
character-entities-legacy@3.0.0:
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- copy-anything@4.0.5:
- resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==}
- engines: {node: '>=18'}
+ compute-scroll-into-view@3.1.1:
+ resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decode-named-character-reference@1.3.0:
+ resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+
+ enhanced-resolve@5.18.4:
+ resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==}
+ engines: {node: '>=10.13.0'}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
esbuild@0.25.12:
resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
engines: {node: '>=18'}
hasBin: true
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.5.0:
+ resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
@@ -516,76 +1165,479 @@ packages:
picomatch:
optional: true
- focus-trap@7.6.6:
- resolution: {integrity: sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==}
-
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ fumadocs-core@14.7.7:
+ resolution: {integrity: sha512-ZP2sFZki291se9R6/K959a6CDNqM+oQKejEygViSTQnkCQ8UWApRQHUZQS670sub8ysBFE8aGlgsnAs+n9HlyA==}
+ peerDependencies:
+ '@orama/tokenizers': 2.x.x
+ '@oramacloud/client': 1.x.x || 2.x.x
+ algoliasearch: 4.24.0
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ peerDependenciesMeta:
+ '@orama/tokenizers':
+ optional: true
+ '@oramacloud/client':
+ optional: true
+ algoliasearch:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ fumadocs-core@15.8.5:
+ resolution: {integrity: sha512-hyJtKGuB2J/5y7tDfI1EnGMKlNbSXM5N5cpwvgCY0DcBJwFMDG/GpSpaVRzh3aWy67pAYDZFIwdtbKXBa/q5bg==}
+ peerDependencies:
+ '@mixedbread/sdk': ^0.19.0
+ '@oramacloud/client': 1.x.x || 2.x.x
+ '@tanstack/react-router': 1.x.x
+ '@types/react': '*'
+ algoliasearch: 5.x.x
+ lucide-react: '*'
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ react-router: 7.x.x
+ waku: ^0.26.0
+ peerDependenciesMeta:
+ '@mixedbread/sdk':
+ optional: true
+ '@oramacloud/client':
+ optional: true
+ '@tanstack/react-router':
+ optional: true
+ '@types/react':
+ optional: true
+ algoliasearch:
+ optional: true
+ lucide-react:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ react-router:
+ optional: true
+ waku:
+ optional: true
+
+ fumadocs-mdx@11.10.1:
+ resolution: {integrity: sha512-WoEzzzoKncXl7PM++GRxEplAb73y3A4ow+QdTYybhVtoYXgJzvTzkLc5OIlNQm72Dv+OxSAx7uk11zTTOX9YMQ==}
+ hasBin: true
+ peerDependencies:
+ '@fumadocs/mdx-remote': ^1.4.0
+ fumadocs-core: ^14.0.0 || ^15.0.0
+ next: ^15.3.0
+ react: '*'
+ vite: 6.x.x || 7.x.x
+ peerDependenciesMeta:
+ '@fumadocs/mdx-remote':
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ vite:
+ optional: true
+
+ fumadocs-ui@15.8.5:
+ resolution: {integrity: sha512-9pyB+9rOOsrFnmmZ9xREp/OgVhyaSq2ocEpqTNbeQ7tlJ6JWbdFWfW0C9lRXprQEB6DJWUDtDxqKS5QXLH0EGA==}
+ peerDependencies:
+ '@types/react': '*'
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ tailwindcss: ^3.4.14 || ^4.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ next:
+ optional: true
+ tailwindcss:
+ optional: true
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
hast-util-to-html@9.0.5:
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
- hast-util-whitespace@3.0.0:
- resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
- hookable@5.5.3:
- resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
- htm@3.1.1:
- resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==}
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
- is-what@5.5.0:
- resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==}
- engines: {node: '>=18'}
+ image-size@1.2.1:
+ resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ image-size@2.0.2:
+ resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ jiti@2.6.1:
+ resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
+ hasBin: true
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: true
+
+ lightningcss-android-arm64@1.30.2:
+ resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ lightningcss-darwin-arm64@1.30.2:
+ resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.30.2:
+ resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.30.2:
+ resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.30.2:
+ resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.30.2:
+ resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.30.2:
+ resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.30.2:
+ resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.30.2:
+ resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.30.2:
+ resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.30.2:
+ resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ lru-cache@11.2.4:
+ resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==}
+ engines: {node: 20 || >=22}
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- mark.js@8.11.1:
- resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==}
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
mdast-util-to-hast@13.2.1:
resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
micromark-util-character@2.1.1:
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
micromark-util-encode@2.0.1:
resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
micromark-util-sanitize-uri@2.0.1:
resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
micromark-util-symbol@2.0.1:
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
micromark-util-types@2.0.2:
resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
- minisearch@7.2.0:
- resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==}
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
- mitt@3.0.1:
- resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ negotiator@1.0.0:
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
+ engines: {node: '>= 0.6'}
+
+ next-themes@0.4.6:
+ resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
+ peerDependencies:
+ react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ next@14.2.35:
+ resolution: {integrity: sha512-KhYd2Hjt/O1/1aZVX3dCwGXM1QmOV4eNM2UTacK5gipDdPN/oHHK/4oVGy7X8GMfPMsUTUEmGlsy0EY1YGAkig==}
+ engines: {node: '>=18.17.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ sass:
+ optional: true
+
+ npm-to-yarn@3.0.1:
+ resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
oniguruma-parser@0.12.1:
resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+ oniguruma-to-es@3.1.1:
+ resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
+
oniguruma-to-es@4.3.4:
resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==}
- perfect-debounce@2.0.0:
- resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==}
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ path-to-regexp@8.3.0:
+ resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==}
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -594,6 +1646,14 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
+ postcss-selector-parser@7.1.1:
+ resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
+ engines: {node: '>=4'}
+
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
postcss@8.5.6:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
@@ -601,46 +1661,172 @@ packages:
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
- regex-recursion@6.0.2:
- resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+ queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
- regex-utilities@2.3.0:
- resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
- regex@6.0.1:
- resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+ react-medium-image-zoom@5.4.0:
+ resolution: {integrity: sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- rollup@4.53.3:
- resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
+ react-remove-scroll@2.7.2:
+ resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- shiki@3.15.0:
- resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==}
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
- space-separated-tokens@2.0.2:
- resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
- speakingurl@14.0.1:
- resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
- engines: {node: '>=0.10.0'}
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+
+ rollup@4.53.3:
+ resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
+ scroll-into-view-if-needed@3.1.0:
+ resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
+
+ shiki@2.5.0:
+ resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
+
+ shiki@3.15.0:
+ resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==}
+
+ shiki@3.21.0:
+ resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
- superjson@2.2.5:
- resolution: {integrity: sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==}
- engines: {node: '>=16'}
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
+
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
+ styled-jsx@5.1.1:
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
- tabbable@6.3.0:
- resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==}
+ tailwind-merge@3.4.0:
+ resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==}
+
+ tailwindcss@4.1.18:
+ resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==}
+
+ tapable@2.3.0:
+ resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
+ engines: {node: '>=6'}
+
+ tinyexec@1.0.2:
+ resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ engines: {node: '>=18'}
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
@@ -649,9 +1835,29 @@ packages:
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
unist-util-is@6.0.1:
resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
@@ -664,6 +1870,29 @@ packages:
unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
vfile-message@4.0.3:
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
@@ -710,52 +1939,15 @@ packages:
yaml:
optional: true
- vitepress@2.0.0-alpha.15:
- resolution: {integrity: sha512-jhjSYd10Z6RZiKOa7jy0xMVf5NB5oSc/lS3bD/QoUc6V8PrvQR5JhC9104NEt6+oTGY/ftieVWxY9v7YI+1IjA==}
- hasBin: true
- peerDependencies:
- markdown-it-mathjax3: ^4
- oxc-minify: '*'
- postcss: ^8
- peerDependenciesMeta:
- markdown-it-mathjax3:
- optional: true
- oxc-minify:
- optional: true
- postcss:
- optional: true
-
- vue@3.5.25:
- resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ zod@4.3.6:
+ resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
snapshots:
- '@babel/helper-string-parser@7.27.1': {}
-
- '@babel/helper-validator-identifier@7.28.5': {}
-
- '@babel/parser@7.28.5':
- dependencies:
- '@babel/types': 7.28.5
-
- '@babel/types@7.28.5':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
-
- '@docsearch/css@4.3.2': {}
-
- '@docsearch/js@4.3.2':
- dependencies:
- htm: 3.1.1
+ '@alloc/quick-lru@5.2.0': {}
'@esbuild/aix-ppc64@0.25.12':
optional: true
@@ -835,15 +2027,468 @@ snapshots:
'@esbuild/win32-x64@0.25.12':
optional: true
- '@iconify-json/simple-icons@1.2.60':
+ '@floating-ui/core@1.7.3':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/dom@1.7.4':
+ dependencies:
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/react-dom@2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.7.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/utils@0.2.10': {}
+
+ '@formatjs/intl-localematcher@0.5.10':
dependencies:
- '@iconify/types': 2.0.0
+ tslib: 2.8.1
- '@iconify/types@2.0.0': {}
+ '@formatjs/intl-localematcher@0.6.2':
+ dependencies:
+ tslib: 2.8.1
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/sourcemap-codec@1.5.5': {}
- '@rolldown/pluginutils@1.0.0-beta.50': {}
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ acorn: 8.15.0
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.15.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@next/env@14.2.35': {}
+
+ '@next/swc-darwin-arm64@14.2.33':
+ optional: true
+
+ '@next/swc-darwin-x64@14.2.33':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@14.2.33':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@14.2.33':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@14.2.33':
+ optional: true
+
+ '@next/swc-linux-x64-musl@14.2.33':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@14.2.33':
+ optional: true
+
+ '@next/swc-win32-ia32-msvc@14.2.33':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@14.2.33':
+ optional: true
+
+ '@orama/orama@2.1.1': {}
+
+ '@orama/orama@3.1.18': {}
+
+ '@radix-ui/number@1.1.1': {}
+
+ '@radix-ui/primitive@1.1.3': {}
+
+ '@radix-ui/react-accordion@1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-collapsible@1.1.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-collection@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-context@1.1.2(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-dialog@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ aria-hidden: 1.2.6
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-direction@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-focus-guards@1.1.3(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-id@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-popover@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ aria-hidden: 1.2.6
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-popper@1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/rect': 1.1.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-portal@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-presence@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.1
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-slot@1.2.3(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-slot@1.2.4(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-tabs@1.1.13(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-previous@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/rect': 1.1.1
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-use-size@1.1.1(@types/react@18.3.27)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
+ '@types/react-dom': 18.3.7(@types/react@18.3.27)
+
+ '@radix-ui/rect@1.1.1': {}
'@rollup/rollup-android-arm-eabi@4.53.3':
optional: true
@@ -911,6 +2556,15 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.53.3':
optional: true
+ '@shikijs/core@2.5.0':
+ dependencies:
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
'@shikijs/core@3.15.0':
dependencies:
'@shikijs/types': 3.15.0
@@ -918,315 +2572,1280 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
+ '@shikijs/core@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 3.1.1
+
'@shikijs/engine-javascript@3.15.0':
dependencies:
'@shikijs/types': 3.15.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.4
- '@shikijs/engine-oniguruma@3.15.0':
+ '@shikijs/engine-javascript@3.21.0':
dependencies:
- '@shikijs/types': 3.15.0
+ '@shikijs/types': 3.21.0
'@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.4
- '@shikijs/langs@3.15.0':
+ '@shikijs/engine-oniguruma@2.5.0':
dependencies:
- '@shikijs/types': 3.15.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
- '@shikijs/themes@3.15.0':
+ '@shikijs/engine-oniguruma@3.15.0':
dependencies:
'@shikijs/types': 3.15.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/engine-oniguruma@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+
+ '@shikijs/langs@3.15.0':
+ dependencies:
+ '@shikijs/types': 3.15.0
+
+ '@shikijs/langs@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+
+ '@shikijs/rehype@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+ '@types/hast': 3.0.4
+ hast-util-to-string: 3.0.1
+ shiki: 2.5.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ '@shikijs/rehype@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@types/hast': 3.0.4
+ hast-util-to-string: 3.0.1
+ shiki: 3.21.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ '@shikijs/themes@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
+
+ '@shikijs/themes@3.15.0':
+ dependencies:
+ '@shikijs/types': 3.15.0
+
+ '@shikijs/themes@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+
+ '@shikijs/transformers@2.5.0':
+ dependencies:
+ '@shikijs/core': 2.5.0
+ '@shikijs/types': 2.5.0
'@shikijs/transformers@3.15.0':
dependencies:
'@shikijs/core': 3.15.0
'@shikijs/types': 3.15.0
+ '@shikijs/types@2.5.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
'@shikijs/types@3.15.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ '@shikijs/types@3.21.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
'@shikijs/vscode-textmate@10.0.2': {}
+ '@standard-schema/spec@1.1.0': {}
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/helpers@0.5.5':
+ dependencies:
+ '@swc/counter': 0.1.3
+ tslib: 2.8.1
+
+ '@tailwindcss/node@4.1.18':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.18.4
+ jiti: 2.6.1
+ lightningcss: 1.30.2
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.18
+
+ '@tailwindcss/oxide-android-arm64@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.18':
+ optional: true
+
+ '@tailwindcss/oxide@4.1.18':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.1.18
+ '@tailwindcss/oxide-darwin-arm64': 4.1.18
+ '@tailwindcss/oxide-darwin-x64': 4.1.18
+ '@tailwindcss/oxide-freebsd-x64': 4.1.18
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.18
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.18
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.18
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.18
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.18
+
+ '@tailwindcss/postcss@4.1.18':
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ '@tailwindcss/node': 4.1.18
+ '@tailwindcss/oxide': 4.1.18
+ postcss: 8.5.6
+ tailwindcss: 4.1.18
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.8
+
'@types/estree@1.0.8': {}
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
- '@types/linkify-it@5.0.0': {}
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdx@2.0.13': {}
- '@types/markdown-it@14.1.2':
+ '@types/ms@2.1.0': {}
+
+ '@types/node@20.19.30':
dependencies:
- '@types/linkify-it': 5.0.0
- '@types/mdurl': 2.0.0
+ undici-types: 6.21.0
- '@types/mdast@4.0.4':
+ '@types/prop-types@15.7.15': {}
+
+ '@types/react-dom@18.3.7(@types/react@18.3.27)':
dependencies:
- '@types/unist': 3.0.3
+ '@types/react': 18.3.27
+
+ '@types/react@18.3.27':
+ dependencies:
+ '@types/prop-types': 15.7.15
+ csstype: 3.2.3
- '@types/mdurl@2.0.0': {}
+ '@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
- '@types/web-bluetooth@0.0.21': {}
-
'@ungap/structured-clone@1.3.0': {}
- '@vitejs/plugin-vue@6.0.2(vite@7.2.4)(vue@3.5.25)':
+ acorn-jsx@5.3.2(acorn@8.15.0):
dependencies:
- '@rolldown/pluginutils': 1.0.0-beta.50
- vite: 7.2.4
- vue: 3.5.25
+ acorn: 8.15.0
+
+ acorn@8.15.0: {}
+
+ argparse@2.0.1: {}
- '@vue/compiler-core@3.5.25':
+ aria-hidden@1.2.6:
dependencies:
- '@babel/parser': 7.28.5
- '@vue/shared': 3.5.25
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.2.1
+ tslib: 2.8.1
+
+ astring@1.9.0: {}
+
+ bail@2.0.2: {}
+
+ busboy@1.6.0:
+ dependencies:
+ streamsearch: 1.1.0
+
+ caniuse-lite@1.0.30001766: {}
+
+ ccount@2.0.1: {}
+
+ character-entities-html4@2.1.0: {}
+
+ character-entities-legacy@3.0.0: {}
- '@vue/compiler-dom@3.5.25':
+ character-entities@2.0.2: {}
+
+ character-reference-invalid@2.0.1: {}
+
+ chokidar@4.0.3:
dependencies:
- '@vue/compiler-core': 3.5.25
- '@vue/shared': 3.5.25
+ readdirp: 4.1.2
- '@vue/compiler-sfc@3.5.25':
+ class-variance-authority@0.7.1:
dependencies:
- '@babel/parser': 7.28.5
- '@vue/compiler-core': 3.5.25
- '@vue/compiler-dom': 3.5.25
- '@vue/compiler-ssr': 3.5.25
- '@vue/shared': 3.5.25
- estree-walker: 2.0.2
- magic-string: 0.30.21
- postcss: 8.5.6
- source-map-js: 1.2.1
+ clsx: 2.1.1
+
+ client-only@0.0.1: {}
+
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
+ comma-separated-tokens@2.0.3: {}
+
+ compute-scroll-into-view@3.1.1: {}
+
+ cssesc@3.0.0: {}
+
+ csstype@3.2.3: {}
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ decode-named-character-reference@1.3.0:
+ dependencies:
+ character-entities: 2.0.2
+
+ dequal@2.0.3: {}
+
+ detect-libc@2.1.2: {}
+
+ detect-node-es@1.1.0: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ emoji-regex-xs@1.0.0: {}
+
+ enhanced-resolve@5.18.4:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.0
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.15.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
+ escape-string-regexp@5.0.0: {}
+
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
+
+ estree-util-value-to-estree@3.5.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ extend@3.0.2: {}
- '@vue/compiler-ssr@3.5.25':
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+
+ fsevents@2.3.3:
+ optional: true
+
+ fumadocs-core@14.7.7(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@formatjs/intl-localematcher': 0.5.10
+ '@orama/orama': 2.1.1
+ '@shikijs/rehype': 2.5.0
+ '@shikijs/transformers': 2.5.0
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ image-size: 1.2.1
+ negotiator: 1.0.0
+ react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1)
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 2.5.0
+ unist-util-visit: 5.0.0
+ optionalDependencies:
+ next: 14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - supports-color
+
+ fumadocs-core@15.8.5(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@formatjs/intl-localematcher': 0.6.2
+ '@orama/orama': 3.1.18
+ '@shikijs/rehype': 3.21.0
+ '@shikijs/transformers': 3.15.0
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ image-size: 2.0.2
+ negotiator: 1.0.0
+ npm-to-yarn: 3.0.1
+ path-to-regexp: 8.3.0
+ react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1)
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ remark-rehype: 11.1.2
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 3.15.0
+ unist-util-visit: 5.0.0
+ optionalDependencies:
+ '@types/react': 18.3.27
+ next: 14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ fumadocs-mdx@11.10.1(fumadocs-core@14.7.7(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(vite@7.2.4(@types/node@20.19.30)(jiti@2.6.1)(lightningcss@1.30.2)):
+ dependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@standard-schema/spec': 1.1.0
+ chokidar: 4.0.3
+ esbuild: 0.25.12
+ estree-util-value-to-estree: 3.5.0
+ fumadocs-core: 14.7.7(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ js-yaml: 4.1.1
+ lru-cache: 11.2.4
+ picocolors: 1.1.1
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.15
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ zod: 4.3.6
+ optionalDependencies:
+ next: 14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ vite: 7.2.4(@types/node@20.19.30)(jiti@2.6.1)(lightningcss@1.30.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ fumadocs-ui@15.8.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.18):
+ dependencies:
+ '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.2.4(@types/react@18.3.27)(react@18.3.1)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ class-variance-authority: 0.7.1
+ fumadocs-core: 15.8.5(@types/react@18.3.27)(next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ lodash.merge: 4.6.2
+ next-themes: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ postcss-selector-parser: 7.1.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-medium-image-zoom: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ scroll-into-view-if-needed: 3.1.0
+ tailwind-merge: 3.4.0
+ optionalDependencies:
+ '@types/react': 18.3.27
+ next: 14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ tailwindcss: 4.1.18
+ transitivePeerDependencies:
+ - '@mixedbread/sdk'
+ - '@oramacloud/client'
+ - '@tanstack/react-router'
+ - '@types/react-dom'
+ - algoliasearch
+ - lucide-react
+ - react-router
+ - supports-color
+ - waku
+
+ get-nonce@1.0.1: {}
+
+ github-slugger@2.0.0: {}
+
+ graceful-fs@4.2.11: {}
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ html-void-elements@3.0.0: {}
+
+ image-size@1.2.1:
+ dependencies:
+ queue: 6.0.2
+
+ image-size@2.0.2: {}
+
+ inherits@2.0.4: {}
+
+ inline-style-parser@0.2.7: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
+ is-decimal@2.0.1: {}
+
+ is-hexadecimal@2.0.1: {}
+
+ is-plain-obj@4.1.0: {}
+
+ jiti@2.6.1: {}
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.1.1:
+ dependencies:
+ argparse: 2.0.1
+
+ lightningcss-android-arm64@1.30.2:
+ optional: true
+
+ lightningcss-darwin-arm64@1.30.2:
+ optional: true
+
+ lightningcss-darwin-x64@1.30.2:
+ optional: true
+
+ lightningcss-freebsd-x64@1.30.2:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.30.2:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.30.2:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.30.2:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.30.2:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.30.2:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.30.2:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.30.2:
+ optional: true
+
+ lightningcss@1.30.2:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.30.2
+ lightningcss-darwin-arm64: 1.30.2
+ lightningcss-darwin-x64: 1.30.2
+ lightningcss-freebsd-x64: 1.30.2
+ lightningcss-linux-arm-gnueabihf: 1.30.2
+ lightningcss-linux-arm64-gnu: 1.30.2
+ lightningcss-linux-arm64-musl: 1.30.2
+ lightningcss-linux-x64-gnu: 1.30.2
+ lightningcss-linux-x64-musl: 1.30.2
+ lightningcss-win32-arm64-msvc: 1.30.2
+ lightningcss-win32-x64-msvc: 1.30.2
+
+ lodash.merge@4.6.2: {}
+
+ longest-streak@3.1.0: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lru-cache@11.2.4: {}
+
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@3.0.4: {}
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.1
+
+ mdast-util-to-hast@13.2.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
dependencies:
- '@vue/compiler-dom': 3.5.25
- '@vue/shared': 3.5.25
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- '@vue/devtools-api@8.0.5':
+ micromark-util-chunked@2.0.1:
dependencies:
- '@vue/devtools-kit': 8.0.5
+ micromark-util-symbol: 2.0.1
- '@vue/devtools-kit@8.0.5':
+ micromark-util-classify-character@2.0.1:
dependencies:
- '@vue/devtools-shared': 8.0.5
- birpc: 2.8.0
- hookable: 5.5.3
- mitt: 3.0.1
- perfect-debounce: 2.0.0
- speakingurl: 14.0.1
- superjson: 2.2.5
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- '@vue/devtools-shared@8.0.5':
+ micromark-util-combine-extensions@2.0.1:
dependencies:
- rfdc: 1.4.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
- '@vue/reactivity@3.5.25':
+ micromark-util-decode-numeric-character-reference@2.0.2:
dependencies:
- '@vue/shared': 3.5.25
+ micromark-util-symbol: 2.0.1
- '@vue/runtime-core@3.5.25':
+ micromark-util-decode-string@2.0.1:
dependencies:
- '@vue/reactivity': 3.5.25
- '@vue/shared': 3.5.25
+ decode-named-character-reference: 1.3.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
- '@vue/runtime-dom@3.5.25':
- dependencies:
- '@vue/reactivity': 3.5.25
- '@vue/runtime-core': 3.5.25
- '@vue/shared': 3.5.25
- csstype: 3.2.3
+ micromark-util-encode@2.0.1: {}
- '@vue/server-renderer@3.5.25(vue@3.5.25)':
+ micromark-util-events-to-acorn@2.0.3:
dependencies:
- '@vue/compiler-ssr': 3.5.25
- '@vue/shared': 3.5.25
- vue: 3.5.25
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
- '@vue/shared@3.5.25': {}
+ micromark-util-html-tag-name@2.0.1: {}
- '@vueuse/core@14.0.0(vue@3.5.25)':
+ micromark-util-normalize-identifier@2.0.1:
dependencies:
- '@types/web-bluetooth': 0.0.21
- '@vueuse/metadata': 14.0.0
- '@vueuse/shared': 14.0.0(vue@3.5.25)
- vue: 3.5.25
+ micromark-util-symbol: 2.0.1
- '@vueuse/integrations@14.0.0(focus-trap@7.6.6)(vue@3.5.25)':
+ micromark-util-resolve-all@2.0.1:
dependencies:
- '@vueuse/core': 14.0.0(vue@3.5.25)
- '@vueuse/shared': 14.0.0(vue@3.5.25)
- vue: 3.5.25
- optionalDependencies:
- focus-trap: 7.6.6
-
- '@vueuse/metadata@14.0.0': {}
+ micromark-util-types: 2.0.2
- '@vueuse/shared@14.0.0(vue@3.5.25)':
+ micromark-util-sanitize-uri@2.0.1:
dependencies:
- vue: 3.5.25
-
- birpc@2.8.0: {}
-
- ccount@2.0.1: {}
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
- character-entities-html4@2.1.0: {}
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- character-entities-legacy@3.0.0: {}
+ micromark-util-symbol@2.0.1: {}
- comma-separated-tokens@2.0.3: {}
+ micromark-util-types@2.0.2: {}
- copy-anything@4.0.5:
+ micromark@4.0.2:
dependencies:
- is-what: 5.5.0
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ decode-named-character-reference: 1.3.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
- csstype@3.2.3: {}
+ ms@2.1.3: {}
- dequal@2.0.3: {}
+ nanoid@3.3.11: {}
- devlop@1.1.0:
- dependencies:
- dequal: 2.0.3
+ negotiator@1.0.0: {}
- entities@4.5.0: {}
+ next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- esbuild@0.25.12:
+ next@14.2.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@next/env': 14.2.35
+ '@swc/helpers': 0.5.5
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001766
+ graceful-fs: 4.2.11
+ postcss: 8.4.31
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.12
- '@esbuild/android-arm': 0.25.12
- '@esbuild/android-arm64': 0.25.12
- '@esbuild/android-x64': 0.25.12
- '@esbuild/darwin-arm64': 0.25.12
- '@esbuild/darwin-x64': 0.25.12
- '@esbuild/freebsd-arm64': 0.25.12
- '@esbuild/freebsd-x64': 0.25.12
- '@esbuild/linux-arm': 0.25.12
- '@esbuild/linux-arm64': 0.25.12
- '@esbuild/linux-ia32': 0.25.12
- '@esbuild/linux-loong64': 0.25.12
- '@esbuild/linux-mips64el': 0.25.12
- '@esbuild/linux-ppc64': 0.25.12
- '@esbuild/linux-riscv64': 0.25.12
- '@esbuild/linux-s390x': 0.25.12
- '@esbuild/linux-x64': 0.25.12
- '@esbuild/netbsd-arm64': 0.25.12
- '@esbuild/netbsd-x64': 0.25.12
- '@esbuild/openbsd-arm64': 0.25.12
- '@esbuild/openbsd-x64': 0.25.12
- '@esbuild/openharmony-arm64': 0.25.12
- '@esbuild/sunos-x64': 0.25.12
- '@esbuild/win32-arm64': 0.25.12
- '@esbuild/win32-ia32': 0.25.12
- '@esbuild/win32-x64': 0.25.12
+ '@next/swc-darwin-arm64': 14.2.33
+ '@next/swc-darwin-x64': 14.2.33
+ '@next/swc-linux-arm64-gnu': 14.2.33
+ '@next/swc-linux-arm64-musl': 14.2.33
+ '@next/swc-linux-x64-gnu': 14.2.33
+ '@next/swc-linux-x64-musl': 14.2.33
+ '@next/swc-win32-arm64-msvc': 14.2.33
+ '@next/swc-win32-ia32-msvc': 14.2.33
+ '@next/swc-win32-x64-msvc': 14.2.33
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
- estree-walker@2.0.2: {}
+ npm-to-yarn@3.0.1: {}
- fdir@6.5.0(picomatch@4.0.3):
- optionalDependencies:
- picomatch: 4.0.3
+ oniguruma-parser@0.12.1: {}
- focus-trap@7.6.6:
+ oniguruma-to-es@3.1.1:
dependencies:
- tabbable: 6.3.0
-
- fsevents@2.3.3:
- optional: true
+ emoji-regex-xs: 1.0.0
+ regex: 6.0.1
+ regex-recursion: 6.0.2
- hast-util-to-html@9.0.5:
+ oniguruma-to-es@4.3.4:
dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.3
- ccount: 2.0.1
- comma-separated-tokens: 2.0.3
- hast-util-whitespace: 3.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.2.1
- property-information: 7.1.0
- space-separated-tokens: 2.0.2
- stringify-entities: 4.0.4
- zwitch: 2.0.4
+ oniguruma-parser: 0.12.1
+ regex: 6.0.1
+ regex-recursion: 6.0.2
- hast-util-whitespace@3.0.0:
+ parse-entities@4.0.2:
dependencies:
- '@types/hast': 3.0.4
-
- hookable@5.5.3: {}
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.3.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
- htm@3.1.1: {}
+ path-to-regexp@8.3.0: {}
- html-void-elements@3.0.0: {}
+ picocolors@1.1.1: {}
- is-what@5.5.0: {}
+ picomatch@4.0.3: {}
- magic-string@0.30.21:
+ postcss-selector-parser@7.1.1:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
- mark.js@8.11.1: {}
-
- mdast-util-to-hast@13.2.1:
+ postcss@8.4.31:
dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.4
- '@ungap/structured-clone': 1.3.0
- devlop: 1.1.0
- micromark-util-sanitize-uri: 2.0.1
- trim-lines: 3.0.1
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.3
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
- micromark-util-character@2.1.1:
+ postcss@8.5.6:
dependencies:
- micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
- micromark-util-encode@2.0.1: {}
+ property-information@7.1.0: {}
- micromark-util-sanitize-uri@2.0.1:
+ queue@6.0.2:
dependencies:
- micromark-util-character: 2.1.1
- micromark-util-encode: 2.0.1
- micromark-util-symbol: 2.0.1
-
- micromark-util-symbol@2.0.1: {}
-
- micromark-util-types@2.0.2: {}
+ inherits: 2.0.4
- minisearch@7.2.0: {}
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
- mitt@3.0.1: {}
+ react-medium-image-zoom@5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
- nanoid@3.3.11: {}
+ react-remove-scroll-bar@2.3.8(@types/react@18.3.27)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.3(@types/react@18.3.27)(react@18.3.1)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.27
- oniguruma-parser@0.12.1: {}
+ react-remove-scroll@2.7.2(@types/react@18.3.27)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-remove-scroll-bar: 2.3.8(@types/react@18.3.27)(react@18.3.1)
+ react-style-singleton: 2.2.3(@types/react@18.3.27)(react@18.3.1)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@18.3.27)(react@18.3.1)
+ use-sidecar: 1.1.3(@types/react@18.3.27)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.27
- oniguruma-to-es@4.3.4:
+ react-style-singleton@2.2.3(@types/react@18.3.27)(react@18.3.1):
dependencies:
- oniguruma-parser: 0.12.1
- regex: 6.0.1
- regex-recursion: 6.0.2
+ get-nonce: 1.0.1
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.27
- perfect-debounce@2.0.0: {}
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
- picocolors@1.1.1: {}
+ readdirp@4.1.2: {}
- picomatch@4.0.3: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
- postcss@8.5.6:
+ recma-jsx@1.0.1(acorn@8.15.0):
dependencies:
- nanoid: 3.3.11
- picocolors: 1.1.1
- source-map-js: 1.2.1
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
- property-information@7.1.0: {}
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
regex-recursion@6.0.2:
dependencies:
@@ -1238,7 +3857,63 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
- rfdc@1.4.1: {}
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
+
+ remark@15.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
rollup@4.53.3:
dependencies:
@@ -1267,6 +3942,26 @@ snapshots:
'@rollup/rollup-win32-x64-gnu': 4.53.3
'@rollup/rollup-win32-x64-msvc': 4.53.3
fsevents: 2.3.3
+ optional: true
+
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
+ scroll-into-view-if-needed@3.1.0:
+ dependencies:
+ compute-scroll-into-view: 3.1.1
+
+ shiki@2.5.0:
+ dependencies:
+ '@shikijs/core': 2.5.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/langs': 2.5.0
+ '@shikijs/themes': 2.5.0
+ '@shikijs/types': 2.5.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
shiki@3.15.0:
dependencies:
@@ -1279,22 +3974,50 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ shiki@3.21.0:
+ dependencies:
+ '@shikijs/core': 3.21.0
+ '@shikijs/engine-javascript': 3.21.0
+ '@shikijs/engine-oniguruma': 3.21.0
+ '@shikijs/langs': 3.21.0
+ '@shikijs/themes': 3.21.0
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
source-map-js@1.2.1: {}
+ source-map@0.7.6: {}
+
space-separated-tokens@2.0.2: {}
- speakingurl@14.0.1: {}
+ streamsearch@1.1.0: {}
stringify-entities@4.0.4:
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- superjson@2.2.5:
+ style-to-js@1.1.21:
+ dependencies:
+ style-to-object: 1.0.14
+
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
+ styled-jsx@5.1.1(react@18.3.1):
dependencies:
- copy-anything: 4.0.5
+ client-only: 0.0.1
+ react: 18.3.1
- tabbable@6.3.0: {}
+ tailwind-merge@3.4.0: {}
+
+ tailwindcss@4.1.18: {}
+
+ tapable@2.3.0: {}
+
+ tinyexec@1.0.2: {}
tinyglobby@0.2.15:
dependencies:
@@ -1303,10 +4026,32 @@ snapshots:
trim-lines@3.0.1: {}
+ trough@2.2.0: {}
+
+ tslib@2.8.1: {}
+
+ typescript@5.9.3: {}
+
+ undici-types@6.21.0: {}
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
unist-util-is@6.0.1:
dependencies:
'@types/unist': 3.0.3
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
unist-util-position@5.0.0:
dependencies:
'@types/unist': 3.0.3
@@ -1326,6 +4071,23 @@ snapshots:
unist-util-is: 6.0.1
unist-util-visit-parents: 6.0.2
+ use-callback-ref@1.3.3(@types/react@18.3.27)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ use-sidecar@1.1.3(@types/react@18.3.27)(react@18.3.1):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.27
+
+ util-deprecate@1.0.2: {}
+
vfile-message@4.0.3:
dependencies:
'@types/unist': 3.0.3
@@ -1336,7 +4098,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite@7.2.4:
+ vite@7.2.4(@types/node@20.19.30)(jiti@2.6.1)(lightningcss@1.30.2):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3)
@@ -1345,61 +4107,12 @@ snapshots:
rollup: 4.53.3
tinyglobby: 0.2.15
optionalDependencies:
+ '@types/node': 20.19.30
fsevents: 2.3.3
+ jiti: 2.6.1
+ lightningcss: 1.30.2
+ optional: true
- vitepress@2.0.0-alpha.15(postcss@8.5.6):
- dependencies:
- '@docsearch/css': 4.3.2
- '@docsearch/js': 4.3.2
- '@iconify-json/simple-icons': 1.2.60
- '@shikijs/core': 3.15.0
- '@shikijs/transformers': 3.15.0
- '@shikijs/types': 3.15.0
- '@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 6.0.2(vite@7.2.4)(vue@3.5.25)
- '@vue/devtools-api': 8.0.5
- '@vue/shared': 3.5.25
- '@vueuse/core': 14.0.0(vue@3.5.25)
- '@vueuse/integrations': 14.0.0(focus-trap@7.6.6)(vue@3.5.25)
- focus-trap: 7.6.6
- mark.js: 8.11.1
- minisearch: 7.2.0
- shiki: 3.15.0
- vite: 7.2.4
- vue: 3.5.25
- optionalDependencies:
- postcss: 8.5.6
- transitivePeerDependencies:
- - '@types/node'
- - async-validator
- - axios
- - change-case
- - drauu
- - fuse.js
- - idb-keyval
- - jiti
- - jwt-decode
- - less
- - lightningcss
- - nprogress
- - qrcode
- - sass
- - sass-embedded
- - sortablejs
- - stylus
- - sugarss
- - terser
- - tsx
- - typescript
- - universal-cookie
- - yaml
-
- vue@3.5.25:
- dependencies:
- '@vue/compiler-dom': 3.5.25
- '@vue/compiler-sfc': 3.5.25
- '@vue/runtime-dom': 3.5.25
- '@vue/server-renderer': 3.5.25(vue@3.5.25)
- '@vue/shared': 3.5.25
+ zod@4.3.6: {}
zwitch@2.0.4: {}
diff --git a/postcss.config.mjs b/postcss.config.mjs
new file mode 100644
index 00000000..a34a3d56
--- /dev/null
+++ b/postcss.config.mjs
@@ -0,0 +1,5 @@
+export default {
+ plugins: {
+ '@tailwindcss/postcss': {},
+ },
+};
diff --git a/docs/public/branding/Icon.ico b/public/branding/Icon.ico
similarity index 100%
rename from docs/public/branding/Icon.ico
rename to public/branding/Icon.ico
diff --git a/docs/public/branding/Icon.svg b/public/branding/Icon.svg
similarity index 100%
rename from docs/public/branding/Icon.svg
rename to public/branding/Icon.svg
diff --git a/docs/public/branding/Icon128.png b/public/branding/Icon128.png
similarity index 100%
rename from docs/public/branding/Icon128.png
rename to public/branding/Icon128.png
diff --git a/docs/public/branding/Icon16.png b/public/branding/Icon16.png
similarity index 100%
rename from docs/public/branding/Icon16.png
rename to public/branding/Icon16.png
diff --git a/docs/public/branding/Icon256.png b/public/branding/Icon256.png
similarity index 100%
rename from docs/public/branding/Icon256.png
rename to public/branding/Icon256.png
diff --git a/docs/public/branding/Icon32.png b/public/branding/Icon32.png
similarity index 100%
rename from docs/public/branding/Icon32.png
rename to public/branding/Icon32.png
diff --git a/docs/public/branding/Icon400.png b/public/branding/Icon400.png
similarity index 100%
rename from docs/public/branding/Icon400.png
rename to public/branding/Icon400.png
diff --git a/docs/public/branding/Icon48.png b/public/branding/Icon48.png
similarity index 100%
rename from docs/public/branding/Icon48.png
rename to public/branding/Icon48.png
diff --git a/docs/public/branding/Icon512.png b/public/branding/Icon512.png
similarity index 100%
rename from docs/public/branding/Icon512.png
rename to public/branding/Icon512.png
diff --git a/docs/public/branding/Icon64.png b/public/branding/Icon64.png
similarity index 100%
rename from docs/public/branding/Icon64.png
rename to public/branding/Icon64.png
diff --git a/docs/public/branding/Icon8.png b/public/branding/Icon8.png
similarity index 100%
rename from docs/public/branding/Icon8.png
rename to public/branding/Icon8.png
diff --git a/docs/public/branding/IconLoadingSpin.svg b/public/branding/IconLoadingSpin.svg
similarity index 100%
rename from docs/public/branding/IconLoadingSpin.svg
rename to public/branding/IconLoadingSpin.svg
diff --git a/docs/public/branding/IconSlowSpin.svg b/public/branding/IconSlowSpin.svg
similarity index 100%
rename from docs/public/branding/IconSlowSpin.svg
rename to public/branding/IconSlowSpin.svg
diff --git a/docs/public/branding/InkscapeProject.svg b/public/branding/InkscapeProject.svg
similarity index 100%
rename from docs/public/branding/InkscapeProject.svg
rename to public/branding/InkscapeProject.svg
diff --git a/docs/public/branding/Logo.svg b/public/branding/Logo.svg
similarity index 100%
rename from docs/public/branding/Logo.svg
rename to public/branding/Logo.svg
diff --git a/docs/public/branding/Logo128.png b/public/branding/Logo128.png
similarity index 100%
rename from docs/public/branding/Logo128.png
rename to public/branding/Logo128.png
diff --git a/docs/public/branding/Logo16.png b/public/branding/Logo16.png
similarity index 100%
rename from docs/public/branding/Logo16.png
rename to public/branding/Logo16.png
diff --git a/docs/public/branding/Logo256.png b/public/branding/Logo256.png
similarity index 100%
rename from docs/public/branding/Logo256.png
rename to public/branding/Logo256.png
diff --git a/docs/public/branding/Logo32.png b/public/branding/Logo32.png
similarity index 100%
rename from docs/public/branding/Logo32.png
rename to public/branding/Logo32.png
diff --git a/docs/public/branding/Logo512.png b/public/branding/Logo512.png
similarity index 100%
rename from docs/public/branding/Logo512.png
rename to public/branding/Logo512.png
diff --git a/docs/public/branding/Logo64.png b/public/branding/Logo64.png
similarity index 100%
rename from docs/public/branding/Logo64.png
rename to public/branding/Logo64.png
diff --git a/docs/public/branding/Logo8.png b/public/branding/Logo8.png
similarity index 100%
rename from docs/public/branding/Logo8.png
rename to public/branding/Logo8.png
diff --git a/docs/public/branding/LogoBakedFont.svg b/public/branding/LogoBakedFont.svg
similarity index 100%
rename from docs/public/branding/LogoBakedFont.svg
rename to public/branding/LogoBakedFont.svg
diff --git a/docs/static/boards/dfrobot-firebeetle/firebeetle.jpg b/public/static/boards/dfrobot-firebeetle/firebeetle.jpg
similarity index 100%
rename from docs/static/boards/dfrobot-firebeetle/firebeetle.jpg
rename to public/static/boards/dfrobot-firebeetle/firebeetle.jpg
diff --git a/docs/static/boards/dorx/dorx-1.jpg b/public/static/boards/dorx/dorx-1.jpg
similarity index 100%
rename from docs/static/boards/dorx/dorx-1.jpg
rename to public/static/boards/dorx/dorx-1.jpg
diff --git a/docs/static/boards/dorx/dorx-2.jpg b/public/static/boards/dorx/dorx-2.jpg
similarity index 100%
rename from docs/static/boards/dorx/dorx-2.jpg
rename to public/static/boards/dorx/dorx-2.jpg
diff --git a/docs/static/boards/dorx/dorx-3.jpg b/public/static/boards/dorx/dorx-3.jpg
similarity index 100%
rename from docs/static/boards/dorx/dorx-3.jpg
rename to public/static/boards/dorx/dorx-3.jpg
diff --git a/docs/static/boards/openshock-core-v1/case-bottom-null.jpg b/public/static/boards/openshock-core-v1/case-bottom-null.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/case-bottom-null.jpg
rename to public/static/boards/openshock-core-v1/case-bottom-null.jpg
diff --git a/docs/static/boards/openshock-core-v1/case-front-top.jpg b/public/static/boards/openshock-core-v1/case-front-top.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/case-front-top.jpg
rename to public/static/boards/openshock-core-v1/case-front-top.jpg
diff --git a/docs/static/boards/openshock-core-v1/case-name-side.jpg b/public/static/boards/openshock-core-v1/case-name-side.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/case-name-side.jpg
rename to public/static/boards/openshock-core-v1/case-name-side.jpg
diff --git a/docs/static/boards/openshock-core-v1/case-ports.jpg b/public/static/boards/openshock-core-v1/case-ports.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/case-ports.jpg
rename to public/static/boards/openshock-core-v1/case-ports.jpg
diff --git a/docs/static/boards/openshock-core-v1/pcb-back.jpg b/public/static/boards/openshock-core-v1/pcb-back.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/pcb-back.jpg
rename to public/static/boards/openshock-core-v1/pcb-back.jpg
diff --git a/docs/static/boards/openshock-core-v1/pcb-front.jpg b/public/static/boards/openshock-core-v1/pcb-front.jpg
similarity index 100%
rename from docs/static/boards/openshock-core-v1/pcb-front.jpg
rename to public/static/boards/openshock-core-v1/pcb-front.jpg
diff --git a/docs/static/boards/openshock-core-v2/0/case_front.webp b/public/static/boards/openshock-core-v2/0/case_front.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/case_front.webp
rename to public/static/boards/openshock-core-v2/0/case_front.webp
diff --git a/docs/static/boards/openshock-core-v2/0/case_side.webp b/public/static/boards/openshock-core-v2/0/case_side.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/case_side.webp
rename to public/static/boards/openshock-core-v2/0/case_side.webp
diff --git a/docs/static/boards/openshock-core-v2/0/case_side2.webp b/public/static/boards/openshock-core-v2/0/case_side2.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/case_side2.webp
rename to public/static/boards/openshock-core-v2/0/case_side2.webp
diff --git a/docs/static/boards/openshock-core-v2/0/pcb_back.webp b/public/static/boards/openshock-core-v2/0/pcb_back.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/pcb_back.webp
rename to public/static/boards/openshock-core-v2/0/pcb_back.webp
diff --git a/docs/static/boards/openshock-core-v2/0/pcb_front.webp b/public/static/boards/openshock-core-v2/0/pcb_front.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/pcb_front.webp
rename to public/static/boards/openshock-core-v2/0/pcb_front.webp
diff --git a/docs/static/boards/openshock-core-v2/0/pcb_front_incase.webp b/public/static/boards/openshock-core-v2/0/pcb_front_incase.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/0/pcb_front_incase.webp
rename to public/static/boards/openshock-core-v2/0/pcb_front_incase.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_back.webp b/public/static/boards/openshock-core-v2/2L/pcb_back.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_back.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_back.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_case.webp b/public/static/boards/openshock-core-v2/2L/pcb_case.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_case.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_case.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_front.webp b/public/static/boards/openshock-core-v2/2L/pcb_front.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_front.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_front.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_green_back.webp b/public/static/boards/openshock-core-v2/2L/pcb_green_back.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_green_back.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_green_back.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_green_front.webp b/public/static/boards/openshock-core-v2/2L/pcb_green_front.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_green_front.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_green_front.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_purple_back.webp b/public/static/boards/openshock-core-v2/2L/pcb_purple_back.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_purple_back.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_purple_back.webp
diff --git a/docs/static/boards/openshock-core-v2/2L/pcb_purple_front.webp b/public/static/boards/openshock-core-v2/2L/pcb_purple_front.webp
similarity index 100%
rename from docs/static/boards/openshock-core-v2/2L/pcb_purple_front.webp
rename to public/static/boards/openshock-core-v2/2L/pcb_purple_front.webp
diff --git a/docs/static/boards/pishock-custom-v1/case-back.jpg b/public/static/boards/pishock-custom-v1/case-back.jpg
similarity index 100%
rename from docs/static/boards/pishock-custom-v1/case-back.jpg
rename to public/static/boards/pishock-custom-v1/case-back.jpg
diff --git a/docs/static/boards/pishock-custom-v1/case.jpg b/public/static/boards/pishock-custom-v1/case.jpg
similarity index 100%
rename from docs/static/boards/pishock-custom-v1/case.jpg
rename to public/static/boards/pishock-custom-v1/case.jpg
diff --git a/docs/static/boards/pishock-custom-v1/pcb-back.jpg b/public/static/boards/pishock-custom-v1/pcb-back.jpg
similarity index 100%
rename from docs/static/boards/pishock-custom-v1/pcb-back.jpg
rename to public/static/boards/pishock-custom-v1/pcb-back.jpg
diff --git a/docs/static/boards/pishock-custom-v1/pcb-front.jpg b/public/static/boards/pishock-custom-v1/pcb-front.jpg
similarity index 100%
rename from docs/static/boards/pishock-custom-v1/pcb-front.jpg
rename to public/static/boards/pishock-custom-v1/pcb-front.jpg
diff --git a/docs/static/boards/pishock-lite/burnt-pcb-back.jpg b/public/static/boards/pishock-lite/burnt-pcb-back.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/burnt-pcb-back.jpg
rename to public/static/boards/pishock-lite/burnt-pcb-back.jpg
diff --git a/docs/static/boards/pishock-lite/burnt-pcb-front.jpg b/public/static/boards/pishock-lite/burnt-pcb-front.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/burnt-pcb-front.jpg
rename to public/static/boards/pishock-lite/burnt-pcb-front.jpg
diff --git a/docs/static/boards/pishock-lite/clean-case-back.jpg b/public/static/boards/pishock-lite/clean-case-back.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/clean-case-back.jpg
rename to public/static/boards/pishock-lite/clean-case-back.jpg
diff --git a/docs/static/boards/pishock-lite/clean-case-front.jpg b/public/static/boards/pishock-lite/clean-case-front.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/clean-case-front.jpg
rename to public/static/boards/pishock-lite/clean-case-front.jpg
diff --git a/docs/static/boards/pishock-lite/clean-pcb-back.jpg b/public/static/boards/pishock-lite/clean-pcb-back.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/clean-pcb-back.jpg
rename to public/static/boards/pishock-lite/clean-pcb-back.jpg
diff --git a/docs/static/boards/pishock-lite/cold-pcb-side.jpg b/public/static/boards/pishock-lite/cold-pcb-side.jpg
similarity index 100%
rename from docs/static/boards/pishock-lite/cold-pcb-side.jpg
rename to public/static/boards/pishock-lite/cold-pcb-side.jpg
diff --git a/docs/static/boards/pishock-plus/closed_case.jpg b/public/static/boards/pishock-plus/closed_case.jpg
similarity index 100%
rename from docs/static/boards/pishock-plus/closed_case.jpg
rename to public/static/boards/pishock-plus/closed_case.jpg
diff --git a/docs/static/boards/pishock-plus/open_case.jpg b/public/static/boards/pishock-plus/open_case.jpg
similarity index 100%
rename from docs/static/boards/pishock-plus/open_case.jpg
rename to public/static/boards/pishock-plus/open_case.jpg
diff --git a/docs/static/boards/seeed-xiao-esp32s3/1.jpg b/public/static/boards/seeed-xiao-esp32s3/1.jpg
similarity index 100%
rename from docs/static/boards/seeed-xiao-esp32s3/1.jpg
rename to public/static/boards/seeed-xiao-esp32s3/1.jpg
diff --git a/docs/static/boards/seeed-xiao-esp32s3/2.jpg b/public/static/boards/seeed-xiao-esp32s3/2.jpg
similarity index 100%
rename from docs/static/boards/seeed-xiao-esp32s3/2.jpg
rename to public/static/boards/seeed-xiao-esp32s3/2.jpg
diff --git a/docs/static/boards/seeed-xiao-esp32s3/3.jpg b/public/static/boards/seeed-xiao-esp32s3/3.jpg
similarity index 100%
rename from docs/static/boards/seeed-xiao-esp32s3/3.jpg
rename to public/static/boards/seeed-xiao-esp32s3/3.jpg
diff --git a/docs/static/boards/wemos-d1-mini-esp32/back.jpg b/public/static/boards/wemos-d1-mini-esp32/back.jpg
similarity index 100%
rename from docs/static/boards/wemos-d1-mini-esp32/back.jpg
rename to public/static/boards/wemos-d1-mini-esp32/back.jpg
diff --git a/docs/static/boards/wemos-d1-mini-esp32/front.jpg b/public/static/boards/wemos-d1-mini-esp32/front.jpg
similarity index 100%
rename from docs/static/boards/wemos-d1-mini-esp32/front.jpg
rename to public/static/boards/wemos-d1-mini-esp32/front.jpg
diff --git a/docs/static/boards/wemos-d1-mini-esp32/gnd-figure.webp b/public/static/boards/wemos-d1-mini-esp32/gnd-figure.webp
similarity index 100%
rename from docs/static/boards/wemos-d1-mini-esp32/gnd-figure.webp
rename to public/static/boards/wemos-d1-mini-esp32/gnd-figure.webp
diff --git a/docs/static/boards/wemos-d1-mini-esp32/gnd-figure2.webp b/public/static/boards/wemos-d1-mini-esp32/gnd-figure2.webp
similarity index 100%
rename from docs/static/boards/wemos-d1-mini-esp32/gnd-figure2.webp
rename to public/static/boards/wemos-d1-mini-esp32/gnd-figure2.webp
diff --git a/docs/static/boards/wemos-s2-mini/back.jpg b/public/static/boards/wemos-s2-mini/back.jpg
similarity index 100%
rename from docs/static/boards/wemos-s2-mini/back.jpg
rename to public/static/boards/wemos-s2-mini/back.jpg
diff --git a/docs/static/boards/wemos-s2-mini/front.jpg b/public/static/boards/wemos-s2-mini/front.jpg
similarity index 100%
rename from docs/static/boards/wemos-s2-mini/front.jpg
rename to public/static/boards/wemos-s2-mini/front.jpg
diff --git a/docs/static/boards/wemos-s3/back.jpg b/public/static/boards/wemos-s3/back.jpg
similarity index 100%
rename from docs/static/boards/wemos-s3/back.jpg
rename to public/static/boards/wemos-s3/back.jpg
diff --git a/docs/static/boards/wemos-s3/front.jpg b/public/static/boards/wemos-s3/front.jpg
similarity index 100%
rename from docs/static/boards/wemos-s3/front.jpg
rename to public/static/boards/wemos-s3/front.jpg
diff --git a/docs/static/developer/backend-architecture-overview.svg b/public/static/developer/backend-architecture-overview.svg
similarity index 100%
rename from docs/static/developer/backend-architecture-overview.svg
rename to public/static/developer/backend-architecture-overview.svg
diff --git a/docs/static/diy/pinout.png b/public/static/diy/pinout.png
similarity index 100%
rename from docs/static/diy/pinout.png
rename to public/static/diy/pinout.png
diff --git a/docs/static/diy/pulldownexample.png b/public/static/diy/pulldownexample.png
similarity index 100%
rename from docs/static/diy/pulldownexample.png
rename to public/static/diy/pulldownexample.png
diff --git a/docs/static/diy/pullupexample.png b/public/static/diy/pullupexample.png
similarity index 100%
rename from docs/static/diy/pullupexample.png
rename to public/static/diy/pullupexample.png
diff --git a/docs/static/diy/software/compiling/platformio.png b/public/static/diy/software/compiling/platformio.png
similarity index 100%
rename from docs/static/diy/software/compiling/platformio.png
rename to public/static/diy/software/compiling/platformio.png
diff --git a/docs/static/guides/first-setup/Create_shocker_green_plus.png b/public/static/guides/first-setup/Create_shocker_green_plus.png
similarity index 100%
rename from docs/static/guides/first-setup/Create_shocker_green_plus.png
rename to public/static/guides/first-setup/Create_shocker_green_plus.png
diff --git a/docs/static/guides/first-setup/ESPWebGUI.png b/public/static/guides/first-setup/ESPWebGUI.png
similarity index 100%
rename from docs/static/guides/first-setup/ESPWebGUI.png
rename to public/static/guides/first-setup/ESPWebGUI.png
diff --git a/docs/static/guides/first-setup/WiFioverview.png b/public/static/guides/first-setup/WiFioverview.png
similarity index 100%
rename from docs/static/guides/first-setup/WiFioverview.png
rename to public/static/guides/first-setup/WiFioverview.png
diff --git a/docs/static/guides/first-setup/checkifonline.png b/public/static/guides/first-setup/checkifonline.png
similarity index 100%
rename from docs/static/guides/first-setup/checkifonline.png
rename to public/static/guides/first-setup/checkifonline.png
diff --git a/docs/static/guides/first-setup/create_shocker.png b/public/static/guides/first-setup/create_shocker.png
similarity index 100%
rename from docs/static/guides/first-setup/create_shocker.png
rename to public/static/guides/first-setup/create_shocker.png
diff --git a/docs/static/guides/first-setup/devicecontextmenu.png b/public/static/guides/first-setup/devicecontextmenu.png
similarity index 100%
rename from docs/static/guides/first-setup/devicecontextmenu.png
rename to public/static/guides/first-setup/devicecontextmenu.png
diff --git a/docs/static/guides/first-setup/edit_device.png b/public/static/guides/first-setup/edit_device.png
similarity index 100%
rename from docs/static/guides/first-setup/edit_device.png
rename to public/static/guides/first-setup/edit_device.png
diff --git a/docs/static/guides/first-setup/find_device_context_menu.png b/public/static/guides/first-setup/find_device_context_menu.png
similarity index 100%
rename from docs/static/guides/first-setup/find_device_context_menu.png
rename to public/static/guides/first-setup/find_device_context_menu.png
diff --git a/docs/static/guides/first-setup/find_edit_on_shocker.png b/public/static/guides/first-setup/find_edit_on_shocker.png
similarity index 100%
rename from docs/static/guides/first-setup/find_edit_on_shocker.png
rename to public/static/guides/first-setup/find_edit_on_shocker.png
diff --git a/docs/static/guides/first-setup/find_sound_button.png b/public/static/guides/first-setup/find_sound_button.png
similarity index 100%
rename from docs/static/guides/first-setup/find_sound_button.png
rename to public/static/guides/first-setup/find_sound_button.png
diff --git a/docs/static/guides/first-setup/findaddbutton3.png b/public/static/guides/first-setup/findaddbutton3.png
similarity index 100%
rename from docs/static/guides/first-setup/findaddbutton3.png
rename to public/static/guides/first-setup/findaddbutton3.png
diff --git a/docs/static/guides/first-setup/findpaircode.png b/public/static/guides/first-setup/findpaircode.png
similarity index 100%
rename from docs/static/guides/first-setup/findpaircode.png
rename to public/static/guides/first-setup/findpaircode.png
diff --git a/docs/static/guides/first-setup/paircodeexample.png b/public/static/guides/first-setup/paircodeexample.png
similarity index 100%
rename from docs/static/guides/first-setup/paircodeexample.png
rename to public/static/guides/first-setup/paircodeexample.png
diff --git a/docs/static/guides/how-to-flash/Connect_Device_Flashtoolguide.png b/public/static/guides/how-to-flash/Connect_Device_Flashtoolguide.png
similarity index 100%
rename from docs/static/guides/how-to-flash/Connect_Device_Flashtoolguide.png
rename to public/static/guides/how-to-flash/Connect_Device_Flashtoolguide.png
diff --git a/docs/static/guides/how-to-flash/settings.png b/public/static/guides/how-to-flash/settings.png
similarity index 100%
rename from docs/static/guides/how-to-flash/settings.png
rename to public/static/guides/how-to-flash/settings.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_AddCode.png b/public/static/guides/how-to-sharecodes/ShareCode_AddCode.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_AddCode.png
rename to public/static/guides/how-to-sharecodes/ShareCode_AddCode.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_Added.png b/public/static/guides/how-to-sharecodes/ShareCode_Added.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_Added.png
rename to public/static/guides/how-to-sharecodes/ShareCode_Added.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_ContextMenuShocker.png b/public/static/guides/how-to-sharecodes/ShareCode_ContextMenuShocker.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_ContextMenuShocker.png
rename to public/static/guides/how-to-sharecodes/ShareCode_ContextMenuShocker.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_CreateCode.png b/public/static/guides/how-to-sharecodes/ShareCode_CreateCode.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_CreateCode.png
rename to public/static/guides/how-to-sharecodes/ShareCode_CreateCode.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_EditLimit.png b/public/static/guides/how-to-sharecodes/ShareCode_EditLimit.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_EditLimit.png
rename to public/static/guides/how-to-sharecodes/ShareCode_EditLimit.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_FindAddCode.png b/public/static/guides/how-to-sharecodes/ShareCode_FindAddCode.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_FindAddCode.png
rename to public/static/guides/how-to-sharecodes/ShareCode_FindAddCode.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_FindCode.png b/public/static/guides/how-to-sharecodes/ShareCode_FindCode.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_FindCode.png
rename to public/static/guides/how-to-sharecodes/ShareCode_FindCode.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_FindShockers.png b/public/static/guides/how-to-sharecodes/ShareCode_FindShockers.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_FindShockers.png
rename to public/static/guides/how-to-sharecodes/ShareCode_FindShockers.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_LinkedList.png b/public/static/guides/how-to-sharecodes/ShareCode_LinkedList.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_LinkedList.png
rename to public/static/guides/how-to-sharecodes/ShareCode_LinkedList.png
diff --git a/docs/static/guides/how-to-sharecodes/ShareCode_SharedContextMneu.png b/public/static/guides/how-to-sharecodes/ShareCode_SharedContextMneu.png
similarity index 100%
rename from docs/static/guides/how-to-sharecodes/ShareCode_SharedContextMneu.png
rename to public/static/guides/how-to-sharecodes/ShareCode_SharedContextMneu.png
diff --git a/docs/static/guides/how-to-sharelinks/addnewsharelink.png b/public/static/guides/how-to-sharelinks/addnewsharelink.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/addnewsharelink.png
rename to public/static/guides/how-to-sharelinks/addnewsharelink.png
diff --git a/docs/static/guides/how-to-sharelinks/addshockertosharelink.png b/public/static/guides/how-to-sharelinks/addshockertosharelink.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/addshockertosharelink.png
rename to public/static/guides/how-to-sharelinks/addshockertosharelink.png
diff --git a/docs/static/guides/how-to-sharelinks/addshockertosharelink2.png b/public/static/guides/how-to-sharelinks/addshockertosharelink2.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/addshockertosharelink2.png
rename to public/static/guides/how-to-sharelinks/addshockertosharelink2.png
diff --git a/docs/static/guides/how-to-sharelinks/createshocklink.png b/public/static/guides/how-to-sharelinks/createshocklink.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/createshocklink.png
rename to public/static/guides/how-to-sharelinks/createshocklink.png
diff --git a/docs/static/guides/how-to-sharelinks/editinterface.png b/public/static/guides/how-to-sharelinks/editinterface.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/editinterface.png
rename to public/static/guides/how-to-sharelinks/editinterface.png
diff --git a/docs/static/guides/how-to-sharelinks/editlinkllimits.png b/public/static/guides/how-to-sharelinks/editlinkllimits.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/editlinkllimits.png
rename to public/static/guides/how-to-sharelinks/editlinkllimits.png
diff --git a/docs/static/guides/how-to-sharelinks/findshocklink.png b/public/static/guides/how-to-sharelinks/findshocklink.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/findshocklink.png
rename to public/static/guides/how-to-sharelinks/findshocklink.png
diff --git a/docs/static/guides/how-to-sharelinks/findshocklinks.png b/public/static/guides/how-to-sharelinks/findshocklinks.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/findshocklinks.png
rename to public/static/guides/how-to-sharelinks/findshocklinks.png
diff --git a/docs/static/guides/how-to-sharelinks/pausedlink.png b/public/static/guides/how-to-sharelinks/pausedlink.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/pausedlink.png
rename to public/static/guides/how-to-sharelinks/pausedlink.png
diff --git a/docs/static/guides/how-to-sharelinks/pauseshocker.png b/public/static/guides/how-to-sharelinks/pauseshocker.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/pauseshocker.png
rename to public/static/guides/how-to-sharelinks/pauseshocker.png
diff --git a/docs/static/guides/how-to-sharelinks/sharelinkcreated.png b/public/static/guides/how-to-sharelinks/sharelinkcreated.png
similarity index 100%
rename from docs/static/guides/how-to-sharelinks/sharelinkcreated.png
rename to public/static/guides/how-to-sharelinks/sharelinkcreated.png
diff --git a/docs/static/guides/how-to-update/update-Open-OTA.png b/public/static/guides/how-to-update/update-Open-OTA.png
similarity index 100%
rename from docs/static/guides/how-to-update/update-Open-OTA.png
rename to public/static/guides/how-to-update/update-Open-OTA.png
diff --git a/docs/static/guides/how-to-update/update-Window.png b/public/static/guides/how-to-update/update-Window.png
similarity index 100%
rename from docs/static/guides/how-to-update/update-Window.png
rename to public/static/guides/how-to-update/update-Window.png
diff --git a/docs/static/guides/offline-remote-setup/shockercontextmenu.png b/public/static/guides/offline-remote-setup/shockercontextmenu.png
similarity index 100%
rename from docs/static/guides/offline-remote-setup/shockercontextmenu.png
rename to public/static/guides/offline-remote-setup/shockercontextmenu.png
diff --git a/docs/static/guides/offline-remote-setup/shockerrfidfield.png b/public/static/guides/offline-remote-setup/shockerrfidfield.png
similarity index 100%
rename from docs/static/guides/offline-remote-setup/shockerrfidfield.png
rename to public/static/guides/offline-remote-setup/shockerrfidfield.png
diff --git a/docs/static/guides/shockosc/API_Token.png b/public/static/guides/shockosc/API_Token.png
similarity index 100%
rename from docs/static/guides/shockosc/API_Token.png
rename to public/static/guides/shockosc/API_Token.png
diff --git a/docs/static/guides/shockosc/CVR/AdvancedAvatarTrigger.png b/public/static/guides/shockosc/CVR/AdvancedAvatarTrigger.png
similarity index 100%
rename from docs/static/guides/shockosc/CVR/AdvancedAvatarTrigger.png
rename to public/static/guides/shockosc/CVR/AdvancedAvatarTrigger.png
diff --git a/docs/static/guides/shockosc/CVR/Hierarchy.png b/public/static/guides/shockosc/CVR/Hierarchy.png
similarity index 100%
rename from docs/static/guides/shockosc/CVR/Hierarchy.png
rename to public/static/guides/shockosc/CVR/Hierarchy.png
diff --git a/docs/static/guides/shockosc/CVR/Menu.png b/public/static/guides/shockosc/CVR/Menu.png
similarity index 100%
rename from docs/static/guides/shockosc/CVR/Menu.png
rename to public/static/guides/shockosc/CVR/Menu.png
diff --git a/docs/static/guides/shockosc/ExampleRemote_Receiver.png b/public/static/guides/shockosc/ExampleRemote_Receiver.png
similarity index 100%
rename from docs/static/guides/shockosc/ExampleRemote_Receiver.png
rename to public/static/guides/shockosc/ExampleRemote_Receiver.png
diff --git a/docs/static/guides/shockosc/NewShockOSC-GroupSetup.png b/public/static/guides/shockosc/NewShockOSC-GroupSetup.png
similarity index 100%
rename from docs/static/guides/shockosc/NewShockOSC-GroupSetup.png
rename to public/static/guides/shockosc/NewShockOSC-GroupSetup.png
diff --git a/docs/static/guides/shockosc/NewShockOSC-LogIn.png b/public/static/guides/shockosc/NewShockOSC-LogIn.png
similarity index 100%
rename from docs/static/guides/shockosc/NewShockOSC-LogIn.png
rename to public/static/guides/shockosc/NewShockOSC-LogIn.png
diff --git a/docs/static/guides/shockosc/NewShockOSC_Config.png b/public/static/guides/shockosc/NewShockOSC_Config.png
similarity index 100%
rename from docs/static/guides/shockosc/NewShockOSC_Config.png
rename to public/static/guides/shockosc/NewShockOSC_Config.png
diff --git a/docs/static/guides/shockosc/RemoteShockLayer.png b/public/static/guides/shockosc/RemoteShockLayer.png
similarity index 100%
rename from docs/static/guides/shockosc/RemoteShockLayer.png
rename to public/static/guides/shockosc/RemoteShockLayer.png
diff --git a/docs/static/guides/shockosc/RemoteShock_Receiver.png b/public/static/guides/shockosc/RemoteShock_Receiver.png
similarity index 100%
rename from docs/static/guides/shockosc/RemoteShock_Receiver.png
rename to public/static/guides/shockosc/RemoteShock_Receiver.png
diff --git a/docs/static/guides/shockosc/RemoteTrigger_Paramaters.png b/public/static/guides/shockosc/RemoteTrigger_Paramaters.png
similarity index 100%
rename from docs/static/guides/shockosc/RemoteTrigger_Paramaters.png
rename to public/static/guides/shockosc/RemoteTrigger_Paramaters.png
diff --git a/docs/static/guides/shockosc/Remotetrigger_Menuentry.png b/public/static/guides/shockosc/Remotetrigger_Menuentry.png
similarity index 100%
rename from docs/static/guides/shockosc/Remotetrigger_Menuentry.png
rename to public/static/guides/shockosc/Remotetrigger_Menuentry.png
diff --git a/docs/static/guides/shockosc/TransitionOptions_Remote_Trigger.gif b/public/static/guides/shockosc/TransitionOptions_Remote_Trigger.gif
similarity index 100%
rename from docs/static/guides/shockosc/TransitionOptions_Remote_Trigger.gif
rename to public/static/guides/shockosc/TransitionOptions_Remote_Trigger.gif
diff --git a/docs/static/guides/shockosc/create_APIToken.png b/public/static/guides/shockosc/create_APIToken.png
similarity index 100%
rename from docs/static/guides/shockosc/create_APIToken.png
rename to public/static/guides/shockosc/create_APIToken.png
diff --git a/docs/static/guides/shockosc/create_trigger.png b/public/static/guides/shockosc/create_trigger.png
similarity index 100%
rename from docs/static/guides/shockosc/create_trigger.png
rename to public/static/guides/shockosc/create_trigger.png
diff --git a/docs/static/guides/shockosc/example_position.png b/public/static/guides/shockosc/example_position.png
similarity index 100%
rename from docs/static/guides/shockosc/example_position.png
rename to public/static/guides/shockosc/example_position.png
diff --git a/docs/static/guides/shockosc/example_settings.png b/public/static/guides/shockosc/example_settings.png
similarity index 100%
rename from docs/static/guides/shockosc/example_settings.png
rename to public/static/guides/shockosc/example_settings.png
diff --git a/docs/static/guides/shockosc/example_settings2.png b/public/static/guides/shockosc/example_settings2.png
similarity index 100%
rename from docs/static/guides/shockosc/example_settings2.png
rename to public/static/guides/shockosc/example_settings2.png
diff --git a/docs/static/guides/shockosc/example_settings3.png b/public/static/guides/shockosc/example_settings3.png
similarity index 100%
rename from docs/static/guides/shockosc/example_settings3.png
rename to public/static/guides/shockosc/example_settings3.png
diff --git a/docs/static/guides/shockosc/find_shockerid.png b/public/static/guides/shockosc/find_shockerid.png
similarity index 100%
rename from docs/static/guides/shockosc/find_shockerid.png
rename to public/static/guides/shockosc/find_shockerid.png
diff --git a/docs/static/guides/shockosc/find_shockerid2.png b/public/static/guides/shockosc/find_shockerid2.png
similarity index 100%
rename from docs/static/guides/shockosc/find_shockerid2.png
rename to public/static/guides/shockosc/find_shockerid2.png
diff --git a/docs/static/guides/shockosc/find_shockers.png b/public/static/guides/shockosc/find_shockers.png
similarity index 100%
rename from docs/static/guides/shockosc/find_shockers.png
rename to public/static/guides/shockosc/find_shockers.png
diff --git a/docs/static/guides/shockosc/finds_apitokens.png b/public/static/guides/shockosc/finds_apitokens.png
similarity index 100%
rename from docs/static/guides/shockosc/finds_apitokens.png
rename to public/static/guides/shockosc/finds_apitokens.png
diff --git a/docs/static/guides/shockosc/green_plus.png b/public/static/guides/shockosc/green_plus.png
similarity index 100%
rename from docs/static/guides/shockosc/green_plus.png
rename to public/static/guides/shockosc/green_plus.png
diff --git a/docs/static/icons/discord-blurple.svg b/public/static/icons/discord-blurple.svg
similarity index 100%
rename from docs/static/icons/discord-blurple.svg
rename to public/static/icons/discord-blurple.svg
diff --git a/docs/static/remote/real-and-knockoff-back.jpg b/public/static/remote/real-and-knockoff-back.jpg
similarity index 100%
rename from docs/static/remote/real-and-knockoff-back.jpg
rename to public/static/remote/real-and-knockoff-back.jpg
diff --git a/docs/static/remote/real-and-knockoff-front.jpg b/public/static/remote/real-and-knockoff-front.jpg
similarity index 100%
rename from docs/static/remote/real-and-knockoff-front.jpg
rename to public/static/remote/real-and-knockoff-front.jpg
diff --git a/docs/static/safety/nogo-body-zones.png b/public/static/safety/nogo-body-zones.png
similarity index 100%
rename from docs/static/safety/nogo-body-zones.png
rename to public/static/safety/nogo-body-zones.png
diff --git a/docs/static/shockers/caixianlin/ShockerBack.webp b/public/static/shockers/caixianlin/ShockerBack.webp
similarity index 100%
rename from docs/static/shockers/caixianlin/ShockerBack.webp
rename to public/static/shockers/caixianlin/ShockerBack.webp
diff --git a/docs/static/shockers/caixianlin/ShockerCaseBackGif.gif b/public/static/shockers/caixianlin/ShockerCaseBackGif.gif
similarity index 100%
rename from docs/static/shockers/caixianlin/ShockerCaseBackGif.gif
rename to public/static/shockers/caixianlin/ShockerCaseBackGif.gif
diff --git a/docs/static/shockers/caixianlin/ShockerFront.webp b/public/static/shockers/caixianlin/ShockerFront.webp
similarity index 100%
rename from docs/static/shockers/caixianlin/ShockerFront.webp
rename to public/static/shockers/caixianlin/ShockerFront.webp
diff --git a/docs/static/transmitters/opensmart-transmitter-receiver.jpg b/public/static/transmitters/opensmart-transmitter-receiver.jpg
similarity index 100%
rename from docs/static/transmitters/opensmart-transmitter-receiver.jpg
rename to public/static/transmitters/opensmart-transmitter-receiver.jpg
diff --git a/docs/static/transmitters/opensmart-transmitter.jpg b/public/static/transmitters/opensmart-transmitter.jpg
similarity index 100%
rename from docs/static/transmitters/opensmart-transmitter.jpg
rename to public/static/transmitters/opensmart-transmitter.jpg
diff --git a/source.config.ts b/source.config.ts
new file mode 100644
index 00000000..f3f959a8
--- /dev/null
+++ b/source.config.ts
@@ -0,0 +1,18 @@
+import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
+
+export const docs = defineDocs({
+ dir: 'content/docs',
+ docs: {
+ schema: frontmatterSchema,
+ postprocess: {
+ includeProcessedMarkdown: true,
+ },
+ },
+ meta: {
+ schema: metaSchema,
+ },
+});
+
+export default defineConfig({
+ mdxOptions: {},
+});
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 00000000..d2750a51
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,46 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "target": "ESNext",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "paths": {
+ "@/*": [
+ "./*"
+ ],
+ "fumadocs-mdx:collections/*": [
+ ".source/*"
+ ]
+ },
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ]
+ },
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts",
+ ".next/dev/types/**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}