From 36c348c852a6199bae60cde8cd58d07d15450921 Mon Sep 17 00:00:00 2001 From: rcampos2 Date: Tue, 26 Mar 2024 16:08:44 -0400 Subject: [PATCH 1/3] feat: console asset --- .bazelignore | 2 + .../src/dsl/__tests__/index.test.tsx.hbs | 4 +- asset-template/src/dsl/index.tsx.hbs | 2 +- asset-template/src/types/index.ts.hbs | 2 +- console/BUILD | 35 ++ console/README.md | 92 +++ console/package.json | 9 + console/src/component/index.tsx | 9 + console/src/dsl/__tests__/index.test.tsx | 19 + console/src/dsl/index.tsx | 39 ++ console/src/index.ts | 4 + console/src/transform/index.ts | 62 ++ console/src/types/index.ts | 30 + docs/storybook/.storybook/preview.ts | 4 + docs/storybook/src/assets/Console.mdx | 22 + docs/storybook/src/assets/Console.stories.tsx | 12 + docs/storybook/src/assets/Info.mdx | 22 + docs/storybook/src/assets/Info.stories.tsx | 12 + docs/storybook/src/flows/console/basic.tsx | 63 ++ docs/storybook/src/flows/info/basic.tsx | 50 ++ .../src/flows/object-inpector/basic.tsx | 3 +- info/BUILD | 34 + info/README.md | 85 +++ info/package.json | 9 + info/src/component/index.tsx | 20 + info/src/dsl/__tests__/index.test.tsx | 54 ++ info/src/dsl/index.tsx | 51 ++ info/src/index.ts | 3 + info/src/types/index.ts | 10 + package.json | 4 +- plugin/BUILD | 2 + plugin/package.json | 2 + plugin/src/index.ts | 16 +- plugin/src/plugins/AssetsRegistryPlugin.tsx | 8 +- plugin/src/plugins/TransformPlugin.ts | 2 + pnpm-lock.yaml | 594 ++++++++++-------- pnpm-workspace.yaml | 2 + 37 files changed, 1110 insertions(+), 283 deletions(-) create mode 100644 console/BUILD create mode 100644 console/README.md create mode 100644 console/package.json create mode 100644 console/src/component/index.tsx create mode 100644 console/src/dsl/__tests__/index.test.tsx create mode 100644 console/src/dsl/index.tsx create mode 100644 console/src/index.ts create mode 100644 console/src/transform/index.ts create mode 100644 console/src/types/index.ts create mode 100644 docs/storybook/src/assets/Console.mdx create mode 100644 docs/storybook/src/assets/Console.stories.tsx create mode 100644 docs/storybook/src/assets/Info.mdx create mode 100644 docs/storybook/src/assets/Info.stories.tsx create mode 100644 docs/storybook/src/flows/console/basic.tsx create mode 100644 docs/storybook/src/flows/info/basic.tsx create mode 100644 info/BUILD create mode 100644 info/README.md create mode 100644 info/package.json create mode 100644 info/src/component/index.tsx create mode 100644 info/src/dsl/__tests__/index.test.tsx create mode 100644 info/src/dsl/index.tsx create mode 100644 info/src/index.ts create mode 100644 info/src/types/index.ts diff --git a/.bazelignore b/.bazelignore index 5b2f040..203f929 100644 --- a/.bazelignore +++ b/.bazelignore @@ -25,6 +25,8 @@ plugin/node_modules list/node_modules docs/storybook/node_modules docs/site/node_modules +console/node_modules +info/node_modules # Backup files _backup diff --git a/asset-template/src/dsl/__tests__/index.test.tsx.hbs b/asset-template/src/dsl/__tests__/index.test.tsx.hbs index 0f687b8..afcd45a 100644 --- a/asset-template/src/dsl/__tests__/index.test.tsx.hbs +++ b/asset-template/src/dsl/__tests__/index.test.tsx.hbs @@ -9,7 +9,7 @@ import { import { {{pascalCase assetName}} } from "../"; describe("DSL: {{pascalCase assetName}}", () => { - test("Renders action", async () => { + test("Renders {{assetName}}", async () => { const rendered = await render( <{{pascalCase assetName}} exp={e`my_expression`} binding={b`my_binding`}> <{{pascalCase assetName}}.Label> @@ -35,7 +35,7 @@ describe("DSL: {{pascalCase assetName}}", () => { expect(rendered.jsonValue).toStrictEqual({ id: "root", - type: "action", + type: "{{assetName}}", label: { asset: { id: "label", diff --git a/asset-template/src/dsl/index.tsx.hbs b/asset-template/src/dsl/index.tsx.hbs index 088de20..a975371 100644 --- a/asset-template/src/dsl/index.tsx.hbs +++ b/asset-template/src/dsl/index.tsx.hbs @@ -29,7 +29,7 @@ export const {{pascalCase assetName}} = (props: AssetPropsWithChildren<{{pascalC } return ( - + {binding.toValue()} {props.children} diff --git a/asset-template/src/types/index.ts.hbs b/asset-template/src/types/index.ts.hbs index 9ac5b5c..cbfd42c 100644 --- a/asset-template/src/types/index.ts.hbs +++ b/asset-template/src/types/index.ts.hbs @@ -1,6 +1,6 @@ import type { Asset } from "@player-ui/types"; -export interface {{pascalCase assetName}}Asset extends Asset<"action"> { +export interface {{pascalCase assetName}}Asset extends Asset<"{{assetName}}"> { // DSL properties // /** Value */ // value?: AssetWrapper; diff --git a/console/BUILD b/console/BUILD new file mode 100644 index 0000000..7147cbb --- /dev/null +++ b/console/BUILD @@ -0,0 +1,35 @@ +load("@npm//:defs.bzl", "npm_link_all_packages") +load("@rules_player//javascript:defs.bzl", "js_pipeline") +load("//helpers:defs.bzl", "tsup_config", "vitest_config") + +npm_link_all_packages(name = "node_modules") + +tsup_config(name = "tsup_config") + +vitest_config(name = "vitest_config") + +js_pipeline( + package_name = "@devtools-ui/console", + test_deps = [ + ":node_modules", + "//:vitest_config", + ], + deps = [ + ":node_modules/@devtools-ui/collection", + ":node_modules/@devtools-ui/text", + "//:node_modules/@chakra-ui/react", + "//:node_modules/@emotion/react", + "//:node_modules/@emotion/styled", + "//:node_modules/@player-tools/dsl", + "//:node_modules/@player-ui/asset-transform-plugin", + "//:node_modules/@player-ui/player", + "//:node_modules/@player-ui/react", + "//:node_modules/@player-ui/types", + "//:node_modules/@types/react", + "//:node_modules/dlv", + "//:node_modules/eslint-plugin-storybook", + "//:node_modules/framer-motion", + "//:node_modules/react", + "//:node_modules/@devtools-ds/console" + ], +) diff --git a/console/README.md b/console/README.md new file mode 100644 index 0000000..a55125b --- /dev/null +++ b/console/README.md @@ -0,0 +1,92 @@ +# @devtools-ui/console + +## Overview + +`@devtools-ui/console` is a component package designed to be leveraged by a [Player-UI assets plugin](https://player-ui.github.io/next/plugins). + +It provides a [Console]([TODO: add link to storybook]) component that can be used to [TODO: define component features]. + +This package is part of a mono-repo built with Bazel, ensuring fast and reliable builds. + +## Installation + +To install `@devtools-ui/console`, you can use pnpm or yarn: + +```sh +pnpm i @devtools-ui/console +``` + +or + +```sh +yarn add @devtools-ui/console +``` + +## Usage + +You can leverage this asset through the `@devtools-ui/plugin`: + +```ts +import { Console } from "@devtools-ui/plugin"; + +// and use it to define your Player-UI content: +myFlow = { + id: "my_flow", + views: [], +}; +``` + +For more information on how to author Player-UI content using DSL, please check our [Player-UI docs](https://player-ui.github.io/next/dsl#tsxjsx-content-authoring-player-dsl). + +Or, your can leverage this asset in your own plugin: + +```ts +// TransformPlugin.ts +import type { Player, PlayerPlugin } from "@player-ui/player"; +import { AssetTransformPlugin } from "@player-ui/asset-transform-plugin"; +import { consoleTransform } from "@devtools-ui/console"; + +export class TransformsPlugin implements PlayerPlugin { + name = "my-plugin-transforms"; + + apply(player: Player) { + player.registerPlugin( + new AssetTransformPlugin([[{ type: "console" }, consoleTransform]]) + ); + } +} +``` + +```ts +// AssetRegistryPlugin.ts +import React from "react"; +import type { Player } from "@player-ui/player"; +import type { + ExtendedPlayerPlugin, + ReactPlayer, + ReactPlayerPlugin, +} from "@player-ui/react"; +import { AssetProviderPlugin } from "@player-ui/asset-provider-plugin-react"; +import { TransformsPlugin } from "./TransformPlugin"; +import { ConsoleAsset, ConsoleComponent } from "@devtools-ui/console"; + +export class AssetsRegistryPlugin + implements ReactPlayerPlugin, ExtendedPlayerPlugin<[ConsoleAsset]> +{ + name = "my-plugin"; + + applyReact(reactPlayer: ReactPlayer) { + reactPlayer.registerPlugin( + new AssetProviderPlugin([["console", ConsoleComponent]]) + ); + } + + apply(player: Player) { + player.registerPlugin(new TransformsPlugin()); + } +} +``` + +## Contributing + +We welcome contributions to `@devtools-ui/console`! Please see the [CONTRIBUTING.md](TODO: link to the file) file for more information on how to contribute. diff --git a/console/package.json b/console/package.json new file mode 100644 index 0000000..5f7f1ef --- /dev/null +++ b/console/package.json @@ -0,0 +1,9 @@ +{ + "name": "@devtools-ui/console", + "version": "0.0.0-PLACEHOLDER", + "main": "src/index.ts", + "dependencies": { + "@devtools-ui/text": "workspace:*", + "@devtools-ui/collection": "workspace:*" + } +} diff --git a/console/src/component/index.tsx b/console/src/component/index.tsx new file mode 100644 index 0000000..bd00fac --- /dev/null +++ b/console/src/component/index.tsx @@ -0,0 +1,9 @@ +import React from "react"; +import { Console } from "@devtools-ds/console"; +import type { TransformedConsole } from "../types"; + +export const ConsoleComponent = (props: TransformedConsole) => { + const { evaluate, history } = props; + + return ; +}; diff --git a/console/src/dsl/__tests__/index.test.tsx b/console/src/dsl/__tests__/index.test.tsx new file mode 100644 index 0000000..53f5799 --- /dev/null +++ b/console/src/dsl/__tests__/index.test.tsx @@ -0,0 +1,19 @@ +import React from "react"; +import { describe, expect, test } from "vitest"; +import { render, expression as e, binding as b } from "@player-tools/dsl"; +import { Console } from "../"; + +describe("DSL: Console", () => { + test("Renders console", async () => { + const rendered = await render( + + ); + + expect(rendered.jsonValue).toStrictEqual({ + id: "root", + type: "console", + exp: "my_expression", + binding: "my_binding", + }); + }); +}); diff --git a/console/src/dsl/index.tsx b/console/src/dsl/index.tsx new file mode 100644 index 0000000..189bac1 --- /dev/null +++ b/console/src/dsl/index.tsx @@ -0,0 +1,39 @@ +import React from "react"; +import { + AssetPropsWithChildren, + Asset, + isTemplateStringInstance, + BindingTemplateInstance, +} from "@player-tools/dsl"; +import type { ConsoleAsset } from "../types"; + +/** + * Defines the component DSL representation for the Console asset, + * a component that emulates a REPL environment that you see in browsers. + */ +export const Console = ( + props: Omit, "binding"> & { + /** Binding as template string */ + binding: BindingTemplateInstance; + } +) => { + const { exp, binding } = props; + + // Extracting the exp value from the props + let expValue: ConsoleAsset["exp"]; + + if (isTemplateStringInstance(exp)) { + expValue = exp.toValue(); + } else if (Array.isArray(exp)) { + expValue = exp.map((e) => (typeof e === "string" ? e : e.toValue())); + } else if (exp) { + expValue = exp; + } + + return ( + + {exp && {expValue}} + {binding && {binding.toValue()}} + + ); +}; diff --git a/console/src/index.ts b/console/src/index.ts new file mode 100644 index 0000000..016650c --- /dev/null +++ b/console/src/index.ts @@ -0,0 +1,4 @@ +export * from "./types"; +export * from "./component"; +export * from "./dsl"; +export * from "./transform"; diff --git a/console/src/transform/index.ts b/console/src/transform/index.ts new file mode 100644 index 0000000..591a4fe --- /dev/null +++ b/console/src/transform/index.ts @@ -0,0 +1,62 @@ +import type { + Asset, + BeforeTransformFunction, + TransformFunction, +} from "@player-ui/player"; +import { compose, composeBefore } from "@player-ui/asset-transform-plugin"; +import { ConsoleAsset, TransformedConsole } from "../types"; + +/** + * Platform-agnostic transform function that takes the properties we get from the Player Content (DSL > JSON) + * and embeds Player state and methods: + */ +export const transform: TransformFunction = ( + asset, + options +) => { + return { + ...asset, + history: + asset.binding === undefined + ? undefined + : options.data.model.get(asset.binding, { + includeInvalid: true, + formatted: false, + }), + evaluate() { + if (asset.exp) { + options.evaluate(asset.exp); + } + }, + }; +}; + +/** + * Appends `exp` to the plugins.stringResolver.propertiesToSkip array or creates it if it doesn't exist + */ +export const expPropTransform: BeforeTransformFunction = (asset) => { + const skipArray = asset.plugins?.stringResolver?.propertiesToSkip; + + if (skipArray && skipArray.indexOf("exp") > 1) { + return asset; + } + + return { + ...asset, + plugins: { + ...asset.plugins, + stringResolver: { + ...asset?.plugins?.stringResolver, + propertiesToSkip: [ + ...(asset.plugins?.stringResolver?.propertiesToSkip ?? []), + "exp", + ], + }, + }, + }; +}; + +export const consoleTransform = compose( + transform, + composeBefore(expPropTransform) +); diff --git a/console/src/types/index.ts b/console/src/types/index.ts new file mode 100644 index 0000000..479c3a3 --- /dev/null +++ b/console/src/types/index.ts @@ -0,0 +1,30 @@ +import type { Asset, Expression } from "@player-ui/types"; + +export interface Evaluation { + /** A unique key for this expression */ + id: string; + + /** The expression itself */ + expression: string; + + /** The result for a given expression */ + result?: unknown; + + /** Whether there were any errors with the result */ + severity?: "error" | "warning"; +} + +export interface ConsoleAsset extends Asset<"console"> { + /** Evaluate expression */ + exp?: Expression; + /** History binding */ + binding?: string; +} + +/** A stateful instance of the asset */ +export interface TransformedConsole extends ConsoleAsset { + /** A stateful instance of an action */ + history: Evaluation[]; + /** A method to evaluate the expression */ + evaluate: () => void; +} diff --git a/docs/storybook/.storybook/preview.ts b/docs/storybook/.storybook/preview.ts index 371cba5..e9261ff 100644 --- a/docs/storybook/.storybook/preview.ts +++ b/docs/storybook/.storybook/preview.ts @@ -6,6 +6,8 @@ import DevtoolsUIPlugin, { Navigation, ObjectInspector, Text, + Info, + Console, } from "@devtools-ui/plugin"; import { Preview } from "@storybook/react"; import { CommonTypesPlugin } from "@player-ui/common-types-plugin"; @@ -28,6 +30,8 @@ const components = { Navigation, ObjectInspector, Text, + Info, + Console, }; export const parameters = { diff --git a/docs/storybook/src/assets/Console.mdx b/docs/storybook/src/assets/Console.mdx new file mode 100644 index 0000000..65941d2 --- /dev/null +++ b/docs/storybook/src/assets/Console.mdx @@ -0,0 +1,22 @@ +import { Canvas, Meta } from '@storybook/blocks'; +import * as ConsoleStories from "./Console.stories"; + + + +# Console Asset + +> type: `console` + +It provides a `Console` component that can be used to allow the user to interact with the Player-UI expression evaluator. + +## DSL Properties + +| Property | Type | Required | Description | +| --- | --- | --- | --- | +| `binding` | `string` | true | Binding to the history of evaluations. | +| `exp` | `string` | true | Evaluation expression | + +## Basic Use Case + + + diff --git a/docs/storybook/src/assets/Console.stories.tsx b/docs/storybook/src/assets/Console.stories.tsx new file mode 100644 index 0000000..3607c43 --- /dev/null +++ b/docs/storybook/src/assets/Console.stories.tsx @@ -0,0 +1,12 @@ +import type { Meta } from "@storybook/react"; +import { createDSLStory } from "@player-ui/storybook-addon-player"; +import { Console } from "@devtools-ui/plugin"; + +const meta: Meta = { + title: "Devtools UI Assets/Console", + component: Console, +}; + +export default meta; + +export const Basic = createDSLStory(() => import("../flows/console/basic?raw")); diff --git a/docs/storybook/src/assets/Info.mdx b/docs/storybook/src/assets/Info.mdx new file mode 100644 index 0000000..9d48ab0 --- /dev/null +++ b/docs/storybook/src/assets/Info.mdx @@ -0,0 +1,22 @@ +import { Canvas, Meta } from '@storybook/blocks'; +import * as InfoStories from "./Info.stories"; + + + +# Info Asset + +> type: `info` + +It provides an Info view. A simple stacked layout composed by header, main content and footer. + +## DSL Properties + +| Property | Type | Required | Description | +| --- | --- | --- | --- | +| `header` | `AssetWrapper` | false | header section | +| `main` | `AssetWrapper` | false | main section | +| `footer` | `AssetWrapper` | false | footer section | + +## Basic Use Case + + diff --git a/docs/storybook/src/assets/Info.stories.tsx b/docs/storybook/src/assets/Info.stories.tsx new file mode 100644 index 0000000..e82fa60 --- /dev/null +++ b/docs/storybook/src/assets/Info.stories.tsx @@ -0,0 +1,12 @@ +import type { Meta } from "@storybook/react"; +import { createDSLStory } from "@player-ui/storybook-addon-player"; +import { Info } from "@devtools-ui/plugin"; + +const meta: Meta = { + title: "Devtools UI Assets/Info", + component: Info, +}; + +export default meta; + +export const Basic = createDSLStory(() => import("../flows/info/basic?raw")); diff --git a/docs/storybook/src/flows/console/basic.tsx b/docs/storybook/src/flows/console/basic.tsx new file mode 100644 index 0000000..ca146e1 --- /dev/null +++ b/docs/storybook/src/flows/console/basic.tsx @@ -0,0 +1,63 @@ +import React from "react"; +import type { DSLFlow, DSLSchema } from "@player-tools/dsl"; +import { expression as e, makeBindingsForObject } from "@player-tools/dsl"; +import { Console } from "@devtools-ui/plugin"; + +const schema = { + expression: { type: "StringType" }, + history: [ + { + id: { type: "StringType" }, + expression: { type: "StringType" }, + result: { type: "StringType" }, + severity: { type: "StringType" }, + }, + ] as [DSLSchema], +}; + +const bindings = makeBindingsForObject(schema); + +const view1 = ( + +); + +const flow: DSLFlow = { + id: "console-basic", + views: [view1], + data: { + expression: "", + history: [ + { id: "0", expression: "1 + 1", result: "2" }, + { id: "1", expression: "1 / 0", result: "Infinity", severity: "error" }, + { + id: "2", + expression: "1 + a", + result: "Expected a integer, got a string", + severity: "warning", + }, + ], + }, + schema, + navigation: { + BEGIN: "FLOW_1", + FLOW_1: { + startState: "VIEW_1", + VIEW_1: { + state_type: "VIEW", + ref: view1, + transitions: { + "*": "END_Done", + }, + }, + END_Done: { + state_type: "END", + outcome: "DONE", + }, + }, + }, +}; + +export default flow; diff --git a/docs/storybook/src/flows/info/basic.tsx b/docs/storybook/src/flows/info/basic.tsx new file mode 100644 index 0000000..3f9606d --- /dev/null +++ b/docs/storybook/src/flows/info/basic.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { Collection, Info, Text } from "@devtools-ui/plugin"; +import type { DSLFlow } from "@player-tools/dsl"; + +const view1 = ( + + + Header + + + + + Item 1 + Item 2 + Item 3 + + + + + Footer + + +); + +const flow: DSLFlow = { + id: "info-basic", + views: [view1], + data: { + count: 0, + }, + navigation: { + BEGIN: "FLOW_1", + FLOW_1: { + startState: "VIEW_1", + VIEW_1: { + state_type: "VIEW", + ref: view1, + transitions: { + "*": "END_Done", + }, + }, + END_Done: { + state_type: "END", + outcome: "DONE", + }, + }, + }, +}; + +export default flow; diff --git a/docs/storybook/src/flows/object-inpector/basic.tsx b/docs/storybook/src/flows/object-inpector/basic.tsx index 021f4a1..4e4b39c 100644 --- a/docs/storybook/src/flows/object-inpector/basic.tsx +++ b/docs/storybook/src/flows/object-inpector/basic.tsx @@ -31,8 +31,7 @@ const flow: DSLFlow = { }, }, }, - // TODO: update @devtools-ui version to 0.5.1 - schema: schema as unknown as DSLFlow["schema"], + schema, navigation: { BEGIN: "FLOW_1", FLOW_1: { diff --git a/info/BUILD b/info/BUILD new file mode 100644 index 0000000..914b812 --- /dev/null +++ b/info/BUILD @@ -0,0 +1,34 @@ +load("@npm//:defs.bzl", "npm_link_all_packages") +load("@rules_player//javascript:defs.bzl", "js_pipeline") +load("//helpers:defs.bzl", "tsup_config", "vitest_config") + +npm_link_all_packages(name = "node_modules") + +tsup_config(name = "tsup_config") + +vitest_config(name = "vitest_config") + +js_pipeline( + package_name = "@devtools-ui/info", + test_deps = [ + ":node_modules", + "//:vitest_config", + ], + deps = [ + ":node_modules/@devtools-ui/collection", + ":node_modules/@devtools-ui/text", + "//:node_modules/@chakra-ui/react", + "//:node_modules/@emotion/react", + "//:node_modules/@emotion/styled", + "//:node_modules/@player-tools/dsl", + "//:node_modules/@player-ui/asset-transform-plugin", + "//:node_modules/@player-ui/player", + "//:node_modules/@player-ui/react", + "//:node_modules/@player-ui/types", + "//:node_modules/@types/react", + "//:node_modules/dlv", + "//:node_modules/eslint-plugin-storybook", + "//:node_modules/framer-motion", + "//:node_modules/react", + ], +) diff --git a/info/README.md b/info/README.md new file mode 100644 index 0000000..166a7bb --- /dev/null +++ b/info/README.md @@ -0,0 +1,85 @@ +# @devtools-ui/info + +## Overview + +`@devtools-ui/info` is a component package designed to be leveraged by a [Player-UI assets plugin](https://player-ui.github.io/next/plugins). + +It provides an Info view. A simple stacked layout composed by header, main content and footer. + +## Installation + +To install `@devtools-ui/info`, you can use pnpm or yarn: + +```sh +pnpm i @devtools-ui/info +``` + +or + +```sh +yarn add @devtools-ui/info +``` + +## Usage + +You can leverage this asset through the `@devtools-ui/plugin`: + +```ts +import { Info, Text } from "@devtools-ui/plugin"; + +// and use it to define your Player-UI content: +myFlow = { + id: "my_flow", + views: [ + + + Header + + + Main + + + Footer + + , + ], +}; +``` + +For more information on how to author Player-UI content using DSL, please check our [Player-UI docs](https://player-ui.github.io/next/dsl#tsxjsx-content-authoring-player-dsl). + +Or, your can leverage this asset in your own plugin: + +```ts +// AssetRegistryPlugin.ts +import React from "react"; +import type { Player } from "@player-ui/player"; +import type { + ExtendedPlayerPlugin, + ReactPlayer, + ReactPlayerPlugin, +} from "@player-ui/react"; +import { AssetProviderPlugin } from "@player-ui/asset-provider-plugin-react"; +import { TransformsPlugin } from "./TransformPlugin"; +import { InfoAsset, InfoComponent } from "@devtools-ui/info"; + +export class AssetsRegistryPlugin + implements ReactPlayerPlugin, ExtendedPlayerPlugin<[InfoAsset]> +{ + name = "my-plugin"; + + applyReact(reactPlayer: ReactPlayer) { + reactPlayer.registerPlugin( + new AssetProviderPlugin([["info", InfoComponent]]) + ); + } + + apply(player: Player) { + player.registerPlugin(new TransformsPlugin()); + } +} +``` + +## Contributing + +We welcome contributions to `@devtools-ui/info`! diff --git a/info/package.json b/info/package.json new file mode 100644 index 0000000..e2afb9a --- /dev/null +++ b/info/package.json @@ -0,0 +1,9 @@ +{ + "name": "@devtools-ui/info", + "version": "0.0.0-PLACEHOLDER", + "main": "src/index.ts", + "dependencies": { + "@devtools-ui/text": "workspace:*", + "@devtools-ui/collection": "workspace:*" + } +} diff --git a/info/src/component/index.tsx b/info/src/component/index.tsx new file mode 100644 index 0000000..64508b2 --- /dev/null +++ b/info/src/component/index.tsx @@ -0,0 +1,20 @@ +import { Grid, GridItem } from "@chakra-ui/react"; +import { ReactAsset } from "@player-ui/react"; +import React from "react"; +import type { InfoView } from "../types"; + +export const InfoComponent = (props: InfoView) => { + const { header, main, footer } = props; + + return ( + + + {header && } + + {main && } + + {footer && } + + + ); +}; diff --git a/info/src/dsl/__tests__/index.test.tsx b/info/src/dsl/__tests__/index.test.tsx new file mode 100644 index 0000000..69a6ea3 --- /dev/null +++ b/info/src/dsl/__tests__/index.test.tsx @@ -0,0 +1,54 @@ +import React from "react"; +import { describe, expect, test } from "vitest"; +import { render, Asset } from "@player-tools/dsl"; +import { Info } from "../"; + +describe("DSL: Info", () => { + test("Renders info view", async () => { + const rendered = await render( + + + + Header + + + + + Main + + + + + Footer + + + + ); + + expect(rendered.jsonValue).toStrictEqual({ + id: "root", + type: "info", + header: { + asset: { + id: "header", + type: "text", + value: "Header", + }, + }, + main: { + asset: { + id: "main", + type: "text", + value: "Main", + }, + }, + footer: { + asset: { + id: "footer", + type: "text", + value: "Footer", + }, + }, + }); + }); +}); diff --git a/info/src/dsl/index.tsx b/info/src/dsl/index.tsx new file mode 100644 index 0000000..ea72f30 --- /dev/null +++ b/info/src/dsl/index.tsx @@ -0,0 +1,51 @@ +import React from "react"; +import { AssetPropsWithChildren, Asset, createSlot } from "@player-tools/dsl"; +import type { Asset as AssetType } from "@player-ui/player"; +import { Collection } from "@devtools-ui/collection"; +import { Text } from "@devtools-ui/text"; +import type { InfoView } from "../types"; + +/** + * Defines the component DSL representation for the Info view. + */ +export const Info = (props: AssetPropsWithChildren) => { + const { children, ...rest } = props; + + return ( + + {children} + + ); +}; + +const CollectionComp = (props: AssetPropsWithChildren) => { + return ( + + {props.children} + + ); +}; + +Info.Header = createSlot({ + name: "header", + TextComp: Text, + CollectionComp, + isArray: false, + wrapInAsset: true, +}); + +Info.Main = createSlot({ + name: "main", + TextComp: Text, + CollectionComp, + isArray: false, + wrapInAsset: true, +}); + +Info.Footer = createSlot({ + name: "footer", + TextComp: Text, + CollectionComp, + isArray: false, + wrapInAsset: true, +}); diff --git a/info/src/index.ts b/info/src/index.ts new file mode 100644 index 0000000..1fa3516 --- /dev/null +++ b/info/src/index.ts @@ -0,0 +1,3 @@ +export * from "./types"; +export * from "./component"; +export * from "./dsl"; diff --git a/info/src/types/index.ts b/info/src/types/index.ts new file mode 100644 index 0000000..92e2601 --- /dev/null +++ b/info/src/types/index.ts @@ -0,0 +1,10 @@ +import type { Asset, AssetWrapper, View } from "@player-ui/types"; + +export interface InfoView extends View> { + /** Header */ + header?: AssetWrapper; + /** Main */ + main?: AssetWrapper; + /** Footer */ + footer?: AssetWrapper; +} diff --git a/package.json b/package.json index f557f75..52d1111 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,12 @@ "@auto-it/version-file": "^10.46.0", "@chakra-ui/react": "^2.8.2", "@chakra-ui/storybook-addon": "^5.1.0", + "@devtools-ds/console": "^1.2.1", "@devtools-ds/object-inspector": "^1.1.2", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.0", "@monaco-editor/react": "^4.6.0", - "@player-tools/dsl": "^0.4.1", + "@player-tools/dsl": "0.5.2--canary.87.2261", "@player-ui/asset-provider-plugin-react": "^0.7.1", "@player-ui/asset-transform-plugin": "^0.7.1", "@player-ui/beacon-plugin-react": "^0.7.1", @@ -41,7 +42,6 @@ "@player-ui/metrics-plugin-react": "^0.7.1", "@player-ui/player": "0.7.1", "@player-ui/react": "^0.7.1", - "@player-ui/reference-assets-plugin": "^0.7.1", "@player-ui/types": "0.7.1", "@reduxjs/toolkit": "^2.2.1", "@storybook/addon-docs": "^8.0.2", diff --git a/plugin/BUILD b/plugin/BUILD index 352843a..55a084d 100644 --- a/plugin/BUILD +++ b/plugin/BUILD @@ -13,6 +13,8 @@ js_pipeline( deps = [ ":node_modules/@devtools-ui/action", ":node_modules/@devtools-ui/collection", + ":node_modules/@devtools-ui/console", + ":node_modules/@devtools-ui/info", ":node_modules/@devtools-ui/input", ":node_modules/@devtools-ui/list", ":node_modules/@devtools-ui/navigation", diff --git a/plugin/package.json b/plugin/package.json index 14364d4..a6105f5 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -5,7 +5,9 @@ "main": "src/index.ts", "dependencies": { "@devtools-ui/action": "workspace:*", + "@devtools-ui/console": "workspace:*", "@devtools-ui/collection": "workspace:*", + "@devtools-ui/info": "workspace:*", "@devtools-ui/input": "workspace:*", "@devtools-ui/list": "workspace:*", "@devtools-ui/navigation": "workspace:*", diff --git a/plugin/src/index.ts b/plugin/src/index.ts index 27e35e9..6fae7a0 100644 --- a/plugin/src/index.ts +++ b/plugin/src/index.ts @@ -1,5 +1,6 @@ import { ActionAsset, Action } from "@devtools-ui/action"; import { CollectionAsset, Collection } from "@devtools-ui/collection"; +import { InfoView, Info } from "@devtools-ui/info"; import { InputAsset, Input } from "@devtools-ui/input"; import { ListAsset, List } from "@devtools-ui/list"; import { NavigationAsset, Navigation } from "@devtools-ui/navigation"; @@ -8,6 +9,7 @@ import { ObjectInspector, } from "@devtools-ui/object-inspector"; import { TextAsset, Text } from "@devtools-ui/text"; +import { ConsoleAsset, Console } from "@devtools-ui/console"; import { AssetsRegistryPlugin } from "./plugins"; export default AssetsRegistryPlugin; @@ -20,6 +22,18 @@ export type { NavigationAsset, ObjectInspectorAsset, TextAsset, + ConsoleAsset, + InfoView, }; -export { Action, Collection, Input, List, Navigation, ObjectInspector, Text }; +export { + Action, + Collection, + Console, + Input, + List, + Navigation, + ObjectInspector, + Text, + Info, +}; diff --git a/plugin/src/plugins/AssetsRegistryPlugin.tsx b/plugin/src/plugins/AssetsRegistryPlugin.tsx index 90bead4..7efe4a3 100644 --- a/plugin/src/plugins/AssetsRegistryPlugin.tsx +++ b/plugin/src/plugins/AssetsRegistryPlugin.tsx @@ -12,6 +12,8 @@ import { CollectionAsset, CollectionComponent } from "@devtools-ui/collection"; import { InputAsset, InputComponent } from "@devtools-ui/input"; import { ListAsset, ListComponent } from "@devtools-ui/list"; import { NavigationAsset, NavigationComponent } from "@devtools-ui/navigation"; +import { ConsoleAsset, ConsoleComponent } from "@devtools-ui/console"; +import { InfoView, InfoComponent } from "@devtools-ui/info"; import { ObjectInspectorAsset, ObjectInspectorComponent, @@ -37,12 +39,14 @@ export class AssetsRegistryPlugin ExtendedPlayerPlugin< [ ActionAsset, + ConsoleAsset, CollectionAsset, InputAsset, ListAsset, NavigationAsset, ObjectInspectorAsset, - TextAsset + TextAsset, + InfoView ] > { @@ -58,6 +62,8 @@ export class AssetsRegistryPlugin ["navigation", NavigationComponent], ["object-inspector", ObjectInspectorComponent], ["text", TextComponent], + ["console", ConsoleComponent], + ["info", InfoComponent], ]) ); diff --git a/plugin/src/plugins/TransformPlugin.ts b/plugin/src/plugins/TransformPlugin.ts index bc21b58..8d6a209 100644 --- a/plugin/src/plugins/TransformPlugin.ts +++ b/plugin/src/plugins/TransformPlugin.ts @@ -3,6 +3,7 @@ import { AssetTransformPlugin } from "@player-ui/asset-transform-plugin"; import { actionTransform } from "@devtools-ui/action"; import { inputTransform } from "@devtools-ui/input"; import { objectInspectorTransform } from "@devtools-ui/object-inspector"; +import { consoleTransform } from "@devtools-ui/console"; export class TransformsPlugin implements PlayerPlugin { name = "devtools-ui-transforms"; @@ -13,6 +14,7 @@ export class TransformsPlugin implements PlayerPlugin { [{ type: "action" }, actionTransform], [{ type: "input" }, inputTransform], [{ type: "object-inspector" }, objectInspectorTransform], + [{ type: "console" }, consoleTransform], ]) ); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 420c022..14330b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,28 +20,31 @@ importers: version: 10.46.0(@types/node@18.19.26)(typescript@4.8.4) '@chakra-ui/react': specifier: ^2.8.2 - version: 2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0) + version: 2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.72)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0) '@chakra-ui/storybook-addon': specifier: ^5.1.0 version: 5.1.0(@chakra-ui/react@2.8.2)(@storybook/components@8.0.4)(@storybook/manager-api@8.0.4)(@storybook/preview-api@8.0.4)(@storybook/types@8.0.4)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/console': + specifier: ^1.2.1 + version: 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@devtools-ds/object-inspector': specifier: ^1.1.2 - version: 1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@emotion/react': specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.67)(react@18.2.0) + version: 11.11.4(@types/react@18.2.72)(react@18.2.0) '@emotion/styled': specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0) + version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.72)(react@18.2.0) '@monaco-editor/react': specifier: ^4.6.0 version: 4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0)(react@18.2.0) '@player-tools/dsl': - specifier: ^0.4.1 - version: 0.4.1(@types/node@18.19.26)(react@18.2.0) + specifier: 0.5.2--canary.87.2261 + version: 0.5.2--canary.87.2261(@types/node@18.19.26)(@types/react@18.2.72)(react@18.2.0) '@player-ui/asset-provider-plugin-react': specifier: ^0.7.1 - version: 0.7.1(@player-ui/react@0.7.1)(@types/react@18.2.67)(react@18.2.0) + version: 0.7.1(@player-ui/react@0.7.1)(@types/react@18.2.72)(react@18.2.0) '@player-ui/asset-transform-plugin': specifier: ^0.7.1 version: 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) @@ -68,10 +71,7 @@ importers: version: 0.7.1 '@player-ui/react': specifier: ^0.7.1 - version: 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@player-ui/reference-assets-plugin': - specifier: ^0.7.1 - version: 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) + version: 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@player-ui/types': specifier: 0.7.1 version: 0.7.1 @@ -83,13 +83,13 @@ importers: version: 8.0.4 '@storybook/blocks': specifier: ^8.0.2 - version: 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/channels': specifier: ^8.0.2 version: 8.0.4 '@storybook/components': specifier: ^8.0.2 - version: 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': specifier: ^8.0.2 version: 8.0.4 @@ -113,7 +113,7 @@ importers: version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4) '@storybook/react-vite': specifier: ^8.0.2 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4)(vite@5.2.2) + version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4)(vite@5.2.6) '@storybook/test': specifier: ^8.0.2 version: 8.0.4(vitest@1.4.0) @@ -131,7 +131,7 @@ importers: version: 14.2.2(react-dom@18.2.0)(react@18.2.0) '@testing-library/react-hooks': specifier: ^8.0.1 - version: 8.0.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@9.3.4) @@ -140,7 +140,7 @@ importers: version: 18.19.26 '@types/react': specifier: ^18.2.51 - version: 18.2.67 + version: 18.2.72 '@types/redux-state-sync': specifier: ^3.1.9 version: 3.1.9 @@ -155,7 +155,7 @@ importers: version: 5.62.0(eslint@8.57.0)(typescript@4.8.4) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.2) + version: 4.2.1(vite@5.2.6) '@vitest/coverage-v8': specifier: ^1.2.2 version: 1.4.0(vitest@1.4.0) @@ -200,7 +200,7 @@ importers: version: 0.8.0(eslint@8.57.0)(typescript@4.8.4) framer-motion: specifier: ^11.0.8 - version: 11.0.20(react-dom@18.2.0)(react@18.2.0) + version: 11.0.22(react-dom@18.2.0)(react@18.2.0) happy-dom: specifier: ^13.3.8 version: 13.10.1 @@ -245,7 +245,7 @@ importers: version: 4.0.13(react@18.2.0) react-redux: specifier: ^9.1.0 - version: 9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1) + version: 9.1.0(@types/react@18.2.72)(react@18.2.0)(redux@5.0.1) redux: specifier: ^5.0.1 version: 5.0.1 @@ -272,7 +272,7 @@ importers: version: 9.0.1 vite: specifier: ^5.1.6 - version: 5.2.2(@types/node@18.19.26) + version: 5.2.6(@types/node@18.19.26) vitest: specifier: ^1.2.2 version: 1.4.0(@types/node@18.19.26)(happy-dom@13.10.1) @@ -294,6 +294,15 @@ importers: specifier: workspace:* version: link:../text + console: + dependencies: + '@devtools-ui/collection': + specifier: workspace:* + version: link:../collection + '@devtools-ui/text': + specifier: workspace:* + version: link:../text + docs/storybook: dependencies: '@devtools-ui/plugin': @@ -303,6 +312,15 @@ importers: specifier: workspace:* version: link:../../addon-storybook + info: + dependencies: + '@devtools-ui/collection': + specifier: workspace:* + version: link:../collection + '@devtools-ui/text': + specifier: workspace:* + version: link:../text + input: dependencies: '@devtools-ui/text': @@ -344,6 +362,12 @@ importers: '@devtools-ui/collection': specifier: workspace:* version: link:../collection + '@devtools-ui/console': + specifier: workspace:* + version: link:../console + '@devtools-ui/info': + specifier: workspace:* + version: link:../info '@devtools-ui/input': specifier: workspace:* version: link:../input @@ -417,13 +441,13 @@ packages: enquirer: 2.4.1 env-ci: 5.5.0 fast-glob: 3.3.2 - fp-ts: 2.16.4 + fp-ts: 2.16.5 fromentries: 1.3.2 gitlog: 4.0.8 https-proxy-agent: 5.0.1 import-cwd: 3.0.0 import-from: 3.0.0 - io-ts: 2.2.21(fp-ts@2.16.4) + io-ts: 2.2.21(fp-ts@2.16.5) lodash.chunk: 4.2.0 log-symbols: 4.1.0 node-fetch: 2.6.7 @@ -475,13 +499,13 @@ packages: enquirer: 2.4.1 env-ci: 5.5.0 fast-glob: 3.3.2 - fp-ts: 2.16.4 + fp-ts: 2.16.5 fromentries: 1.3.2 gitlog: 4.0.8 https-proxy-agent: 5.0.1 import-cwd: 3.0.0 import-from: 3.0.0 - io-ts: 2.2.21(fp-ts@2.16.4) + io-ts: 2.2.21(fp-ts@2.16.5) lodash.chunk: 4.2.0 log-symbols: 4.1.0 node-fetch: 2.6.7 @@ -515,9 +539,9 @@ packages: await-to-js: 3.0.0 endent: 2.1.0 env-ci: 5.5.0 - fp-ts: 2.16.4 + fp-ts: 2.16.5 get-monorepo-packages: 1.2.0 - io-ts: 2.2.21(fp-ts@2.16.4) + io-ts: 2.2.21(fp-ts@2.16.5) registry-url: 5.1.0 semver: 7.6.0 tslib: 2.1.0 @@ -537,8 +561,8 @@ packages: resolution: {integrity: sha512-gCTEC4/N0LQpdLXexEOTBIkSCzMapQ+4jXkb/wpoSEsNuV1Y7Skdi8DErKbvm1JLSZHslZW8FtgcJsUdhtN+Mg==, tarball: https://registry.npmjs.org/@auto-it/omit-release-notes/-/omit-release-notes-11.1.2.tgz} dependencies: '@auto-it/core': 11.1.2(@types/node@18.19.26)(typescript@4.8.4) - fp-ts: 2.16.4 - io-ts: 2.2.21(fp-ts@2.16.4) + fp-ts: 2.16.5 + io-ts: 2.2.21(fp-ts@2.16.5) tslib: 2.1.0 transitivePeerDependencies: - '@swc/core' @@ -563,8 +587,8 @@ packages: '@auto-it/bot-list': 10.46.0 '@auto-it/core': 10.46.0(@types/node@18.19.26)(typescript@4.8.4) deepmerge: 4.3.1 - fp-ts: 2.16.4 - io-ts: 2.2.21(fp-ts@2.16.4) + fp-ts: 2.16.5 + io-ts: 2.2.21(fp-ts@2.16.5) tslib: 2.1.0 transitivePeerDependencies: - '@swc/core' @@ -579,8 +603,8 @@ packages: resolution: {integrity: sha512-V5HEQyGHPCFzH8Fj7RlBebgZ83P0QYXpNTtzPF6az4NLoNvaeZmqkirhx7WEasggVvyfX56GlM6df5jwXXfi7g==, tarball: https://registry.npmjs.org/@auto-it/version-file/-/version-file-10.46.0.tgz} dependencies: '@auto-it/core': 10.46.0(@types/node@18.19.26)(typescript@4.8.4) - fp-ts: 2.16.4 - io-ts: 2.2.21(fp-ts@2.16.4) + fp-ts: 2.16.5 + io-ts: 2.2.21(fp-ts@2.16.5) semver: 7.6.0 tslib: 1.10.0 transitivePeerDependencies: @@ -1905,7 +1929,7 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, tarball: https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz} dev: false - /@chakra-ui/accordion@2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0): + /@chakra-ui/accordion@2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0): resolution: {integrity: sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==, tarball: https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -1919,8 +1943,8 @@ packages: '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - '@chakra-ui/transition': 2.1.0(framer-motion@11.0.20)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/transition': 2.1.0(framer-motion@11.0.22)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false @@ -2078,7 +2102,7 @@ packages: '@emotion/react': '>=10.0.35' react: ^18.2.0 dependencies: - '@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0) + '@emotion/react': 11.11.4(@types/react@18.2.72)(react@18.2.0) react: 18.2.0 dev: false @@ -2119,14 +2143,14 @@ packages: resolution: {integrity: sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==, tarball: https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz} dev: false - /@chakra-ui/focus-lock@2.1.0(@types/react@18.2.67)(react@18.2.0): + /@chakra-ui/focus-lock@2.1.0(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==, tarball: https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz} peerDependencies: react: ^18.2.0 dependencies: '@chakra-ui/dom-utils': 2.1.0 react: 18.2.0 - react-focus-lock: 2.11.2(@types/react@18.2.67)(react@18.2.0) + react-focus-lock: 2.11.2(@types/react@18.2.72)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -2237,7 +2261,7 @@ packages: react: 18.2.0 dev: false - /@chakra-ui/menu@2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0): + /@chakra-ui/menu@2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0): resolution: {integrity: sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==, tarball: https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -2259,12 +2283,12 @@ packages: '@chakra-ui/react-use-update-effect': 2.1.0(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - '@chakra-ui/transition': 2.1.0(framer-motion@11.0.20)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/transition': 2.1.0(framer-motion@11.0.22)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false - /@chakra-ui/modal@2.3.1(@chakra-ui/system@2.6.2)(@types/react@18.2.67)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0): + /@chakra-ui/modal@2.3.1(@chakra-ui/system@2.6.2)(@types/react@18.2.72)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==, tarball: https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -2273,19 +2297,19 @@ packages: react-dom: ^18.2.0 dependencies: '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.2)(react@18.2.0) - '@chakra-ui/focus-lock': 2.1.0(@types/react@18.2.67)(react@18.2.0) + '@chakra-ui/focus-lock': 2.1.0(@types/react@18.2.72)(react@18.2.0) '@chakra-ui/portal': 2.1.0(react-dom@18.2.0)(react@18.2.0) '@chakra-ui/react-context': 2.1.0(react@18.2.0) '@chakra-ui/react-types': 2.0.7(react@18.2.0) '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - '@chakra-ui/transition': 2.1.0(framer-motion@11.0.20)(react@18.2.0) + '@chakra-ui/transition': 2.1.0(framer-motion@11.0.22)(react@18.2.0) aria-hidden: 1.2.4 - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.9(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.9(@types/react@18.2.72)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -2336,7 +2360,7 @@ packages: react: 18.2.0 dev: false - /@chakra-ui/popover@2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0): + /@chakra-ui/popover@2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0): resolution: {integrity: sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==, tarball: https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -2355,7 +2379,7 @@ packages: '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false @@ -2406,8 +2430,8 @@ packages: '@chakra-ui/react-env': 3.1.0(react@18.2.0) '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) '@chakra-ui/utils': 2.0.15 - '@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0) + '@emotion/react': 11.11.4(@types/react@18.2.72)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.72)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -2623,7 +2647,7 @@ packages: react: 18.2.0 dev: false - /@chakra-ui/react@2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0): + /@chakra-ui/react@2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.72)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==, tarball: https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz} peerDependencies: '@emotion/react': ^11.0.0 @@ -2632,7 +2656,7 @@ packages: react: ^18.2.0 react-dom: ^18.2.0 dependencies: - '@chakra-ui/accordion': 2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0) + '@chakra-ui/accordion': 2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0) '@chakra-ui/alert': 2.2.2(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/avatar': 2.3.0(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/breadcrumb': 2.2.0(@chakra-ui/system@2.6.2)(react@18.2.0) @@ -2644,7 +2668,7 @@ packages: '@chakra-ui/counter': 2.1.0(react@18.2.0) '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.11.4)(react@18.2.0) '@chakra-ui/editable': 3.1.0(@chakra-ui/system@2.6.2)(react@18.2.0) - '@chakra-ui/focus-lock': 2.1.0(@types/react@18.2.67)(react@18.2.0) + '@chakra-ui/focus-lock': 2.1.0(@types/react@18.2.72)(react@18.2.0) '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/hooks': 2.2.1(react@18.2.0) '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2)(react@18.2.0) @@ -2653,11 +2677,11 @@ packages: '@chakra-ui/layout': 2.3.1(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/live-region': 2.1.0(react@18.2.0) '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.2)(react@18.2.0) - '@chakra-ui/menu': 2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0) - '@chakra-ui/modal': 2.3.1(@chakra-ui/system@2.6.2)(@types/react@18.2.67)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/menu': 2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0) + '@chakra-ui/modal': 2.3.1(@chakra-ui/system@2.6.2)(@types/react@18.2.72)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0) '@chakra-ui/number-input': 2.1.2(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/pin-input': 2.1.0(@chakra-ui/system@2.6.2)(react@18.2.0) - '@chakra-ui/popover': 2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0) + '@chakra-ui/popover': 2.2.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0) '@chakra-ui/popper': 3.1.0(react@18.2.0) '@chakra-ui/portal': 2.1.0(react-dom@18.2.0)(react@18.2.0) '@chakra-ui/progress': 2.2.0(@chakra-ui/system@2.6.2)(react@18.2.0) @@ -2672,7 +2696,7 @@ packages: '@chakra-ui/stat': 2.1.1(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/stepper': 2.3.1(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/styled-system': 2.9.2 - '@chakra-ui/switch': 2.1.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0) + '@chakra-ui/switch': 2.1.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0) '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) '@chakra-ui/table': 2.1.0(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/tabs': 3.0.0(@chakra-ui/system@2.6.2)(react@18.2.0) @@ -2680,14 +2704,14 @@ packages: '@chakra-ui/textarea': 2.1.2(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/theme': 3.3.1(@chakra-ui/styled-system@2.9.2) '@chakra-ui/theme-utils': 2.0.21 - '@chakra-ui/toast': 7.0.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0) - '@chakra-ui/tooltip': 2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0) - '@chakra-ui/transition': 2.1.0(framer-motion@11.0.20)(react@18.2.0) + '@chakra-ui/toast': 7.0.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/tooltip': 2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/transition': 2.1.0(framer-motion@11.0.22)(react@18.2.0) '@chakra-ui/utils': 2.0.15 '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.2)(react@18.2.0) - '@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + '@emotion/react': 11.11.4(@types/react@18.2.72)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.72)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -2806,8 +2830,8 @@ packages: react-dom: optional: true dependencies: - '@chakra-ui/react': 2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.67)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@chakra-ui/react': 2.8.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.72)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) '@storybook/preview-api': 8.0.4 '@storybook/types': 8.0.4 @@ -2823,7 +2847,7 @@ packages: lodash.mergewith: 4.6.2 dev: false - /@chakra-ui/switch@2.1.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react@18.2.0): + /@chakra-ui/switch@2.1.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react@18.2.0): resolution: {integrity: sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==, tarball: https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -2833,7 +2857,7 @@ packages: '@chakra-ui/checkbox': 2.3.2(@chakra-ui/system@2.6.2)(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false @@ -2850,8 +2874,8 @@ packages: '@chakra-ui/styled-system': 2.9.2 '@chakra-ui/theme-utils': 2.0.21 '@chakra-ui/utils': 2.0.15 - '@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0) + '@emotion/react': 11.11.4(@types/react@18.2.72)(react@18.2.0) + '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.72)(react@18.2.0) react: 18.2.0 react-fast-compare: 3.2.2 dev: false @@ -2942,7 +2966,7 @@ packages: '@chakra-ui/theme-tools': 2.1.2(@chakra-ui/styled-system@2.9.2) dev: false - /@chakra-ui/toast@7.0.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0): + /@chakra-ui/toast@7.0.2(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==, tarball: https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz} peerDependencies: '@chakra-ui/system': 2.6.2 @@ -2960,12 +2984,12 @@ packages: '@chakra-ui/styled-system': 2.9.2 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) '@chakra-ui/theme': 3.3.1(@chakra-ui/styled-system@2.9.2) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@chakra-ui/tooltip@2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.20)(react-dom@18.2.0)(react@18.2.0): + /@chakra-ui/tooltip@2.3.1(@chakra-ui/system@2.6.2)(framer-motion@11.0.22)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==, tarball: https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz} peerDependencies: '@chakra-ui/system': '>=2.0.0' @@ -2982,19 +3006,19 @@ packages: '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.2.0) '@chakra-ui/shared-utils': 2.0.5 '@chakra-ui/system': 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@chakra-ui/transition@2.1.0(framer-motion@11.0.20)(react@18.2.0): + /@chakra-ui/transition@2.1.0(framer-motion@11.0.22)(react@18.2.0): resolution: {integrity: sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==, tarball: https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz} peerDependencies: framer-motion: '>=4.0.0' react: ^18.2.0 dependencies: '@chakra-ui/shared-utils': 2.0.5 - framer-motion: 11.0.20(react-dom@18.2.0)(react@18.2.0) + framer-motion: 11.0.22(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false @@ -3031,7 +3055,7 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@design-systems/utils@2.12.0(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@design-systems/utils@2.12.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Y/d2Zzr+JJfN6u1gbuBUb1ufBuLMJJRZQk+dRmw8GaTpqKx5uf7cGUYGTwN02dIb3I+Tf+cW8jcGBTRiFxdYFg==, tarball: https://registry.npmjs.org/@design-systems/utils/-/utils-2.12.0.tgz} peerDependencies: '@types/react': '*' @@ -3039,7 +3063,7 @@ packages: react-dom: ^18.2.0 dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 clsx: 1.1.0 focus-lock: 0.8.1 react: 18.2.0 @@ -3047,15 +3071,46 @@ packages: react-merge-refs: 1.1.0 dev: false - /@devtools-ds/object-inspector@1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@devtools-ds/console@1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-K94LhMgCN7mAky7fEpC4wLswXhtpXgbb6YzTJF+AFjI2nGidO4OMJDU/LgBMeZXZ0JtepoecZ6DPcWKufI5THQ==, tarball: https://registry.npmjs.org/@devtools-ds/console/-/console-1.2.1.tgz} + peerDependencies: + react: ^18.2.0 + dependencies: + '@babel/runtime': 7.7.2 + '@devtools-ds/icon': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/object-inspector': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/themes': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + clsx: 1.1.0 + react: 18.2.0 + transitivePeerDependencies: + - '@types/react' + - react-dom + dev: false + + /@devtools-ds/icon@1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1GffZO9+XpusndgPuxIQKg5X6xM1XQG/PMnSIJaugigxgEiGdx0v6F88JSnz9qkV+6gv8nXxD3+503b5cjwVJQ==, tarball: https://registry.npmjs.org/@devtools-ds/icon/-/icon-1.2.1.tgz} + peerDependencies: + react: ^18.2.0 + dependencies: + '@babel/runtime': 7.7.2 + '@design-systems/utils': 2.12.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/themes': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + clsx: 1.1.0 + react: 18.2.0 + transitivePeerDependencies: + - '@types/react' + - react-dom + dev: false + + /@devtools-ds/object-inspector@1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-nrAVVj4c4Iv9958oE4HA7Mk6T+4Mn/4xBRlFDeX4Ps6SMzsqO8bKhw/y6+bOfNyb/TYHmC0/pnPS68GDVZcg5Q==, tarball: https://registry.npmjs.org/@devtools-ds/object-inspector/-/object-inspector-1.2.1.tgz} peerDependencies: react: ^18.2.0 dependencies: '@babel/runtime': 7.7.2 '@devtools-ds/object-parser': 1.2.1 - '@devtools-ds/themes': 1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@devtools-ds/tree': 1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/themes': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/tree': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) clsx: 1.1.0 react: 18.2.0 transitivePeerDependencies: @@ -3069,13 +3124,13 @@ packages: '@babel/runtime': 7.5.5 dev: false - /@devtools-ds/themes@1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@devtools-ds/themes@1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-4/KFsHnokGxUq8CSCchINcVBb6fQ74HtEfNtMuitGtGg3VCRV0kaVSOsz6wzShzhLEaVLd5coSRQKaZj7yx72w==, tarball: https://registry.npmjs.org/@devtools-ds/themes/-/themes-1.2.1.tgz} peerDependencies: react: ^18.2.0 dependencies: '@babel/runtime': 7.5.5 - '@design-systems/utils': 2.12.0(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@design-systems/utils': 2.12.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) clsx: 1.1.0 react: 18.2.0 transitivePeerDependencies: @@ -3083,13 +3138,13 @@ packages: - react-dom dev: false - /@devtools-ds/tree@1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@devtools-ds/tree@1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2ZHG28oWJno0gD+20EoSJO0yffm6JS5r7YzYhGMkrnLGvcCRZuwXSxMmIshSPLIR0cjidiAfGCqsrigHIR4ZQA==, tarball: https://registry.npmjs.org/@devtools-ds/tree/-/tree-1.2.1.tgz} peerDependencies: react: ^18.2.0 dependencies: '@babel/runtime': 7.7.2 - '@devtools-ds/themes': 1.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@devtools-ds/themes': 1.2.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) clsx: 1.1.0 react: 18.2.0 transitivePeerDependencies: @@ -3142,7 +3197,7 @@ packages: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==, tarball: https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz} dev: false - /@emotion/react@11.11.4(@types/react@18.2.67)(react@18.2.0): + /@emotion/react@11.11.4(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==, tarball: https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz} peerDependencies: '@types/react': '*' @@ -3158,7 +3213,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false @@ -3177,7 +3232,7 @@ packages: resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==, tarball: https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz} dev: false - /@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.67)(react@18.2.0): + /@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==, tarball: https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -3190,11 +3245,11 @@ packages: '@babel/runtime': 7.24.1 '@emotion/babel-plugin': 11.11.0 '@emotion/is-prop-valid': 1.2.2 - '@emotion/react': 11.11.4(@types/react@18.2.67)(react@18.2.0) + '@emotion/react': 11.11.4(@types/react@18.2.72)(react@18.2.0) '@emotion/serialize': 1.1.3 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 dev: false @@ -3732,7 +3787,7 @@ packages: '@sinclair/typebox': 0.27.8 dev: false - /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@4.8.4)(vite@5.2.2): + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@4.8.4)(vite@5.2.6): resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==, tarball: https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.3.0.tgz} peerDependencies: typescript: '>= 4.3.x' @@ -3746,7 +3801,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@4.8.4) typescript: 4.8.4 - vite: 5.2.2(@types/node@18.19.26) + vite: 5.2.6(@types/node@18.19.26) dev: false /@jridgewell/gen-mapping@0.3.5: @@ -3793,14 +3848,14 @@ packages: call-bind: 1.0.7 dev: false - /@mdx-js/react@3.0.1(@types/react@18.2.67)(react@18.2.0): + /@mdx-js/react@3.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==, tarball: https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz} peerDependencies: '@types/react': '>=16' react: ^18.2.0 dependencies: '@types/mdx': 2.0.12 - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 dev: false @@ -3993,15 +4048,16 @@ packages: dev: false optional: true - /@player-tools/dsl@0.4.1(@types/node@18.19.26)(react@18.2.0): - resolution: {integrity: sha512-dwdX9CZoDgqVqoZ0hbiCXofajmRlp3xP39GyCKmFp9WfK3ZxbmSgHh7zZv9uheiNoc9YqWJpdzNc/FJcUtZLAA==, tarball: https://registry.npmjs.org/@player-tools/dsl/-/dsl-0.4.1.tgz} + /@player-tools/dsl@0.5.2--canary.87.2261(@types/node@18.19.26)(@types/react@18.2.72)(react@18.2.0): + resolution: {integrity: sha512-cb2WdC3dOREppSL+eKiZPztQOqQASQNq3N5S4TveyTOVlH93BeOW6qH8ueIR2XmCByd90L7R8wwFIlZfg9ShIw==, tarball: https://registry.npmjs.org/@player-tools/dsl/-/dsl-0.5.2--canary.87.2261.tgz} peerDependencies: + '@types/react': ^18.2.51 react: ^18.2.0 dependencies: - '@babel/runtime': 7.15.4 - '@player-ui/player': 0.4.3 - '@player-ui/types': 0.4.3 + '@player-ui/player': 0.7.1-next.0 + '@player-ui/types': 0.7.1-next.0 '@types/mkdirp': 1.0.2 + '@types/react': 18.2.72 chalk: 4.1.2 command-line-application: 0.10.1 dequal: 2.0.3 @@ -4010,12 +4066,11 @@ packages: jsonc-parser: 2.3.1 mkdirp: 1.0.4 react: 18.2.0 - react-flatten-children: 1.1.2 react-json-reconciler: 2.0.0(react@18.2.0) - react-merge-refs: 1.1.0 source-map-js: 1.2.0 tapable-ts: 0.2.4 ts-node: 10.9.2(@types/node@18.19.26)(typescript@4.8.4) + tslib: 2.6.2 typescript: 4.8.4 transitivePeerDependencies: - '@swc/core' @@ -4023,14 +4078,14 @@ packages: - '@types/node' dev: false - /@player-ui/asset-provider-plugin-react@0.7.1(@player-ui/react@0.7.1)(@types/react@18.2.67)(react@18.2.0): + /@player-ui/asset-provider-plugin-react@0.7.1(@player-ui/react@0.7.1)(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-jNFHXGWBAgORPiTQK5yFDJfebpZDl6R233EZISt02PFn2vnCQrcpTn+32gOz2ihf20FLSXRWajsKiJKF422KWw==, tarball: https://registry.npmjs.org/@player-ui/asset-provider-plugin-react/-/asset-provider-plugin-react-0.7.1.tgz} peerDependencies: '@player-ui/react': 0.7.1 dependencies: '@babel/runtime': 7.15.4 - '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@player-ui/react-subscribe': 0.7.1(@types/react@18.2.67)(react@18.2.0) + '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@player-ui/react-subscribe': 0.7.1(@types/react@18.2.72)(react@18.2.0) transitivePeerDependencies: - '@types/react' - react @@ -4057,7 +4112,7 @@ packages: '@babel/runtime': 7.15.4 '@player-ui/beacon-plugin': 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) '@player-ui/player': 0.7.1 - '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@player-ui/types' dev: false @@ -4121,7 +4176,7 @@ packages: '@babel/runtime': 7.15.4 '@player-ui/metrics-plugin': 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) '@player-ui/player': 0.7.1 - '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@player-ui/react': 0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 transitivePeerDependencies: - '@player-ui/types' @@ -4140,8 +4195,8 @@ packages: - '@player-ui/types' dev: false - /@player-ui/partial-match-registry@0.4.3: - resolution: {integrity: sha512-je6q8SVlNcHHSO0DmtLJSOP0yhfTDa6Sz1Fb5pGFBVieZkb+7bTpE8Yq2n3rMm/oIDSymTesTNYlvCxC0MBANw==, tarball: https://registry.npmjs.org/@player-ui/partial-match-registry/-/partial-match-registry-0.4.3.tgz} + /@player-ui/partial-match-registry@0.7.1: + resolution: {integrity: sha512-F5PerVyQ/rRyb9i1c7+MI89iqjj6LiflyMPxv1H5JL/1E9bQWJN79ua7GQnTK7FWc1NkU021Kofy94kfauugBA==, tarball: https://registry.npmjs.org/@player-ui/partial-match-registry/-/partial-match-registry-0.7.1.tgz} dependencies: '@babel/runtime': 7.15.4 '@types/dlv': 1.1.4 @@ -4149,8 +4204,8 @@ packages: sorted-array: 2.0.4 dev: false - /@player-ui/partial-match-registry@0.7.1: - resolution: {integrity: sha512-F5PerVyQ/rRyb9i1c7+MI89iqjj6LiflyMPxv1H5JL/1E9bQWJN79ua7GQnTK7FWc1NkU021Kofy94kfauugBA==, tarball: https://registry.npmjs.org/@player-ui/partial-match-registry/-/partial-match-registry-0.7.1.tgz} + /@player-ui/partial-match-registry@0.7.1-next.0: + resolution: {integrity: sha512-itn2yvGG6GnBkgqGfmcTSGc08q/t/7wHhYFiCxTrUb1+DdSKUvNcpy0QOl+U98GFwuVKr+xFW/6E0f/Y08MSlg==, tarball: https://registry.npmjs.org/@player-ui/partial-match-registry/-/partial-match-registry-0.7.1-next.0.tgz} dependencies: '@babel/runtime': 7.15.4 '@types/dlv': 1.1.4 @@ -4158,12 +4213,12 @@ packages: sorted-array: 2.0.4 dev: false - /@player-ui/player@0.4.3: - resolution: {integrity: sha512-2buPknL35gBlQCa+bSqrDeAUkfFwrmKULYcQtRNI+o/itLl0xGckLk8twyN3K20Xw+XrdJfSdwXO8wWUyrqsrA==, tarball: https://registry.npmjs.org/@player-ui/player/-/player-0.4.3.tgz} + /@player-ui/player@0.7.1: + resolution: {integrity: sha512-RZflV0A2i6BXhQQMcxFgOYdYNCbDRJlTdATGXYqsUGaM5R9KaTEFVA8lX0nMqz5zwc+25HwmDgisWN9FPyCohQ==, tarball: https://registry.npmjs.org/@player-ui/player/-/player-0.7.1.tgz} dependencies: '@babel/runtime': 7.15.4 - '@player-ui/partial-match-registry': 0.4.3 - '@player-ui/types': 0.4.3 + '@player-ui/partial-match-registry': 0.7.1 + '@player-ui/types': 0.7.1 '@types/parsimmon': 1.10.9 arr-flatten: 1.1.0 dequal: 2.0.3 @@ -4177,12 +4232,12 @@ packages: ts-nested-error: 1.2.1 dev: false - /@player-ui/player@0.7.1: - resolution: {integrity: sha512-RZflV0A2i6BXhQQMcxFgOYdYNCbDRJlTdATGXYqsUGaM5R9KaTEFVA8lX0nMqz5zwc+25HwmDgisWN9FPyCohQ==, tarball: https://registry.npmjs.org/@player-ui/player/-/player-0.7.1.tgz} + /@player-ui/player@0.7.1-next.0: + resolution: {integrity: sha512-Jk/MZ/zi8676ogsB3n0rx/tQiZcaXv97WQbwVhrztduzfDTeIp/5EGjUSNeGlOt7R/yxwYUKCNzIwbrJa99H3w==, tarball: https://registry.npmjs.org/@player-ui/player/-/player-0.7.1-next.0.tgz} dependencies: '@babel/runtime': 7.15.4 - '@player-ui/partial-match-registry': 0.7.1 - '@player-ui/types': 0.7.1 + '@player-ui/partial-match-registry': 0.7.1-next.0 + '@player-ui/types': 0.7.1-next.0 '@types/parsimmon': 1.10.9 arr-flatten: 1.1.0 dequal: 2.0.3 @@ -4196,19 +4251,19 @@ packages: ts-nested-error: 1.2.1 dev: false - /@player-ui/react-subscribe@0.7.1(@types/react@18.2.67)(react@18.2.0): + /@player-ui/react-subscribe@0.7.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-TXpjhVE7oZ7W23VjJMGaGTdSWxYexUQXa4yNSvTKUWxkQiqGxpqcb5hq0AVgNbH7cuEabTGz+DGvXMTUS1UyPg==, tarball: https://registry.npmjs.org/@player-ui/react-subscribe/-/react-subscribe-0.7.1.tgz} peerDependencies: '@types/react': ^17.0.25 react: ^18.2.0 dependencies: '@babel/runtime': 7.15.4 - '@types/react': 18.2.67 + '@types/react': 18.2.72 p-defer: 3.0.0 react: 18.2.0 dev: false - /@player-ui/react@0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@player-ui/react@0.7.1(@player-ui/types@0.7.1)(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-nVgN4de0LGnqJM1S4NQMm6bsfjtlAApW38OjIWyPK7oJZAvF8AoxoAQFCM8PWWAimUU9Da6F2xGrP43QLL7/UA==, tarball: https://registry.npmjs.org/@player-ui/react/-/react-0.7.1.tgz} peerDependencies: '@types/react': ^17.0.25 @@ -4219,8 +4274,8 @@ packages: '@player-ui/metrics-plugin': 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) '@player-ui/partial-match-registry': 0.7.1 '@player-ui/player': 0.7.1 - '@player-ui/react-subscribe': 0.7.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@player-ui/react-subscribe': 0.7.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-error-boundary: 3.1.4(react@18.2.0) @@ -4229,19 +4284,6 @@ packages: - '@player-ui/types' dev: false - /@player-ui/reference-assets-plugin@0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1): - resolution: {integrity: sha512-LgAM2FETFG9PMtoCZdnRDJuV/qnXIKirWk2QAsxBKNQnJmPV9S/WRC7cEBKIiYTakp66bnCfLPoCPHPntxYkuA==, tarball: https://registry.npmjs.org/@player-ui/reference-assets-plugin/-/reference-assets-plugin-0.7.1.tgz} - peerDependencies: - '@player-ui/player': 0.7.1 - dependencies: - '@babel/runtime': 7.15.4 - '@player-ui/asset-transform-plugin': 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) - '@player-ui/beacon-plugin': 0.7.1(@player-ui/player@0.7.1)(@player-ui/types@0.7.1) - '@player-ui/player': 0.7.1 - transitivePeerDependencies: - - '@player-ui/types' - dev: false - /@player-ui/types-provider-plugin@0.7.1(@player-ui/player@0.7.1): resolution: {integrity: sha512-+B8XrK09OIRxETuPK8PQSNKWp9OyVidDBxHNaV0hwhV6SYXXR/s1R5DyTiNi5ll8vaz3fvbKlxDX32OEBM8DXw==, tarball: https://registry.npmjs.org/@player-ui/types-provider-plugin/-/types-provider-plugin-0.7.1.tgz} peerDependencies: @@ -4252,14 +4294,14 @@ packages: tapable-ts: 0.2.4 dev: false - /@player-ui/types@0.4.3: - resolution: {integrity: sha512-oGiup9OvJLIgSFAEelhPKY1gst7a2UFX96x3OJechFI0YfkFm1zzt3DHVMgD0KTR+si6xdMhO2uce5J1Vnz/ew==, tarball: https://registry.npmjs.org/@player-ui/types/-/types-0.4.3.tgz} + /@player-ui/types@0.7.1: + resolution: {integrity: sha512-dCJNL2xf4LlbBvGd/gWHP/zG5ObTki25EwhrHBWn/I93afsRioNVAPTdtkqzREfw5Be3heVUQ6kmwHijZVGi1w==, tarball: https://registry.npmjs.org/@player-ui/types/-/types-0.7.1.tgz} dependencies: '@babel/runtime': 7.15.4 dev: false - /@player-ui/types@0.7.1: - resolution: {integrity: sha512-dCJNL2xf4LlbBvGd/gWHP/zG5ObTki25EwhrHBWn/I93afsRioNVAPTdtkqzREfw5Be3heVUQ6kmwHijZVGi1w==, tarball: https://registry.npmjs.org/@player-ui/types/-/types-0.7.1.tgz} + /@player-ui/types@0.7.1-next.0: + resolution: {integrity: sha512-JNv02IZjcUeSNduqKKSa1mIEVlm8uB3m1SQCqjupK6ViP7qtOv2OQcya6LXVNA/Pd1MBELbAzoTX3PkhUuMloQ==, tarball: https://registry.npmjs.org/@player-ui/types/-/types-0.7.1-next.0.tgz} dependencies: '@babel/runtime': 7.15.4 dev: false @@ -4268,7 +4310,7 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==, tarball: https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz} dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==, tarball: https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz} peerDependencies: '@types/react': '*' @@ -4278,11 +4320,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==, tarball: https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz} peerDependencies: '@types/react': '*' @@ -4292,8 +4334,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false @@ -4310,7 +4352,7 @@ packages: dependencies: immer: 10.0.4 react: 18.2.0 - react-redux: 9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1) + react-redux: 9.1.0(@types/react@18.2.72)(react@18.2.0)(redux@5.0.1) redux: 5.0.1 redux-thunk: 3.1.0(redux@5.0.1) reselect: 5.1.0 @@ -4330,104 +4372,112 @@ packages: picomatch: 2.3.1 dev: false - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz} + /@rollup/rollup-android-arm-eabi@4.13.1: + resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.1.tgz} cpu: [arm] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz} + /@rollup/rollup-android-arm64@4.13.1: + resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==, tarball: https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.1.tgz} cpu: [arm64] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz} + /@rollup/rollup-darwin-arm64@4.13.1: + resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.1.tgz} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz} + /@rollup/rollup-darwin-x64@4.13.1: + resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==, tarball: https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.1.tgz} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz} + /@rollup/rollup-linux-arm-gnueabihf@4.13.1: + resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.1.tgz} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz} + /@rollup/rollup-linux-arm64-gnu@4.13.1: + resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.1.tgz} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz} + /@rollup/rollup-linux-arm64-musl@4.13.1: + resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.1.tgz} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz} + /@rollup/rollup-linux-riscv64-gnu@4.13.1: + resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.1.tgz} cpu: [riscv64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz} + /@rollup/rollup-linux-s390x-gnu@4.13.1: + resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.13.1.tgz} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.1: + resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.1.tgz} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz} + /@rollup/rollup-linux-x64-musl@4.13.1: + resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==, tarball: https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.1.tgz} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz} + /@rollup/rollup-win32-arm64-msvc@4.13.1: + resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.1.tgz} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz} + /@rollup/rollup-win32-ia32-msvc@4.13.1: + resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.1.tgz} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz} + /@rollup/rollup-win32-x64-msvc@4.13.1: + resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==, tarball: https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.1.tgz} cpu: [x64] os: [win32] requiresBuild: true @@ -4442,10 +4492,10 @@ packages: resolution: {integrity: sha512-m0Y7qGAMnNPLEOEgzW/SBm8GX0xabJBaRN+aYijO6UKTln7F6oXXVve+xPC0Y4s6Gc9HZFdJY8WXZr1YSGEUVA==, tarball: https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.0.4.tgz} dependencies: '@babel/core': 7.24.3 - '@mdx-js/react': 3.0.1(@types/react@18.2.67)(react@18.2.0) - '@storybook/blocks': 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@mdx-js/react': 3.0.1(@types/react@18.2.72)(react@18.2.0) + '@storybook/blocks': 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/client-logger': 8.0.4 - '@storybook/components': 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/csf-plugin': 8.0.4 '@storybook/csf-tools': 8.0.4 '@storybook/global': 5.0.0 @@ -4454,7 +4504,7 @@ packages: '@storybook/react-dom-shim': 8.0.4(react-dom@18.2.0)(react@18.2.0) '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 8.0.4 - '@types/react': 18.2.67 + '@types/react': 18.2.72 fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4466,7 +4516,7 @@ packages: - supports-color dev: false - /@storybook/blocks@8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@storybook/blocks@8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-9dRXk9zLJVPOmEWsSXm10XUmIfvS/tVgeBgFXNbusFQZXPpexIPNdRgB004pDGg9RvlY78ykpnd3yP143zaXMg==, tarball: https://registry.npmjs.org/@storybook/blocks/-/blocks-8.0.4.tgz} peerDependencies: react: ^18.2.0 @@ -4479,7 +4529,7 @@ packages: dependencies: '@storybook/channels': 8.0.4 '@storybook/client-logger': 8.0.4 - '@storybook/components': 8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': 8.0.4 '@storybook/csf': 0.1.3 '@storybook/docs-tools': 8.0.4 @@ -4522,7 +4572,7 @@ packages: ejs: 3.1.9 esbuild: 0.20.2 esbuild-plugin-alias: 0.2.1 - express: 4.19.1 + express: 4.19.2 fs-extra: 11.2.0 process: 0.11.10 util: 0.12.5 @@ -4531,7 +4581,7 @@ packages: - supports-color dev: false - /@storybook/builder-vite@8.0.4(typescript@4.8.4)(vite@5.2.2): + /@storybook/builder-vite@8.0.4(typescript@4.8.4)(vite@5.2.6): resolution: {integrity: sha512-Whb001bGkoGQ6/byp9QTQJ4NO61Qa5bh1p5WEEMJ5wYvHm83b+B/IwwilUfU5mL9bJB/RjbwyKcSQqGP6AxMzA==, tarball: https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.0.4.tgz} peerDependencies: '@preact/preset-vite': '*' @@ -4558,13 +4608,13 @@ packages: '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 es-module-lexer: 0.9.3 - express: 4.19.1 + express: 4.19.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 magic-string: 0.30.8 ts-dedent: 2.2.0 typescript: 4.8.4 - vite: 5.2.2(@types/node@18.19.26) + vite: 5.2.6(@types/node@18.19.26) transitivePeerDependencies: - encoding - supports-color @@ -4658,13 +4708,13 @@ packages: - supports-color dev: false - /@storybook/components@8.0.4(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@storybook/components@8.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i5ngl5GTOLB9nZ1cmpxTjtWct5IuH9UxzFC73a0jHMkCwN26w16IqufRVDaoQv0AvZN4pd4fNM2in/XVHA10dw==, tarball: https://registry.npmjs.org/@storybook/components/-/components-8.0.4.tgz} peerDependencies: react: ^18.2.0 react-dom: ^18.2.0 dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) '@storybook/client-logger': 8.0.4 '@storybook/csf': 0.1.3 '@storybook/global': 5.0.0 @@ -4747,10 +4797,10 @@ packages: '@types/semver': 7.5.8 better-opn: 3.0.2 chalk: 4.1.2 - cli-table3: 0.6.3 + cli-table3: 0.6.4 compression: 1.7.4 detect-port: 1.5.1 - express: 4.19.1 + express: 4.19.2 fs-extra: 11.2.0 globby: 11.1.0 ip: 2.0.1 @@ -4923,7 +4973,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4)(vite@5.2.2): + /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4)(vite@5.2.6): resolution: {integrity: sha512-SlAsLSDc9I1nhMbf0YgXCHaZbnjzDdv458xirmUj4aJhn45e8yhmODpkPYQ8nGn45VWYMyd0sC66lJNWRvI/FA==, tarball: https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.0.4.tgz} engines: {node: '>=18.0.0'} peerDependencies: @@ -4931,9 +4981,9 @@ packages: react-dom: ^18.2.0 vite: ^4.0.0 || ^5.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@4.8.4)(vite@5.2.2) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@4.8.4)(vite@5.2.6) '@rollup/pluginutils': 5.1.0 - '@storybook/builder-vite': 8.0.4(typescript@4.8.4)(vite@5.2.2) + '@storybook/builder-vite': 8.0.4(typescript@4.8.4)(vite@5.2.6) '@storybook/node-logger': 8.0.4 '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@4.8.4) find-up: 5.0.0 @@ -4943,7 +4993,7 @@ packages: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 5.2.2(@types/node@18.19.26) + vite: 5.2.6(@types/node@18.19.26) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -5112,7 +5162,7 @@ packages: vitest: 1.4.0(@types/node@18.19.26)(happy-dom@13.10.1) dev: false - /@testing-library/react-hooks@8.0.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@testing-library/react-hooks@8.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==, tarball: https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz} engines: {node: '>=12'} peerDependencies: @@ -5129,7 +5179,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-error-boundary: 3.1.4(react@18.2.0) @@ -5158,8 +5208,8 @@ packages: '@testing-library/dom': 9.3.4 dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, tarball: https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, tarball: https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz} dev: false /@tsconfig/node12@1.0.11: @@ -5405,8 +5455,8 @@ packages: resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==, tarball: https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz} dev: false - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==, tarball: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz} + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==, tarball: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz} dev: false /@types/qs@6.9.14: @@ -5420,20 +5470,19 @@ packages: /@types/react-dom@18.2.22: resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==, tarball: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz} dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 dev: false /@types/react-reconciler@0.26.7: resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==, tarball: https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz} dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 dev: false - /@types/react@18.2.67: - resolution: {integrity: sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==, tarball: https://registry.npmjs.org/@types/react/-/react-18.2.67.tgz} + /@types/react@18.2.72: + resolution: {integrity: sha512-/e7GWxGzXQF7OJAua7UAYqYi/4VpXEfbGtmYQcAQwP3SjjjAXfybTf/JK5S+SaetB/ChXl8Y2g1hCsj7jDXxcg==, tarball: https://registry.npmjs.org/@types/react/-/react-18.2.72.tgz} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.12 csstype: 3.1.3 dev: false @@ -5448,10 +5497,6 @@ packages: resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==, tarball: https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz} dev: false - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==, tarball: https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz} - dev: false - /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, tarball: https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz} dev: false @@ -5623,7 +5668,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, tarball: https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz} dev: false - /@vitejs/plugin-react@4.2.1(vite@5.2.2): + /@vitejs/plugin-react@4.2.1(vite@5.2.6): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==, tarball: https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5634,7 +5679,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.3) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.2.2(@types/node@18.19.26) + vite: 5.2.6(@types/node@18.19.26) transitivePeerDependencies: - supports-color dev: false @@ -6366,7 +6411,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.715 + electron-to-chromium: 1.4.717 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: false @@ -6391,7 +6436,7 @@ packages: resolution: {integrity: sha512-MXRDG8uFjrz1h716wbahzhoaS3ImVQFBs1F2XNuDjmjKReMkSNO7XaxwUe0jtKoWO6Pt98E2rlgyebGlEA4NnA==, tarball: https://registry.npmjs.org/bundle-analyzer/-/bundle-analyzer-0.0.6.tgz} hasBin: true dependencies: - express: 4.19.1 + express: 4.19.2 opn: 5.5.0 source-map: 0.7.4 transitivePeerDependencies: @@ -6629,8 +6674,8 @@ packages: engines: {node: '>=6'} dev: false - /cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==, tarball: https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz} + /cli-table3@0.6.4: + resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==, tarball: https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz} engines: {node: 10.* || >= 12.*} dependencies: string-width: 4.2.3 @@ -7297,8 +7342,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.715: - resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.715.tgz} + /electron-to-chromium@1.4.717: + resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz} dev: false /emoji-regex@10.3.0: @@ -7821,7 +7866,7 @@ packages: minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.hasown: 1.1.3 + object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 @@ -8009,8 +8054,8 @@ packages: homedir-polyfill: 1.0.3 dev: false - /express@4.19.1: - resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==, tarball: https://registry.npmjs.org/express/-/express-4.19.1.tgz} + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==, tarball: https://registry.npmjs.org/express/-/express-4.19.2.tgz} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 @@ -8262,8 +8307,8 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, tarball: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz} dev: false - /flow-parser@0.231.0: - resolution: {integrity: sha512-WVzuqwq7ZnvBceCG0DGeTQebZE+iIU0mlk5PmJgYj9DDrt+0isGC2m1ezW9vxL4V+HERJJo9ExppOnwKH2op6Q==, tarball: https://registry.npmjs.org/flow-parser/-/flow-parser-0.231.0.tgz} + /flow-parser@0.232.0: + resolution: {integrity: sha512-U8vcKyYdM+Kb0tPzfPJ5JyPMU0uXKwHxp0L6BcEc+wBlbTW9qRhOqV5DeGXclgclVvtqQNGEG8Strj/b6c/IxA==, tarball: https://registry.npmjs.org/flow-parser/-/flow-parser-0.232.0.tgz} engines: {node: '>=0.4.0'} dev: false @@ -8327,12 +8372,12 @@ packages: engines: {node: '>= 0.6'} dev: false - /fp-ts@2.16.4: - resolution: {integrity: sha512-EkV/l6oHaf/w/DlVc5UiqLibqTV1S+idiDdcWQ+UjnLLflL9pZG28ebJfPLor8ifoL8NgEFDIo9fOvHyiSCrJQ==, tarball: https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.4.tgz} + /fp-ts@2.16.5: + resolution: {integrity: sha512-N8T8PwMSeTKKtkm9lkj/zSTAnPC/aJIIrQhnHxxkL0KLsRCNUPANksJOlMXxcKKCo7H1ORP3No9EMD+fP0tsdA==, tarball: https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.5.tgz} dev: false - /framer-motion@11.0.20(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YSDmWznt3hpdERosbE0UAPYWoYhTnmQ0J1qWPsgpCia9NgY8Xsz5IpOiUEGGj/nzCAW29fSrWugeLRkdp5de7g==, tarball: https://registry.npmjs.org/framer-motion/-/framer-motion-11.0.20.tgz} + /framer-motion@11.0.22(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kWyldNJLyKDvLWjPYFmgngQYLiU8973BtAeVBc83r2cnil/NBUQJb1ff/6/EweNQYb5BW3PaXFjZa4D3pn/W2Q==, tarball: https://registry.npmjs.org/framer-motion/-/framer-motion-11.0.22.tgz} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.2.0 @@ -9013,12 +9058,12 @@ packages: loose-envify: 1.4.0 dev: false - /io-ts@2.2.21(fp-ts@2.16.4): + /io-ts@2.2.21(fp-ts@2.16.5): resolution: {integrity: sha512-zz2Z69v9ZIC3mMLYWIeoUcwWD6f+O7yP92FMVVaXEOSZH1jnVBmET/urd/uoarD1WGBY4rCj8TAyMPzsGNzMFQ==, tarball: https://registry.npmjs.org/io-ts/-/io-ts-2.2.21.tgz} peerDependencies: fp-ts: ^2.5.0 dependencies: - fp-ts: 2.16.4 + fp-ts: 2.16.5 dev: false /ip@2.0.1: @@ -9541,7 +9586,7 @@ packages: '@babel/register': 7.23.7(@babel/core@7.24.3) babel-core: 7.0.0-bridge.0(@babel/core@7.24.3) chalk: 4.1.2 - flow-parser: 0.231.0 + flow-parser: 0.232.0 graceful-fs: 4.2.11 micromatch: 4.0.5 neo-async: 2.6.2 @@ -10781,11 +10826,13 @@ packages: es-object-atoms: 1.0.0 dev: false - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==, tarball: https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz} + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==, tarball: https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: false /object.map@1.0.1: @@ -11611,7 +11658,7 @@ packages: resolution: {integrity: sha512-9pnG/uw2Wa0n97s+yBZg/WgfMPE8RC4qNcr6iYbyb19sacCk3gRJCmCzAhTuANSWesFsK9v/yTKW42pkenaAfw==, tarball: https://registry.npmjs.org/react-flatten-children/-/react-flatten-children-1.1.2.tgz} dev: false - /react-focus-lock@2.11.2(@types/react@18.2.67)(react@18.2.0): + /react-focus-lock@2.11.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-DDTbEiov0+RthESPVSTIdAWPPKic+op3sCcP+icbMRobvQNt7LuAlJ3KoarqQv5sCgKArru3kXmlmFTa27/CdQ==, tarball: https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.11.2.tgz} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -11621,13 +11668,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.72 focus-lock: 1.3.4 prop-types: 15.8.1 react: 18.2.0 react-clientside-effect: 1.2.6(react@18.2.0) - use-callback-ref: 1.3.2(@types/react@18.2.67)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.67)(react@18.2.0) + use-callback-ref: 1.3.2(@types/react@18.2.72)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.72)(react@18.2.0) dev: false /react-is@16.13.1: @@ -11675,7 +11722,7 @@ packages: scheduler: 0.20.2 dev: false - /react-redux@9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1): + /react-redux@9.1.0(@types/react@18.2.72)(react@18.2.0)(redux@5.0.1): resolution: {integrity: sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==, tarball: https://registry.npmjs.org/react-redux/-/react-redux-9.1.0.tgz} peerDependencies: '@types/react': ^18.2.25 @@ -11690,7 +11737,7 @@ packages: redux: optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 '@types/use-sync-external-store': 0.0.3 react: 18.2.0 redux: 5.0.1 @@ -11702,7 +11749,7 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-remove-scroll-bar@2.3.6(@types/react@18.2.67)(react@18.2.0): + /react-remove-scroll-bar@2.3.6(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==, tarball: https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz} engines: {node: '>=10'} peerDependencies: @@ -11712,13 +11759,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.67)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.72)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.9(@types/react@18.2.67)(react@18.2.0): + /react-remove-scroll@2.5.9(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-bvHCLBrFfM2OgcrpPY2YW84sPdS2o2HKWJUf1xGyGLnSoEnOTOBpahIarjRuYtN0ryahCeP242yf+5TrBX/pZA==, tarball: https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.9.tgz} engines: {node: '>=10'} peerDependencies: @@ -11728,16 +11775,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.67)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll-bar: 2.3.6(@types/react@18.2.72)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.72)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.2(@types/react@18.2.67)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.67)(react@18.2.0) + use-callback-ref: 1.3.2(@types/react@18.2.72)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.72)(react@18.2.0) dev: false - /react-style-singleton@2.2.1(@types/react@18.2.67)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==, tarball: https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz} engines: {node: '>=10'} peerDependencies: @@ -11747,7 +11794,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -12142,26 +12189,27 @@ packages: glob: 7.2.3 dev: false - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==, tarball: https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz} + /rollup@4.13.1: + resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==, tarball: https://registry.npmjs.org/rollup/-/rollup-4.13.1.tgz} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 + '@rollup/rollup-android-arm-eabi': 4.13.1 + '@rollup/rollup-android-arm64': 4.13.1 + '@rollup/rollup-darwin-arm64': 4.13.1 + '@rollup/rollup-darwin-x64': 4.13.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.1 + '@rollup/rollup-linux-arm64-gnu': 4.13.1 + '@rollup/rollup-linux-arm64-musl': 4.13.1 + '@rollup/rollup-linux-riscv64-gnu': 4.13.1 + '@rollup/rollup-linux-s390x-gnu': 4.13.1 + '@rollup/rollup-linux-x64-gnu': 4.13.1 + '@rollup/rollup-linux-x64-musl': 4.13.1 + '@rollup/rollup-win32-arm64-msvc': 4.13.1 + '@rollup/rollup-win32-ia32-msvc': 4.13.1 + '@rollup/rollup-win32-x64-msvc': 4.13.1 fsevents: 2.3.3 dev: false @@ -12917,8 +12965,8 @@ packages: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==, tarball: https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz} dev: false - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, tarball: https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz} + /tinypool@0.8.3: + resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==, tarball: https://registry.npmjs.org/tinypool/-/tinypool-0.8.3.tgz} engines: {node: '>=14.0.0'} dev: false @@ -13027,7 +13075,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 @@ -13117,7 +13165,7 @@ packages: joycon: 3.1.1 postcss-load-config: 4.0.2 resolve-from: 5.0.0 - rollup: 4.13.0 + rollup: 4.13.1 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 @@ -13430,7 +13478,7 @@ packages: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==, tarball: https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz} dev: false - /use-callback-ref@1.3.2(@types/react@18.2.67)(react@18.2.0): + /use-callback-ref@1.3.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==, tarball: https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz} engines: {node: '>=10'} peerDependencies: @@ -13440,12 +13488,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 react: 18.2.0 tslib: 2.6.2 dev: false - /use-sidecar@1.1.2(@types/react@18.2.67)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==, tarball: https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz} engines: {node: '>=10'} peerDependencies: @@ -13455,7 +13503,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.72 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -13607,7 +13655,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.2(@types/node@18.19.26) + vite: 5.2.6(@types/node@18.19.26) transitivePeerDependencies: - '@types/node' - less @@ -13619,8 +13667,8 @@ packages: - terser dev: false - /vite@5.2.2(@types/node@18.19.26): - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==, tarball: https://registry.npmjs.org/vite/-/vite-5.2.2.tgz} + /vite@5.2.6(@types/node@18.19.26): + resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==, tarball: https://registry.npmjs.org/vite/-/vite-5.2.6.tgz} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -13650,7 +13698,7 @@ packages: '@types/node': 18.19.26 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.0 + rollup: 4.13.1 optionalDependencies: fsevents: 2.3.3 dev: false @@ -13698,8 +13746,8 @@ packages: std-env: 3.7.0 strip-literal: 2.0.0 tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.2.2(@types/node@18.19.26) + tinypool: 0.8.3 + vite: 5.2.6(@types/node@18.19.26) vite-node: 1.4.0(@types/node@18.19.26) why-is-node-running: 2.2.2 transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a366b65..9072f05 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -10,3 +10,5 @@ packages: - "input" - "list" - "docs/storybook" + - "console" + - "info" From 62eb0768a09b92d750ce4e38249eacd032fa05d1 Mon Sep 17 00:00:00 2001 From: rcampos2 Date: Thu, 28 Mar 2024 08:52:16 -0400 Subject: [PATCH 2/3] feat: table and stacked-view --- .bazelignore | 3 +- docs/storybook/.storybook/preview.ts | 6 +- .../storybook/src/assets/Devtools.stories.tsx | 12 + docs/storybook/src/assets/Info.stories.tsx | 12 - .../src/assets/{Info.mdx => StackedView.mdx} | 12 +- .../src/assets/StackedView.stories.tsx | 14 + docs/storybook/src/assets/Table.mdx | 20 ++ docs/storybook/src/assets/Table.stories.tsx | 12 + docs/storybook/src/flows/devtools/basic.tsx | 262 ++++++++++++++++++ docs/storybook/src/flows/input/basic.tsx | 9 +- docs/storybook/src/flows/navigation/basic.tsx | 6 +- .../flows/{info => stacked-view}/basic.tsx | 20 +- docs/storybook/src/flows/table/basic.tsx | 64 +++++ object-inspector/src/dsl/ObjectInspector.tsx | 4 +- plugin/BUILD | 3 +- plugin/README.md | 3 + plugin/package.json | 5 +- plugin/src/index.ts | 9 +- plugin/src/plugins/AssetsRegistryPlugin.tsx | 12 +- plugin/src/plugins/TransformPlugin.ts | 2 + pnpm-lock.yaml | 36 ++- pnpm-workspace.yaml | 3 +- stacked-view/BUILD | 34 +++ {info => stacked-view}/README.md | 41 +-- stacked-view/package.json | 9 + .../src/component/index.tsx | 6 +- .../src/dsl/__tests__/index.test.tsx | 24 +- {info => stacked-view}/src/dsl/index.tsx | 14 +- {info => stacked-view}/src/index.ts | 0 {info => stacked-view}/src/types/index.ts | 2 +- {info => table}/BUILD | 2 +- table/README.md | 92 ++++++ {info => table}/package.json | 2 +- table/src/component/index.tsx | 62 +++++ table/src/dsl/__tests__/index.test.tsx | 16 ++ table/src/dsl/index.tsx | 27 ++ table/src/index.ts | 4 + table/src/transform/index.ts | 22 ++ table/src/types/index.ts | 12 + 39 files changed, 792 insertions(+), 106 deletions(-) create mode 100644 docs/storybook/src/assets/Devtools.stories.tsx delete mode 100644 docs/storybook/src/assets/Info.stories.tsx rename docs/storybook/src/assets/{Info.mdx => StackedView.mdx} (56%) create mode 100644 docs/storybook/src/assets/StackedView.stories.tsx create mode 100644 docs/storybook/src/assets/Table.mdx create mode 100644 docs/storybook/src/assets/Table.stories.tsx create mode 100644 docs/storybook/src/flows/devtools/basic.tsx rename docs/storybook/src/flows/{info => stacked-view}/basic.tsx (72%) create mode 100644 docs/storybook/src/flows/table/basic.tsx create mode 100644 stacked-view/BUILD rename {info => stacked-view}/README.md (54%) create mode 100644 stacked-view/package.json rename {info => stacked-view}/src/component/index.tsx (70%) rename {info => stacked-view}/src/dsl/__tests__/index.test.tsx (72%) rename {info => stacked-view}/src/dsl/index.tsx (71%) rename {info => stacked-view}/src/index.ts (100%) rename {info => stacked-view}/src/types/index.ts (75%) rename {info => table}/BUILD (96%) create mode 100644 table/README.md rename {info => table}/package.json (84%) create mode 100644 table/src/component/index.tsx create mode 100644 table/src/dsl/__tests__/index.test.tsx create mode 100644 table/src/dsl/index.tsx create mode 100644 table/src/index.ts create mode 100644 table/src/transform/index.ts create mode 100644 table/src/types/index.ts diff --git a/.bazelignore b/.bazelignore index 203f929..0749845 100644 --- a/.bazelignore +++ b/.bazelignore @@ -26,7 +26,8 @@ list/node_modules docs/storybook/node_modules docs/site/node_modules console/node_modules -info/node_modules +stacked-view/node_modules +table/node_modules # Backup files _backup diff --git a/docs/storybook/.storybook/preview.ts b/docs/storybook/.storybook/preview.ts index e9261ff..19b7651 100644 --- a/docs/storybook/.storybook/preview.ts +++ b/docs/storybook/.storybook/preview.ts @@ -6,8 +6,9 @@ import DevtoolsUIPlugin, { Navigation, ObjectInspector, Text, - Info, + StackedView, Console, + Table, } from "@devtools-ui/plugin"; import { Preview } from "@storybook/react"; import { CommonTypesPlugin } from "@player-ui/common-types-plugin"; @@ -30,8 +31,9 @@ const components = { Navigation, ObjectInspector, Text, - Info, + StackedView, Console, + Table, }; export const parameters = { diff --git a/docs/storybook/src/assets/Devtools.stories.tsx b/docs/storybook/src/assets/Devtools.stories.tsx new file mode 100644 index 0000000..e05565a --- /dev/null +++ b/docs/storybook/src/assets/Devtools.stories.tsx @@ -0,0 +1,12 @@ +import type { Meta } from "@storybook/react"; +import { createDSLStory } from "@player-ui/storybook-addon-player"; + +const meta: Meta = { + title: "Devtools UI Assets/Devtools", +}; + +export default meta; + +export const Basic = createDSLStory( + () => import("../flows/devtools/basic?raw") +); diff --git a/docs/storybook/src/assets/Info.stories.tsx b/docs/storybook/src/assets/Info.stories.tsx deleted file mode 100644 index e82fa60..0000000 --- a/docs/storybook/src/assets/Info.stories.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import type { Meta } from "@storybook/react"; -import { createDSLStory } from "@player-ui/storybook-addon-player"; -import { Info } from "@devtools-ui/plugin"; - -const meta: Meta = { - title: "Devtools UI Assets/Info", - component: Info, -}; - -export default meta; - -export const Basic = createDSLStory(() => import("../flows/info/basic?raw")); diff --git a/docs/storybook/src/assets/Info.mdx b/docs/storybook/src/assets/StackedView.mdx similarity index 56% rename from docs/storybook/src/assets/Info.mdx rename to docs/storybook/src/assets/StackedView.mdx index 9d48ab0..8fd5858 100644 --- a/docs/storybook/src/assets/Info.mdx +++ b/docs/storybook/src/assets/StackedView.mdx @@ -1,13 +1,13 @@ import { Canvas, Meta } from '@storybook/blocks'; -import * as InfoStories from "./Info.stories"; +import * as StackedViewStories from "./StackedView.stories"; - + -# Info Asset +# StackedView Asset -> type: `info` +> type: `stacked-view` -It provides an Info view. A simple stacked layout composed by header, main content and footer. +A simple stacked layout composed by header, main content and footer. ## DSL Properties @@ -19,4 +19,4 @@ It provides an Info view. A simple stacked layout composed by header, main conte ## Basic Use Case - + diff --git a/docs/storybook/src/assets/StackedView.stories.tsx b/docs/storybook/src/assets/StackedView.stories.tsx new file mode 100644 index 0000000..f2f9e75 --- /dev/null +++ b/docs/storybook/src/assets/StackedView.stories.tsx @@ -0,0 +1,14 @@ +import type { Meta } from "@storybook/react"; +import { createDSLStory } from "@player-ui/storybook-addon-player"; +import { StackedView } from "@devtools-ui/plugin"; + +const meta: Meta = { + title: "Devtools UI Assets/StackedView", + component: StackedView, +}; + +export default meta; + +export const Basic = createDSLStory( + () => import("../flows/stacked-view/basic?raw") +); diff --git a/docs/storybook/src/assets/Table.mdx b/docs/storybook/src/assets/Table.mdx new file mode 100644 index 0000000..6a068cf --- /dev/null +++ b/docs/storybook/src/assets/Table.mdx @@ -0,0 +1,20 @@ +import { Canvas, Meta } from '@storybook/blocks'; +import * as TableStories from "./Table.stories"; + + + +# Table Asset + +> type: `table` + +It provides an `Table` component. + +## DSL Properties + +| Property | Type | Required | Description | +| --- | --- | --- | --- | +| `binding` | `Array` | false | The table rows expressed as Records where the keys are the column header, and the value. | + +## Basic Use Case + + diff --git a/docs/storybook/src/assets/Table.stories.tsx b/docs/storybook/src/assets/Table.stories.tsx new file mode 100644 index 0000000..79a32da --- /dev/null +++ b/docs/storybook/src/assets/Table.stories.tsx @@ -0,0 +1,12 @@ +import type { Meta } from "@storybook/react"; +import { createDSLStory } from "@player-ui/storybook-addon-player"; +import { Table } from "@devtools-ui/plugin"; + +const meta: Meta = { + title: "Devtools UI Assets/Table", + component: Table, +}; + +export default meta; + +export const Basic = createDSLStory(() => import("../flows/table/basic?raw")); diff --git a/docs/storybook/src/flows/devtools/basic.tsx b/docs/storybook/src/flows/devtools/basic.tsx new file mode 100644 index 0000000..62ffa75 --- /dev/null +++ b/docs/storybook/src/flows/devtools/basic.tsx @@ -0,0 +1,262 @@ +import React from "react"; +import type { DSLFlow, DSLSchema } from "@player-tools/dsl"; +import { expression as e, makeBindingsForObject } from "@player-tools/dsl"; +import { + Action, + Console, + Navigation, + ObjectInspector, + StackedView, + Table, +} from "@devtools-ui/plugin"; +import type { Schema } from "@player-ui/types"; + +const RecordType: Schema.DataType> = { + type: "RecordType", +}; + +const schema = { + data: RecordType, + flow: RecordType, + expression: { type: "StringType" }, + history: [ + { + id: { type: "StringType" }, + expression: { type: "StringType" }, + result: { type: "StringType" }, + severity: { type: "StringType" }, + }, + ] as [DSLSchema], + logs: [ + { + id: { type: "StringType" }, + time: { type: "StringType" }, + type: { type: "StringType" }, + message: { type: "StringType" }, + severity: { type: "StringType" }, + binding: { type: "StringType" }, + from: { type: "StringType" }, + to: { type: "StringType" }, + state: { type: "StringType" }, + error: { type: "StringType" }, + outcome: { type: "StringType" }, + metricType: { type: "StringType" }, + }, + ] as [DSLSchema], +}; + +const bindings = makeBindingsForObject(schema); + +const Screen = ({ + main, + footer, + id, +}: { + id: string; + main: React.ReactNode; + footer?: React.ReactNode; +}) => ( + + + + + + Events + + + Flow + + + Data + + + Console + + + + + {main} + {footer && {footer}} + +); + +const EventsView = ( + } /> +); + +const FlowView = ( + + Flow + + } + footer={ + + Copy flow to the clipboard + + } + /> +); + +const DataView = ( + + Data + + } + /> +); + +const ConsoleView = ( + + } + /> +); + +const flow: DSLFlow = { + id: "devtools", + views: [EventsView, FlowView, DataView, ConsoleView], + data: { + flow: { + id: "action-basic", + views: [{ asset: { id: "ref", type: "text", value: "content" } }], + data: { + count: 0, + }, + schema, + navigation: { + BEGIN: "FLOW_1", + FLOW_1: { + startState: "VIEW_1", + VIEW_1: { + state_type: "VIEW", + ref: "ref", + transitions: { + "*": "END_Done", + }, + }, + END_Done: { + state_type: "END", + outcome: "DONE", + }, + }, + }, + }, + data: { + count: 0, + foo: { + bar: { + a: "a_content", + b: "b_content", + }, + fuzz: [1, 2, 3], + }, + }, + expression: "", + history: [ + { id: "0", expression: "1 + 1", result: "2" }, + { id: "1", expression: "1 / 0", result: "Infinity", severity: "error" }, + { + id: "2", + expression: "1 + a", + result: "Expected a integer, got a string", + severity: "warning", + }, + ], + logs: [ + { + id: "0", + time: "2021-08-04T00:00:00Z", + type: "log", + message: "Hello, world!", + severity: "info", + }, + { + id: "1", + time: "2021-08-04T00:00:01Z", + type: "dataChange", + binding: "foo.bar.a", + from: "old", + to: "new", + }, + { + id: "2", + time: "2021-08-04T00:00:02Z", + type: "metric", + metricType: "performance", + message: "Page load time", + }, + { + id: "3", + time: "2021-08-04T00:00:03Z", + type: "stateChange", + state: "VIEW_1", + outcome: "DONE", + error: "Error message", + }, + ], + }, + schema, + navigation: { + BEGIN: "FLOW_1", + FLOW_1: { + startState: "Events", + Events: { + state_type: "VIEW", + ref: EventsView, + transitions: { + Events: "Events", + Flow: "Flow", + Data: "Data", + Console: "Console", + }, + }, + Flow: { + state_type: "VIEW", + ref: FlowView, + transitions: { + Events: "Events", + Flow: "Flow", + Data: "Data", + Console: "Console", + }, + }, + Data: { + state_type: "VIEW", + ref: DataView, + transitions: { + Events: "Events", + Flow: "Flow", + Data: "Data", + Console: "Console", + }, + }, + Console: { + state_type: "VIEW", + ref: ConsoleView, + transitions: { + Events: "Events", + Flow: "Flow", + Data: "Data", + Console: "Console", + }, + }, + END_Done: { + state_type: "END", + outcome: "DONE", + }, + }, + }, +}; + +export default flow; diff --git a/docs/storybook/src/flows/input/basic.tsx b/docs/storybook/src/flows/input/basic.tsx index 7f85775..42a755f 100644 --- a/docs/storybook/src/flows/input/basic.tsx +++ b/docs/storybook/src/flows/input/basic.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Input } from "@devtools-ui/plugin"; -import type { DSLFlow } from "@player-tools/dsl"; -import { binding as b } from "@player-tools/dsl"; +import { DSLFlow, makeBindingsForObject } from "@player-tools/dsl"; // eslint-disable-next-line @typescript-eslint/no-explicit-any const schema: any = { @@ -10,9 +9,11 @@ const schema: any = { }, }; +const bindings = makeBindingsForObject(schema); + const view1 = ( ( ); const view1 = ( - +