@preply/ds-web-root 0.7.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { useTheme, useColorScheme } from '@preply/ds-web-core';
|
|
2
2
|
import React, { useState, useMemo, useEffect } from 'react';
|
|
3
3
|
|
|
4
|
+
const getTargetElement = (target) => {
|
|
5
|
+
if (typeof target === 'string') {
|
|
6
|
+
const el = document.getElementById(target);
|
|
7
|
+
if (!el) {
|
|
8
|
+
throw new Error(`Target element not found: "${target}"`);
|
|
9
|
+
}
|
|
10
|
+
return el;
|
|
11
|
+
}
|
|
12
|
+
return target;
|
|
13
|
+
};
|
|
4
14
|
const Root = ({ tag, target, children }) => {
|
|
5
15
|
const { theme } = useTheme();
|
|
6
16
|
const { colorScheme } = useColorScheme();
|
|
@@ -8,11 +18,8 @@ const Root = ({ tag, target, children }) => {
|
|
|
8
18
|
const Tag = tag || 'div';
|
|
9
19
|
const classNames = useMemo(() => [...theme.getClassName().split(' '), ...colorScheme.getClassName().split(' ')], [colorScheme, theme]);
|
|
10
20
|
useEffect(() => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (!el) {
|
|
14
|
-
throw new Error(`Target element not found: "${target}"`);
|
|
15
|
-
}
|
|
21
|
+
const el = getTargetElement(target);
|
|
22
|
+
if (el) {
|
|
16
23
|
el.classList.remove(...previousClassNames);
|
|
17
24
|
el.classList.add(...classNames);
|
|
18
25
|
}
|
|
@@ -25,4 +32,4 @@ const Root = ({ tag, target, children }) => {
|
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
export { Root };
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jvb3QvY29tcG9uZW50cy9Sb290LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb2xvclNjaGVtZSwgdXNlVGhlbWUgfSBmcm9tICdAcHJlcGx5L2RzLXdlYi1jb3JlJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSb290UHJvcHMge1xuICAgIHRhZz86IGtleW9mIEpTWC5JbnRyaW5zaWNFbGVtZW50cztcbiAgICB0YXJnZXQ/
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jvb3QvY29tcG9uZW50cy9Sb290LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb2xvclNjaGVtZSwgdXNlVGhlbWUgfSBmcm9tICdAcHJlcGx5L2RzLXdlYi1jb3JlJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBSb290UHJvcHMge1xuICAgIHRhZz86IGtleW9mIEpTWC5JbnRyaW5zaWNFbGVtZW50cztcbiAgICB0YXJnZXQ/OiBzdHJpbmcgfCBFbGVtZW50O1xufVxuXG5jb25zdCBnZXRUYXJnZXRFbGVtZW50ID0gKHRhcmdldD86IHN0cmluZyB8IEVsZW1lbnQpOiBFbGVtZW50IHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXQpO1xuICAgICAgICBpZiAoIWVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhcmdldCBlbGVtZW50IG5vdCBmb3VuZDogXCIke3RhcmdldH1cImApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbDtcbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbn07XG5cbmV4cG9ydCBjb25zdCBSb290OiBGQzxSb290UHJvcHM+ID0gKHsgdGFnLCB0YXJnZXQsIGNoaWxkcmVuIH0pID0+IHtcbiAgICBjb25zdCB7IHRoZW1lIH0gPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IHsgY29sb3JTY2hlbWUgfSA9IHVzZUNvbG9yU2NoZW1lKCk7XG4gICAgY29uc3QgW3ByZXZpb3VzQ2xhc3NOYW1lcywgc2V0UHJldmlvdXNDbGFzc05hbWVzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBUYWcgPSB0YWcgfHwgJ2Rpdic7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IFsuLi50aGVtZS5nZXRDbGFzc05hbWUoKS5zcGxpdCgnICcpLCAuLi5jb2xvclNjaGVtZS5nZXRDbGFzc05hbWUoKS5zcGxpdCgnICcpXSxcbiAgICAgICAgW2NvbG9yU2NoZW1lLCB0aGVtZV0sXG4gICAgKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gZ2V0VGFyZ2V0RWxlbWVudCh0YXJnZXQpO1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoLi4ucHJldmlvdXNDbGFzc05hbWVzKTtcbiAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3NOYW1lcyk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0UHJldmlvdXNDbGFzc05hbWVzKGNsYXNzTmFtZXMpO1xuICAgIH0sIFtjbGFzc05hbWVzLCBwcmV2aW91c0NsYXNzTmFtZXMsIHRhcmdldF0pO1xuXG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xuICAgIH1cblxuICAgIHJldHVybiA8VGFnIGNsYXNzTmFtZT17Y2xhc3NOYW1lcy5qb2luKCcgJyl9PntjaGlsZHJlbn08L1RhZz47XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUF5QjtJQUMvQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM1QixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztNQUVXLElBQUksR0FBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0lBQ3pELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUM3QixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7SUFDekMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLEdBQUcsUUFBUSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRTNFLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUM7SUFDekIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUN0QixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNwRixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FDdkIsQ0FBQztJQUVGLFNBQVMsQ0FBQztRQUNOLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksRUFBRSxFQUFFO1lBQ0osRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzNDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7U0FDbkM7UUFDRCxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUNyQyxFQUFFLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFN0MsSUFBSSxNQUFNLEVBQUU7UUFDUixPQUFPLDBDQUFHLFFBQVEsQ0FBSSxDQUFDO0tBQzFCO0lBRUQsT0FBTyxvQkFBQyxHQUFHLElBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUcsUUFBUSxDQUFPLENBQUM7QUFDbEU7Ozs7In0=
|
|
@@ -10,4 +10,4 @@ const RootProvider = ({ theme = THEME_DEFAULT, colorScheme = COLOR_SCHEME_DEFAUL
|
|
|
10
10
|
React.createElement(Root, { tag: tag, target: target }, children)))));
|
|
11
11
|
|
|
12
12
|
export { RootProvider };
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdFByb3ZpZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm9vdC9wcm92aWRlcnMvUm9vdFByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lTmFtZSwgVGhlbWVOYW1lIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IENPTE9SX1NDSEVNRV9ERUZBVUxULCBUSEVNRV9ERUZBVUxUIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7XG4gICAgQ29sb3JTY2hlbWVQcm92aWRlcixcbiAgICBUaGVtZVByb3ZpZGVyLFxuICAgIFRoZW1lc1Byb3ZpZGVyLFxuICAgIGNvbG9yU2NoZW1lcyxcbn0gZnJvbSAnQHByZXBseS9kcy13ZWItY29yZSc7XG5pbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHRoZW1lcyB9IGZyb20gJy4uLy4uL3RoZW1lcyc7XG5pbXBvcnQgeyBSb290IH0gZnJvbSAnLi4vY29tcG9uZW50cy9Sb290JztcblxuZXhwb3J0IGludGVyZmFjZSBSb290UHJvdmlkZXJQcm9wcyB7XG4gICAgdGhlbWU/OiBUaGVtZU5hbWU7XG4gICAgY29sb3JTY2hlbWU/
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9vdFByb3ZpZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm9vdC9wcm92aWRlcnMvUm9vdFByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lTmFtZSwgVGhlbWVOYW1lIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IENPTE9SX1NDSEVNRV9ERUZBVUxULCBUSEVNRV9ERUZBVUxUIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7XG4gICAgQ29sb3JTY2hlbWVQcm92aWRlcixcbiAgICBUaGVtZVByb3ZpZGVyLFxuICAgIFRoZW1lc1Byb3ZpZGVyLFxuICAgIGNvbG9yU2NoZW1lcyxcbn0gZnJvbSAnQHByZXBseS9kcy13ZWItY29yZSc7XG5pbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHRoZW1lcyB9IGZyb20gJy4uLy4uL3RoZW1lcyc7XG5pbXBvcnQgeyBSb290IH0gZnJvbSAnLi4vY29tcG9uZW50cy9Sb290JztcblxuZXhwb3J0IGludGVyZmFjZSBSb290UHJvdmlkZXJQcm9wcyB7XG4gICAgdGhlbWU/OiBUaGVtZU5hbWU7XG4gICAgY29sb3JTY2hlbWU/OiBDb2xvclNjaGVtZU5hbWU7XG4gICAgdGFnPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzO1xuICAgIHRhcmdldD86IHN0cmluZyB8IEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBSb290UHJvdmlkZXI6IEZDPFJvb3RQcm92aWRlclByb3BzPiA9ICh7XG4gICAgdGhlbWUgPSBUSEVNRV9ERUZBVUxULFxuICAgIGNvbG9yU2NoZW1lID0gQ09MT1JfU0NIRU1FX0RFRkFVTFQsXG4gICAgdGFnLFxuICAgIHRhcmdldCxcbiAgICBjaGlsZHJlbixcbn0pID0+IChcbiAgICA8VGhlbWVzUHJvdmlkZXIgdGhlbWVzPXtPYmplY3QudmFsdWVzKHRoZW1lcyl9IGNvbG9yU2NoZW1lcz17Y29sb3JTY2hlbWVzfT5cbiAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgICAgIDxDb2xvclNjaGVtZVByb3ZpZGVyIGNvbG9yU2NoZW1lPXtjb2xvclNjaGVtZX0+XG4gICAgICAgICAgICAgICAgPFJvb3QgdGFnPXt0YWd9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgIDwvQ29sb3JTY2hlbWVQcm92aWRlcj5cbiAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgIDwvVGhlbWVzUHJvdmlkZXI+XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztNQW9CYSxZQUFZLEdBQTBCLENBQUMsRUFDaEQsS0FBSyxHQUFHLGFBQWEsRUFDckIsV0FBVyxHQUFHLG9CQUFvQixFQUNsQyxHQUFHLEVBQ0gsTUFBTSxFQUNOLFFBQVEsR0FDWCxNQUNHLG9CQUFDLGNBQWMsSUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsWUFBWTtJQUNyRSxvQkFBQyxhQUFhLElBQUMsS0FBSyxFQUFFLEtBQUs7UUFDdkIsb0JBQUMsbUJBQW1CLElBQUMsV0FBVyxFQUFFLFdBQVc7WUFDekMsb0JBQUMsSUFBSSxJQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFDekIsUUFBUSxDQUNOLENBQ1csQ0FDVixDQUNIOzs7OyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@preply/ds-web-root",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
"dev": "run build:rollup -w"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@preply/ds-core": "0.
|
|
22
|
-
"@preply/ds-theme-base-ui": "0.
|
|
23
|
-
"@preply/ds-theme-preply-ui": "0.
|
|
24
|
-
"@preply/ds-web-core": "0.
|
|
21
|
+
"@preply/ds-core": "0.8.0",
|
|
22
|
+
"@preply/ds-theme-base-ui": "0.8.0",
|
|
23
|
+
"@preply/ds-theme-preply-ui": "0.8.0",
|
|
24
|
+
"@preply/ds-web-core": "0.8.0"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@preply/ds-core": "0.
|
|
28
|
-
"@preply/ds-theme-base-ui": "0.
|
|
29
|
-
"@preply/ds-theme-preply-ui": "0.
|
|
30
|
-
"@preply/ds-web-core": "0.
|
|
27
|
+
"@preply/ds-core": "0.8.0",
|
|
28
|
+
"@preply/ds-theme-base-ui": "0.8.0",
|
|
29
|
+
"@preply/ds-theme-preply-ui": "0.8.0",
|
|
30
|
+
"@preply/ds-web-core": "0.8.0",
|
|
31
31
|
"react": "^16.8.3",
|
|
32
32
|
"react-dom": "^16.8.3"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "13b855b27057d9b4bd5256774682d762adbbfbca"
|
|
35
35
|
}
|