mirror of
https://github.com/lowdefy/lowdefy.git
synced 2025-04-06 15:30:30 +08:00
feat(client): Init @lowdefy/client.
This commit is contained in:
parent
84a37c97b9
commit
bb7931d0da
136
.pnp.cjs
generated
136
.pnp.cjs
generated
@ -34,6 +34,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"name": "lowdefy",
|
||||
"reference": "workspace:packages/cli"
|
||||
},
|
||||
{
|
||||
"name": "@lowdefy/client",
|
||||
"reference": "workspace:packages/client"
|
||||
},
|
||||
{
|
||||
"name": "@lowdefy/docs",
|
||||
"reference": "workspace:packages/docs"
|
||||
@ -194,6 +198,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@lowdefy/blocks-loaders", ["workspace:packages/plugins/blocks/blocks-loaders"]],
|
||||
["@lowdefy/blocks-markdown", ["workspace:packages/plugins/blocks/blocks-markdown"]],
|
||||
["@lowdefy/build", ["workspace:packages/build"]],
|
||||
["@lowdefy/client", ["workspace:packages/client"]],
|
||||
["@lowdefy/connection-axios-http", ["workspace:packages/plugins/connections/connection-axios-http"]],
|
||||
["@lowdefy/connection-elasticsearch", ["workspace:packages/plugins/connections/connection-elasticsearch"]],
|
||||
["@lowdefy/connection-google-sheets", ["workspace:packages/plugins/connections/connection-google-sheets"]],
|
||||
@ -263,17 +268,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:4.7.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@ant-design-icons-virtual-168cfd14dd/0/cache/@ant-design-icons-npm-4.7.0-8ad06c46c5-4264d38e6b.zip/node_modules/@ant-design/icons/",
|
||||
["virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.7.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@ant-design-icons-virtual-7e3863ece0/0/cache/@ant-design-icons-npm-4.7.0-8ad06c46c5-4264d38e6b.zip/node_modules/@ant-design/icons/",
|
||||
"packageDependencies": [
|
||||
["@ant-design/icons", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:4.7.0"],
|
||||
["@ant-design/icons", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.7.0"],
|
||||
["@ant-design/colors", "npm:6.0.0"],
|
||||
["@ant-design/icons-svg", "npm:4.2.1"],
|
||||
["@babel/runtime", "npm:7.16.7"],
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -2825,7 +2830,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageLocation": "./packages/utils/block-utils/",
|
||||
"packageDependencies": [
|
||||
["@lowdefy/block-utils", "workspace:packages/utils/block-utils"],
|
||||
["@ant-design/icons", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:4.7.0"],
|
||||
["@emotion/css", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:11.7.1"],
|
||||
["@emotion/jest", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:11.7.1"],
|
||||
["@lowdefy/helpers", "workspace:packages/utils/helpers"],
|
||||
@ -2835,7 +2839,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@testing-library/dom", "npm:8.11.3"],
|
||||
["@testing-library/react", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:13.0.0-alpha.4"],
|
||||
["@testing-library/user-event", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:14.0.0-alpha.14"],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["copyfiles", "npm:2.4.1"],
|
||||
["dompurify", "npm:2.3.5"],
|
||||
["jest", "virtual:babee6e81435a5d101529cd67f2c6b175f4db37a4ab0b58df15adf73dd11be8917ac14caf44ab4e6882a92c61661055072365b349016e85173e049f006fc2305#npm:27.5.1"],
|
||||
@ -2851,7 +2854,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageLocation": "./packages/plugins/blocks/blocks-antd/",
|
||||
"packageDependencies": [
|
||||
["@lowdefy/blocks-antd", "workspace:packages/plugins/blocks/blocks-antd"],
|
||||
["@ant-design/icons", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:4.7.0"],
|
||||
["@ant-design/icons", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.7.0"],
|
||||
["@emotion/jest", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:11.7.1"],
|
||||
["@lowdefy/block-dev", "workspace:packages/utils/block-dev"],
|
||||
["@lowdefy/block-utils", "workspace:packages/utils/block-utils"],
|
||||
@ -3058,6 +3061,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"linkType": "SOFT",
|
||||
}]
|
||||
]],
|
||||
["@lowdefy/client", [
|
||||
["workspace:packages/client", {
|
||||
"packageLocation": "./packages/client/",
|
||||
"packageDependencies": [
|
||||
["@lowdefy/client", "workspace:packages/client"],
|
||||
["@ant-design/icons", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.7.0"],
|
||||
["@emotion/jest", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:11.7.1"],
|
||||
["@lowdefy/block-utils", "workspace:packages/utils/block-utils"],
|
||||
["@lowdefy/engine", "workspace:packages/engine"],
|
||||
["@lowdefy/helpers", "workspace:packages/utils/helpers"],
|
||||
["@lowdefy/layout", "workspace:packages/layout"],
|
||||
["@swc/cli", "virtual:babee6e81435a5d101529cd67f2c6b175f4db37a4ab0b58df15adf73dd11be8917ac14caf44ab4e6882a92c61661055072365b349016e85173e049f006fc2305#npm:0.1.55"],
|
||||
["@swc/core", "npm:1.2.135"],
|
||||
["@swc/jest", "virtual:babee6e81435a5d101529cd67f2c6b175f4db37a4ab0b58df15adf73dd11be8917ac14caf44ab4e6882a92c61661055072365b349016e85173e049f006fc2305#npm:0.2.17"],
|
||||
["@testing-library/dom", "npm:8.11.3"],
|
||||
["@testing-library/react", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:13.0.0-alpha.4"],
|
||||
["@testing-library/user-event", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:14.0.0-alpha.14"],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["copyfiles", "npm:2.4.1"],
|
||||
["jest", "virtual:babee6e81435a5d101529cd67f2c6b175f4db37a4ab0b58df15adf73dd11be8917ac14caf44ab4e6882a92c61661055072365b349016e85173e049f006fc2305#npm:27.5.1"],
|
||||
["jest-serializer-html", "npm:7.1.0"],
|
||||
["jest-transform-yaml", "npm:1.0.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}]
|
||||
]],
|
||||
["@lowdefy/connection-axios-http", [
|
||||
["workspace:packages/plugins/connections/connection-axios-http", {
|
||||
"packageLocation": "./packages/plugins/connections/connection-axios-http/",
|
||||
@ -3493,16 +3524,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@lowdefy/server", "workspace:packages/server"],
|
||||
["@lowdefy/actions-core", "workspace:packages/plugins/actions/actions-core"],
|
||||
["@lowdefy/api", "workspace:packages/api"],
|
||||
["@lowdefy/block-utils", "workspace:packages/utils/block-utils"],
|
||||
["@lowdefy/blocks-antd", "workspace:packages/plugins/blocks/blocks-antd"],
|
||||
["@lowdefy/blocks-basic", "workspace:packages/plugins/blocks/blocks-basic"],
|
||||
["@lowdefy/blocks-color-selectors", "workspace:packages/plugins/blocks/blocks-color-selectors"],
|
||||
["@lowdefy/blocks-echarts", "workspace:packages/plugins/blocks/blocks-echarts"],
|
||||
["@lowdefy/blocks-loaders", "workspace:packages/plugins/blocks/blocks-loaders"],
|
||||
["@lowdefy/blocks-markdown", "workspace:packages/plugins/blocks/blocks-markdown"],
|
||||
["@lowdefy/build", "workspace:packages/build"],
|
||||
["@lowdefy/engine", "workspace:packages/engine"],
|
||||
["@lowdefy/client", "workspace:packages/client"],
|
||||
["@lowdefy/connection-axios-http", "workspace:packages/plugins/connections/connection-axios-http"],
|
||||
["@lowdefy/connection-mongodb", "workspace:packages/plugins/connections/connection-mongodb"],
|
||||
["@lowdefy/docs", "workspace:packages/docs"],
|
||||
["@lowdefy/helpers", "workspace:packages/utils/helpers"],
|
||||
["@lowdefy/layout", "workspace:packages/layout"],
|
||||
["@lowdefy/node-utils", "workspace:packages/utils/node-utils"],
|
||||
["@lowdefy/operators-js", "workspace:packages/plugins/operators/operators-js"],
|
||||
["@lowdefy/operators-mql", "workspace:packages/plugins/operators/operators-mql"],
|
||||
["@lowdefy/operators-nunjucks", "workspace:packages/plugins/operators/operators-nunjucks"],
|
||||
["@lowdefy/operators-yaml", "workspace:packages/plugins/operators/operators-yaml"],
|
||||
["@next/eslint-plugin-next", "npm:12.0.10"],
|
||||
["less", "npm:4.1.2"],
|
||||
["less-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:10.2.0"],
|
||||
@ -3524,8 +3563,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageLocation": "./packages/server-dev/",
|
||||
"packageDependencies": [
|
||||
["@lowdefy/server-dev", "workspace:packages/server-dev"],
|
||||
["@lowdefy/actions-core", "workspace:packages/plugins/actions/actions-core"],
|
||||
["@lowdefy/api", "workspace:packages/api"],
|
||||
["@lowdefy/block-utils", "workspace:packages/utils/block-utils"],
|
||||
["@lowdefy/blocks-antd", "workspace:packages/plugins/blocks/blocks-antd"],
|
||||
["@lowdefy/blocks-basic", "workspace:packages/plugins/blocks/blocks-basic"],
|
||||
["@lowdefy/blocks-color-selectors", "workspace:packages/plugins/blocks/blocks-color-selectors"],
|
||||
@ -3533,6 +3572,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@lowdefy/blocks-loaders", "workspace:packages/plugins/blocks/blocks-loaders"],
|
||||
["@lowdefy/blocks-markdown", "workspace:packages/plugins/blocks/blocks-markdown"],
|
||||
["@lowdefy/build", "workspace:packages/build"],
|
||||
["@lowdefy/client", "workspace:packages/client"],
|
||||
["@lowdefy/connection-axios-http", "workspace:packages/plugins/connections/connection-axios-http"],
|
||||
["@lowdefy/engine", "workspace:packages/engine"],
|
||||
["@lowdefy/helpers", "workspace:packages/utils/helpers"],
|
||||
@ -5319,7 +5359,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageDependencies": [
|
||||
["antd", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.18.2"],
|
||||
["@ant-design/colors", "npm:6.0.0"],
|
||||
["@ant-design/icons", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:4.7.0"],
|
||||
["@ant-design/icons", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:4.7.0"],
|
||||
["@ant-design/react-slick", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:0.28.4"],
|
||||
["@babel/runtime", "npm:7.16.7"],
|
||||
["@ctrl/tinycolor", "npm:3.4.0"],
|
||||
@ -5361,7 +5401,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-tree-select", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.0.0-alpha.4"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-upload", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:4.3.3"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["scroll-into-view-if-needed", "npm:2.2.29"]
|
||||
@ -15138,7 +15178,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["classnames", "npm:2.3.1"],
|
||||
["dom-align", "npm:1.12.2"],
|
||||
["lodash", "npm:4.17.21"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["resize-observer-polyfill", "npm:1.5.1"]
|
||||
@ -15171,7 +15211,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-select", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:14.0.0-alpha.26"],
|
||||
["rc-tree", "virtual:5cbeddbd8d40fd27744ac5bdca3d9c78264e0215780f1acaec203007d4b8b9a2b8d7ca06c3ba60bc09f45c2b2a6810a13a3fc52fd1d0d749ad27d151bb04a198#npm:5.4.3"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15229,7 +15269,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15260,7 +15300,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15289,7 +15329,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15326,7 +15366,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15347,7 +15387,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15376,7 +15416,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["async-validator", "npm:4.0.7"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15406,7 +15446,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-dialog", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:8.6.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15435,7 +15475,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15467,7 +15507,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-menu", "virtual:9b08d0103ed0c41ecbb29b80c7f0952f56690458541bdc3b40a8f6e2141ab5571d8e667fc0cbc7e816e99c60fd695931aea6d23c3e10f2a63ed283fcb22856fc#npm:9.3.2"],
|
||||
["rc-textarea", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:0.3.7"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15506,7 +15546,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-overflow", "virtual:f3201355e275fc367612b99835082bfe45b71743479bb8e7dc6b1a0e6ec3b97ac5d71b86ce2047f12fdd63e0e5db39a42431dac4589da3fdb850f063190fb24a#npm:1.2.2"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15530,7 +15570,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-overflow", "virtual:f3201355e275fc367612b99835082bfe45b71743479bb8e7dc6b1a0e6ec3b97ac5d71b86ce2047f12fdd63e0e5db39a42431dac4589da3fdb850f063190fb24a#npm:1.2.2"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15560,7 +15600,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15590,7 +15630,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15620,7 +15660,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-resize-observer", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:1.2.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15681,7 +15721,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["dayjs", "npm:1.10.7"],
|
||||
["moment", "npm:2.29.1"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15711,7 +15751,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15740,7 +15780,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15769,7 +15809,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["resize-observer-polyfill", "npm:1.5.1"]
|
||||
@ -15802,7 +15842,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-overflow", "virtual:f3201355e275fc367612b99835082bfe45b71743479bb8e7dc6b1a0e6ec3b97ac5d71b86ce2047f12fdd63e0e5db39a42431dac4589da3fdb850f063190fb24a#npm:1.2.2"],
|
||||
["rc-trigger", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.2.10"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["rc-virtual-list", "virtual:d0ef4ef4df8c18d930d669f36c367285d6797d2976508bea42f22f1b9ec914504bc240ade5dc2e1948c03a2acd136deb6f35e8e33b5236018dd4348224dd538a#npm:3.4.2"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
@ -15833,7 +15873,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-tooltip", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.1.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15863,7 +15903,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15892,7 +15932,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15922,7 +15962,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-resize-observer", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:1.2.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -15955,7 +15995,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["rc-dropdown", "virtual:6177bf62ab342574edbf06853562f14ff0b0d4374742901464f5854325cb786053de94a4bdd4f1901a8f06b14b9e1cd8aa9d26d5858f1f39508db3264a529fcb#npm:3.3.0"],
|
||||
["rc-menu", "virtual:9b08d0103ed0c41ecbb29b80c7f0952f56690458541bdc3b40a8f6e2141ab5571d8e667fc0cbc7e816e99c60fd695931aea6d23c3e10f2a63ed283fcb22856fc#npm:9.3.2"],
|
||||
["rc-resize-observer", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:1.2.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -15985,7 +16025,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-resize-observer", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:1.2.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"],
|
||||
["shallowequal", "npm:1.1.0"]
|
||||
@ -16051,7 +16091,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["rc-virtual-list", "virtual:d0ef4ef4df8c18d930d669f36c367285d6797d2976508bea42f22f1b9ec914504bc240ade5dc2e1948c03a2acd136deb6f35e8e33b5236018dd4348224dd538a#npm:3.4.2"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
@ -16073,7 +16113,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["rc-virtual-list", "virtual:d0ef4ef4df8c18d930d669f36c367285d6797d2976508bea42f22f1b9ec914504bc240ade5dc2e1948c03a2acd136deb6f35e8e33b5236018dd4348224dd538a#npm:3.4.2"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
@ -16105,7 +16145,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-select", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:14.0.0-alpha.26"],
|
||||
["rc-tree", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:5.3.8"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -16136,7 +16176,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-align", "virtual:a0cde20e0292ef25046285d3616cd7818b95042e3e1ad7ee881431733a28b26e007e8954fb488816772fc720a44a1a192eb293856137e3207c3ad080e640b018#npm:4.0.11"],
|
||||
["rc-motion", "virtual:f494f6d4e058cb1c8a3b456f6099aff9bd740d65abfc014377b7a3f1e34fcb35eb64a962e127c8bfbedaa0555175b6f2cdc47011e32e2fb5f081d7d32f526c78#npm:2.4.4"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -16165,7 +16205,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
@ -16186,10 +16226,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/rc-util-virtual-c6747a1499/0/cache/rc-util-npm-5.17.0-4477bf5307-c6f083742e.zip/node_modules/rc-util/",
|
||||
["virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/rc-util-virtual-5738260a62/0/cache/rc-util-npm-5.17.0-4477bf5307-c6f083742e.zip/node_modules/rc-util/",
|
||||
"packageDependencies": [
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["@babel/runtime", "npm:7.16.7"],
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
@ -16223,7 +16263,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["@types/react-dom", null],
|
||||
["classnames", "npm:2.3.1"],
|
||||
["rc-resize-observer", "virtual:caddce747241c88958e039daadd2596eb7c11034e7ef35655f4f28f4496d3c6f1fc47b71417570ca9d8f270e1029349bbe942266aaa5cde8b29aef95b1038892#npm:1.2.0"],
|
||||
["rc-util", "virtual:168cfd14dd9e71b0423112848f69380ff1f0f5dffd5be83d150031464f8b398ca894fd5b87337ea7fc74ec2ed290ef92e6bd13f03f172c30eabf0a35fb94d97e#npm:5.17.0"],
|
||||
["rc-util", "virtual:7e3863ece061dda54214da8dfaaa3f3663891078cb856975c7f9148a6d7b3bd1799941ca573699ce564591ced647a40f68190f57334e0215ccb39d95b04e29d6#npm:5.17.0"],
|
||||
["react", "npm:17.0.2"],
|
||||
["react-dom", "virtual:573fe255dffc9c89f4f7aa60da718603753ee98acc55d6772bbd0ebdcf07f9183fb8e54b4f3f2246c538a14ead402db8d2e076039c667d1538702638a0cc87b8#npm:17.0.2"]
|
||||
],
|
||||
|
@ -17,7 +17,7 @@
|
||||
import { nunjucksFunction } from '@lowdefy/nunjucks';
|
||||
|
||||
const template = `@import '@lowdefy/layout/style.less';
|
||||
@import '@lowdefy/block-utils/style.less';
|
||||
@import '@lowdefy/client/style.less';
|
||||
{% for style in styles -%}
|
||||
@import '{{ style }}';
|
||||
{% endfor -%}
|
||||
|
0
packages/client/CHANGELOG.md
Normal file
0
packages/client/CHANGELOG.md
Normal file
3
packages/client/README.md
Normal file
3
packages/client/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# @lowdefy/client
|
||||
|
||||
Lowdefy Client
|
22
packages/client/jest.config.js
Normal file
22
packages/client/jest.config.js
Normal file
@ -0,0 +1,22 @@
|
||||
export default {
|
||||
clearMocks: true,
|
||||
collectCoverage: true,
|
||||
collectCoverageFrom: ['src/**/*.js'],
|
||||
coverageDirectory: 'coverage',
|
||||
coveragePathIgnorePatterns: [
|
||||
'<rootDir>/dist/',
|
||||
'<rootDir>/src/test',
|
||||
'<rootDir>/src/index.js',
|
||||
'<rootDir>/src/blocks.js',
|
||||
'<rootDir>/src/types.js',
|
||||
],
|
||||
coverageReporters: [['lcov', { projectRoot: '../../../..' }], 'text', 'clover'],
|
||||
errorOnDeprecated: true,
|
||||
testEnvironment: 'jsdom',
|
||||
testPathIgnorePatterns: ['<rootDir>/dist/', '<rootDir>/src/test'],
|
||||
transform: {
|
||||
'^.+\\.(t|j)sx?$': ['@swc/jest', { configFile: '../../../../.swcrc.test' }],
|
||||
'\\.yaml$': 'jest-transform-yaml',
|
||||
},
|
||||
snapshotSerializers: ['@emotion/jest/serializer', 'jest-serializer-html'],
|
||||
};
|
70
packages/client/package.json
Normal file
70
packages/client/package.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"name": "@lowdefy/client",
|
||||
"version": "4.0.0-alpha.8",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Lowdefy Client",
|
||||
"homepage": "https://lowdefy.com",
|
||||
"keywords": [
|
||||
"lowdefy"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/lowdefy/lowdefy/issues"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Sam Tolmay",
|
||||
"url": "https://github.com/SamTolmay"
|
||||
},
|
||||
{
|
||||
"name": "Gerrie van Wyk",
|
||||
"url": "https://github.com/Gervwyk"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lowdefy/lowdefy.git"
|
||||
},
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
"./*": "./dist/*"
|
||||
},
|
||||
"files": [
|
||||
"dist/*"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "yarn swc",
|
||||
"clean": "rm -rf dist",
|
||||
"copyfiles": "copyfiles -u 1 \"./src/**/*\" dist -e \"./src/**/*.js\" -e \"./src/**/*.yaml\" -e \"./src/**/*.snap\"",
|
||||
"prepare": "yarn build",
|
||||
"swc": "swc src --out-dir dist --config-file ../../.swcrc --delete-dir-on-start && yarn copyfiles",
|
||||
"test:watch": "jest --coverage --watch",
|
||||
"test": "jest --coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design/icons": "4.7.0",
|
||||
"@lowdefy/block-utils": "4.0.0-alpha.8",
|
||||
"@lowdefy/engine": "4.0.0-alpha.8",
|
||||
"@lowdefy/helpers": "4.0.0-alpha.8",
|
||||
"@lowdefy/layout": "4.0.0-alpha.8",
|
||||
"classnames": "2.3.1",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@emotion/jest": "11.7.1",
|
||||
"@swc/cli": "0.1.55",
|
||||
"@swc/core": "1.2.135",
|
||||
"@swc/jest": "0.2.17",
|
||||
"@testing-library/dom": "8.11.3",
|
||||
"@testing-library/react": "13.0.0-alpha.4",
|
||||
"@testing-library/user-event": "14.0.0-alpha.14",
|
||||
"copyfiles": "2.4.1",
|
||||
"jest": "27.5.1",
|
||||
"jest-serializer-html": "7.1.0",
|
||||
"jest-transform-yaml": "1.0.0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
65
packages/client/src/Client.js
Normal file
65
packages/client/src/Client.js
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import Block from './block/Block.js';
|
||||
import Context from './Context.js';
|
||||
import Head from './Head.js';
|
||||
import ProgressBarController from './ProgressBarController.js';
|
||||
|
||||
import initLowdefyContext from './initLowdefyContext.js';
|
||||
|
||||
const Client = ({ Components, config, router, stage, types, window }) => {
|
||||
const lowdefy = initLowdefyContext({ Components, config, router, types, stage, window });
|
||||
|
||||
return (
|
||||
<ProgressBarController
|
||||
id="page-loader"
|
||||
key={config.pageConfig.id}
|
||||
ProgressBar={lowdefy._internal.blockComponents.ProgressBar}
|
||||
lowdefy={lowdefy}
|
||||
content={{
|
||||
content: (progress) => (
|
||||
<Context config={config.pageConfig} lowdefy={lowdefy} progress={progress}>
|
||||
{(context) => {
|
||||
return (
|
||||
<>
|
||||
<Head
|
||||
Component={Components.Head}
|
||||
properties={
|
||||
context._internal.RootBlocks.map[config.pageConfig.id].eval.properties
|
||||
}
|
||||
/>
|
||||
<Block
|
||||
block={context._internal.RootBlocks.map[config.pageConfig.id]}
|
||||
Blocks={context._internal.RootBlocks}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
progress={progress}
|
||||
parentLoading={false}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}}
|
||||
</Context>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default Client;
|
50
packages/client/src/Context.js
Normal file
50
packages/client/src/Context.js
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import getContext from '@lowdefy/engine';
|
||||
|
||||
import MountEvents from './MountEvents.js';
|
||||
|
||||
const Context = ({ children, config, lowdefy, progress }) => {
|
||||
const context = getContext({ config, lowdefy });
|
||||
return (
|
||||
<MountEvents
|
||||
context={context}
|
||||
triggerEvent={async () => {
|
||||
await context._internal.runOnInit(() => {
|
||||
progress.dispatch({
|
||||
type: 'increment',
|
||||
});
|
||||
});
|
||||
}}
|
||||
triggerEventAsync={() => {
|
||||
context._internal.runOnInitAsync(() => {
|
||||
progress.dispatch({
|
||||
type: 'increment',
|
||||
});
|
||||
});
|
||||
}}
|
||||
>
|
||||
{(loadingOnInit) => {
|
||||
if (loadingOnInit) return '';
|
||||
return children(context);
|
||||
}}
|
||||
</MountEvents>
|
||||
);
|
||||
};
|
||||
|
||||
export default Context;
|
27
packages/client/src/Head.js
Normal file
27
packages/client/src/Head.js
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
|
||||
const BindHead = ({ Component, properties }) => {
|
||||
return (
|
||||
<Component>
|
||||
<title>{properties.title}</title>
|
||||
</Component>
|
||||
);
|
||||
};
|
||||
|
||||
export default BindHead;
|
46
packages/client/src/MountEvents.js
Normal file
46
packages/client/src/MountEvents.js
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
const MountEvents = ({ children, context, triggerEvent, triggerEventAsync }) => {
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [error, setError] = useState(null);
|
||||
useEffect(() => {
|
||||
let mounted = true;
|
||||
const mount = async () => {
|
||||
try {
|
||||
await triggerEvent();
|
||||
if (mounted) {
|
||||
triggerEventAsync();
|
||||
setLoading(false);
|
||||
}
|
||||
} catch (err) {
|
||||
setError(err);
|
||||
}
|
||||
};
|
||||
mount(); // TODO: check only run once.
|
||||
return () => {
|
||||
mounted = false;
|
||||
};
|
||||
}, [context]);
|
||||
|
||||
if (error) throw error;
|
||||
|
||||
return <>{children(loading)}</>;
|
||||
};
|
||||
|
||||
export default MountEvents;
|
61
packages/client/src/ProgressBarController.js
Normal file
61
packages/client/src/ProgressBarController.js
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { useReducer, useEffect } from 'react';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
const initialState = {
|
||||
progress: 0,
|
||||
};
|
||||
|
||||
function reducer(state, action) {
|
||||
switch (action.type) {
|
||||
case 'increment':
|
||||
return { progress: state.progress + (100 - state.progress) / 3 };
|
||||
case 'auto-increment':
|
||||
return { progress: state.progress + (100 - state.progress) / 200 };
|
||||
case 'done':
|
||||
return { progress: 100 };
|
||||
default:
|
||||
throw new Error('Invalid action type for ProgressBarController reducer.');
|
||||
}
|
||||
}
|
||||
|
||||
const ProgressBarController = ({ id, ProgressBar, content, lowdefy }) => {
|
||||
const [state, dispatch] = useReducer(reducer, initialState);
|
||||
useEffect(() => {
|
||||
const timer =
|
||||
state.progress < 95 && setInterval(() => dispatch({ type: 'auto-increment' }), 500);
|
||||
return () => clearInterval(timer);
|
||||
}, [state]);
|
||||
return (
|
||||
<ProgressBar
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={id}
|
||||
components={lowdefy._internal.components}
|
||||
menus={lowdefy.menus}
|
||||
methods={{ makeCssClass }}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={state}
|
||||
user={lowdefy.user}
|
||||
content={{
|
||||
content: () => content.content({ state, dispatch }),
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default ProgressBarController;
|
77
packages/client/src/block/Block.js
Normal file
77
packages/client/src/block/Block.js
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { useState } from 'react';
|
||||
|
||||
import CategorySwitch from './CategorySwitch.js';
|
||||
import ErrorBoundary from '../ErrorBoundary.js';
|
||||
import MountEvents from '../MountEvents.js';
|
||||
|
||||
const Block = ({
|
||||
block,
|
||||
Blocks,
|
||||
context,
|
||||
lowdefy,
|
||||
parentLoading,
|
||||
progress = { dispatch: () => {} },
|
||||
}) => {
|
||||
const [updates, setUpdate] = useState(0);
|
||||
lowdefy._internal.updaters[block.id] = () => setUpdate(updates + 1);
|
||||
|
||||
return (
|
||||
<ErrorBoundary>
|
||||
<MountEvents
|
||||
context={context}
|
||||
triggerEvent={async () => {
|
||||
await block.triggerEvent({
|
||||
name: 'onMount',
|
||||
progress: () => {
|
||||
progress.dispatch({
|
||||
type: 'increment',
|
||||
});
|
||||
},
|
||||
});
|
||||
}}
|
||||
triggerEventAsync={() => {
|
||||
block.triggerEvent({
|
||||
name: 'onMountAsync',
|
||||
progress: () => {
|
||||
progress.dispatch({
|
||||
type: 'increment',
|
||||
});
|
||||
},
|
||||
});
|
||||
progress.dispatch({
|
||||
type: 'done',
|
||||
});
|
||||
}}
|
||||
>
|
||||
{(eventLoading) => (
|
||||
<CategorySwitch
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
context={context}
|
||||
loading={eventLoading || parentLoading || block.eval.loading}
|
||||
lowdefy={lowdefy}
|
||||
updates={updates}
|
||||
/>
|
||||
)}
|
||||
</MountEvents>
|
||||
</ErrorBoundary>
|
||||
);
|
||||
};
|
||||
|
||||
export default Block;
|
133
packages/client/src/block/CategorySwitch.js
Normal file
133
packages/client/src/block/CategorySwitch.js
Normal file
@ -0,0 +1,133 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { BlockLayout } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
import { type } from '@lowdefy/helpers';
|
||||
|
||||
import Container from './Container.js';
|
||||
import List from './List.js';
|
||||
import LoadingBlock from './LoadingBlock.js';
|
||||
|
||||
const CategorySwitch = ({ block, Blocks, context, loading, lowdefy }) => {
|
||||
if (!block.eval) return null; // TODO: check Renderer updates before eval is executed for the first time on lists. See #520
|
||||
if (block.eval.visible === false)
|
||||
return <div id={`vs-${block.blockId}`} style={{ display: 'none' }} />;
|
||||
const Component = lowdefy._internal.blockComponents[block.type];
|
||||
|
||||
if (loading && type.isObject(block.eval.skeleton)) {
|
||||
return (
|
||||
<LoadingBlock
|
||||
blockLayout={block.eval.layout}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
skeleton={block.eval.skeleton}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
switch (Component.meta.category) {
|
||||
case 'list':
|
||||
return (
|
||||
<List
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
Component={Component}
|
||||
context={context}
|
||||
loading={loading}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
);
|
||||
case 'container':
|
||||
return (
|
||||
<Container
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
Component={Component}
|
||||
context={context}
|
||||
loading={loading}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
);
|
||||
case 'input':
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
setValue: block.setValue,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
components={lowdefy._internal.components}
|
||||
events={block.eval.events}
|
||||
key={block.blockId}
|
||||
loading={loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
value={block.value}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
default:
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
components={lowdefy._internal.components}
|
||||
events={block.eval.events}
|
||||
key={block.blockId}
|
||||
loading={loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export default CategorySwitch;
|
87
packages/client/src/block/Container.js
Normal file
87
packages/client/src/block/Container.js
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import Block from './Block.js';
|
||||
|
||||
const Container = ({ block, Blocks, Component, context, loading, lowdefy }) => {
|
||||
const content = {};
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
const areas = Blocks.subBlocks[block.id][0].areas;
|
||||
Object.keys(areas).forEach((areaKey, i) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
id={`ar-${block.blockId}-${areaKey}`}
|
||||
key={`ar-${block.blockId}-${areaKey}-${i}`}
|
||||
area={layoutParamsToArea({
|
||||
area: block.eval.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout: block.eval.layout || {},
|
||||
})}
|
||||
areaStyle={[areaStyle, block.eval.areas[areaKey] && block.eval.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{areas[areaKey].blocks.map((bl, k) => (
|
||||
<Block
|
||||
key={`co-${bl.blockId}-${k}`}
|
||||
Blocks={Blocks.subBlocks[block.id][0]}
|
||||
block={bl}
|
||||
context={context}
|
||||
parentLoading={loading}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
components={lowdefy._internal.components}
|
||||
content={content}
|
||||
events={block.eval.events}
|
||||
key={block.blockId}
|
||||
loading={loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default Container;
|
94
packages/client/src/block/List.js
Normal file
94
packages/client/src/block/List.js
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import Block from './Block.js';
|
||||
|
||||
const List = ({ block, Blocks, Component, context, loading, lowdefy }) => {
|
||||
const content = {};
|
||||
const contentList = [];
|
||||
Blocks.subBlocks[block.id].forEach((SBlock) => {
|
||||
Object.keys(SBlock.areas).forEach((areaKey) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
id={`ar-${block.blockId}-${SBlock.id}-${areaKey}`}
|
||||
key={`ar-${block.blockId}-${SBlock.id}-${areaKey}`}
|
||||
area={layoutParamsToArea({
|
||||
area: block.eval.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout: block.eval.layout || {},
|
||||
})}
|
||||
areaStyle={[areaStyle, block.eval.areas[areaKey] && block.eval.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{SBlock.areas[areaKey].blocks.map((bl) => (
|
||||
<Block
|
||||
key={`ls-${bl.blockId}`}
|
||||
Blocks={SBlock}
|
||||
block={bl}
|
||||
context={context}
|
||||
parentLoading={loading}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
contentList.push({ ...content });
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
moveItemDown: block.moveItemDown,
|
||||
moveItemUp: block.moveItemUp,
|
||||
pushItem: block.pushItem,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
removeItem: block.removeItem,
|
||||
triggerEvent: block.triggerEvent,
|
||||
unshiftItem: block.unshiftItem,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
components={lowdefy._internal.components}
|
||||
events={block.eval.events}
|
||||
key={block.blockId}
|
||||
list={contentList}
|
||||
loading={loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default List;
|
99
packages/client/src/block/LoadingBlock.js
Normal file
99
packages/client/src/block/LoadingBlock.js
Normal file
@ -0,0 +1,99 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
import React, { useEffect } from 'react';
|
||||
import { BlockLayout } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import LoadingContainer from './LoadingContainer.js';
|
||||
import LoadingList from './LoadingList.js';
|
||||
|
||||
const blockMethods = {
|
||||
makeCssClass,
|
||||
moveItemDown: () => {},
|
||||
moveItemUp: () => {},
|
||||
pushItem: () => {},
|
||||
registerEvent: () => {},
|
||||
registerMethod: () => {},
|
||||
removeItem: () => {},
|
||||
setValue: () => {},
|
||||
triggerEvent: () => {},
|
||||
unshiftItem: () => {},
|
||||
};
|
||||
|
||||
const LoadingBlock = ({ blockLayout, blockId, context, lowdefy, skeleton }) => {
|
||||
let Component = lowdefy._internal.blockComponents[skeleton.type];
|
||||
useEffect(() => {
|
||||
if (!lowdefy._internal.blockComponents[skeleton.type]) {
|
||||
console.warn(
|
||||
`Skeleton block type not found for ${skeleton.type} in ${blockId}. Only '@lowdefy/blocks-basic' and '@lowdefy/blocks-loaders' block types are supported for skeletons.`
|
||||
);
|
||||
}
|
||||
return;
|
||||
}, []);
|
||||
if (!Component) {
|
||||
// default to box when a skeleton block is not found - should be a basic or loader block.
|
||||
Component = lowdefy._internal.blockComponents.Box;
|
||||
}
|
||||
const layout = skeleton.layout || blockLayout || {};
|
||||
switch (Component.meta.category) {
|
||||
case 'list':
|
||||
return (
|
||||
<LoadingList
|
||||
blockId={blockId}
|
||||
Component={Component}
|
||||
context={context}
|
||||
layout={layout}
|
||||
lowdefy={lowdefy}
|
||||
skeleton={skeleton}
|
||||
/>
|
||||
);
|
||||
case 'container':
|
||||
return (
|
||||
<LoadingContainer
|
||||
blockId={blockId}
|
||||
Component={Component}
|
||||
context={context}
|
||||
layout={layout}
|
||||
lowdefy={lowdefy}
|
||||
skeleton={skeleton}
|
||||
/>
|
||||
);
|
||||
default:
|
||||
return (
|
||||
<BlockLayout
|
||||
blockStyle={skeleton.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
id={`s-bl-${blockId}-${skeleton.id}`}
|
||||
layout={layout}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={blockId}
|
||||
components={lowdefy._internal.components}
|
||||
key={`s-${blockId}-${skeleton.id}`}
|
||||
menus={lowdefy.menus}
|
||||
methods={blockMethods}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={skeleton.properties}
|
||||
user={lowdefy.user}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export default LoadingBlock;
|
76
packages/client/src/block/LoadingContainer.js
Normal file
76
packages/client/src/block/LoadingContainer.js
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import LoadingBlock from './LoadingBlock.js';
|
||||
|
||||
const LoadingContainer = ({ blockId, Component, context, layout, lowdefy, skeleton }) => {
|
||||
const content = {};
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
Object.keys(skeleton.areas).forEach((areaKey, i) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
area={layoutParamsToArea({
|
||||
area: skeleton.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout,
|
||||
})}
|
||||
areaStyle={[areaStyle, skeleton.areas[areaKey] && skeleton.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
id={`s-ar-${blockId}-${skeleton.id}-${areaKey}`}
|
||||
key={`s-ar-${blockId}-${skeleton.id}-${areaKey}-${i}`}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{skeleton.areas[areaKey].blocks.map((skl, k) => (
|
||||
<LoadingBlock
|
||||
blockId={blockId}
|
||||
context={context}
|
||||
key={`s-co-${skl.id}-${k}`}
|
||||
lowdefy={lowdefy}
|
||||
skeleton={skl}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
blockStyle={skeleton.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
id={`s-bl-${blockId}-${skeleton.id}`}
|
||||
layout={layout}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={blockId}
|
||||
components={lowdefy._internal.components}
|
||||
content={content}
|
||||
key={skeleton.id}
|
||||
menus={lowdefy.menus}
|
||||
methods={{ makeCssClass }}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={skeleton.properties}
|
||||
user={lowdefy.user}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default LoadingContainer;
|
78
packages/client/src/block/LoadingList.js
Normal file
78
packages/client/src/block/LoadingList.js
Normal file
@ -0,0 +1,78 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import LoadingBlock from './LoadingBlock.js';
|
||||
|
||||
const LoadingList = ({ blockId, Component, context, layout, lowdefy, skeleton }) => {
|
||||
const content = {};
|
||||
const contentList = [];
|
||||
new Array(3).forEach(() => {
|
||||
Object.keys(skeleton.areas).forEach((areaKey, i) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
area={layoutParamsToArea({
|
||||
area: skeleton.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout,
|
||||
})}
|
||||
areaStyle={[areaStyle, skeleton.areas[areaKey] && skeleton.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
id={`s-ar-${blockId}-${skeleton.id}-${areaKey}`}
|
||||
key={`s-ar-${blockId}-${skeleton.id}-${areaKey}-${i}`}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{skeleton.areas[areaKey].blocks.map((skl, k) => (
|
||||
<LoadingBlock
|
||||
blockId={blockId}
|
||||
context={context}
|
||||
key={`s-co-${skl.id}-${k}`}
|
||||
lowdefy={lowdefy}
|
||||
skeleton={skl}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
contentList.push({ ...content });
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
blockStyle={skeleton.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
id={`s-bl-${blockId}-${skeleton.id}`}
|
||||
layout={layout}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={blockId}
|
||||
components={lowdefy._internal.components}
|
||||
list={contentList}
|
||||
menus={lowdefy.menus}
|
||||
methods={{ makeCssClass }}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={skeleton.properties}
|
||||
user={lowdefy.user}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default LoadingList;
|
27
packages/client/src/callRequest.js
Normal file
27
packages/client/src/callRequest.js
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import request from './request.js';
|
||||
|
||||
function callRequest({ pageId, payload, requestId }) {
|
||||
return request({
|
||||
url: `/api/request/${pageId}/${requestId}`,
|
||||
method: 'POST',
|
||||
body: { payload },
|
||||
});
|
||||
}
|
||||
|
||||
export default callRequest;
|
@ -18,10 +18,9 @@ import React from 'react';
|
||||
import classNames from 'classnames';
|
||||
import { omit, type } from '@lowdefy/helpers';
|
||||
import Icon from '@ant-design/icons';
|
||||
import { blockDefaultProps, makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import blockDefaultProps from './blockDefaultProps.js';
|
||||
import ErrorBoundary from './ErrorBoundary.js';
|
||||
import makeCssClass from './makeCssClass.js';
|
||||
|
||||
const lowdefyProps = [
|
||||
'actionLog',
|
@ -17,9 +17,9 @@
|
||||
import React from 'react';
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import createIcon from './createIcon.js';
|
||||
import makeCssClass from './makeCssClass.js';
|
||||
|
||||
const methods = {
|
||||
makeCssClass,
|
96
packages/client/src/createLinkComponent.js
Normal file
96
packages/client/src/createLinkComponent.js
Normal file
@ -0,0 +1,96 @@
|
||||
import React from 'react';
|
||||
import { createLink } from '@lowdefy/engine';
|
||||
import { type } from '@lowdefy/helpers';
|
||||
|
||||
const createLinkComponent = (lowdefy, Link) => {
|
||||
const backLink = ({ ariaLabel, children, className, id, rel }) => (
|
||||
<a
|
||||
id={id}
|
||||
onClick={() => lowdefy._internal.router.back()}
|
||||
className={className}
|
||||
rel={rel}
|
||||
aria-label={ariaLabel || 'back'}
|
||||
>
|
||||
{type.isFunction(children) ? children(id) : children}
|
||||
</a>
|
||||
);
|
||||
const newOriginLink = ({
|
||||
ariaLabel,
|
||||
children,
|
||||
className,
|
||||
id,
|
||||
newTab,
|
||||
pageId,
|
||||
query,
|
||||
rel,
|
||||
url,
|
||||
}) => {
|
||||
return (
|
||||
<a
|
||||
id={id}
|
||||
aria-label={ariaLabel}
|
||||
className={className}
|
||||
href={`${url}${query ? `?${query}` : ''}`}
|
||||
rel={rel || (newTab && 'noopener noreferrer')}
|
||||
target={newTab && '_blank'}
|
||||
>
|
||||
{type.isFunction(children) ? children(pageId || url || id) : children}
|
||||
</a>
|
||||
);
|
||||
};
|
||||
const sameOriginLink = ({
|
||||
ariaLabel,
|
||||
children,
|
||||
className,
|
||||
id,
|
||||
newTab,
|
||||
pageId,
|
||||
pathname,
|
||||
query,
|
||||
rel,
|
||||
replace,
|
||||
scroll,
|
||||
setInput,
|
||||
url,
|
||||
}) => {
|
||||
if (newTab) {
|
||||
return (
|
||||
// eslint-disable-next-line react/jsx-no-target-blank
|
||||
<a
|
||||
id={id}
|
||||
aria-label={ariaLabel}
|
||||
className={className}
|
||||
href={`${window.location.origin}${lowdefy._internal.router.basePath}${pathname}${
|
||||
query ? `?${query}` : ''
|
||||
}`}
|
||||
rel={rel || 'noopener noreferrer'}
|
||||
target="_blank"
|
||||
>
|
||||
{type.isFunction(children) ? children(pageId || url || id) : children}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<Link href={{ pathname, query }} replace={replace} scroll={scroll}>
|
||||
<a id={id} aria-label={ariaLabel} className={className} rel={rel} onClick={setInput}>
|
||||
{type.isFunction(children) ? children(pageId || url || id) : children}
|
||||
</a>
|
||||
</Link>
|
||||
);
|
||||
};
|
||||
const noLink = ({ className, children, id }) => (
|
||||
<span id={id} className={className}>
|
||||
{type.isFunction(children) ? children(id) : children}
|
||||
</span>
|
||||
);
|
||||
return createLink({
|
||||
backLink,
|
||||
lowdefy,
|
||||
newOriginLink,
|
||||
sameOriginLink,
|
||||
noLink,
|
||||
disabledLink: noLink,
|
||||
});
|
||||
};
|
||||
|
||||
export default createLinkComponent;
|
19
packages/client/src/index.js
Normal file
19
packages/client/src/index.js
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import Client from './Client.js';
|
||||
|
||||
export default Client;
|
66
packages/client/src/initLowdefyContext.js
Normal file
66
packages/client/src/initLowdefyContext.js
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { urlQuery } from '@lowdefy/helpers';
|
||||
|
||||
import callRequest from './callRequest.js';
|
||||
import setupLink from './setupLink.js';
|
||||
import createLinkComponent from './createLinkComponent.js';
|
||||
import createIcon from './createIcon.js';
|
||||
|
||||
const lowdefy = {
|
||||
_internal: {
|
||||
callRequest,
|
||||
components: {},
|
||||
updaters: {},
|
||||
displayMessage: ({ content }) => {
|
||||
console.log(content);
|
||||
return () => undefined;
|
||||
},
|
||||
link: () => undefined,
|
||||
},
|
||||
contexts: {},
|
||||
inputs: {},
|
||||
lowdefyGlobal: {},
|
||||
};
|
||||
|
||||
function initLowdefyContext({ Components, config, router, stage, types, window }) {
|
||||
if (stage === 'dev') {
|
||||
window.lowdefy = lowdefy;
|
||||
}
|
||||
lowdefy.basePath = router.basePath;
|
||||
lowdefy.home = config.rootConfig.home || {};
|
||||
lowdefy.lowdefyGlobal = config.rootConfig.lowdefyGlobal;
|
||||
lowdefy.menus = config.rootConfig.menus;
|
||||
lowdefy.pageId = config.pageConfig.pageId;
|
||||
lowdefy.urlQuery = urlQuery.parse(window.location.search.slice(1));
|
||||
|
||||
lowdefy._internal.window = window;
|
||||
lowdefy._internal.document = window.document;
|
||||
lowdefy._internal.router = router;
|
||||
lowdefy._internal.link = setupLink(router, window);
|
||||
lowdefy._internal.updateBlock = (blockId) =>
|
||||
lowdefy._internal.updaters[blockId] && lowdefy._internal.updaters[blockId]();
|
||||
lowdefy._internal.components.Link = createLinkComponent(lowdefy, Components.Link);
|
||||
lowdefy._internal.components.Icon = createIcon(types.icons);
|
||||
lowdefy._internal.actions = types.actions;
|
||||
lowdefy._internal.blockComponents = types.blocks;
|
||||
lowdefy._internal.operators = types.operators;
|
||||
|
||||
return lowdefy;
|
||||
}
|
||||
|
||||
export default initLowdefyContext;
|
35
packages/client/src/request.js
Normal file
35
packages/client/src/request.js
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
async function request({ url, method = 'GET', body }) {
|
||||
const res = await fetch(url, {
|
||||
method,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(body),
|
||||
});
|
||||
if (!res.ok) {
|
||||
// TODO: check
|
||||
const body = await res.json();
|
||||
console.log(res);
|
||||
console.log(body);
|
||||
throw new Error(body.message || 'Request error');
|
||||
}
|
||||
return res.json();
|
||||
}
|
||||
|
||||
export default request;
|
51
packages/client/src/setupLink.js
Normal file
51
packages/client/src/setupLink.js
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
Copyright 2020-2022 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { createLink } from '@lowdefy/engine';
|
||||
|
||||
function setupLink(router, window) {
|
||||
const backLink = () => router.back();
|
||||
const disabledLink = () => {};
|
||||
const newOriginLink = ({ url, query, newTab }) => {
|
||||
if (newTab) {
|
||||
return window.open(`${url}${query ? `?${query}` : ''}`, '_blank').focus();
|
||||
} else {
|
||||
return window.location.assign(`${url}${query ? `?${query}` : ''}`);
|
||||
}
|
||||
};
|
||||
const sameOriginLink = ({ newTab, pathname, query, setInput }) => {
|
||||
if (newTab) {
|
||||
return window
|
||||
.open(
|
||||
`${window.location.origin}${router.basePath}${pathname}${query ? `?${query}` : ''}`,
|
||||
'_blank'
|
||||
)
|
||||
.focus();
|
||||
} else {
|
||||
setInput();
|
||||
return router.push({
|
||||
pathname,
|
||||
query,
|
||||
});
|
||||
}
|
||||
};
|
||||
const noLink = () => {
|
||||
throw new Error(`Invalid Link.`);
|
||||
};
|
||||
return createLink({ backLink, disabledLink, router, newOriginLink, noLink, sameOriginLink });
|
||||
}
|
||||
|
||||
export default setupLink;
|
@ -43,10 +43,8 @@
|
||||
"test": "jest --coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design/icons": "4.7.0",
|
||||
"@emotion/css": "11.7.1",
|
||||
"@lowdefy/helpers": "4.0.0-alpha.8",
|
||||
"classnames": "2.3.1",
|
||||
"dompurify": "2.3.5",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2"
|
||||
|
@ -16,8 +16,6 @@
|
||||
|
||||
import blockDefaultProps from './blockDefaultProps.js';
|
||||
import blockSchema from './blockSchema.js';
|
||||
import createIcon from './createIcon.js';
|
||||
import ErrorBoundary from './ErrorBoundary.js';
|
||||
import HtmlComponent from './HtmlComponent.js';
|
||||
import makeCssClass from './makeCssClass.js';
|
||||
import mediaToCssObject from './mediaToCssObject.js';
|
||||
@ -26,8 +24,6 @@ import renderHtml from './renderHtml.js';
|
||||
export {
|
||||
blockDefaultProps,
|
||||
blockSchema,
|
||||
createIcon,
|
||||
ErrorBoundary,
|
||||
HtmlComponent,
|
||||
makeCssClass,
|
||||
mediaToCssObject,
|
||||
|
45
yarn.lock
45
yarn.lock
@ -2005,7 +2005,6 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/block-utils@workspace:packages/utils/block-utils"
|
||||
dependencies:
|
||||
"@ant-design/icons": 4.7.0
|
||||
"@emotion/css": 11.7.1
|
||||
"@emotion/jest": 11.7.1
|
||||
"@lowdefy/helpers": 4.0.0-alpha.8
|
||||
@ -2015,7 +2014,6 @@ __metadata:
|
||||
"@testing-library/dom": 8.11.3
|
||||
"@testing-library/react": 13.0.0-alpha.4
|
||||
"@testing-library/user-event": 14.0.0-alpha.14
|
||||
classnames: 2.3.1
|
||||
copyfiles: 2.4.1
|
||||
dompurify: 2.3.5
|
||||
jest: 27.5.1
|
||||
@ -2225,6 +2223,32 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@lowdefy/client@4.0.0-alpha.8, @lowdefy/client@workspace:packages/client":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/client@workspace:packages/client"
|
||||
dependencies:
|
||||
"@ant-design/icons": 4.7.0
|
||||
"@emotion/jest": 11.7.1
|
||||
"@lowdefy/block-utils": 4.0.0-alpha.8
|
||||
"@lowdefy/engine": 4.0.0-alpha.8
|
||||
"@lowdefy/helpers": 4.0.0-alpha.8
|
||||
"@lowdefy/layout": 4.0.0-alpha.8
|
||||
"@swc/cli": 0.1.55
|
||||
"@swc/core": 1.2.135
|
||||
"@swc/jest": 0.2.17
|
||||
"@testing-library/dom": 8.11.3
|
||||
"@testing-library/react": 13.0.0-alpha.4
|
||||
"@testing-library/user-event": 14.0.0-alpha.14
|
||||
classnames: 2.3.1
|
||||
copyfiles: 2.4.1
|
||||
jest: 27.5.1
|
||||
jest-serializer-html: 7.1.0
|
||||
jest-transform-yaml: 1.0.0
|
||||
react: 17.0.2
|
||||
react-dom: 17.0.2
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@lowdefy/connection-axios-http@4.0.0-alpha.8, @lowdefy/connection-axios-http@workspace:packages/plugins/connections/connection-axios-http":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/connection-axios-http@workspace:packages/plugins/connections/connection-axios-http"
|
||||
@ -2345,7 +2369,7 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@lowdefy/docs@workspace:packages/docs":
|
||||
"@lowdefy/docs@4.0.0-alpha.8, @lowdefy/docs@workspace:packages/docs":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/docs@workspace:packages/docs"
|
||||
dependencies:
|
||||
@ -2607,8 +2631,8 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/server-dev@workspace:packages/server-dev"
|
||||
dependencies:
|
||||
"@lowdefy/actions-core": 4.0.0-alpha.8
|
||||
"@lowdefy/api": 4.0.0-alpha.8
|
||||
"@lowdefy/block-utils": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-antd": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-basic": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-color-selectors": 4.0.0-alpha.8
|
||||
@ -2616,6 +2640,7 @@ __metadata:
|
||||
"@lowdefy/blocks-loaders": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-markdown": 4.0.0-alpha.8
|
||||
"@lowdefy/build": 4.0.0-alpha.8
|
||||
"@lowdefy/client": 4.0.0-alpha.8
|
||||
"@lowdefy/connection-axios-http": 4.0.0-alpha.8
|
||||
"@lowdefy/engine": 4.0.0-alpha.8
|
||||
"@lowdefy/helpers": 4.0.0-alpha.8
|
||||
@ -2652,16 +2677,24 @@ __metadata:
|
||||
dependencies:
|
||||
"@lowdefy/actions-core": 4.0.0-alpha.8
|
||||
"@lowdefy/api": 4.0.0-alpha.8
|
||||
"@lowdefy/block-utils": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-antd": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-basic": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-color-selectors": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-echarts": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-loaders": 4.0.0-alpha.8
|
||||
"@lowdefy/blocks-markdown": 4.0.0-alpha.8
|
||||
"@lowdefy/build": 4.0.0-alpha.8
|
||||
"@lowdefy/engine": 4.0.0-alpha.8
|
||||
"@lowdefy/client": 4.0.0-alpha.8
|
||||
"@lowdefy/connection-axios-http": 4.0.0-alpha.8
|
||||
"@lowdefy/connection-mongodb": 4.0.0-alpha.8
|
||||
"@lowdefy/docs": 4.0.0-alpha.8
|
||||
"@lowdefy/helpers": 4.0.0-alpha.8
|
||||
"@lowdefy/layout": 4.0.0-alpha.8
|
||||
"@lowdefy/node-utils": 4.0.0-alpha.8
|
||||
"@lowdefy/operators-js": 4.0.0-alpha.8
|
||||
"@lowdefy/operators-mql": 4.0.0-alpha.8
|
||||
"@lowdefy/operators-nunjucks": 4.0.0-alpha.8
|
||||
"@lowdefy/operators-yaml": 4.0.0-alpha.8
|
||||
"@next/eslint-plugin-next": 12.0.10
|
||||
less: 4.1.2
|
||||
less-loader: 10.2.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user