diff --git a/.gitignore b/.gitignore
index b94c4c38..f471e470 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ target/
**/*.iml
transaction-logs/
.flattened-pom.xml
+.nodejs
diff --git a/README.adoc b/README.adoc
index 2a9ebb30..49e776d7 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,65 +1,171 @@
-# judo-ui-react
+# judo-ui-react-template
-UI based JUDO React Frontend Java generator
+UI based JUDO React Frontend TypeScript generator
-It can be used as:
+## Dependencies
+
+The source code which this template can generate depends on the generated services of https://github.com/BlackBeltTechnology/judo-ui-typescript-rest-template[judo-ui-typescript-rest-template].
+
+The following example will showcase both plugins working together to generate a fully functional application.
+
+## Usage
[code, xml]
----
4.0.0
- hu.blackbelt.judo.archetype
- judo-ui-react-example
- ${revision}
- pom
- JUDO UI Generator React Frontend test
- JUDO UI React Frontend Generator Example.
+ com.example
+ actiongrouptest-frontend-react-action_group_test__god
+ 1.0.0-SNAPSHOT
+
+ ActionGroupTest - God
+ ActionGroupTest - God react frontend
+
+ bundle
- 1.0.0-SNAPSHOT
- 3.8.3
+
+ 1.0.1.20230213_193724_b9e98a1c_develop
+ 1.0.0.20230120_203628_b0fbaa8e_develop
+ 1.0.0.20230227_135344_7ab7117b_develop
+ 1.0.0.20230222_040743_a6270e05_develop
+
+
+ ActionGroupTest
+ actiongrouptest__god
+ god
+ God
+ ActionGroupTest::God
- 1.0.0
- 1.0.0
- 1.1.0
+
+ ${project.basedir}/model/${model-name}-ui.model
+ ${project.basedir}/generator-overrides
+ ${project.basedir}/target/frontend-react
+
+
+ @example
+ 1.0.0
+ 10
- hu.blackbelt.judo.archetype
- judo-ui-archetype-maven-plugin
- ${judo-ui-archetype-version}
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
- execute-ui-test-model-from-artifact
- test
+ execute-ui-services-generation
+ generate-sources
generate
- ${basedir}/src/main/resources
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
-
- hu.blackbelt.judo.ui.generator.sdk.core.PsmModelHelper
-
- ui-sdk-core
-
- mvn:your.ui.model.group.id:your.ui.model.artifact.id:your.ui.model.version!model-name-in-jar.model
-
- ${basedir}/target/generated-test-classes/ui/sdk-core
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${judo-ui-react-version}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${judo-ui-react-version}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${judo-ui-react-version}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
- hu.blackbelt.judo.meta
- hu.blackbelt.judo.meta.ui.model.northwind
- ${judo-meta-ui-version}
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${judo-ui-react-version}
@@ -68,11 +174,11 @@ It can be used as:
----
-This example generates a complete project setup into `target/classes` directory.
-In a project this generation can be placed in the model project as a
-profile.
+This example generates a complete application into the `target/frontend-react` directory.
-The `judo-ui-archetype-maven-plugin` documentation is placed inside
-the plugin documentation itself. https://github.com/BlackBeltTechnology/judo-ui-archetype
+The `judo-ui-generator-maven-plugin` documentation is placed inside
+the plugin documentation itself. https://github.com/BlackBeltTechnology/judo-meta-ui/tree/develop/generator-maven-plugin
+## Notes
+The `maven-dependency-plugin` copies repackaged dependencies from the module `judo-ui-react-external-packages`.
diff --git a/judo-ui-react-external-packages/.classpath b/judo-ui-react-external-packages/.classpath
new file mode 100644
index 00000000..234db15b
--- /dev/null
+++ b/judo-ui-react-external-packages/.classpath
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/judo-ui-react-external-packages/.project b/judo-ui-react-external-packages/.project
new file mode 100644
index 00000000..b161ad79
--- /dev/null
+++ b/judo-ui-react-external-packages/.project
@@ -0,0 +1,24 @@
+
+
+ judo-ui-react-external-packages
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/judo-ui-react-external-packages/pom.xml b/judo-ui-react-external-packages/pom.xml
new file mode 100644
index 00000000..d20e21ae
--- /dev/null
+++ b/judo-ui-react-external-packages/pom.xml
@@ -0,0 +1,80 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-template
+ ${revision}
+
+
+ judo-ui-react-external-packages
+ bundle
+ JUDO UI React Frontend Repackaged External Packages
+
+
+ ${project.parent.basedir}/target/nodejs
+ ${basedir}/target/classes
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ install node and pnpm
+
+ install-node-and-pnpm
+
+ generate-resources
+
+
+ pnpm install
+
+ pnpm
+
+ compile
+
+ install
+
+
+
+ build
+
+ pnpm
+
+ compile
+
+ build
+
+
+
+
+ v${node-version}
+ ${pnpm-version}
+ ${node-install-dir}
+ ${build-dir}
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 4.2.1
+ true
+
+
+
+
+ /externals=${build-dir}/dist,
+ {maven-resources}
+
+
+
+
+
+
+
diff --git a/judo-ui-react-external-packages/src/main/resources/.gitignore b/judo-ui-react-external-packages/src/main/resources/.gitignore
new file mode 100644
index 00000000..158c838e
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/.gitignore
@@ -0,0 +1,6 @@
+.idea
+**/*.iml
+node_modules
+target
+dist
+**/*.log
diff --git a/judo-ui-react-external-packages/src/main/resources/.npmrc b/judo-ui-react-external-packages/src/main/resources/.npmrc
new file mode 100644
index 00000000..3e775efb
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/.npmrc
@@ -0,0 +1 @@
+auto-install-peers=true
diff --git a/judo-ui-react-external-packages/src/main/resources/README.md b/judo-ui-react-external-packages/src/main/resources/README.md
new file mode 100644
index 00000000..3c20ecbb
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/README.md
@@ -0,0 +1,25 @@
+# judo-tatami-ui-packages
+
+Re-packaged external dependencies which do not provide UMD modules.
+
+## Items
+- @mui/x-data-grid
+- @mui/x-date-pickers
+- @mui/x-date-pickers/AdapterDayjs
+- react-dom/client
+- react/jsx-runtime
+
+## Setup
+
+```bash
+pnpm i
+```
+
+## Commands
+
+```bash
+pnpm build
+
+pnpm watch
+pnpm preview
+```
diff --git a/judo-ui-react-external-packages/src/main/resources/external/judo-data-api-common.tsx b/judo-ui-react-external-packages/src/main/resources/external/judo-data-api-common.tsx
new file mode 100644
index 00000000..f1337e88
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/judo-data-api-common.tsx
@@ -0,0 +1 @@
+export * from '@judo/data-api-common';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-material-locale.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-material-locale.tsx
new file mode 100644
index 00000000..c7d60ac8
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-material-locale.tsx
@@ -0,0 +1 @@
+export * from '@mui/material/modern/locale';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-material.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-material.tsx
new file mode 100644
index 00000000..75ca8fac
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-material.tsx
@@ -0,0 +1 @@
+export * from '@mui/material/modern';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-system.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-system.tsx
new file mode 100644
index 00000000..2f84a1ab
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-system.tsx
@@ -0,0 +1 @@
+export * from '@mui/system/modern';
\ No newline at end of file
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-x-data-grid.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-x-data-grid.tsx
new file mode 100644
index 00000000..393f9324
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-x-data-grid.tsx
@@ -0,0 +1 @@
+export * from '@mui/x-data-grid/modern';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers-adapter-day-js.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers-adapter-day-js.tsx
new file mode 100644
index 00000000..97309263
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers-adapter-day-js.tsx
@@ -0,0 +1 @@
+export * from '@mui/x-date-pickers/AdapterDayjs';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers.tsx b/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers.tsx
new file mode 100644
index 00000000..973babe2
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/mui-x-date-pickers.tsx
@@ -0,0 +1 @@
+export * from '@mui/x-date-pickers/modern';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/oidc-client-ts.tsx b/judo-ui-react-external-packages/src/main/resources/external/oidc-client-ts.tsx
new file mode 100644
index 00000000..0fe0d99e
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/oidc-client-ts.tsx
@@ -0,0 +1 @@
+export * from 'oidc-client-ts';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/react-dom-client.tsx b/judo-ui-react-external-packages/src/main/resources/external/react-dom-client.tsx
new file mode 100644
index 00000000..74ad4a69
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/react-dom-client.tsx
@@ -0,0 +1,6 @@
+import * as client from 'react-dom/client';
+
+const c = client as any;
+
+export const createRoot = c.createRoot;
+export const hydrateRoot = c.hydrateRoot;
diff --git a/judo-ui-react-external-packages/src/main/resources/external/react-is.tsx b/judo-ui-react-external-packages/src/main/resources/external/react-is.tsx
new file mode 100644
index 00000000..75b91ee6
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/react-is.tsx
@@ -0,0 +1 @@
+export * from 'react-is';
diff --git a/judo-ui-react-external-packages/src/main/resources/external/react-jsx-runtime.tsx b/judo-ui-react-external-packages/src/main/resources/external/react-jsx-runtime.tsx
new file mode 100644
index 00000000..5a5521d8
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/react-jsx-runtime.tsx
@@ -0,0 +1,14 @@
+import * as jsxRuntime from 'react/jsx-runtime';
+
+const runtime = jsxRuntime as any;
+
+export const jsxs = runtime.jsxs;
+export const jsx = runtime.jsx;
+export const Fragment = runtime.Fragment;
+
+// default export for sub-optimally written third party libraries which import with `* as`...
+export default {
+ jsx,
+ jsxs,
+ Fragment,
+};
diff --git a/judo-ui-react-external-packages/src/main/resources/external/react-oidc-context.tsx b/judo-ui-react-external-packages/src/main/resources/external/react-oidc-context.tsx
new file mode 100644
index 00000000..b4a06f2f
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/external/react-oidc-context.tsx
@@ -0,0 +1 @@
+export * from 'react-oidc-context';
diff --git a/judo-ui-react-external-packages/src/main/resources/package.json b/judo-ui-react-external-packages/src/main/resources/package.json
new file mode 100644
index 00000000..2fcada73
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "@blackbelt/judo-tatami-ui-external-packages",
+ "version": "1.0.0",
+ "description": "Re-packaged external dependencies which do not provide UMD modules.",
+ "type": "module",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ ".": {
+ "default": "./dist/index.js"
+ }
+ },
+ "private": true,
+ "scripts": {
+ "build": "cross-env NODE_ENV=production rollup -c",
+ "build:dev": "rollup -c"
+ },
+ "keywords": ["judo", "web", "umd", "systemjs", "react", "mui"],
+ "license": "EPL-2.0",
+ "author": "Norbert Herczeg ",
+ "devDependencies": {
+ "@rollup/plugin-commonjs": "24.0.0",
+ "@rollup/plugin-node-resolve": "15.0.1",
+ "@rollup/plugin-replace": "5.0.2",
+ "@types/react": "18.0.26",
+ "@types/react-dom": "18.0.9",
+ "@types/systemjs": "6.13.0",
+ "cross-env": "7.0.3",
+ "rollup": "3.7.5",
+ "rollup-plugin-clear": "2.0.7",
+ "rollup-plugin-esbuild": "5.0.0",
+ "typescript": "4.9.4"
+ },
+ "dependencies": {
+ "@emotion/react": "11.10.5",
+ "@emotion/styled": "11.10.5",
+ "@judo/data-api-common": "0.4.2",
+ "@mui/material": "5.11.4",
+ "@mui/system": "5.11.4",
+ "@mui/x-data-grid": "5.17.18",
+ "@mui/x-date-pickers": "5.0.13",
+ "dayjs": "1.11.7",
+ "oidc-client-ts": "2.2.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-is": "18.2.0",
+ "react-oidc-context": "2.2.1",
+ "systemjs": "6.13.0"
+ }
+}
diff --git a/judo-ui-react-external-packages/src/main/resources/pnpm-lock.yaml b/judo-ui-react-external-packages/src/main/resources/pnpm-lock.yaml
new file mode 100644
index 00000000..7cedc24d
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/pnpm-lock.yaml
@@ -0,0 +1,1764 @@
+lockfileVersion: 5.4
+
+specifiers:
+ '@emotion/react': 11.10.5
+ '@emotion/styled': 11.10.5
+ '@judo/data-api-common': 0.4.2
+ '@mui/material': 5.11.4
+ '@mui/system': 5.11.4
+ '@mui/x-data-grid': 5.17.18
+ '@mui/x-date-pickers': 5.0.13
+ '@rollup/plugin-commonjs': 24.0.0
+ '@rollup/plugin-node-resolve': 15.0.1
+ '@rollup/plugin-replace': 5.0.2
+ '@types/react': 18.0.26
+ '@types/react-dom': 18.0.9
+ '@types/systemjs': 6.13.0
+ cross-env: 7.0.3
+ dayjs: 1.11.7
+ oidc-client-ts: 2.2.1
+ react: 18.2.0
+ react-dom: 18.2.0
+ react-is: 18.2.0
+ react-oidc-context: 2.2.1
+ rollup: 3.7.5
+ rollup-plugin-clear: 2.0.7
+ rollup-plugin-esbuild: 5.0.0
+ systemjs: 6.13.0
+ typescript: 4.9.4
+
+dependencies:
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ '@judo/data-api-common': 0.4.2
+ '@mui/material': 5.11.4_lskpmcsdi7ipu6qpuapyu56ihm
+ '@mui/system': 5.11.4_ogriz7mfahdh34qnfautfro5yu
+ '@mui/x-data-grid': 5.17.18_fw5fsjkluzkaqx4hea3mxt62ym
+ '@mui/x-date-pickers': 5.0.13_bf4y4hp7qiw5cnlcxcy5tjibxm
+ dayjs: 1.11.7
+ oidc-client-ts: 2.2.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ react-is: 18.2.0
+ react-oidc-context: 2.2.1_ibntxc4lxaigcm3od77f5lvjly
+ systemjs: 6.13.0
+
+devDependencies:
+ '@rollup/plugin-commonjs': 24.0.0_rollup@3.7.5
+ '@rollup/plugin-node-resolve': 15.0.1_rollup@3.7.5
+ '@rollup/plugin-replace': 5.0.2_rollup@3.7.5
+ '@types/react': 18.0.26
+ '@types/react-dom': 18.0.9
+ '@types/systemjs': 6.13.0
+ cross-env: 7.0.3
+ rollup: 3.7.5
+ rollup-plugin-clear: 2.0.7
+ rollup-plugin-esbuild: 5.0.0_xofeg5zkug6xjz4owa5cgqfhky
+ typescript: 4.9.4
+
+packages:
+
+ /@ampproject/remapping/2.2.0:
+ resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.1.1
+ '@jridgewell/trace-mapping': 0.3.17
+ dev: false
+
+ /@babel/code-frame/7.18.6:
+ resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.18.6
+ dev: false
+
+ /@babel/compat-data/7.20.10:
+ resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/core/7.20.12:
+ resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.0
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.20.7
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
+ '@babel/helper-module-transforms': 7.20.11
+ '@babel/helpers': 7.20.13
+ '@babel/parser': 7.20.13
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.13
+ '@babel/types': 7.20.7
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/generator/7.20.7:
+ resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ '@jridgewell/gen-mapping': 0.3.2
+ jsesc: 2.5.2
+ dev: false
+
+ /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12:
+ resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.20.12
+ '@babel/helper-validator-option': 7.18.6
+ browserslist: 4.21.4
+ lru-cache: 5.1.1
+ semver: 6.3.0
+ dev: false
+
+ /@babel/helper-environment-visitor/7.18.9:
+ resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-function-name/7.19.0:
+ resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/helper-hoist-variables/7.18.6:
+ resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/helper-module-imports/7.18.6:
+ resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/helper-module-transforms/7.20.11:
+ resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/helper-validator-identifier': 7.19.1
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.13
+ '@babel/types': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/helper-plugin-utils/7.20.2:
+ resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-simple-access/7.20.2:
+ resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/helper-split-export-declaration/7.18.6:
+ resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/helper-string-parser/7.19.4:
+ resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-identifier/7.19.1:
+ resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-option/7.18.6:
+ resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helpers/7.20.13:
+ resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.20.13
+ '@babel/types': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/highlight/7.18.6:
+ resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.19.1
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: false
+
+ /@babel/parser/7.20.13:
+ resolution: {integrity: sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12:
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-plugin-utils': 7.20.2
+ dev: false
+
+ /@babel/runtime/7.20.13:
+ resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+ dev: false
+
+ /@babel/template/7.20.7:
+ resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/parser': 7.20.13
+ '@babel/types': 7.20.7
+ dev: false
+
+ /@babel/traverse/7.20.13:
+ resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.20.7
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/parser': 7.20.13
+ '@babel/types': 7.20.7
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/types/7.20.7:
+ resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+ dev: false
+
+ /@date-io/core/2.16.0:
+ resolution: {integrity: sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==}
+ dev: false
+
+ /@date-io/date-fns/2.16.0:
+ resolution: {integrity: sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==}
+ peerDependencies:
+ date-fns: ^2.0.0
+ peerDependenciesMeta:
+ date-fns:
+ optional: true
+ dependencies:
+ '@date-io/core': 2.16.0
+ dev: false
+
+ /@date-io/dayjs/2.16.0_dayjs@1.11.7:
+ resolution: {integrity: sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==}
+ peerDependencies:
+ dayjs: ^1.8.17
+ peerDependenciesMeta:
+ dayjs:
+ optional: true
+ dependencies:
+ '@date-io/core': 2.16.0
+ dayjs: 1.11.7
+ dev: false
+
+ /@date-io/luxon/2.16.1:
+ resolution: {integrity: sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==}
+ peerDependencies:
+ luxon: ^1.21.3 || ^2.x || ^3.x
+ peerDependenciesMeta:
+ luxon:
+ optional: true
+ dependencies:
+ '@date-io/core': 2.16.0
+ dev: false
+
+ /@date-io/moment/2.16.1:
+ resolution: {integrity: sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==}
+ peerDependencies:
+ moment: ^2.24.0
+ peerDependenciesMeta:
+ moment:
+ optional: true
+ dependencies:
+ '@date-io/core': 2.16.0
+ dev: false
+
+ /@emotion/babel-plugin/11.10.5_@babel+core@7.20.12:
+ resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
+ '@babel/runtime': 7.20.13
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/serialize': 1.1.1
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/cache/11.10.5:
+ resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==}
+ dependencies:
+ '@emotion/memoize': 0.8.0
+ '@emotion/sheet': 1.2.1
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ stylis: 4.1.3
+ dev: false
+
+ /@emotion/hash/0.9.0:
+ resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==}
+ dev: false
+
+ /@emotion/is-prop-valid/1.2.0:
+ resolution: {integrity: sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==}
+ dependencies:
+ '@emotion/memoize': 0.8.0
+ dev: false
+
+ /@emotion/memoize/0.8.0:
+ resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==}
+ dev: false
+
+ /@emotion/react/11.10.5_jp5qgyg6plq757v5hojp7ls2oe:
+ resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/runtime': 7.20.13
+ '@emotion/babel-plugin': 11.10.5_@babel+core@7.20.12
+ '@emotion/cache': 11.10.5
+ '@emotion/serialize': 1.1.1
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/utils': 1.2.0
+ '@emotion/weak-memoize': 0.3.0
+ '@types/react': 18.0.26
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
+ dev: false
+
+ /@emotion/serialize/1.1.1:
+ resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==}
+ dependencies:
+ '@emotion/hash': 0.9.0
+ '@emotion/memoize': 0.8.0
+ '@emotion/unitless': 0.8.0
+ '@emotion/utils': 1.2.0
+ csstype: 3.1.1
+ dev: false
+
+ /@emotion/sheet/1.2.1:
+ resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==}
+ dev: false
+
+ /@emotion/styled/11.10.5_jp5djshq6aqfasno3mth3hguci:
+ resolution: {integrity: sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/runtime': 7.20.13
+ '@emotion/babel-plugin': 11.10.5_@babel+core@7.20.12
+ '@emotion/is-prop-valid': 1.2.0
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/serialize': 1.1.1
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
+ '@emotion/utils': 1.2.0
+ '@types/react': 18.0.26
+ react: 18.2.0
+ dev: false
+
+ /@emotion/unitless/0.8.0:
+ resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==}
+ dev: false
+
+ /@emotion/use-insertion-effect-with-fallbacks/1.0.0_react@18.2.0:
+ resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /@emotion/utils/1.2.0:
+ resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==}
+ dev: false
+
+ /@emotion/weak-memoize/0.3.0:
+ resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==}
+ dev: false
+
+ /@esbuild/android-arm/0.17.4:
+ resolution: {integrity: sha512-R9GCe2xl2XDSc2XbQB63mFiFXHIVkOP+ltIxICKXqUPrFX97z6Z7vONCLQM1pSOLGqfLrGi3B7nbhxmFY/fomg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm64/0.17.4:
+ resolution: {integrity: sha512-91VwDrl4EpxBCiG6h2LZZEkuNvVZYJkv2T9gyLG/mhGG1qrM7i5SwUcg/hlSPnL/4hDT0TFcF35/XMGSn0bemg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64/0.17.4:
+ resolution: {integrity: sha512-mGSqhEPL7029XL7QHNPxPs15JVa02hvZvysUcyMP9UXdGFwncl2WU0bqx+Ysgzd+WAbv8rfNa73QveOxAnAM2w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64/0.17.4:
+ resolution: {integrity: sha512-tTyJRM9dHvlMPt1KrBFVB5OW1kXOsRNvAPtbzoKazd5RhD5/wKlXk1qR2MpaZRYwf4WDMadt0Pv0GwxB41CVow==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64/0.17.4:
+ resolution: {integrity: sha512-phQuC2Imrb3TjOJwLN8EO50nb2FHe8Ew0OwgZDH1SV6asIPGudnwTQtighDF2EAYlXChLoMJwqjAp4vAaACq6w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64/0.17.4:
+ resolution: {integrity: sha512-oH6JUZkocgmjzzYaP5juERLpJQSwazdjZrTPgLRmAU2bzJ688x0vfMB/WTv4r58RiecdHvXOPC46VtsMy/mepg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64/0.17.4:
+ resolution: {integrity: sha512-U4iWGn/9TrAfpAdfd56eO0pRxIgb0a8Wj9jClrhT8hvZnOnS4dfMPW7o4fn15D/KqoiVYHRm43jjBaTt3g/2KA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm/0.17.4:
+ resolution: {integrity: sha512-S2s9xWTGMTa/fG5EyMGDeL0wrWVgOSQcNddJWgu6rG1NCSXJHs76ZP9AsxjB3f2nZow9fWOyApklIgiTGZKhiw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64/0.17.4:
+ resolution: {integrity: sha512-UkGfQvYlwOaeYJzZG4cLV0hCASzQZnKNktRXUo3/BMZvdau40AOz9GzmGA063n1piq6VrFFh43apRDQx8hMP2w==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32/0.17.4:
+ resolution: {integrity: sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64/0.17.4:
+ resolution: {integrity: sha512-HqpWZkVslDHIwdQ9D+gk7NuAulgQvRxF9no54ut/M55KEb3mi7sQS3GwpPJzSyzzP0UkjQVN7/tbk88/CaX4EQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el/0.17.4:
+ resolution: {integrity: sha512-d/nMCKKh/SVDbqR9ju+b78vOr0tNXtfBjcp5vfHONCCOAL9ad8gN9dC/u+UnH939pz7wO+0u/x9y1MaZcb/lKA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64/0.17.4:
+ resolution: {integrity: sha512-lOD9p2dmjZcNiTU+sGe9Nn6G3aYw3k0HBJies1PU0j5IGfp6tdKOQ6mzfACRFCqXjnBuTqK7eTYpwx09O5LLfg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64/0.17.4:
+ resolution: {integrity: sha512-mTGnwWwVshAjGsd8rP+K6583cPDgxOunsqqldEYij7T5/ysluMHKqUIT4TJHfrDFadUwrghAL6QjER4FeqQXoA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x/0.17.4:
+ resolution: {integrity: sha512-AQYuUGp50XM29/N/dehADxvc2bUqDcoqrVuijop1Wv72SyxT6dDB9wjUxuPZm2HwIM876UoNNBMVd+iX/UTKVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64/0.17.4:
+ resolution: {integrity: sha512-+AsFBwKgQuhV2shfGgA9YloxLDVjXgUEWZum7glR5lLmV94IThu/u2JZGxTgjYby6kyXEx8lKOqP5rTEVBR0Rw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64/0.17.4:
+ resolution: {integrity: sha512-zD1TKYX9553OiLS/qkXPMlWoELYkH/VkzRYNKEU+GwFiqkq0SuxsKnsCg5UCdxN3cqd+1KZ8SS3R+WG/Hxy2jQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64/0.17.4:
+ resolution: {integrity: sha512-PY1NjEsLRhPEFFg1AV0/4Or/gR+q2dOb9s5rXcPuCjyHRzbt8vnHJl3vYj+641TgWZzTFmSUnZbzs1zwTzjeqw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64/0.17.4:
+ resolution: {integrity: sha512-B3Z7s8QZQW9tKGleMRXvVmwwLPAUoDCHs4WZ2ElVMWiortLJFowU1NjAhXOKjDgC7o9ByeVcwyOlJ+F2r6ZgmQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64/0.17.4:
+ resolution: {integrity: sha512-0HCu8R3mY/H5V7N6kdlsJkvrT591bO/oRZy8ztF1dhgNU5xD5tAh5bKByT1UjTGjp/VVBsl1PDQ3L18SfvtnBQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32/0.17.4:
+ resolution: {integrity: sha512-VUjhVDQycse1gLbe06pC/uaA0M+piQXJpdpNdhg8sPmeIZZqu5xPoGWVCmcsOO2gaM2cywuTYTHkXRozo3/Nkg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64/0.17.4:
+ resolution: {integrity: sha512-0kLAjs+xN5OjhTt/aUA6t48SfENSCKgGPfExADYTOo/UCn0ivxos9/anUVeSfg+L+2O9xkFxvJXIJfG+Q4sYSg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@jridgewell/gen-mapping/0.1.1:
+ resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: false
+
+ /@jridgewell/gen-mapping/0.3.2:
+ resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.14
+ '@jridgewell/trace-mapping': 0.3.17
+ dev: false
+
+ /@jridgewell/resolve-uri/3.1.0:
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/set-array/1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/sourcemap-codec/1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+
+ /@jridgewell/trace-mapping/0.3.17:
+ resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: false
+
+ /@judo/data-api-common/0.4.2:
+ resolution: {integrity: sha512-60yEEKj9fOkfAMVRUIg3Ma3593hHS45mb4qHeVaCyI5RveU+HsY+1sZ19SwQu3ng2mvVSRcz+UIwjNTnWIpL9g==}
+ dev: false
+
+ /@mui/base/5.0.0-alpha.113_ib3m5ricvtkl2cll7qpr2f6lvq:
+ resolution: {integrity: sha512-XSjvyQWATM8uk+EJZvYna8D21kOXC42lwb3q4K70btuGieKlCIQLaHTTDV2OfD4+JfT4o3NJy3I4Td2co31RZA==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@emotion/is-prop-valid': 1.2.0
+ '@mui/types': 7.2.3_@types+react@18.0.26
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@popperjs/core': 2.11.6
+ '@types/react': 18.0.26
+ clsx: 1.2.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /@mui/core-downloads-tracker/5.11.6:
+ resolution: {integrity: sha512-lbD3qdafBOf2dlqKhOcVRxaPAujX+9UlPC6v8iMugMeAXe0TCgU3QbGXY3zrJsu6ex64WYDpH4y1+WOOBmWMuA==}
+ dev: false
+
+ /@mui/material/5.11.4_lskpmcsdi7ipu6qpuapyu56ihm:
+ resolution: {integrity: sha512-ZL/czK9ynrQJ6uyDwQgK+j7m1iKA1XKPON+rEPupwAu/bJ1XJxD+H/H2bkMM8UpOkzaucx/WuMbJJGQ60l7gBg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ '@mui/base': 5.0.0-alpha.113_ib3m5ricvtkl2cll7qpr2f6lvq
+ '@mui/core-downloads-tracker': 5.11.6
+ '@mui/system': 5.11.5_ogriz7mfahdh34qnfautfro5yu
+ '@mui/types': 7.2.3_@types+react@18.0.26
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@types/react': 18.0.26
+ '@types/react-transition-group': 4.4.5
+ clsx: 1.2.1
+ csstype: 3.1.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ react-is: 18.2.0
+ react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y
+ dev: false
+
+ /@mui/private-theming/5.11.2_kzbn2opkn2327fwg5yzwzya5o4:
+ resolution: {integrity: sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@types/react': 18.0.26
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/styled-engine/5.11.0_dovxhg2tvkkxkdnqyoum6wzcxm:
+ resolution: {integrity: sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.4.1
+ '@emotion/styled': ^11.3.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@emotion/cache': 11.10.5
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ csstype: 3.1.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/system/5.11.4_ogriz7mfahdh34qnfautfro5yu:
+ resolution: {integrity: sha512-fE2Ts33V5zh7ouciwXgMm/a6sLvjIj9OMeojuHNYY7BStTxparC/Fp9CNUZNJwt76U6ZJC59aYScFSRQKbW08g==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ '@mui/private-theming': 5.11.2_kzbn2opkn2327fwg5yzwzya5o4
+ '@mui/styled-engine': 5.11.0_dovxhg2tvkkxkdnqyoum6wzcxm
+ '@mui/types': 7.2.3_@types+react@18.0.26
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@types/react': 18.0.26
+ clsx: 1.2.1
+ csstype: 3.1.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/system/5.11.5_ogriz7mfahdh34qnfautfro5yu:
+ resolution: {integrity: sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ '@mui/private-theming': 5.11.2_kzbn2opkn2327fwg5yzwzya5o4
+ '@mui/styled-engine': 5.11.0_dovxhg2tvkkxkdnqyoum6wzcxm
+ '@mui/types': 7.2.3_@types+react@18.0.26
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@types/react': 18.0.26
+ clsx: 1.2.1
+ csstype: 3.1.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/types/7.2.3_@types+react@18.0.26:
+ resolution: {integrity: sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==}
+ peerDependencies:
+ '@types/react': '*'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.26
+ dev: false
+
+ /@mui/utils/5.11.2_react@18.2.0:
+ resolution: {integrity: sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ react: ^17.0.0 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@types/prop-types': 15.7.5
+ '@types/react-is': 17.0.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /@mui/x-data-grid/5.17.18_fw5fsjkluzkaqx4hea3mxt62ym:
+ resolution: {integrity: sha512-0hWExrABXA03HQZoY/EaN6jiFMXdQWs7Y+3xtngiRzGQQl6kmLz1IjdKpNuwuc2g3xphnCpz9WSqTxVhJqdmAw==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@mui/material': ^5.4.1
+ '@mui/system': ^5.4.1
+ react: ^17.0.2 || ^18.0.0
+ react-dom: ^17.0.2 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@mui/material': 5.11.4_lskpmcsdi7ipu6qpuapyu56ihm
+ '@mui/system': 5.11.4_ogriz7mfahdh34qnfautfro5yu
+ '@mui/utils': 5.11.2_react@18.2.0
+ clsx: 1.2.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ reselect: 4.1.7
+ dev: false
+
+ /@mui/x-date-pickers/5.0.13_bf4y4hp7qiw5cnlcxcy5tjibxm:
+ resolution: {integrity: sha512-nUc35Zvah/l4bEWcPNRtSvWBL+7uAlokd6G6PzQfLe2TQo4GNlK1JVRfoVpBY5FsdM09uWLrpvfWLbka87k7GA==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.9.0
+ '@emotion/styled': ^11.8.1
+ '@mui/material': ^5.4.1
+ '@mui/system': ^5.4.1
+ date-fns: ^2.25.0
+ dayjs: ^1.10.7
+ luxon: ^1.28.0 || ^2.0.0 || ^3.0.0
+ moment: ^2.29.1
+ react: ^17.0.2 || ^18.0.0
+ react-dom: ^17.0.2 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ date-fns:
+ optional: true
+ dayjs:
+ optional: true
+ luxon:
+ optional: true
+ moment:
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.20.13
+ '@date-io/core': 2.16.0
+ '@date-io/date-fns': 2.16.0
+ '@date-io/dayjs': 2.16.0_dayjs@1.11.7
+ '@date-io/luxon': 2.16.1
+ '@date-io/moment': 2.16.1
+ '@emotion/react': 11.10.5_jp5qgyg6plq757v5hojp7ls2oe
+ '@emotion/styled': 11.10.5_jp5djshq6aqfasno3mth3hguci
+ '@mui/material': 5.11.4_lskpmcsdi7ipu6qpuapyu56ihm
+ '@mui/system': 5.11.4_ogriz7mfahdh34qnfautfro5yu
+ '@mui/utils': 5.11.2_react@18.2.0
+ '@types/react-transition-group': 4.4.5
+ clsx: 1.2.1
+ dayjs: 1.11.7
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y
+ rifm: 0.12.1_react@18.2.0
+ dev: false
+
+ /@popperjs/core/2.11.6:
+ resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
+ dev: false
+
+ /@rollup/plugin-commonjs/24.0.0_rollup@3.7.5:
+ resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.7.5
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.27.0
+ rollup: 3.7.5
+ dev: true
+
+ /@rollup/plugin-node-resolve/15.0.1_rollup@3.7.5:
+ resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.7.5
+ '@types/resolve': 1.20.2
+ deepmerge: 4.2.2
+ is-builtin-module: 3.2.0
+ is-module: 1.0.0
+ resolve: 1.22.1
+ rollup: 3.7.5
+ dev: true
+
+ /@rollup/plugin-replace/5.0.2_rollup@3.7.5:
+ resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.7.5
+ magic-string: 0.27.0
+ rollup: 3.7.5
+ dev: true
+
+ /@rollup/pluginutils/5.0.2_rollup@3.7.5:
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.7.5
+ dev: true
+
+ /@types/estree/1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ dev: true
+
+ /@types/parse-json/4.0.0:
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
+ dev: false
+
+ /@types/prop-types/15.7.5:
+ resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
+
+ /@types/react-dom/18.0.9:
+ resolution: {integrity: sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==}
+ dependencies:
+ '@types/react': 18.0.26
+ dev: true
+
+ /@types/react-is/17.0.3:
+ resolution: {integrity: sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==}
+ dependencies:
+ '@types/react': 18.0.26
+ dev: false
+
+ /@types/react-transition-group/4.4.5:
+ resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==}
+ dependencies:
+ '@types/react': 18.0.26
+ dev: false
+
+ /@types/react/18.0.26:
+ resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==}
+ dependencies:
+ '@types/prop-types': 15.7.5
+ '@types/scheduler': 0.16.2
+ csstype: 3.1.1
+
+ /@types/resolve/1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ dev: true
+
+ /@types/scheduler/0.16.2:
+ resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
+
+ /@types/systemjs/6.13.0:
+ resolution: {integrity: sha512-T7P3qWZmtAVNUrEkWXlT8Hm8ND0w7rVmMZu+HYmS38mrNyAyxIdoZQ23ySmClhWR1oq0E2RhOSmuI3Cs2By6nQ==}
+ dev: true
+
+ /ansi-styles/3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: false
+
+ /babel-plugin-macros/3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.20.13
+ cosmiconfig: 7.1.0
+ resolve: 1.22.1
+ dev: false
+
+ /balanced-match/1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /brace-expansion/1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /brace-expansion/2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /browserslist/4.21.4:
+ resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001447
+ electron-to-chromium: 1.4.284
+ node-releases: 2.0.8
+ update-browserslist-db: 1.0.10_browserslist@4.21.4
+ dev: false
+
+ /builtin-modules/3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /callsites/3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /caniuse-lite/1.0.30001447:
+ resolution: {integrity: sha512-bdKU1BQDPeEXe9A39xJnGtY0uRq/z5osrnXUw0TcK+EYno45Y+U7QU9HhHEyzvMDffpYadFXi3idnSNkcwLkTw==}
+ dev: false
+
+ /chalk/2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: false
+
+ /clsx/1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /color-convert/1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: false
+
+ /color-name/1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ dev: false
+
+ /commondir/1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
+ /concat-map/0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
+
+ /convert-source-map/1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: false
+
+ /cosmiconfig/7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.0
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: false
+
+ /cross-env/7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.3
+ dev: true
+
+ /cross-spawn/7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /crypto-js/4.1.1:
+ resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==}
+ dev: false
+
+ /csstype/3.1.1:
+ resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
+
+ /dayjs/1.11.7:
+ resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
+ dev: false
+
+ /debug/4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /deepmerge/4.2.2:
+ resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /dom-helpers/5.2.1:
+ resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+ dependencies:
+ '@babel/runtime': 7.20.13
+ csstype: 3.1.1
+ dev: false
+
+ /electron-to-chromium/1.4.284:
+ resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
+ dev: false
+
+ /error-ex/1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: false
+
+ /es-module-lexer/1.1.0:
+ resolution: {integrity: sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==}
+ dev: true
+
+ /esbuild/0.17.4:
+ resolution: {integrity: sha512-zBn9MeCwT7W5F1a3lXClD61ip6vQM+H8Msb0w8zMT4ZKBpDg+rFAraNyWCDelB/2L6M3g6AXHPnsyvjMFnxtFw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.17.4
+ '@esbuild/android-arm64': 0.17.4
+ '@esbuild/android-x64': 0.17.4
+ '@esbuild/darwin-arm64': 0.17.4
+ '@esbuild/darwin-x64': 0.17.4
+ '@esbuild/freebsd-arm64': 0.17.4
+ '@esbuild/freebsd-x64': 0.17.4
+ '@esbuild/linux-arm': 0.17.4
+ '@esbuild/linux-arm64': 0.17.4
+ '@esbuild/linux-ia32': 0.17.4
+ '@esbuild/linux-loong64': 0.17.4
+ '@esbuild/linux-mips64el': 0.17.4
+ '@esbuild/linux-ppc64': 0.17.4
+ '@esbuild/linux-riscv64': 0.17.4
+ '@esbuild/linux-s390x': 0.17.4
+ '@esbuild/linux-x64': 0.17.4
+ '@esbuild/netbsd-x64': 0.17.4
+ '@esbuild/openbsd-x64': 0.17.4
+ '@esbuild/sunos-x64': 0.17.4
+ '@esbuild/win32-arm64': 0.17.4
+ '@esbuild/win32-ia32': 0.17.4
+ '@esbuild/win32-x64': 0.17.4
+ dev: true
+
+ /escalade/3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /escape-string-regexp/1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: false
+
+ /escape-string-regexp/4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /find-root/1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ dev: false
+
+ /fs.realpath/1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: true
+
+ /fsevents/2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind/1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+
+ /gensync/1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /glob/7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob/8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /globals/11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /has-flag/3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /has/1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+
+ /hoist-non-react-statics/3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ dependencies:
+ react-is: 16.13.1
+ dev: false
+
+ /import-fresh/3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: false
+
+ /inflight/1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits/2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /is-arrayish/0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: false
+
+ /is-builtin-module/3.2.0:
+ resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
+ /is-core-module/2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ dependencies:
+ has: 1.0.3
+
+ /is-module/1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: true
+
+ /is-reference/1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.0
+ dev: true
+
+ /isexe/2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /joycon/3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /js-tokens/4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: false
+
+ /jsesc/2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /json-parse-even-better-errors/2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: false
+
+ /json5/2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: false
+
+ /jsonc-parser/3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
+ /jwt-decode/3.1.2:
+ resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==}
+ dev: false
+
+ /lines-and-columns/1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: false
+
+ /loose-envify/1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+ dev: false
+
+ /lru-cache/5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: false
+
+ /magic-string/0.27.0:
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: true
+
+ /minimatch/3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch/5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /ms/2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /node-releases/2.0.8:
+ resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==}
+ dev: false
+
+ /object-assign/4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /oidc-client-ts/2.2.1:
+ resolution: {integrity: sha512-g/W+DsUVeHZ8A7xUSTeK4bI6BNs9ROtMiiOOo+0M6IiTHxueJ757GD8e/8nPBL+k/o6bkfM5mWg4cZcSI8Iosw==}
+ engines: {node: '>=12.13.0'}
+ dependencies:
+ crypto-js: 4.1.1
+ jwt-decode: 3.1.2
+ dev: false
+
+ /once/1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /parent-module/1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: false
+
+ /parse-json/5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: false
+
+ /path-is-absolute/1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-key/3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-parse/1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-type/4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: false
+
+ /picomatch/2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /prop-types/15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: false
+
+ /react-dom/18.2.0_react@18.2.0:
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+ dev: false
+
+ /react-is/16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ dev: false
+
+ /react-is/18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ dev: false
+
+ /react-oidc-context/2.2.1_ibntxc4lxaigcm3od77f5lvjly:
+ resolution: {integrity: sha512-Y5vZJeyqqMDhwIDgR56mdvW2jkJ/xkAr2jDX/q3NjA4o+7zqdlAPMVb6d33RAc5CSD7CyNB6JD5v5vCY5IO0BA==}
+ engines: {node: '>=12.13.0'}
+ peerDependencies:
+ oidc-client-ts: ^2.0.0
+ react: '>=16.8.0'
+ dependencies:
+ oidc-client-ts: 2.2.1
+ react: 18.2.0
+ dev: false
+
+ /react-transition-group/4.4.5_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
+ peerDependencies:
+ react: '>=16.6.0'
+ react-dom: '>=16.6.0'
+ dependencies:
+ '@babel/runtime': 7.20.13
+ dom-helpers: 5.2.1
+ loose-envify: 1.4.0
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0_react@18.2.0
+ dev: false
+
+ /react/18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /regenerator-runtime/0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+ dev: false
+
+ /reselect/4.1.7:
+ resolution: {integrity: sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A==}
+ dev: false
+
+ /resolve-from/4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /resolve/1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /rifm/0.12.1_react@18.2.0:
+ resolution: {integrity: sha512-OGA1Bitg/dSJtI/c4dh90svzaUPt228kzFsUkJbtA2c964IqEAwWXeL9ZJi86xWv3j5SMqRvGULl7bA6cK0Bvg==}
+ peerDependencies:
+ react: '>=16.8'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /rimraf/2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rollup-plugin-clear/2.0.7:
+ resolution: {integrity: sha512-Hg8NC3JcJBO1ofgyQC0IACpyKn/yhHPGZ3C7R3ubNGWUXy9JXHQrewk4J4hVcZznw6SOKayLsaNae596Rwt8Vg==}
+ dependencies:
+ rimraf: 2.7.1
+ dev: true
+
+ /rollup-plugin-esbuild/5.0.0_xofeg5zkug6xjz4owa5cgqfhky:
+ resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ peerDependencies:
+ esbuild: '>=0.10.1'
+ rollup: ^1.20.0 || ^2.0.0 || ^3.0.0
+ dependencies:
+ '@rollup/pluginutils': 5.0.2_rollup@3.7.5
+ debug: 4.3.4
+ es-module-lexer: 1.1.0
+ esbuild: 0.17.4
+ joycon: 3.1.1
+ jsonc-parser: 3.2.0
+ rollup: 3.7.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /rollup/3.7.5:
+ resolution: {integrity: sha512-z0ZbqHBtS/et2EEUKMrAl2CoSdwN7ZPzL17UMiKN9RjjqHShTlv7F9J6ZJZJNREYjBh3TvBrdfjkFDIXFNeuiQ==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /scheduler/0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /semver/6.3.0:
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ hasBin: true
+ dev: false
+
+ /shebang-command/2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex/3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /source-map/0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /stylis/4.1.3:
+ resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
+ dev: false
+
+ /supports-color/5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+ dev: false
+
+ /supports-preserve-symlinks-flag/1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /systemjs/6.13.0:
+ resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==}
+ dev: false
+
+ /to-fast-properties/2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /typescript/4.9.4:
+ resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ /update-browserslist-db/1.0.10_browserslist@4.21.4:
+ resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.4
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: false
+
+ /which/2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wrappy/1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /yallist/3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: false
+
+ /yaml/1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: false
diff --git a/judo-ui-react-external-packages/src/main/resources/rollup.config.mjs b/judo-ui-react-external-packages/src/main/resources/rollup.config.mjs
new file mode 100644
index 00000000..4dd76f1b
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/rollup.config.mjs
@@ -0,0 +1,66 @@
+import { readFileSync } from 'node:fs';
+import { normalize } from 'node:path';
+import commonjs from '@rollup/plugin-commonjs';
+import { nodeResolve } from '@rollup/plugin-node-resolve';
+import clear from 'rollup-plugin-clear';
+import replace from '@rollup/plugin-replace';
+import esbuild from 'rollup-plugin-esbuild';
+
+const pkg = JSON.parse(readFileSync(normalize('./package.json'), { encoding:'utf8', flag:'r' }).toString());
+const deps = pkg.dependencies;
+const depKeys = Object.keys(deps);
+
+const baseConfig = {
+ plugins: [
+ replace({
+ preventAssignment: false,
+ values: {
+ 'process.env.NODE_ENV': JSON.stringify('production'),
+ },
+ }),
+ commonjs(),
+ nodeResolve(),
+ esbuild({
+ minify: true,
+ }),
+ ],
+};
+
+const mappings = [
+ ['judo-data-api-common', '@judo/data-api-common', deps['@judo/data-api-common'], []],
+ ['react-jsx-runtime', 'react/jsx-runtime', deps.react, ['react']],
+ ['react-is', 'react-is', deps['react-is'], ['react']],
+ ['react-dom-client', 'react-dom/client', deps['react-dom'], ['react', 'react-dom']],
+ ['react-oidc-context', 'react-oidc-context', deps['react-oidc-context'], ['react', 'react-dom', 'react/jsx-runtime', 'oidc-client-ts']],
+ ['oidc-client-ts', 'oidc-client-ts', deps['oidc-client-ts'], [/*'crypto-js', 'jwt-decode'*/]],
+ ['mui-system', '@mui/system', deps['@mui/material'], ['@emotion/react', '@emotion/styled', 'react', 'react-dom', 'react/jsx-runtime']],
+ ['mui-material-locale', '@mui/material/locale', deps['@mui/material'], []],
+ ['mui-material', '@mui/material', deps['@mui/material'], ['@mui/system', '@mui/material/locale', '@emotion/react', '@emotion/styled', 'react', 'react-dom', 'react-is', 'react/jsx-runtime']],
+ ['mui-x-data-grid', '@mui/x-data-grid', deps['@mui/x-data-grid'], ['@mui/material', '@mui/system', '@mui/material/locale', 'react', 'react-dom', 'react-is', 'react/jsx-runtime']],
+ ['mui-x-date-pickers', '@mui/x-date-pickers', deps['@mui/x-date-pickers'], ['@emotion/react', '@emotion/styled', '@mui/material', '@mui/system', '@mui/material/locale', 'date-fns', 'dayjs', 'luxon', 'moment', 'react', 'react-dom', 'react-is']],
+ ['mui-x-date-pickers-adapter-day-js', '@mui/x-date-pickers', deps['@mui/x-date-pickers'], ['@emotion/react', '@emotion/styled', '@mui/material', '@mui/system', '@mui/material/locale', 'date-fns', 'dayjs', 'luxon', 'moment', 'react', 'react-dom', 'react-is']],
+];
+
+function generateConfigs(mappings) {
+ return mappings.map(([entrypoint, depName, depVersion, externals]) => ({
+ input: `external/${entrypoint}.tsx`,
+ ...baseConfig,
+ output: {
+ format: 'system',
+ file: `./dist/${depName}@${depVersion.replace(/[~^]/g, '')}/umd/${entrypoint}.min.js`,
+ },
+ external: [...externals],
+ }));
+}
+
+export default [
+ {
+ input: 'src/index.ts',
+ plugins: [
+ clear({
+ targets: ['dist'],
+ }),
+ ],
+ },
+ ...generateConfigs(mappings),
+];
diff --git a/judo-ui-react-external-packages/src/main/resources/src/index.ts b/judo-ui-react-external-packages/src/main/resources/src/index.ts
new file mode 100644
index 00000000..ff8b4c56
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/src/index.ts
@@ -0,0 +1 @@
+export default {};
diff --git a/judo-ui-react-external-packages/src/main/resources/tsconfig.json b/judo-ui-react-external-packages/src/main/resources/tsconfig.json
new file mode 100644
index 00000000..eaa56a85
--- /dev/null
+++ b/judo-ui-react-external-packages/src/main/resources/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "JUDO UI Packages",
+ "compilerOptions": {
+ "outDir": "./dist/",
+ "target": "esnext",
+ "module": "esnext",
+ "moduleResolution": "node",
+ "sourceMap": true,
+ "esModuleInterop": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "lib": [ "esnext", "dom" ],
+ "noImplicitAny": true,
+ "strictNullChecks": true,
+ "jsx": "react-jsx"
+ }
+}
\ No newline at end of file
diff --git a/judo-ui-react-itest/ActionGroupTest/.gitignore b/judo-ui-react-itest/ActionGroupTest/.gitignore
new file mode 100644
index 00000000..6c036da5
--- /dev/null
+++ b/judo-ui-react-itest/ActionGroupTest/.gitignore
@@ -0,0 +1,3 @@
+application
+target
+node_modules
diff --git a/judo-ui-react-itest/ActionGroupTest/action_group_test__god/pom.xml b/judo-ui-react-itest/ActionGroupTest/action_group_test__god/pom.xml
new file mode 100644
index 00000000..26de85dc
--- /dev/null
+++ b/judo-ui-react-itest/ActionGroupTest/action_group_test__god/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ actiongrouptest-frontend-react
+ ${revision}
+
+ actiongrouptest-frontend-react-action_group_test__god
+ JUDO UI React Frontend Generator ITest - ActionGroupTest - God
+ ActionGroupTest - God react frontend
+
+ bundle
+
+
+ actiongrouptest__god
+ god
+ God
+ ActionGroupTest::God
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/src/test/resources/ActionGroupTest-ui.model b/judo-ui-react-itest/ActionGroupTest/model/ActionGroupTest-ui.model
similarity index 100%
rename from judo-ui-react-itest/src/test/resources/ActionGroupTest-ui.model
rename to judo-ui-react-itest/ActionGroupTest/model/ActionGroupTest-ui.model
diff --git a/judo-ui-react-itest/ActionGroupTest/pom.xml b/judo-ui-react-itest/ActionGroupTest/pom.xml
new file mode 100644
index 00000000..caed2347
--- /dev/null
+++ b/judo-ui-react-itest/ActionGroupTest/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-itest
+ ${revision}
+
+ actiongrouptest-frontend-react
+ ${revision}
+
+ JUDO UI React Frontend Generator ITest - ActionGroupTest
+
+ pom
+
+
+ ActionGroupTest
+ ${basedir}/generator-overrides
+ ${project.parent.parent.basedir}/.nodejs
+
+
+
+ action_group_test__god
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon1/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon1/pom.xml
new file mode 100644
index 00000000..d052345e
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon1/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ applicationselectiontest-frontend-react-application_selection_test__actor_anon1
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest - ActorAnon1
+ ApplicationSelectionTest - ActorAnon1 react frontend
+
+ bundle
+
+
+ applicationselectiontest__actoranon1
+ actor_anon1
+ ActorAnon1
+ ApplicationSelectionTest::ActorAnon1
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon2/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon2/pom.xml
new file mode 100644
index 00000000..71611aad
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_anon2/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ applicationselectiontest-frontend-react-application_selection_test__actor_anon2
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest - ActorAnon2
+ ApplicationSelectionTest - ActorAnon2 react frontend
+
+ bundle
+
+
+ applicationselectiontest__actoranon2
+ actor_anon2
+ ActorAnon2
+ ApplicationSelectionTest::ActorAnon2
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_other_realm/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_other_realm/pom.xml
new file mode 100644
index 00000000..c3382590
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_other_realm/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ applicationselectiontest-frontend-react-application_selection_test__actor_with_other_realm
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest - ActorWithOtherRealm
+ ApplicationSelectionTest - ActorWithOtherRealm react frontend
+
+ bundle
+
+
+ applicationselectiontest__actorwithotherrealm
+ actor_with_other_realm
+ ActorWithOtherRealm
+ ApplicationSelectionTest::ActorWithOtherRealm
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_realm/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_realm/pom.xml
new file mode 100644
index 00000000..02e5c2ad
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_realm/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ applicationselectiontest-frontend-react-application_selection_test__actor_with_realm
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest - ActorWithRealm
+ ApplicationSelectionTest - ActorWithRealm react frontend
+
+ bundle
+
+
+ applicationselectiontest__actorwithrealm
+ actor_with_realm
+ ActorWithRealm
+ ApplicationSelectionTest::ActorWithRealm
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_same_realm/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_same_realm/pom.xml
new file mode 100644
index 00000000..e398936e
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/application_selection_test__actor_with_same_realm/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ applicationselectiontest-frontend-react-application_selection_test__actor_with_same_realm
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest - ActorWithSameRealm
+ ApplicationSelectionTest - ActorWithSameRealm react frontend
+
+ bundle
+
+
+ applicationselectiontest__actorwithsamerealm
+ actor_with_same_realm
+ ActorWithSameRealm
+ ApplicationSelectionTest::ActorWithSameRealm
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/model/ApplicationSelectionTest-ui.model b/judo-ui-react-itest/ApplicationSelectionTest/model/ApplicationSelectionTest-ui.model
new file mode 100644
index 00000000..7d4f4553
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/model/ApplicationSelectionTest-ui.model
@@ -0,0 +1,1107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/judo-ui-react-itest/ApplicationSelectionTest/pom.xml b/judo-ui-react-itest/ApplicationSelectionTest/pom.xml
new file mode 100644
index 00000000..11bcb07b
--- /dev/null
+++ b/judo-ui-react-itest/ApplicationSelectionTest/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-itest
+ ${revision}
+
+ applicationselectiontest-frontend-react
+ ${revision}
+
+ JUDO UI React Frontend Generator ITest - ApplicationSelectionTest
+
+ pom
+
+
+ ApplicationSelectionTest
+ ${basedir}/generator-overrides
+ ${project.parent.parent.basedir}/.nodejs
+
+
+
+ application_selection_test__actor_anon1
+ application_selection_test__actor_anon2
+ application_selection_test__actor_with_other_realm
+ application_selection_test__actor_with_realm
+ application_selection_test__actor_with_same_realm
+
+
diff --git a/judo-ui-react-itest/FormsTest/forms_test__test__test_actor/pom.xml b/judo-ui-react-itest/FormsTest/forms_test__test__test_actor/pom.xml
new file mode 100644
index 00000000..8a261c6b
--- /dev/null
+++ b/judo-ui-react-itest/FormsTest/forms_test__test__test_actor/pom.xml
@@ -0,0 +1,205 @@
+
+ 4.0.0
+
+
+ hu.blackbelt.judo.generator
+ formstest-frontend-react
+ ${revision}
+
+ formstest-frontend-react-formstest__test__testactor
+ JUDO UI React Frontend Generator ITest - FormsTest - TestActor
+ FormsTest - TestActor react frontend
+
+ bundle
+
+
+ formstest__test__testactor
+ testactor
+ TestActor
+ FormsTest::test::TestActor
+
+ ${project.parent.basedir}/model/${model-name}-ui.model
+
+ ${project.parent.parent.parent.basedir}/.nodejs
+ ${basedir}/target/frontend-react
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ 5.1.8
+ true
+
+
+ /${model-name}/${actor}
+
+ /=${generation-target}/dist
+
+
+
+
+
+
+ hu.blackbelt.judo.meta
+ judo-ui-generator-maven-plugin
+ ${judo-meta-ui-version}
+
+
+ execute-ui-services-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-api:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-service:${judo-ui-typescript-rest-version}
+ mvn:hu.blackbelt.judo.generator:judo-ui-typescript-rest-axios:${judo-ui-typescript-rest-version}
+
+ ui-typescript-rest
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}/src/generated
+
+
+
+ execute-ui-generation
+ generate-sources
+
+ generate
+
+
+
+ mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
+
+ ui-react
+
+ ${actor-fq-name}
+
+ ${ui-model}
+ ${generation-target}
+
+ ${model-name}
+ ${appScope}
+ ${appVersion}
+
+ 10
+
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-api
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-service
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-axios
+ ${judo-ui-typescript-rest-version}
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react
+ ${revision}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ external-packages
+ generate-sources
+
+ unpack
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+ jar
+ true
+
+
+ externals/**
+ ${generation-target}
+
+
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-external-packages
+ ${revision}
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ pnpm install
+
+ pnpm
+
+ generate-sources
+
+ install
+
+
+
+
+ format code
+
+ pnpm
+
+ generate-sources
+
+ run format
+
+
+
+
+ build
+
+ pnpm
+
+ generate-sources
+
+ run build:ci
+
+
+
+
+ ${node-install-dir}
+ ${generation-target}
+
+
+
+
+
diff --git a/judo-ui-react-itest/FormsTest/model/FormsTest-ui.model b/judo-ui-react-itest/FormsTest/model/FormsTest-ui.model
new file mode 100644
index 00000000..3352a247
--- /dev/null
+++ b/judo-ui-react-itest/FormsTest/model/FormsTest-ui.model
@@ -0,0 +1,1758 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+ test
+
+
+
+
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+ LIST
+ CREATE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+ LIST
+ CREATE
+ SET
+ UNSET
+ RANGE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+ LIST
+ CREATE
+ SET
+ ADD
+ REMOVE
+ RANGE
+ VALIDATE_CREATE
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+
+
+
+
+
+
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+ test
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+ test
+
+
+
+
+ REFRESH
+ UPDATE
+ VALIDATE_UPDATE
+ DELETE
+ TEMPLATE
+ test
+
+
+
+
+ TEMPLATE
+ test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/judo-ui-react-itest/FormsTest/pom.xml b/judo-ui-react-itest/FormsTest/pom.xml
new file mode 100644
index 00000000..145444c7
--- /dev/null
+++ b/judo-ui-react-itest/FormsTest/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ hu.blackbelt.judo.generator
+ judo-ui-react-itest
+ ${revision}
+
+ formstest-frontend-react
+ ${revision}
+
+ JUDO UI React Frontend Generator ITest - FormsTest
+
+ pom
+
+
+ FormsTest
+ ${basedir}/generator-overrides
+ ${project.parent.parent.basedir}/.nodejs
+
+
+
+ forms_test__test__test_actor
+
+
diff --git a/judo-ui-react-itest/pom.xml b/judo-ui-react-itest/pom.xml
index 4f85eb46..38e70fa6 100644
--- a/judo-ui-react-itest/pom.xml
+++ b/judo-ui-react-itest/pom.xml
@@ -10,125 +10,58 @@
judo-ui-react-itest
- jar
+ pom
- JUDO UI React Frontend Generator API ITest
+ JUDO UI React Frontend Generator ITest
11
11
- ${project.version}
-
-
-
-
-
- hu.blackbelt.judo.meta
- judo-ui-generator-maven-plugin
- ${judo-meta-ui-version}
-
+ ${project.parent.basedir}/.nodejs
-
- execute-ui-test-model-from-file
- generate-test-resources
-
- generate
-
+ @blackbelt
+ 1.0.0
+ 10
+
+
+ ActionGroupTest
+ ApplicationSelectionTest
+ FormsTest
+
+
+
+
+ prepare-nodejs
+
+
+ !skipPrepareNodeJS
+
+
+
+
+
+ com.github.eirslett
+ frontend-maven-plugin
+ ${frontend-maven-plugin-version}
+
+
+ install node and pnpm
+
+ install-node-and-pnpm
+
+ generate-resources
+
+
-
- mvn:hu.blackbelt.judo.generator:judo-ui-react:${revision}
-
- ui-react
- ${basedir}/src/test/resources/ActionGroupTest-ui.model
- ${basedir}/target/test-classes/ui/file
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- -custom
-
-
+ v${node-version}
+ ${pnpm-version}
+ ${node-install-dir}
-
-
-
-
-
-
-
- org.eclipse.m2e
- lifecycle-mapping
- 1.0.0
-
-
-
-
-
-
- hu.blackbelt.judo.generator
-
-
- judo-ui-generator-maven-plugin
-
-
- [1.0.0-SNAPSHOT,)
-
-
- generate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- com.jcabi
- jcabi-log
- 0.19.0
-
-
-
-
- com.github.jknack
- handlebars
- 4.1.2
-
-
-
- org.springframework
- spring-expression
- 5.0.0.RELEASE
-
-
-
- hu.blackbelt.judo.meta
- hu.blackbelt.judo.meta.ui.model
- ${judo-meta-ui-version}
-
-
-
- hu.blackbelt.judo.generator
- judo-generator-commons
- ${judo-generator-commons-version}
-
-
-
- hu.blackbelt.judo.generator
- judo-ui-react
-
-
-
-
+
+
+
+
+
diff --git a/judo-ui-react/pom.xml b/judo-ui-react/pom.xml
index 3beab3fd..6e134266 100644
--- a/judo-ui-react/pom.xml
+++ b/judo-ui-react/pom.xml
@@ -11,7 +11,66 @@
judo-ui-react
bundle
- JUDO UI React Frontend Generator API
+ JUDO UI React Frontend Generator
JUDO UI React Frontend Generator API, helpers and templates
+
+
+ org.projectlombok
+ lombok
+ ${lombok-version}
+ provided
+
+
+
+ org.springframework
+ spring-expression
+ ${spring-expression-version}
+
+
+
+ org.eclipse.emf
+ ecore-xmi
+ ${ecore-xmi-version}
+
+
+
+ hu.blackbelt.judo.meta
+ hu.blackbelt.judo.meta.ui.model
+ ${judo-meta-ui-version}
+
+
+
+ hu.blackbelt.judo.generator
+ judo-generator-commons
+ ${judo-generator-commons-version}
+
+
+
+ hu.blackbelt.judo.generator
+ judo-ui-typescript-rest-commons
+ ${judo-ui-typescript-rest-version}
+
+
+
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+ true
+ 5.1.2
+
+ NONE
+
+
+ target/classes,
+ {maven-resources}
+
+ hu.blackbelt.judo.ui.generator.react
+
+
+
+
+
diff --git a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiGeneralHelper.java b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiGeneralHelper.java
index b639346f..9cfead5a 100644
--- a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiGeneralHelper.java
+++ b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiGeneralHelper.java
@@ -94,20 +94,6 @@ public static String safeSort(Sort input) {
return input.equals(Sort.NONE) ? Sort.ASC.toString().toLowerCase() : input.toString().toLowerCase();
}
- public static String getXMIID(EObject element) {
- return ((XMIResource) element.eResource()).getID(element);
- }
-
- public static String restParamName(DataType dataType) {
- String[] tokens = dataType.getName().split("::");
- String last = tokens[tokens.length - 1];
- return stream(last.split("\\.")).map(StringUtils::capitalize).collect(Collectors.joining(""));
- }
-
- public static String firstToUpper(String input) {
- return StringUtils.capitalize(input);
- }
-
public static boolean boolValue(Boolean original) {
return original != null && original;
}
diff --git a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiI18NHelper.java b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiI18NHelper.java
index 693973a3..bb6e6d60 100644
--- a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiI18NHelper.java
+++ b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiI18NHelper.java
@@ -16,8 +16,8 @@
import static hu.blackbelt.judo.ui.generator.react.UiActionsHelper.*;
import static hu.blackbelt.judo.ui.generator.react.UiGeneralHelper.modelName;
-import static hu.blackbelt.judo.ui.generator.react.UiGeneralHelper.restParamName;
import static hu.blackbelt.judo.ui.generator.react.UiPageHelper.*;
+import static hu.blackbelt.judo.ui.generator.typescript.rest.commons.UiCommonsHelper.restParamName;
import static java.util.Arrays.stream;
@Log
diff --git a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiPageHelper.java b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiPageHelper.java
index e0e93a4b..3d0689e5 100644
--- a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiPageHelper.java
+++ b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiPageHelper.java
@@ -4,6 +4,7 @@
import hu.blackbelt.judo.generator.commons.annotations.TemplateHelper;
import hu.blackbelt.judo.meta.ui.*;
import hu.blackbelt.judo.meta.ui.data.*;
+import hu.blackbelt.judo.ui.generator.typescript.rest.commons.UiCommonsHelper;
import lombok.extern.java.Log;
import java.util.*;
@@ -11,6 +12,8 @@
import java.util.stream.Collectors;
import static hu.blackbelt.judo.ui.generator.react.UiGeneralHelper.hasDataElementOwner;
+import static hu.blackbelt.judo.ui.generator.typescript.rest.commons.UiCommonsHelper.classDataName;
+import static hu.blackbelt.judo.ui.generator.typescript.rest.commons.UiCommonsHelper.restParamName;
import static java.util.Arrays.stream;
@@ -169,7 +172,7 @@ public static Collection getUniquePageActions(PageDefinition page) {
Collection actions = new ArrayList<>(page.getActions());
return actions.stream()
.filter(a -> !a.getIsBackAction())
- .collect(Collectors.toMap(UiGeneralHelper::getXMIID, p -> p, (p, q) -> p)).values();
+ .collect(Collectors.toMap(UiCommonsHelper::getXMIID, p -> p, (p, q) -> p)).values();
}
public static String getNavigationForPage(PageDefinition page, String signedId) {
@@ -185,13 +188,6 @@ public static String relativePathFromPage(PageDefinition page, String suffix) {
return "../".repeat(tokens + 1) + suffix;
}
- public static String classDataName(ClassType classType, String suffix) {
- String className = classType.getName();
- String base = nameWithoutModel(className);
-
- return base += suffix;
- }
-
public static Boolean hasVisualReferences(PageDefinition pageDefinition) {
return hasPageLinks(pageDefinition) || hasPageTables(pageDefinition);
}
@@ -322,7 +318,7 @@ public static Collection getApiImportsForViewPage(PageDefinition pageDef
}
getEnumAttributesForPage(pageDefinition).forEach(a -> {
- res.add(UiGeneralHelper.restParamName(a.getDataType()));
+ res.add(restParamName(a.getDataType()));
});
addReferenceTypesToCollection(pageDefinition, res);
@@ -340,7 +336,7 @@ public static Collection getApiImportsForCreatePage(PageDefinition pageD
addReferenceTypesToCollection(pageDefinition, res);
getEnumAttributesForPage(pageDefinition).forEach(a -> {
- res.add(UiGeneralHelper.restParamName(a.getDataType()));
+ res.add(restParamName(a.getDataType()));
});
return res;
diff --git a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiServiceHelper.java b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiServiceHelper.java
index 5c92e6ee..fe1cd33b 100644
--- a/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiServiceHelper.java
+++ b/judo-ui-react/src/main/java/hu/blackbelt/judo/ui/generator/react/UiServiceHelper.java
@@ -12,7 +12,7 @@
@Log
@TemplateHelper
public class UiServiceHelper extends Helper {
- public static String serviceRelationName(DataElement dataElement) {
+ public static String dataElementRelationName(DataElement dataElement) {
if (dataElement instanceof RelationType) {
RelationType relation = (RelationType) dataElement;
@@ -30,7 +30,7 @@ public static String serviceRelationName(DataElement dataElement) {
return classServiceName(operationParameterType.getTarget());
}
- throw new RuntimeException("Unable to process DataElement for serviceRelationName: " + dataElement.getName());
+ throw new RuntimeException("Unable to process DataElement for dataElementRelationName: " + dataElement.getName());
}
public static String classServiceName(ClassType classType) {
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/access/create.hbs b/judo-ui-react/src/main/resources/actor/src/pages/access/create.hbs
index 5dd539d8..387ce58a 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/access/create.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/access/create.hbs
@@ -34,7 +34,7 @@ import {
{{/ each }}
} from '{{ relativePathFromPage page 'generated/data-api' }}';
import {
- {{ serviceRelationName page.dataElement }}Impl,
+ {{ dataElementRelationName page.dataElement }}Impl,
{{ classServiceName page.dataElement.target }}Impl,
} from '{{ relativePathFromPage page 'generated/data-axios'}}';
import { mainContainerPadding } from '{{ relativePathFromPage page 'theme' }}';
@@ -102,7 +102,7 @@ export default function {{ pageName page }}() {
setIsLoading(true);
try {
- const res = await {{ serviceRelationName page.dataElement }}Impl.create{{ ucFirst page.dataElement.name }}(data);
+ const res = await {{ dataElementRelationName page.dataElement }}Impl.create{{ ucFirst page.dataElement.name }}(data);
if (res) {
back();
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/access/table.hbs b/judo-ui-react/src/main/resources/actor/src/pages/access/table.hbs
index 2c0ba140..98455c45 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/access/table.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/access/table.hbs
@@ -35,7 +35,7 @@ import {
{{/ each }}
} from '{{ relativePathFromPage page 'generated/data-api' }}';
import {
- {{ serviceRelationName page.dataElement }}Impl,
+ {{ dataElementRelationName page.dataElement }}Impl,
} from '{{ relativePathFromPage page 'generated/data-axios'}}';
import { mainContainerPadding } from '{{ relativePathFromPage page 'theme' }}';
import {
@@ -134,7 +134,7 @@ export default function {{ pageName page }}() {
setIsLoading(true);
try {
- const res = await {{ serviceRelationName page.dataElement }}Impl.list{{ ucFirst page.dataElement.name }}(processQueryCustomizer(queryCustomizer));
+ const res = await {{ dataElementRelationName page.dataElement }}Impl.list{{ ucFirst page.dataElement.name }}(processQueryCustomizer(queryCustomizer));
if (res.length > {{ calculateTablePageLimit tablePageLimit }}) {
setIsNextButtonEnabled(true);
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/access/view.hbs b/judo-ui-react/src/main/resources/actor/src/pages/access/view.hbs
index fd481210..8d29fd1f 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/access/view.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/access/view.hbs
@@ -36,7 +36,7 @@ import {
{{/ each }}
} from '{{ relativePathFromPage page 'generated/data-api' }}';
import {
- {{ serviceRelationName page.dataElement }}Impl,
+ {{ dataElementRelationName page.dataElement }}Impl,
{{ classServiceName page.dataElement.target }}Impl,
} from '{{ relativePathFromPage page 'generated/data-axios'}}';
import { JudoIdentifiable } from '@judo/data-api-common';
@@ -136,7 +136,7 @@ export default function {{ pageName page }}() {
setIsLoading(true);
try {
- const res = await {{ serviceRelationName page.dataElement }}Impl.get{{ ucFirst page.dataElement.name }}('{}');
+ const res = await {{ dataElementRelationName page.dataElement }}Impl.get{{ ucFirst page.dataElement.name }}('{}');
setIsLoading(false);
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/actions/action/create-action.tsx.hbs b/judo-ui-react/src/main/resources/actor/src/pages/actions/action/create-action.tsx.hbs
index cba6deca..3f5b7ab7 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/actions/action/create-action.tsx.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/actions/action/create-action.tsx.hbs
@@ -21,7 +21,7 @@ import {
{{/ each }}
} from '{{ relativePathFromAction page action 'generated/data-api' }}';
import {
- {{ serviceRelationName action.target.dataElement }}Impl,
+ {{ dataElementRelationName action.target.dataElement }}Impl,
{{ classServiceName action.target.dataElement.target }}Impl,
} from '{{ relativePathFromAction page action 'generated/data-axios'}}';
import { {{ pageActionFormComponentName action page }} } from './{{ pageActionFormComponentName action page }}';
@@ -55,7 +55,7 @@ export const {{ actionFunctionHookName action page }}: {{ actionFunctionTypeName
{{ else }}
(async () => {
try {
- const res = await {{ serviceRelationName action.target.dataElement }}Impl.create{{ ucFirst action.target.dataElement.name }}({{# if (hasDataElementOwner action.dataElement) }}owner, {{/ if }} {});
+ const res = await {{ dataElementRelationName action.target.dataElement }}Impl.create{{ ucFirst action.target.dataElement.name }}({{# if (hasDataElementOwner action.dataElement) }}owner, {{/ if }} {});
if (res) {
successCallback(res);
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/actions/action/row/row-delete-action.tsx.hbs b/judo-ui-react/src/main/resources/actor/src/pages/actions/action/row/row-delete-action.tsx.hbs
index 46ae8cbe..14e22747 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/actions/action/row/row-delete-action.tsx.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/actions/action/row/row-delete-action.tsx.hbs
@@ -9,8 +9,8 @@ import {
{{/ each }}
} from '{{ relativePathFromAction page action 'generated/data-api' }}';
import {
- {{ serviceRelationName action.dataElement }}Impl,
- {{# neq (serviceRelationName action.dataElement) (classServiceName action.dataElement.target) }}
+ {{ dataElementRelationName action.dataElement }}Impl,
+ {{# neq (dataElementRelationName action.dataElement) (classServiceName action.dataElement.target) }}
{{ classServiceName action.dataElement.target }}Impl,
{{/ neq }}
} from '{{ relativePathFromAction page action 'generated/data-axios'}}';
@@ -23,7 +23,7 @@ export const {{ actionFunctionHookName action page }}: {{ actionFunctionTypeName
return async function {{ actionFunctionName action page }} ({{# if (hasDataElementOwner action.dataElement) }}owner: JudoIdentifiable<{{ classDataName action.dataElement.owner '' }}>, {{/ if }}selected: {{ classDataName action.dataElement.target 'Stored' }}, successCallback: () => void) {
try {
{{# if (hasDataElementOwner action.dataElement) }}
- await {{ serviceRelationName action.dataElement }}Impl.delete{{ ucFirst action.dataElement.name }}(owner, selected);
+ await {{ dataElementRelationName action.dataElement }}Impl.delete{{ ucFirst action.dataElement.name }}(owner, selected);
{{ else }}
await {{ classServiceName action.dataElement.target }}Impl.delete(selected);
{{/ if }}
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/actions/actionForm/createActionForm.tsx.hbs b/judo-ui-react/src/main/resources/actor/src/pages/actions/actionForm/createActionForm.tsx.hbs
index ba7439bf..6950fdeb 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/actions/actionForm/createActionForm.tsx.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/actions/actionForm/createActionForm.tsx.hbs
@@ -44,7 +44,7 @@ import {
{{/ each }}
} from '{{ relativePathFromAction ownerPage action 'generated/data-api' }}';
import {
- {{ serviceRelationName action.target.dataElement }}Impl,
+ {{ dataElementRelationName action.target.dataElement }}Impl,
{{ classServiceName action.target.dataElement.target }}Impl,
} from '{{ relativePathFromAction ownerPage action 'generated/data-axios'}}';
import { errorHandling, fileHandling, processQueryCustomizer, TableRowAction, uiDateToServiceDate, stringToBooleanSelect, booleanToStringSelect } from '{{ relativePathFromAction ownerPage action 'utilities' }}';
@@ -129,7 +129,7 @@ import { baseTableConfig, baseColumnConfig, toastConfig, dividerHeight } from '{
setIsLoading(true);
try {
- const res = await {{ serviceRelationName page.dataElement }}Impl.create{{ ucFirst page.dataElement.name }}({{# if (hasDataElementOwner action.dataElement) }}owner, {{/ if }}data);
+ const res = await {{ dataElementRelationName page.dataElement }}Impl.create{{ ucFirst page.dataElement.name }}({{# if (hasDataElementOwner action.dataElement) }}owner, {{/ if }}data);
if (res) {
successCallback(res);
diff --git a/judo-ui-react/src/main/resources/actor/src/pages/relation/table.hbs b/judo-ui-react/src/main/resources/actor/src/pages/relation/table.hbs
index 4c4efd0d..dcfb2c13 100644
--- a/judo-ui-react/src/main/resources/actor/src/pages/relation/table.hbs
+++ b/judo-ui-react/src/main/resources/actor/src/pages/relation/table.hbs
@@ -36,7 +36,7 @@ import {
{{/ each }}
} from '{{ relativePathFromPage page 'generated/data-api' }}';
import {
- {{ serviceRelationName page.dataElement }}Impl,
+ {{ dataElementRelationName page.dataElement }}Impl,
} from '{{ relativePathFromPage page 'generated/data-axios'}}';
import { mainContainerPadding } from '{{ relativePathFromPage page 'theme' }}';
import {
@@ -135,7 +135,7 @@ export default function {{ pageName page }}() {
setIsLoading(true);
try {
- const res = await {{ serviceRelationName page.dataElement }}Impl.list{{ ucFirst page.dataElement.name }}(
+ const res = await {{ dataElementRelationName page.dataElement }}Impl.list{{ ucFirst page.dataElement.name }}(
{ __signedIdentifier: signedIdentifier } as JudoIdentifiable<{{ classDataName page.dataElement.target '' }}>,
processQueryCustomizer(queryCustomizer),
);
diff --git a/pom.xml b/pom.xml
index 95292bf5..98ff05ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
${revision}
pom
- JUDO UI React Frontend Generator
+ JUDO UI React Frontend Generator Parent
JUDO UI React Frontend Generator helpers and templates
@@ -15,7 +15,15 @@
robert.csakany@blackbelt.hu
https://github.com/robertcsakany
BlackBelt Technology
- http://www.blackbelt.hu
+ https://www.blackbelt.hu
+
+
+ noherczeg
+ Norbert Herczeg
+ norbert.herczeg@blackbelt.hu
+ https://github.com/noherczeg
+ BlackBelt Technology
+ https://www.blackbelt.hu
@@ -39,13 +47,25 @@
1.7.36
log4j.properties
3.0.0-M5
+ 2.2.3
+ 5.0.0.RELEASE
+ 1.18.22
+ 1.12.1
+
+ 18.14.2
+ 7.27.1
1.0.1.20230213_193724_b9e98a1c_develop
1.0.0.20230120_203628_b0fbaa8e_develop
-
+ 1.0.0.20230227_135344_7ab7117b_develop
- http://github.com/${project-repositoryId}
+
+ judo-ui-react
+ judo-ui-react-itest
+
+
+ https://github.com/${project-repositoryId}
https://github.com/${project-repositoryId}/issues
@@ -60,73 +80,6 @@
http://github.com/${project-repositoryId}
-
-
-
- hu.blackbelt.judo.meta
- hu.blackbelt.judo.meta.ui.model
- ${judo-meta-ui-version}
-
-
-
- hu.blackbelt.judo.generator
- judo-generator-commons
- ${judo-generator-commons-version}
-
-
-
- com.github.jknack
- handlebars
- 4.1.2
-
-
-
- org.springframework
- spring-expression
- 5.0.0.RELEASE
-
-
-
- org.projectlombok
- lombok
- 1.18.22
- provided
-
-
-
- org.slf4j
- jul-to-slf4j
- ${slf4j-version}
- provided
-
-
- ch.qos.logback
- logback-classic
- 1.2.11
-
-
-
- com.google.guava
- guava
- 27.1-jre
-
-
-
- org.eclipse.emf
- ecore-xmi
- 2.2.3
-
-
-
-
-
-
- hu.blackbelt.judo.generator
- judo-ui-react
- ${project.version}
-
-
-
@@ -135,17 +88,11 @@
maven-compiler-plugin
3.10.1
-
- 11
+
+ ${maven.compiler.target}
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.1.0
-
-
org.apache.maven.plugins
maven-install-plugin
@@ -158,19 +105,12 @@
2.8.2
-
org.codehaus.mojo
build-helper-maven-plugin
3.0.0
-
- hu.blackbelt.judo.meta
- judo-ui-generator-maven-plugin
- ${judo-meta-ui-version}
-
-
org.eclipse.m2e
@@ -202,23 +142,8 @@
-
-
- org.apache.felix
- maven-bundle-plugin
- true
- 5.1.2
-
- NONE
-
-
- target/classes
-
- hu.blackbelt.judo.ui.typescript.rest
-
-
-
+
org.codehaus.mojo
flatten-maven-plugin
@@ -235,6 +160,7 @@
flatten
+
flatten.clean
clean
@@ -249,16 +175,15 @@
- modules
+ external-packages
- skipModules
+ skipExternalPackages
!true
- judo-ui-react
- judo-ui-react-itest
+ judo-ui-react-external-packages