@multiplatform.one/markdown 7.4.0 → 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/dist/cjs/Aside/index.cjs +6 -4
- package/dist/cjs/Aside/index.native.js +6 -4
- package/dist/cjs/Aside/index.native.js.map +1 -1
- package/dist/cjs/Hr/index.cjs +2 -3
- package/dist/cjs/Hr/index.native.js +2 -3
- package/dist/cjs/Hr/index.native.js.map +1 -1
- package/dist/cjs/MarkdownSimpleTable/index.cjs +15 -15
- package/dist/cjs/MarkdownSimpleTable/index.native.js +17 -18
- package/dist/cjs/MarkdownSimpleTable/index.native.js.map +1 -1
- package/dist/cjs/MdxCodeBlock/index.cjs +9 -5
- package/dist/cjs/MdxCodeBlock/index.native.js +9 -5
- package/dist/cjs/MdxCodeBlock/index.native.js.map +1 -1
- package/dist/cjs/Table/index.cjs +20 -8
- package/dist/cjs/Table/index.native.js +20 -8
- package/dist/cjs/Table/index.native.js.map +1 -1
- package/dist/cjs/Video/index.cjs +11 -7
- package/dist/cjs/Video/index.native.js +12 -7
- package/dist/cjs/Video/index.native.js.map +1 -1
- package/dist/cjs/components/Blockquote.cjs +5 -4
- package/dist/cjs/components/Blockquote.native.js +7 -6
- package/dist/cjs/components/Blockquote.native.js.map +1 -1
- package/dist/cjs/components/CodeBlock.cjs +2 -2
- package/dist/cjs/components/CodeBlock.native.js +3 -3
- package/dist/cjs/components/CodeBlock.native.js.map +1 -1
- package/dist/cjs/components/Heading.cjs +1 -0
- package/dist/cjs/components/Heading.native.js +1 -0
- package/dist/cjs/components/Heading.native.js.map +1 -1
- package/dist/cjs/components/HorizontalRule.cjs +12 -1
- package/dist/cjs/components/HorizontalRule.native.js +12 -1
- package/dist/cjs/components/HorizontalRule.native.js.map +1 -1
- package/dist/cjs/components/Image.cjs +2 -2
- package/dist/cjs/components/Image.native.js +3 -2
- package/dist/cjs/components/Image.native.js.map +1 -1
- package/dist/cjs/components/InlineCode.cjs +2 -1
- package/dist/cjs/components/InlineCode.native.js +2 -1
- package/dist/cjs/components/InlineCode.native.js.map +1 -1
- package/dist/cjs/components/InlineStyles.cjs +14 -1
- package/dist/cjs/components/InlineStyles.native.js +14 -1
- package/dist/cjs/components/InlineStyles.native.js.map +1 -1
- package/dist/cjs/components/Link.cjs +5 -0
- package/dist/cjs/components/Link.native.js +5 -0
- package/dist/cjs/components/Link.native.js.map +1 -1
- package/dist/cjs/components/List.cjs +8 -1
- package/dist/cjs/components/List.native.js +11 -3
- package/dist/cjs/components/List.native.js.map +1 -1
- package/dist/cjs/components/Table.cjs +15 -9
- package/dist/cjs/components/Table.native.js +17 -12
- package/dist/cjs/components/Table.native.js.map +1 -1
- package/dist/cjs/mdxComponents.cjs +175 -108
- package/dist/cjs/mdxComponents.native.js +184 -113
- package/dist/cjs/mdxComponents.native.js.map +1 -1
- package/dist/cjs/mermaid/MermaidBlock.cjs +1 -1
- package/dist/cjs/mermaid/renderMermaidDiagram.native.js +11 -81
- package/dist/cjs/mermaid/renderMermaidDiagram.native.js.map +1 -1
- package/dist/cjs/shared/index.cjs +13 -1
- package/dist/cjs/shared/index.native.js +12 -0
- package/dist/cjs/shared/index.native.js.map +1 -1
- package/dist/cjs/shared/tokenPx.cjs +41 -0
- package/dist/cjs/shared/tokenPx.native.js +46 -0
- package/dist/cjs/shared/tokenPx.native.js.map +1 -0
- package/dist/cjs/shared/useMarkdownTableKnobs.cjs +61 -0
- package/dist/cjs/shared/useMarkdownTableKnobs.native.js +64 -0
- package/dist/cjs/shared/useMarkdownTableKnobs.native.js.map +1 -0
- package/dist/esm/Aside/index.mjs +6 -4
- package/dist/esm/Aside/index.mjs.map +1 -1
- package/dist/esm/Aside/index.native.js +6 -4
- package/dist/esm/Aside/index.native.js.map +1 -1
- package/dist/esm/Hr/index.mjs +2 -3
- package/dist/esm/Hr/index.mjs.map +1 -1
- package/dist/esm/Hr/index.native.js +2 -3
- package/dist/esm/Hr/index.native.js.map +1 -1
- package/dist/esm/MarkdownSimpleTable/index.mjs +15 -15
- package/dist/esm/MarkdownSimpleTable/index.mjs.map +1 -1
- package/dist/esm/MarkdownSimpleTable/index.native.js +17 -18
- package/dist/esm/MarkdownSimpleTable/index.native.js.map +1 -1
- package/dist/esm/MdxCodeBlock/index.mjs +9 -5
- package/dist/esm/MdxCodeBlock/index.mjs.map +1 -1
- package/dist/esm/MdxCodeBlock/index.native.js +9 -5
- package/dist/esm/MdxCodeBlock/index.native.js.map +1 -1
- package/dist/esm/Table/index.mjs +20 -8
- package/dist/esm/Table/index.mjs.map +1 -1
- package/dist/esm/Table/index.native.js +20 -8
- package/dist/esm/Table/index.native.js.map +1 -1
- package/dist/esm/Video/index.mjs +11 -7
- package/dist/esm/Video/index.mjs.map +1 -1
- package/dist/esm/Video/index.native.js +12 -7
- package/dist/esm/Video/index.native.js.map +1 -1
- package/dist/esm/components/Blockquote.mjs +5 -4
- package/dist/esm/components/Blockquote.mjs.map +1 -1
- package/dist/esm/components/Blockquote.native.js +7 -6
- package/dist/esm/components/Blockquote.native.js.map +1 -1
- package/dist/esm/components/CodeBlock.mjs +2 -2
- package/dist/esm/components/CodeBlock.mjs.map +1 -1
- package/dist/esm/components/CodeBlock.native.js +3 -3
- package/dist/esm/components/CodeBlock.native.js.map +1 -1
- package/dist/esm/components/Heading.mjs +1 -0
- package/dist/esm/components/Heading.mjs.map +1 -1
- package/dist/esm/components/Heading.native.js +1 -0
- package/dist/esm/components/Heading.native.js.map +1 -1
- package/dist/esm/components/HorizontalRule.mjs +13 -2
- package/dist/esm/components/HorizontalRule.mjs.map +1 -1
- package/dist/esm/components/HorizontalRule.native.js +13 -2
- package/dist/esm/components/HorizontalRule.native.js.map +1 -1
- package/dist/esm/components/Image.mjs +2 -2
- package/dist/esm/components/Image.mjs.map +1 -1
- package/dist/esm/components/Image.native.js +3 -2
- package/dist/esm/components/Image.native.js.map +1 -1
- package/dist/esm/components/InlineCode.mjs +2 -1
- package/dist/esm/components/InlineCode.mjs.map +1 -1
- package/dist/esm/components/InlineCode.native.js +2 -1
- package/dist/esm/components/InlineCode.native.js.map +1 -1
- package/dist/esm/components/InlineStyles.mjs +14 -1
- package/dist/esm/components/InlineStyles.mjs.map +1 -1
- package/dist/esm/components/InlineStyles.native.js +14 -1
- package/dist/esm/components/InlineStyles.native.js.map +1 -1
- package/dist/esm/components/Link.mjs +5 -0
- package/dist/esm/components/Link.mjs.map +1 -1
- package/dist/esm/components/Link.native.js +5 -0
- package/dist/esm/components/Link.native.js.map +1 -1
- package/dist/esm/components/List.mjs +8 -1
- package/dist/esm/components/List.mjs.map +1 -1
- package/dist/esm/components/List.native.js +11 -3
- package/dist/esm/components/List.native.js.map +1 -1
- package/dist/esm/components/Table.mjs +15 -9
- package/dist/esm/components/Table.mjs.map +1 -1
- package/dist/esm/components/Table.native.js +17 -12
- package/dist/esm/components/Table.native.js.map +1 -1
- package/dist/esm/mdxComponents.mjs +175 -108
- package/dist/esm/mdxComponents.mjs.map +1 -1
- package/dist/esm/mdxComponents.native.js +184 -113
- package/dist/esm/mdxComponents.native.js.map +1 -1
- package/dist/esm/mermaid/MermaidBlock.mjs +1 -1
- package/dist/esm/mermaid/MermaidBlock.mjs.map +1 -1
- package/dist/esm/mermaid/renderMermaidDiagram.native.js +9 -68
- package/dist/esm/mermaid/renderMermaidDiagram.native.js.map +1 -1
- package/dist/esm/shared/index.mjs +3 -0
- package/dist/esm/shared/index.mjs.map +1 -1
- package/dist/esm/shared/index.native.js +3 -0
- package/dist/esm/shared/index.native.js.map +1 -1
- package/dist/esm/shared/tokenPx.mjs +16 -0
- package/dist/esm/shared/tokenPx.mjs.map +1 -0
- package/dist/esm/shared/tokenPx.native.js +18 -0
- package/dist/esm/shared/tokenPx.native.js.map +1 -0
- package/dist/esm/shared/useMarkdownTableKnobs.mjs +36 -0
- package/dist/esm/shared/useMarkdownTableKnobs.mjs.map +1 -0
- package/dist/esm/shared/useMarkdownTableKnobs.native.js +36 -0
- package/dist/esm/shared/useMarkdownTableKnobs.native.js.map +1 -0
- package/dist/jsx/Aside/index.mjs +6 -4
- package/dist/jsx/Aside/index.mjs.map +1 -1
- package/dist/jsx/Aside/index.native.js +6 -4
- package/dist/jsx/Aside/index.native.js.map +1 -1
- package/dist/jsx/Hr/index.mjs +2 -3
- package/dist/jsx/Hr/index.mjs.map +1 -1
- package/dist/jsx/Hr/index.native.js +2 -3
- package/dist/jsx/Hr/index.native.js.map +1 -1
- package/dist/jsx/MarkdownSimpleTable/index.mjs +15 -15
- package/dist/jsx/MarkdownSimpleTable/index.mjs.map +1 -1
- package/dist/jsx/MarkdownSimpleTable/index.native.js +17 -18
- package/dist/jsx/MarkdownSimpleTable/index.native.js.map +1 -1
- package/dist/jsx/MdxCodeBlock/index.mjs +9 -5
- package/dist/jsx/MdxCodeBlock/index.mjs.map +1 -1
- package/dist/jsx/MdxCodeBlock/index.native.js +9 -5
- package/dist/jsx/MdxCodeBlock/index.native.js.map +1 -1
- package/dist/jsx/Table/index.mjs +20 -8
- package/dist/jsx/Table/index.mjs.map +1 -1
- package/dist/jsx/Table/index.native.js +20 -8
- package/dist/jsx/Table/index.native.js.map +1 -1
- package/dist/jsx/Video/index.mjs +11 -7
- package/dist/jsx/Video/index.mjs.map +1 -1
- package/dist/jsx/Video/index.native.js +12 -7
- package/dist/jsx/Video/index.native.js.map +1 -1
- package/dist/jsx/components/Blockquote.mjs +5 -4
- package/dist/jsx/components/Blockquote.mjs.map +1 -1
- package/dist/jsx/components/Blockquote.native.js +7 -6
- package/dist/jsx/components/Blockquote.native.js.map +1 -1
- package/dist/jsx/components/CodeBlock.mjs +2 -2
- package/dist/jsx/components/CodeBlock.mjs.map +1 -1
- package/dist/jsx/components/CodeBlock.native.js +3 -3
- package/dist/jsx/components/CodeBlock.native.js.map +1 -1
- package/dist/jsx/components/Heading.mjs +1 -0
- package/dist/jsx/components/Heading.mjs.map +1 -1
- package/dist/jsx/components/Heading.native.js +1 -0
- package/dist/jsx/components/Heading.native.js.map +1 -1
- package/dist/jsx/components/HorizontalRule.mjs +13 -2
- package/dist/jsx/components/HorizontalRule.mjs.map +1 -1
- package/dist/jsx/components/HorizontalRule.native.js +12 -1
- package/dist/jsx/components/HorizontalRule.native.js.map +1 -1
- package/dist/jsx/components/Image.mjs +2 -2
- package/dist/jsx/components/Image.mjs.map +1 -1
- package/dist/jsx/components/Image.native.js +3 -2
- package/dist/jsx/components/Image.native.js.map +1 -1
- package/dist/jsx/components/InlineCode.mjs +2 -1
- package/dist/jsx/components/InlineCode.mjs.map +1 -1
- package/dist/jsx/components/InlineCode.native.js +2 -1
- package/dist/jsx/components/InlineCode.native.js.map +1 -1
- package/dist/jsx/components/InlineStyles.mjs +14 -1
- package/dist/jsx/components/InlineStyles.mjs.map +1 -1
- package/dist/jsx/components/InlineStyles.native.js +14 -1
- package/dist/jsx/components/InlineStyles.native.js.map +1 -1
- package/dist/jsx/components/Link.mjs +5 -0
- package/dist/jsx/components/Link.mjs.map +1 -1
- package/dist/jsx/components/Link.native.js +5 -0
- package/dist/jsx/components/Link.native.js.map +1 -1
- package/dist/jsx/components/List.mjs +8 -1
- package/dist/jsx/components/List.mjs.map +1 -1
- package/dist/jsx/components/List.native.js +11 -3
- package/dist/jsx/components/List.native.js.map +1 -1
- package/dist/jsx/components/Table.mjs +15 -9
- package/dist/jsx/components/Table.mjs.map +1 -1
- package/dist/jsx/components/Table.native.js +17 -12
- package/dist/jsx/components/Table.native.js.map +1 -1
- package/dist/jsx/mdxComponents.mjs +175 -108
- package/dist/jsx/mdxComponents.mjs.map +1 -1
- package/dist/jsx/mdxComponents.native.js +184 -113
- package/dist/jsx/mdxComponents.native.js.map +1 -1
- package/dist/jsx/mermaid/MermaidBlock.mjs +1 -1
- package/dist/jsx/mermaid/MermaidBlock.mjs.map +1 -1
- package/dist/jsx/mermaid/renderMermaidDiagram.native.js +11 -81
- package/dist/jsx/mermaid/renderMermaidDiagram.native.js.map +1 -1
- package/dist/jsx/shared/index.mjs +3 -0
- package/dist/jsx/shared/index.mjs.map +1 -1
- package/dist/jsx/shared/index.native.js +12 -0
- package/dist/jsx/shared/index.native.js.map +1 -1
- package/dist/jsx/shared/tokenPx.mjs +16 -0
- package/dist/jsx/shared/tokenPx.mjs.map +1 -0
- package/dist/jsx/shared/tokenPx.native.js +46 -0
- package/dist/jsx/shared/tokenPx.native.js.map +1 -0
- package/dist/jsx/shared/useMarkdownTableKnobs.mjs +36 -0
- package/dist/jsx/shared/useMarkdownTableKnobs.mjs.map +1 -0
- package/dist/jsx/shared/useMarkdownTableKnobs.native.js +64 -0
- package/dist/jsx/shared/useMarkdownTableKnobs.native.js.map +1 -0
- package/package.json +14 -9
- package/src/Aside/index.tsx +6 -4
- package/src/Hr/hr.spec.tsx +11 -10
- package/src/Hr/index.tsx +2 -2
- package/src/MarkdownSimpleTable/index.tsx +10 -24
- package/src/MdxCodeBlock/index.tsx +10 -4
- package/src/Table/index.tsx +11 -11
- package/src/Video/index.tsx +15 -5
- package/src/components/Blockquote.tsx +6 -5
- package/src/components/CodeBlock.tsx +2 -2
- package/src/components/Heading.tsx +7 -1
- package/src/components/HorizontalRule.tsx +19 -2
- package/src/components/Image.tsx +3 -2
- package/src/components/InlineCode.tsx +2 -1
- package/src/components/InlineStyles.tsx +7 -3
- package/src/components/Link.tsx +3 -0
- package/src/components/List.tsx +10 -3
- package/src/components/Table.tsx +13 -10
- package/src/designLaw.spec.tsx +130 -0
- package/src/mdxComponents.tsx +168 -87
- package/src/mermaid/MermaidBlock.tsx +1 -1
- package/src/mermaid/nativeGraph.spec.ts +90 -0
- package/src/mermaid/renderMermaidDiagram.native.ts +50 -0
- package/src/mermaid/renderMermaidDiagram.spec.ts +23 -0
- package/src/shared/index.ts +2 -0
- package/src/shared/tokenPx.ts +29 -0
- package/src/shared/useMarkdownTableKnobs.ts +38 -0
- package/src/stories/Blocks.stories.tsx +5 -5
- package/types/Aside/index.d.ts.map +1 -1
- package/types/Hr/index.d.ts +1 -1
- package/types/Hr/index.d.ts.map +1 -1
- package/types/MarkdownSimpleTable/index.d.ts.map +1 -1
- package/types/MdxCodeBlock/index.d.ts.map +1 -1
- package/types/Table/index.d.ts.map +1 -1
- package/types/Video/index.d.ts.map +1 -1
- package/types/components/Blockquote.d.ts.map +1 -1
- package/types/components/Heading.d.ts.map +1 -1
- package/types/components/HorizontalRule.d.ts +5 -1
- package/types/components/HorizontalRule.d.ts.map +1 -1
- package/types/components/Image.d.ts.map +1 -1
- package/types/components/InlineCode.d.ts.map +1 -1
- package/types/components/InlineStyles.d.ts.map +1 -1
- package/types/components/Link.d.ts.map +1 -1
- package/types/components/List.d.ts.map +1 -1
- package/types/components/Table.d.ts.map +1 -1
- package/types/mdxComponents.d.ts.map +1 -1
- package/types/mermaid/renderMermaidDiagram.native.d.ts +45 -0
- package/types/mermaid/renderMermaidDiagram.native.d.ts.map +1 -0
- package/types/shared/index.d.ts +2 -0
- package/types/shared/index.d.ts.map +1 -1
- package/types/shared/tokenPx.d.ts +7 -0
- package/types/shared/tokenPx.d.ts.map +1 -0
- package/types/shared/useMarkdownTableKnobs.d.ts +39 -0
- package/types/shared/useMarkdownTableKnobs.d.ts.map +1 -0
|
@@ -4,6 +4,12 @@ var __defProp = Object.defineProperty;
|
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
7
13
|
var __copyProps = (to, from, except, desc) => {
|
|
8
14
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
15
|
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
@@ -18,6 +24,12 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
18
24
|
value: true
|
|
19
25
|
}), mod);
|
|
20
26
|
var shared_exports = {};
|
|
27
|
+
__export(shared_exports, {
|
|
28
|
+
tokenPx: () => import_tokenPx.tokenPx,
|
|
29
|
+
useMarkdownTableKnobs: () => import_useMarkdownTableKnobs.useMarkdownTableKnobs
|
|
30
|
+
});
|
|
21
31
|
module.exports = __toCommonJS(shared_exports);
|
|
22
32
|
__reExport(shared_exports, require("./colorRamps.native.js"), module.exports);
|
|
33
|
+
var import_tokenPx = require("./tokenPx.native.js");
|
|
34
|
+
var import_useMarkdownTableKnobs = require("./useMarkdownTableKnobs.native.js");
|
|
23
35
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/shared/index.ts"],"sourcesContent":[null],"mappings":"AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor"],"sources":["../../../src/shared/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;AACA,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAe;AACxB,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAA6B","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getTokens, getVariableValue } from "tamagui";
|
|
2
|
+
function tokenPx(token, fallback, scale = "size") {
|
|
3
|
+
if (typeof token === "number" && Number.isFinite(token)) return token;
|
|
4
|
+
if (token == null) return fallback;
|
|
5
|
+
try {
|
|
6
|
+
const tokens = getTokens();
|
|
7
|
+
const bucket = scale === "fontSize" ? tokens.fontSize : tokens[scale];
|
|
8
|
+
const raw = getVariableValue(bucket?.[String(token)] ?? token);
|
|
9
|
+
const n = typeof raw === "number" ? raw : Number.parseFloat(String(raw));
|
|
10
|
+
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
11
|
+
} catch {
|
|
12
|
+
return fallback;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export { tokenPx };
|
|
16
|
+
//# sourceMappingURL=tokenPx.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getTokens","getVariableValue","tokenPx","token","fallback","scale","Number","isFinite","tokens","bucket","fontSize","raw","String","n","parseFloat"],"sources":["../../../src/shared/tokenPx.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,gBAAA,QAAwB;AAOrC,SAASC,QACdC,KAAA,EACAC,QAAA,EACAC,KAAA,GAAkD,QAC1C;EACR,IAAI,OAAOF,KAAA,KAAU,YAAYG,MAAA,CAAOC,QAAA,CAASJ,KAAK,GAAG,OAAOA,KAAA;EAChE,IAAIA,KAAA,IAAS,MAAM,OAAOC,QAAA;EAC1B,IAAI;IACF,MAAMI,MAAA,GAASR,SAAA,CAAU;IACzB,MAAMS,MAAA,GACJJ,KAAA,KAAU,aACLG,MAAA,CAAkDE,QAAA,GACnDF,MAAA,CAAOH,KAAK;IAClB,MAAMM,GAAA,GAAMV,gBAAA,CACTQ,MAAA,GAAiDG,MAAA,CAAOT,KAAK,CAAC,KAAKA,KACtE;IACA,MAAMU,CAAA,GAAI,OAAOF,GAAA,KAAQ,WAAWA,GAAA,GAAML,MAAA,CAAOQ,UAAA,CAAWF,MAAA,CAAOD,GAAG,CAAC;IACvE,OAAOL,MAAA,CAAOC,QAAA,CAASM,CAAC,KAAKA,CAAA,GAAI,IAAIA,CAAA,GAAIT,QAAA;EAC3C,QAAQ;IACN,OAAOA,QAAA;EACT;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var tokenPx_exports = {};
|
|
26
|
+
__export(tokenPx_exports, {
|
|
27
|
+
tokenPx: () => tokenPx
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(tokenPx_exports);
|
|
30
|
+
var import_tamagui = require("tamagui");
|
|
31
|
+
function tokenPx(token, fallback) {
|
|
32
|
+
var scale = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "size";
|
|
33
|
+
if (typeof token === "number" && Number.isFinite(token)) return token;
|
|
34
|
+
if (token == null) return fallback;
|
|
35
|
+
try {
|
|
36
|
+
var _ref;
|
|
37
|
+
var tokens = (0, import_tamagui.getTokens)();
|
|
38
|
+
var bucket = scale === "fontSize" ? tokens.fontSize : tokens[scale];
|
|
39
|
+
var raw = (0, import_tamagui.getVariableValue)((_ref = bucket === null || bucket === void 0 ? void 0 : bucket[String(token)]) !== null && _ref !== void 0 ? _ref : token);
|
|
40
|
+
var n = typeof raw === "number" ? raw : Number.parseFloat(String(raw));
|
|
41
|
+
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
42
|
+
} catch (unused) {
|
|
43
|
+
return fallback;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tokenPx.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call"],"sources":["../../../src/shared/tokenPx.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAOF,IAAAA,SAAS,GAAAC,MACd,CAAAC,cAEA;AAEA,IAAAC,gBAAW,GAAUF,MAAA,CAAAG,wBAA4B;AACjD,IAAAC,iBAAmB,GAAAJ,MAAO,CAAAK,mBAAA;AAC1B,IAAAC,YAAI,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACF,IAAAC,QAAM,GAAAA,CAAAC,MAAS,EAAAC,GAAA,KAAU;EACzB,SAAMC,IAAA,IACJD,GAAA,EAGFZ,SAAM,CAAAW,MAAM,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAC0D,IACtEC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAM,IAAI,OAAOA,IAAA,KAAQ,YAAW,OAAMA,IAAO,eAAW;IAC5D,SAAOG,GAAA,IAAOhB,iBAAmB,CAAAa,IAAI,GACvC,IAAQ,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACNnB,SAAO,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACT;EACF,OAAAE,EAAA","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
|
+
function useMarkdownTableKnobs() {
|
|
3
|
+
const {
|
|
4
|
+
knobProps
|
|
5
|
+
} = useResolvedKnobs();
|
|
6
|
+
const cellPad = {
|
|
7
|
+
paddingHorizontal: knobProps.gap.gap,
|
|
8
|
+
paddingVertical: knobProps.gap.gap,
|
|
9
|
+
borderRadius: 0
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
knobProps,
|
|
13
|
+
frameProps: {
|
|
14
|
+
...knobProps.surface,
|
|
15
|
+
...knobProps.borderRadiusOuter,
|
|
16
|
+
overflow: "hidden",
|
|
17
|
+
"data-markdown-table-frame": "true",
|
|
18
|
+
"data-border-width": String(knobProps.surface.borderWidth)
|
|
19
|
+
},
|
|
20
|
+
headerTextProps: {
|
|
21
|
+
size: knobProps.sizeToken,
|
|
22
|
+
...knobProps.heading
|
|
23
|
+
},
|
|
24
|
+
cellTextProps: {
|
|
25
|
+
size: knobProps.sizeToken,
|
|
26
|
+
...knobProps.body
|
|
27
|
+
},
|
|
28
|
+
cellPad,
|
|
29
|
+
headRule: {
|
|
30
|
+
borderBottomWidth: knobProps.surface.borderWidth,
|
|
31
|
+
borderBottomColor: "$borderColor"
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export { useMarkdownTableKnobs };
|
|
36
|
+
//# sourceMappingURL=useMarkdownTableKnobs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useResolvedKnobs","useMarkdownTableKnobs","knobProps","cellPad","paddingHorizontal","gap","paddingVertical","borderRadius","frameProps","surface","borderRadiusOuter","overflow","String","borderWidth","headerTextProps","size","sizeToken","heading","cellTextProps","body","headRule","borderBottomWidth","borderBottomColor"],"sources":["../../../src/shared/useMarkdownTableKnobs.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AAO1B,SAASC,sBAAA,EAAwB;EACtC,MAAM;IAAEC;EAAU,IAAIF,gBAAA,CAAiB;EACvC,MAAMG,OAAA,GAAU;IACdC,iBAAA,EAAmBF,SAAA,CAAUG,GAAA,CAAIA,GAAA;IACjCC,eAAA,EAAiBJ,SAAA,CAAUG,GAAA,CAAIA,GAAA;IAC/BE,YAAA,EAAc;EAChB;EACA,OAAO;IACLL,SAAA;IACAM,UAAA,EAAY;MACV,GAAGN,SAAA,CAAUO,OAAA;MACb,GAAGP,SAAA,CAAUQ,iBAAA;MACbC,QAAA,EAAU;MACV,6BAA6B;MAC7B,qBAAqBC,MAAA,CAAOV,SAAA,CAAUO,OAAA,CAAQI,WAAW;IAC3D;IACAC,eAAA,EAAiB;MACfC,IAAA,EAAMb,SAAA,CAAUc,SAAA;MAChB,GAAGd,SAAA,CAAUe;IACf;IACAC,aAAA,EAAe;MACbH,IAAA,EAAMb,SAAA,CAAUc,SAAA;MAChB,GAAGd,SAAA,CAAUiB;IACf;IACAhB,OAAA;IACAiB,QAAA,EAAU;MACRC,iBAAA,EAAmBnB,SAAA,CAAUO,OAAA,CAAQI,WAAA;MACrCS,iBAAA,EAAmB;IACrB;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var useMarkdownTableKnobs_exports = {};
|
|
26
|
+
__export(useMarkdownTableKnobs_exports, {
|
|
27
|
+
useMarkdownTableKnobs: () => useMarkdownTableKnobs
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useMarkdownTableKnobs_exports);
|
|
30
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
31
|
+
function useMarkdownTableKnobs() {
|
|
32
|
+
var {
|
|
33
|
+
knobProps
|
|
34
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
35
|
+
var cellPad = {
|
|
36
|
+
paddingHorizontal: knobProps.gap.gap,
|
|
37
|
+
paddingVertical: knobProps.gap.gap,
|
|
38
|
+
borderRadius: 0
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
knobProps,
|
|
42
|
+
frameProps: {
|
|
43
|
+
...knobProps.surface,
|
|
44
|
+
...knobProps.borderRadiusOuter,
|
|
45
|
+
overflow: "hidden",
|
|
46
|
+
"data-markdown-table-frame": "true",
|
|
47
|
+
"data-border-width": String(knobProps.surface.borderWidth)
|
|
48
|
+
},
|
|
49
|
+
headerTextProps: {
|
|
50
|
+
size: knobProps.sizeToken,
|
|
51
|
+
...knobProps.heading
|
|
52
|
+
},
|
|
53
|
+
cellTextProps: {
|
|
54
|
+
size: knobProps.sizeToken,
|
|
55
|
+
...knobProps.body
|
|
56
|
+
},
|
|
57
|
+
cellPad,
|
|
58
|
+
headRule: {
|
|
59
|
+
borderBottomWidth: knobProps.surface.borderWidth,
|
|
60
|
+
borderBottomColor: "$borderColor"
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=useMarkdownTableKnobs.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useMarkdownTableKnobs_exports","useMarkdownTableKnobs","module","exports","import_theme","require","knobProps","useResolvedKnobs","cellPad","paddingHorizontal","gap","paddingVertical","borderRadius"],"sources":["../../../src/shared/useMarkdownTableKnobs.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAOF,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAwB;AACtC,IAAAC,gBAAkB,GAAAF,MAAI,CAAAG,wBAAiB;AACvC,IAAAC,iBAAgB,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACdC,YAAA,GAAAN,MAAmB,CAAAO,SAAU,CAAAC,cAAI;AAAA,IACjCC,QAAA,GAAAA,CAAAC,MAAiB,EAAAC,GAAA,KAAU;EAAI,KAC/B,IAAAC,IAAA,IAAcD,GAAA,EAChBZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AACA;AAAO,IACLC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAAA,IACAF,IAAA,WAAYA,IAAA,wBAAAA,IAAA;IAAA,KACP,IAAAG,GAAA,IAAUhB,iBAAA,CAAAa,IAAA,GACb,IAAG,CAAAX,YAAU,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACbnB,SAAU,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EACmB,OAC7BE,EAAA;AAAyD;AAC3D,IACAM,YAAA,GAAAC,GAAiB,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IAAAE,6BACC;AAAAhB,QAChB,CAAGgB,6BAAU;EAAAC,qBACf,EAAAA,CAAA,KAAAA;AAAA;AACeC,MACb,CAAAC,OAAM,GAAAN,YAAU,CAAAG,6BAAA;AAAA,IAAAI,YACb,GAAUC,OAAA;AAAA,SACfJ,sBAAA;EAAA,IACA;IAAAK;EAAA,QAAAF,YAAA,CAAAG,gBAAA;EAAA,IACAC,OAAA,GAAU;IAAAC,iBACR,EAAAH,SAAmB,CAAAI,GAAU,CAAAA,GAAA;IAAQC,eACrC,EAAAL,SAAmB,CAAAI,GAAA,CAAAA,GAAA;IACrBE,YAAA;EACF;EACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/markdown",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Cross-platform markdown renderer with Shiki syntax highlighting for React and React Native",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cross-platform",
|
|
@@ -51,6 +51,11 @@
|
|
|
51
51
|
},
|
|
52
52
|
"./mermaid": {
|
|
53
53
|
"source": "./src/mermaid/index.ts",
|
|
54
|
+
"react-native": {
|
|
55
|
+
"types": "./types/mermaid/index.d.ts",
|
|
56
|
+
"import": "./dist/esm/mermaid/index.native.js",
|
|
57
|
+
"require": "./dist/cjs/mermaid/index.native.js"
|
|
58
|
+
},
|
|
54
59
|
"types": "./types/mermaid/index.d.ts",
|
|
55
60
|
"import": "./dist/esm/mermaid/index.mjs",
|
|
56
61
|
"require": "./dist/cjs/mermaid/index.cjs",
|
|
@@ -77,11 +82,11 @@
|
|
|
77
82
|
"tamagui": "2.7.6",
|
|
78
83
|
"unified": "^11.0.5",
|
|
79
84
|
"unist-util-visit": "^5.1.0",
|
|
80
|
-
"@multiplatform.one/
|
|
81
|
-
"@multiplatform.one/
|
|
82
|
-
"@multiplatform.one/
|
|
83
|
-
"@multiplatform.one/
|
|
84
|
-
"@multiplatform.one/
|
|
85
|
+
"@multiplatform.one/platform": "7.5.0",
|
|
86
|
+
"@multiplatform.one/router": "7.5.0",
|
|
87
|
+
"@multiplatform.one/table-primitives": "7.5.0",
|
|
88
|
+
"@multiplatform.one/theme": "7.5.0",
|
|
89
|
+
"@multiplatform.one/components": "7.5.0"
|
|
85
90
|
},
|
|
86
91
|
"devDependencies": {
|
|
87
92
|
"@tamagui/build": "2.7.6",
|
|
@@ -94,9 +99,9 @@
|
|
|
94
99
|
"react": "19.2.5",
|
|
95
100
|
"react-dom": "19.2.5",
|
|
96
101
|
"vitest": "^4.1.5",
|
|
97
|
-
"@multiplatform.one/
|
|
98
|
-
"@multiplatform.one/
|
|
99
|
-
"@multiplatform.one/
|
|
102
|
+
"@multiplatform.one/test-utils": "7.5.0",
|
|
103
|
+
"@multiplatform.one/config": "7.5.0",
|
|
104
|
+
"@multiplatform.one/storybook": "7.5.0"
|
|
100
105
|
},
|
|
101
106
|
"peerDependencies": {
|
|
102
107
|
"react": "^19.1.0",
|
package/src/Aside/index.tsx
CHANGED
|
@@ -4,10 +4,10 @@ import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
|
4
4
|
import { Children, useState, type ReactNode } from "react";
|
|
5
5
|
import { Button, Paragraph, XStack, YStack } from "tamagui";
|
|
6
6
|
import { useCutoffGradientColors } from "../shared/cutoffGradient";
|
|
7
|
+
import { tokenPx } from "../shared/tokenPx";
|
|
7
8
|
import { isBareTextChild, wrapBareTextChildren } from "../shared/textRidesText";
|
|
8
9
|
|
|
9
10
|
const zIndex = { localTop: 100 };
|
|
10
|
-
const cutoffMaxHeight = 300;
|
|
11
11
|
|
|
12
12
|
export interface MDXAsideProps {
|
|
13
13
|
children: ReactNode;
|
|
@@ -16,6 +16,8 @@ export interface MDXAsideProps {
|
|
|
16
16
|
export function MDXAside({ children, ...props }: MDXAsideProps & Record<string, unknown>) {
|
|
17
17
|
const { knobProps } = useResolvedKnobs();
|
|
18
18
|
const gradientColors = useCutoffGradientColors();
|
|
19
|
+
const cutoffMaxHeight = tokenPx(knobProps.sizeToken, 24) * 12;
|
|
20
|
+
const gradientHeight = tokenPx(knobProps.sizeToken, 24) * 8;
|
|
19
21
|
// LC-82 TEXT-RIDES-TEXT: an ARRAY of bare strings is text too — treat it
|
|
20
22
|
// like the singleton string path (one coalesced Paragraph, no cutoff).
|
|
21
23
|
const flattened = Array.isArray(children) ? Children.toArray(children) : null;
|
|
@@ -33,7 +35,7 @@ export function MDXAside({ children, ...props }: MDXAsideProps & Record<string,
|
|
|
33
35
|
<YStack
|
|
34
36
|
render="aside"
|
|
35
37
|
{...knobProps.gap}
|
|
36
|
-
|
|
38
|
+
{...knobProps.containerRadius}
|
|
37
39
|
{...knobProps.panelPadding}
|
|
38
40
|
marginHorizontal="$-2"
|
|
39
41
|
marginTop="$2"
|
|
@@ -41,7 +43,7 @@ export function MDXAside({ children, ...props }: MDXAsideProps & Record<string,
|
|
|
41
43
|
{...(cutoff && {
|
|
42
44
|
marginVertical: "$4",
|
|
43
45
|
paddingHorizontal: knobProps.panelPadding.padding,
|
|
44
|
-
borderWidth:
|
|
46
|
+
borderWidth: knobProps.borderRadius.borderWidth,
|
|
45
47
|
paddingBottom: "$10",
|
|
46
48
|
backgroundColor: "$color1",
|
|
47
49
|
borderColor: "$borderColor",
|
|
@@ -73,7 +75,7 @@ export function MDXAside({ children, ...props }: MDXAsideProps & Record<string,
|
|
|
73
75
|
bottom={0}
|
|
74
76
|
left={0}
|
|
75
77
|
right={0}
|
|
76
|
-
height={
|
|
78
|
+
height={gradientHeight}
|
|
77
79
|
colors={gradientColors}
|
|
78
80
|
pointerEvents="none"
|
|
79
81
|
zIndex={zIndex.localTop}
|
package/src/Hr/hr.spec.tsx
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import { Preset } from "@multiplatform.one/theme";
|
|
1
2
|
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
2
3
|
import { expect, it } from "vitest";
|
|
3
4
|
import { HR } from "./index";
|
|
4
5
|
|
|
5
|
-
it("renders
|
|
6
|
+
it("renders a painted separator rule", () => {
|
|
6
7
|
const { container } = renderWithProviders(<HR />);
|
|
7
|
-
|
|
8
|
+
const rule = container.querySelector('[role="separator"]');
|
|
9
|
+
expect(rule).toBeTruthy();
|
|
8
10
|
});
|
|
9
11
|
|
|
10
|
-
it("
|
|
11
|
-
const { container } = renderWithProviders(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
expect(
|
|
17
|
-
expect(styleAttr.includes("max-width: 50%"));
|
|
12
|
+
it("hides the rule when borderWidth is none", () => {
|
|
13
|
+
const { container } = renderWithProviders(
|
|
14
|
+
<Preset overrides={{ borderWidth: "none" }}>
|
|
15
|
+
<HR />
|
|
16
|
+
</Preset>,
|
|
17
|
+
);
|
|
18
|
+
expect(container.querySelector('[role="separator"]')).toBeNull();
|
|
18
19
|
});
|
package/src/Hr/index.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HorizontalRule } from "../components/HorizontalRule";
|
|
2
2
|
|
|
3
3
|
// must match the markdown HorizontalRule's rendering exactly (SB-M-1214)
|
|
4
|
-
export const HR = (props:
|
|
4
|
+
export const HR = (props: Record<string, unknown>) => <HorizontalRule {...(props as any)} />;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { Paragraph, ScrollView, Text, useMedia } from "tamagui";
|
|
3
3
|
import { Table } from "@multiplatform.one/table-primitives";
|
|
4
|
-
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
5
4
|
import { Link } from "../components/Link";
|
|
5
|
+
import { InlineCode } from "../components/InlineCode";
|
|
6
|
+
import { useMarkdownTableKnobs } from "../shared/useMarkdownTableKnobs";
|
|
6
7
|
|
|
7
8
|
type CellContent = ReactNode;
|
|
8
9
|
|
|
@@ -44,18 +45,7 @@ function parseCell(content: CellContent): ReactNode {
|
|
|
44
45
|
</Text>,
|
|
45
46
|
);
|
|
46
47
|
} else if (match[9]) {
|
|
47
|
-
parts.push(
|
|
48
|
-
<Text
|
|
49
|
-
key={key}
|
|
50
|
-
fontFamily="$mono"
|
|
51
|
-
backgroundColor="$color4"
|
|
52
|
-
paddingHorizontal="$1.5"
|
|
53
|
-
paddingVertical="$0.5"
|
|
54
|
-
borderRadius="$2"
|
|
55
|
-
>
|
|
56
|
-
{match[10]}
|
|
57
|
-
</Text>,
|
|
58
|
-
);
|
|
48
|
+
parts.push(<InlineCode key={key}>{match[10]}</InlineCode>);
|
|
59
49
|
}
|
|
60
50
|
|
|
61
51
|
lastIndex = matchIndex + match[0].length;
|
|
@@ -81,7 +71,7 @@ export interface MarkdownSimpleTableProps {
|
|
|
81
71
|
* `SimpleTable` from `@multiplatform.one/table`.
|
|
82
72
|
*/
|
|
83
73
|
export function MarkdownSimpleTable({ headers, rows }: MarkdownSimpleTableProps) {
|
|
84
|
-
const {
|
|
74
|
+
const { frameProps, headerTextProps, cellTextProps, cellPad, headRule } = useMarkdownTableKnobs();
|
|
85
75
|
const media = useMedia();
|
|
86
76
|
const isMobile = media.sm;
|
|
87
77
|
|
|
@@ -93,19 +83,16 @@ export function MarkdownSimpleTable({ headers, rows }: MarkdownSimpleTableProps)
|
|
|
93
83
|
width="auto"
|
|
94
84
|
cellWidth="auto"
|
|
95
85
|
style={{ tableLayout: "auto" }}
|
|
96
|
-
borderColor="$borderColor"
|
|
97
|
-
borderRadius={knobProps.borderRadius.borderRadius}
|
|
98
86
|
alignCells={{ x: "start", y: "center" }}
|
|
99
87
|
alignHeaderCells={{ x: "start", y: "center" }}
|
|
88
|
+
{...frameProps}
|
|
100
89
|
{...(isMobile && { minWidth: 760 })}
|
|
101
90
|
>
|
|
102
|
-
<Table.Head render="thead">
|
|
91
|
+
<Table.Head render="thead" {...headRule}>
|
|
103
92
|
<Table.Row render="tr" rowLocation="first">
|
|
104
93
|
{headers.map((header, headerIdx) => (
|
|
105
|
-
<Table.HeaderCell render="th" key={`h-${headerIdx}`}>
|
|
106
|
-
<Paragraph
|
|
107
|
-
{header}
|
|
108
|
-
</Paragraph>
|
|
94
|
+
<Table.HeaderCell render="th" key={`h-${headerIdx}`} {...cellPad}>
|
|
95
|
+
<Paragraph {...headerTextProps}>{header}</Paragraph>
|
|
109
96
|
</Table.HeaderCell>
|
|
110
97
|
))}
|
|
111
98
|
</Table.Row>
|
|
@@ -118,9 +105,8 @@ export function MarkdownSimpleTable({ headers, rows }: MarkdownSimpleTableProps)
|
|
|
118
105
|
rowLocation={rowIdx === rows.length - 1 ? "last" : "middle"}
|
|
119
106
|
>
|
|
120
107
|
{row.map((cell, cellIdx) => (
|
|
121
|
-
<Table.Cell render="td" key={`c-${rowIdx}-${cellIdx}`}>
|
|
122
|
-
|
|
123
|
-
<Paragraph render="span" display="block" size="$4" maxWidth={480}>
|
|
108
|
+
<Table.Cell render="td" key={`c-${rowIdx}-${cellIdx}`} {...cellPad}>
|
|
109
|
+
<Paragraph render="span" display="block" {...cellTextProps}>
|
|
124
110
|
{parseCell(cell)}
|
|
125
111
|
</Paragraph>
|
|
126
112
|
</Table.Cell>
|
|
@@ -14,6 +14,7 @@ import { useContext, useMemo, useState } from "react";
|
|
|
14
14
|
import { Button, ScrollView, TooltipSimple, XStack, YStack } from "tamagui";
|
|
15
15
|
import { CheckCircleIcon, ClipboardIcon } from "../icons";
|
|
16
16
|
import { useCutoffGradientColors } from "../shared/cutoffGradient";
|
|
17
|
+
import { tokenPx } from "../shared/tokenPx";
|
|
17
18
|
|
|
18
19
|
const zIndex = { localTop: 100 };
|
|
19
20
|
import type { MDXCodeBlockContextValue } from "./mdxCodeBlockContext";
|
|
@@ -64,6 +65,9 @@ export function MDXCodeBlock(props: MDXCodeBlockProps) {
|
|
|
64
65
|
|
|
65
66
|
const { knobProps } = useResolvedKnobs();
|
|
66
67
|
const gradientColors = useCutoffGradientColors();
|
|
68
|
+
const cutoffMaxHeight = tokenPx(knobProps.sizeToken, 24) * 16;
|
|
69
|
+
const gradientHeight = tokenPx(knobProps.sizeToken, 24) * 8;
|
|
70
|
+
const iconPx = tokenPx(knobProps.label.fontSize as string, 14, "fontSize");
|
|
67
71
|
const codeText = useMemo(() => extractCodeText(children).replace(/\n$/, ""), [children]);
|
|
68
72
|
const language = useMemo(() => extractLanguage(className), [className]);
|
|
69
73
|
const tokens = useShikiTokens(codeText, language);
|
|
@@ -86,9 +90,9 @@ export function MDXCodeBlock(props: MDXCodeBlockProps) {
|
|
|
86
90
|
<YStack
|
|
87
91
|
position="relative"
|
|
88
92
|
{...(isCutoff && {
|
|
89
|
-
maxHeight:
|
|
93
|
+
maxHeight: cutoffMaxHeight,
|
|
90
94
|
overflow: "hidden",
|
|
91
|
-
|
|
95
|
+
...knobProps.borderRadiusOuter,
|
|
92
96
|
})}
|
|
93
97
|
>
|
|
94
98
|
{(!isCollapsed || !isCollapsible) && isCutoff && (
|
|
@@ -98,7 +102,7 @@ export function MDXCodeBlock(props: MDXCodeBlockProps) {
|
|
|
98
102
|
bottom={0}
|
|
99
103
|
left={0}
|
|
100
104
|
right={0}
|
|
101
|
-
height={
|
|
105
|
+
height={gradientHeight}
|
|
102
106
|
colors={gradientColors}
|
|
103
107
|
pointerEvents="none"
|
|
104
108
|
zIndex={zIndex.localTop}
|
|
@@ -156,7 +160,9 @@ export function MDXCodeBlock(props: MDXCodeBlockProps) {
|
|
|
156
160
|
<Button
|
|
157
161
|
aria-label="Copy code to clipboard"
|
|
158
162
|
size="$2"
|
|
159
|
-
icon={
|
|
163
|
+
icon={
|
|
164
|
+
hasCopied ? <CheckCircleIcon size={iconPx} /> : <ClipboardIcon size={iconPx} />
|
|
165
|
+
}
|
|
160
166
|
onPress={onCopy}
|
|
161
167
|
$max-xs={{
|
|
162
168
|
display: "none",
|
package/src/Table/index.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { Paragraph, ScrollView, YStack, styled } from "tamagui";
|
|
3
3
|
import { Table as BaseTable } from "@multiplatform.one/table-primitives";
|
|
4
|
-
import {
|
|
4
|
+
import { useMarkdownTableKnobs } from "../shared/useMarkdownTableKnobs";
|
|
5
5
|
|
|
6
6
|
const MDXTableFrame = styled(YStack, {
|
|
7
7
|
marginVertical: "$4",
|
|
@@ -12,7 +12,7 @@ export function MDXTable({
|
|
|
12
12
|
children,
|
|
13
13
|
...props
|
|
14
14
|
}: { children?: ReactNode } & Record<string, unknown>) {
|
|
15
|
-
const {
|
|
15
|
+
const { frameProps } = useMarkdownTableKnobs();
|
|
16
16
|
return (
|
|
17
17
|
<ScrollView horizontal showsHorizontalScrollIndicator={false}>
|
|
18
18
|
<MDXTableFrame>
|
|
@@ -23,10 +23,9 @@ export function MDXTable({
|
|
|
23
23
|
width="auto"
|
|
24
24
|
cellWidth="auto"
|
|
25
25
|
style={{ tableLayout: "auto" }}
|
|
26
|
-
borderColor="$borderColor"
|
|
27
|
-
borderRadius={knobProps.borderRadius.borderRadius}
|
|
28
26
|
alignCells={{ x: "start", y: "center" }}
|
|
29
27
|
alignHeaderCells={{ x: "start", y: "center" }}
|
|
28
|
+
{...frameProps}
|
|
30
29
|
{...props}
|
|
31
30
|
>
|
|
32
31
|
{children}
|
|
@@ -40,8 +39,9 @@ export function MDXTableHead({
|
|
|
40
39
|
children,
|
|
41
40
|
...props
|
|
42
41
|
}: { children?: ReactNode } & Record<string, unknown>) {
|
|
42
|
+
const { headRule } = useMarkdownTableKnobs();
|
|
43
43
|
return (
|
|
44
|
-
<BaseTable.Head render="thead" {...props}>
|
|
44
|
+
<BaseTable.Head render="thead" {...headRule} {...props}>
|
|
45
45
|
{children}
|
|
46
46
|
</BaseTable.Head>
|
|
47
47
|
);
|
|
@@ -73,11 +73,10 @@ export function MDXTableHeaderCell({
|
|
|
73
73
|
children,
|
|
74
74
|
...props
|
|
75
75
|
}: { children?: ReactNode } & Record<string, unknown>) {
|
|
76
|
+
const { headerTextProps, cellPad } = useMarkdownTableKnobs();
|
|
76
77
|
return (
|
|
77
|
-
<BaseTable.HeaderCell render="th" {...props}>
|
|
78
|
-
<Paragraph
|
|
79
|
-
{children}
|
|
80
|
-
</Paragraph>
|
|
78
|
+
<BaseTable.HeaderCell render="th" {...cellPad} {...props}>
|
|
79
|
+
<Paragraph {...headerTextProps}>{children}</Paragraph>
|
|
81
80
|
</BaseTable.HeaderCell>
|
|
82
81
|
);
|
|
83
82
|
}
|
|
@@ -86,9 +85,10 @@ export function MDXTableCell({
|
|
|
86
85
|
children,
|
|
87
86
|
...props
|
|
88
87
|
}: { children?: ReactNode } & Record<string, unknown>) {
|
|
88
|
+
const { cellTextProps, cellPad } = useMarkdownTableKnobs();
|
|
89
89
|
return (
|
|
90
|
-
<BaseTable.Cell render="td" {...props}>
|
|
91
|
-
<Paragraph render="span" display="block"
|
|
90
|
+
<BaseTable.Cell render="td" {...cellPad} {...props}>
|
|
91
|
+
<Paragraph render="span" display="block" {...cellTextProps}>
|
|
92
92
|
{children}
|
|
93
93
|
</Paragraph>
|
|
94
94
|
</BaseTable.Cell>
|
package/src/Video/index.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { isWeb, Paragraph, YStack } from "tamagui";
|
|
3
3
|
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { tokenPx } from "../shared/tokenPx";
|
|
4
5
|
|
|
5
6
|
export interface VideoProps {
|
|
6
7
|
src: string;
|
|
@@ -23,6 +24,8 @@ export function Video({
|
|
|
23
24
|
...props
|
|
24
25
|
}: VideoProps & Record<string, unknown>) {
|
|
25
26
|
const { knobProps } = useResolvedKnobs();
|
|
27
|
+
const radiusPx = tokenPx(knobProps.borderRadius.borderRadius as string, 8, "radius");
|
|
28
|
+
const fallbackMin = tokenPx(knobProps.sizeToken, 24) * 8;
|
|
26
29
|
return (
|
|
27
30
|
<YStack render="figure" marginHorizontal={0} marginVertical="$6" {...props}>
|
|
28
31
|
{isWeb ? (
|
|
@@ -37,26 +40,33 @@ export function Video({
|
|
|
37
40
|
controls={controls}
|
|
38
41
|
loop={loop}
|
|
39
42
|
poster={poster}
|
|
40
|
-
|
|
43
|
+
// R11: media radius stays UNCLAMPED and rides the radius knob.
|
|
44
|
+
style={{ width: "100%", display: "block", borderRadius: radiusPx }}
|
|
41
45
|
/>
|
|
42
46
|
) : // omit the element entirely for an empty src (SB-M-1227)
|
|
43
47
|
null
|
|
44
48
|
) : (
|
|
45
49
|
<YStack
|
|
46
50
|
{...knobProps.panelPadding}
|
|
47
|
-
|
|
51
|
+
{...knobProps.borderRadius}
|
|
48
52
|
backgroundColor="$color3"
|
|
49
53
|
alignItems="center"
|
|
50
54
|
justifyContent="center"
|
|
51
|
-
minHeight={
|
|
55
|
+
minHeight={fallbackMin}
|
|
52
56
|
>
|
|
53
|
-
<Paragraph color="$color9" size=
|
|
57
|
+
<Paragraph color="$color9" size={knobProps.sizeToken as any} {...knobProps.body}>
|
|
54
58
|
Video playback requires a native video player
|
|
55
59
|
</Paragraph>
|
|
56
60
|
</YStack>
|
|
57
61
|
)}
|
|
58
62
|
{children ? (
|
|
59
|
-
<Paragraph
|
|
63
|
+
<Paragraph
|
|
64
|
+
render="figcaption"
|
|
65
|
+
marginTop="$2"
|
|
66
|
+
color={knobProps.textAccentColor}
|
|
67
|
+
size={knobProps.sizeToken as any}
|
|
68
|
+
{...knobProps.body}
|
|
69
|
+
>
|
|
60
70
|
{children}
|
|
61
71
|
</Paragraph>
|
|
62
72
|
) : null}
|
|
@@ -11,12 +11,13 @@ export function Blockquote({ children }: BlockquoteProps) {
|
|
|
11
11
|
typeof padToken === "number"
|
|
12
12
|
? padToken
|
|
13
13
|
: ((getTokens().space as any)?.[padToken]?.val ?? padToken);
|
|
14
|
+
const railWidth = knobProps.borderRadius.borderWidth;
|
|
14
15
|
return (
|
|
15
16
|
<View
|
|
16
17
|
backgroundColor={markdownBlockquoteColors.background.base}
|
|
17
18
|
// R-SCALE quote frame (spec Blockquote): the painted quote surface
|
|
18
19
|
// rounds with the radius knob, capped at its own padding (Axiom 1 —
|
|
19
|
-
// containerRadius fragment).
|
|
20
|
+
// containerRadius fragment). Rail thickness rides borderWidth (0 hides).
|
|
20
21
|
{...knobProps.containerRadius}
|
|
21
22
|
paddingVertical={knobProps.gap.gap}
|
|
22
23
|
marginVertical="$3"
|
|
@@ -27,14 +28,14 @@ export function Blockquote({ children }: BlockquoteProps) {
|
|
|
27
28
|
{...(isWeb
|
|
28
29
|
? {
|
|
29
30
|
style: {
|
|
30
|
-
borderInlineStartWidth:
|
|
31
|
-
borderInlineStartStyle: "solid",
|
|
32
|
-
borderInlineStartColor: theme.color8?.val ??
|
|
31
|
+
borderInlineStartWidth: railWidth,
|
|
32
|
+
borderInlineStartStyle: railWidth ? "solid" : "none",
|
|
33
|
+
borderInlineStartColor: theme.color8?.val ?? theme.borderColor?.val,
|
|
33
34
|
paddingInlineStart: pad,
|
|
34
35
|
} as any,
|
|
35
36
|
}
|
|
36
37
|
: {
|
|
37
|
-
borderStartWidth:
|
|
38
|
+
borderStartWidth: railWidth,
|
|
38
39
|
borderStartColor: markdownBlockquoteColors.border.base,
|
|
39
40
|
paddingStart: knobProps.panelPadding.padding,
|
|
40
41
|
})}
|
|
@@ -35,9 +35,9 @@ export function CodeBlock({ children, lang, theme: themeProp = "auto" }: CodeBlo
|
|
|
35
35
|
// Full fragment spread (AGENTS.md knob rule) so the cornerSmoothing
|
|
36
36
|
// class rides along with the outer radius; the fallback keeps the old
|
|
37
37
|
// default when a Preset override drops the fragment.
|
|
38
|
-
{...(knobProps.
|
|
38
|
+
{...(knobProps.borderRadiusNested ?? { borderRadius: "$4" })}
|
|
39
39
|
backgroundColor={markdownCodeColors.background.base}
|
|
40
|
-
borderWidth={
|
|
40
|
+
borderWidth={knobProps.borderRadius.borderWidth}
|
|
41
41
|
borderColor={markdownCodeColors.border.base}
|
|
42
42
|
// SP-PAD (spec CodeBlock frame; LC-18 / UX-P07): the block inset rides
|
|
43
43
|
// the space knob through the complete panelPadding fragment —
|