diff --git a/.pnp.js b/.pnp.js index 88b409e32..bfe6d1139 100755 --- a/.pnp.js +++ b/.pnp.js @@ -3650,6 +3650,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/preset-env", "virtual:73f25cc0d3f57943fa9b1d737e4809af7a52a784e0ac5fed74b4e1e083308ab7ae2fd45a5424a8bc7ff7caab067690c9357630d657cbd636d6037acc1557fdc2#npm:7.11.5"], ["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.10.4"], ["@lowdefy/helpers", "workspace:packages/helpers"], + ["@lowdefy/type", "workspace:packages/type"], ["babel-jest", "virtual:60db6f885fdb292d52f611575208c6b51b9a272733d90fe8edc7853309da56cfe1d45553d3d82ff571709e87d3dd377b35bef19a5ed1bf366956f0c695b30f9d#npm:26.5.2"], ["babel-loader", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:8.1.0"], ["babel-plugin-import", "npm:1.13.1"], diff --git a/packages/blockTools/demo/IconSpinner.js b/packages/blockTools/demo/IconSpinner.js new file mode 100644 index 000000000..23a43f7e8 --- /dev/null +++ b/packages/blockTools/demo/IconSpinner.js @@ -0,0 +1,38 @@ +/* + Copyright 2020 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 { IconSpinner } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/Skeleton.js b/packages/blockTools/demo/Skeleton.js new file mode 100644 index 000000000..b7145ce5d --- /dev/null +++ b/packages/blockTools/demo/Skeleton.js @@ -0,0 +1,35 @@ +/* + Copyright 2020 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 Wrapper from './Wrapper'; +import { Skeleton } from '../src'; + +const Examples = () => ( + <> + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/SkeletonAvatar.js b/packages/blockTools/demo/SkeletonAvatar.js new file mode 100644 index 000000000..4b908eca2 --- /dev/null +++ b/packages/blockTools/demo/SkeletonAvatar.js @@ -0,0 +1,41 @@ +/* + Copyright 2020 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 { SkeletonAvatar } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/SkeletonButton.js b/packages/blockTools/demo/SkeletonButton.js new file mode 100644 index 000000000..dea8038d0 --- /dev/null +++ b/packages/blockTools/demo/SkeletonButton.js @@ -0,0 +1,41 @@ +/* + Copyright 2020 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 { SkeletonButton } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/SkeletonInput.js b/packages/blockTools/demo/SkeletonInput.js new file mode 100644 index 000000000..623b76de9 --- /dev/null +++ b/packages/blockTools/demo/SkeletonInput.js @@ -0,0 +1,50 @@ +/* + Copyright 2020 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 { SkeletonInput } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/SkeletonParagraph.js b/packages/blockTools/demo/SkeletonParagraph.js new file mode 100644 index 000000000..e18379b29 --- /dev/null +++ b/packages/blockTools/demo/SkeletonParagraph.js @@ -0,0 +1,38 @@ +/* + Copyright 2020 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 { SkeletonParagraph } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/Spinner.js b/packages/blockTools/demo/Spinner.js new file mode 100644 index 000000000..f86e01cc5 --- /dev/null +++ b/packages/blockTools/demo/Spinner.js @@ -0,0 +1,41 @@ +/* + Copyright 2020 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 { Spinner } from '../src'; +import Wrapper from './Wrapper'; + +const Examples = () => ( + <> + + + + + + + + + + + + + + + + +); + +export default Examples; diff --git a/packages/blockTools/demo/Wrapper.js b/packages/blockTools/demo/Wrapper.js new file mode 100644 index 000000000..91b030306 --- /dev/null +++ b/packages/blockTools/demo/Wrapper.js @@ -0,0 +1,26 @@ +/* + Copyright 2020 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 Wrapper = ({ children, title, style }) => ( + <> +

{title}

+
{children}
+ +); + +export default Wrapper; diff --git a/packages/blockTools/demo/index.js b/packages/blockTools/demo/index.js index 95d08646a..885024146 100644 --- a/packages/blockTools/demo/index.js +++ b/packages/blockTools/demo/index.js @@ -14,14 +14,18 @@ limitations under the License. */ -import React from 'react'; import { render } from 'react-dom'; +import IconSpinner from './IconSpinner'; +import React from 'react'; +import Skeleton from './Skeleton'; +import SkeletonAvatar from './SkeletonAvatar'; +import SkeletonButton from './SkeletonButton'; +import SkeletonInput from './SkeletonInput'; +import SkeletonParagraph from './SkeletonParagraph'; +import Spinner from './Spinner'; import { makeCssClass, ErrorBoundary } from '../src'; -// eslint-disable-next-line no-undef -const documentCtx = document; - const ErrorComp = () =>
{this.unknown}
; const FallbackComp = ({ name, error }) => (
@@ -43,15 +47,19 @@ const Demo = () => ( }> -

{"makeCssClass({ color: 'red' })"} :

Red text
- -

Loading component :

+ + + + + + +
); export default Demo; -render(, documentCtx.querySelector('#root')); +render(, document.querySelector('#root')); diff --git a/packages/blockTools/package.json b/packages/blockTools/package.json index 8e0c162d9..b17bc3244 100644 --- a/packages/blockTools/package.json +++ b/packages/blockTools/package.json @@ -27,7 +27,7 @@ ], "scripts": { "start": "webpack serve", - "build": "babel src --out-dir dist", + "build": "babel src --copy-files --out-dir dist", "test": "jest --coverage", "prepare": "yarn build", "prepublishOnly": "yarn build", @@ -35,6 +35,7 @@ }, "dependencies": { "@lowdefy/helpers": "1.0.0", + "@lowdefy/type": "1.0.1", "create-emotion": "10.0.27", "react": "17.0.0-rc.2", "react-dom": "17.0.0-rc.2" diff --git a/packages/blockTools/src/Skeleton/Skeleton.css b/packages/blockTools/src/Skeleton/Skeleton.css new file mode 100644 index 000000000..7e299f74f --- /dev/null +++ b/packages/blockTools/src/Skeleton/Skeleton.css @@ -0,0 +1,44 @@ +/* + Copyright 2020 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. +*/ + +.skeleton { + position: relative; + overflow: hidden; + background: #f1f1f1; +} + +.skeleton::before { + content: ''; + display: block; + position: absolute; + left: -100%; + max-width: 600px; + top: 0; + height: 200%; + width: 100%; + background: linear-gradient(to right, transparent 0%, #eaeaea 50%, transparent 100%); + animation: load 1.8s infinite; + /* transform: rotate(45deg); */ +} + +@keyframes load { + from { + left: -100%; + } + to { + left: 100%; + } +} diff --git a/packages/blockTools/src/Skeleton/Skeleton.js b/packages/blockTools/src/Skeleton/Skeleton.js new file mode 100644 index 000000000..932083a98 --- /dev/null +++ b/packages/blockTools/src/Skeleton/Skeleton.js @@ -0,0 +1,30 @@ +/* + Copyright 2020 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 blockDefaults from '../blockDefaults'; +import './Skeleton.css'; + +const Skeleton = ({ properties, methods }) => { + return ( +
+ ); +}; + +export default blockDefaults(Skeleton); diff --git a/packages/blockTools/src/Skeleton/SkeletonAvatar.js b/packages/blockTools/src/Skeleton/SkeletonAvatar.js new file mode 100644 index 000000000..7fa7c577c --- /dev/null +++ b/packages/blockTools/src/Skeleton/SkeletonAvatar.js @@ -0,0 +1,48 @@ +/* + Copyright 2020 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 type from '@lowdefy/type'; +import blockDefaults from '../blockDefaults'; +import Skeleton from './Skeleton'; + +const SkeletonAvatar = ({ properties, methods }) => { + let size = properties.size || 32; + if (type.isString(size)) { + switch (properties.size) { + case 'small': + size = 24; + break; + case 'large': + size = 40; + break; + default: + size = 32; + } + } + return ( + + ); +}; + +export default blockDefaults(SkeletonAvatar); diff --git a/packages/blockTools/src/Skeleton/SkeletonButton.js b/packages/blockTools/src/Skeleton/SkeletonButton.js new file mode 100644 index 000000000..551be9743 --- /dev/null +++ b/packages/blockTools/src/Skeleton/SkeletonButton.js @@ -0,0 +1,45 @@ +/* + Copyright 2020 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 blockDefaults from '../blockDefaults'; +import Skeleton from './Skeleton'; + +const SkeletonButton = ({ properties, methods }) => { + let height = properties.height || 32; + switch (properties.size) { + case 'small': + height = 24; + break; + case 'large': + height = 40; + break; + default: + height = 32; + } + return ( + + ); +}; + +export default blockDefaults(SkeletonButton); diff --git a/packages/blockTools/src/Skeleton/SkeletonInput.js b/packages/blockTools/src/Skeleton/SkeletonInput.js new file mode 100644 index 000000000..7e797e6ee --- /dev/null +++ b/packages/blockTools/src/Skeleton/SkeletonInput.js @@ -0,0 +1,56 @@ +/* + Copyright 2020 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 blockDefaults from '../blockDefaults'; +import Skeleton from './Skeleton'; + +const SkeletonInput = ({ properties, methods }) => { + let inputHeight; + switch (properties.size) { + case 'small': + inputHeight = 24; + break; + case 'large': + inputHeight = 40; + break; + default: + inputHeight = 32; + } + return ( +
+ {properties.label !== false && ( + + )} + +
+ ); +}; + +export default blockDefaults(SkeletonInput); diff --git a/packages/blockTools/src/Skeleton/SkeletonParagraph.js b/packages/blockTools/src/Skeleton/SkeletonParagraph.js new file mode 100644 index 000000000..c376a8e7a --- /dev/null +++ b/packages/blockTools/src/Skeleton/SkeletonParagraph.js @@ -0,0 +1,40 @@ +/* + Copyright 2020 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 blockDefaults from '../blockDefaults'; +import Skeleton from './Skeleton'; + +const SkeletonParagraph = ({ properties, methods }) => { + const lines = [...Array(properties.lines || 4).keys()]; + return ( +
+ {lines.map((key) => ( + + ))} +
+ ); +}; + +export default blockDefaults(SkeletonParagraph); diff --git a/packages/blockTools/src/Spinner/IconSpinner.css b/packages/blockTools/src/Spinner/IconSpinner.css new file mode 100644 index 000000000..f889b5509 --- /dev/null +++ b/packages/blockTools/src/Spinner/IconSpinner.css @@ -0,0 +1,29 @@ +/* + Copyright 2020 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. +*/ + +.icon-spinner { + animation: spin-animation 1s infinite linear; + display: inline-block; +} + +@keyframes spin-animation { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} diff --git a/packages/blockTools/src/Spinner/IconSpinner.js b/packages/blockTools/src/Spinner/IconSpinner.js new file mode 100644 index 000000000..1e498eef6 --- /dev/null +++ b/packages/blockTools/src/Spinner/IconSpinner.js @@ -0,0 +1,64 @@ +/* + Copyright 2020 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 type from '@lowdefy/type'; +import blockDefaults from '../blockDefaults'; +import './IconSpinner.css'; + +const IconSpinner = ({ properties, methods }) => { + let size = properties.size || 20; + if (type.isString(size)) { + switch (properties.size) { + case 'small': + size = 20; + break; + case 'large': + size = 32; + break; + default: + size = 24; + } + } + return ( + + + + + + ); +}; + +export default blockDefaults(IconSpinner); diff --git a/packages/blockTools/src/Spinner/LogoSpinner.css b/packages/blockTools/src/Spinner/LogoSpinner.css new file mode 100644 index 000000000..85325d13b --- /dev/null +++ b/packages/blockTools/src/Spinner/LogoSpinner.css @@ -0,0 +1,43 @@ +/* + Copyright 2020 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. +*/ + +.loading-bar { + animation: loading-bar-morph 0.5s linear alternate 0s infinite; + transform-origin: bottom; +} + +@keyframes loading-bar-morph { + 0% { + transform: scaleY(0.6); + } + 100% { + transform: scaleY(0.95) translateY(5%); + } +} + +.loading-bar-sm { + animation: loading-bar-morph-sm 0.5s linear alternate 0s infinite; + transform-origin: bottom; +} + +@keyframes loading-bar-morph-sm { + 0% { + transform: scaleY(1.4) translateY(5%); + } + 100% { + transform: scaleY(0.9); + } +} diff --git a/packages/blockTools/src/Spinner/LogoSpinner.js b/packages/blockTools/src/Spinner/LogoSpinner.js new file mode 100644 index 000000000..77a748676 --- /dev/null +++ b/packages/blockTools/src/Spinner/LogoSpinner.js @@ -0,0 +1,49 @@ +/* + Copyright 2020 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 './LogoSpinner.css'; + +const LogoSpinner = ({ color, barColor }) => ( +
+ + + + + + + +
+); + +export default LogoSpinner; diff --git a/packages/blockTools/src/Spinner/Spinner.js b/packages/blockTools/src/Spinner/Spinner.js new file mode 100644 index 000000000..c928a5441 --- /dev/null +++ b/packages/blockTools/src/Spinner/Spinner.js @@ -0,0 +1,45 @@ +/* + Copyright 2020 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 LogoSpinner from './LogoSpinner'; +import blockDefaults from '../blockDefaults'; + +const Loading = ({ properties, methods }) => { + return ( +
+
+ +
+ {properties.message} +
+
+
+ ); +}; + +export default blockDefaults(Loading); diff --git a/packages/blockTools/src/index.js b/packages/blockTools/src/index.js index 805934f17..0d8c6a5fd 100644 --- a/packages/blockTools/src/index.js +++ b/packages/blockTools/src/index.js @@ -16,18 +16,28 @@ import blockDefaults from './blockDefaults'; import ErrorBoundary from './ErrorBoundary'; -import getEmotionCss from './getEmotionCss'; -import Loading from './Loading'; import makeCssClass from './makeCssClass.js'; import mediaToCssObject from './mediaToCssObject.js'; +import IconSpinner from './Spinner/IconSpinner'; +import Skeleton from './Skeleton/Skeleton'; +import SkeletonAvatar from './Skeleton/SkeletonAvatar'; +import SkeletonButton from './Skeleton/SkeletonButton'; +import SkeletonInput from './Skeleton/SkeletonInput'; +import SkeletonParagraph from './Skeleton/SkeletonParagraph'; +import Spinner from './Spinner/Spinner'; import useRunAfterUpdate from './useRunAfterUpdate'; export { blockDefaults, ErrorBoundary, - getEmotionCss, - Loading, + IconSpinner, makeCssClass, mediaToCssObject, + Skeleton, + SkeletonAvatar, + SkeletonButton, + SkeletonInput, + SkeletonParagraph, + Spinner, useRunAfterUpdate, }; diff --git a/yarn.lock b/yarn.lock index dd73bc244..13d291ca0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2836,6 +2836,7 @@ __metadata: "@babel/preset-env": 7.11.5 "@babel/preset-react": 7.10.4 "@lowdefy/helpers": 1.0.0 + "@lowdefy/type": 1.0.1 babel-jest: 26.5.2 babel-loader: 8.1.0 babel-plugin-import: 1.13.1