diff --git a/.changeset/vue-integration.md b/.changeset/vue-integration.md
new file mode 100644
index 00000000..379f6fab
--- /dev/null
+++ b/.changeset/vue-integration.md
@@ -0,0 +1,7 @@
+---
+"@tryabby/vue": minor
+---
+
+Add the `@tryabby/vue` integration with `useAbby`, `useFeatureFlag` and
+`useRemoteConfig` composables, an `AbbyProvider` component and an installable
+Vue plugin.
diff --git a/apps/docs/pages/integrations/_meta.json b/apps/docs/pages/integrations/_meta.json
index 5cbf2999..1f8b2ad8 100644
--- a/apps/docs/pages/integrations/_meta.json
+++ b/apps/docs/pages/integrations/_meta.json
@@ -3,6 +3,7 @@
"react": "React",
"remix": "Remix",
"svelte": "Svelte",
+ "vue": "Vue",
"angular": "Angular",
"node": "Node",
"express": "Express",
diff --git a/apps/docs/pages/integrations/vue.mdx b/apps/docs/pages/integrations/vue.mdx
new file mode 100644
index 00000000..17c0193d
--- /dev/null
+++ b/apps/docs/pages/integrations/vue.mdx
@@ -0,0 +1,187 @@
+import { Tab, Tabs, Callout } from "nextra-theme-docs";
+
+# Vue
+
+Our Vue integration works with Vue 3 (SPAs as well as server side rendered apps)
+and with Nuxt.
+
+## Installation
+
+To get started make sure to install the package using your favorite package manager.
+
+
+
+ ```bash
+ npm i @tryabby/vue
+ ```
+
+
+
+ ```bash
+ yarn add @tryabby/vue
+ ```
+
+
+ ```bash
+ pnpm i @tryabby/vue
+ ```
+
+
+
+## Usage
+
+### Create your config
+
+To use Abby you need to create your config first. You can do this by creating a
+file called `abby.config.ts` in your `root` folder. This file will be used to
+configure your project.
+
+```ts
+// abby.config.ts
+import { defineConfig } from "@tryabby/vue";
+
+export default defineConfig({
+ projectId: "",
+ currentEnvironment: import.meta.env.MODE,
+ environments: ["production", "development"],
+ tests: {
+ test: { variants: ["A", "B"] },
+ footer: { variants: ["dark", "orange", "green"] },
+ // ... your tests
+ },
+ flags: ["darkMode", "newFeature"],
+ remoteConfig: {
+ customButtonText: "String",
+ },
+});
+```
+
+### Create your instance
+
+To use Abby in your code you will need to create your typed composables first.
+You can do this by using the `createAbby` function. Please copy the id of your
+project from the dashboard to get started.
+
+```ts
+import { createAbby } from "@tryabby/vue";
+import abbyConfig from "../abby.config";
+
+const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+```
+
+
+ Call `createAbby` once in its own module and import the returned composables
+ where you need them - that keeps the types of your tests, flags and remote
+ config available across your whole app.
+
+
+### Wrap your Application
+
+Wrap your application in the `AbbyProvider`. The provider loads your project
+data and provides it to all components below it.
+
+```html
+
+
+
+
+
+
+
+```
+
+If you prefer to use a plugin you can also install Abby on your app instance.
+The composables need to be created outside of your components for this.
+
+```ts
+// main.ts
+import { createApp } from "vue";
+import { AbbyPlugin } from "./abby";
+import App from "./App.vue";
+
+createApp(App).use(AbbyPlugin).mount("#app");
+```
+
+### Use the composables
+
+The composables can be used inside the `setup` function of your components. They
+all return `ComputedRef`s, so they stay in sync when new project data arrives.
+
+#### useAbby
+
+`useAbby` takes the name of your test and returns the currently selected variant
+as well as the `onAct` function, which you can call to track a conversion.
+
+```html
+
+
+
+
+
Variant A
+
Variant B
+
+
Buy now
+
+
+```
+
+#### useFeatureFlag
+
+`useFeatureFlag` takes the name of your feature flag and returns its value.
+
+```html
+
+
+
+ Hello World
+
+```
+
+#### useRemoteConfig
+
+`useRemoteConfig` takes the name of your remote config and returns its value.
+
+```html
+
+
+
+ {{ buttonText }}
+
+```
+
+### Nuxt
+
+For Nuxt you can put your `createAbby` instance into a plugin and pass the
+project data which is fetched during server side rendering as `initialData`.
+This way the first render already contains your variants and flags.
+
+```ts
+// plugins/abby.ts
+import { createAbby } from "./abby";
+
+const { AbbyPlugin } = createAbby(abbyConfig);
+
+export default defineNuxtPlugin((nuxtApp) => {
+ nuxtApp.vueApp.use(AbbyPlugin);
+});
+```
+
+
+ `AbbyProvider` accepts an `initialData` prop (an `AbbyDataResponse` from
+ `@tryabby/core`). If you pass it, the provider will not fetch your project data
+ on the client, which avoids a hydration mismatch.
+
diff --git a/apps/docs/pages/reference/_meta.json b/apps/docs/pages/reference/_meta.json
index ef26086c..aa93d31c 100644
--- a/apps/docs/pages/reference/_meta.json
+++ b/apps/docs/pages/reference/_meta.json
@@ -3,6 +3,7 @@
"react": "React",
"remix": "Remix",
"svelte": "Svelte",
+ "vue": "Vue",
"angular": "Angular",
"http": "HTTP API",
"cli": "CLI",
diff --git a/apps/docs/pages/reference/vue.mdx b/apps/docs/pages/reference/vue.mdx
new file mode 100644
index 00000000..587c8555
--- /dev/null
+++ b/apps/docs/pages/reference/vue.mdx
@@ -0,0 +1,89 @@
+# API Reference (Vue)
+
+## createAbby
+
+### Parameters
+
+The `createAbby` function takes an object as a parameter. The object can contain the following properties:
+
+| Name | Type | Required | Description |
+| ------------------ | -------- | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
+| projectId | `string` | YES | The ID of your project in Abby |
+| apiUrl | `string` | | The URL of the Abby API. Defaults to the hosted version |
+| currentEnvironment | `string` | YES | The current environment of your application |
+| tests | `object` | | An object containing your defined A/B Tests |
+| flags | `array` | | An array containing your defined Feature Flags |
+| remoteConfig | `object` | | An object containing the name of your remote config and their type |
+| settings | `object` | | An object with additional settings for Abby |
+| user | `object` | | Optional configuration for user properties that can be used for targeting feature flags. This enables conditional rules based on user attributes. |
+
+### Return value
+
+| Name | Type | Description |
+| -------------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------- |
+| `AbbyProvider` | `Component` | Loads the project data and provides it to all child components |
+| `AbbyPlugin` | `Plugin` | Vue plugin, install it with `app.use(AbbyPlugin, initialData?)` |
+| `useAbby` | `(name, lookupObject?) => { variant, onAct }` | Returns the current variant of a test and a function to track an act |
+| `useFeatureFlag` | `(name) => ComputedRef` | Returns the value of a feature flag |
+| `useFeatureFlags` | `() => ComputedRef>` | Returns all feature flags with their current value |
+| `useRemoteConfig` | `(name) => ComputedRef` | Returns the value of a remote config |
+| `useRemoteConfigVariables` | `() => ComputedRef>` | Returns all remote config variables with their current value |
+| `getFeatureFlagValue` | `(name) => boolean` | Non reactive helper to read a feature flag |
+| `getRemoteConfig` | `(name) => value` | Non reactive helper to read a remote config |
+| `getABTestValue` | `(name, lookupObject?) => value` | Non reactive helper to read the variant of a test |
+| `getVariants` | `(name) => string[]` | Returns all variants of a test |
+| `getABResetFunction` | `() => void` | Returns a function which resets the persisted variant of a test |
+| `updateUserProperties` | `(userProperties) => void` | Updates the user properties which are sent to Abby |
+| `__abby__` | `Abby` | The underlying `Abby` instance of `@tryabby/core` |
+
+## AbbyProvider
+
+### Props
+
+| Name | Type | Required | Description |
+| ------------- | ------------------ | :------: | ---------------------------------------------------------------------------------------------------------- |
+| `initialData` | `AbbyDataResponse` | | Project data which is used instead of fetching it from the Abby API (for example during server rendering) |
+
+## useAbby
+
+### Parameters
+
+| Name | Type | Required | Description |
+| -------------- | -------- | :------: | -------------------------------------------------------------------------------------- |
+| `name` | `string` | YES | The name of your A/B test |
+| `lookupObject` | `object` | | A map from variant to the value you want to get back from `variant`, e.g. a component |
+
+### Return value
+
+| Name | Type | Description |
+| --------- | ------------------------------------- | ---------------------------------------------------------- |
+| `variant` | `ComputedRef` | The currently selected variant (or its mapped value) |
+| `onAct` | `() => void` | Call this function to track an act for the current variant |
+
+## useFeatureFlag
+
+### Parameters
+
+| Name | Type | Required | Description |
+| ------ | -------- | :------: | ------------------------------- |
+| `name` | `string` | YES | The name of your feature flag |
+
+### Return value
+
+| Name | Type | Description |
+| ------- | ----------------------- | ----------------------------- |
+| `value` | `ComputedRef` | The value of the feature flag |
+
+## useRemoteConfig
+
+### Parameters
+
+| Name | Type | Required | Description |
+| ------ | -------- | :------: | ------------------------------ |
+| `name` | `string` | YES | The name of your remote config |
+
+### Return value
+
+| Name | Type | Description |
+| ------- | --------------------------- | ------------------------------- |
+| `value` | `ComputedRef` | The value of the remote config |
diff --git a/packages/vue/.gitignore b/packages/vue/.gitignore
new file mode 100644
index 00000000..0e75fe55
--- /dev/null
+++ b/packages/vue/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+dist
+coverage
diff --git a/packages/vue/README.md b/packages/vue/README.md
new file mode 100644
index 00000000..a2900fde
--- /dev/null
+++ b/packages/vue/README.md
@@ -0,0 +1,123 @@
+# @tryabby/vue
+
+Vue 3 bindings for [Abby](https://tryabby.com), the open source A/B testing, feature flagging and remote config platform.
+
+## Installation
+
+```bash
+npm install @tryabby/vue @tryabby/core
+```
+
+## Setup
+
+Create an `abby.ts` file, just like you would with the React integration:
+
+```ts
+import { createAbby } from "@tryabby/vue";
+import { defineConfig } from "@tryabby/core";
+
+export const abby = createAbby(
+ defineConfig({
+ projectId: "YOUR_PROJECT_ID",
+ currentEnvironment: process.env.NODE_ENV,
+ environments: ["development", "production"],
+ tests: {
+ Footer: { variants: ["Old", "New"] },
+ },
+ flags: ["NewFooter"],
+ remoteConfig: {
+ ButtonColor: "string",
+ },
+ })
+);
+```
+
+Then wrap your app in the `AbbyProvider`:
+
+```vue
+
+
+
+
+
+
+
+```
+
+For SSR (for example with Nuxt) pass the data you fetched on the server as
+`initialData`, so the first client render matches the server render:
+
+```vue
+
+
+
+```
+
+## Usage
+
+### AB Tests
+
+```vue
+
+
+
+ {{ variant }}
+
+```
+
+`variant` is a computed ref, so it automatically updates when the project data
+changes or when the AB test is reset through the devtools.
+
+### Feature Flags
+
+```vue
+
+
+
+
+
+```
+
+### Remote Config
+
+```vue
+
+
+
+
+
+```
+
+## Non reactive getters
+
+Besides the composables, `createAbby` also exposes non reactive getters that
+can be used outside of the setup function (for example in event handlers):
+`getFeatureFlagValue`, `getABTestValue`, `getRemoteConfig`, `getVariants`,
+`getABResetFunction` and `updateUserProperties`.
+
+## Testing
+
+```bash
+pnpm --filter @tryabby/vue test
+pnpm --filter @tryabby/vue build
+```
diff --git a/packages/vue/package.json b/packages/vue/package.json
new file mode 100644
index 00000000..d2af9858
--- /dev/null
+++ b/packages/vue/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "@tryabby/vue",
+ "version": "0.0.1",
+ "description": "Vue 3 bindings for Abby",
+ "main": "dist/index.js",
+ "files": ["dist"],
+ "module": "dist/index.mjs",
+ "types": "dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "require": "./dist/index.js"
+ }
+ },
+ "scripts": {
+ "build": "tsup src/",
+ "dev": "tsup src/ --watch",
+ "test": "vitest"
+ },
+ "homepage": "https://docs.tryabby.com",
+ "keywords": ["vue", "feature-flags", "ab-testing", "remote-config"],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "@testing-library/jest-dom": "^5.16.5",
+ "@types/js-cookie": "^3.0.3",
+ "@vitejs/plugin-vue": "5.0.4",
+ "@vue/test-utils": "^2.4.6",
+ "jsdom": "^20.0.3",
+ "msw": "^0.49.1",
+ "node-fetch": "^3.3.0",
+ "tsconfig": "workspace:*",
+ "tsup": "^6.5.0",
+ "typescript": "5.5.4",
+ "vite": "5.4.0",
+ "vitest": "2.0.5",
+ "vue": "^3.4.21"
+ },
+ "peerDependencies": {
+ "vue": "^3.3.0"
+ },
+ "dependencies": {
+ "@tryabby/core": "workspace:*",
+ "js-cookie": "^3.0.1"
+ }
+}
diff --git a/packages/vue/src/StorageService.ts b/packages/vue/src/StorageService.ts
new file mode 100644
index 00000000..496d6ccd
--- /dev/null
+++ b/packages/vue/src/StorageService.ts
@@ -0,0 +1,58 @@
+import {
+ type IStorageService,
+ type StorageServiceOptions,
+ getABStorageKey,
+ getFFStorageKey,
+ getRCStorageKey,
+} from "@tryabby/core";
+import Cookie from "js-cookie";
+
+const DEFAULT_COOKIE_AGE = 365;
+
+/**
+ * Returns true if we are running in an environment with a browser and
+ * therefore can read and write cookies. This is false on the server (SSR),
+ * during prerendering and in edge runtimes.
+ */
+export const isBrowser = () =>
+ typeof window !== "undefined" && typeof document !== "undefined";
+
+class CookieStorageService implements IStorageService {
+ constructor(
+ private readonly getKey: (projectId: string, name: string) => string
+ ) {}
+
+ get(projectId: string, name: string): string | null {
+ if (!isBrowser()) return null;
+
+ // biome-ignore lint/style/noNonNullAssertion: we checked that we are in a browser
+ return Cookie.get(this.getKey(projectId, name)!) ?? null;
+ }
+
+ set(
+ projectId: string,
+ name: string,
+ value: string,
+ options?: StorageServiceOptions
+ ): void {
+ if (!isBrowser()) return;
+
+ Cookie.set(this.getKey(projectId, name), value, {
+ // the nullish coalescing is important here: an explicit `0` (session
+ // cookie) must not fall back to the default expiration
+ expires: options?.expiresInDays ?? DEFAULT_COOKIE_AGE,
+ });
+ }
+
+ remove(projectId: string, name: string): void {
+ if (!isBrowser()) return;
+
+ Cookie.remove(this.getKey(projectId, name));
+ }
+}
+
+export const TestStorageService = new CookieStorageService(getABStorageKey);
+export const FlagStorageService = new CookieStorageService(getFFStorageKey);
+export const RemoteConfigStorageService = new CookieStorageService(
+ getRCStorageKey
+);
diff --git a/packages/vue/src/context.ts b/packages/vue/src/context.ts
new file mode 100644
index 00000000..5e998b9e
--- /dev/null
+++ b/packages/vue/src/context.ts
@@ -0,0 +1,435 @@
+import {
+ type ABConfig,
+ Abby,
+ type AbbyConfig,
+ type AbbyDataResponse,
+ AbbyEventType,
+ HttpService,
+ type RemoteConfigValueString,
+ type RemoteConfigValueStringToType,
+ type ValidatorType,
+} from "@tryabby/core";
+import type { Infer } from "@tryabby/core/validation";
+import {
+ type App,
+ type ComputedRef,
+ type InjectionKey,
+ type PropType,
+ type ShallowRef,
+ computed,
+ defineComponent,
+ inject,
+ onMounted,
+ onUnmounted,
+ provide,
+ shallowRef,
+ watch,
+} from "vue";
+import {
+ FlagStorageService,
+ RemoteConfigStorageService,
+ TestStorageService,
+ isBrowser,
+} from "./StorageService";
+
+/**
+ * The value of an AB test. If a lookup object was passed to `useAbby`,
+ * the type of the looked up value is returned instead of the variant name.
+ */
+export type ABTestReturnValue = Lookup extends undefined
+ ? TestVariant
+ : TestVariant extends keyof Lookup
+ ? Lookup[TestVariant]
+ : never;
+
+export function createAbby<
+ const FlagName extends string,
+ const TestName extends string,
+ const Tests extends Record,
+ const RemoteConfig extends Record,
+ const RemoteConfigName extends Extract,
+ const User extends Record = Record<
+ string,
+ ValidatorType
+ >,
+>(
+ abbyConfig: AbbyConfig<
+ FlagName,
+ Tests,
+ string[],
+ RemoteConfigName,
+ RemoteConfig,
+ User
+ >
+) {
+ // we need to return the config as a const so that the types are narrowed
+ const config = abbyConfig;
+
+ const abby = new Abby<
+ FlagName,
+ TestName,
+ Tests,
+ RemoteConfig,
+ RemoteConfigName,
+ string[],
+ User
+ >(
+ config,
+ {
+ get: (key: string) => {
+ if (!isBrowser()) return null;
+ return TestStorageService.get(config.projectId, key);
+ },
+ set: (key: string, value: string) => {
+ if (!isBrowser() || config.cookies?.disableByDefault) return;
+ TestStorageService.set(config.projectId, key, value);
+ },
+ },
+ {
+ get: (key: string) => {
+ if (!isBrowser()) return null;
+ return FlagStorageService.get(config.projectId, key);
+ },
+ set: (key: string, value: string) => {
+ if (!isBrowser()) return;
+ FlagStorageService.set(config.projectId, key, value);
+ },
+ },
+ {
+ get: (key: string) => {
+ if (!isBrowser()) return null;
+ return RemoteConfigStorageService.get(config.projectId, key);
+ },
+ set: (key: string, value: string) => {
+ if (!isBrowser()) return;
+ RemoteConfigStorageService.set(config.projectId, key, value);
+ },
+ }
+ );
+
+ type AbbyProjectData = ReturnType;
+
+ /**
+ * Each app (and therefore each SSR request) gets its own reactive project
+ * data, which is provided to every component below the provider via
+ * `provide` / `inject`.
+ */
+ const ABBY_INJECTION_KEY: InjectionKey> =
+ Symbol("abby-project-data");
+
+ /**
+ * Throws a helpful error if the composable is used outside of an
+ * `AbbyProvider`. This is the same behaviour as the React integration.
+ */
+ const useAbbyData = (): ShallowRef => {
+ const data = inject(ABBY_INJECTION_KEY, null);
+
+ if (!data) {
+ throw new Error(
+ "useAbbyData must be used within an AbbyProvider. Wrap a parent component in to fix this error."
+ );
+ }
+
+ return data;
+ };
+
+ const sendData = (type: AbbyEventType, testName: string, variant: string) => {
+ HttpService.sendData({
+ url: config.apiUrl,
+ type,
+ data: {
+ projectId: config.projectId,
+ selectedVariant: variant,
+ testName,
+ },
+ });
+ };
+
+ /**
+ * Returns the currently selected variant for the given test as well as an
+ * `onAct` callback. The variant is a computed ref, so it stays in sync when
+ * the project data is loaded, when the AB test is reset via the devtools or
+ * when the local overrides change.
+ */
+ const useAbby = <
+ K extends keyof Tests,
+ TestVariant extends Tests[K]["variants"][number],
+ LookupValue,
+ const Lookup extends
+ | Record
+ | undefined = undefined,
+ >(
+ name: K,
+ lookupObject?: Lookup
+ ): {
+ variant: ComputedRef>;
+ onAct: () => void;
+ } => {
+ const data = useAbbyData();
+
+ // Typescript loses the typing here, so we cast in favor of a better
+ // developer experience (same as the react integration)
+ const testName = name as unknown as TestName;
+
+ // always return an empty string until the data has been loaded to avoid
+ // SSR hydration mismatches, the server doesn't know the variant either
+ const selectedVariant = computed(
+ () => data.value.tests[testName]?.selectedVariant ?? ""
+ );
+
+ const variant = computed(() => {
+ const current = selectedVariant.value;
+
+ return (
+ lookupObject ? lookupObject[current as TestVariant] : current
+ ) as ABTestReturnValue;
+ });
+
+ // report a ping whenever the selected variant changes, just like the
+ // React integration does on every render after a variant change
+ watch(
+ selectedVariant,
+ (current) => {
+ if (!current) return;
+ sendData(AbbyEventType.PING, testName, current);
+ },
+ { immediate: true }
+ );
+
+ /**
+ * This function can be called to indicate that something that uses the
+ * selected variant has been rendered. It will automatically send the
+ * selected variant to the server.
+ */
+ const onAct = () => {
+ const current = selectedVariant.value;
+ if (!current) return;
+
+ sendData(AbbyEventType.ACT, testName, current);
+ };
+
+ return { variant, onAct };
+ };
+
+ /**
+ * Returns the value of the given feature flag
+ */
+ const useFeatureFlag = (name: FlagName): ComputedRef => {
+ const data = useAbbyData();
+
+ // flags which are not part of the project data fall back to the defaults
+ // and dev overrides of the config, just like `getFeatureFlag` does
+ return computed(
+ () => data.value.flags[name]?.value ?? abby.getFeatureFlag(name)
+ );
+ };
+
+ /**
+ * Returns an array of all flags with their name and value
+ */
+ const useFeatureFlags = () => {
+ const data = useAbbyData();
+
+ return computed(() =>
+ (Object.keys(data.value.flags) as Array).map((flagName) => ({
+ name: flagName,
+ value: data.value.flags[flagName].value,
+ }))
+ );
+ };
+
+ /**
+ * Returns the value of the given remote config variable
+ */
+ const useRemoteConfig = <
+ T extends RemoteConfigName,
+ Config extends RemoteConfig[T],
+ >(
+ remoteConfigName: T
+ ): ComputedRef> => {
+ const data = useAbbyData();
+
+ return computed(
+ () =>
+ (data.value.remoteConfig[remoteConfigName]?.value ??
+ abby.getRemoteConfig(
+ remoteConfigName
+ )) as RemoteConfigValueStringToType
+ );
+ };
+
+ /**
+ * Returns an array of all remote config variables with their name and value
+ */
+ const useRemoteConfigVariables = () => {
+ const data = useAbbyData();
+
+ return computed(() =>
+ (Object.keys(data.value.remoteConfig) as Array).map(
+ (configName) => ({
+ name: configName,
+ value: data.value.remoteConfig[configName].value,
+ })
+ )
+ );
+ };
+
+ /**
+ * Non reactive getter for a feature flag. Useful in event handlers and
+ * anywhere a computed ref is not convenient.
+ */
+ const getFeatureFlagValue = (name: FlagName) => abby.getFeatureFlag(name);
+
+ /**
+ * Non reactive getter for a remote config variable
+ */
+ const getRemoteConfig = <
+ T extends RemoteConfigName,
+ Config extends RemoteConfig[T],
+ >(
+ remoteConfigName: T
+ ): RemoteConfigValueStringToType =>
+ abby.getRemoteConfig(remoteConfigName);
+
+ /**
+ * Non reactive getter for the currently selected variant of an AB test
+ */
+ const getABTestValue = <
+ TestName_ extends keyof Tests,
+ TestVariant extends Tests[TestName_]["variants"][number],
+ LookupValue,
+ const Lookup extends
+ | Record
+ | undefined = undefined,
+ >(
+ testName: TestName_,
+ lookupObject?: Lookup
+ ): ABTestReturnValue => {
+ const variant = abby.getTestVariant(testName);
+
+ if (lookupObject === undefined) {
+ // Typescript looses its typing here, so we cast as any in favor of
+ // having better type inference for the user
+ return variant as any;
+ }
+
+ return lookupObject[variant as TestVariant] as any;
+ };
+
+ /**
+ * Simple helper function to create a function that resets an AB test
+ */
+ const getABResetFunction = (name: T) => {
+ return () => {
+ TestStorageService.remove(config.projectId, name as string);
+ };
+ };
+
+ /**
+ * Simple helper function to get a list of all variants for a given test
+ */
+ const getVariants = (name: T) =>
+ abby.getVariants(name);
+
+ const updateUserProperties = (
+ user: Partial<{
+ -readonly [K in keyof User]: Infer;
+ }>
+ ) => {
+ abby.updateUserProperties(user);
+ };
+
+ /**
+ * Provides the project data to all children. It loads the data from the
+ * server on mount (unless `initialData` was passed, which is what Nuxt and
+ * SSR setups should do) and subscribes to changes of the local overrides.
+ */
+ const AbbyProvider = defineComponent({
+ name: "AbbyProvider",
+ props: {
+ initialData: {
+ type: Object as PropType,
+ default: undefined,
+ },
+ },
+ setup(props, { slots }) {
+ const data = shallowRef(
+ props.initialData ? abby.init(props.initialData) : abby.getProjectData()
+ );
+
+ let hasLoaded = false;
+ let unsubscribe: (() => void) | null = null;
+
+ const load = async () => {
+ if (props.initialData || hasLoaded) return;
+ hasLoaded = true;
+
+ const newData = await abby.loadProjectData();
+ if (newData) data.value = newData;
+ };
+
+ provide(ABBY_INJECTION_KEY, data);
+
+ // subscribe to changes of the project data (devtools overrides,
+ // local storage overrides, ...) and clean the subscription up when the
+ // provider unmounts
+ onMounted(() => {
+ load();
+
+ unsubscribe = abby.subscribe((newData) => {
+ data.value = newData;
+ });
+ });
+
+ onUnmounted(() => {
+ unsubscribe?.();
+ unsubscribe = null;
+ });
+
+ return () => slots.default?.();
+ },
+ });
+
+ /**
+ * Vue plugin, so the integration can be used with `app.use(AbbyPlugin)`
+ * as well. It mounts the provider implicitly by providing the state on the
+ * app level, which allows using the composables outside of a dedicated
+ * provider component too.
+ */
+ const AbbyPlugin = {
+ install(app: App, initialData?: AbbyDataResponse) {
+ const data = shallowRef(
+ initialData ? abby.init(initialData) : abby.getProjectData()
+ );
+
+ app.provide(ABBY_INJECTION_KEY, data);
+
+ abby.subscribe((newData) => {
+ data.value = newData;
+ });
+
+ if (!initialData && isBrowser()) {
+ abby.loadProjectData().then((newData) => {
+ if (newData) data.value = newData;
+ });
+ }
+ },
+ };
+
+ return {
+ useAbby,
+ AbbyProvider,
+ AbbyPlugin,
+ useFeatureFlag,
+ useFeatureFlags,
+ useRemoteConfig,
+ useRemoteConfigVariables,
+ getFeatureFlagValue,
+ getRemoteConfig,
+ getABTestValue,
+ getABResetFunction,
+ getVariants,
+ updateUserProperties,
+ __abby__: abby,
+ };
+}
diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts
new file mode 100644
index 00000000..6f10a7dd
--- /dev/null
+++ b/packages/vue/src/index.ts
@@ -0,0 +1,2 @@
+export { createAbby, type ABTestReturnValue } from "./context";
+export { type ABConfig, type AbbyConfig, defineConfig } from "@tryabby/core";
diff --git a/packages/vue/tests/featureFlags.test.ts b/packages/vue/tests/featureFlags.test.ts
new file mode 100644
index 00000000..9747c6fb
--- /dev/null
+++ b/packages/vue/tests/featureFlags.test.ts
@@ -0,0 +1,84 @@
+import { flushPromises, mount } from "@vue/test-utils";
+import { defineComponent, h } from "vue";
+import { createAbby } from "../src";
+
+const abbyConfig = {
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ flags: ["flag1", "flag2", "flag3"],
+ settings: { flags: { defaultValue: true } },
+};
+
+describe("useFeatureFlag", () => {
+ it("returns the value of the feature flag", async () => {
+ const { AbbyProvider, useFeatureFlag } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const flag1 = useFeatureFlag("flag1");
+ const flag2 = useFeatureFlag("flag2");
+
+ expectTypeOf(flag1.value).toEqualTypeOf();
+
+ return () => h("div", `${flag1.value}-${flag2.value}`);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("true-false");
+ });
+
+ it("falls back to the default value for unknown flags", async () => {
+ const { AbbyProvider, useFeatureFlag } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const flag3 = useFeatureFlag("flag3");
+
+ return () => h("div", String(flag3.value));
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("true");
+ });
+
+ it("getFeatureFlagValue works outside of the reactivity system", () => {
+ const { getFeatureFlagValue } = createAbby(abbyConfig);
+
+ expect(getFeatureFlagValue("flag1")).toBeDefined();
+ });
+});
+
+describe("useFeatureFlags", () => {
+ it("returns all flags", async () => {
+ const { AbbyProvider, useFeatureFlags } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const flags = useFeatureFlags();
+
+ return () => h("div", flags.value.map((flag) => flag.name).join(","));
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("flag1,flag2");
+ });
+});
diff --git a/packages/vue/tests/mocks/handlers.ts b/packages/vue/tests/mocks/handlers.ts
new file mode 100644
index 00000000..3141a6ac
--- /dev/null
+++ b/packages/vue/tests/mocks/handlers.ts
@@ -0,0 +1,40 @@
+import { ABBY_BASE_URL, type AbbyDataResponse } from "@tryabby/core";
+import { rest } from "msw";
+
+const returnData: AbbyDataResponse = {
+ tests: [
+ {
+ name: "test",
+ weights: [1, 1, 1, 1],
+ },
+ {
+ name: "test2",
+ weights: [1, 0],
+ },
+ ],
+ flags: [
+ {
+ name: "flag1",
+ value: true,
+ },
+ {
+ name: "flag2",
+ value: false,
+ },
+ ],
+ remoteConfig: [
+ {
+ name: "remoteConfig1",
+ value: "FooBar",
+ },
+ ],
+};
+
+export const handlers = [
+ rest.get(`${ABBY_BASE_URL}api/dashboard/:projectId/data`, (_req, res, ctx) =>
+ res(ctx.json(returnData))
+ ),
+ rest.get(`${ABBY_BASE_URL}api/v2/data/:projectId`, (_req, res, ctx) =>
+ res(ctx.json(returnData))
+ ),
+];
diff --git a/packages/vue/tests/mocks/server.ts b/packages/vue/tests/mocks/server.ts
new file mode 100644
index 00000000..7b37f2ac
--- /dev/null
+++ b/packages/vue/tests/mocks/server.ts
@@ -0,0 +1,4 @@
+import { setupServer } from "msw/node";
+import { handlers } from "./handlers";
+
+export const server = setupServer(...handlers);
diff --git a/packages/vue/tests/remoteConfig.test.ts b/packages/vue/tests/remoteConfig.test.ts
new file mode 100644
index 00000000..ba791cb5
--- /dev/null
+++ b/packages/vue/tests/remoteConfig.test.ts
@@ -0,0 +1,117 @@
+import { flushPromises, mount } from "@vue/test-utils";
+import { defineComponent, h } from "vue";
+import { createAbby } from "../src";
+
+describe("useRemoteConfig", () => {
+ it("returns the value of the remote config", async () => {
+ const { AbbyProvider, useRemoteConfig } = createAbby({
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ remoteConfig: { remoteConfig1: "String" },
+ });
+
+ const Child = defineComponent({
+ setup() {
+ const value = useRemoteConfig("remoteConfig1");
+
+ expectTypeOf(value.value).toEqualTypeOf();
+
+ return () => h("div", value.value);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("FooBar");
+ });
+
+ it("falls back to the default values of the config", () => {
+ const { getRemoteConfig } = createAbby({
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ remoteConfig: {
+ numberConfig: "Number",
+ jsonConfig: "JSON",
+ },
+ settings: {
+ remoteConfig: {
+ defaultValues: {
+ Number: 10,
+ JSON: { foo: "bar" },
+ },
+ },
+ },
+ });
+
+ const number = getRemoteConfig("numberConfig");
+ const json = getRemoteConfig("jsonConfig");
+
+ expectTypeOf(number).toEqualTypeOf();
+ expectTypeOf(json).toEqualTypeOf>();
+
+ expect(number).toBe(10);
+ expect(json).toEqual({ foo: "bar" });
+ });
+
+ it("returns the default value for remote configs which are not on the server", async () => {
+ const { AbbyProvider, useRemoteConfig } = createAbby({
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ remoteConfig: { numberConfig: "Number" },
+ settings: { remoteConfig: { defaultValues: { Number: 10 } } },
+ });
+
+ const Child = defineComponent({
+ setup() {
+ const value = useRemoteConfig("numberConfig");
+
+ expectTypeOf(value.value).toEqualTypeOf();
+
+ return () => h("div", String(value.value));
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("10");
+ });
+});
+
+describe("useRemoteConfigVariables", () => {
+ it("returns all remote config variables", async () => {
+ const { AbbyProvider, useRemoteConfigVariables } = createAbby({
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ remoteConfig: { remoteConfig1: "String" },
+ });
+
+ const Child = defineComponent({
+ setup() {
+ const variables = useRemoteConfigVariables();
+
+ return () =>
+ h("div", variables.value.map((variable) => variable.name).join(","));
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("remoteConfig1");
+ });
+});
diff --git a/packages/vue/tests/setup.ts b/packages/vue/tests/setup.ts
new file mode 100644
index 00000000..d6f1121b
--- /dev/null
+++ b/packages/vue/tests/setup.ts
@@ -0,0 +1,28 @@
+/// @ts-ignore it doesn't have types
+import matchers from "@testing-library/jest-dom/matchers";
+import { config } from "@vue/test-utils";
+import fetch from "node-fetch";
+import { afterEach, beforeAll } from "vitest";
+import { server } from "./mocks/server";
+
+/// @ts-ignore node-fetch is not type compatible with the global fetch
+global.fetch = fetch;
+
+// Establish API mocking before all tests.
+beforeAll(() => server.listen());
+
+// Clean up after the tests are finished.
+afterAll(() => server.close());
+
+// extends Vitest's expect method with methods from testing-library
+expect.extend(matchers);
+
+// runs a cleanup after each test case (e.g. clearing jsdom)
+afterEach(() => {
+ // Reset any request handlers that we may add during the tests,
+ // so they don't affect other tests.
+ server.resetHandlers();
+ document.cookie = "";
+});
+
+config.global.stubs = {};
diff --git a/packages/vue/tests/types.test.ts b/packages/vue/tests/types.test.ts
new file mode 100644
index 00000000..68949c2c
--- /dev/null
+++ b/packages/vue/tests/types.test.ts
@@ -0,0 +1,75 @@
+import { mount } from "@vue/test-utils";
+import { defineComponent, h } from "vue";
+import { createAbby } from "../src";
+
+const test2Variants = [
+ "SimonsText",
+ "MatthiasText",
+ "TomsText",
+ "TimsText",
+] as const;
+
+const { AbbyProvider, useAbby, useFeatureFlag, useRemoteConfig } = createAbby({
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ flags: ["flag1"],
+ tests: {
+ test: { variants: ["ONLY_ONE_VARIANT"] },
+ test2: {
+ variants: test2Variants,
+ },
+ },
+ remoteConfig: {
+ stringConfig: "String",
+ numberConfig: "Number",
+ jsonConfig: "JSON",
+ },
+});
+
+describe("types", () => {
+ it("infers the variant types of the tests", () => {
+ const Child = defineComponent({
+ setup() {
+ const test = useAbby("test");
+ const test2 = useAbby("test2");
+ expectTypeOf(test.variant.value).toEqualTypeOf<"ONLY_ONE_VARIANT">();
+ expectTypeOf(test2.variant.value).toEqualTypeOf<
+ (typeof test2Variants)[number]
+ >();
+
+ return () => h("div");
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ expect(wrapper.text()).toBe("");
+ });
+
+ it("infers the flag and remote config types", () => {
+ const Child = defineComponent({
+ setup() {
+ const flag = useFeatureFlag("flag1");
+ const stringConfig = useRemoteConfig("stringConfig");
+ const numberConfig = useRemoteConfig("numberConfig");
+ const jsonConfig = useRemoteConfig("jsonConfig");
+
+ expectTypeOf(flag.value).toEqualTypeOf();
+ expectTypeOf(stringConfig.value).toEqualTypeOf();
+ expectTypeOf(numberConfig.value).toEqualTypeOf();
+ expectTypeOf(jsonConfig.value).toEqualTypeOf>();
+
+ return () => h("div");
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ expect(wrapper.text()).toBe("");
+ });
+});
diff --git a/packages/vue/tests/useAbby.test.ts b/packages/vue/tests/useAbby.test.ts
new file mode 100644
index 00000000..cd80bdc3
--- /dev/null
+++ b/packages/vue/tests/useAbby.test.ts
@@ -0,0 +1,181 @@
+import { AbbyEventType, HttpService } from "@tryabby/core";
+import { flushPromises, mount } from "@vue/test-utils";
+import { beforeEach } from "vitest";
+import { defineComponent, h } from "vue";
+import { createAbby } from "../src";
+import { TestStorageService } from "../src/StorageService";
+
+const OLD_ENV = process.env;
+
+beforeEach(() => {
+ document.cookie = "";
+ vi.resetModules();
+ vi.restoreAllMocks();
+ process.env = { ...OLD_ENV };
+});
+
+afterAll(() => {
+ process.env = OLD_ENV;
+});
+
+const abbyConfig = {
+ environments: [""],
+ currentEnvironment: "",
+ projectId: "123",
+ tests: {
+ test: { variants: ["OldFooter", "NewFooter"] },
+ test2: {
+ variants: ["SimonsText", "MatthiasText", "TomsText", "TimsText"],
+ },
+ },
+};
+
+describe("useAbby", () => {
+ it("returns the selected variant of the given test", async () => {
+ const setSpy = vi.spyOn(TestStorageService, "set");
+
+ const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const { variant } = useAbby("test");
+
+ return () => h("div", variant.value);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(setSpy).toHaveBeenCalled();
+ expect(["OldFooter", "NewFooter"]).toContain(wrapper.text());
+ });
+
+ it("should use the persisted value", async () => {
+ const persistedValue = "SimonsText";
+ const getSpy = vi.spyOn(TestStorageService, "get");
+ getSpy.mockReturnValue(persistedValue);
+
+ const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const { variant } = useAbby("test2");
+ return () => h("div", variant.value);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe(persistedValue);
+ });
+
+ it("looks the variant up in the lookup object", async () => {
+ const getSpy = vi.spyOn(TestStorageService, "get");
+ getSpy.mockReturnValue("OldFooter");
+
+ const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const { variant } = useAbby("test", {
+ OldFooter: "Retro",
+ NewFooter: "Modern",
+ });
+ return () => h("div", variant.value);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("Retro");
+ });
+
+ it("sends an act event when onAct is called", async () => {
+ const getSpy = vi.spyOn(TestStorageService, "get");
+ getSpy.mockReturnValue("SimonsText");
+ const sendSpy = vi.spyOn(HttpService, "sendData");
+
+ const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+
+ let onAct: (() => void) | undefined;
+
+ const Child = defineComponent({
+ setup() {
+ const abbyTest = useAbby("test2");
+ onAct = abbyTest.onAct;
+ return () => h("div", abbyTest.variant.value);
+ },
+ });
+
+ mount(AbbyProvider, { slots: { default: () => h(Child) } });
+
+ await flushPromises();
+ sendSpy.mockClear();
+
+ onAct?.();
+
+ expect(sendSpy).toHaveBeenCalledWith(
+ expect.objectContaining({
+ type: AbbyEventType.ACT,
+ data: expect.objectContaining({
+ projectId: "123",
+ testName: "test2",
+ selectedVariant: "SimonsText",
+ }),
+ })
+ );
+ });
+
+ it("throws a helpful error when used outside of the provider", () => {
+ const { useAbby } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ useAbby("test");
+ return () => h("div");
+ },
+ });
+
+ expect(() => mount(Child)).toThrow(
+ /useAbbyData must be used within an AbbyProvider/
+ );
+ });
+
+ it("uses the initialData from the server instead of fetching", async () => {
+ const { AbbyProvider, useAbby } = createAbby(abbyConfig);
+
+ const Child = defineComponent({
+ setup() {
+ const { variant } = useAbby("test");
+ return () => h("div", variant.value);
+ },
+ });
+
+ const wrapper = mount(AbbyProvider, {
+ props: {
+ initialData: {
+ tests: [{ name: "test", weights: [0, 1] }],
+ flags: [],
+ remoteConfig: [],
+ },
+ },
+ slots: { default: () => h(Child) },
+ });
+
+ await flushPromises();
+
+ expect(wrapper.text()).toBe("NewFooter");
+ });
+});
diff --git a/packages/vue/tsconfig.json b/packages/vue/tsconfig.json
new file mode 100644
index 00000000..06924dee
--- /dev/null
+++ b/packages/vue/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "tsconfig/react-library.json",
+ "compilerOptions": {
+ "lib": ["ESNext", "DOM"],
+ "types": ["vitest/globals"]
+ }
+}
diff --git a/packages/vue/tsup.config.ts b/packages/vue/tsup.config.ts
new file mode 100644
index 00000000..63bfce96
--- /dev/null
+++ b/packages/vue/tsup.config.ts
@@ -0,0 +1,15 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ dts: true,
+ // we want to bundle the shared package because it's not published to npm
+ // it's hacky :)
+ noExternal: ["shared/src/types"],
+ clean: true,
+ format: ["cjs", "esm"],
+ sourcemap: true,
+ treeshake: true,
+ // vue is a peer dependency, it should never be bundled into the package
+ external: ["vue"],
+});
diff --git a/packages/vue/vite.config.ts b/packages/vue/vite.config.ts
new file mode 100644
index 00000000..65a4bbc1
--- /dev/null
+++ b/packages/vue/vite.config.ts
@@ -0,0 +1,13 @@
+///
+
+import vue from "@vitejs/plugin-vue";
+import { defineConfig } from "vite";
+
+export default defineConfig({
+ plugins: [vue()],
+ test: {
+ globals: true,
+ environment: "jsdom",
+ setupFiles: "./tests/setup.ts",
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 69fa896e..d4438a48 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -327,7 +327,7 @@ importers:
version: 3.1.55(@next/env@14.2.4)(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))
next-themes:
specifier: ^0.2.1
- version: 0.2.1(next@14.1.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 0.2.1(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
nextjs-cors:
specifier: ^2.1.2
version: 2.1.2(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))
@@ -620,7 +620,7 @@ importers:
version: 2.4.2
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))(typescript@5.5.4)
unconfig:
specifier: ^0.3.10
version: 0.3.10
@@ -681,7 +681,7 @@ importers:
version: link:../tsconfig
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -757,7 +757,7 @@ importers:
version: 3.59.1
svelte-check:
specifier: ^2.10.3
- version: 2.10.3(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)
+ version: 2.10.3(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)
tslib:
specifier: ^2.5.0
version: 2.5.3
@@ -827,7 +827,7 @@ importers:
version: link:../tsconfig
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -876,7 +876,7 @@ importers:
version: link:../tsconfig
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -940,7 +940,7 @@ importers:
version: link:../tsconfig
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -1004,7 +1004,7 @@ importers:
version: link:../tsconfig
tsup:
specifier: ^6.5.0
- version: 6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
typescript:
specifier: 5.5.4
version: 5.5.4
@@ -1089,7 +1089,7 @@ importers:
version: 3.59.1
svelte-check:
specifier: ^2.10.3
- version: 2.10.3(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)
+ version: 2.10.3(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)
tslib:
specifier: ^2.5.0
version: 2.5.3
@@ -1108,6 +1108,55 @@ importers:
packages/tsconfig: {}
+ packages/vue:
+ dependencies:
+ '@tryabby/core':
+ specifier: workspace:*
+ version: link:../core
+ js-cookie:
+ specifier: ^3.0.1
+ version: 3.0.5
+ devDependencies:
+ '@testing-library/jest-dom':
+ specifier: ^5.16.5
+ version: 5.16.5
+ '@types/js-cookie':
+ specifier: ^3.0.3
+ version: 3.0.3
+ '@vitejs/plugin-vue':
+ specifier: 5.0.4
+ version: 5.0.4(vite@5.4.0(@types/node@22.1.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.1))(vue@3.5.43(typescript@5.5.4))
+ '@vue/test-utils':
+ specifier: ^2.4.6
+ version: 2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@5.5.4))
+ jsdom:
+ specifier: ^20.0.3
+ version: 20.0.3
+ msw:
+ specifier: ^0.49.1
+ version: 0.49.3(encoding@0.1.13)(typescript@5.5.4)
+ node-fetch:
+ specifier: ^3.3.0
+ version: 3.3.2
+ tsconfig:
+ specifier: workspace:*
+ version: link:../tsconfig
+ tsup:
+ specifier: ^6.5.0
+ version: 6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4)
+ typescript:
+ specifier: 5.5.4
+ version: 5.5.4
+ vite:
+ specifier: 5.4.0
+ version: 5.4.0(@types/node@22.1.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.1)
+ vitest:
+ specifier: 2.0.5
+ version: 2.0.5(@types/node@22.1.0)(jsdom@20.0.3)(less@4.2.0)(sass@1.77.8)(terser@5.31.1)
+ vue:
+ specifier: ^3.4.21
+ version: 3.5.43(typescript@5.5.4)
+
packages:
'@adobe/css-tools@4.2.0':
@@ -1582,6 +1631,10 @@ packages:
resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.22.20':
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
@@ -1590,6 +1643,10 @@ packages:
resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-option@7.22.5':
resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
engines: {node: '>=6.9.0'}
@@ -1656,11 +1713,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/parser@7.24.4':
- resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.24.7':
resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
engines: {node: '>=6.0.0'}
@@ -1671,6 +1723,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.9':
+ resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3':
resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==}
engines: {node: '>=6.9.0'}
@@ -2661,10 +2718,6 @@ packages:
resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.24.0':
- resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.24.7':
resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
engines: {node: '>=6.9.0'}
@@ -2673,6 +2726,10 @@ packages:
resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.29.8':
+ resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==}
+ engines: {node: '>=6.9.0'}
+
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
@@ -2892,7 +2949,7 @@ packages:
'@emotion/use-insertion-effect-with-fallbacks@1.0.1':
resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
peerDependencies:
- react: ^18.2.0
+ react: '>=16.8.0'
'@esbuild-plugins/node-globals-polyfill@0.2.3':
resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==}
@@ -3713,10 +3770,6 @@ packages:
resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jridgewell/gen-mapping@0.3.3':
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
-
'@jridgewell/gen-mapping@0.3.5':
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
@@ -3725,18 +3778,10 @@ packages:
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
engines: {node: '>=6.0.0'}
- '@jridgewell/resolve-uri@3.1.1':
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
- engines: {node: '>=6.0.0'}
-
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
- '@jridgewell/set-array@1.1.2':
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
-
'@jridgewell/set-array@1.2.1':
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
@@ -3750,12 +3795,12 @@ packages:
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ '@jridgewell/sourcemap-codec@1.6.0':
+ resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==}
+
'@jridgewell/trace-mapping@0.3.18':
resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
- '@jridgewell/trace-mapping@0.3.20':
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
-
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
@@ -3845,7 +3890,7 @@ packages:
'@mdx-js/react@2.3.0':
resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==}
peerDependencies:
- react: ^18.2.0
+ react: '>=16'
'@mdx-js/react@3.0.0':
resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==}
@@ -4295,6 +4340,9 @@ packages:
resolution: {integrity: sha512-TUkJLtI163Bz5+JK0O+zDkQpn4gKwN+BovclUvCj6pI/6RXrFqQvUMRS2M+Rt8Rv0qR3wjoMoOPmpJKeOh0nBg==}
engines: {node: '>= 18'}
+ '@one-ini/wasm@0.2.1':
+ resolution: {integrity: sha512-TUqERXGNTifZ9y2g3wPxQrw3HpHv/02DsW3D90T9x0hhonrL1ZqpSmNrU2XkoIq0fP1N6gZfVQzy2Fw1ZvGBNg==}
+
'@open-draft/until@1.0.3':
resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==}
@@ -4671,8 +4719,8 @@ packages:
'@radix-ui/react-direction@1.1.0':
resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
peerDependencies:
- '@types/react': 18.0.26
- react: ^18.2.0
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
'@types/react':
optional: true
@@ -5161,8 +5209,8 @@ packages:
'@radix-ui/react-use-layout-effect@1.1.0':
resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
peerDependencies:
- '@types/react': 18.0.26
- react: ^18.2.0
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
'@types/react':
optional: true
@@ -6344,9 +6392,6 @@ packages:
'@types/estree-jsx@1.0.3':
resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==}
- '@types/estree@1.0.1':
- resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
-
'@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
@@ -6654,6 +6699,13 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0
+ '@vitejs/plugin-vue@5.0.4':
+ resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+
'@vitest/coverage-c8@0.33.0':
resolution: {integrity: sha512-DaF1zJz4dcOZS4k/neiQJokmOWqsGXwhthfmUdPGorXIQHjdPvV6JQSYhQDI41MyI8c+IieQUdIDs5XAMHtDDw==}
deprecated: v8 coverage is moved to @vitest/coverage-v8 package
@@ -6690,9 +6742,21 @@ packages:
'@vue/compiler-core@3.4.24':
resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==}
+ '@vue/compiler-core@3.5.43':
+ resolution: {integrity: sha512-zdiLhnbe1QQqgDT8xZMpNmyqZ3qlI+/Q/FHQco57Kwl/b05HhCzN6eVGN9QU9rbga4CrS0H5SYY8VGHZCt/1Hg==}
+
'@vue/compiler-dom@3.4.24':
resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==}
+ '@vue/compiler-dom@3.5.43':
+ resolution: {integrity: sha512-PEZoAk3NQmsn/ejMzSOCyTYqwGqczrWm70PuhBKjjv1+TCoQAaO/zOqNwjV+honlNstT5ILxtc+8r8UUfj+iEQ==}
+
+ '@vue/compiler-sfc@3.5.43':
+ resolution: {integrity: sha512-FCbrG3XNCRl+js3huuKx4IVHBLTvMkJhVepjbxSPu1gn4yWLaYtGNQdjJGZaMytXB6qb76qQDDmDSLy/vkmleQ==}
+
+ '@vue/compiler-ssr@3.5.43':
+ resolution: {integrity: sha512-GF62orf7KiJX9RqrHNGrYBudsQGD0OhJ5nDs90O8UiDuS40+YMYomiXu6w6EuvtXuRDc3MSNis3EaaSKAVSWpg==}
+
'@vue/language-core@1.8.27':
resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
peerDependencies:
@@ -6701,9 +6765,34 @@ packages:
typescript:
optional: true
+ '@vue/reactivity@3.5.43':
+ resolution: {integrity: sha512-G/c9GyOZNI2jVaaS6OX1EF1SSFSv7H0ERqNTl4+DTFMlZmB5eVAB53aLQNam/7NL2NPtaDD7RdVrzf8uJzMuOA==}
+
+ '@vue/runtime-core@3.5.43':
+ resolution: {integrity: sha512-hU6U6VnVhBGQDpvlnnDlIB8ZGJBiOcgk2lh/0InltHiz3D8oSkluvuvY+do1G2H3+udeKFsmaBlgVYP7gXQzEw==}
+
+ '@vue/runtime-dom@3.5.43':
+ resolution: {integrity: sha512-Bb2Jc0YjjJdMt1SJmb9b2L/IWd3I8lIT9x9eS/xvvP9CiVgna0ffua74xKRmt4/uSJ+0r4iN8ex1jrqkhQGWQw==}
+
+ '@vue/server-renderer@3.5.43':
+ resolution: {integrity: sha512-l2Ygjv9NehV94PSBxNWsAHC0j/eIIKbn92mBuWXAPGLnn6HfJ6MH5ubsd+Nk0YoZ5FRuxWI1P2VSoh+dbPQhCQ==}
+
'@vue/shared@3.4.24':
resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==}
+ '@vue/shared@3.5.43':
+ resolution: {integrity: sha512-uksS7YGMR5NZyr4JNq0Rp+QyLns0ueaz20KwzIPW9R0LH1Vnt4E+XUM29PNseEbf1www2gOuhuDi5AKOIXag9Q==}
+
+ '@vue/test-utils@2.5.1':
+ resolution: {integrity: sha512-V/4a99odJ7hapr0bRt35XxljGk8hefq31gSOnlKTcEq2fUeoj2qb+FcpJYfQu4qfYhW9Ug+O2+CZ3QmZ7gXDzA==}
+ peerDependencies:
+ '@vue/compiler-dom': 3.x
+ '@vue/server-renderer': 3.x
+ vue: 3.x
+ peerDependenciesMeta:
+ '@vue/server-renderer':
+ optional: true
+
'@web3-storage/multipart-parser@1.0.0':
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
@@ -6786,6 +6875,10 @@ packages:
resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ abbrev@5.0.0:
+ resolution: {integrity: sha512-/XrFJgzQQQHpti1raDJC6m4ws6aNktmjBlhk8Fdlk7LwCEuDoieEJJY9OFHjfiFJFFRM2tK+Ky/IsfbbmlMu1w==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
abort-controller@3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
@@ -7141,6 +7234,10 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
+
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@@ -7206,6 +7303,10 @@ packages:
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ brace-expansion@5.0.12:
+ resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==}
+ engines: {node: 20 || >=22}
+
braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
@@ -7576,6 +7677,10 @@ packages:
resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
engines: {node: '>=18'}
+ commander@14.0.3:
+ resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
+ engines: {node: '>=20'}
+
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -7796,6 +7901,9 @@ packages:
csstype@3.1.2:
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
csv-generate@3.4.3:
resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==}
@@ -8276,6 +8384,11 @@ packages:
resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==}
hasBin: true
+ editorconfig@3.0.2:
+ resolution: {integrity: sha512-T0ix8GhtxyKVfUFEcvdNDt3YGqlwkFHbD4/5bgFUDgFmxhI/cSRAeJ87/Sz//Cq8Eam6JX/e23RkoFO71P7aAA==}
+ engines: {node: '>=20'}
+ hasBin: true
+
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@@ -8345,6 +8458,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@7.0.1:
+ resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
+ engines: {node: '>=0.12'}
+
env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
@@ -8985,18 +9102,18 @@ packages:
glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
- glob@10.2.7:
- resolution: {integrity: sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
hasBin: true
+ glob@13.0.6:
+ resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
+ engines: {node: 18 || 20 || >=22}
+
glob@7.1.6:
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
- deprecated: Glob versions prior to v9 are no longer supported
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
@@ -9010,6 +9127,7 @@ packages:
glob@9.3.5:
resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
engines: {node: '>=16 || 14 >=14.17'}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
@@ -9800,10 +9918,6 @@ packages:
resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
engines: {node: '>=8'}
- jackspeak@2.2.1:
- resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==}
- engines: {node: '>=14'}
-
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
@@ -9882,10 +9996,18 @@ packages:
engines: {node: '>=12'}
hasBin: true
+ js-beautify@2.0.3:
+ resolution: {integrity: sha512-cyFbh3tkPhknnTD/0bLf0T0yy2ZIbqL05mttzbt4y1Zfr7NxqXQZ62dkBLKs3oHH/lpjmDRAnciJiSUyOy8XwQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
js-cookie@3.0.5:
resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
engines: {node: '>=14'}
+ js-cookie@3.0.8:
+ resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==}
+
js-levenshtein@1.1.6:
resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
engines: {node: '>=0.10.0'}
@@ -10220,6 +10342,10 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ lru-cache@11.5.3:
+ resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==}
+ engines: {node: 20 || >=22}
+
lru-cache@4.1.5:
resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
@@ -10230,10 +10356,6 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
- lru-cache@9.1.2:
- resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==}
- engines: {node: 14 || >=16.14}
-
lucide-react@0.320.0:
resolution: {integrity: sha512-HuMmfmFiWwctDkN27wklKVZr8UpwP2TTekLZ3xiLCEjx/STG1k0KLWMbBfIJ/lnNJQDfSjztDZSVU316xA+AQg==}
peerDependencies:
@@ -10261,6 +10383,9 @@ packages:
magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
magic-string@0.30.8:
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
engines: {node: '>=12'}
@@ -10713,6 +10838,10 @@ packages:
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ minimatch@10.2.6:
+ resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==}
+ engines: {node: 18 || 20 || >=22}
+
minimatch@3.0.8:
resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
@@ -10774,6 +10903,10 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minipass@7.1.3:
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
minizlib@2.1.2:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
engines: {node: '>= 8'}
@@ -10884,6 +11017,11 @@ packages:
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ nanoid@3.3.19:
+ resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
nanoid@3.3.6:
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -11131,6 +11269,11 @@ packages:
resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
hasBin: true
+ nopt@10.0.1:
+ resolution: {integrity: sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+ hasBin: true
+
nopt@6.0.0:
resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
@@ -11512,9 +11655,9 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-scurry@1.9.2:
- resolution: {integrity: sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==}
- engines: {node: '>=16 || 14 >=14.17'}
+ path-scurry@2.0.2:
+ resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
+ engines: {node: 18 || 20 || >=22}
path-to-regexp@0.1.7:
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
@@ -11569,6 +11712,9 @@ packages:
picocolors@1.0.1:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
@@ -11735,6 +11881,10 @@ packages:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
engines: {node: ^10 || ^12 || >=14}
+ postcss@8.5.28:
+ resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==}
+ engines: {node: ^10 || ^12 || >=14}
+
postgres-array@2.0.0:
resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
engines: {node: '>=4'}
@@ -12414,16 +12564,6 @@ packages:
rollup-pluginutils@2.8.2:
resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
- rollup@3.25.0:
- resolution: {integrity: sha512-FnJkNRst2jEZGw7f+v4hFo6UTzpDKrAKcHZWcEfm5/GJQ5CK7wgb4moNLNAe7npKUev7yQn1AY/YbZRIxOv6Qg==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
-
- rollup@3.27.1:
- resolution: {integrity: sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
-
rollup@3.29.4:
resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -12587,6 +12727,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.8.5:
+ resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
@@ -12771,6 +12916,10 @@ packages:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
source-map-loader@5.0.0:
resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==}
engines: {node: '>= 18.12.0'}
@@ -12791,6 +12940,7 @@ packages:
source-map@0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
sourcemap-codec@1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
@@ -13964,6 +14114,9 @@ packages:
vscode-textmate@8.0.0:
resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
+ vue-component-type-helpers@3.3.11:
+ resolution: {integrity: sha512-LwcxzeliO9fkQcpJG0PoX8X5kmAhKmH9wkpDLxNabwzkQ9Zeib2YVHwFV4pcWmMLfXVfjr/dSV+DaJ3cIPgSNA==}
+
vue-template-compiler@2.7.16:
resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==}
@@ -13973,6 +14126,14 @@ packages:
peerDependencies:
typescript: '*'
+ vue@3.5.43:
+ resolution: {integrity: sha512-o5qZoksdnjIKvW1srZ3ab7pcDNYAerBjRe54D0LBLfRdCYFrSgBHVXokMas35czQc0//lmx4/tuY4ZNQ+Rf2Ng==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
@@ -14046,7 +14207,7 @@ packages:
engines: {node: '>= 18.12.0'}
hasBin: true
peerDependencies:
- webpack: 5.93.0
+ webpack: ^5.0.0
webpack-cli: '*'
peerDependenciesMeta:
webpack:
@@ -14099,6 +14260,7 @@ packages:
whatwg-encoding@2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
whatwg-fetch@3.6.2:
resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==}
@@ -14411,7 +14573,7 @@ snapshots:
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.1801.3(chokidar@3.6.0)
- '@angular-devkit/build-webpack': 0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.92.1))(webpack@5.92.1(esbuild@0.21.5))
+ '@angular-devkit/build-webpack': 0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.92.1))(webpack@5.92.1)
'@angular-devkit/core': 18.1.3(chokidar@3.6.0)
'@angular/build': 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4))(@types/node@20.3.1)(chokidar@3.6.0)(less@4.2.0)(postcss@8.4.38)(tailwindcss@3.3.2(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4)))(terser@5.29.2)(typescript@5.5.4)
'@angular/compiler-cli': 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4)
@@ -14425,15 +14587,15 @@ snapshots:
'@babel/preset-env': 7.24.7(@babel/core@7.24.7)
'@babel/runtime': 7.24.7
'@discoveryjs/json-ext': 0.5.7
- '@ngtools/webpack': 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4))(typescript@5.5.4)(webpack@5.92.1(esbuild@0.21.5))
+ '@ngtools/webpack': 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4))(typescript@5.5.4)(webpack@5.92.1)
'@vitejs/plugin-basic-ssl': 1.1.0(vite@5.3.2(@types/node@20.3.1)(less@4.2.0)(sass@1.77.6)(terser@5.29.2))
ansi-colors: 4.1.3
autoprefixer: 10.4.19(postcss@8.4.38)
- babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1(esbuild@0.21.5))
+ babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1)
browserslist: 4.23.1
- copy-webpack-plugin: 12.0.2(webpack@5.92.1(esbuild@0.21.5))
+ copy-webpack-plugin: 12.0.2(webpack@5.92.1)
critters: 0.0.24
- css-loader: 7.1.2(webpack@5.92.1(esbuild@0.21.5))
+ css-loader: 7.1.2(webpack@5.92.1)
esbuild-wasm: 0.21.5
fast-glob: 3.3.2
http-proxy-middleware: 3.0.0
@@ -14442,11 +14604,11 @@ snapshots:
jsonc-parser: 3.3.1
karma-source-map-support: 1.4.0
less: 4.2.0
- less-loader: 12.2.0(less@4.2.0)(webpack@5.92.1(esbuild@0.21.5))
- license-webpack-plugin: 4.0.2(webpack@5.92.1(esbuild@0.21.5))
+ less-loader: 12.2.0(less@4.2.0)(webpack@5.92.1)
+ license-webpack-plugin: 4.0.2(webpack@5.92.1)
loader-utils: 3.3.1
magic-string: 0.30.10
- mini-css-extract-plugin: 2.9.0(webpack@5.92.1(esbuild@0.21.5))
+ mini-css-extract-plugin: 2.9.0(webpack@5.92.1)
mrmime: 2.0.0
open: 10.1.0
ora: 5.4.1
@@ -14454,13 +14616,13 @@ snapshots:
picomatch: 4.0.2
piscina: 4.6.1
postcss: 8.4.38
- postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.5.4)(webpack@5.92.1(esbuild@0.21.5))
+ postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.5.4)(webpack@5.92.1)
resolve-url-loader: 5.0.0
rxjs: 7.8.1
sass: 1.77.6
- sass-loader: 14.2.1(sass@1.77.6)(webpack@5.92.1(esbuild@0.21.5))
+ sass-loader: 14.2.1(sass@1.77.6)(webpack@5.92.1)
semver: 7.6.2
- source-map-loader: 5.0.0(webpack@5.92.1(esbuild@0.21.5))
+ source-map-loader: 5.0.0(webpack@5.92.1)
source-map-support: 0.5.21
terser: 5.29.2
tree-kill: 1.2.2
@@ -14473,7 +14635,7 @@ snapshots:
webpack-dev-middleware: 7.2.1(webpack@5.92.1)
webpack-dev-server: 5.0.4(webpack@5.92.1)
webpack-merge: 5.10.0
- webpack-subresource-integrity: 5.1.0(webpack@5.92.1(esbuild@0.21.5))
+ webpack-subresource-integrity: 5.1.0(webpack@5.92.1)
optionalDependencies:
esbuild: 0.21.5
karma: 6.4.0
@@ -14497,7 +14659,7 @@ snapshots:
- utf-8-validate
- webpack-cli
- '@angular-devkit/build-webpack@0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.92.1))(webpack@5.92.1(esbuild@0.21.5))':
+ '@angular-devkit/build-webpack@0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.92.1))(webpack@5.92.1)':
dependencies:
'@angular-devkit/architect': 0.1801.3(chokidar@3.6.0)
rxjs: 7.8.1
@@ -14708,10 +14870,10 @@ snapshots:
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.21.8)
'@babel/helpers': 7.24.4
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.25.3
'@babel/template': 7.24.0
'@babel/traverse': 7.24.1
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
convert-source-map: 1.9.0
debug: 4.3.5
gensync: 1.0.0-beta.2
@@ -14748,10 +14910,10 @@ snapshots:
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
'@babel/helpers': 7.24.4
- '@babel/parser': 7.24.4
+ '@babel/parser': 7.25.3
'@babel/template': 7.24.0
'@babel/traverse': 7.24.1
- '@babel/types': 7.24.0
+ '@babel/types': 7.25.2
convert-source-map: 2.0.0
debug: 4.3.5
gensync: 1.0.0-beta.2
@@ -14802,28 +14964,28 @@ snapshots:
'@babel/generator@7.21.9':
dependencies:
- '@babel/types': 7.24.7
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@babel/types': 7.25.2
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
'@babel/generator@7.23.6':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
'@babel/generator@7.24.4':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
'@babel/generator@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
@@ -14837,20 +14999,20 @@ snapshots:
'@babel/helper-annotate-as-pure@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-annotate-as-pure@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-builder-binary-assignment-operator-visitor@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-builder-binary-assignment-operator-visitor@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15003,29 +15165,29 @@ snapshots:
'@babel/helper-environment-visitor@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-function-name@7.23.0':
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-function-name@7.24.7':
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-hoist-variables@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-hoist-variables@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-member-expression-to-functions@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-member-expression-to-functions@7.24.8':
dependencies:
@@ -15036,16 +15198,16 @@ snapshots:
'@babel/helper-module-imports@7.22.15':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-module-imports@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-module-imports@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15142,11 +15304,11 @@ snapshots:
'@babel/helper-optimise-call-expression@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-optimise-call-expression@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-plugin-utils@7.22.5': {}
@@ -15160,7 +15322,7 @@ snapshots:
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-wrap-function': 7.22.5
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15170,7 +15332,7 @@ snapshots:
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-wrap-function': 7.22.5
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15190,7 +15352,7 @@ snapshots:
'@babel/helper-optimise-call-expression': 7.22.5
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15205,33 +15367,33 @@ snapshots:
'@babel/helper-simple-access@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-simple-access@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
'@babel/helper-skip-transparent-expression-wrappers@7.22.5':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-skip-transparent-expression-wrappers@7.24.7':
dependencies:
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
'@babel/helper-split-export-declaration@7.22.6':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-split-export-declaration@7.24.7':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helper-string-parser@7.23.4': {}
@@ -15239,10 +15401,14 @@ snapshots:
'@babel/helper-string-parser@7.24.8': {}
+ '@babel/helper-string-parser@7.29.7': {}
+
'@babel/helper-validator-identifier@7.22.20': {}
'@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/helper-validator-identifier@7.29.7': {}
+
'@babel/helper-validator-option@7.22.5': {}
'@babel/helper-validator-option@7.23.5': {}
@@ -15256,7 +15422,7 @@ snapshots:
'@babel/helper-function-name': 7.23.0
'@babel/template': 7.22.15
'@babel/traverse': 7.23.6
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15272,7 +15438,7 @@ snapshots:
dependencies:
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -15280,14 +15446,14 @@ snapshots:
dependencies:
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
'@babel/helpers@7.24.7':
dependencies:
'@babel/template': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/helpers@7.25.0':
dependencies:
@@ -15296,13 +15462,13 @@ snapshots:
'@babel/highlight@7.22.5':
dependencies:
- '@babel/helper-validator-identifier': 7.22.20
+ '@babel/helper-validator-identifier': 7.24.7
chalk: 2.4.2
js-tokens: 4.0.0
'@babel/highlight@7.23.4':
dependencies:
- '@babel/helper-validator-identifier': 7.22.20
+ '@babel/helper-validator-identifier': 7.24.7
chalk: 2.4.2
js-tokens: 4.0.0
@@ -15322,16 +15488,12 @@ snapshots:
'@babel/parser@7.21.9':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/parser@7.23.6':
dependencies:
'@babel/types': 7.23.6
- '@babel/parser@7.24.4':
- dependencies:
- '@babel/types': 7.24.7
-
'@babel/parser@7.24.7':
dependencies:
'@babel/types': 7.24.7
@@ -15340,6 +15502,10 @@ snapshots:
dependencies:
'@babel/types': 7.25.2
+ '@babel/parser@7.29.9':
+ dependencies:
+ '@babel/types': 7.29.8
+
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.24.7)':
dependencies:
'@babel/core': 7.24.7
@@ -16539,7 +16705,7 @@ snapshots:
'@babel/helper-module-imports': 7.22.5
'@babel/helper-plugin-utils': 7.22.5
'@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.6)
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.21.8)':
dependencies:
@@ -16806,7 +16972,7 @@ snapshots:
'@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.21.8)
'@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.21.8)
'@babel/preset-modules': 0.1.5(@babel/core@7.21.8)
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8)
babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8)
babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8)
@@ -16892,7 +17058,7 @@ snapshots:
'@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.23.6)
'@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.23.6)
'@babel/preset-modules': 0.1.5(@babel/core@7.23.6)
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.23.6)
babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.23.6)
babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.23.6)
@@ -17001,7 +17167,7 @@ snapshots:
'@babel/helper-plugin-utils': 7.24.0
'@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8)
'@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.21.8)
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
esutils: 2.0.3
'@babel/preset-modules@0.1.5(@babel/core@7.23.6)':
@@ -17010,14 +17176,14 @@ snapshots:
'@babel/helper-plugin-utils': 7.24.0
'@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.23.6)
'@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.23.6)
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
esutils: 2.0.3
'@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)':
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
esutils: 2.0.3
'@babel/preset-typescript@7.22.5(@babel/core@7.24.4)':
@@ -17057,20 +17223,20 @@ snapshots:
'@babel/template@7.22.15':
dependencies:
'@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
'@babel/template@7.24.0':
dependencies:
'@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
'@babel/template@7.24.7':
dependencies:
'@babel/code-frame': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
'@babel/template@7.25.0':
dependencies:
@@ -17086,9 +17252,9 @@ snapshots:
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
- debug: 4.3.5
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
+ debug: 4.3.5
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -17101,8 +17267,8 @@ snapshots:
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
debug: 4.3.5
globals: 11.12.0
transitivePeerDependencies:
@@ -17116,8 +17282,8 @@ snapshots:
'@babel/helper-function-name': 7.24.7
'@babel/helper-hoist-variables': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
debug: 4.3.5
globals: 11.12.0
transitivePeerDependencies:
@@ -17131,8 +17297,8 @@ snapshots:
'@babel/helper-function-name': 7.24.7
'@babel/helper-hoist-variables': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
debug: 4.3.5
globals: 11.12.0
transitivePeerDependencies:
@@ -17152,7 +17318,7 @@ snapshots:
'@babel/types@7.21.5':
dependencies:
- '@babel/helper-string-parser': 7.24.7
+ '@babel/helper-string-parser': 7.24.8
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
@@ -17162,12 +17328,6 @@ snapshots:
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
- '@babel/types@7.24.0':
- dependencies:
- '@babel/helper-string-parser': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
-
'@babel/types@7.24.7':
dependencies:
'@babel/helper-string-parser': 7.24.7
@@ -17180,6 +17340,11 @@ snapshots:
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
+ '@babel/types@7.29.8':
+ dependencies:
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+
'@bcoe/v8-coverage@0.2.3': {}
'@biomejs/biome@1.9.4':
@@ -17234,7 +17399,7 @@ snapshots:
'@changesets/apply-release-plan@6.1.3':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/config': 2.3.0
'@changesets/get-version-range-type': 0.3.2
'@changesets/git': 2.0.0
@@ -17250,7 +17415,7 @@ snapshots:
'@changesets/assemble-release-plan@5.2.3':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/errors': 0.1.4
'@changesets/get-dependents-graph': 1.3.5
'@changesets/types': 5.2.1
@@ -17321,7 +17486,7 @@ snapshots:
'@changesets/get-release-plan@3.0.16':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/assemble-release-plan': 5.2.3
'@changesets/config': 2.3.0
'@changesets/pre': 1.0.14
@@ -17333,7 +17498,7 @@ snapshots:
'@changesets/git@2.0.0':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -17352,7 +17517,7 @@ snapshots:
'@changesets/pre@1.0.14':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -17360,7 +17525,7 @@ snapshots:
'@changesets/read@0.5.9':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/git': 2.0.0
'@changesets/logger': 0.0.5
'@changesets/parse': 0.3.16
@@ -17375,7 +17540,7 @@ snapshots:
'@changesets/write@0.2.3':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/types': 5.2.1
fs-extra: 7.0.1
human-id: 1.0.2
@@ -18024,7 +18189,7 @@ snapshots:
dependencies:
'@babel/core': 7.24.4
'@jest/types': 29.5.0
- '@jridgewell/trace-mapping': 0.3.18
+ '@jridgewell/trace-mapping': 0.3.25
babel-plugin-istanbul: 6.1.1
chalk: 4.1.2
convert-source-map: 2.0.0
@@ -18057,12 +18222,6 @@ snapshots:
'@types/yargs': 17.0.24
chalk: 4.1.2
- '@jridgewell/gen-mapping@0.3.3':
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.18
-
'@jridgewell/gen-mapping@0.3.5':
dependencies:
'@jridgewell/set-array': 1.2.1
@@ -18071,12 +18230,8 @@ snapshots:
'@jridgewell/resolve-uri@3.1.0': {}
- '@jridgewell/resolve-uri@3.1.1': {}
-
'@jridgewell/resolve-uri@3.1.2': {}
- '@jridgewell/set-array@1.1.2': {}
-
'@jridgewell/set-array@1.2.1': {}
'@jridgewell/source-map@0.3.6':
@@ -18088,16 +18243,13 @@ snapshots:
'@jridgewell/sourcemap-codec@1.4.15': {}
+ '@jridgewell/sourcemap-codec@1.6.0': {}
+
'@jridgewell/trace-mapping@0.3.18':
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
- '@jridgewell/trace-mapping@0.3.20':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.1
- '@jridgewell/sourcemap-codec': 1.4.15
-
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
@@ -18105,7 +18257,7 @@ snapshots:
'@jridgewell/trace-mapping@0.3.9':
dependencies:
- '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jsonjoy.com/base64@1.1.2(tslib@2.6.3)':
@@ -18155,14 +18307,14 @@ snapshots:
'@manypkg/find-root@1.1.0':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@types/node': 12.20.55
find-up: 4.1.0
fs-extra: 8.1.0
'@manypkg/get-packages@1.1.3':
dependencies:
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@@ -18201,7 +18353,7 @@ snapshots:
'@mdx-js/mdx@3.0.0':
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
'@types/estree-jsx': 1.0.0
'@types/hast': 3.0.3
'@types/mdx': 2.0.5
@@ -18462,7 +18614,7 @@ snapshots:
'@next/swc-win32-x64-msvc@14.1.1':
optional: true
- '@ngtools/webpack@18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4))(typescript@5.5.4)(webpack@5.92.1(esbuild@0.21.5))':
+ '@ngtools/webpack@18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4))(typescript@5.5.4)(webpack@5.92.1)':
dependencies:
'@angular/compiler-cli': 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.12.0)))(typescript@5.5.4)
typescript: 5.5.4
@@ -18691,6 +18843,8 @@ snapshots:
'@octokit/request-error': 6.1.4
'@octokit/webhooks-methods': 5.1.0
+ '@one-ini/wasm@0.2.1': {}
+
'@open-draft/until@1.0.3': {}
'@openpanel/nextjs@1.0.3(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
@@ -18986,21 +19140,21 @@ snapshots:
'@radix-ui/number@1.0.1':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive@1.0.0':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive@1.0.1':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive@1.1.0': {}
'@radix-ui/react-arrow@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -19023,7 +19177,7 @@ snapshots:
'@radix-ui/react-collection@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-context': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -19048,12 +19202,12 @@ snapshots:
'@radix-ui/react-compose-refs@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
'@radix-ui/react-compose-refs@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
@@ -19066,12 +19220,12 @@ snapshots:
'@radix-ui/react-context@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
'@radix-ui/react-context@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
@@ -19129,7 +19283,7 @@ snapshots:
'@radix-ui/react-direction@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
@@ -19142,7 +19296,7 @@ snapshots:
'@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive': 1.0.0
'@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
'@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -19153,7 +19307,7 @@ snapshots:
'@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -19167,7 +19321,7 @@ snapshots:
'@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -19197,19 +19351,19 @@ snapshots:
'@radix-ui/react-focus-guards@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
'@radix-ui/react-focus-guards@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
'@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
'@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
@@ -19218,7 +19372,7 @@ snapshots:
'@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.14)(react@18.2.0)
@@ -19230,7 +19384,7 @@ snapshots:
'@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.14)(react@18.2.0)
@@ -19246,13 +19400,13 @@ snapshots:
'@radix-ui/react-id@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
react: 18.2.0
'@radix-ui/react-id@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
optionalDependencies:
@@ -19351,7 +19505,7 @@ snapshots:
'@radix-ui/react-popper@1.1.2(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@floating-ui/react-dom': 2.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
@@ -19370,7 +19524,7 @@ snapshots:
'@radix-ui/react-popper@1.1.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@floating-ui/react-dom': 2.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
@@ -19389,14 +19543,14 @@ snapshots:
'@radix-ui/react-portal@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
'@radix-ui/react-portal@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -19406,7 +19560,7 @@ snapshots:
'@radix-ui/react-portal@1.0.4(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -19416,7 +19570,7 @@ snapshots:
'@radix-ui/react-presence@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
'@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
react: 18.2.0
@@ -19424,7 +19578,7 @@ snapshots:
'@radix-ui/react-presence@1.0.1(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
@@ -19445,14 +19599,14 @@ snapshots:
'@radix-ui/react-primitive@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-slot': 1.0.0(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
'@radix-ui/react-primitive@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-slot': 1.0.2(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -19490,7 +19644,7 @@ snapshots:
'@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-collection': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.14)(react@18.2.0)
@@ -19555,7 +19709,7 @@ snapshots:
'@radix-ui/react-slot@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
react: 18.2.0
@@ -19629,12 +19783,12 @@ snapshots:
'@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
'@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
@@ -19647,13 +19801,13 @@ snapshots:
'@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
react: 18.2.0
'@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
optionalDependencies:
@@ -19668,13 +19822,13 @@ snapshots:
'@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
react: 18.2.0
'@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
optionalDependencies:
@@ -19682,12 +19836,12 @@ snapshots:
'@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
'@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
@@ -19700,14 +19854,14 @@ snapshots:
'@radix-ui/react-use-previous@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
optionalDependencies:
'@types/react': 18.0.14
'@radix-ui/react-use-rect@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/rect': 1.0.1
react: 18.2.0
optionalDependencies:
@@ -19715,7 +19869,7 @@ snapshots:
'@radix-ui/react-use-size@1.0.1(@types/react@18.0.14)(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.14)(react@18.2.0)
react: 18.2.0
optionalDependencies:
@@ -19723,7 +19877,7 @@ snapshots:
'@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -19733,7 +19887,7 @@ snapshots:
'@radix-ui/rect@1.0.1':
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
'@react-email/button@0.0.5':
dependencies:
@@ -20521,7 +20675,7 @@ snapshots:
magic-string: 0.27.0
remark-external-links: 8.0.0
remark-slug: 6.1.0
- rollup: 3.27.1
+ rollup: 3.29.4
vite: 5.4.0(@types/node@22.1.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.1)
optionalDependencies:
typescript: 5.5.4
@@ -20702,7 +20856,7 @@ snapshots:
ts-dedent: 2.2.0
util-deprecate: 1.0.2
watchpack: 2.4.1
- ws: 8.13.0
+ ws: 8.18.0
transitivePeerDependencies:
- bufferutil
- encoding
@@ -20773,7 +20927,7 @@ snapshots:
memoizerific: 1.11.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- semver: 7.5.1
+ semver: 7.6.2
store2: 2.14.2
telejson: 7.1.0
ts-dedent: 2.2.0
@@ -21013,7 +21167,7 @@ snapshots:
'@testing-library/jest-dom@5.16.5':
dependencies:
'@adobe/css-tools': 4.2.0
- '@babel/runtime': 7.22.5
+ '@babel/runtime': 7.24.7
'@types/testing-library__jest-dom': 5.14.6
aria-query: 5.1.3
chalk: 3.0.0
@@ -21291,8 +21445,8 @@ snapshots:
'@types/babel__core@7.20.1':
dependencies:
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
'@types/babel__traverse': 7.20.1
@@ -21307,7 +21461,7 @@ snapshots:
'@types/babel__generator@7.6.4':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@types/babel__generator@7.6.8':
dependencies:
@@ -21315,8 +21469,8 @@ snapshots:
'@types/babel__template@7.4.1':
dependencies:
- '@babel/parser': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/parser': 7.25.3
+ '@babel/types': 7.25.2
'@types/babel__template@7.4.4':
dependencies:
@@ -21325,7 +21479,7 @@ snapshots:
'@types/babel__traverse@7.20.1':
dependencies:
- '@babel/types': 7.24.7
+ '@babel/types': 7.25.2
'@types/babel__traverse@7.20.5':
dependencies:
@@ -21426,14 +21580,12 @@ snapshots:
'@types/estree-jsx@1.0.0':
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
'@types/estree-jsx@1.0.3':
dependencies:
'@types/estree': 1.0.5
- '@types/estree@1.0.1': {}
-
'@types/estree@1.0.5': {}
'@types/express-serve-static-core@4.17.35':
@@ -21784,6 +21936,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitejs/plugin-vue@5.0.4(vite@5.4.0(@types/node@22.1.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.1))(vue@3.5.43(typescript@5.5.4))':
+ dependencies:
+ vite: 5.4.0(@types/node@22.1.0)(less@4.2.0)(sass@1.77.8)(terser@5.31.1)
+ vue: 3.5.43(typescript@5.5.4)
+
'@vitest/coverage-c8@0.33.0(vitest@2.0.5(@types/node@22.1.0)(jsdom@20.0.3)(less@4.2.0)(sass@1.77.8)(terser@5.31.1))':
dependencies:
'@ampproject/remapping': 2.3.0
@@ -21841,17 +21998,47 @@ snapshots:
'@vue/compiler-core@3.4.24':
dependencies:
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.25.3
'@vue/shared': 3.4.24
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
+ '@vue/compiler-core@3.5.43':
+ dependencies:
+ '@babel/parser': 7.29.9
+ '@vue/shared': 3.5.43
+ entities: 7.0.1
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
'@vue/compiler-dom@3.4.24':
dependencies:
'@vue/compiler-core': 3.4.24
'@vue/shared': 3.4.24
+ '@vue/compiler-dom@3.5.43':
+ dependencies:
+ '@vue/compiler-core': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/compiler-sfc@3.5.43':
+ dependencies:
+ '@babel/parser': 7.29.9
+ '@vue/compiler-core': 3.5.43
+ '@vue/compiler-dom': 3.5.43
+ '@vue/compiler-ssr': 3.5.43
+ '@vue/shared': 3.5.43
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.28
+ source-map-js: 1.2.1
+
+ '@vue/compiler-ssr@3.5.43':
+ dependencies:
+ '@vue/compiler-dom': 3.5.43
+ '@vue/shared': 3.5.43
+
'@vue/language-core@1.8.27(typescript@5.5.4)':
dependencies:
'@volar/language-core': 1.11.1
@@ -21866,8 +22053,41 @@ snapshots:
optionalDependencies:
typescript: 5.5.4
+ '@vue/reactivity@3.5.43':
+ dependencies:
+ '@vue/shared': 3.5.43
+
+ '@vue/runtime-core@3.5.43':
+ dependencies:
+ '@vue/reactivity': 3.5.43
+ '@vue/shared': 3.5.43
+
+ '@vue/runtime-dom@3.5.43':
+ dependencies:
+ '@vue/reactivity': 3.5.43
+ '@vue/runtime-core': 3.5.43
+ '@vue/shared': 3.5.43
+ csstype: 3.2.3
+
+ '@vue/server-renderer@3.5.43':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.43
+ '@vue/runtime-dom': 3.5.43
+ '@vue/shared': 3.5.43
+
'@vue/shared@3.4.24': {}
+ '@vue/shared@3.5.43': {}
+
+ '@vue/test-utils@2.5.1(@vue/compiler-dom@3.5.43)(@vue/server-renderer@3.5.43)(vue@3.5.43(typescript@5.5.4))':
+ dependencies:
+ '@vue/compiler-dom': 3.5.43
+ js-beautify: 2.0.3
+ vue: 3.5.43(typescript@5.5.4)
+ vue-component-type-helpers: 3.3.11
+ optionalDependencies:
+ '@vue/server-renderer': 3.5.43
+
'@web3-storage/multipart-parser@1.0.0': {}
'@webassemblyjs/ast@1.12.1':
@@ -21968,6 +22188,8 @@ snapshots:
abbrev@2.0.0: {}
+ abbrev@5.0.0: {}
+
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
@@ -21979,7 +22201,7 @@ snapshots:
acorn-globals@7.0.1:
dependencies:
- acorn: 8.11.3
+ acorn: 8.12.0
acorn-walk: 8.3.2
acorn-import-assertions@1.9.0(acorn@8.12.0):
@@ -22234,7 +22456,7 @@ snapshots:
dependencies:
'@babel/core': 7.24.4
- babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1(esbuild@0.21.5)):
+ babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1):
dependencies:
'@babel/core': 7.24.7
find-cache-dir: 4.0.0
@@ -22327,6 +22549,8 @@ snapshots:
balanced-match@1.0.2: {}
+ balanced-match@4.0.4: {}
+
base64-js@1.5.1: {}
base64id@2.0.0: {}
@@ -22407,6 +22631,10 @@ snapshots:
dependencies:
balanced-match: 1.0.2
+ brace-expansion@5.0.12:
+ dependencies:
+ balanced-match: 4.0.4
+
braces@3.0.2:
dependencies:
fill-range: 7.0.1
@@ -22520,7 +22748,7 @@ snapshots:
dependencies:
'@npmcli/fs': 3.1.0
fs-minipass: 3.0.2
- glob: 10.2.7
+ glob: 10.4.5
lru-cache: 10.4.3
minipass: 7.1.2
minipass-collect: 2.0.1
@@ -22798,6 +23026,8 @@ snapshots:
commander@12.1.0: {}
+ commander@14.0.3: {}
+
commander@2.20.3: {}
commander@4.1.1: {}
@@ -22907,7 +23137,7 @@ snapshots:
dependencies:
is-what: 4.1.15
- copy-webpack-plugin@12.0.2(webpack@5.92.1(esbuild@0.21.5)):
+ copy-webpack-plugin@12.0.2(webpack@5.92.1):
dependencies:
fast-glob: 3.3.2
glob-parent: 6.0.2
@@ -22960,7 +23190,7 @@ snapshots:
dom-serializer: 2.0.0
domhandler: 5.0.3
htmlparser2: 8.0.2
- postcss: 8.4.38
+ postcss: 8.4.41
postcss-media-query-parser: 0.2.3
cron-parser@4.9.0:
@@ -22981,14 +23211,14 @@ snapshots:
crypto-random-string@2.0.0: {}
- css-loader@7.1.2(webpack@5.92.1(esbuild@0.21.5)):
+ css-loader@7.1.2(webpack@5.92.1):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
- postcss-modules-extract-imports: 3.1.0(postcss@8.4.38)
- postcss-modules-local-by-default: 4.0.5(postcss@8.4.38)
- postcss-modules-scope: 3.2.0(postcss@8.4.38)
- postcss-modules-values: 4.0.0(postcss@8.4.38)
+ icss-utils: 5.1.0(postcss@8.4.41)
+ postcss: 8.4.41
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.41)
+ postcss-modules-local-by-default: 4.0.5(postcss@8.4.41)
+ postcss-modules-scope: 3.2.0(postcss@8.4.41)
+ postcss-modules-values: 4.0.0(postcss@8.4.41)
postcss-value-parser: 4.2.0
semver: 7.6.2
optionalDependencies:
@@ -23018,6 +23248,8 @@ snapshots:
csstype@3.1.2: {}
+ csstype@3.2.3: {}
+
csv-generate@3.4.3: {}
csv-parse@4.16.3: {}
@@ -23430,7 +23662,7 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
csstype: 3.1.2
dom-serialize@2.2.1:
@@ -23508,6 +23740,13 @@ snapshots:
semver: 5.7.1
sigmund: 1.0.1
+ editorconfig@3.0.2:
+ dependencies:
+ '@one-ini/wasm': 0.2.1
+ commander: 14.0.3
+ minimatch: 10.2.6
+ semver: 7.8.5
+
ee-first@1.1.1: {}
ejs@3.1.9:
@@ -23575,6 +23814,8 @@ snapshots:
entities@4.5.0: {}
+ entities@7.0.1: {}
+
env-paths@2.2.1: {}
envinfo@7.8.1: {}
@@ -23904,7 +24145,7 @@ snapshots:
estree-util-attach-comments@3.0.0:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
estree-util-build-jsx@2.2.2:
dependencies:
@@ -23955,7 +24196,7 @@ snapshots:
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
esutils@2.0.3: {}
@@ -24443,14 +24684,6 @@ snapshots:
glob-to-regexp@0.4.1: {}
- glob@10.2.7:
- dependencies:
- foreground-child: 3.1.1
- jackspeak: 2.2.1
- minimatch: 9.0.4
- minipass: 5.0.0
- path-scurry: 1.9.2
-
glob@10.4.5:
dependencies:
foreground-child: 3.1.1
@@ -24460,6 +24693,12 @@ snapshots:
package-json-from-dist: 1.0.0
path-scurry: 1.11.1
+ glob@13.0.6:
+ dependencies:
+ minimatch: 10.2.6
+ minipass: 7.1.3
+ path-scurry: 2.0.2
+
glob@7.1.6:
dependencies:
fs.realpath: 1.0.0
@@ -24691,7 +24930,7 @@ snapshots:
hast-util-to-estree@3.1.0:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
'@types/estree-jsx': 1.0.0
'@types/hast': 3.0.3
comma-separated-tokens: 2.0.3
@@ -24712,7 +24951,7 @@ snapshots:
hast-util-to-jsx-runtime@2.3.0:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
'@types/hast': 3.0.3
'@types/unist': 3.0.2
comma-separated-tokens: 2.0.3
@@ -24949,9 +25188,9 @@ snapshots:
dependencies:
safer-buffer: 2.1.2
- icss-utils@5.1.0(postcss@8.4.38):
+ icss-utils@5.1.0(postcss@8.4.41):
dependencies:
- postcss: 8.4.38
+ postcss: 8.4.41
ieee754@1.2.1: {}
@@ -25236,7 +25475,7 @@ snapshots:
is-reference@3.0.1:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
is-regex@1.1.4:
dependencies:
@@ -25357,7 +25596,7 @@ snapshots:
istanbul-lib-instrument@6.0.2:
dependencies:
'@babel/core': 7.24.7
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.25.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.6.2
@@ -25394,12 +25633,6 @@ snapshots:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- jackspeak@2.2.1:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
@@ -25507,8 +25740,18 @@ snapshots:
glob: 8.1.0
nopt: 6.0.0
+ js-beautify@2.0.3:
+ dependencies:
+ config-chain: 1.1.13
+ editorconfig: 3.0.2
+ glob: 13.0.6
+ js-cookie: 3.0.8
+ nopt: 10.0.1
+
js-cookie@3.0.5: {}
+ js-cookie@3.0.8: {}
+
js-levenshtein@1.1.6: {}
js-tokens@4.0.0: {}
@@ -25527,7 +25770,7 @@ snapshots:
jscodeshift@0.14.0(@babel/preset-env@7.21.5(@babel/core@7.21.8)):
dependencies:
'@babel/core': 7.24.4
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.25.3
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4)
@@ -25552,7 +25795,7 @@ snapshots:
jscodeshift@0.14.0(@babel/preset-env@7.22.5(@babel/core@7.23.6)):
dependencies:
'@babel/core': 7.24.4
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.25.3
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4)
@@ -25577,7 +25820,7 @@ snapshots:
jsdom@20.0.3:
dependencies:
abab: 2.0.6
- acorn: 8.11.2
+ acorn: 8.12.0
acorn-globals: 7.0.1
cssom: 0.5.0
cssstyle: 2.3.0
@@ -25600,7 +25843,7 @@ snapshots:
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
- ws: 8.13.0
+ ws: 8.18.0
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
@@ -25781,7 +26024,7 @@ snapshots:
leac@0.6.0: {}
- less-loader@12.2.0(less@4.2.0)(webpack@5.92.1(esbuild@0.21.5)):
+ less-loader@12.2.0(less@4.2.0)(webpack@5.92.1):
dependencies:
less: 4.2.0
optionalDependencies:
@@ -25813,7 +26056,7 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- license-webpack-plugin@4.0.2(webpack@5.92.1(esbuild@0.21.5)):
+ license-webpack-plugin@4.0.2(webpack@5.92.1):
dependencies:
webpack-sources: 3.2.3
optionalDependencies:
@@ -25961,6 +26204,8 @@ snapshots:
lru-cache@10.4.3: {}
+ lru-cache@11.5.3: {}
+
lru-cache@4.1.5:
dependencies:
pseudomap: 1.0.2
@@ -25974,8 +26219,6 @@ snapshots:
dependencies:
yallist: 4.0.0
- lru-cache@9.1.2: {}
-
lucide-react@0.320.0(react@18.2.0):
dependencies:
react: 18.2.0
@@ -26000,6 +26243,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.6.0
+
magic-string@0.30.8:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -26073,7 +26320,7 @@ snapshots:
match-sorter@6.3.1:
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
remove-accents: 0.4.2
matchit@1.1.0:
@@ -26602,8 +26849,8 @@ snapshots:
micromark-extension-mdxjs@1.0.1:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
+ acorn: 8.12.0
+ acorn-jsx: 5.3.2(acorn@8.12.0)
micromark-extension-mdx-expression: 1.0.8
micromark-extension-mdx-jsx: 1.0.5
micromark-extension-mdx-md: 1.0.1
@@ -26613,8 +26860,8 @@ snapshots:
micromark-extension-mdxjs@3.0.0:
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
+ acorn: 8.12.0
+ acorn-jsx: 5.3.2(acorn@8.12.0)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
@@ -26919,7 +27166,7 @@ snapshots:
min-indent@1.0.1: {}
- mini-css-extract-plugin@2.9.0(webpack@5.92.1(esbuild@0.21.5)):
+ mini-css-extract-plugin@2.9.0(webpack@5.92.1):
dependencies:
schema-utils: 4.1.0
tapable: 2.2.1
@@ -26948,6 +27195,10 @@ snapshots:
minimalistic-assert@1.0.1: {}
+ minimatch@10.2.6:
+ dependencies:
+ brace-expansion: 5.0.12
+
minimatch@3.0.8:
dependencies:
brace-expansion: 1.1.11
@@ -27010,6 +27261,8 @@ snapshots:
minipass@7.1.2: {}
+ minipass@7.1.3: {}
+
minizlib@2.1.2:
dependencies:
minipass: 3.3.6
@@ -27085,7 +27338,7 @@ snapshots:
'@types/cookie': 0.4.1
'@types/js-levenshtein': 1.1.1
chalk: 4.1.1
- chokidar: 3.5.3
+ chokidar: 3.6.0
cookie: 0.4.2
graphql: 16.6.0
headers-polyfill: 3.1.2
@@ -27150,6 +27403,8 @@ snapshots:
object-assign: 4.1.1
thenify-all: 1.6.0
+ nanoid@3.3.19: {}
+
nanoid@3.3.6: {}
nanoid@3.3.7: {}
@@ -27227,7 +27482,7 @@ snapshots:
minimist: 1.2.8
next: 14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8)
- next-themes@0.2.1(next@14.1.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ next-themes@0.2.1(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
next: 14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8)
react: 18.2.0
@@ -27306,7 +27561,7 @@ snapshots:
match-sorter: 6.3.1
next: 14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8)
next-seo: 6.4.0(next@14.1.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- next-themes: 0.2.1(next@14.1.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next-themes: 0.2.1(next@14.1.1(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
nextra: 2.13.2(next@14.1.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.77.8))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -27475,6 +27730,10 @@ snapshots:
dependencies:
abbrev: 1.1.1
+ nopt@10.0.1:
+ dependencies:
+ abbrev: 5.0.0
+
nopt@6.0.0:
dependencies:
abbrev: 1.1.1
@@ -27917,10 +28176,10 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.2
- path-scurry@1.9.2:
+ path-scurry@2.0.2:
dependencies:
- lru-cache: 9.1.2
- minipass: 5.0.0
+ lru-cache: 11.5.3
+ minipass: 7.1.3
path-to-regexp@0.1.7: {}
@@ -27948,7 +28207,7 @@ snapshots:
periscopic@3.1.0:
dependencies:
- '@types/estree': 1.0.1
+ '@types/estree': 1.0.5
estree-walker: 3.0.3
is-reference: 3.0.1
@@ -27968,6 +28227,8 @@ snapshots:
picocolors@1.0.1: {}
+ picocolors@1.1.1: {}
+
picomatch@2.3.1: {}
picomatch@4.0.2: {}
@@ -28006,7 +28267,7 @@ snapshots:
polished@4.2.2:
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
polka@0.5.2:
dependencies:
@@ -28033,20 +28294,20 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.24
- postcss-load-config@3.1.4(postcss@8.4.41)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4)):
+ postcss-load-config@3.1.4(postcss@8.5.28)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4)):
dependencies:
lilconfig: 2.1.0
yaml: 1.10.2
optionalDependencies:
- postcss: 8.4.41
+ postcss: 8.5.28
ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.5.4)
- postcss-load-config@3.1.4(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)):
+ postcss-load-config@3.1.4(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)):
dependencies:
lilconfig: 2.1.0
yaml: 1.10.2
optionalDependencies:
- postcss: 8.4.41
+ postcss: 8.5.28
ts-node: 10.9.1(@types/node@22.1.0)(typescript@5.5.4)
postcss-load-config@4.0.1(postcss@8.4.24)(ts-node@10.9.1(@types/node@18.16.17)(typescript@5.5.4)):
@@ -28066,16 +28327,16 @@ snapshots:
ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.5.4)
optional: true
- postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)):
+ postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)):
dependencies:
lilconfig: 2.1.0
yaml: 2.3.1
optionalDependencies:
- postcss: 8.4.41
+ postcss: 8.5.28
ts-node: 10.9.1(@types/node@22.1.0)(typescript@5.5.4)
optional: true
- postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.5.4)(webpack@5.92.1(esbuild@0.21.5)):
+ postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.5.4)(webpack@5.92.1):
dependencies:
cosmiconfig: 9.0.0(typescript@5.5.4)
jiti: 1.21.6
@@ -28088,26 +28349,26 @@ snapshots:
postcss-media-query-parser@0.2.3: {}
- postcss-modules-extract-imports@3.1.0(postcss@8.4.38):
+ postcss-modules-extract-imports@3.1.0(postcss@8.4.41):
dependencies:
- postcss: 8.4.38
+ postcss: 8.4.41
- postcss-modules-local-by-default@4.0.5(postcss@8.4.38):
+ postcss-modules-local-by-default@4.0.5(postcss@8.4.41):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
+ icss-utils: 5.1.0(postcss@8.4.41)
+ postcss: 8.4.41
postcss-selector-parser: 6.0.13
postcss-value-parser: 4.2.0
- postcss-modules-scope@3.2.0(postcss@8.4.38):
+ postcss-modules-scope@3.2.0(postcss@8.4.41):
dependencies:
- postcss: 8.4.38
+ postcss: 8.4.41
postcss-selector-parser: 6.0.13
- postcss-modules-values@4.0.0(postcss@8.4.38):
+ postcss-modules-values@4.0.0(postcss@8.4.41):
dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
+ icss-utils: 5.1.0(postcss@8.4.41)
+ postcss: 8.4.41
postcss-nested@6.0.1(postcss@8.4.24):
dependencies:
@@ -28156,6 +28417,12 @@ snapshots:
picocolors: 1.0.1
source-map-js: 1.2.0
+ postcss@8.5.28:
+ dependencies:
+ nanoid: 3.3.19
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
postgres-array@2.0.0: {}
postgres-bytea@1.0.0: {}
@@ -28483,7 +28750,7 @@ snapshots:
react-error-boundary@3.1.4(react@18.2.0):
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
react: 18.2.0
react-hook-form@7.44.3(react@18.2.0):
@@ -28579,7 +28846,7 @@ snapshots:
react-transition-group@4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
@@ -28702,7 +28969,7 @@ snapshots:
regenerator-transform@0.15.1:
dependencies:
- '@babel/runtime': 7.23.6
+ '@babel/runtime': 7.24.7
regenerator-transform@0.15.2:
dependencies:
@@ -28864,7 +29131,7 @@ snapshots:
adjust-sourcemap-loader: 4.0.0
convert-source-map: 1.9.0
loader-utils: 2.0.4
- postcss: 8.4.38
+ postcss: 8.4.41
source-map: 0.6.1
resolve.exports@2.0.2: {}
@@ -28943,14 +29210,6 @@ snapshots:
dependencies:
estree-walker: 0.6.1
- rollup@3.25.0:
- optionalDependencies:
- fsevents: 2.3.3
-
- rollup@3.27.1:
- optionalDependencies:
- fsevents: 2.3.3
-
rollup@3.29.4:
optionalDependencies:
fsevents: 2.3.3
@@ -29018,7 +29277,7 @@ snapshots:
mkdirp: 0.5.6
rimraf: 2.7.1
- sass-loader@14.2.1(sass@1.77.6)(webpack@5.92.1(esbuild@0.21.5)):
+ sass-loader@14.2.1(sass@1.77.6)(webpack@5.92.1):
dependencies:
neo-async: 2.6.2
optionalDependencies:
@@ -29033,13 +29292,13 @@ snapshots:
sass@1.77.6:
dependencies:
- chokidar: 3.5.3
+ chokidar: 3.6.0
immutable: 4.3.0
source-map-js: 1.2.0
sass@1.77.8:
dependencies:
- chokidar: 3.5.3
+ chokidar: 3.6.0
immutable: 4.3.0
source-map-js: 1.2.0
@@ -29118,6 +29377,8 @@ snapshots:
semver@7.6.2: {}
+ semver@7.8.5: {}
+
send@0.18.0:
dependencies:
debug: 2.6.9
@@ -29393,7 +29654,9 @@ snapshots:
source-map-js@1.2.0: {}
- source-map-loader@5.0.0(webpack@5.92.1(esbuild@0.21.5)):
+ source-map-js@1.2.1: {}
+
+ source-map-loader@5.0.0(webpack@5.92.1):
dependencies:
iconv-lite: 0.6.3
source-map-js: 1.2.0
@@ -29637,7 +29900,7 @@ snapshots:
sucrase@3.32.0:
dependencies:
- '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/gen-mapping': 0.3.5
commander: 4.1.1
glob: 7.1.6
lines-and-columns: 1.2.4
@@ -29689,7 +29952,7 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- svelte-check@2.10.3(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1):
+ svelte-check@2.10.3(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1):
dependencies:
'@jridgewell/trace-mapping': 0.3.18
chokidar: 3.5.3
@@ -29698,7 +29961,7 @@ snapshots:
picocolors: 1.0.0
sade: 1.8.1
svelte: 3.59.1
- svelte-preprocess: 4.10.7(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4)
+ svelte-preprocess: 4.10.7(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4)
typescript: 5.5.4
transitivePeerDependencies:
- '@babel/core'
@@ -29712,7 +29975,7 @@ snapshots:
- stylus
- sugarss
- svelte-check@2.10.3(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1):
+ svelte-check@2.10.3(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1):
dependencies:
'@jridgewell/trace-mapping': 0.3.18
chokidar: 3.5.3
@@ -29721,7 +29984,7 @@ snapshots:
picocolors: 1.0.0
sade: 1.8.1
svelte: 3.59.1
- svelte-preprocess: 4.10.7(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4)
+ svelte-preprocess: 4.10.7(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4)
typescript: 5.5.4
transitivePeerDependencies:
- '@babel/core'
@@ -29739,7 +30002,7 @@ snapshots:
dependencies:
svelte: 3.59.1
- svelte-preprocess@4.10.7(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4):
+ svelte-preprocess@4.10.7(@babel/core@7.23.6)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4):
dependencies:
'@types/pug': 2.0.6
'@types/sass': 1.45.0
@@ -29751,12 +30014,12 @@ snapshots:
optionalDependencies:
'@babel/core': 7.23.6
less: 4.2.0
- postcss: 8.4.41
- postcss-load-config: 4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
+ postcss: 8.5.28
+ postcss-load-config: 4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
sass: 1.77.8
typescript: 5.5.4
- svelte-preprocess@4.10.7(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.4.41)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4):
+ svelte-preprocess@4.10.7(@babel/core@7.24.9)(less@4.2.0)(postcss-load-config@4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4)))(postcss@8.5.28)(sass@1.77.8)(svelte@3.59.1)(typescript@5.5.4):
dependencies:
'@types/pug': 2.0.6
'@types/sass': 1.45.0
@@ -29768,8 +30031,8 @@ snapshots:
optionalDependencies:
'@babel/core': 7.24.9
less: 4.2.0
- postcss: 8.4.41
- postcss-load-config: 4.0.1(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
+ postcss: 8.5.28
+ postcss-load-config: 4.0.1(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
sass: 1.77.8
typescript: 5.5.4
@@ -30151,47 +30414,47 @@ snapshots:
tsscmp@1.0.6: {}
- tsup@6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))(typescript@5.5.4):
+ tsup@6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))(typescript@5.5.4):
dependencies:
bundle-require: 4.0.1(esbuild@0.17.19)
cac: 6.7.14
- chokidar: 3.5.3
- debug: 4.3.4
+ chokidar: 3.6.0
+ debug: 4.3.5
esbuild: 0.17.19
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.4.41)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))
+ postcss-load-config: 3.1.4(postcss@8.5.28)(ts-node@10.9.1(@types/node@20.3.1)(typescript@5.5.4))
resolve-from: 5.0.0
- rollup: 3.25.0
+ rollup: 3.29.4
source-map: 0.8.0-beta.0
sucrase: 3.32.0
tree-kill: 1.2.2
optionalDependencies:
- postcss: 8.4.41
+ postcss: 8.5.28
typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- ts-node
- tsup@6.7.0(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4):
+ tsup@6.7.0(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))(typescript@5.5.4):
dependencies:
bundle-require: 4.0.1(esbuild@0.17.19)
cac: 6.7.14
- chokidar: 3.5.3
- debug: 4.3.4
+ chokidar: 3.6.0
+ debug: 4.3.5
esbuild: 0.17.19
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.4.41)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
+ postcss-load-config: 3.1.4(postcss@8.5.28)(ts-node@10.9.1(@types/node@22.1.0)(typescript@5.5.4))
resolve-from: 5.0.0
- rollup: 3.25.0
+ rollup: 3.29.4
source-map: 0.8.0-beta.0
sucrase: 3.32.0
tree-kill: 1.2.2
optionalDependencies:
- postcss: 8.4.41
+ postcss: 8.5.28
typescript: 5.5.4
transitivePeerDependencies:
- supports-color
@@ -30746,7 +31009,7 @@ snapshots:
vite@5.3.2(@types/node@20.3.1)(less@4.2.0)(sass@1.77.6)(terser@5.29.2):
dependencies:
esbuild: 0.21.5
- postcss: 8.4.38
+ postcss: 8.4.41
rollup: 4.18.0
optionalDependencies:
'@types/node': 20.3.1
@@ -30905,6 +31168,8 @@ snapshots:
vscode-textmate@8.0.0: {}
+ vue-component-type-helpers@3.3.11: {}
+
vue-template-compiler@2.7.16:
dependencies:
de-indent: 1.0.2
@@ -30914,7 +31179,17 @@ snapshots:
dependencies:
'@volar/typescript': 1.11.1
'@vue/language-core': 1.8.27(typescript@5.5.4)
- semver: 7.6.0
+ semver: 7.6.2
+ typescript: 5.5.4
+
+ vue@3.5.43(typescript@5.5.4):
+ dependencies:
+ '@vue/compiler-dom': 3.5.43
+ '@vue/compiler-sfc': 3.5.43
+ '@vue/runtime-dom': 3.5.43
+ '@vue/server-renderer': 3.5.43
+ '@vue/shared': 3.5.43
+ optionalDependencies:
typescript: 5.5.4
w3c-keyname@2.2.8: {}
@@ -31041,7 +31316,7 @@ snapshots:
webpack-sources@3.2.3: {}
- webpack-subresource-integrity@5.1.0(webpack@5.92.1(esbuild@0.21.5)):
+ webpack-subresource-integrity@5.1.0(webpack@5.92.1):
dependencies:
typed-assert: 1.0.9
webpack: 5.92.1(esbuild@0.21.5)