@readme/markdown 9.0.0 → 9.0.2
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/components/TailwindStyle/index.tsx +33 -13
- package/dist/components/TailwindStyle/index.d.ts +1 -1
- package/dist/main.js +31 -23
- package/dist/main.node.js +27 -9
- package/dist/main.node.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { createPortal } from 'react-dom';
|
|
3
2
|
|
|
4
3
|
import { tailwindPrefix } from '../../utils/consts';
|
|
5
4
|
import { tailwindCompiler } from '../../utils/tailwind-compiler';
|
|
@@ -12,10 +11,10 @@ const traverse = (node: Node, callback: (element: Node) => void) => {
|
|
|
12
11
|
});
|
|
13
12
|
};
|
|
14
13
|
|
|
15
|
-
const TailwindStyle = () => {
|
|
14
|
+
const TailwindStyle = ({ children }: React.PropsWithChildren<unknown>) => {
|
|
16
15
|
const [stylesheet, setStylesheet] = useState('');
|
|
17
|
-
const hasDom = typeof document !== 'undefined';
|
|
18
16
|
const classes = useRef(new Set<string>());
|
|
17
|
+
const ref = useRef<HTMLStyleElement>(null);
|
|
19
18
|
|
|
20
19
|
const addClasses = useCallback((element: Node) => {
|
|
21
20
|
if (!(element instanceof HTMLElement)) return;
|
|
@@ -26,13 +25,31 @@ const TailwindStyle = () => {
|
|
|
26
25
|
}, []);
|
|
27
26
|
|
|
28
27
|
const updateStylesheet = useCallback(async () => {
|
|
29
|
-
const
|
|
28
|
+
const candidates = classes.current;
|
|
29
|
+
if (candidates.size === 0) return;
|
|
30
|
+
|
|
31
|
+
const sheet = await tailwindCompiler(Array.from(candidates), { prefix: `.${tailwindPrefix}` });
|
|
32
|
+
/* @note: don't insert an empty stylesheet */
|
|
33
|
+
if (sheet.css.match(/^@layer utilities;/m)) return;
|
|
34
|
+
|
|
30
35
|
setStylesheet(sheet.css);
|
|
31
36
|
}, []);
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
/*
|
|
39
|
+
* @note: execute once on load
|
|
40
|
+
*/
|
|
34
41
|
useEffect(() => {
|
|
35
|
-
if (!
|
|
42
|
+
if (!ref.current) return;
|
|
43
|
+
|
|
44
|
+
ref.current.parentElement.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
|
|
45
|
+
updateStylesheet();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* @note: observe for changes
|
|
50
|
+
*/
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (!ref.current) return;
|
|
36
53
|
|
|
37
54
|
const observer = new MutationObserver((records: MutationRecord[]) => {
|
|
38
55
|
let shouldUpdate = false;
|
|
@@ -58,7 +75,7 @@ const TailwindStyle = () => {
|
|
|
58
75
|
});
|
|
59
76
|
});
|
|
60
77
|
|
|
61
|
-
observer.observe(
|
|
78
|
+
observer.observe(ref.current.parentElement, {
|
|
62
79
|
subtree: true,
|
|
63
80
|
childList: true,
|
|
64
81
|
attributes: true,
|
|
@@ -67,12 +84,15 @@ const TailwindStyle = () => {
|
|
|
67
84
|
|
|
68
85
|
// eslint-disable-next-line consistent-return
|
|
69
86
|
return () => observer.disconnect();
|
|
70
|
-
}, [addClasses,
|
|
71
|
-
|
|
72
|
-
return
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
}, [addClasses, updateStylesheet]);
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<>
|
|
91
|
+
<style ref={ref} data-tailwind-stylesheet>
|
|
92
|
+
{stylesheet}
|
|
93
|
+
</style>
|
|
94
|
+
{children}
|
|
95
|
+
</>
|
|
76
96
|
);
|
|
77
97
|
};
|
|
78
98
|
|
package/dist/main.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
2
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory(require("@readme/variable"), require("@tippyjs/react"), require("mermaid"), require("react")
|
|
3
|
+
module.exports = factory(require("@readme/variable"), require("@tippyjs/react"), require("mermaid"), require("react"));
|
|
4
4
|
else if(typeof define === 'function' && define.amd)
|
|
5
|
-
define(["@readme/variable", "@tippyjs/react", "mermaid", "react"
|
|
5
|
+
define(["@readme/variable", "@tippyjs/react", "mermaid", "react"], factory);
|
|
6
6
|
else {
|
|
7
|
-
var a = typeof exports === 'object' ? factory(require("@readme/variable"), require("@tippyjs/react"), require("mermaid"), require("react")
|
|
7
|
+
var a = typeof exports === 'object' ? factory(require("@readme/variable"), require("@tippyjs/react"), require("mermaid"), require("react")) : factory(root["@readme/variable"], root["@tippyjs/react"], root["mermaid"], root["React"]);
|
|
8
8
|
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
|
9
9
|
}
|
|
10
|
-
})(self, (__WEBPACK_EXTERNAL_MODULE__8167__, __WEBPACK_EXTERNAL_MODULE__6570__, __WEBPACK_EXTERNAL_MODULE__1387__, __WEBPACK_EXTERNAL_MODULE__1307__
|
|
10
|
+
})(self, (__WEBPACK_EXTERNAL_MODULE__8167__, __WEBPACK_EXTERNAL_MODULE__6570__, __WEBPACK_EXTERNAL_MODULE__1387__, __WEBPACK_EXTERNAL_MODULE__1307__) => {
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
@@ -17766,14 +17766,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__1307__;
|
|
|
17766
17766
|
|
|
17767
17767
|
/***/ }),
|
|
17768
17768
|
|
|
17769
|
-
/***/ 8759:
|
|
17770
|
-
/***/ ((module) => {
|
|
17771
|
-
|
|
17772
|
-
"use strict";
|
|
17773
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__8759__;
|
|
17774
|
-
|
|
17775
|
-
/***/ }),
|
|
17776
|
-
|
|
17777
17769
|
/***/ 9746:
|
|
17778
17770
|
/***/ (() => {
|
|
17779
17771
|
|
|
@@ -18589,8 +18581,6 @@ const TailwindRoot = ({ children, flow }) => {
|
|
|
18589
18581
|
};
|
|
18590
18582
|
/* harmony default export */ const components_TailwindRoot = (TailwindRoot);
|
|
18591
18583
|
|
|
18592
|
-
// EXTERNAL MODULE: external {"amd":"react-dom","commonjs2":"react-dom","commonjs":"react-dom","root":"ReactDOM","umd":"react-dom"}
|
|
18593
|
-
var external_amd_react_dom_commonjs2_react_dom_commonjs_react_dom_root_ReactDOM_umd_react_dom_ = __webpack_require__(8759);
|
|
18594
18584
|
// EXTERNAL MODULE: ./node_modules/postcss/lib/postcss.js
|
|
18595
18585
|
var postcss = __webpack_require__(2895);
|
|
18596
18586
|
var postcss_default = /*#__PURE__*/__webpack_require__.n(postcss);
|
|
@@ -18753,17 +18743,16 @@ async function tailwindCompiler(classes, { prefix }) {
|
|
|
18753
18743
|
|
|
18754
18744
|
|
|
18755
18745
|
|
|
18756
|
-
|
|
18757
18746
|
const traverse = (node, callback) => {
|
|
18758
18747
|
callback(node);
|
|
18759
18748
|
node.childNodes.forEach(child => {
|
|
18760
18749
|
traverse(child, callback);
|
|
18761
18750
|
});
|
|
18762
18751
|
};
|
|
18763
|
-
const TailwindStyle = () => {
|
|
18752
|
+
const TailwindStyle = ({ children }) => {
|
|
18764
18753
|
const [stylesheet, setStylesheet] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)('');
|
|
18765
|
-
const hasDom = typeof document !== 'undefined';
|
|
18766
18754
|
const classes = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useRef)(new Set());
|
|
18755
|
+
const ref = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useRef)(null);
|
|
18767
18756
|
const addClasses = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useCallback)((element) => {
|
|
18768
18757
|
if (!(element instanceof HTMLElement))
|
|
18769
18758
|
return;
|
|
@@ -18772,12 +18761,29 @@ const TailwindStyle = () => {
|
|
|
18772
18761
|
});
|
|
18773
18762
|
}, []);
|
|
18774
18763
|
const updateStylesheet = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useCallback)(async () => {
|
|
18775
|
-
const
|
|
18764
|
+
const candidates = classes.current;
|
|
18765
|
+
if (candidates.size === 0)
|
|
18766
|
+
return;
|
|
18767
|
+
const sheet = await tailwindCompiler(Array.from(candidates), { prefix: `.${tailwindPrefix}` });
|
|
18768
|
+
/* @note: don't insert an empty stylesheet */
|
|
18769
|
+
if (sheet.css.match(/^@layer utilities;/m))
|
|
18770
|
+
return;
|
|
18776
18771
|
setStylesheet(sheet.css);
|
|
18777
18772
|
}, []);
|
|
18778
|
-
|
|
18773
|
+
/*
|
|
18774
|
+
* @note: execute once on load
|
|
18775
|
+
*/
|
|
18779
18776
|
(0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
|
|
18780
|
-
if (!
|
|
18777
|
+
if (!ref.current)
|
|
18778
|
+
return;
|
|
18779
|
+
ref.current.parentElement.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
|
|
18780
|
+
updateStylesheet();
|
|
18781
|
+
});
|
|
18782
|
+
/*
|
|
18783
|
+
* @note: observe for changes
|
|
18784
|
+
*/
|
|
18785
|
+
(0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
|
|
18786
|
+
if (!ref.current)
|
|
18781
18787
|
return;
|
|
18782
18788
|
const observer = new MutationObserver((records) => {
|
|
18783
18789
|
let shouldUpdate = false;
|
|
@@ -18801,7 +18807,7 @@ const TailwindStyle = () => {
|
|
|
18801
18807
|
}
|
|
18802
18808
|
});
|
|
18803
18809
|
});
|
|
18804
|
-
observer.observe(
|
|
18810
|
+
observer.observe(ref.current.parentElement, {
|
|
18805
18811
|
subtree: true,
|
|
18806
18812
|
childList: true,
|
|
18807
18813
|
attributes: true,
|
|
@@ -18809,8 +18815,10 @@ const TailwindStyle = () => {
|
|
|
18809
18815
|
});
|
|
18810
18816
|
// eslint-disable-next-line consistent-return
|
|
18811
18817
|
return () => observer.disconnect();
|
|
18812
|
-
}, [addClasses,
|
|
18813
|
-
return
|
|
18818
|
+
}, [addClasses, updateStylesheet]);
|
|
18819
|
+
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement((external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default()).Fragment, null,
|
|
18820
|
+
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { ref: ref, "data-tailwind-stylesheet": true }, stylesheet),
|
|
18821
|
+
children));
|
|
18814
18822
|
};
|
|
18815
18823
|
/* harmony default export */ const components_TailwindStyle = (TailwindStyle);
|
|
18816
18824
|
|
package/dist/main.node.js
CHANGED
|
@@ -21772,17 +21772,16 @@ async function tailwindCompiler(classes, { prefix }) {
|
|
|
21772
21772
|
|
|
21773
21773
|
|
|
21774
21774
|
|
|
21775
|
-
|
|
21776
21775
|
const traverse = (node, callback) => {
|
|
21777
21776
|
callback(node);
|
|
21778
21777
|
node.childNodes.forEach(child => {
|
|
21779
21778
|
traverse(child, callback);
|
|
21780
21779
|
});
|
|
21781
21780
|
};
|
|
21782
|
-
const TailwindStyle = () => {
|
|
21781
|
+
const TailwindStyle = ({ children }) => {
|
|
21783
21782
|
const [stylesheet, setStylesheet] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)('');
|
|
21784
|
-
const hasDom = typeof document !== 'undefined';
|
|
21785
21783
|
const classes = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useRef)(new Set());
|
|
21784
|
+
const ref = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useRef)(null);
|
|
21786
21785
|
const addClasses = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useCallback)((element) => {
|
|
21787
21786
|
if (!(element instanceof HTMLElement))
|
|
21788
21787
|
return;
|
|
@@ -21791,12 +21790,29 @@ const TailwindStyle = () => {
|
|
|
21791
21790
|
});
|
|
21792
21791
|
}, []);
|
|
21793
21792
|
const updateStylesheet = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useCallback)(async () => {
|
|
21794
|
-
const
|
|
21793
|
+
const candidates = classes.current;
|
|
21794
|
+
if (candidates.size === 0)
|
|
21795
|
+
return;
|
|
21796
|
+
const sheet = await tailwindCompiler(Array.from(candidates), { prefix: `.${tailwindPrefix}` });
|
|
21797
|
+
/* @note: don't insert an empty stylesheet */
|
|
21798
|
+
if (sheet.css.match(/^@layer utilities;/m))
|
|
21799
|
+
return;
|
|
21795
21800
|
setStylesheet(sheet.css);
|
|
21796
21801
|
}, []);
|
|
21797
|
-
|
|
21802
|
+
/*
|
|
21803
|
+
* @note: execute once on load
|
|
21804
|
+
*/
|
|
21798
21805
|
(0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
|
|
21799
|
-
if (!
|
|
21806
|
+
if (!ref.current)
|
|
21807
|
+
return;
|
|
21808
|
+
ref.current.parentElement.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
|
|
21809
|
+
updateStylesheet();
|
|
21810
|
+
});
|
|
21811
|
+
/*
|
|
21812
|
+
* @note: observe for changes
|
|
21813
|
+
*/
|
|
21814
|
+
(0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
|
|
21815
|
+
if (!ref.current)
|
|
21800
21816
|
return;
|
|
21801
21817
|
const observer = new MutationObserver((records) => {
|
|
21802
21818
|
let shouldUpdate = false;
|
|
@@ -21820,7 +21836,7 @@ const TailwindStyle = () => {
|
|
|
21820
21836
|
}
|
|
21821
21837
|
});
|
|
21822
21838
|
});
|
|
21823
|
-
observer.observe(
|
|
21839
|
+
observer.observe(ref.current.parentElement, {
|
|
21824
21840
|
subtree: true,
|
|
21825
21841
|
childList: true,
|
|
21826
21842
|
attributes: true,
|
|
@@ -21828,8 +21844,10 @@ const TailwindStyle = () => {
|
|
|
21828
21844
|
});
|
|
21829
21845
|
// eslint-disable-next-line consistent-return
|
|
21830
21846
|
return () => observer.disconnect();
|
|
21831
|
-
}, [addClasses,
|
|
21832
|
-
return
|
|
21847
|
+
}, [addClasses, updateStylesheet]);
|
|
21848
|
+
return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement((external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default()).Fragment, null,
|
|
21849
|
+
external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { ref: ref, "data-tailwind-stylesheet": true }, stylesheet),
|
|
21850
|
+
children));
|
|
21833
21851
|
};
|
|
21834
21852
|
/* harmony default export */ const components_TailwindStyle = (TailwindStyle);
|
|
21835
21853
|
|