@readme/markdown 9.0.0 → 9.0.1

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,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<HTMLDivElement>(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 sheet = await tailwindCompiler(Array.from(classes.current), { prefix: `.${tailwindPrefix}` });
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
- // Set up mutation observer to update classes
38
+ /*
39
+ * @note: execute once on load
40
+ */
41
+ useEffect(() => {
42
+ if (!ref.current) return;
43
+
44
+ ref.current.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
45
+ updateStylesheet();
46
+ });
47
+
48
+ /*
49
+ * @note: observe for changes
50
+ */
34
51
  useEffect(() => {
35
- if (!hasDom) return;
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(document.body, {
78
+ observer.observe(ref.current, {
62
79
  subtree: true,
63
80
  childList: true,
64
81
  attributes: true,
@@ -67,12 +84,13 @@ const TailwindStyle = () => {
67
84
 
68
85
  // eslint-disable-next-line consistent-return
69
86
  return () => observer.disconnect();
70
- }, [addClasses, hasDom, updateStylesheet]);
87
+ }, [addClasses, updateStylesheet]);
71
88
 
72
- return hasDom ? (
73
- createPortal(<style data-tailwind-stylesheet>{stylesheet}</style>, document.head)
74
- ) : (
75
- <style data-tailwind-stylesheet>{stylesheet}</style>
89
+ return (
90
+ <div ref={ref} style={{ display: 'contents' }}>
91
+ <style data-tailwind-stylesheet>{stylesheet}</style>
92
+ {children}
93
+ </div>
76
94
  );
77
95
  };
78
96
 
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const TailwindStyle: () => React.JSX.Element;
2
+ declare const TailwindStyle: ({ children }: React.PropsWithChildren<unknown>) => React.JSX.Element;
3
3
  export default TailwindStyle;
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"), require("react-dom"));
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", "react-dom"], factory);
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"), require("react-dom")) : factory(root["@readme/variable"], root["@tippyjs/react"], root["mermaid"], root["React"], root["ReactDOM"]);
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__, __WEBPACK_EXTERNAL_MODULE__8759__) => {
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 sheet = await tailwindCompiler(Array.from(classes.current), { prefix: `.${tailwindPrefix}` });
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
- // Set up mutation observer to update classes
18773
+ /*
18774
+ * @note: execute once on load
18775
+ */
18776
+ (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
18777
+ if (!ref.current)
18778
+ return;
18779
+ ref.current.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
18780
+ updateStylesheet();
18781
+ });
18782
+ /*
18783
+ * @note: observe for changes
18784
+ */
18779
18785
  (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
18780
- if (!hasDom)
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(document.body, {
18810
+ observer.observe(ref.current, {
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, hasDom, updateStylesheet]);
18813
- return hasDom ? ((0,external_amd_react_dom_commonjs2_react_dom_commonjs_react_dom_root_ReactDOM_umd_react_dom_.createPortal)(external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "data-tailwind-stylesheet": true }, stylesheet), document.head)) : (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "data-tailwind-stylesheet": true }, stylesheet));
18818
+ }, [addClasses, updateStylesheet]);
18819
+ return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { ref: ref, style: { display: 'contents' } },
18820
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "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 sheet = await tailwindCompiler(Array.from(classes.current), { prefix: `.${tailwindPrefix}` });
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
- // Set up mutation observer to update classes
21802
+ /*
21803
+ * @note: execute once on load
21804
+ */
21805
+ (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
21806
+ if (!ref.current)
21807
+ return;
21808
+ ref.current.querySelectorAll(`.${tailwindPrefix}`).forEach(child => traverse(child, addClasses));
21809
+ updateStylesheet();
21810
+ });
21811
+ /*
21812
+ * @note: observe for changes
21813
+ */
21798
21814
  (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useEffect)(() => {
21799
- if (!hasDom)
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(document.body, {
21839
+ observer.observe(ref.current, {
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, hasDom, updateStylesheet]);
21832
- return hasDom ? ((0,external_amd_react_dom_commonjs2_react_dom_commonjs_react_dom_root_ReactDOM_umd_react_dom_namespaceObject.createPortal)(external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "data-tailwind-stylesheet": true }, stylesheet), document.head)) : (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "data-tailwind-stylesheet": true }, stylesheet));
21847
+ }, [addClasses, updateStylesheet]);
21848
+ return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { ref: ref, style: { display: 'contents' } },
21849
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("style", { "data-tailwind-stylesheet": true }, stylesheet),
21850
+ children));
21833
21851
  };
21834
21852
  /* harmony default export */ const components_TailwindStyle = (TailwindStyle);
21835
21853