react-native-nitro-markdown 0.6.1 → 0.6.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/README.md +55 -1
- package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +21 -3
- package/ios/HybridMarkdownSession.swift +53 -3
- package/lib/commonjs/MarkdownContext.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown-stream.js +40 -15
- package/lib/commonjs/markdown-stream.js.map +1 -1
- package/lib/commonjs/markdown.js +4 -2
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/heading.js +1 -0
- package/lib/commonjs/renderers/heading.js.map +1 -1
- package/lib/commonjs/renderers/image.js +22 -7
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/link.js +1 -0
- package/lib/commonjs/renderers/link.js.map +1 -1
- package/lib/commonjs/renderers/list.js +4 -0
- package/lib/commonjs/renderers/list.js.map +1 -1
- package/lib/commonjs/use-markdown-stream.js +9 -1
- package/lib/commonjs/use-markdown-stream.js.map +1 -1
- package/lib/commonjs/utils/link-security.js +42 -5
- package/lib/commonjs/utils/link-security.js.map +1 -1
- package/lib/module/MarkdownContext.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown-stream.js +40 -15
- package/lib/module/markdown-stream.js.map +1 -1
- package/lib/module/markdown.js +4 -2
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/heading.js +1 -0
- package/lib/module/renderers/heading.js.map +1 -1
- package/lib/module/renderers/image.js +22 -7
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/link.js +1 -0
- package/lib/module/renderers/link.js.map +1 -1
- package/lib/module/renderers/list.js +4 -0
- package/lib/module/renderers/list.js.map +1 -1
- package/lib/module/use-markdown-stream.js +9 -1
- package/lib/module/use-markdown-stream.js.map +1 -1
- package/lib/module/utils/link-security.js +40 -4
- package/lib/module/utils/link-security.js.map +1 -1
- package/lib/typescript/commonjs/MarkdownContext.d.ts +44 -7
- package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown.d.ts +12 -11
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/link-security.d.ts +5 -0
- package/lib/typescript/commonjs/utils/link-security.d.ts.map +1 -1
- package/lib/typescript/module/MarkdownContext.d.ts +44 -7
- package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/markdown.d.ts +12 -11
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
- package/lib/typescript/module/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/link.d.ts.map +1 -1
- package/lib/typescript/module/renderers/list.d.ts.map +1 -1
- package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/utils/link-security.d.ts +5 -0
- package/lib/typescript/module/utils/link-security.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MarkdownContext.ts +51 -11
- package/src/index.ts +6 -0
- package/src/markdown-stream.tsx +49 -17
- package/src/markdown.tsx +20 -12
- package/src/renderers/heading.tsx +5 -1
- package/src/renderers/image.tsx +31 -8
- package/src/renderers/link.tsx +5 -1
- package/src/renderers/list.tsx +5 -1
- package/src/use-markdown-stream.ts +9 -1
- package/src/utils/link-security.ts +68 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","ANDROID_SYSTEM_FONTS","Set","Heading","level","children","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","headingStyles","heading","h1","h2","h3","h4","h5","h6","jsx","Text","exports","WeakMap","getHeadingWeight","headingWeight","Platform","OS","fontFamilies","has","StyleSheet","create","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","letterSpacing","includeFontPadding","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","textMuted"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AASxD,MAAMI,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,EACP,WAAW,CACZ,CAAC;AAEK,MAAMC,OAAyB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,WAAW,EAAEJ,KAAK,EAAEK,YAAY,CAAC;EAEhE,MAAMC,aAAa,GAAG,CACpBJ,MAAM,CAACK,OAAO,EACdV,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACM,EAAE,EACxBX,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACO,EAAE,EACxBZ,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACQ,EAAE,EACxBb,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACS,EAAE,EACxBd,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACU,EAAE,EACxBf,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACW,EAAE,CACzB;EAED,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","ANDROID_SYSTEM_FONTS","Set","Heading","level","children","style","theme","useMarkdownContext","styles","getCachedStyles","stylesCache","createStyles","headingStyles","heading","h1","h2","h3","h4","h5","h6","jsx","Text","accessibilityRole","exports","WeakMap","getHeadingWeight","headingWeight","Platform","OS","fontFamilies","has","StyleSheet","create","color","colors","fontWeight","marginTop","spacing","xl","marginBottom","m","fontFamily","letterSpacing","includeFontPadding","fontSize","fontSizes","lineHeight","borderBottomWidth","borderBottomColor","border","paddingBottom","s","textMuted"],"sourceRoot":"../../../src","sources":["renderers/heading.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AASxD,MAAMI,oBAAoB,GAAG,IAAIC,GAAG,CAAC,CACnC,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,EACP,WAAW,CACZ,CAAC;AAEK,MAAMC,OAAyB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,WAAW,EAAEJ,KAAK,EAAEK,YAAY,CAAC;EAEhE,MAAMC,aAAa,GAAG,CACpBJ,MAAM,CAACK,OAAO,EACdV,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACM,EAAE,EACxBX,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACO,EAAE,EACxBZ,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACQ,EAAE,EACxBb,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACS,EAAE,EACxBd,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACU,EAAE,EACxBf,KAAK,KAAK,CAAC,IAAIK,MAAM,CAACW,EAAE,CACzB;EAED,oBACE,IAAApB,WAAA,CAAAqB,GAAA,EAACzB,YAAA,CAAA0B,IAAI;IAAChB,KAAK,EAAE,CAAC,GAAGO,aAAa,EAAEP,KAAK,CAAE;IAACiB,iBAAiB,EAAC,QAAQ;IAAAlB,QAAA,EAC/DA;EAAQ,CACL,CAAC;AAEX,CAAC;AAACmB,OAAA,CAAArB,OAAA,GAAAA,OAAA;AAIF,MAAMQ,WAAW,GAAG,IAAIc,OAAO,CAA+B,CAAC;AAE/D,MAAMC,gBAAgB,GAAInB,KAAoB,IAC5CA,KAAK,CAACoB,aAAa,KAClBC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAC1BtB,KAAK,CAACuB,YAAY,CAAChB,OAAO,IAC1B,CAACb,oBAAoB,CAAC8B,GAAG,CAACxB,KAAK,CAACuB,YAAY,CAAChB,OAAO,CAAC,GACjD,QAAQ,GACR,KAAK,CAAC;AAEZ,MAAMF,YAAY,GAAIL,KAAoB,IACxCyB,uBAAU,CAACC,MAAM,CAAC;EAChBnB,OAAO,EAAE;IACPoB,KAAK,EAAE3B,KAAK,CAAC4B,MAAM,CAACrB,OAAO;IAC3BsB,UAAU,EAAEV,gBAAgB,CAACnB,KAAK,CAAC;IACnC8B,SAAS,EAAE9B,KAAK,CAAC+B,OAAO,CAACC,EAAE;IAC3BC,YAAY,EAAEjC,KAAK,CAAC+B,OAAO,CAACG,CAAC;IAC7BC,UAAU,EAAEnC,KAAK,CAACuB,YAAY,CAAChB,OAAO;IACtC6B,aAAa,EAAE,CAAC,GAAG;IACnB,IAAIf,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI;MAAEe,kBAAkB,EAAE;IAAM,CAAC;EAChE,CAAC;EACD7B,EAAE,EAAE;IACF8B,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC/B,EAAE;IAC5BgC,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC/B,EAAE,GAAG,GAAG;IACpCiC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE1C,KAAK,CAAC4B,MAAM,CAACe,MAAM;IACtCC,aAAa,EAAE5C,KAAK,CAAC+B,OAAO,CAACc,CAAC;IAC9BT,aAAa,EAAE,CAAC;EAClB,CAAC;EACD3B,EAAE,EAAE;IACF6B,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC9B,EAAE;IAC5B+B,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC9B,EAAE,GAAG,GAAG;IACpC2B,aAAa,EAAE,CAAC;EAClB,CAAC;EACD1B,EAAE,EAAE;IACF4B,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC7B,EAAE;IAC5B8B,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC7B,EAAE,GAAG,GAAG;IACpC0B,aAAa,EAAE,CAAC;EAClB,CAAC;EACDzB,EAAE,EAAE;IACF2B,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC5B,EAAE;IAC5B6B,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC5B,EAAE,GAAG;EACnC,CAAC;EACDC,EAAE,EAAE;IACF0B,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC3B,EAAE;IAC5B4B,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC3B,EAAE,GAAG;EACnC,CAAC;EACDC,EAAE,EAAE;IACFyB,QAAQ,EAAEtC,KAAK,CAACuC,SAAS,CAAC1B,EAAE;IAC5B2B,UAAU,EAAExC,KAAK,CAACuC,SAAS,CAAC1B,EAAE,GAAG,GAAG;IACpCc,KAAK,EAAE3B,KAAK,CAAC4B,MAAM,CAACkB;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _headless = require("../headless.js");
|
|
10
10
|
var _MarkdownContext = require("../MarkdownContext.js");
|
|
11
|
+
var _linkSecurity = require("../utils/link-security.js");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
const renderInlineContent = (node, Renderer) => {
|
|
13
14
|
if (node.type === "paragraph" && node.children) {
|
|
@@ -32,8 +33,10 @@ const Image = ({
|
|
|
32
33
|
const [error, setError] = (0, _react.useState)(false);
|
|
33
34
|
const [aspectRatio, setAspectRatio] = (0, _react.useState)(undefined);
|
|
34
35
|
const {
|
|
35
|
-
theme
|
|
36
|
+
theme,
|
|
37
|
+
imageOptions
|
|
36
38
|
} = (0, _MarkdownContext.useMarkdownContext)();
|
|
39
|
+
const allowedImageHref = (0, _react.useMemo)(() => (0, _linkSecurity.getAllowedImageHref)(url, imageOptions), [imageOptions, url]);
|
|
37
40
|
const styles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
|
|
38
41
|
imageContainer: {
|
|
39
42
|
marginVertical: theme.spacing.m,
|
|
@@ -100,9 +103,14 @@ const Image = ({
|
|
|
100
103
|
(0, _react.useEffect)(() => {
|
|
101
104
|
let isMounted = true;
|
|
102
105
|
setLoading(true);
|
|
103
|
-
setError(
|
|
106
|
+
setError(!allowedImageHref);
|
|
104
107
|
setAspectRatio(undefined);
|
|
105
|
-
|
|
108
|
+
if (!allowedImageHref) {
|
|
109
|
+
return () => {
|
|
110
|
+
isMounted = false;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
const picsumMatch = allowedImageHref.match(/picsum\.photos\/.*\/(\d+)\/(\d+)/);
|
|
106
114
|
if (picsumMatch) {
|
|
107
115
|
const w = parseInt(picsumMatch[1], 10);
|
|
108
116
|
const h = parseInt(picsumMatch[2], 10);
|
|
@@ -113,7 +121,7 @@ const Image = ({
|
|
|
113
121
|
};
|
|
114
122
|
}
|
|
115
123
|
}
|
|
116
|
-
_reactNative.Image.getSize(
|
|
124
|
+
_reactNative.Image.getSize(allowedImageHref, (width, height) => {
|
|
117
125
|
if (isMounted && width > 0 && height > 0) {
|
|
118
126
|
setAspectRatio(width / height);
|
|
119
127
|
}
|
|
@@ -126,7 +134,7 @@ const Image = ({
|
|
|
126
134
|
return () => {
|
|
127
135
|
isMounted = false;
|
|
128
136
|
};
|
|
129
|
-
}, [
|
|
137
|
+
}, [allowedImageHref]);
|
|
130
138
|
const altContent = (0, _react.useMemo)(() => {
|
|
131
139
|
if (!alt || !Renderer) return null;
|
|
132
140
|
if (alt.includes("$") || alt.includes("*") || alt.includes("_") || alt.includes("`") || alt.includes("[")) {
|
|
@@ -158,9 +166,13 @@ const Image = ({
|
|
|
158
166
|
children: alt
|
|
159
167
|
});
|
|
160
168
|
}, [alt, Renderer, styles.imageErrorText]);
|
|
161
|
-
|
|
169
|
+
const accessibilityLabel = alt || title;
|
|
170
|
+
if (error || !allowedImageHref) {
|
|
162
171
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
163
172
|
style: [styles.imageError, style],
|
|
173
|
+
accessible: Boolean(accessibilityLabel),
|
|
174
|
+
accessibilityRole: accessibilityLabel ? "image" : undefined,
|
|
175
|
+
accessibilityLabel: accessibilityLabel,
|
|
164
176
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
165
177
|
style: {
|
|
166
178
|
flexDirection: "row",
|
|
@@ -188,10 +200,13 @@ const Image = ({
|
|
|
188
200
|
})
|
|
189
201
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
190
202
|
source: {
|
|
191
|
-
uri:
|
|
203
|
+
uri: allowedImageHref ?? ""
|
|
192
204
|
},
|
|
193
205
|
style: [styles.image, loading && !aspectRatio && styles.imageHidden],
|
|
194
206
|
resizeMode: "contain",
|
|
207
|
+
accessible: Boolean(accessibilityLabel),
|
|
208
|
+
accessibilityRole: accessibilityLabel ? "image" : undefined,
|
|
209
|
+
accessibilityLabel: accessibilityLabel,
|
|
195
210
|
onLoad: () => {
|
|
196
211
|
setLoading(false);
|
|
197
212
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_jsxRuntime","renderInlineContent","node","Renderer","type","children","jsx","Fragment","map","child","idx","depth","inListItem","Image","url","title","alt","style","loading","setLoading","useState","error","setError","aspectRatio","setAspectRatio","undefined","theme","useMarkdownContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_headless","_MarkdownContext","_linkSecurity","_jsxRuntime","renderInlineContent","node","Renderer","type","children","jsx","Fragment","map","child","idx","depth","inListItem","Image","url","title","alt","style","loading","setLoading","useState","error","setError","aspectRatio","setAspectRatio","undefined","theme","imageOptions","useMarkdownContext","allowedImageHref","useMemo","getAllowedImageHref","styles","StyleSheet","create","imageContainer","marginVertical","spacing","m","alignItems","image","width","minHeight","borderRadius","backgroundColor","colors","surface","imageHidden","opacity","position","imageLoading","height","justifyContent","imageLoadingText","color","textMuted","fontSize","fontSizes","s","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","imageError","padding","l","imageErrorText","imageCaption","xs","marginTop","fontStyle","textAlign","useEffect","isMounted","picsumMatch","match","w","parseInt","h","isNaN","RNImage","getSize","__DEV__","console","warn","altContent","includes","ast","parseMarkdownWithOptions","math","gfm","paragraph","inlineContent","Text","accessibilityLabel","View","accessible","Boolean","accessibilityRole","jsxs","flexDirection","flexWrap","source","uri","resizeMode","onLoad","onError","exports"],"sourceRoot":"../../../src","sources":["renderers/image.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_MarkdownContext","_linkSecurity","_jsxRuntime","Link","href","children","style","theme","onLinkPress","useMarkdownContext","styles","useMemo","StyleSheet","create","link","color","colors","textDecorationLine","textDecorationColor","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","handlePress","normalizedHref","normalizeLinkHref","shouldOpen","Promise","resolve","allowedExternalHref","getAllowedExternalHref","canOpen","Linking","canOpenURL","openURL","error","__DEV__","console","warn","jsx","Text","onPress","exports"],"sourceRoot":"../../../src","sources":["renderers/link.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAGgC,IAAAI,WAAA,GAAAJ,OAAA;AAQzB,MAAMK,IAAmB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAChE,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACnD,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACpB,MACEC,uBAAU,CAACC,MAAM,CAAC;IAChBC,IAAI,EAAE;MACJC,KAAK,EAAER,KAAK,CAACS,MAAM,CAACF,IAAI;MACxBG,kBAAkB,EAAE,WAAW;MAC/BC,mBAAmB,EAAEX,KAAK,CAACS,MAAM,CAACF,IAAI;MACtCK,UAAU,EAAEZ,KAAK,CAACa,YAAY,CAACC,OAAO;MACtC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE;EACF,CAAC,CAAC,EACJ,CAACjB,KAAK,CACR,CAAC;EAED,MAAMkB,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,MAAMC,cAAc,GAAG,IAAAC,+BAAiB,EAACvB,IAAI,CAAC;IAC9C,IAAI,CAACsB,cAAc,EAAE;IAErB,IAAI;MACF,MAAME,UAAU,GACd,CAAC,MAAMC,OAAO,CAACC,OAAO,CAACtB,WAAW,GAAGkB,cAAc,CAAC,CAAC,MAAM,KAAK;MAClE,IAAI,CAACE,UAAU,EAAE;MAEjB,MAAMG,mBAAmB,GAAG,IAAAC,oCAAsB,EAACN,cAAc,CAAC;MAClE,IAAI,CAACK,mBAAmB,EAAE;MAE1B,MAAME,OAAO,GAAG,MAAMC,oBAAO,CAACC,UAAU,CAACJ,mBAAmB,CAAC;MAC7D,IAAI,CAACE,OAAO,EAAE;MAEd,MAAMC,oBAAO,CAACE,OAAO,CAACL,mBAAmB,CAAC;IAC5C,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd,IAAIC,OAAO,EAAE;QACX;QACAC,OAAO,CAACC,IAAI,CAAC,4CAA4C,EAAEH,KAAK,CAAC;MACnE;IACF;EACF,CAAC;EAED,oBACE,IAAAnC,WAAA,CAAAuC,GAAA,EAAC1C,YAAA,CAAA2C,IAAI;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_MarkdownContext","_linkSecurity","_jsxRuntime","Link","href","children","style","theme","onLinkPress","useMarkdownContext","styles","useMemo","StyleSheet","create","link","color","colors","textDecorationLine","textDecorationColor","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","handlePress","normalizedHref","normalizeLinkHref","shouldOpen","Promise","resolve","allowedExternalHref","getAllowedExternalHref","canOpen","Linking","canOpenURL","openURL","error","__DEV__","console","warn","jsx","Text","onPress","accessibilityRole","exports"],"sourceRoot":"../../../src","sources":["renderers/link.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAGgC,IAAAI,WAAA,GAAAJ,OAAA;AAQzB,MAAMK,IAAmB,GAAGA,CAAC;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAChE,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACnD,MAAMC,MAAM,GAAG,IAAAC,cAAO,EACpB,MACEC,uBAAU,CAACC,MAAM,CAAC;IAChBC,IAAI,EAAE;MACJC,KAAK,EAAER,KAAK,CAACS,MAAM,CAACF,IAAI;MACxBG,kBAAkB,EAAE,WAAW;MAC/BC,mBAAmB,EAAEX,KAAK,CAACS,MAAM,CAACF,IAAI;MACtCK,UAAU,EAAEZ,KAAK,CAACa,YAAY,CAACC,OAAO;MACtC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI;QAAEC,kBAAkB,EAAE;MAAM,CAAC;IAChE;EACF,CAAC,CAAC,EACJ,CAACjB,KAAK,CACR,CAAC;EAED,MAAMkB,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,MAAMC,cAAc,GAAG,IAAAC,+BAAiB,EAACvB,IAAI,CAAC;IAC9C,IAAI,CAACsB,cAAc,EAAE;IAErB,IAAI;MACF,MAAME,UAAU,GACd,CAAC,MAAMC,OAAO,CAACC,OAAO,CAACtB,WAAW,GAAGkB,cAAc,CAAC,CAAC,MAAM,KAAK;MAClE,IAAI,CAACE,UAAU,EAAE;MAEjB,MAAMG,mBAAmB,GAAG,IAAAC,oCAAsB,EAACN,cAAc,CAAC;MAClE,IAAI,CAACK,mBAAmB,EAAE;MAE1B,MAAME,OAAO,GAAG,MAAMC,oBAAO,CAACC,UAAU,CAACJ,mBAAmB,CAAC;MAC7D,IAAI,CAACE,OAAO,EAAE;MAEd,MAAMC,oBAAO,CAACE,OAAO,CAACL,mBAAmB,CAAC;IAC5C,CAAC,CAAC,OAAOM,KAAK,EAAE;MACd,IAAIC,OAAO,EAAE;QACX;QACAC,OAAO,CAACC,IAAI,CAAC,4CAA4C,EAAEH,KAAK,CAAC;MACnE;IACF;EACF,CAAC;EAED,oBACE,IAAAnC,WAAA,CAAAuC,GAAA,EAAC1C,YAAA,CAAA2C,IAAI;IACHpC,KAAK,EAAE,CAACI,MAAM,CAACI,IAAI,EAAER,KAAK,CAAE;IAC5BqC,OAAO,EAAElB,WAAY;IACrBmB,iBAAiB,EAAC,MAAM;IAAAvC,QAAA,EAEvBA;EAAQ,CACL,CAAC;AAEX,CAAC;AAACwC,OAAA,CAAA1C,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -59,6 +59,10 @@ const TaskListItem = ({
|
|
|
59
59
|
const styles = (0, _styleCache.getCachedStyles)(taskListItemStylesCache, theme, createTaskListItemStyles);
|
|
60
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
61
61
|
style: [styles.taskListItem, style],
|
|
62
|
+
accessibilityRole: "checkbox",
|
|
63
|
+
accessibilityState: {
|
|
64
|
+
checked
|
|
65
|
+
},
|
|
62
66
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
67
|
style: [styles.taskCheckbox, checked && styles.taskCheckboxChecked],
|
|
64
68
|
children: checked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","List","depth","children","style","theme","useMarkdownContext","styles","getCachedStyles","listStylesCache","createListStyles","jsx","View","list","listNested","exports","ListItem","index","ordered","start","listItemStylesCache","createListItemStyles","bullet","jsxs","listItem","Text","listBullet","listItemContent","TaskListItem","checked","taskListItemStylesCache","createTaskListItemStyles","taskListItem","taskCheckbox","taskCheckboxChecked","taskCheckboxText","taskContent","WeakMap","StyleSheet","create","marginBottom","spacing","m","marginLeft","s","flexDirection","alignItems","color","colors","accent","fontSize","fontSizes","lineHeight","marginRight","minWidth","textAlign","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","flex","width","height","borderRadius","borderWidth","borderColor","justifyContent","marginTop","backgroundColor","surface","fontWeight"],"sourceRoot":"../../../src","sources":["renderers/list.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAWxD;AACO,MAAMI,IAAmB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAACC,eAAe,EAAEJ,KAAK,EAAEK,gBAAgB,CAAC;EACxE,oBACE,IAAAV,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAgB,IAAI;IAACR,KAAK,EAAE,CAACG,MAAM,CAACM,IAAI,EAAEX,KAAK,GAAG,CAAC,IAAIK,MAAM,CAACO,UAAU,EAAEV,KAAK,CAAE;IAAAD,QAAA,EAC/DA;EAAQ,CACL,CAAC;AAEX,CAAC;AAACY,OAAA,CAAAd,IAAA,GAAAA,IAAA;AAUK,MAAMe,QAA2B,GAAGA,CAAC;EAC1Cb,QAAQ;EACRc,KAAK;EACLC,OAAO;EACPC,KAAK;EACLf;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAC5BY,mBAAmB,EACnBf,KAAK,EACLgB,oBACF,CAAC;EACD,MAAMC,MAAM,GAAGJ,OAAO,GAAG,GAAGC,KAAK,GAAGF,KAAK,GAAG,GAAG,GAAG;EAClD,oBACE,IAAAjB,WAAA,CAAAuB,IAAA,EAAC3B,YAAA,CAAAgB,IAAI;IAACR,KAAK,EAAE,CAACG,MAAM,CAACiB,QAAQ,EAAEpB,KAAK,CAAE;IAAAD,QAAA,gBACpC,IAAAH,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAA6B,IAAI;MAACrB,KAAK,EAAEG,MAAM,CAACmB,UAAW;MAAAvB,QAAA,EAAEmB;IAAM,CAAO,CAAC,eAC/C,IAAAtB,WAAA,CAAAW,GAAA,EAACf,YAAA,CAAAgB,IAAI;MAACR,KAAK,EAAEG,MAAM,CAACoB,eAAgB;MAAAxB,QAAA,EAAEA;IAAQ,CAAO,CAAC;EAAA,CAClD,CAAC;AAEX,CAAC;AAACY,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAQK,MAAMY,YAAmC,GAAGA,CAAC;EAClDzB,QAAQ;EACR0B,OAAO;EACPzB;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EACtC,MAAMC,MAAM,GAAG,IAAAC,2BAAe,EAC5BsB,uBAAuB,EACvBzB,KAAK,EACL0B,wBACF,CAAC;EACD,oBACE,IAAA/B,WAAA,CAAAuB,IAAA,EAAC3B,YAAA,CAAAgB,IAAI;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styleCache","_MarkdownContext","_jsxRuntime","List","depth","children","style","theme","useMarkdownContext","styles","getCachedStyles","listStylesCache","createListStyles","jsx","View","list","listNested","exports","ListItem","index","ordered","start","listItemStylesCache","createListItemStyles","bullet","jsxs","listItem","Text","listBullet","listItemContent","TaskListItem","checked","taskListItemStylesCache","createTaskListItemStyles","taskListItem","accessibilityRole","accessibilityState","taskCheckbox","taskCheckboxChecked","taskCheckboxText","taskContent","WeakMap","StyleSheet","create","marginBottom","spacing","m","marginLeft","s","flexDirection","alignItems","color","colors","accent","fontSize","fontSizes","lineHeight","marginRight","minWidth","textAlign","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","flex","width","height","borderRadius","borderWidth","borderColor","justifyContent","marginTop","backgroundColor","surface","fontWeight"],"sourceRoot":"../../../src","sources":["renderers/list.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,15 @@ function useMarkdownSession() {
|
|
|
17
17
|
(0, _react.useEffect)(() => {
|
|
18
18
|
const session = sessionRef.current;
|
|
19
19
|
return () => {
|
|
20
|
-
|
|
20
|
+
try {
|
|
21
|
+
session.clear();
|
|
22
|
+
} finally {
|
|
23
|
+
try {
|
|
24
|
+
session.dispose();
|
|
25
|
+
} finally {
|
|
26
|
+
sessionRef.current = null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
21
29
|
};
|
|
22
30
|
}, []);
|
|
23
31
|
const stop = (0, _react.useCallback)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","sessionRef","useRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","stop","useCallback","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAQO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAyB,IAAI,CAAC;EACvD,IAAID,UAAU,CAACE,OAAO,KAAK,IAAI,EAAE;IAC/BF,UAAU,CAACE,OAAO,GAAG,IAAAC,sCAAqB,EAAC,CAAC;EAC9C;EAEA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,OAAO,GAAGR,UAAU,CAACE,OAAQ;IACnC,OAAO,MAAM;
|
|
1
|
+
{"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","sessionRef","useRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","dispose","stop","useCallback","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,19 +3,56 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.normalizeLinkHref = exports.getAllowedExternalHref = void 0;
|
|
6
|
+
exports.normalizeLinkHref = exports.getAllowedImageHref = exports.getAllowedExternalHref = void 0;
|
|
7
7
|
const ALLOWED_LINK_PROTOCOLS = new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
8
|
+
const DEFAULT_IMAGE_PROTOCOLS = ["http:", "https:"];
|
|
9
|
+
const CONTROL_CHARACTER_PATTERN = /[\u0000-\u001F\u007F]/;
|
|
8
10
|
const normalizeLinkHref = href => {
|
|
9
11
|
const normalizedHref = href.trim();
|
|
12
|
+
if (CONTROL_CHARACTER_PATTERN.test(normalizedHref)) return null;
|
|
10
13
|
return normalizedHref.length > 0 ? normalizedHref : null;
|
|
11
14
|
};
|
|
12
15
|
exports.normalizeLinkHref = normalizeLinkHref;
|
|
13
|
-
const
|
|
16
|
+
const parseAbsoluteHref = href => {
|
|
14
17
|
const protocolMatch = href.match(/^([a-z][a-z0-9+.-]*):/i);
|
|
15
18
|
if (!protocolMatch) return null;
|
|
16
|
-
const protocol =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
const protocol = normalizeProtocol(protocolMatch[1]);
|
|
20
|
+
const rest = href.slice(protocolMatch[0].length);
|
|
21
|
+
const authorityMatch = rest.match(/^\/\/([^/?#]*)/);
|
|
22
|
+
const rawHost = authorityMatch?.[1] ?? "";
|
|
23
|
+
const hostname = rawHost.replace(/^[^@]*@/, "").replace(/^\[|\]$/g, "").split(":")[0].toLowerCase();
|
|
24
|
+
return {
|
|
25
|
+
protocol,
|
|
26
|
+
hostname
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
const normalizeProtocol = protocol => {
|
|
30
|
+
const normalized = protocol.trim().toLowerCase();
|
|
31
|
+
return normalized.endsWith(":") ? normalized : `${normalized}:`;
|
|
32
|
+
};
|
|
33
|
+
const getAllowedExternalHref = href => {
|
|
34
|
+
const normalizedHref = normalizeLinkHref(href);
|
|
35
|
+
if (!normalizedHref) return null;
|
|
36
|
+
const parsed = parseAbsoluteHref(normalizedHref);
|
|
37
|
+
if (!parsed) return null;
|
|
38
|
+
if (!ALLOWED_LINK_PROTOCOLS.has(parsed.protocol)) return null;
|
|
39
|
+
return normalizedHref;
|
|
19
40
|
};
|
|
20
41
|
exports.getAllowedExternalHref = getAllowedExternalHref;
|
|
42
|
+
const getAllowedImageHref = (href, options) => {
|
|
43
|
+
const normalizedHref = normalizeLinkHref(href);
|
|
44
|
+
if (!normalizedHref) return null;
|
|
45
|
+
const parsed = parseAbsoluteHref(normalizedHref);
|
|
46
|
+
if (!parsed) return null;
|
|
47
|
+
const allowedProtocols = new Set((options?.allowedProtocols ?? DEFAULT_IMAGE_PROTOCOLS).map(normalizeProtocol));
|
|
48
|
+
if (!allowedProtocols.has(parsed.protocol)) return null;
|
|
49
|
+
const allowedHosts = options?.allowedHosts;
|
|
50
|
+
if (allowedHosts && allowedHosts.length > 0) {
|
|
51
|
+
const normalizedHost = parsed.hostname.toLowerCase();
|
|
52
|
+
const allowedHostSet = new Set(allowedHosts.map(host => host.trim().toLowerCase()).filter(Boolean));
|
|
53
|
+
if (!allowedHostSet.has(normalizedHost)) return null;
|
|
54
|
+
}
|
|
55
|
+
return normalizedHref;
|
|
56
|
+
};
|
|
57
|
+
exports.getAllowedImageHref = getAllowedImageHref;
|
|
21
58
|
//# sourceMappingURL=link-security.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","normalizeLinkHref","href","normalizedHref","trim","length","exports","
|
|
1
|
+
{"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","DEFAULT_IMAGE_PROTOCOLS","CONTROL_CHARACTER_PATTERN","normalizeLinkHref","href","normalizedHref","trim","test","length","exports","parseAbsoluteHref","protocolMatch","match","protocol","normalizeProtocol","rest","slice","authorityMatch","rawHost","hostname","replace","split","toLowerCase","normalized","endsWith","getAllowedExternalHref","parsed","has","getAllowedImageHref","options","allowedProtocols","map","allowedHosts","normalizedHost","allowedHostSet","host","filter","Boolean"],"sourceRoot":"../../../src","sources":["utils/link-security.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","defaultMarkdownTheme","MarkdownContext","renderers","theme","styles","undefined","stylingStrategy","onLinkPress","useMarkdownContext"],"sourceRoot":"../../src","sources":["MarkdownContext.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,UAAU,QAGL,OAAO;AAEd,SACEC,oBAAoB,QAIf,YAAS;
|
|
1
|
+
{"version":3,"names":["createContext","useContext","defaultMarkdownTheme","MarkdownContext","renderers","theme","styles","undefined","stylingStrategy","onLinkPress","useMarkdownContext"],"sourceRoot":"../../src","sources":["MarkdownContext.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,UAAU,QAGL,OAAO;AAEd,SACEC,oBAAoB,QAIf,YAAS;AAiIhB,OAAO,MAAMC,eAAe,gBAAGH,aAAa,CAAuB;EACjEI,SAAS,EAAE,CAAC,CAAC;EACbC,KAAK,EAAEH,oBAAoB;EAC3BI,MAAM,EAAEC,SAAS;EACjBC,eAAe,EAAE,aAAa;EAC9BC,WAAW,EAAEF;AACf,CAAC,CAAC;AAEF,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAMT,UAAU,CAACE,eAAe,CAAC","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAGnB,SAASC,QAAQ,QAAQ,eAAY;
|
|
1
|
+
{"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAGnB,SAASC,QAAQ,QAAQ,eAAY;AASrC,SAASC,cAAc,QAAQ,sBAAmB;AAGlD,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,sBAAmB;AAsBvE,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,WAAW,QACN,YAAS;AAQhB,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,SAAS,QAAQ,0BAAuB;AACjD,SAASC,IAAI,QAAQ,qBAAkB;AACvC,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,cAAc,QAAQ,gCAA6B;AAC5D,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAkB;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,qBAAkB;AAC/D,SAASC,aAAa,QAAQ,sBAAmB;AACjD,SAASC,KAAK,QAAQ,sBAAmB;AACzC,SAASC,UAAU,EAAEC,SAAS,QAAQ,qBAAkB;AAExD,SAASC,qBAAqB,QAAQ,sBAAmB;AAEzD,SAASC,kBAAkB,EAAEC,SAAS,QAAQ,0BAAuB;AAOrE,SAASC,kBAAkB,QAAQ,2BAAwB","ignoreList":[]}
|
|
@@ -39,6 +39,13 @@ const resolveStreamText = ({
|
|
|
39
39
|
}
|
|
40
40
|
return session.getAllText();
|
|
41
41
|
};
|
|
42
|
+
function warnStreamError(message, error) {
|
|
43
|
+
if (!__DEV__) return;
|
|
44
|
+
const warn = Reflect.get(console, "warn");
|
|
45
|
+
if (typeof warn === "function") {
|
|
46
|
+
warn.call(console, message, error);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
42
49
|
/**
|
|
43
50
|
* A component that renders streaming Markdown from a MarkdownSession.
|
|
44
51
|
* It efficiently subscribes to session updates to minimize parent re-renders.
|
|
@@ -71,10 +78,17 @@ export const MarkdownStream = ({
|
|
|
71
78
|
const forceFullSyncRef = useRef(false);
|
|
72
79
|
const updateTimerRef = useRef(null);
|
|
73
80
|
const rafRef = useRef(null);
|
|
81
|
+
const mountedRef = useRef(true);
|
|
74
82
|
const allowIncremental = incrementalParsing && !hasBeforeParsePlugins;
|
|
75
83
|
useEffect(() => {
|
|
76
84
|
renderStateRef.current = renderState;
|
|
77
85
|
}, [renderState]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
mountedRef.current = true;
|
|
88
|
+
return () => {
|
|
89
|
+
mountedRef.current = false;
|
|
90
|
+
};
|
|
91
|
+
}, []);
|
|
78
92
|
useEffect(() => {
|
|
79
93
|
const initialText = session.getAllText();
|
|
80
94
|
const initialState = {
|
|
@@ -124,8 +138,10 @@ export const MarkdownStream = ({
|
|
|
124
138
|
ast: nextAst
|
|
125
139
|
};
|
|
126
140
|
renderStateRef.current = nextState;
|
|
141
|
+
if (!mountedRef.current) return;
|
|
127
142
|
if (useTransitionUpdates) {
|
|
128
143
|
startTransition(() => {
|
|
144
|
+
if (!mountedRef.current) return;
|
|
129
145
|
setRenderState(nextState);
|
|
130
146
|
});
|
|
131
147
|
} else {
|
|
@@ -143,22 +159,31 @@ export const MarkdownStream = ({
|
|
|
143
159
|
updateTimerRef.current = setTimeout(flushUpdate, updateIntervalMs);
|
|
144
160
|
}
|
|
145
161
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
162
|
+
let unsubscribe = null;
|
|
163
|
+
try {
|
|
164
|
+
unsubscribe = session.addListener((from, to) => {
|
|
165
|
+
const nextFrom = normalizeOffset(from);
|
|
166
|
+
const nextTo = normalizeOffset(to);
|
|
167
|
+
if (nextFrom === null || nextTo === null || nextTo < nextFrom) {
|
|
168
|
+
forceFullSyncRef.current = true;
|
|
169
|
+
} else {
|
|
170
|
+
const currentFrom = pendingFromRef.current;
|
|
171
|
+
const currentTo = pendingToRef.current;
|
|
172
|
+
pendingFromRef.current = currentFrom === null ? nextFrom : Math.min(currentFrom, nextFrom);
|
|
173
|
+
pendingToRef.current = currentTo === null ? nextTo : Math.max(currentTo, nextTo);
|
|
174
|
+
}
|
|
175
|
+
pendingUpdateRef.current = true;
|
|
176
|
+
scheduleFlush();
|
|
177
|
+
});
|
|
178
|
+
} catch (error) {
|
|
179
|
+
warnStreamError("[NitroMarkdown] Failed to subscribe to stream:", error);
|
|
180
|
+
}
|
|
160
181
|
return () => {
|
|
161
|
-
|
|
182
|
+
try {
|
|
183
|
+
unsubscribe?.();
|
|
184
|
+
} catch (error) {
|
|
185
|
+
warnStreamError("[NitroMarkdown] Failed to unsubscribe from stream:", error);
|
|
186
|
+
}
|
|
162
187
|
if (updateTimerRef.current) {
|
|
163
188
|
clearTimeout(updateTimerRef.current);
|
|
164
189
|
updateTimerRef.current = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useRef","useCallback","startTransition","Markdown","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst","undefined"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,WAAW,EACXC,eAAe,QAEV,OAAO;AAEd,SAASC,QAAQ,QAA4B,eAAY;AAEzD,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7E,MAAMC,eAAe,GAAIC,KAAa,IAAoB;EACxD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAO,IAAI;EACxC,IAAIA,KAAK,IAAI,CAAC,EAAE,OAAO,CAAC;EACxB,OAAOG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC;AAC1B,CAAC;AAED,MAAMK,iBAAiB,GAAGA,CAAC;EACzBC,aAAa;EACbC,WAAW;EACXC,SAAS;EACTC,YAAY;EACZC;AAOF,CAAC,KAAa;EACZ,IAAIJ,aAAa,IAAIC,WAAW,KAAK,IAAI,IAAIC,SAAS,KAAK,IAAI,EAAE;IAC/D,OAAOE,OAAO,CAACC,UAAU,CAAC,CAAC;EAC7B;EAEA,IAAIH,SAAS,GAAGD,WAAW,EAAE;IAC3B,OAAOG,OAAO,CAACC,UAAU,CAAC,CAAC;EAC7B;EAEA,IAAIJ,WAAW,KAAKE,YAAY,CAACG,MAAM,EAAE;IACvC,IAAI;MACF,MAAMC,aAAa,GAAGH,OAAO,CAACI,YAAY,CAACP,WAAW,EAAEC,SAAS,CAAC;MAClE,OAAO,GAAGC,YAAY,GAAGI,aAAa,EAAE;IAC1C,CAAC,CAAC,MAAM;MACN,OAAOH,OAAO,CAACC,UAAU,CAAC,CAAC;IAC7B;EACF;EAEA,IAAIJ,WAAW,KAAK,CAAC,EAAE;IACrB,IAAI;MACF,OAAOG,OAAO,CAACI,YAAY,CAAC,CAAC,EAAEN,SAAS,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN,OAAOE,OAAO,CAACC,UAAU,CAAC,CAAC;IAC7B;EACF;EAEA,OAAOD,OAAO,CAACC,UAAU,CAAC,CAAC;AAC7B,CAAC;AA+
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useRef","useCallback","startTransition","Markdown","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst","undefined"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/markdown.js
CHANGED
|
@@ -184,6 +184,7 @@ export const Markdown = ({
|
|
|
184
184
|
virtualizationMinBlocks = 40,
|
|
185
185
|
virtualization,
|
|
186
186
|
tableOptions,
|
|
187
|
+
imageOptions,
|
|
187
188
|
highlightCode
|
|
188
189
|
}) => {
|
|
189
190
|
const parserOptionGfm = options?.gfm;
|
|
@@ -251,8 +252,9 @@ export const Markdown = ({
|
|
|
251
252
|
stylingStrategy,
|
|
252
253
|
onLinkPress,
|
|
253
254
|
tableOptions,
|
|
255
|
+
imageOptions,
|
|
254
256
|
highlightCode
|
|
255
|
-
}), [renderers, theme, nodeStyles, stylingStrategy, onLinkPress, tableOptions, highlightCode]);
|
|
257
|
+
}), [renderers, theme, nodeStyles, stylingStrategy, onLinkPress, tableOptions, imageOptions, highlightCode]);
|
|
256
258
|
const topLevelBlocks = parseResult.ast?.type === "document" ? parseResult.ast.children ?? [] : parseResult.ast ? [parseResult.ast] : [];
|
|
257
259
|
const shouldVirtualizeBySetting = virtualize === true || virtualize === "auto" && topLevelBlocks.length >= virtualizationMinBlocks;
|
|
258
260
|
const shouldVirtualize = parseResult.ast !== null && shouldVirtualizeBySetting;
|
|
@@ -290,7 +292,7 @@ export const Markdown = ({
|
|
|
290
292
|
maxToRenderPerBatch: virtualization?.maxToRenderPerBatch ?? 12,
|
|
291
293
|
windowSize: virtualization?.windowSize ?? 10,
|
|
292
294
|
updateCellsBatchingPeriod: virtualization?.updateCellsBatchingPeriod ?? 16,
|
|
293
|
-
removeClippedSubviews: virtualization?.removeClippedSubviews ??
|
|
295
|
+
removeClippedSubviews: virtualization?.removeClippedSubviews ?? Platform.OS === "android",
|
|
294
296
|
bounces: false,
|
|
295
297
|
alwaysBounceVertical: false,
|
|
296
298
|
overScrollMode: "never",
|