@readme/markdown 7.4.2 → 7.5.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.
package/README.md CHANGED
@@ -50,6 +50,14 @@ A module ([`RMDXModule`](#rmdxmodule)) of renderable components
50
50
 
51
51
  Compiles an ast to mdx.
52
52
 
53
+ ###### Parameters
54
+
55
+ Extends [`remark-stringify` options](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify#options).
56
+
57
+ ###### Returns
58
+
59
+ An mdx string.
60
+
53
61
  #### `mdast`
54
62
 
55
63
  Parses mdx to an mdast.
@@ -3,9 +3,12 @@ import React, { useState } from 'react';
3
3
  import './style.scss';
4
4
 
5
5
  const Accordion = ({ children, icon, iconColor, title }) => {
6
+ const [isOpen, setIsOpen] = useState(false);
7
+
6
8
  return (
7
- <details className="Accordion">
9
+ <details className="Accordion" onToggle={() => setIsOpen(!isOpen)}>
8
10
  <summary className="Accordion-title">
11
+ <i className={`Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-chevron-right`}></i>
9
12
  {icon && <i className={`Accordion-icon fa ${icon}`} style={{ color: `${iconColor}` }}></i>}
10
13
  {title}
11
14
  </summary>
@@ -26,11 +26,31 @@
26
26
  border-bottom-left-radius: 0;
27
27
  border-bottom-right-radius: 0;
28
28
  }
29
+
30
+ &::marker {
31
+ content: "";
32
+ }
33
+
34
+ &::-webkit-details-marker {
35
+ display: none;
36
+ }
37
+ }
38
+
39
+ &-toggleIcon,
40
+ &-toggleIcon_opened {
41
+ color: var(--color-text-default, #384248);
42
+ font-size: 14px;
43
+ margin-left: 5px;
44
+ margin-right: 10px;
45
+ transition: transform 0.1s;
46
+
47
+ &_opened {
48
+ transform: rotate(90deg);
49
+ }
29
50
  }
30
51
 
31
52
  &-icon {
32
53
  color: var(--project-color-primary, inherit);
33
- margin-left: 10px;
34
54
  margin-right: 10px;
35
55
  }
36
56
 
@@ -19,6 +19,7 @@ const Tabs = ({ children }) => {
19
19
  <nav className="TabGroup-nav">
20
20
  {children?.map((tab, index: number) =>
21
21
  <button className={`TabGroup-tab${activeTab === index ? '_active' : ''}`} key={tab.props.title} onClick={() => setActiveTab(index)}>
22
+ {tab.props.icon && <i className={`TabGroup-icon fa ${tab.props.icon}`} style={{ color: `${tab.props.iconColor}` }}></i>}
22
23
  {tab.props.title}
23
24
  </button>
24
25
  )}
@@ -33,6 +33,11 @@
33
33
  }
34
34
  }
35
35
 
36
+ &-icon {
37
+ color: var(--project-color-primary, inherit);
38
+ margin-right: 10px;
39
+ }
40
+
36
41
  .TabContent {
37
42
  color: var(--color-text-muted, #4f5a66);
38
43
  }
package/dist/lib/mdx.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const mdx: (tree: any, { hast }?: {
1
+ export declare const mdx: (tree: any, { hast, ...opts }?: {
2
2
  hast?: boolean;
3
3
  }) => string;
4
4
  export default mdx;
package/dist/main.css CHANGED
@@ -1,6 +1,6 @@
1
- .Accordion{background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px}.Accordion-title{align-items:center;background:rgba(var(--color-bg-page-rgb, white), 1);border:0;border-radius:5px;color:var(--color-text-default, #384248);cursor:pointer;display:flex;font-size:16px;font-weight:500;padding:10px;position:relative;text-align:left;width:100%}.Accordion-title:hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}.Accordion[open] .Accordion-title{border-bottom-left-radius:0;border-bottom-right-radius:0}.Accordion-icon{color:var(--project-color-primary, inherit);margin-left:10px;margin-right:10px}.Accordion-content{color:var(--color-text-muted, #4f5a66);padding:5px 15px 0 15px}
1
+ .Accordion{background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px}.Accordion-title{align-items:center;background:rgba(var(--color-bg-page-rgb, white), 1);border:0;border-radius:5px;color:var(--color-text-default, #384248);cursor:pointer;display:flex;font-size:16px;font-weight:500;padding:10px;position:relative;text-align:left;width:100%}.Accordion-title:hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}.Accordion[open] .Accordion-title{border-bottom-left-radius:0;border-bottom-right-radius:0}.Accordion-title::marker{content:""}.Accordion-title::-webkit-details-marker{display:none}.Accordion-toggleIcon,.Accordion-toggleIcon_opened{color:var(--color-text-default, #384248);font-size:14px;margin-left:5px;margin-right:10px;transition:transform .1s}.Accordion-toggleIcon_opened,.Accordion-toggleIcon_opened_opened{transform:rotate(90deg)}.Accordion-icon{color:var(--project-color-primary, inherit);margin-right:10px}.Accordion-content{color:var(--color-text-muted, #4f5a66);padding:5px 15px 0 15px}
2
2
  .CardsGrid{display:grid;gap:20px}.CardsGrid .Card{padding:15px;padding-bottom:0;backdrop-filter:blur(20px);background:rgba(var(--color-bg-page-rgb, white), 1);border:1px solid var(--color-border-default, rgba(0, 0, 0, 0.1));border-radius:5px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05),0 2px 5px rgba(0, 0, 0, 0.02)}.CardsGrid .Card-top{display:inline-flex;flex-direction:row}.CardsGrid .Card-icon{color:var(--project-color-primary, inherit);font-size:20px}.CardsGrid .Card-title{color:var(--color-text-default, #384248);font-weight:600;margin-top:10px}.CardsGrid .Card-title:first-child{margin-top:0}.CardsGrid .Card-content{color:var(--color-text-muted, #4f5a66)}.CardsGrid a.Card:not([href=""]){text-decoration:none;color:inherit}.CardsGrid a.Card:not([href=""]):hover{background:var(--color-bg-hover, rgba(0, 0, 0, 0.05))}
3
- .TabGroup-nav{border-bottom:solid var(--color-border-default, rgba(0, 0, 0, 0.1));margin-bottom:15px}.TabGroup-tab{background:none;border:0;color:var(--color-text-minimum, #637288);cursor:pointer;font-size:15px;font-weight:600;margin-right:15px;padding:0;padding-bottom:10px}.TabGroup-tab_active{background:none;border:0;border-bottom:solid var(--project-color-primary, var(--color-text-default, #384248));color:var(--project-color-primary, var(--color-text-default, #384248));font-size:15px;font-weight:600;margin-right:15px;margin-bottom:-2px;padding:0;padding-bottom:10px}.TabGroup-tab:hover{color:var(--color-text-muted, #4f5a66)}.TabGroup .TabContent{color:var(--color-text-muted, #4f5a66)}
3
+ .TabGroup-nav{border-bottom:solid var(--color-border-default, rgba(0, 0, 0, 0.1));margin-bottom:15px}.TabGroup-tab{background:none;border:0;color:var(--color-text-minimum, #637288);cursor:pointer;font-size:15px;font-weight:600;margin-right:15px;padding:0;padding-bottom:10px}.TabGroup-tab_active{background:none;border:0;border-bottom:solid var(--project-color-primary, var(--color-text-default, #384248));color:var(--project-color-primary, var(--color-text-default, #384248));font-size:15px;font-weight:600;margin-right:15px;margin-bottom:-2px;padding:0;padding-bottom:10px}.TabGroup-tab:hover{color:var(--color-text-muted, #4f5a66)}.TabGroup-icon{color:var(--project-color-primary, inherit);margin-right:10px}.TabGroup .TabContent{color:var(--color-text-muted, #4f5a66)}
4
4
  /* BASICS */
5
5
 
6
6
  .CodeMirror {
package/dist/main.js CHANGED
@@ -13307,8 +13307,10 @@ var external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_defau
13307
13307
 
13308
13308
 
13309
13309
  const Accordion = ({ children, icon, iconColor, title }) => {
13310
- return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion" },
13310
+ const [isOpen, setIsOpen] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(false);
13311
+ return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion", onToggle: () => setIsOpen(!isOpen) },
13311
13312
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("summary", { className: "Accordion-title" },
13313
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-chevron-right` }),
13312
13314
  icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-icon fa ${icon}`, style: { color: `${iconColor}` } }),
13313
13315
  title),
13314
13316
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "Accordion-content" }, children)));
@@ -13795,7 +13797,9 @@ const Tabs = ({ children }) => {
13795
13797
  const [activeTab, setActiveTab] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(0);
13796
13798
  return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "TabGroup" },
13797
13799
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("header", null,
13798
- external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("nav", { className: "TabGroup-nav" }, children === null || children === void 0 ? void 0 : children.map((tab, index) => external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, key: tab.props.title, onClick: () => setActiveTab(index) }, tab.props.title)))),
13800
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("nav", { className: "TabGroup-nav" }, children === null || children === void 0 ? void 0 : children.map((tab, index) => external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, key: tab.props.title, onClick: () => setActiveTab(index) },
13801
+ tab.props.icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `TabGroup-icon fa ${tab.props.icon}`, style: { color: `${tab.props.iconColor}` } }),
13802
+ tab.props.title)))),
13799
13803
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("section", null, children && children[activeTab])));
13800
13804
  };
13801
13805
  /* harmony default export */ const components_Tabs = (Tabs);
@@ -47926,7 +47930,12 @@ const getHPropKeys = (node) => {
47926
47930
  */
47927
47931
  const getAttrs = (jsx) => jsx.attributes.reduce((memo, attr) => {
47928
47932
  if ('name' in attr) {
47929
- memo[attr.name] = typeof attr.value !== 'string' ? JSON.parse(attr.value.value) : attr.value;
47933
+ if (typeof attr.value === 'string') {
47934
+ memo[attr.name] = attr.value;
47935
+ }
47936
+ else if (attr.value.value !== 'undefined') {
47937
+ memo[attr.name] = JSON.parse(attr.value.value);
47938
+ }
47930
47939
  }
47931
47940
  return memo;
47932
47941
  }, {});
@@ -48004,6 +48013,9 @@ const toAttributes = (object, keys = []) => {
48004
48013
  if (typeof v === 'string') {
48005
48014
  value = v;
48006
48015
  }
48016
+ else if (typeof v === 'undefined') {
48017
+ return;
48018
+ }
48007
48019
  else {
48008
48020
  /* values can be null, undefined, string, or a expression, eg:
48009
48021
  *
@@ -65327,6 +65339,20 @@ const readmeToMdx = () => tree => {
65327
65339
  });
65328
65340
  }
65329
65341
  });
65342
+ visit(tree, 'html', (node, index, parent) => {
65343
+ const html = node.value;
65344
+ const isScriptOrStyleTag = [!!html.match(/^<(?:style|script)/i), !!html.match(/<\/(?:style|script)>$/i)];
65345
+ if (!isScriptOrStyleTag.includes(true))
65346
+ return;
65347
+ parent.children.splice(index, 1, {
65348
+ type: 'html-block',
65349
+ children: [{ type: 'text', value: html }],
65350
+ data: {
65351
+ hName: 'html-block',
65352
+ hProperties: { html },
65353
+ },
65354
+ });
65355
+ });
65330
65356
  return tree;
65331
65357
  };
65332
65358
  /* harmony default export */ const readme_to_mdx = (readmeToMdx);
@@ -93970,6 +93996,17 @@ function compilers() {
93970
93996
  /* harmony default export */ const processor_compile = (compilers);
93971
93997
 
93972
93998
  ;// CONCATENATED MODULE: ./lib/mdx.ts
93999
+ var mdx_rest = (undefined && undefined.__rest) || function (s, e) {
94000
+ var t = {};
94001
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
94002
+ t[p] = s[p];
94003
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
94004
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
94005
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
94006
+ t[p[i]] = s[p[i]];
94007
+ }
94008
+ return t;
94009
+ };
93973
94010
 
93974
94011
 
93975
94012
 
@@ -93977,7 +94014,8 @@ function compilers() {
93977
94014
 
93978
94015
 
93979
94016
 
93980
- const mdx_mdx = (tree, { hast = false } = {}) => {
94017
+ const mdx_mdx = (tree, _a = {}) => {
94018
+ var { hast = false } = _a, opts = mdx_rest(_a, ["hast"]);
93981
94019
  const processor = unified()
93982
94020
  .use(hast ? rehypeRemark : undefined)
93983
94021
  .use(remarkMdx)
@@ -93986,7 +94024,7 @@ const mdx_mdx = (tree, { hast = false } = {}) => {
93986
94024
  .use(readme_to_mdx)
93987
94025
  .use(tables_to_jsx)
93988
94026
  .use(processor_compile)
93989
- .use(remarkStringify);
94027
+ .use(remarkStringify, opts);
93990
94028
  return processor.stringify(processor.runSync(tree));
93991
94029
  };
93992
94030
  /* harmony default export */ const lib_mdx = (mdx_mdx);
package/dist/main.node.js CHANGED
@@ -7854,8 +7854,10 @@ var external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_defau
7854
7854
 
7855
7855
 
7856
7856
  const Accordion = ({ children, icon, iconColor, title }) => {
7857
- return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion" },
7857
+ const [isOpen, setIsOpen] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(false);
7858
+ return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("details", { className: "Accordion", onToggle: () => setIsOpen(!isOpen) },
7858
7859
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("summary", { className: "Accordion-title" },
7860
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-toggleIcon${isOpen ? '_opened' : ''} fa fa-chevron-right` }),
7859
7861
  icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `Accordion-icon fa ${icon}`, style: { color: `${iconColor}` } }),
7860
7862
  title),
7861
7863
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "Accordion-content" }, children)));
@@ -13219,7 +13221,9 @@ const Tabs = ({ children }) => {
13219
13221
  const [activeTab, setActiveTab] = (0,external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_.useState)(0);
13220
13222
  return (external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("div", { className: "TabGroup" },
13221
13223
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("header", null,
13222
- external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("nav", { className: "TabGroup-nav" }, children === null || children === void 0 ? void 0 : children.map((tab, index) => external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, key: tab.props.title, onClick: () => setActiveTab(index) }, tab.props.title)))),
13224
+ external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("nav", { className: "TabGroup-nav" }, children === null || children === void 0 ? void 0 : children.map((tab, index) => external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("button", { className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, key: tab.props.title, onClick: () => setActiveTab(index) },
13225
+ tab.props.icon && external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("i", { className: `TabGroup-icon fa ${tab.props.icon}`, style: { color: `${tab.props.iconColor}` } }),
13226
+ tab.props.title)))),
13223
13227
  external_amd_react_commonjs_react_commonjs2_react_root_React_umd_react_default().createElement("section", null, children && children[activeTab])));
13224
13228
  };
13225
13229
  /* harmony default export */ const components_Tabs = (Tabs);
@@ -48913,7 +48917,12 @@ const getHPropKeys = (node) => {
48913
48917
  */
48914
48918
  const getAttrs = (jsx) => jsx.attributes.reduce((memo, attr) => {
48915
48919
  if ('name' in attr) {
48916
- memo[attr.name] = typeof attr.value !== 'string' ? JSON.parse(attr.value.value) : attr.value;
48920
+ if (typeof attr.value === 'string') {
48921
+ memo[attr.name] = attr.value;
48922
+ }
48923
+ else if (attr.value.value !== 'undefined') {
48924
+ memo[attr.name] = JSON.parse(attr.value.value);
48925
+ }
48917
48926
  }
48918
48927
  return memo;
48919
48928
  }, {});
@@ -48991,6 +49000,9 @@ const toAttributes = (object, keys = []) => {
48991
49000
  if (typeof v === 'string') {
48992
49001
  value = v;
48993
49002
  }
49003
+ else if (typeof v === 'undefined') {
49004
+ return;
49005
+ }
48994
49006
  else {
48995
49007
  /* values can be null, undefined, string, or a expression, eg:
48996
49008
  *
@@ -66314,6 +66326,20 @@ const readmeToMdx = () => tree => {
66314
66326
  });
66315
66327
  }
66316
66328
  });
66329
+ visit(tree, 'html', (node, index, parent) => {
66330
+ const html = node.value;
66331
+ const isScriptOrStyleTag = [!!html.match(/^<(?:style|script)/i), !!html.match(/<\/(?:style|script)>$/i)];
66332
+ if (!isScriptOrStyleTag.includes(true))
66333
+ return;
66334
+ parent.children.splice(index, 1, {
66335
+ type: 'html-block',
66336
+ children: [{ type: 'text', value: html }],
66337
+ data: {
66338
+ hName: 'html-block',
66339
+ hProperties: { html },
66340
+ },
66341
+ });
66342
+ });
66317
66343
  return tree;
66318
66344
  };
66319
66345
  /* harmony default export */ const readme_to_mdx = (readmeToMdx);
@@ -94957,6 +94983,17 @@ function compilers() {
94957
94983
  /* harmony default export */ const processor_compile = (compilers);
94958
94984
 
94959
94985
  ;// CONCATENATED MODULE: ./lib/mdx.ts
94986
+ var mdx_rest = (undefined && undefined.__rest) || function (s, e) {
94987
+ var t = {};
94988
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
94989
+ t[p] = s[p];
94990
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
94991
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
94992
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
94993
+ t[p[i]] = s[p[i]];
94994
+ }
94995
+ return t;
94996
+ };
94960
94997
 
94961
94998
 
94962
94999
 
@@ -94964,7 +95001,8 @@ function compilers() {
94964
95001
 
94965
95002
 
94966
95003
 
94967
- const mdx_mdx = (tree, { hast = false } = {}) => {
95004
+ const mdx_mdx = (tree, _a = {}) => {
95005
+ var { hast = false } = _a, opts = mdx_rest(_a, ["hast"]);
94968
95006
  const processor = unified()
94969
95007
  .use(hast ? rehypeRemark : undefined)
94970
95008
  .use(remarkMdx)
@@ -94973,7 +95011,7 @@ const mdx_mdx = (tree, { hast = false } = {}) => {
94973
95011
  .use(readme_to_mdx)
94974
95012
  .use(tables_to_jsx)
94975
95013
  .use(processor_compile)
94976
- .use(remarkStringify);
95014
+ .use(remarkStringify, opts);
94977
95015
  return processor.stringify(processor.runSync(tree));
94978
95016
  };
94979
95017
  /* harmony default export */ const lib_mdx = (mdx_mdx);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@readme/markdown",
3
3
  "description": "ReadMe's React-based Markdown parser",
4
4
  "author": "Rafe Goldberg <rafe@readme.io>",
5
- "version": "7.4.2",
5
+ "version": "7.5.0",
6
6
  "main": "dist/main.node.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "browser": "dist/main.js",