This is an automated email from the ASF dual-hosted git repository.

ricardozanini pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new 168336ec1e6 kie-tools#3097: [SonataFlow] Dev UI does not render object 
input (#3110)
168336ec1e6 is described below

commit 168336ec1e67b169f975c44e2d99fcaf6e602db2
Author: Fabrizio Antonangeli <[email protected]>
AuthorDate: Mon Aug 18 18:37:28 2025 +0200

    kie-tools#3097: [SonataFlow] Dev UI does not render object input (#3110)
---
 .../src/components/FormRenderer/FormRenderer.tsx   |    7 +-
 .../package.json                                   |    1 +
 .../CustomWorkflowForm/CustomWorkflowForm.tsx      |    5 +-
 .../src/MockData/openAPI/openapi.json              |   24 +
 packages/sonataflow-uniforms/README.md             |  131 +++
 packages/sonataflow-uniforms/env/index.js          |   27 +
 packages/sonataflow-uniforms/jest.config.js        |   35 +
 packages/sonataflow-uniforms/package.json          |   66 ++
 .../src/CodeEditorTextField.tsx                    |  102 ++
 .../src/FormSwfAutoFieldValue.ts                   |   29 +
 .../src/SwfAutoFieldProvider.tsx                   |   34 +
 packages/sonataflow-uniforms/src/index.ts          |   21 +
 .../tests/CodeEditorTextField.test.tsx             |  201 ++++
 .../tests/CodeEditorTextField.test.tsx.bak         |  203 ++++
 .../tests/__mocks__/react-code-editor.tsx          |   38 +
 .../tests/__mocks__/styleMock.js                   |   20 +
 packages/sonataflow-uniforms/tests/index.test.ts   |   27 +
 packages/sonataflow-uniforms/tests/jest.setup.ts   |   20 +
 packages/sonataflow-uniforms/tests/test-utils.tsx  |   65 ++
 packages/sonataflow-uniforms/tsconfig.cjs.json     |    9 +
 packages/sonataflow-uniforms/tsconfig.esm.json     |    8 +
 packages/sonataflow-uniforms/tsconfig.json         |    7 +
 packages/sonataflow-uniforms/tsconfig.tests.json   |    6 +
 packages/uniforms-patternfly/README.md             |    2 +-
 pnpm-lock.yaml                                     | 1087 ++++++++++++++------
 repo/graph.dot                                     |    3 +
 repo/graph.json                                    |   12 +
 27 files changed, 1889 insertions(+), 301 deletions(-)

diff --git 
a/packages/runtime-tools-components/src/components/FormRenderer/FormRenderer.tsx
 
b/packages/runtime-tools-components/src/components/FormRenderer/FormRenderer.tsx
index d6ee8a3db19..6afc77200e0 100644
--- 
a/packages/runtime-tools-components/src/components/FormRenderer/FormRenderer.tsx
+++ 
b/packages/runtime-tools-components/src/components/FormRenderer/FormRenderer.tsx
@@ -19,7 +19,7 @@
 
 import React, { useImperativeHandle, useState } from "react";
 import JSONSchemaBridge from "uniforms-bridge-json-schema";
-import { AutoFields, AutoForm, ErrorsField } from 
"@kie-tools/uniforms-patternfly/dist/esm";
+import { AutoForm, ErrorsField } from 
"@kie-tools/uniforms-patternfly/dist/esm";
 import { componentOuiaProps, OUIAProps } from "../../ouiaTools";
 import { FormAction, lookupValidator, ModelConversionTool } from "../../utils";
 import { FormFooter } from "../FormFooter";
@@ -35,10 +35,11 @@ interface IOwnProps {
   onSubmit?: (data: any) => void;
   formActions?: FormAction[];
   readOnly: boolean;
+  children?: React.ReactNode;
 }
 
 export const FormRenderer = React.forwardRef<FormRendererApi, IOwnProps & 
OUIAProps>(
-  ({ formSchema, model, onSubmit, formActions, readOnly, ouiaId, ouiaSafe }, 
forwardedRef) => {
+  ({ formSchema, model, onSubmit, formActions, readOnly, ouiaId, ouiaSafe, 
children }, forwardedRef) => {
     const validator = lookupValidator(formSchema);
     const [formApiRef, setFormApiRef] = useState<HTMLFormElement>();
 
@@ -76,7 +77,7 @@ export const FormRenderer = React.forwardRef<FormRendererApi, 
IOwnProps & OUIAPr
           {...componentOuiaProps(ouiaId, "form-renderer", ouiaSafe)}
         >
           <ErrorsField />
-          <AutoFields />
+          {children}
         </AutoForm>
         <FormFooter actions={formActions} enabled={!readOnly} 
onSubmitForm={submitFormData} />
       </React.Fragment>
diff --git a/packages/runtime-tools-swf-enveloped-components/package.json 
b/packages/runtime-tools-swf-enveloped-components/package.json
index 58ec2b7fa10..24d8d7f4261 100644
--- a/packages/runtime-tools-swf-enveloped-components/package.json
+++ b/packages/runtime-tools-swf-enveloped-components/package.json
@@ -42,6 +42,7 @@
     "@kie-tools/runtime-tools-shared-gateway-api": "workspace:*",
     "@kie-tools/runtime-tools-swf-gateway-api": "workspace:*",
     "@kie-tools/serverless-workflow-combined-editor": "workspace:*",
+    "@kie-tools/sonataflow-uniforms": "workspace:*",
     "@microlink/react-json-view": "^1.24.0",
     "@patternfly/patternfly": "^5.4.1",
     "@patternfly/react-core": "^5.4.1",
diff --git 
a/packages/runtime-tools-swf-enveloped-components/src/workflowForm/envelope/components/CustomWorkflowForm/CustomWorkflowForm.tsx
 
b/packages/runtime-tools-swf-enveloped-components/src/workflowForm/envelope/components/CustomWorkflowForm/CustomWorkflowForm.tsx
index bbb61d7670e..4133c83b405 100644
--- 
a/packages/runtime-tools-swf-enveloped-components/src/workflowForm/envelope/components/CustomWorkflowForm/CustomWorkflowForm.tsx
+++ 
b/packages/runtime-tools-swf-enveloped-components/src/workflowForm/envelope/components/CustomWorkflowForm/CustomWorkflowForm.tsx
@@ -25,6 +25,7 @@ import { FormRenderer, FormRendererApi } from 
"@kie-tools/runtime-tools-componen
 import { WorkflowFormDriver } from "../../../api/WorkflowFormDriver";
 import { WorkflowDefinition } from "../../../api";
 import { Bullseye } from "@patternfly/react-core/dist/js/layouts/Bullseye";
+import { formSwfAutoFieldValue, SwfAutoFieldProvider } from 
"@kie-tools/sonataflow-uniforms/dist/esm";
 
 export interface CustomWorkflowFormProps {
   customFormSchema: Record<string, any>;
@@ -82,7 +83,9 @@ const CustomWorkflowForm: React.FC<CustomWorkflowFormProps & 
OUIAProps> = ({
         onSubmit={startWorkflow}
         formActions={formAction}
         ref={formRendererApi}
-      />
+      >
+        <SwfAutoFieldProvider value={formSwfAutoFieldValue} />
+      </FormRenderer>
     </div>
   );
 };
diff --git a/packages/sonataflow-dev-app/src/MockData/openAPI/openapi.json 
b/packages/sonataflow-dev-app/src/MockData/openAPI/openapi.json
index 70af41f110d..4f6ce06a337 100644
--- a/packages/sonataflow-dev-app/src/MockData/openAPI/openapi.json
+++ b/packages/sonataflow-dev-app/src/MockData/openAPI/openapi.json
@@ -1228,12 +1228,18 @@
           "content": {
             "application/json": {
               "schema": {
+                "$schema": "http://json-schema.org/draft-04/schema#";,
                 "title": "service_input",
                 "required": ["name"],
                 "type": "object",
                 "properties": {
                   "name": {
                     "type": "string"
+                  },
+                  "customData": {
+                    "title": "custom JSON data",
+                    "description": "Use the CodeEditor to write your custom 
JSON",
+                    "type": "object"
                   }
                 }
               }
@@ -1318,12 +1324,18 @@
           "content": {
             "application/json": {
               "schema": {
+                "$schema": "http://json-schema.org/draft-04/schema#";,
                 "title": "service_input",
                 "required": ["name"],
                 "type": "object",
                 "properties": {
                   "name": {
                     "type": "string"
+                  },
+                  "customData": {
+                    "title": "custom JSON data",
+                    "description": "Use the CodeEditor to write your custom 
JSON",
+                    "type": "object"
                   }
                 }
               }
@@ -1390,12 +1402,18 @@
           "content": {
             "application/json": {
               "schema": {
+                "$schema": "http://json-schema.org/draft-04/schema#";,
                 "title": "service_input",
                 "required": ["name"],
                 "type": "object",
                 "properties": {
                   "name": {
                     "type": "string"
+                  },
+                  "customData": {
+                    "title": "custom JSON data",
+                    "description": "Use the CodeEditor to write your custom 
JSON",
+                    "type": "object"
                   }
                 }
               }
@@ -2589,12 +2607,18 @@
         "example": "2022-03-10T12:15:50-04:00"
       },
       "service_input": {
+        "$schema": "http://json-schema.org/draft-04/schema#";,
         "title": "service_input",
         "required": ["name"],
         "type": "object",
         "properties": {
           "name": {
             "type": "string"
+          },
+          "customData": {
+            "title": "custom JSON data",
+            "description": "Use the CodeEditor to write your custom JSON",
+            "type": "object"
           }
         }
       }
diff --git a/packages/sonataflow-uniforms/README.md 
b/packages/sonataflow-uniforms/README.md
new file mode 100644
index 00000000000..6b30f67d7c0
--- /dev/null
+++ b/packages/sonataflow-uniforms/README.md
@@ -0,0 +1,131 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+
+## @kie-tools/sonataflow-uniforms
+
+This package extends 
[`@kie-tools/uniforms-patternfly`](../uniforms-patternfly/README.md) with 
SonataFlow-specific [Uniforms](https://uniforms.tools/) components.
+
+### Available Components
+
+Each component is automatically registered as a Uniforms field, if used with a 
JSON schema.
+
+- **`CodeEditorTextField`**: A code editor based on 
[@patternfly/react-code-editor](https://www.patternfly.org/components/code-editor)
 that supports syntax-highlighted editing of code (e.g., JSON, YAML) with 
validation.
+
+### Basic usage
+
+Follow uniforms-patternfly's 
[guide](../uniforms-patternfly/README.md#basic-usage) and in addition follow 
these steps.
+
+#### 1. Install the required packages
+
+Refer to the [step 
1](../uniforms-patternfly/README.md#1-install-the-required-packages)
+
+```sh
+npm install @kie-tools/sonataflow-uniforms
+```
+
+#### 2. Define a schema
+
+You can use the `CodeEditorTextField` by simply defining a field as `type: 
object`, without nested properties, in your JSON Schema:
+
+```ts
+const schema = {
+  type: "object",
+  properties: {
+    customData: {
+      type: "object",
+      title: "Custom JSON",
+      description: "Write your JSON using the editor",
+    },
+  },
+};
+```
+
+#### 3. Create the bridge
+
+Refer to the [step 
3](../uniforms-patternfly/README.md#3-then-create-the-bridge).
+
+#### 4. Use the form
+
+In addition to [step 
4](../uniforms-patternfly/README.md#4-finally-use-it-in-a-form-) we need to 
render our form this way:
+
+```tsx
+import * as React from "react";
+import { useState } from "react";
+import { Button } from "@patternfly/react-core";
+import { AutoForm, ErrorsField } from "@kie-tools/uniforms-patternfly";
+import { formSwfAutoFieldValue, SwfAutoFieldProvider } from 
"@kie-tools/sonataflow-uniforms";
+
+import schema from "./schema";
+
+export default function MyForm() {
+  const [formApiRef, setFormApiRef] = useState<HTMLFormElement>();
+
+  const submitFormData = (): void => {
+    console.log("Submit!");
+    formApiRef!.submit();
+  };
+
+  return (
+    <>
+      <AutoForm schema={bridge} ref={(ref: HTMLFormElement) => 
setFormApiRef(ref)}>
+        <ErrorsField />
+        <SwfAutoFieldProvider value={formSwfAutoFieldValue} />
+      </AutoForm>
+      <Button type="submit" onClick={submitFormData}>
+        Submit
+      </Button>
+    </>
+  );
+}
+```
+
+### Contributing a New Component
+
+To contribute a new custom component:
+
+1.  Create a new component that accepts standard Uniforms props (`helperText, 
label, language, onChange, prefix, value`).
+2.  Wrap it using `wrapField()` from `@kie-tools/uniforms-patternfly`.
+3.  Export it using `connectField()` from `uniforms`.
+4.  Update the `AutoFields` logic registered at `src/FormSwfAutoFieldValue.ts`.
+5.  Add it to the `/src` directory and create a test in `/tests`.
+6.  Document the component in the list above.
+
+---
+
+Apache KIE (incubating) is an effort undergoing incubation at The Apache 
Software
+Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is
+required of all newly accepted projects until a further review indicates that
+the infrastructure, communications, and decision making process have stabilized
+in a manner consistent with other successful ASF projects. While incubation
+status is not necessarily a reflection of the completeness or stability of the
+code, it does indicate that the project has yet to be fully endorsed by the 
ASF.
+
+Some of the incubating project’s releases may not be fully compliant with ASF
+policy. For example, releases may have incomplete or un-reviewed licensing
+conditions. What follows is a list of known issues the project is currently
+aware of (note that this list, by definition, is likely to be incomplete):
+
+- Hibernate, an LGPL project, is being used. Hibernate is in the process of
+  relicensing to ASL v2
+- Some files, particularly test files, and those not supporting comments, may
+  be missing the ASF Licensing Header
+
+If you are planning to incorporate this work into your product/project, please
+be aware that you will need to conduct a thorough licensing review to determine
+the overall implications of including this work. For the current status of this
+project through the Apache Incubator visit:
+https://incubator.apache.org/projects/kie.html
diff --git a/packages/sonataflow-uniforms/env/index.js 
b/packages/sonataflow-uniforms/env/index.js
new file mode 100644
index 00000000000..61bc742bd66
--- /dev/null
+++ b/packages/sonataflow-uniforms/env/index.js
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env");
+
+module.exports = composeEnv([require("@kie-tools/root-env/env")], {
+  vars: varsWithName({}),
+  get env() {
+    return {};
+  },
+});
diff --git a/packages/sonataflow-uniforms/jest.config.js 
b/packages/sonataflow-uniforms/jest.config.js
new file mode 100644
index 00000000000..45ddb4dfa56
--- /dev/null
+++ b/packages/sonataflow-uniforms/jest.config.js
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const { config, jestSetupPath, styleMock, typescriptTransform } = 
require("@kie-tools/jest-base/jest.config");
+
+/** @type {import('ts-jest').JestConfigWithTsJest} */
+module.exports = {
+  ...config,
+  testEnvironment: "jsdom",
+  moduleNameMapper: {
+    ...styleMock,
+    "^@kie-tools/uniforms-patternfly/dist/esm(.*)": 
"<rootDir>/node_modules/@kie-tools/uniforms-patternfly/dist/cjs$1",
+    "^@patternfly/react-code-editor/dist/esm(.*)": 
"<rootDir>/node_modules/@patternfly/react-code-editor/dist/js$1",
+  },
+  setupFilesAfterEnv: [jestSetupPath],
+  transform: {
+    ...typescriptTransform,
+  },
+};
diff --git a/packages/sonataflow-uniforms/package.json 
b/packages/sonataflow-uniforms/package.json
new file mode 100644
index 00000000000..de9693da649
--- /dev/null
+++ b/packages/sonataflow-uniforms/package.json
@@ -0,0 +1,66 @@
+{
+  "name": "@kie-tools/sonataflow-uniforms",
+  "version": "0.0.0",
+  "description": "Patternfly forms for SonataFlow",
+  "license": "Apache-2.0",
+  "keywords": [],
+  "homepage": "https://github.com/apache/incubator-kie-tools";,
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/incubator-kie-tools.git";
+  },
+  "bugs": {
+    "url": "https://github.com/apache/incubator-kie-tools/issues";
+  },
+  "types": "./dist/esm/index.d.ts",
+  "main": "dist/esm/index.js",
+  "files": [
+    "dist"
+  ],
+  "scripts": {
+    "build:dev": "rimraf dist && tsc --build tsconfig.cjs.json && tsc --build 
tsconfig.esm.json",
+    "build:prod": "rimraf dist && pnpm lint && pnpm test && rimraf dist && tsc 
--build tsconfig.cjs.json && tsc --build tsconfig.esm.json",
+    "lint": "run-script-if --bool \"$(build-env linters.run)\" --then 
\"kie-tools--eslint ./src\"",
+    "test": "run-script-if --ignore-errors \"$(build-env 
tests.ignoreFailures)\" --bool \"$(build-env tests.run)\" --then \"jest 
--silent --verbose --passWithNoTests\""
+  },
+  "dependencies": {
+    "@kie-tools/uniforms-patternfly": "workspace:*",
+    "@patternfly/react-code-editor": "5.4.3",
+    "uniforms": "^3.10.2"
+  },
+  "devDependencies": {
+    "@babel/preset-env": "^7.16.0",
+    "@babel/preset-react": "^7.16.0",
+    "@kie-tools/eslint": "workspace:*",
+    "@kie-tools/jest-base": "workspace:*",
+    "@kie-tools/root-env": "workspace:*",
+    "@kie-tools/tsconfig": "workspace:*",
+    "@patternfly/react-core": "^5.4.1",
+    "@patternfly/react-icons": "^5.4.1",
+    "@testing-library/jest-dom": "^6.4.6",
+    "@testing-library/react": "^12.1.5",
+    "@types/jest": "^29.5.12",
+    "@types/lodash": "^4.14.168",
+    "@types/react": "^17.0.6",
+    "@types/react-dom": "^17.0.5",
+    "@types/simpl-schema": "^1.12.0",
+    "copy-webpack-plugin": "^11.0.0",
+    "jest": "^29.7.0",
+    "jest-environment-jsdom": "^29.7.0",
+    "jest-junit": "^16.0.0",
+    "rimraf": "^3.0.2",
+    "simpl-schema": "^1.12.0",
+    "ts-jest": "^29.1.5",
+    "ts-node": "^10.9.2",
+    "typescript": "^5.5.3",
+    "uniforms-bridge-simple-schema-2": "^3.10.2",
+    "webpack": "^5.94.0",
+    "webpack-cli": "^4.10.0",
+    "webpack-dev-server": "^4.15.1",
+    "webpack-merge": "^5.9.0"
+  },
+  "peerDependencies": {
+    "react": ">=17.0.2 <19.0.0",
+    "react-dom": ">=17.0.2 <19.0.0"
+  }
+}
diff --git a/packages/sonataflow-uniforms/src/CodeEditorTextField.tsx 
b/packages/sonataflow-uniforms/src/CodeEditorTextField.tsx
new file mode 100644
index 00000000000..9a22e319a29
--- /dev/null
+++ b/packages/sonataflow-uniforms/src/CodeEditorTextField.tsx
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import { useCallback, useState, useMemo } from "react";
+import { CodeEditor, Language } from "@patternfly/react-code-editor/dist/esm";
+import { connectField, HTMLFieldProps } from "uniforms";
+import wrapField from "@kie-tools/uniforms-patternfly/dist/esm/wrapField";
+
+export type CodeEditorTextFieldProps = HTMLFieldProps<
+  string,
+  HTMLDivElement,
+  {
+    helperText?: string;
+    label?: string;
+    language?: Language;
+    onChange: (value?: any) => void;
+    prefix?: string;
+    value?: any;
+  }
+>;
+
+function CodeEditorTextField({
+  disabled,
+  height,
+  helperText,
+  language = Language.json,
+  name,
+  value,
+  ...props
+}: CodeEditorTextFieldProps) {
+  const [isInvalid, setIsInvalid] = useState<string | boolean>(false);
+
+  const onChange = useCallback(
+    (val: string) => {
+      if (language === Language.json) {
+        try {
+          const stringifiedValue = JSON.parse(val);
+          props.onChange(stringifiedValue);
+          setIsInvalid(false);
+        } catch (error) {
+          setIsInvalid("Invalid JSON syntax");
+        }
+      } else {
+        props.onChange(val);
+      }
+    },
+    [language, props]
+  );
+
+  const code = useMemo(() => (language === Language.json ? 
JSON.stringify(value) : value), [value, language]);
+
+  const renderCodeEditor = useMemo(
+    () => (
+      <CodeEditor
+        code={code}
+        height={height ? `${height}` : "200px"}
+        isReadOnly={disabled}
+        language={language}
+        onChange={onChange}
+      />
+      // eslint-disable-next-line react-hooks/exhaustive-deps -- this is 
needed to prevent CodeEditor to be rendered if `code` or `onChange` are updated.
+    ),
+    [language, disabled, height]
+  );
+
+  return wrapField(
+    { ...props, help: helperText },
+    <>
+      {renderCodeEditor}
+      {isInvalid && (
+        <div
+          style={{
+            fontSize: "0.875rem",
+            color: "#c9190b",
+            marginTop: "0.25rem",
+          }}
+        >
+          {isInvalid}
+        </div>
+      )}
+    </>
+  );
+}
+
+export default connectField(CodeEditorTextField);
diff --git a/packages/sonataflow-uniforms/src/FormSwfAutoFieldValue.ts 
b/packages/sonataflow-uniforms/src/FormSwfAutoFieldValue.ts
new file mode 100644
index 00000000000..36146bd7af7
--- /dev/null
+++ b/packages/sonataflow-uniforms/src/FormSwfAutoFieldValue.ts
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { Context, GuaranteedProps } from "uniforms/esm";
+import { AutoField } from "@kie-tools/uniforms-patternfly/dist/esm";
+import CodeEditorTextField from "./CodeEditorTextField";
+
+export function formSwfAutoFieldValue(props: GuaranteedProps<unknown>, 
uniforms: Context<Record<string, unknown>>) {
+  if (props.fieldType === Object && !props.field.properties) {
+    return CodeEditorTextField;
+  }
+  return AutoField.defaultComponentDetector(props, uniforms);
+}
diff --git a/packages/sonataflow-uniforms/src/SwfAutoFieldProvider.tsx 
b/packages/sonataflow-uniforms/src/SwfAutoFieldProvider.tsx
new file mode 100644
index 00000000000..18b83bbf225
--- /dev/null
+++ b/packages/sonataflow-uniforms/src/SwfAutoFieldProvider.tsx
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import { AutoField, AutoFields } from 
"@kie-tools/uniforms-patternfly/dist/esm";
+import { ComponentDetector } from "uniforms/esm";
+
+interface SwfAutoFieldValue {
+  value: ComponentDetector;
+}
+
+export function SwfAutoFieldProvider(props: 
React.PropsWithChildren<SwfAutoFieldValue>) {
+  return (
+    <AutoField.componentDetectorContext.Provider value={props.value}>
+      {props.children ? props.children : <AutoFields />}
+    </AutoField.componentDetectorContext.Provider>
+  );
+}
diff --git a/packages/sonataflow-uniforms/src/index.ts 
b/packages/sonataflow-uniforms/src/index.ts
new file mode 100644
index 00000000000..ae281208d12
--- /dev/null
+++ b/packages/sonataflow-uniforms/src/index.ts
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export * from "./FormSwfAutoFieldValue";
+export * from "./SwfAutoFieldProvider";
diff --git a/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx 
b/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx
new file mode 100644
index 00000000000..9d62b7f515b
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import CodeEditorTextField from "../src/CodeEditorTextField";
+import { fireEvent, render, screen } from "@testing-library/react";
+import { usingUniformsContext } from "./test-utils";
+import { Language } from 
"@patternfly/react-code-editor/dist/js/components/CodeEditor";
+
+const jsonMock = { first_name: "John", last_name: "Doe" };
+const jsonMockStringified = JSON.stringify(jsonMock);
+const htmlMock = "<html></html>";
+jest.mock("@patternfly/react-code-editor", () => 
require("./__mocks__/react-code-editor"));
+
+test("<CodeEditorTextField> - renders an editor", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+});
+
+test("<CodeEditorTextField> - renders an editor with correct disabled state", 
() => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" disabled 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  
expect(screen.getByTestId("code-editor-textarea").getAttribute("readOnly")).not.toBe(null);
+});
+
+test("<CodeEditorTextField> - renders an editor with correct value (default)", 
() => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  const editor = screen.getByTestId("code-editor-textarea") as 
HTMLTextAreaElement;
+  expect(editor.value).toBe("{}");
+});
+
+test("<CodeEditorTextField> - renders an editor with correct value (model)", 
() => {
+  render(
+    usingUniformsContext(
+      <CodeEditorTextField name="x" language={Language.json} />,
+      { x: { type: Object } },
+      { model: { x: jsonMock } }
+    )
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  expect(screen.getByText(jsonMockStringified)).toBeInTheDocument();
+});
+
+test("<CodeEditorTextField> - renders an editor with correct value 
(specified)", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} value={jsonMock} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  expect(screen.getByText(jsonMockStringified)).toBeInTheDocument();
+});
+
+test("<CodeEditorTextField> - renders an html editor with correct value 
(specified)", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.html} value={htmlMock} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  expect(screen.getByText(htmlMock)).toBeInTheDocument();
+});
+
+test("<CodeEditorTextField> - renders an editor which correctly reacts on 
change", () => {
+  const onChange = jest.fn();
+
+  render(
+    usingUniformsContext(
+      <CodeEditorTextField name="x" language={Language.json} />,
+      { x: { type: Object } },
+      { onChange }
+    )
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  expect(onChange).toHaveBeenLastCalledWith("x", {});
+  const editor = screen.getByTestId("code-editor-textarea");
+  fireEvent.change(editor, { target: { value: jsonMockStringified } });
+  expect(onChange).toHaveBeenLastCalledWith("x", jsonMock);
+});
+
+test("<CodeEditorTextField> - renders an html editor which correctly reacts on 
change", () => {
+  const onChange = jest.fn();
+
+  render(
+    usingUniformsContext(
+      <CodeEditorTextField name="x" language={Language.html} />,
+      { x: { type: Object } },
+      { onChange }
+    )
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  const editor = screen.getByTestId("code-editor-textarea");
+  fireEvent.change(editor, { target: { value: htmlMock } });
+  expect(onChange).toHaveBeenLastCalledWith("x", htmlMock);
+});
+
+test("<CodeEditorTextField> - renders an editor which correctly reacts on 
change (same value)", () => {
+  const onChange = jest.fn();
+
+  render(
+    usingUniformsContext(
+      <CodeEditorTextField name="x" language={Language.json} />,
+      { x: { type: Object } },
+      { model: { x: jsonMock }, onChange }
+    )
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  const editor = screen.getByTestId("code-editor-textarea");
+  fireEvent.change(editor, { target: { value: jsonMock } });
+  expect(screen.getByText(jsonMockStringified)).toBeInTheDocument();
+  expect(onChange).not.toHaveBeenCalled();
+});
+
+test("<CodeEditorTextField> - renders a label", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" label="y" 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  expect(screen.getByText("y")).toBeInTheDocument();
+});
+
+test("<CodeEditorTextField> - renders an editor with correct height 
(default)", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  
expect(screen.getByTestId("code-editor-textarea").style.height).toBe("200px");
+});
+
+test("<CodeEditorTextField> - renders an editor with correct height 
(specified)", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" height="300px" 
language={Language.json} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  
expect(screen.getByTestId("code-editor-textarea").style.height).toBe("300px");
+});
+
+test("<CodeEditorTextField> - renders an editor with correct language 
(default)", () => {
+  render(usingUniformsContext(<CodeEditorTextField name="x" />, { x: { type: 
Object } }));
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  
expect(screen.getByTestId("code-editor-textarea").getAttribute("data-language")).toBe("json");
+});
+
+test("<CodeEditorTextField> - renders an editor with correct language 
(specified)", () => {
+  render(
+    usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.html} />, {
+      x: { type: Object },
+    })
+  );
+
+  expect(screen.getByTestId("code-editor-textarea")).toBeInTheDocument();
+  
expect(screen.getByTestId("code-editor-textarea").getAttribute("data-language")).toBe("html");
+});
diff --git 
a/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx.bak 
b/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx.bak
new file mode 100644
index 00000000000..af6cabb94a2
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/CodeEditorTextField.test.tsx.bak
@@ -0,0 +1,203 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import CodeEditorTextField from "../src/CodeEditorTextField";
+import { fireEvent, render, screen } from "@testing-library/react";
+// import { usingUniformsContext } from "./test-utils";
+import { Language } from 
"@patternfly/react-code-editor/dist/js/components/CodeEditor";
+
+const jsonMock = JSON.stringify({ first_name: "John", last_name: "Doe" });
+
+// test("<CodeEditorTextField> - renders an editor", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct disabled 
state", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" disabled 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-textarea").getAttribute("readOnly")).not.toBe(null);
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct name", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" disabled 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-hidden-field").getAttribute("name")).toBe("x");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct value 
(default)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   const editor = screen.getByTestId("code-editor-textarea") as 
HTMLTextAreaElement;
+//   expect(editor.value).toBe("");
+//   
expect(screen.getByTestId("code-editor-hidden-field").getAttribute("value")).toBe("");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct value 
(model)", () => {
+//   render(
+//     usingUniformsContext(
+//       <CodeEditorTextField name="x" language={Language.json} />,
+//       { x: { type: String, uniforms: { language: "json" } } },
+//       { model: { x: jsonMock } }
+//     )
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   expect(screen.getByText(jsonMock)).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-hidden-field").getAttribute("value")).toBe(jsonMock);
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct value 
(specified)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} value="y" />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   expect(screen.getByText("y")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-hidden-field").getAttribute("value")).toBe("y");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor which correctly reacts on 
change", () => {
+//   const onChange = jest.fn();
+//
+//   render(
+//     usingUniformsContext(
+//       <CodeEditorTextField name="x" language={Language.json} />,
+//       { x: { type: String, uniforms: { language: "json" } } },
+//       { onChange }
+//     )
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   const editor = screen.getByTestId("code-editor-textarea");
+//   fireEvent.change(editor, { target: { value: "y" } });
+//   expect(onChange).toHaveBeenLastCalledWith("x", "y");
+//   
expect(screen.getByTestId("code-editor-hidden-field").getAttribute("value")).toBe("y");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor which correctly reacts on 
change (empty)", () => {
+//   const onChange = jest.fn();
+//
+//   render(
+//     usingUniformsContext(
+//       <CodeEditorTextField name="x" language={Language.json} />,
+//       { x: { type: String, uniforms: { language: "json" } } },
+//       { onChange }
+//     )
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   const editor = screen.getByTestId("code-editor-textarea");
+//   fireEvent.change(editor, { target: { value: "" } });
+//   expect(onChange).not.toHaveBeenCalled();
+// });
+//
+// test("<CodeEditorTextField> - renders an editor which correctly reacts on 
change (same value)", () => {
+//   const onChange = jest.fn();
+//
+//   render(
+//     usingUniformsContext(
+//       <CodeEditorTextField name="x" language={Language.json} />,
+//       { x: { type: String, uniforms: { language: "json" } } },
+//       { model: { x: "y" }, onChange }
+//     )
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   const editor = screen.getByTestId("code-editor-textarea");
+//   fireEvent.change(editor, { target: { value: "y" } });
+//   expect(screen.getByText("y")).toBeInTheDocument();
+//   expect(onChange).not.toHaveBeenCalled();
+// });
+//
+// test("<CodeEditorTextField> - renders a label", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" label="y" 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   expect(screen.getByText("y")).toBeInTheDocument();
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct height 
(default)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-textarea").style.height).toBe("200px");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct height 
(specified)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" height="300px" 
language={Language.json} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-textarea").style.height).toBe("300px");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct language 
(default)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" />, { x: { type: 
String, uniforms: { language: "json" } } })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-textarea").getAttribute("data-language")).toBe("json");
+// });
+//
+// test("<CodeEditorTextField> - renders an editor with correct language 
(specified)", () => {
+//   render(
+//     usingUniformsContext(<CodeEditorTextField name="x" 
language={Language.graphql} />, {
+//       x: { type: String, uniforms: { language: "json" } },
+//     })
+//   );
+//
+//   expect(screen.getByTestId("wrapper-field")).toBeInTheDocument();
+//   
expect(screen.getByTestId("code-editor-textarea").getAttribute("data-language")).toBe("graphql");
+// });
diff --git a/packages/sonataflow-uniforms/tests/__mocks__/react-code-editor.tsx 
b/packages/sonataflow-uniforms/tests/__mocks__/react-code-editor.tsx
new file mode 100644
index 00000000000..3849835c626
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/__mocks__/react-code-editor.tsx
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import { CodeEditorProps } from "@patternfly/react-code-editor";
+
+export const Language = {
+  json: "json",
+};
+
+export const CodeEditor = ({ isReadOnly, height, language, code, onChange }: 
CodeEditorProps) => {
+  return (
+    <textarea
+      data-testid="code-editor-textarea"
+      value={code}
+      readOnly={isReadOnly}
+      onChange={(e) => onChange?.(e.target.value, e as any)}
+      style={{ height }}
+      data-language={language}
+    />
+  );
+};
diff --git a/packages/sonataflow-uniforms/tests/__mocks__/styleMock.js 
b/packages/sonataflow-uniforms/tests/__mocks__/styleMock.js
new file mode 100644
index 00000000000..4bd939113b0
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/__mocks__/styleMock.js
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+module.exports = {};
diff --git a/packages/sonataflow-uniforms/tests/index.test.ts 
b/packages/sonataflow-uniforms/tests/index.test.ts
new file mode 100644
index 00000000000..94ec993a09b
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/index.test.ts
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as unstyled from "../src";
+
+it("exports everything", () => {
+  expect(unstyled).toEqual({
+    SwfAutoFieldProvider: expect.any(Function),
+    formSwfAutoFieldValue: expect.any(Function),
+  });
+});
diff --git a/packages/sonataflow-uniforms/tests/jest.setup.ts 
b/packages/sonataflow-uniforms/tests/jest.setup.ts
new file mode 100644
index 00000000000..1c413b1660e
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/jest.setup.ts
@@ -0,0 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import "@testing-library/jest-dom";
diff --git a/packages/sonataflow-uniforms/tests/test-utils.tsx 
b/packages/sonataflow-uniforms/tests/test-utils.tsx
new file mode 100644
index 00000000000..08b154f6a94
--- /dev/null
+++ b/packages/sonataflow-uniforms/tests/test-utils.tsx
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import * as React from "react";
+import { Context, BaseForm, context, randomIds } from "uniforms";
+import SimpleSchema from "simpl-schema";
+import { SimpleSchema2Bridge } from "uniforms-bridge-simple-schema-2";
+
+const randomId = randomIds();
+
+export function createSimpleSchema(schema = {}) {
+  return new SimpleSchema2Bridge(new SimpleSchema(schema));
+}
+
+export function usingUniformsContext(children: React.ReactElement, schema = 
{}, ctx?: Partial<Context<any>>) {
+  const partialCtx = {
+    changed: false,
+    changedMap: {},
+    error: null,
+    model: {},
+    name: [],
+    onChange: () => {},
+    onSubmit: () => {},
+    randomId,
+    submitting: false,
+    validating: false,
+    submitted: false,
+    schema: createSimpleSchema(schema),
+    formRef: new BaseForm<any>({
+      autosave: false,
+      autosaveDelay: 0,
+      error: false,
+      label: true,
+      model: {},
+      noValidate: false,
+      onSubmit: (event) => {},
+      schema: createSimpleSchema(schema),
+    }),
+    ...ctx,
+    state: {
+      disabled: false,
+      label: false,
+      placeholder: false,
+      showInlineError: false,
+      readOnly: false,
+    },
+  };
+  return <context.Provider value={partialCtx}>{children}</context.Provider>;
+}
diff --git a/packages/sonataflow-uniforms/tsconfig.cjs.json 
b/packages/sonataflow-uniforms/tsconfig.cjs.json
new file mode 100644
index 00000000000..bc7f57b0e1a
--- /dev/null
+++ b/packages/sonataflow-uniforms/tsconfig.cjs.json
@@ -0,0 +1,9 @@
+{
+  "extends": "@kie-tools/tsconfig/tsconfig.cjs.json",
+  "compilerOptions": {
+    "esModuleInterop": true,
+    "jsx": "react-jsx",
+    "outDir": "dist/cjs",
+    "types": ["node", "@testing-library/jest-dom"]
+  }
+}
diff --git a/packages/sonataflow-uniforms/tsconfig.esm.json 
b/packages/sonataflow-uniforms/tsconfig.esm.json
new file mode 100644
index 00000000000..e02c6e24245
--- /dev/null
+++ b/packages/sonataflow-uniforms/tsconfig.esm.json
@@ -0,0 +1,8 @@
+{
+  "extends": "@kie-tools/tsconfig/tsconfig.esm.json",
+  "compilerOptions": {
+    "esModuleInterop": true,
+    "jsx": "react-jsx",
+    "outDir": "dist/esm"
+  }
+}
diff --git a/packages/sonataflow-uniforms/tsconfig.json 
b/packages/sonataflow-uniforms/tsconfig.json
new file mode 100644
index 00000000000..eda786a5eb1
--- /dev/null
+++ b/packages/sonataflow-uniforms/tsconfig.json
@@ -0,0 +1,7 @@
+{
+  "extends": "@kie-tools/tsconfig/tsconfig.esm.json",
+  "compilerOptions": {
+    "esModuleInterop": true,
+    "jsx": "react-jsx"
+  }
+}
diff --git a/packages/sonataflow-uniforms/tsconfig.tests.json 
b/packages/sonataflow-uniforms/tsconfig.tests.json
new file mode 100644
index 00000000000..aacf2d3a67d
--- /dev/null
+++ b/packages/sonataflow-uniforms/tsconfig.tests.json
@@ -0,0 +1,6 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "types": ["node", "@testing-library/jest-dom"]
+  }
+}
diff --git a/packages/uniforms-patternfly/README.md 
b/packages/uniforms-patternfly/README.md
index 86b807d08db..6b961899c5b 100644
--- a/packages/uniforms-patternfly/README.md
+++ b/packages/uniforms-patternfly/README.md
@@ -78,7 +78,7 @@ example of a JSON Schema, it's necessary to use a JSON Schema 
validation library
 import { JSONSchemaBridge } from "uniforms-bridge-json-schema";
 import AJV from "ajv";
 
-const ajv = new Ajv({ allErrors: true, useDefaults: true });
+const ajv = new AJV({ allErrors: true, useDefaults: true });
 
 function createValidator(schema) {
   const validator = ajv.compile(schema);
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 029762f693a..751a840c19d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9813,6 +9813,9 @@ importers:
       '@kie-tools/serverless-workflow-combined-editor':
         specifier: workspace:*
         version: link:../serverless-workflow-combined-editor
+      '@kie-tools/sonataflow-uniforms':
+        specifier: workspace:*
+        version: link:../sonataflow-uniforms
       '@microlink/react-json-view':
         specifier: ^1.24.0
         version: 
1.26.1(@types/[email protected])([email protected]([email protected]))([email protected])
@@ -12675,6 +12678,112 @@ importers:
         specifier: ^1.1.6
         version: 1.1.6
 
+  packages/sonataflow-uniforms:
+    dependencies:
+      '@kie-tools/uniforms-patternfly':
+        specifier: workspace:*
+        version: link:../uniforms-patternfly
+      '@patternfly/react-code-editor':
+        specifier: 5.4.3
+        version: 
5.4.3([email protected])([email protected]([email protected]))([email protected])
+      react:
+        specifier: '>=17.0.2 <19.0.0'
+        version: 17.0.2
+      react-dom:
+        specifier: '>=17.0.2 <19.0.0'
+        version: 17.0.2([email protected])
+      uniforms:
+        specifier: ^3.10.2
+        version: 3.10.2([email protected])
+    devDependencies:
+      '@babel/preset-env':
+        specifier: ^7.16.0
+        version: 7.24.7(@babel/[email protected])
+      '@babel/preset-react':
+        specifier: ^7.16.0
+        version: 7.22.15(@babel/[email protected])
+      '@kie-tools/eslint':
+        specifier: workspace:*
+        version: link:../eslint
+      '@kie-tools/jest-base':
+        specifier: workspace:*
+        version: link:../jest-base
+      '@kie-tools/root-env':
+        specifier: workspace:*
+        version: link:../root-env
+      '@kie-tools/tsconfig':
+        specifier: workspace:*
+        version: link:../tsconfig
+      '@patternfly/react-core':
+        specifier: ^5.4.1
+        version: 5.4.1([email protected]([email protected]))([email protected])
+      '@patternfly/react-icons':
+        specifier: ^5.4.1
+        version: 5.4.1([email protected]([email protected]))([email protected])
+      '@testing-library/jest-dom':
+        specifier: ^6.4.6
+        version: 
6.4.6(@jest/[email protected])(@types/[email protected])([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))
+      '@testing-library/react':
+        specifier: ^12.1.5
+        version: 12.1.5([email protected]([email protected]))([email protected])
+      '@types/jest':
+        specifier: ^29.5.12
+        version: 29.5.12
+      '@types/lodash':
+        specifier: ^4.14.168
+        version: 4.14.202
+      '@types/react':
+        specifier: ^17.0.6
+        version: 17.0.21
+      '@types/react-dom':
+        specifier: ^17.0.5
+        version: 17.0.8
+      '@types/simpl-schema':
+        specifier: ^1.12.0
+        version: 1.12.2
+      copy-webpack-plugin:
+        specifier: ^11.0.0
+        version: 11.0.0([email protected](@swc/[email protected])([email protected]))
+      jest:
+        specifier: ^29.7.0
+        version: 
29.7.0(@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected]))
+      jest-environment-jsdom:
+        specifier: ^29.7.0
+        version: 29.7.0
+      jest-junit:
+        specifier: ^16.0.0
+        version: 16.0.0
+      rimraf:
+        specifier: ^3.0.2
+        version: 3.0.2
+      simpl-schema:
+        specifier: ^1.12.0
+        version: 1.12.0
+      ts-jest:
+        specifier: ^29.1.5
+        version: 
29.1.5(@babel/[email protected])(@jest/[email protected])(@jest/[email protected])([email protected](@babel/[email protected]))([email protected](@types/[email protected])([email protected])([email protected](@swc/[email protected])(@types/[email protected])([email protected])))([email protected])
+      ts-node:
+        specifier: ^10.9.2
+        version: 
10.9.2(@swc/[email protected])(@types/[email protected])([email protected])
+      typescript:
+        specifier: ^5.5.3
+        version: 5.5.3
+      uniforms-bridge-simple-schema-2:
+        specifier: ^3.10.2
+        version: 3.10.2([email protected])
+      webpack:
+        specifier: ^5.94.0
+        version: 5.94.0(@swc/[email protected])([email protected])
+      webpack-cli:
+        specifier: ^4.10.0
+        version: 4.10.0([email protected])([email protected])
+      webpack-dev-server:
+        specifier: ^4.15.1
+        version: 4.15.1([email protected])([email protected])
+      webpack-merge:
+        specifier: ^5.9.0
+        version: 5.10.0
+
   packages/storybook-base:
     devDependencies:
       '@babel/core':
@@ -14950,10 +15059,6 @@ packages:
     resolution: {integrity: 
sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/[email protected]':
-    resolution: {integrity: 
sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==}
-    engines: {node: '>=6.9.0'}
-
   '@babel/[email protected]':
     resolution: {integrity: 
sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
     engines: {node: '>=6.9.0'}
@@ -15230,10 +15335,6 @@ packages:
     resolution: {integrity: 
sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/[email protected]':
-    resolution: {integrity: 
sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
-    engines: {node: '>=6.9.0'}
-
   '@babel/[email protected]':
     resolution: {integrity: 
sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
     engines: {node: '>=6.9.0'}
@@ -15338,11 +15439,6 @@ packages:
     engines: {node: '>=6.0.0'}
     hasBin: true
 
-  '@babel/[email protected]':
-    resolution: {integrity: 
sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==}
-    engines: {node: '>=6.0.0'}
-    hasBin: true
-
   '@babel/[email protected]':
     resolution: {integrity: 
sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
     engines: {node: '>=6.0.0'}
@@ -17241,10 +17337,6 @@ packages:
     resolution: {integrity: 
sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
     engines: {node: '>=6.9.0'}
 
-  '@babel/[email protected]':
-    resolution: {integrity: 
sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
-    engines: {node: '>=6.9.0'}
-
   '@babel/[email protected]':
     resolution: {integrity: 
sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
     engines: {node: '>=6.9.0'}
@@ -20501,9 +20593,6 @@ packages:
   '@types/[email protected]':
     resolution: {integrity: 
sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==}
 
-  '@types/[email protected]':
-    resolution: {integrity: 
sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==}
-
   '@types/[email protected]':
     resolution: {integrity: 
sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==}
 
@@ -21128,11 +21217,6 @@ packages:
     engines: {node: '>=0.4.0'}
     hasBin: true
 
-  [email protected]:
-    resolution: {integrity: 
sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
-    engines: {node: '>=0.4.0'}
-    hasBin: true
-
   [email protected]:
     resolution: {integrity: 
sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
     engines: {node: '>=0.4.0'}
@@ -21898,10 +21982,6 @@ packages:
     resolution: {integrity: 
sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
     engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
-    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
   [email protected]:
     resolution: {integrity: 
sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
     engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -22461,9 +22541,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==}
-
   [email protected]:
     resolution: {integrity: 
sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
 
@@ -22608,10 +22685,6 @@ packages:
     resolution: {integrity: 
sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==}
     engines: {node: '>= 0.6'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
-    engines: {node: '>= 0.6'}
-
   [email protected]:
     resolution: {integrity: 
sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
     engines: {node: '>= 0.6'}
@@ -24114,10 +24187,6 @@ packages:
     peerDependencies:
       express: 4 || 5 || ^5.0.0-beta.1
 
-  [email protected]:
-    resolution: {integrity: 
sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
-    engines: {node: '>= 0.10.0'}
-
   [email protected]:
     resolution: {integrity: 
sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
     engines: {node: '>= 0.10.0'}
@@ -24313,10 +24382,6 @@ packages:
     resolution: {integrity: 
sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
     engines: {node: '>= 0.8'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
-    engines: {node: '>= 0.8'}
-
   [email protected]:
     resolution: {integrity: 
sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
     engines: {node: '>= 0.8'}
@@ -26415,6 +26480,7 @@ packages:
 
   [email protected]:
     resolution: {integrity: 
sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==}
+    deprecated: This package is deprecated. Use 
https://socket.dev/npm/package/eta instead.
 
   [email protected]:
     resolution: {integrity: 
sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==}
@@ -26634,9 +26700,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
-
   [email protected]:
     resolution: {integrity: 
sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
 
@@ -27690,9 +27753,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
-
   [email protected]:
     resolution: {integrity: 
sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==}
 
@@ -27735,9 +27795,6 @@ packages:
   [email protected]:
     resolution: {integrity: 
sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
   [email protected]:
     resolution: {integrity: 
sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
 
@@ -29287,10 +29344,6 @@ packages:
     engines: {node: '>=10'}
     hasBin: true
 
-  [email protected]:
-    resolution: {integrity: 
sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
-    engines: {node: '>= 0.8.0'}
-
   [email protected]:
     resolution: {integrity: 
sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
     engines: {node: '>= 0.8.0'}
@@ -29311,10 +29364,6 @@ packages:
     resolution: {integrity: 
sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
     engines: {node: '>= 0.8.0'}
 
-  [email protected]:
-    resolution: {integrity: 
sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
-    engines: {node: '>= 0.8.0'}
-
   [email protected]:
     resolution: {integrity: 
sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
     engines: {node: '>= 0.8.0'}
@@ -32333,7 +32382,7 @@ snapshots:
     dependencies:
       '@babel/helper-validator-identifier': 7.25.9
       js-tokens: 4.0.0
-      picocolors: 1.1.0
+      picocolors: 1.1.1
 
   '@babel/[email protected]': {}
 
@@ -32450,15 +32499,15 @@ snapshots:
   '@babel/[email protected]':
     dependencies:
       '@ampproject/remapping': 2.3.0
-      '@babel/code-frame': 7.24.7
-      '@babel/generator': 7.25.0
-      '@babel/helper-compilation-targets': 7.25.2
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/code-frame': 7.26.2
+      '@babel/generator': 7.26.9
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helpers': 7.25.0
-      '@babel/parser': 7.25.3
-      '@babel/template': 7.25.0
-      '@babel/traverse': 7.25.3
-      '@babel/types': 7.25.2
+      '@babel/parser': 7.26.9
+      '@babel/template': 7.26.9
+      '@babel/traverse': 7.26.9
+      '@babel/types': 7.26.9
       convert-source-map: 2.0.0
       debug: 4.3.6
       gensync: 1.0.0-beta.2
@@ -32521,13 +32570,6 @@ snapshots:
       '@jridgewell/trace-mapping': 0.3.25
       jsesc: 2.5.2
 
-  '@babel/[email protected]':
-    dependencies:
-      '@babel/types': 7.26.9
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
-      jsesc: 2.5.2
-
   '@babel/[email protected]':
     dependencies:
       '@babel/parser': 7.26.9
@@ -32554,7 +32596,7 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       '@babel/types': 7.26.9
     transitivePeerDependencies:
       - supports-color
@@ -32702,7 +32744,7 @@ snapshots:
       '@babel/helper-optimise-call-expression': 7.24.7
       '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
       '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       semver: 6.3.1
     transitivePeerDependencies:
       - supports-color
@@ -32715,7 +32757,20 @@ snapshots:
       '@babel/helper-optimise-call-expression': 7.24.7
       '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
       '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.24.7
+      '@babel/helper-member-expression-to-functions': 7.24.8
+      '@babel/helper-optimise-call-expression': 7.24.7
+      '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
+      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+      '@babel/traverse': 7.26.9
       semver: 6.3.1
     transitivePeerDependencies:
       - supports-color
@@ -32797,6 +32852,13 @@ snapshots:
       regexpu-core: 5.3.2
       semver: 6.3.1
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.24.7
+      regexpu-core: 5.3.2
+      semver: 6.3.1
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -32869,7 +32931,7 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       debug: 4.3.6
       lodash.debounce: 4.0.8
@@ -32880,7 +32942,18 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-plugin-utils': 7.24.8
+      debug: 4.3.6
+      lodash.debounce: 4.0.8
+      resolve: 1.22.8
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       debug: 4.3.6
       lodash.debounce: 4.0.8
@@ -32924,7 +32997,7 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       '@babel/types': 7.26.9
     transitivePeerDependencies:
       - supports-color
@@ -33046,13 +33119,21 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@babel/[email protected](@babel/[email protected])':
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.24.7
+      '@babel/helper-module-imports': 7.25.9
+      '@babel/helper-validator-identifier': 7.25.9
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-module-imports': 7.24.7
-      '@babel/helper-simple-access': 7.24.7
-      '@babel/helper-validator-identifier': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/helper-module-imports': 7.25.9
+      '@babel/helper-validator-identifier': 7.25.9
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33136,6 +33217,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.24.7
+      '@babel/helper-wrap-function': 7.25.0
+      '@babel/traverse': 7.25.3
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -33183,7 +33273,7 @@ snapshots:
       '@babel/core': 7.24.7
       '@babel/helper-member-expression-to-functions': 7.24.8
       '@babel/helper-optimise-call-expression': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33192,7 +33282,16 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-member-expression-to-functions': 7.24.8
       '@babel/helper-optimise-call-expression': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-member-expression-to-functions': 7.24.8
+      '@babel/helper-optimise-call-expression': 7.24.7
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33202,7 +33301,7 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       '@babel/types': 7.26.9
     transitivePeerDependencies:
       - supports-color
@@ -33213,7 +33312,7 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       '@babel/types': 7.26.9
     transitivePeerDependencies:
       - supports-color
@@ -33236,8 +33335,6 @@ snapshots:
 
   '@babel/[email protected]': {}
 
-  '@babel/[email protected]': {}
-
   '@babel/[email protected]': {}
 
   '@babel/[email protected]': {}
@@ -33266,8 +33363,8 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/template': 7.25.0
-      '@babel/traverse': 7.25.3
+      '@babel/template': 7.26.9
+      '@babel/traverse': 7.26.9
       '@babel/types': 7.26.9
     transitivePeerDependencies:
       - supports-color
@@ -33306,7 +33403,7 @@ snapshots:
 
   '@babel/[email protected]':
     dependencies:
-      '@babel/template': 7.25.0
+      '@babel/template': 7.26.9
       '@babel/types': 7.26.9
 
   '@babel/[email protected]':
@@ -33349,10 +33446,6 @@ snapshots:
     dependencies:
       '@babel/types': 7.26.9
 
-  '@babel/[email protected]':
-    dependencies:
-      '@babel/types': 7.26.9
-
   '@babel/[email protected]':
     dependencies:
       '@babel/types': 7.26.9
@@ -33361,7 +33454,7 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.7
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33369,7 +33462,15 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33413,6 +33514,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -33473,6 +33579,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+      '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -33489,7 +33604,7 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.7
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33497,7 +33612,15 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -33836,6 +33959,10 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.9
 
+  
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34135,6 +34262,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -34160,6 +34292,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34196,7 +34333,6 @@ snapshots:
     dependencies:
       '@babel/core': 7.26.9
       '@babel/helper-plugin-utils': 7.24.8
-    optional: true
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
@@ -34546,27 +34682,27 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.18.10
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.9
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
@@ -34592,6 +34728,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 
7.22.15(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.22.5
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 
7.22.15(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.22.5
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34632,6 +34774,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -34676,6 +34823,16 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-environment-visitor': 7.24.7
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-remap-async-to-generator': 7.25.0(@babel/[email protected])
+      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34736,6 +34893,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-module-imports': 7.24.7
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-remap-async-to-generator': 7.25.0(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34776,6 +34942,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34816,6 +34987,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -34850,6 +35026,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -34889,6 +35073,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -34967,10 +35160,10 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.7
       '@babel/helper-annotate-as-pure': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
       globals: 11.12.0
     transitivePeerDependencies:
       - supports-color
@@ -34979,10 +35172,22 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.9
       '@babel/helper-annotate-as-pure': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+      globals: 11.12.0
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.24.7
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
+      '@babel/traverse': 7.26.9
       globals: 11.12.0
     transitivePeerDependencies:
       - supports-color
@@ -35025,13 +35230,19 @@ snapshots:
     dependencies:
       '@babel/core': 7.24.7
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/template': 7.25.0
+      '@babel/template': 7.26.9
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/template': 7.25.0
+      '@babel/template': 7.26.9
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/template': 7.26.9
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
@@ -35073,6 +35284,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35139,6 +35355,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35179,6 +35401,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -35209,6 +35436,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected])
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35261,6 +35494,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
+      '@babel/helper-plugin-utils': 7.24.8
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -35291,6 +35532,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35369,6 +35616,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35414,18 +35669,27 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/traverse': 7.25.3
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -35459,6 +35723,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35499,6 +35769,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -35529,6 +35804,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4(@babel/[email protected])
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4(@babel/[email protected])
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35569,6 +35850,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35610,7 +35896,7 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
     transitivePeerDependencies:
       - supports-color
@@ -35618,7 +35904,15 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
     transitivePeerDependencies:
       - supports-color
@@ -35691,7 +35985,7 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/helper-simple-access': 7.24.7
     transitivePeerDependencies:
@@ -35700,7 +35994,16 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-simple-access': 7.24.7
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/helper-simple-access': 7.24.7
     transitivePeerDependencies:
@@ -35759,20 +36062,30 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/helper-validator-identifier': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/helper-validator-identifier': 7.25.9
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/helper-validator-identifier': 7.24.7
-      '@babel/traverse': 7.25.3
+      '@babel/helper-validator-identifier': 7.25.9
+      '@babel/traverse': 7.26.9
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-validator-identifier': 7.25.9
+      '@babel/traverse': 7.26.9
     transitivePeerDependencies:
       - supports-color
 
@@ -35815,7 +36128,7 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
     transitivePeerDependencies:
       - supports-color
@@ -35823,7 +36136,15 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-module-transforms': 7.26.0(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
     transitivePeerDependencies:
       - supports-color
@@ -35868,6 +36189,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -35908,6 +36235,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -35938,6 +36270,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3(@babel/[email protected])
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -35968,6 +36306,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/compat-data': 7.23.5
@@ -35998,7 +36342,7 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected])
       '@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected])
@@ -36006,11 +36350,19 @@ snapshots:
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected])
       '@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected])
+      '@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36063,6 +36415,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -36093,6 +36453,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -36132,6 +36498,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36192,6 +36567,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -36226,6 +36606,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+    transitivePeerDependencies:
+      - supports-color
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -36270,6 +36658,16 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  
'@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.24.7
+      '@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/plugin-syntax-private-property-in-object': 
7.14.5(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36310,6 +36708,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   
'@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.9
@@ -36355,6 +36758,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.22.5
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.22.5
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36395,6 +36803,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/plugin-transform-react-jsx': 7.22.15(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/plugin-transform-react-jsx': 7.22.15(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36524,6 +36937,12 @@ snapshots:
       '@babel/helper-annotate-as-pure': 7.22.5
       '@babel/helper-plugin-utils': 7.22.5
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-annotate-as-pure': 7.22.5
+      '@babel/helper-plugin-utils': 7.22.5
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36570,6 +36989,12 @@ snapshots:
       '@babel/helper-plugin-utils': 7.24.8
       regenerator-transform: 0.15.2
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      regenerator-transform: 0.15.2
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36610,6 +37035,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.24.7
@@ -36662,6 +37092,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36714,6 +37149,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-skip-transparent-expression-wrappers': 7.24.7
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36754,6 +37197,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36794,6 +37242,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36834,6 +37287,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36914,6 +37372,11 @@ snapshots:
       '@babel/core': 7.24.9
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -36944,6 +37407,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -36992,6 +37461,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.23.0
@@ -37022,6 +37497,12 @@ snapshots:
       '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
       '@babel/helper-plugin-utils': 7.24.8
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
+      '@babel/helper-plugin-utils': 7.24.8
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/compat-data': 7.17.7
@@ -37523,11 +38004,11 @@ snapshots:
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
-      '@babel/compat-data': 7.25.2
+      '@babel/compat-data': 7.26.8
       '@babel/core': 7.24.7
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/helper-validator-option': 7.24.8
+      '@babel/helper-validator-option': 7.25.9
       '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 
7.25.3(@babel/[email protected])
       
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression':
 7.25.0(@babel/[email protected])
       '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 
7.24.7(@babel/[email protected])
@@ -37610,11 +38091,11 @@ snapshots:
 
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
-      '@babel/compat-data': 7.25.2
+      '@babel/compat-data': 7.26.8
       '@babel/core': 7.24.9
-      '@babel/helper-compilation-targets': 7.25.2
+      '@babel/helper-compilation-targets': 7.26.5
       '@babel/helper-plugin-utils': 7.24.8
-      '@babel/helper-validator-option': 7.24.8
+      '@babel/helper-validator-option': 7.25.9
       '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 
7.25.3(@babel/[email protected])
       
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression':
 7.25.0(@babel/[email protected])
       '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 
7.24.7(@babel/[email protected])
@@ -37695,6 +38176,93 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/compat-data': 7.26.8
+      '@babel/core': 7.26.9
+      '@babel/helper-compilation-targets': 7.26.5
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/helper-validator-option': 7.25.9
+      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 
7.25.3(@babel/[email protected])
+      
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression':
 7.25.0(@babel/[email protected])
+      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 
7.25.0(@babel/[email protected])
+      '@babel/plugin-proposal-private-property-in-object': 
7.21.0-placeholder-for-preset-env.2(@babel/[email protected])
+      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected])
+      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/[email protected])
+      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected])
+      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/[email protected])
+      '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/[email protected])
+      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/[email protected])
+      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-logical-assignment-operators': 
7.10.4(@babel/[email protected])
+      '@babel/plugin-syntax-nullish-coalescing-operator': 
7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected])
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected])
+      '@babel/plugin-syntax-private-property-in-object': 
7.14.5(@babel/[email protected])
+      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/[email protected])
+      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/[email protected])
+      '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-async-generator-functions': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-block-scoped-functions': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-block-scoping': 7.25.0(@babel/[email protected])
+      '@babel/plugin-transform-class-properties': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-class-static-block': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-classes': 7.25.0(@babel/[email protected])
+      '@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-destructuring': 7.24.8(@babel/[email protected])
+      '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-exponentiation-operator': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-export-namespace-from': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-for-of': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-function-name': 7.25.1(@babel/[email protected])
+      '@babel/plugin-transform-json-strings': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-literals': 7.25.2(@babel/[email protected])
+      '@babel/plugin-transform-logical-assignment-operators': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-member-expression-literals': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-modules-amd': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected])
+      '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/[email protected])
+      '@babel/plugin-transform-modules-umd': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-named-capturing-groups-regex': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-new-target': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-nullish-coalescing-operator': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-object-super': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-optional-catch-binding': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/[email protected])
+      '@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-private-property-in-object': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-property-literals': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-regenerator': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-reserved-words': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-shorthand-properties': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-spread': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-template-literals': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/[email protected])
+      '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-unicode-property-regex': 
7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected])
+      '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/[email protected])
+      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/[email protected])
+      babel-plugin-polyfill-corejs2: 0.4.11(@babel/[email protected])
+      babel-plugin-polyfill-corejs3: 0.10.4(@babel/[email protected])
+      babel-plugin-polyfill-regenerator: 0.6.2(@babel/[email protected])
+      core-js-compat: 3.37.1
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -37785,6 +38353,13 @@ snapshots:
       '@babel/types': 7.26.9
       esutils: 2.0.3
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.24.8
+      '@babel/types': 7.26.9
+      esutils: 2.0.3
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -37865,6 +38440,16 @@ snapshots:
       '@babel/plugin-transform-react-jsx-development': 
7.22.5(@babel/[email protected])
       '@babel/plugin-transform-react-pure-annotations': 
7.22.5(@babel/[email protected])
 
+  '@babel/[email protected](@babel/[email protected])':
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-validator-option': 7.23.5
+      '@babel/plugin-transform-react-display-name': 7.22.5(@babel/[email protected])
+      '@babel/plugin-transform-react-jsx': 7.22.15(@babel/[email protected])
+      '@babel/plugin-transform-react-jsx-development': 
7.22.5(@babel/[email protected])
+      '@babel/plugin-transform-react-pure-annotations': 
7.22.5(@babel/[email protected])
+
   '@babel/[email protected](@babel/[email protected])':
     dependencies:
       '@babel/core': 7.16.12
@@ -38078,12 +38663,6 @@ snapshots:
       '@babel/helper-validator-identifier': 7.22.20
       to-fast-properties: 2.0.0
 
-  '@babel/[email protected]':
-    dependencies:
-      '@babel/helper-string-parser': 7.24.8
-      '@babel/helper-validator-identifier': 7.24.7
-      to-fast-properties: 2.0.0
-
   '@babel/[email protected]':
     dependencies:
       '@babel/helper-string-parser': 7.25.9
@@ -38350,7 +38929,7 @@ snapshots:
       debug: 4.3.6
       espree: 9.6.1
       globals: 13.20.0
-      ignore: 5.2.0
+      ignore: 5.3.1
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       minimatch: 3.1.2
@@ -39322,7 +39901,7 @@ snapshots:
       jest-haste-map: 29.7.0
       jest-regex-util: 29.6.3
       jest-util: 29.7.0
-      micromatch: 4.0.5
+      micromatch: 4.0.8
       pirates: 4.0.6
       slash: 3.0.0
       write-file-atomic: 4.0.2
@@ -43402,8 +43981,8 @@ snapshots:
 
   '@testing-library/[email protected]':
     dependencies:
-      '@babel/code-frame': 7.23.5
-      '@babel/runtime': 7.23.6
+      '@babel/code-frame': 7.26.2
+      '@babel/runtime': 7.24.7
       '@types/aria-query': 5.0.4
       aria-query: 5.1.3
       chalk: 4.1.2
@@ -43453,7 +44032,7 @@ snapshots:
 
   
'@testing-library/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
-      '@babel/runtime': 7.23.6
+      '@babel/runtime': 7.24.7
       '@testing-library/dom': 8.20.1
       '@types/react-dom': 17.0.8
       react: 17.0.2
@@ -43957,10 +44536,6 @@ snapshots:
     dependencies:
       undici-types: 5.26.5
 
-  '@types/[email protected]':
-    dependencies:
-      undici-types: 5.26.5
-
   '@types/[email protected]':
     dependencies:
       undici-types: 6.20.0
@@ -44901,8 +45476,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -45712,7 +46285,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-plugin-utils': 7.24.8
       '@istanbuljs/load-nyc-config': 1.0.0
       '@istanbuljs/schema': 0.1.3
       istanbul-lib-instrument: 5.1.0
@@ -45728,7 +46301,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      '@babel/template': 7.25.0
+      '@babel/template': 7.26.9
       '@babel/types': 7.26.9
       '@types/babel__core': 7.20.5
       '@types/babel__traverse': 7.20.5
@@ -45770,7 +46343,7 @@ snapshots:
 
   [email protected](@babel/[email protected]):
     dependencies:
-      '@babel/compat-data': 7.25.2
+      '@babel/compat-data': 7.26.8
       '@babel/core': 7.24.7
       '@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
       semver: 6.3.1
@@ -45779,13 +46352,22 @@ snapshots:
 
   [email protected](@babel/[email protected]):
     dependencies:
-      '@babel/compat-data': 7.25.2
+      '@babel/compat-data': 7.26.8
       '@babel/core': 7.24.9
       '@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
       semver: 6.3.1
     transitivePeerDependencies:
       - supports-color
 
+  [email protected](@babel/[email protected]):
+    dependencies:
+      '@babel/compat-data': 7.26.8
+      '@babel/core': 7.26.9
+      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+
   [email protected](@babel/[email protected]):
     dependencies:
       '@babel/compat-data': 7.23.5
@@ -45829,6 +46411,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  [email protected](@babel/[email protected]):
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
+      core-js-compat: 3.37.1
+    transitivePeerDependencies:
+      - supports-color
+
   [email protected](@babel/[email protected]):
     dependencies:
       '@babel/core': 7.16.12
@@ -45933,6 +46523,13 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  [email protected](@babel/[email protected]):
+    dependencies:
+      '@babel/core': 7.26.9
+      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected])
+    transitivePeerDependencies:
+      - supports-color
+
   [email protected]:
     dependencies:
       ast-types: 0.14.2
@@ -46280,23 +46877,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]:
-    dependencies:
-      bytes: 3.1.2
-      content-type: 1.0.5
-      debug: 2.6.9
-      depd: 2.0.0
-      destroy: 1.2.0
-      http-errors: 2.0.0
-      iconv-lite: 0.4.24
-      on-finished: 2.4.1
-      qs: 6.11.0
-      raw-body: 2.5.2
-      type-is: 1.6.18
-      unpipe: 1.0.0
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]:
     dependencies:
       bytes: 3.1.2
@@ -46843,7 +47423,7 @@ snapshots:
   [email protected]:
     dependencies:
       anymatch: 3.1.2
-      braces: 3.0.2
+      braces: 3.0.3
       glob-parent: 5.1.2
       is-binary-path: 2.1.0
       is-glob: 4.0.3
@@ -47056,8 +47636,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -47205,8 +47783,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -47301,7 +47877,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      browserslist: 4.23.3
+      browserslist: 4.24.4
 
   [email protected]: {}
 
@@ -48172,7 +48748,7 @@ snapshots:
       object-keys: 1.1.1
       object.assign: 4.1.5
       regexp.prototype.flags: 1.5.2
-      side-channel: 1.0.4
+      side-channel: 1.0.6
       which-boxed-primitive: 1.0.2
       which-collection: 1.0.1
       which-typed-array: 1.1.15
@@ -49303,42 +49879,6 @@ snapshots:
     dependencies:
       express: 4.21.2
 
-  [email protected]:
-    dependencies:
-      accepts: 1.3.8
-      array-flatten: 1.1.1
-      body-parser: 1.20.2
-      content-disposition: 0.5.4
-      content-type: 1.0.5
-      cookie: 0.6.0
-      cookie-signature: 1.0.6
-      debug: 2.6.9
-      depd: 2.0.0
-      encodeurl: 1.0.2
-      escape-html: 1.0.3
-      etag: 1.8.1
-      finalhandler: 1.2.0
-      fresh: 0.5.2
-      http-errors: 2.0.0
-      merge-descriptors: 1.0.1
-      methods: 1.1.2
-      on-finished: 2.4.1
-      parseurl: 1.3.3
-      path-to-regexp: 0.1.7
-      proxy-addr: 2.0.7
-      qs: 6.11.0
-      range-parser: 1.2.1
-      safe-buffer: 5.2.1
-      send: 0.18.0
-      serve-static: 1.15.0
-      setprototypeof: 1.2.0
-      statuses: 2.0.1
-      type-is: 1.6.18
-      utils-merge: 1.0.1
-      vary: 1.1.2
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]:
     dependencies:
       accepts: 1.3.8
@@ -49641,18 +50181,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]:
-    dependencies:
-      debug: 2.6.9
-      encodeurl: 1.0.2
-      escape-html: 1.0.3
-      on-finished: 2.4.1
-      parseurl: 1.3.3
-      statuses: 2.0.1
-      unpipe: 1.0.0
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]:
     dependencies:
       debug: 2.6.9
@@ -50144,7 +50672,7 @@ snapshots:
       array-union: 2.1.0
       dir-glob: 3.0.1
       fast-glob: 3.3.2
-      ignore: 5.2.0
+      ignore: 5.3.1
       merge2: 1.4.1
       slash: 3.0.0
 
@@ -50613,7 +51141,7 @@ snapshots:
     dependencies:
       '@tootallnate/once': 2.0.0
       agent-base: 6.0.2
-      debug: 4.3.5
+      debug: 4.3.6
     transitivePeerDependencies:
       - supports-color
 
@@ -50637,7 +51165,7 @@ snapshots:
       http-proxy: 1.18.1
       is-glob: 4.0.3
       is-plain-obj: 3.0.0
-      micromatch: 4.0.5
+      micromatch: 4.0.8
     optionalDependencies:
       '@types/express': 4.17.21
     transitivePeerDependencies:
@@ -50731,7 +51259,7 @@ snapshots:
   [email protected]:
     dependencies:
       agent-base: 6.0.2
-      debug: 4.3.5
+      debug: 4.3.6
     transitivePeerDependencies:
       - supports-color
 
@@ -50876,7 +51404,7 @@ snapshots:
     dependencies:
       es-errors: 1.3.0
       hasown: 2.0.2
-      side-channel: 1.0.4
+      side-channel: 1.0.6
 
   [email protected]: {}
 
@@ -51613,7 +52141,7 @@ snapshots:
       '@jest/fake-timers': 29.7.0
       '@jest/types': 29.6.3
       '@types/jsdom': 20.0.1
-      '@types/node': 20.14.2
+      '@types/node': 22.13.10
       jest-mock: 29.7.0
       jest-util: 29.7.0
       jsdom: 20.0.3
@@ -51670,10 +52198,10 @@ snapshots:
       jest-regex-util: 29.6.3
       jest-util: 29.7.0
       jest-worker: 29.7.0
-      micromatch: 4.0.5
+      micromatch: 4.0.8
       walker: 1.0.8
     optionalDependencies:
-      fsevents: 2.3.2
+      fsevents: 2.3.3
 
   [email protected]:
     dependencies:
@@ -51696,12 +52224,12 @@ snapshots:
 
   [email protected]:
     dependencies:
-      '@babel/code-frame': 7.23.5
+      '@babel/code-frame': 7.26.2
       '@jest/types': 29.6.3
       '@types/stack-utils': 2.0.0
       chalk: 4.1.2
       graceful-fs: 4.2.11
-      micromatch: 4.0.5
+      micromatch: 4.0.8
       pretty-format: 29.7.0
       slash: 3.0.0
       stack-utils: 2.0.4
@@ -51834,7 +52362,7 @@ snapshots:
       '@jest/types': 29.6.3
       '@types/node': 22.13.10
       chalk: 4.1.2
-      ci-info: 3.3.2
+      ci-info: 3.9.0
       graceful-fs: 4.2.11
       picomatch: 2.3.1
 
@@ -52055,7 +52583,7 @@ snapshots:
   [email protected]:
     dependencies:
       abab: 2.0.6
-      acorn: 8.10.0
+      acorn: 8.12.1
       acorn-globals: 7.0.1
       cssom: 0.5.0
       cssstyle: 2.3.0
@@ -52495,7 +53023,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      picocolors: 1.0.1
+      picocolors: 1.1.1
       shell-quote: 1.8.1
 
   [email protected]: {}
@@ -52957,8 +53485,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -53264,7 +53790,7 @@ snapshots:
       prettier: 2.8.8
       vscode-languageserver-textdocument: 1.0.7
       vscode-languageserver-types: 3.17.2
-      vscode-uri: 3.0.7
+      vscode-uri: 3.1.0
       yaml: 2.3.2
 
   [email protected]: {}
@@ -54066,7 +54592,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      '@babel/code-frame': 7.24.7
+      '@babel/code-frame': 7.26.2
       error-ex: 1.3.2
       json-parse-even-better-errors: 2.3.1
       lines-and-columns: 1.1.6
@@ -54191,8 +54717,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       isarray: 0.0.1
@@ -54233,8 +54757,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -55534,7 +56056,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      '@babel/runtime': 7.23.6
+      '@babel/runtime': 7.24.7
 
   [email protected]:
     dependencies:
@@ -56031,24 +56553,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]:
-    dependencies:
-      debug: 2.6.9
-      depd: 2.0.0
-      destroy: 1.2.0
-      encodeurl: 1.0.2
-      escape-html: 1.0.3
-      etag: 1.8.1
-      fresh: 0.5.2
-      http-errors: 2.0.0
-      mime: 1.6.0
-      ms: 2.1.3
-      on-finished: 2.4.1
-      range-parser: 1.2.1
-      statuses: 2.0.1
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]:
     dependencies:
       debug: 2.6.9
@@ -56099,17 +56603,8 @@ snapshots:
       debug: 2.6.9
       escape-html: 1.0.3
       http-errors: 1.6.3
-      mime-types: 2.1.34
-      parseurl: 1.3.3
-    transitivePeerDependencies:
-      - supports-color
-
-  [email protected]:
-    dependencies:
-      encodeurl: 1.0.2
-      escape-html: 1.0.3
+      mime-types: 2.1.35
       parseurl: 1.3.3
-      send: 0.18.0
     transitivePeerDependencies:
       - supports-color
 
@@ -56457,7 +56952,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      debug: 4.3.5
+      debug: 4.3.6
       handle-thing: 2.0.1
       http-deceiver: 1.2.7
       select-hose: 2.0.0
@@ -57630,7 +58125,7 @@ snapshots:
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.3
       '@types/node': 22.13.10
-      acorn: 8.10.0
+      acorn: 8.12.1
       acorn-walk: 8.2.0
       arg: 4.1.0
       create-require: 1.1.1
@@ -57650,7 +58145,7 @@ snapshots:
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.3
       '@types/node': 22.13.10
-      acorn: 8.10.0
+      acorn: 8.12.1
       acorn-walk: 8.2.0
       arg: 4.1.0
       create-require: 1.1.1
@@ -57668,7 +58163,7 @@ snapshots:
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.3
       '@types/node': 22.13.10
-      acorn: 8.10.0
+      acorn: 8.12.1
       acorn-walk: 8.2.0
       arg: 4.1.0
       create-require: 1.1.1
@@ -57915,7 +58410,7 @@ snapshots:
       invariant: 2.2.4
       lodash: 4.17.21
       simpl-schema: 1.12.0
-      tslib: 2.3.1
+      tslib: 2.7.0
       uniforms: 3.10.2([email protected])
     transitivePeerDependencies:
       - react
@@ -58578,7 +59073,7 @@ snapshots:
       '@webpack-cli/configtest': 
1.2.0([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected]))
       '@webpack-cli/info': 
1.5.0([email protected]([email protected])([email protected])([email protected]))
       '@webpack-cli/serve': 
1.7.0([email protected]([email protected])([email protected])([email protected]))([email protected]([email protected])([email protected]))
-      colorette: 2.0.16
+      colorette: 2.0.20
       commander: 7.2.0
       cross-spawn: 7.0.6
       fastest-levenshtein: 1.0.12
@@ -58597,7 +59092,7 @@ snapshots:
       '@webpack-cli/configtest': 
1.2.0([email protected]([email protected])([email protected]))([email protected]([email protected]))
       '@webpack-cli/info': 
1.5.0([email protected]([email protected])([email protected]))
       '@webpack-cli/serve': 
1.7.0([email protected]([email protected])([email protected]))([email protected]([email protected])([email protected]))
-      colorette: 2.0.16
+      colorette: 2.0.20
       commander: 7.2.0
       cross-spawn: 7.0.6
       fastest-levenshtein: 1.0.12
@@ -58615,7 +59110,7 @@ snapshots:
       '@webpack-cli/configtest': 
1.2.0([email protected]([email protected]))([email protected]([email protected]))
       '@webpack-cli/info': 1.5.0([email protected]([email protected]))
       '@webpack-cli/serve': 1.7.0([email protected]([email protected]))
-      colorette: 2.0.16
+      colorette: 2.0.20
       commander: 7.2.0
       cross-spawn: 7.0.6
       fastest-levenshtein: 1.0.12
@@ -58629,7 +59124,7 @@ snapshots:
     dependencies:
       colorette: 2.0.20
       memfs: 3.5.1
-      mime-types: 2.1.34
+      mime-types: 2.1.35
       range-parser: 1.2.1
       schema-utils: 4.2.0
       webpack: 5.94.0([email protected])
@@ -58638,7 +59133,7 @@ snapshots:
     dependencies:
       colorette: 2.0.20
       memfs: 3.5.1
-      mime-types: 2.1.34
+      mime-types: 2.1.35
       range-parser: 1.2.1
       schema-utils: 4.2.0
       webpack: 5.94.0
@@ -58710,7 +59205,7 @@ snapshots:
       compression: 1.7.4
       connect-history-api-fallback: 2.0.0
       default-gateway: 6.0.3
-      express: 4.19.2
+      express: 4.21.2
       graceful-fs: 4.2.11
       html-entities: 2.5.2
       http-proxy-middleware: 2.0.6(@types/[email protected])
@@ -58751,7 +59246,7 @@ snapshots:
       compression: 1.7.4
       connect-history-api-fallback: 2.0.0
       default-gateway: 6.0.3
-      express: 4.19.2
+      express: 4.21.2
       graceful-fs: 4.2.11
       html-entities: 2.5.2
       http-proxy-middleware: 2.0.6(@types/[email protected])
diff --git a/repo/graph.dot b/repo/graph.dot
index 85742a1913b..cbff636c2fd 100644
--- a/repo/graph.dot
+++ b/repo/graph.dot
@@ -179,6 +179,7 @@ digraph G {
   "@kie-tools/runtime-tools-shared-enveloped-components" [ color = "blue", 
fontcolor = "blue", style = "rounded" ];
   "@kie-tools/runtime-tools-swf-enveloped-components" [ color = "blue", 
fontcolor = "blue", style = "rounded" ];
   "@kie-tools/runtime-tools-swf-gateway-api" [ color = "blue", fontcolor = 
"blue", style = "rounded" ];
+  "@kie-tools/sonataflow-uniforms" [ color = "blue", fontcolor = "blue", style 
= "rounded" ];
   "@kie-tools/runtime-tools-swf-webapp-components" [ color = "blue", fontcolor 
= "blue", style = "rounded" ];
   "@kie-tools/scesim-editor" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
   "@kie-tools/scesim-marshaller" [ color = "blue", fontcolor = "blue", style = 
"rounded" ];
@@ -560,6 +561,7 @@ digraph G {
   "@kie-tools/runtime-tools-swf-enveloped-components" -> 
"@kie-tools/runtime-tools-components" [ style = "solid", color = "blue" ];
   "@kie-tools/runtime-tools-swf-enveloped-components" -> 
"@kie-tools/runtime-tools-swf-gateway-api" [ style = "solid", color = "blue" ];
   "@kie-tools/runtime-tools-swf-enveloped-components" -> 
"@kie-tools/serverless-workflow-combined-editor" [ style = "solid", color = 
"blue" ];
+  "@kie-tools/runtime-tools-swf-enveloped-components" -> 
"@kie-tools/sonataflow-uniforms" [ style = "solid", color = "blue" ];
   "@kie-tools/runtime-tools-swf-gateway-api" -> 
"@kie-tools/runtime-tools-shared-gateway-api" [ style = "solid", color = "blue" 
];
   "@kie-tools/runtime-tools-swf-gateway-api" -> "@kie-tools/jest-base" [ style 
= "dashed", color = "blue" ];
   "@kie-tools/runtime-tools-swf-webapp-components" -> 
"@kie-tools/runtime-tools-swf-enveloped-components" [ style = "solid", color = 
"blue" ];
@@ -653,6 +655,7 @@ digraph G {
   "@kie-tools/sonataflow-operator" -> 
"@kie/kogito-jobs-service-ephemeral-image" [ style = "dashed", color = "black" 
];
   "@kie-tools/sonataflow-operator" -> 
"@kie/kogito-jobs-service-postgresql-image" [ style = "dashed", color = "black" 
];
   "@kie-tools/sonataflow-quarkus-devui" -> 
"@kie-tools/serverless-workflow-dev-ui-webapp" [ style = "dashed", color = 
"black" ];
+  "@kie-tools/sonataflow-uniforms" -> "@kie-tools/uniforms-patternfly" [ style 
= "solid", color = "blue" ];
   "@kie-tools/storybook-base" -> "@kie-tools-core/webpack-base" [ style = 
"dashed", color = "blue" ];
   "@kie-tools/storybook-base" -> "@kie-tools/eslint" [ style = "dashed", color 
= "blue" ];
   "@kie-tools/storybook-base" -> "@kie-tools/tsconfig" [ style = "dashed", 
color = "blue" ];
diff --git a/repo/graph.json b/repo/graph.json
index ec60734d3f4..8827b19bdbd 100644
--- a/repo/graph.json
+++ b/repo/graph.json
@@ -213,6 +213,7 @@
       { "id": "@kie-tools/runtime-tools-shared-enveloped-components" },
       { "id": "@kie-tools/runtime-tools-swf-enveloped-components" },
       { "id": "@kie-tools/runtime-tools-swf-gateway-api" },
+      { "id": "@kie-tools/sonataflow-uniforms" },
       { "id": "@kie-tools/runtime-tools-swf-webapp-components" },
       { "id": "@kie-tools/scesim-marshaller" },
       { "id": "@kie-tools/serverless-logic-web-tools" },
@@ -2309,6 +2310,11 @@
         "target": "@kie-tools/serverless-workflow-combined-editor",
         "weight": 1
       },
+      {
+        "source": "@kie-tools/runtime-tools-swf-enveloped-components",
+        "target": "@kie-tools/sonataflow-uniforms",
+        "weight": 1
+      },
       {
         "source": "@kie-tools/runtime-tools-swf-gateway-api",
         "target": "@kie-tools/runtime-tools-shared-gateway-api",
@@ -2319,6 +2325,11 @@
         "target": "@kie-tools/jest-base",
         "weight": 1
       },
+      {
+        "source": "@kie-tools/sonataflow-uniforms",
+        "target": "@kie-tools/uniforms-patternfly",
+        "weight": 1
+      },
       {
         "source": "@kie-tools/runtime-tools-swf-webapp-components",
         "target": "@kie-tools/runtime-tools-swf-enveloped-components",
@@ -2982,6 +2993,7 @@
     ["@kie-tools/sonataflow-management-console-webapp", 
"packages/sonataflow-management-console-webapp"],
     ["@kie-tools/sonataflow-operator", "packages/sonataflow-operator"],
     ["@kie-tools/sonataflow-quarkus-devui", 
"packages/sonataflow-quarkus-devui"],
+    ["@kie-tools/sonataflow-uniforms", "packages/sonataflow-uniforms"],
     ["@kie-tools/storybook-base", "packages/storybook-base"],
     ["@kie-tools/stunner-editors", "packages/stunner-editors"],
     ["@kie-tools/stunner-editors-dmn-loader", 
"packages/stunner-editors-dmn-loader"],


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to