@acusti/styling 0.5.0 → 0.6.0-alpha
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.
- package/dist/Style.js +15 -12
- package/dist/Style.js.flow +2 -2
- package/dist/Style.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +2 -3
- package/dist/index.js.flow +2 -2
- package/dist/style-registry.d.ts +1 -5
- package/dist/style-registry.js +16 -16
- package/dist/style-registry.js.flow +6 -7
- package/package.json +3 -3
- package/src/Style.tsx +8 -1
package/dist/Style.js
CHANGED
|
@@ -4,19 +4,19 @@ const { useCallback, useEffect, useRef, useState } = React;
|
|
|
4
4
|
const Style = ({ children: styles }) => {
|
|
5
5
|
const [ownerDocument, setOwnerDocument] = useState(null);
|
|
6
6
|
const handleRef = useCallback((element) => {
|
|
7
|
-
if (!element)
|
|
7
|
+
if (!element)
|
|
8
|
+
return;
|
|
8
9
|
setOwnerDocument(element.ownerDocument);
|
|
9
10
|
}, []);
|
|
10
|
-
useEffect(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[ownerDocument],
|
|
16
|
-
);
|
|
11
|
+
useEffect(() => () => {
|
|
12
|
+
if (!ownerDocument)
|
|
13
|
+
return;
|
|
14
|
+
unregisterStyles({ ownerDocument, styles });
|
|
15
|
+
}, [ownerDocument]);
|
|
17
16
|
const previousStylesRef = useRef('');
|
|
18
17
|
useEffect(() => {
|
|
19
|
-
if (!ownerDocument)
|
|
18
|
+
if (!ownerDocument)
|
|
19
|
+
return;
|
|
20
20
|
updateStyles({
|
|
21
21
|
ownerDocument,
|
|
22
22
|
previousStyles: previousStylesRef.current,
|
|
@@ -24,8 +24,11 @@ const Style = ({ children: styles }) => {
|
|
|
24
24
|
});
|
|
25
25
|
previousStylesRef.current = styles;
|
|
26
26
|
}, [ownerDocument, styles]);
|
|
27
|
-
if (ownerDocument)
|
|
28
|
-
|
|
27
|
+
if (ownerDocument)
|
|
28
|
+
return null;
|
|
29
|
+
return (React.createElement("style", { dangerouslySetInnerHTML: {
|
|
30
|
+
__html: styles,
|
|
31
|
+
}, ref: handleRef }));
|
|
29
32
|
};
|
|
30
33
|
export default Style;
|
|
31
|
-
//# sourceMappingURL=Style.js.map
|
|
34
|
+
//# sourceMappingURL=Style.js.map
|
package/dist/Style.js.flow
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Flowtype definitions for Style
|
|
3
3
|
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.
|
|
4
|
+
* Flowgen v1.20.0
|
|
5
5
|
* @flow
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
declare type Props = {|
|
|
9
|
-
|
|
9
|
+
children: string,
|
|
10
10
|
|};
|
|
11
11
|
declare var Style: (x: Props) => React$Node | null;
|
|
12
12
|
declare export default typeof Style;
|
package/dist/Style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Style.js","sourceRoot":"","sources":["../src/Style.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAM3D,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAE,EAAE;IAC1C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,OAA2B,EAAE,EAAE;QAC1D,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACL,GAAG,EAAE,CAAC,GAAG,EAAE;QACP,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,gBAAgB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,YAAY,CAAC;YACT,aAAa;YACb,cAAc,EAAE,iBAAiB,CAAC,OAAO;YACzC,MAAM;SACT,CAAC,CAAC;QAEH,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC;IACvC,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,+
|
|
1
|
+
{"version":3,"file":"Style.js","sourceRoot":"","sources":["../src/Style.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAM3D,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAE,EAAE;IAC1C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,OAA2B,EAAE,EAAE;QAC1D,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACL,GAAG,EAAE,CAAC,GAAG,EAAE;QACP,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,gBAAgB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,YAAY,CAAC;YACT,aAAa;YACb,cAAc,EAAE,iBAAiB,CAAC,OAAO;YACzC,MAAM;SACT,CAAC,CAAC;QAEH,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC;IACvC,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,IAAI,aAAa;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,CACH,+BACI,uBAAuB,EAAE;YACrB,MAAM,EAAE,MAAM;SACjB,EACD,GAAG,EAAE,SAAS,GAChB,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export { default as Style } from './Style.js';
|
|
2
|
-
export declare const SYSTEM_UI_FONT =
|
|
3
|
-
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif';
|
|
2
|
+
export declare const SYSTEM_UI_FONT = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { default as Style } from './Style.js';
|
|
2
|
-
export const SYSTEM_UI_FONT =
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
2
|
+
export const SYSTEM_UI_FONT = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif';
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.flow
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Flowtype definitions for index
|
|
3
3
|
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.
|
|
4
|
+
* Flowgen v1.20.0
|
|
5
5
|
* @flow
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
declare export { default as Style } from
|
|
8
|
+
declare export { default as Style } from "./Style.js";
|
|
9
9
|
declare export var SYSTEM_UI_FONT: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif';
|
package/dist/style-registry.d.ts
CHANGED
|
@@ -9,9 +9,5 @@ declare type UpdatePayload = {
|
|
|
9
9
|
previousStyles: string;
|
|
10
10
|
styles: string;
|
|
11
11
|
};
|
|
12
|
-
export declare const updateStyles: ({
|
|
13
|
-
ownerDocument,
|
|
14
|
-
previousStyles,
|
|
15
|
-
styles,
|
|
16
|
-
}: UpdatePayload) => void;
|
|
12
|
+
export declare const updateStyles: ({ ownerDocument, previousStyles, styles, }: UpdatePayload) => void;
|
|
17
13
|
export {};
|
package/dist/style-registry.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
const styleRegistry = new Map();
|
|
2
2
|
export const registerStyles = ({ ownerDocument, styles }) => {
|
|
3
|
-
if (!styles)
|
|
3
|
+
if (!styles)
|
|
4
|
+
return;
|
|
4
5
|
const stylesMap = styleRegistry.get(styles);
|
|
5
|
-
const existingStylesItem =
|
|
6
|
-
stylesMap === null || stylesMap === void 0
|
|
7
|
-
? void 0
|
|
8
|
-
: stylesMap.get(ownerDocument);
|
|
6
|
+
const existingStylesItem = stylesMap === null || stylesMap === void 0 ? void 0 : stylesMap.get(ownerDocument);
|
|
9
7
|
if (existingStylesItem) {
|
|
10
8
|
existingStylesItem.referenceCount++;
|
|
11
9
|
return;
|
|
@@ -22,15 +20,15 @@ export const registerStyles = ({ ownerDocument, styles }) => {
|
|
|
22
20
|
styleRegistry.set(styles, new Map([[ownerDocument, stylesItem]]));
|
|
23
21
|
};
|
|
24
22
|
export const unregisterStyles = ({ ownerDocument, styles }) => {
|
|
25
|
-
if (!styles)
|
|
23
|
+
if (!styles)
|
|
24
|
+
return;
|
|
26
25
|
const stylesMap = styleRegistry.get(styles);
|
|
27
|
-
const stylesItem =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
: stylesMap.get(ownerDocument);
|
|
31
|
-
if (!stylesMap || !stylesItem) return;
|
|
26
|
+
const stylesItem = stylesMap === null || stylesMap === void 0 ? void 0 : stylesMap.get(ownerDocument);
|
|
27
|
+
if (!stylesMap || !stylesItem)
|
|
28
|
+
return;
|
|
32
29
|
stylesItem.referenceCount--;
|
|
33
|
-
if (stylesItem.referenceCount)
|
|
30
|
+
if (stylesItem.referenceCount)
|
|
31
|
+
return;
|
|
34
32
|
// If no more references to these styles in this document, remove <style> element from the DOM
|
|
35
33
|
const { parentElement } = stylesItem.element;
|
|
36
34
|
if (parentElement) {
|
|
@@ -38,15 +36,17 @@ export const unregisterStyles = ({ ownerDocument, styles }) => {
|
|
|
38
36
|
}
|
|
39
37
|
// Then remove the document Map
|
|
40
38
|
stylesMap.delete(ownerDocument);
|
|
41
|
-
if (stylesMap.size)
|
|
39
|
+
if (stylesMap.size)
|
|
40
|
+
return;
|
|
42
41
|
// If no more references to these styles in any document, remove it entirely
|
|
43
42
|
styleRegistry.delete(styles);
|
|
44
43
|
};
|
|
45
|
-
export const updateStyles = ({ ownerDocument, previousStyles, styles }) => {
|
|
46
|
-
if (previousStyles === styles)
|
|
44
|
+
export const updateStyles = ({ ownerDocument, previousStyles, styles, }) => {
|
|
45
|
+
if (previousStyles === styles)
|
|
46
|
+
return;
|
|
47
47
|
if (previousStyles) {
|
|
48
48
|
unregisterStyles({ ownerDocument, styles: previousStyles });
|
|
49
49
|
}
|
|
50
50
|
registerStyles({ ownerDocument, styles });
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=style-registry.js.map
|
|
52
|
+
//# sourceMappingURL=style-registry.js.map
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Flowtype definitions for style-registry
|
|
3
3
|
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.
|
|
4
|
+
* Flowgen v1.20.0
|
|
5
5
|
* @flow
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
declare type Payload = {|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
ownerDocument: Document,
|
|
10
|
+
styles: string,
|
|
11
11
|
|};
|
|
12
12
|
declare export var registerStyles: (x: Payload) => void;
|
|
13
13
|
declare export var unregisterStyles: (x: Payload) => void;
|
|
14
14
|
declare type UpdatePayload = {|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
ownerDocument: Document,
|
|
16
|
+
previousStyles: string,
|
|
17
|
+
styles: string,
|
|
18
18
|
|};
|
|
19
19
|
declare export var updateStyles: (x: UpdatePayload) => void;
|
|
20
|
-
declare export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acusti/styling",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0-alpha",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://github.com/acusti/uikit/tree/main/packages/styling#readme",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/react": "^
|
|
25
|
-
"typescript": "
|
|
24
|
+
"@types/react": "^18.0.15",
|
|
25
|
+
"typescript": "~4.6.4"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^16.8 || ^17 || ^18",
|
package/src/Style.tsx
CHANGED
|
@@ -40,7 +40,14 @@ const Style = ({ children: styles }: Props) => {
|
|
|
40
40
|
|
|
41
41
|
if (ownerDocument) return null;
|
|
42
42
|
|
|
43
|
-
return
|
|
43
|
+
return (
|
|
44
|
+
<style
|
|
45
|
+
dangerouslySetInnerHTML={{
|
|
46
|
+
__html: styles,
|
|
47
|
+
}}
|
|
48
|
+
ref={handleRef}
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
44
51
|
};
|
|
45
52
|
|
|
46
53
|
export default Style;
|