react-native-marcus 0.1.0 → 0.2.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 +220 -63
- package/RNMarcus.podspec +6 -0
- package/android/src/main/java/app/getbullet/marcus/MarcusPackage.kt +2 -1
- package/android/src/main/java/app/getbullet/marcus/MarcusTextDecoratorView.kt +168 -0
- package/android/src/main/java/app/getbullet/marcus/MarcusTextDecoratorViewManager.kt +38 -0
- package/android/src/main/java/app/getbullet/marcus/MarcusTextDecoratorViewManagerSpec.kt +19 -0
- package/android/src/main/java/app/getbullet/marcus/MarcusTextInputDecoratorView.kt +23 -1
- package/android/src/main/java/app/getbullet/marcus/MarkdownBackgroundPainter.kt +147 -0
- package/android/src/main/java/app/getbullet/marcus/MarkdownBackgroundPass.kt +19 -0
- package/android/src/main/java/app/getbullet/marcus/MarkdownCopy.kt +87 -0
- package/android/src/main/java/app/getbullet/marcus/MarkdownFormatter.kt +652 -113
- package/android/src/main/java/app/getbullet/marcus/MarkdownRanges.kt +47 -0
- package/android/src/main/java/app/getbullet/marcus/MarkdownStyle.kt +140 -61
- package/android/src/main/java/app/getbullet/marcus/MarkdownUtils.kt +37 -7
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownAbsoluteLineHeightSpan.kt +48 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownBackgroundSpan.kt +102 -48
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownBlockIndentSpan.kt +22 -4
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownBulletSpan.kt +78 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownCodeBlockSpan.kt +177 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownFontStyleSpan.kt +32 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownFontWeightSpan.kt +34 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownGapSpan.kt +24 -11
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownLetterSpacingSpan.kt +32 -0
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownTextShadowSpan.kt +32 -0
- package/android/src/main/new_arch/CMakeLists.txt +17 -0
- package/android/src/main/new_arch/RNMarcusSpec.h +1 -0
- package/android/src/main/new_arch/react/renderer/components/RNMarcusSpec/MarcusTextDecoratorShadowNode.cpp +235 -0
- package/android/src/main/new_arch/react/renderer/components/RNMarcusSpec/MarcusTextDecoratorShadowNode.h +62 -0
- package/android/src/reactNativeVersionPatch/CustomMountingManager/81/app/getbullet/marcus/CustomFabricUIManager.java +22 -3
- package/android/src/reactNativeVersionPatch/CustomMountingManager/latest/app/getbullet/marcus/CustomFabricUIManager.java +22 -3
- package/android/src/test/java/app/getbullet/marcus/MarkdownCopyTest.kt +69 -0
- package/android/src/test/java/app/getbullet/marcus/MarkdownFormatterTest.kt +170 -25
- package/android/src/test/java/app/getbullet/marcus/RenderModel.kt +22 -5
- package/android/src/test/java/app/getbullet/marcus/spans/MarkdownCodeBlockSpanTest.kt +91 -0
- package/android/src/test/resources/render-model.txt +221 -16
- package/apple/MarcusSwizzle.h +25 -0
- package/apple/MarcusTextDecoratorComponentView.h +22 -0
- package/apple/MarcusTextDecoratorComponentView.mm +72 -0
- package/apple/MarcusTextDecoratorShadowNode.h +62 -0
- package/apple/MarcusTextDecoratorShadowNode.mm +192 -0
- package/apple/MarcusTextDecoratorViewManager.h +4 -0
- package/apple/MarcusTextDecoratorViewManager.mm +11 -0
- package/apple/MarcusTextInputDecoratorComponentView.mm +1 -1
- package/apple/MarcusTextInputDecoratorShadowNode.mm +1 -1
- package/apple/MarcusTextLayoutManager.h +40 -0
- package/apple/MarcusTextLayoutManager.mm +173 -0
- package/apple/MarkdownAttributes.h +23 -2
- package/apple/MarkdownAttributes.m +6 -0
- package/apple/MarkdownCopy.swift +63 -0
- package/apple/MarkdownDecorator.swift +2 -2
- package/apple/MarkdownFormatter+React.swift +23 -0
- package/apple/MarkdownFormatter.swift +869 -148
- package/apple/MarkdownParagraphLayoutManager.swift +455 -0
- package/apple/MarkdownSwiftInterop.h +0 -1
- package/apple/MarkdownTextBackground.swift +59 -1
- package/apple/MarkdownTextFieldObserver.swift +2 -2
- package/apple/MarkdownTextLayoutFragment.swift +159 -33
- package/apple/MarkdownTextLayoutManagerDelegate.swift +67 -3
- package/apple/MarkdownTextStorageDelegate.swift +2 -2
- package/apple/MarkdownTextViewObserver.swift +2 -2
- package/apple/MarkdownUtils.swift +38 -0
- package/apple/MarkdownWritingDirection.swift +132 -0
- package/apple/RCTMarcusStyle+Codegen.h +115 -9
- package/apple/RCTMarcusStyle.h +128 -31
- package/apple/RCTMarcusStyle.m +48 -0
- package/apple/RCTParagraphComponentView+Marcus.h +17 -0
- package/apple/RCTParagraphComponentView+Marcus.mm +38 -0
- package/apple/RCTTextInputComponentView+Marcus.mm +1 -25
- package/cpp/react/renderer/components/RNMarcusSpec/MarcusTextDecoratorState.h +37 -0
- package/cpp/react/renderer/components/RNMarcusSpec/MarcusTextDecoratorViewComponentDescriptor.h +17 -0
- package/lib/commonjs/MarcusTextDecoratorViewNativeComponent.ts +199 -0
- package/lib/commonjs/MarcusTextInputDecoratorViewNativeComponent.ts +145 -58
- package/lib/commonjs/MarkdownText.js +330 -0
- package/lib/commonjs/MarkdownText.js.map +1 -0
- package/lib/commonjs/MarkdownText.web.js +529 -0
- package/lib/commonjs/MarkdownText.web.js.map +1 -0
- package/lib/commonjs/MarkdownTextInput.js +22 -27
- package/lib/commonjs/MarkdownTextInput.js.map +1 -1
- package/lib/commonjs/MarkdownTextInput.web.js +12 -7
- package/lib/commonjs/MarkdownTextInput.web.js.map +1 -1
- package/lib/commonjs/atomUtils.js +112 -0
- package/lib/commonjs/atomUtils.js.map +1 -0
- package/lib/commonjs/childrenUtils.js +36 -0
- package/lib/commonjs/childrenUtils.js.map +1 -0
- package/lib/commonjs/index.js +8 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/math/environment.js +69 -0
- package/lib/commonjs/math/environment.js.map +1 -0
- package/lib/commonjs/math/index.js +61 -0
- package/lib/commonjs/math/index.js.map +1 -0
- package/lib/commonjs/math/mathjax.js +548 -0
- package/lib/commonjs/math/mathjax.js.map +1 -0
- package/lib/commonjs/metro.js +172 -0
- package/lib/commonjs/metro.js.map +1 -0
- package/lib/commonjs/parser/index.d.ts +3 -0
- package/lib/commonjs/parser/index.js +450 -42
- package/lib/commonjs/parser/index.js.map +4 -4
- package/lib/commonjs/stripUtils.js +743 -0
- package/lib/commonjs/stripUtils.js.map +1 -0
- package/lib/commonjs/styleUtils.js +194 -23
- package/lib/commonjs/styleUtils.js.map +1 -1
- package/lib/commonjs/web/MarkdownElements.css +67 -0
- package/lib/commonjs/web/MarkdownTextInput.css +9 -7
- package/lib/commonjs/web/utils/blockLayout.js +95 -7
- package/lib/commonjs/web/utils/blockLayout.js.map +1 -1
- package/lib/commonjs/web/utils/blockUtils.js +327 -54
- package/lib/commonjs/web/utils/blockUtils.js.map +1 -1
- package/lib/commonjs/web/utils/elementUtils.js +80 -0
- package/lib/commonjs/web/utils/elementUtils.js.map +1 -0
- package/lib/commonjs/web/utils/parserUtils.js +84 -28
- package/lib/commonjs/web/utils/parserUtils.js.map +1 -1
- package/lib/commonjs/web/utils/treeUtils.js +6 -0
- package/lib/commonjs/web/utils/treeUtils.js.map +1 -1
- package/lib/commonjs/web/utils/webStyleUtils.js +25 -5
- package/lib/commonjs/web/utils/webStyleUtils.js.map +1 -1
- package/lib/module/MarcusTextDecoratorViewNativeComponent.ts +199 -0
- package/lib/module/MarcusTextInputDecoratorViewNativeComponent.ts +145 -58
- package/lib/module/MarkdownText.js +325 -0
- package/lib/module/MarkdownText.js.map +1 -0
- package/lib/module/MarkdownText.web.js +524 -0
- package/lib/module/MarkdownText.web.js.map +1 -0
- package/lib/module/MarkdownTextInput.js +24 -29
- package/lib/module/MarkdownTextInput.js.map +1 -1
- package/lib/module/MarkdownTextInput.web.js +12 -7
- package/lib/module/MarkdownTextInput.web.js.map +1 -1
- package/lib/module/atomUtils.js +106 -0
- package/lib/module/atomUtils.js.map +1 -0
- package/lib/module/childrenUtils.js +33 -0
- package/lib/module/childrenUtils.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/math/environment.js +67 -0
- package/lib/module/math/environment.js.map +1 -0
- package/lib/module/math/index.js +56 -0
- package/lib/module/math/index.js.map +1 -0
- package/lib/module/math/mathjax.js +541 -0
- package/lib/module/math/mathjax.js.map +1 -0
- package/lib/module/metro.js +169 -0
- package/lib/module/metro.js.map +1 -0
- package/lib/module/parser/index.d.ts +3 -0
- package/lib/module/parser/index.js +450 -42
- package/lib/module/parser/index.js.map +4 -4
- package/lib/module/stripUtils.js +739 -0
- package/lib/module/stripUtils.js.map +1 -0
- package/lib/module/styleUtils.js +196 -25
- package/lib/module/styleUtils.js.map +1 -1
- package/lib/module/web/MarkdownElements.css +67 -0
- package/lib/module/web/MarkdownTextInput.css +9 -7
- package/lib/module/web/utils/blockLayout.js +94 -8
- package/lib/module/web/utils/blockLayout.js.map +1 -1
- package/lib/module/web/utils/blockUtils.js +328 -56
- package/lib/module/web/utils/blockUtils.js.map +1 -1
- package/lib/module/web/utils/elementUtils.js +75 -0
- package/lib/module/web/utils/elementUtils.js.map +1 -0
- package/lib/module/web/utils/parserUtils.js +86 -30
- package/lib/module/web/utils/parserUtils.js.map +1 -1
- package/lib/module/web/utils/treeUtils.js +6 -0
- package/lib/module/web/utils/treeUtils.js.map +1 -1
- package/lib/module/web/utils/webStyleUtils.js +25 -5
- package/lib/module/web/utils/webStyleUtils.js.map +1 -1
- package/lib/typescript/commonjs/e2e/links.test.d.ts +2 -0
- package/lib/typescript/commonjs/e2e/links.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/MarcusTextDecoratorViewNativeComponent.d.ts +93 -0
- package/lib/typescript/commonjs/src/MarcusTextDecoratorViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/MarcusTextInputDecoratorViewNativeComponent.d.ts +64 -51
- package/lib/typescript/commonjs/src/MarcusTextInputDecoratorViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/MarkdownText.d.ts +127 -0
- package/lib/typescript/commonjs/src/MarkdownText.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/MarkdownText.web.d.ts +126 -0
- package/lib/typescript/commonjs/src/MarkdownText.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/MarkdownTextInput.d.ts +23 -1
- package/lib/typescript/commonjs/src/MarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/MarkdownTextInput.web.d.ts +26 -4
- package/lib/typescript/commonjs/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/atomUtils.d.ts +58 -0
- package/lib/typescript/commonjs/src/atomUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/childrenUtils.d.ts +12 -0
- package/lib/typescript/commonjs/src/childrenUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/commonTypes.d.ts +39 -3
- package/lib/typescript/commonjs/src/commonTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +2 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/math/environment.d.ts +7 -0
- package/lib/typescript/commonjs/src/math/environment.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/math/index.d.ts +64 -0
- package/lib/typescript/commonjs/src/math/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/math/mathjax.d.ts +63 -0
- package/lib/typescript/commonjs/src/math/mathjax.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/metro.d.ts +59 -0
- package/lib/typescript/commonjs/src/metro.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/parser/index.d.ts +3 -3
- package/lib/typescript/commonjs/src/parser/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/parser/micromark-extension-mentions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/rangeUtils.d.ts +1 -1
- package/lib/typescript/commonjs/src/stripUtils.d.ts +108 -0
- package/lib/typescript/commonjs/src/stripUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/styleUtils.d.ts +62 -4
- package/lib/typescript/commonjs/src/styleUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/web/utils/blockLayout.d.ts +32 -4
- package/lib/typescript/commonjs/src/web/utils/blockLayout.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/web/utils/blockUtils.d.ts +20 -8
- package/lib/typescript/commonjs/src/web/utils/blockUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/web/utils/elementUtils.d.ts +37 -0
- package/lib/typescript/commonjs/src/web/utils/elementUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/web/utils/parserUtils.d.ts +5 -5
- package/lib/typescript/commonjs/src/web/utils/parserUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/web/utils/treeUtils.d.ts +6 -1
- package/lib/typescript/commonjs/src/web/utils/treeUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/web/utils/webStyleUtils.d.ts +2 -2
- package/lib/typescript/commonjs/src/web/utils/webStyleUtils.d.ts.map +1 -1
- package/lib/typescript/module/e2e/links.test.d.ts +2 -0
- package/lib/typescript/module/e2e/links.test.d.ts.map +1 -0
- package/lib/typescript/module/src/MarcusTextDecoratorViewNativeComponent.d.ts +93 -0
- package/lib/typescript/module/src/MarcusTextDecoratorViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/MarcusTextInputDecoratorViewNativeComponent.d.ts +64 -51
- package/lib/typescript/module/src/MarcusTextInputDecoratorViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/module/src/MarkdownText.d.ts +127 -0
- package/lib/typescript/module/src/MarkdownText.d.ts.map +1 -0
- package/lib/typescript/module/src/MarkdownText.web.d.ts +126 -0
- package/lib/typescript/module/src/MarkdownText.web.d.ts.map +1 -0
- package/lib/typescript/module/src/MarkdownTextInput.d.ts +23 -1
- package/lib/typescript/module/src/MarkdownTextInput.d.ts.map +1 -1
- package/lib/typescript/module/src/MarkdownTextInput.web.d.ts +26 -4
- package/lib/typescript/module/src/MarkdownTextInput.web.d.ts.map +1 -1
- package/lib/typescript/module/src/atomUtils.d.ts +58 -0
- package/lib/typescript/module/src/atomUtils.d.ts.map +1 -0
- package/lib/typescript/module/src/childrenUtils.d.ts +12 -0
- package/lib/typescript/module/src/childrenUtils.d.ts.map +1 -0
- package/lib/typescript/module/src/commonTypes.d.ts +39 -3
- package/lib/typescript/module/src/commonTypes.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +2 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/math/environment.d.ts +7 -0
- package/lib/typescript/module/src/math/environment.d.ts.map +1 -0
- package/lib/typescript/module/src/math/index.d.ts +64 -0
- package/lib/typescript/module/src/math/index.d.ts.map +1 -0
- package/lib/typescript/module/src/math/mathjax.d.ts +63 -0
- package/lib/typescript/module/src/math/mathjax.d.ts.map +1 -0
- package/lib/typescript/module/src/metro.d.ts +59 -0
- package/lib/typescript/module/src/metro.d.ts.map +1 -0
- package/lib/typescript/module/src/parser/index.d.ts +3 -3
- package/lib/typescript/module/src/parser/index.d.ts.map +1 -1
- package/lib/typescript/module/src/parser/micromark-extension-mentions.d.ts.map +1 -1
- package/lib/typescript/module/src/rangeUtils.d.ts +1 -1
- package/lib/typescript/module/src/stripUtils.d.ts +108 -0
- package/lib/typescript/module/src/stripUtils.d.ts.map +1 -0
- package/lib/typescript/module/src/styleUtils.d.ts +62 -4
- package/lib/typescript/module/src/styleUtils.d.ts.map +1 -1
- package/lib/typescript/module/src/web/utils/blockLayout.d.ts +32 -4
- package/lib/typescript/module/src/web/utils/blockLayout.d.ts.map +1 -1
- package/lib/typescript/module/src/web/utils/blockUtils.d.ts +20 -8
- package/lib/typescript/module/src/web/utils/blockUtils.d.ts.map +1 -1
- package/lib/typescript/module/src/web/utils/elementUtils.d.ts +37 -0
- package/lib/typescript/module/src/web/utils/elementUtils.d.ts.map +1 -0
- package/lib/typescript/module/src/web/utils/parserUtils.d.ts +5 -5
- package/lib/typescript/module/src/web/utils/parserUtils.d.ts.map +1 -1
- package/lib/typescript/module/src/web/utils/treeUtils.d.ts +6 -1
- package/lib/typescript/module/src/web/utils/treeUtils.d.ts.map +1 -1
- package/lib/typescript/module/src/web/utils/webStyleUtils.d.ts +2 -2
- package/lib/typescript/module/src/web/utils/webStyleUtils.d.ts.map +1 -1
- package/package.json +29 -2
- package/react-native.config.js +8 -1
- package/src/MarcusTextDecoratorViewNativeComponent.ts +199 -0
- package/src/MarcusTextInputDecoratorViewNativeComponent.ts +145 -58
- package/src/MarkdownText.tsx +472 -0
- package/src/MarkdownText.web.tsx +668 -0
- package/src/MarkdownTextInput.tsx +42 -38
- package/src/MarkdownTextInput.web.tsx +36 -13
- package/src/atomUtils.ts +112 -0
- package/src/childrenUtils.ts +39 -0
- package/src/commonTypes.ts +69 -9
- package/src/index.tsx +2 -1
- package/src/math/environment.ts +68 -0
- package/src/math/index.ts +78 -0
- package/src/math/mathjax.ts +604 -0
- package/src/metro.ts +238 -0
- package/src/parser/index.ts +175 -10
- package/src/parser/micromark-extension-mentions.ts +104 -11
- package/src/stripUtils.ts +919 -0
- package/src/styleUtils.ts +290 -26
- package/src/web/MarkdownElements.css +67 -0
- package/src/web/MarkdownTextInput.css +9 -7
- package/src/web/utils/blockLayout.ts +124 -14
- package/src/web/utils/blockUtils.ts +365 -59
- package/src/web/utils/elementUtils.ts +87 -0
- package/src/web/utils/parserUtils.ts +119 -31
- package/src/web/utils/treeUtils.ts +6 -1
- package/src/web/utils/webStyleUtils.ts +32 -8
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownBackgroundColorSpan.kt +0 -6
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownBoldSpan.kt +0 -6
- package/android/src/main/java/app/getbullet/marcus/spans/MarkdownItalicSpan.kt +0 -6
- package/apple/RCTMarcusStyle+Codegen.mm +0 -64
- package/apple/RCTMarcusUtils.h +0 -26
- package/apple/RCTMarcusUtils.mm +0 -26
|
@@ -7,9 +7,11 @@ import { StyleSheet, TextInput as RNTextInput } from "react-native";
|
|
|
7
7
|
import { updateInputStructure } from "./web/utils/parserUtils.js";
|
|
8
8
|
import InputHistory from "./web/InputHistory.js";
|
|
9
9
|
import { getCurrentCursorPosition, removeSelection, setCursorPosition } from "./web/utils/cursorUtils.js";
|
|
10
|
+
import "./web/MarkdownElements.css";
|
|
10
11
|
import "./web/MarkdownTextInput.css";
|
|
11
12
|
import { getElementHeight, getPlaceholderValue, isEventComposing, normalizeValue, parseInnerHTMLToText } from "./web/utils/inputUtils.js";
|
|
12
13
|
import { idGenerator, parseToReactDOMStyle, processMarkdownStyle } from "./web/utils/webStyleUtils.js";
|
|
14
|
+
import { createParser } from "./parser/index.js";
|
|
13
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
16
|
const useClientEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
15
17
|
let focusTimeout = null;
|
|
@@ -28,7 +30,9 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
28
30
|
numberOfLines,
|
|
29
31
|
multiline = false,
|
|
30
32
|
markdownStyle,
|
|
31
|
-
|
|
33
|
+
gfm,
|
|
34
|
+
mention,
|
|
35
|
+
math,
|
|
32
36
|
onBlur,
|
|
33
37
|
onChange,
|
|
34
38
|
onChangeText,
|
|
@@ -51,12 +55,13 @@ const MarkdownTextInput = /*#__PURE__*/React.forwardRef(({
|
|
|
51
55
|
onTouchStart,
|
|
52
56
|
maxLength
|
|
53
57
|
}, ref) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
// The same function for as long as the flavour is the same one, so every
|
|
59
|
+
// callback below that holds on to it keeps its identity too.
|
|
60
|
+
const parser = createParser({
|
|
61
|
+
gfm,
|
|
62
|
+
mention,
|
|
63
|
+
math
|
|
64
|
+
});
|
|
60
65
|
const divRef = useRef(null);
|
|
61
66
|
const currentlyFocusedField = useRef(null);
|
|
62
67
|
const contentSelection = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","TextInput","RNTextInput","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","idGenerator","parseToReactDOMStyle","processMarkdownStyle","jsx","_jsx","useClientEffect","window","focusTimeout","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","submitBehavior","caretHidden","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","parser","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","onTouchStart","maxLength","ref","undefined","Error","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","flattenedStyle","flatten","hashedMarkdownStyle","JSON","stringify","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","parserFunction","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","handleOnSelect","handleContentSizeChange","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","isComposing","textContent","previousText","length","prevSelection","newCursorPosition","Math","max","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","insertedText","availableLength","prefix","substring","suffix","newText","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","shouldBlurOnSubmit","shouldSubmit","blurOnSubmitDefault","isDefaultPrevented","setTimeout","blur","handleFocus","State","focusTextInput","valueLength","scrollIntoView","block","clearTimeout","handleBlur","activeElement","blurTextInput","handleClick","handleCopy","clipboardData","setData","handleCut","handlePaste","getData","trim","endComposition","setRef","currentRef","r","isFocused","clear","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","uniqueId","next","contentEditable","role","onKeyDown","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor","getWorkletRuntime"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useCallback","useMemo","useLayoutEffect","StyleSheet","TextInput","RNTextInput","updateInputStructure","InputHistory","getCurrentCursorPosition","removeSelection","setCursorPosition","getElementHeight","getPlaceholderValue","isEventComposing","normalizeValue","parseInnerHTMLToText","idGenerator","parseToReactDOMStyle","processMarkdownStyle","createParser","jsx","_jsx","useClientEffect","window","focusTimeout","MarkdownTextInput","forwardRef","accessibilityLabel","accessibilityLabelledBy","accessibilityRole","autoCapitalize","autoCorrect","blurOnSubmit","submitBehavior","caretHidden","clearTextOnFocus","dir","disabled","numberOfLines","multiline","markdownStyle","gfm","mention","math","onBlur","onChange","onChangeText","onClick","onFocus","onKeyPress","onSelectionChange","onSubmitEditing","placeholder","placeholderTextColor","selectTextOnFocus","spellCheck","selection","style","value","autoFocus","onContentSizeChange","id","inputMode","onTouchStart","maxLength","ref","parser","divRef","currentlyFocusedField","contentSelection","className","history","dimensions","pasteContent","hasJustBeenFocused","current","flattenedStyle","flatten","hashedMarkdownStyle","JSON","stringify","heightSafePlaceholder","setEventProps","e","text","target","nativeEvent","parseText","parserFunction","customMarkdownStyles","cursorPosition","shouldAddToHistory","shouldForceDOMUpdate","shouldScrollIntoView","parsedText","throttledAdd","processedMarkdownStyle","newMarkdownStyle","inputStyles","styles","defaultInputStyles","caretColor","color","whiteSpace","disabledInputStyles","undo","item","undoValue","redo","redoValue","updateTextColor","node","String","handleSelectionChange","event","updateRefSelectionVariables","newSelection","start","end","updateSelection","predefinedSelection","handleOnSelect","handleContentSizeChange","offsetWidth","newWidth","offsetHeight","newHeight","height","width","contentSize","handleOnChangeText","HTMLElement","inputType","isComposing","textContent","previousText","undefined","length","prevSelection","newCursorPosition","Math","max","newInputUpdate","addedText","slice","count","prevSelectionRange","before","insertText","insertedText","availableLength","prefix","substring","suffix","newText","document","execCommand","handleKeyPress","hostNode","stopPropagation","key","ctrlKey","metaKey","preventDefault","shiftKey","shouldBlurOnSubmit","shouldSubmit","blurOnSubmitDefault","isDefaultPrevented","setTimeout","blur","handleFocus","State","focusTextInput","valueLength","scrollIntoView","block","clearTimeout","handleBlur","activeElement","blurTextInput","handleClick","handleCopy","clipboardData","setData","handleCut","handlePaste","getData","trim","endComposition","setRef","currentRef","r","isFocused","clear","handleTouchStart","parseAndStyleValue","normalizedValue","adjustHeight","elementHeight","maxHeight","focus","uniqueId","next","contentEditable","role","onKeyDown","onCompositionEnd","onInput","onCopy","onCut","onPaste","onSelect","create","borderColor","borderWidth","borderStyle","fontFamily","boxSizing","overflowY","overflowX","overflowWrap","opacity","cursor","getWorkletRuntime","Error"],"sourceRoot":"../../src","sources":["MarkdownTextInput.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// An image and a maths span are the same problem to a display: a run of
|
|
4
|
+
// markdown that is drawn rather than read, that the strip has already replaced
|
|
5
|
+
// with a single placeholder character, and that something has to be mounted
|
|
6
|
+
// over. `stripSyntax` reports them apart because what a caller needs to know
|
|
7
|
+
// about each is different; the two components need them together, in the one
|
|
8
|
+
// order the placeholders appear in.
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* How a maths span is said out loud, or nothing for one that cannot be said.
|
|
12
|
+
*
|
|
13
|
+
* Passed in rather than imported so that this module knows nothing about
|
|
14
|
+
* typesetting: it is `./math`'s `speakMath` at both call sites, and a display
|
|
15
|
+
* with no maths backend passes one that always declines.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
const NO_ATOMS = [];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Every placeholder in the stripped text, in the order it stands there.
|
|
22
|
+
*
|
|
23
|
+
* Sorting is enough to interleave the two kinds correctly: each index is a
|
|
24
|
+
* distinct character in the same string, so no two atoms can share one.
|
|
25
|
+
*/
|
|
26
|
+
function atomsOf(markdown) {
|
|
27
|
+
const {
|
|
28
|
+
embeds,
|
|
29
|
+
maths
|
|
30
|
+
} = markdown;
|
|
31
|
+
if (embeds.length === 0 && maths.length === 0) {
|
|
32
|
+
return NO_ATOMS;
|
|
33
|
+
}
|
|
34
|
+
const atoms = [];
|
|
35
|
+
for (const embed of embeds) {
|
|
36
|
+
atoms.push({
|
|
37
|
+
kind: "embed",
|
|
38
|
+
...embed
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
for (const math of maths) {
|
|
42
|
+
atoms.push({
|
|
43
|
+
kind: "math",
|
|
44
|
+
...math
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return atoms.length > 1 ? atoms.sort((a, b) => a.index - b.index) : atoms;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The text as it should be read out, with every placeholder written back out
|
|
52
|
+
* as what it stands for.
|
|
53
|
+
*
|
|
54
|
+
* A drawing costs exactly one character in the string the platform lays out --
|
|
55
|
+
* U+FFFC, the object replacement character -- and there is nothing in that
|
|
56
|
+
* character for a screen reader to say. An image's `alt` is its accessible name
|
|
57
|
+
* by every spec there is, and left empty it declares the image decorative, so
|
|
58
|
+
* it is used as written. A maths span is read as what was drawn, which is what
|
|
59
|
+
* `speak` answers; the TeX behind it is the fallback, because an expression
|
|
60
|
+
* read out as its source is still better than a sentence with a hole in it.
|
|
61
|
+
*
|
|
62
|
+
* `locale` is the language the maths is said in, and is passed straight
|
|
63
|
+
* through: the prose around it is in whatever language it was written in, and
|
|
64
|
+
* nothing here can or should change that.
|
|
65
|
+
*/
|
|
66
|
+
function describeAtoms(markdown, speak, locale) {
|
|
67
|
+
const atoms = atomsOf(markdown);
|
|
68
|
+
if (atoms.length === 0) {
|
|
69
|
+
return markdown.text;
|
|
70
|
+
}
|
|
71
|
+
let described = "";
|
|
72
|
+
let cursor = 0;
|
|
73
|
+
for (const atom of atoms) {
|
|
74
|
+
described += markdown.text.slice(cursor, atom.index);
|
|
75
|
+
described += atom.kind === "embed" ? atom.alt : speak(atom.tex, atom.display, locale) ?? atom.tex;
|
|
76
|
+
cursor = atom.index + 1;
|
|
77
|
+
}
|
|
78
|
+
return described + markdown.text.slice(cursor);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* What a placeholder puts on the clipboard, which is the markdown it was
|
|
83
|
+
* written as.
|
|
84
|
+
*
|
|
85
|
+
* A copy of rendered text is plain text: `**bold**` comes off the screen as
|
|
86
|
+
* "bold", because that is what a copy of styled text has always been. A drawing
|
|
87
|
+
* has no plain text at all -- it is one U+FFFC, which pastes as a box -- and
|
|
88
|
+
* the source is the only honest thing to put there. Written back out with its
|
|
89
|
+
* dollar signs, a copied paragraph is markdown again and goes back into an
|
|
90
|
+
* editor as the document it came from.
|
|
91
|
+
*
|
|
92
|
+
* An image copies as nothing, the way an `<img>` does on the web: its alt text
|
|
93
|
+
* describes the picture for someone who cannot see it, and pasting a
|
|
94
|
+
* description where a picture was is not what anyone asked for.
|
|
95
|
+
*/
|
|
96
|
+
function sourceOf(atom) {
|
|
97
|
+
if (atom.kind === "embed") {
|
|
98
|
+
return "";
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// A display equation is written on lines of its own, and lands in the
|
|
102
|
+
// clipboard that way: pasted back, it is a display equation again.
|
|
103
|
+
return atom.display ? `$$\n${atom.tex}\n$$` : `$$${atom.tex}$$`;
|
|
104
|
+
}
|
|
105
|
+
export { NO_ATOMS, atomsOf, describeAtoms, sourceOf };
|
|
106
|
+
//# sourceMappingURL=atomUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NO_ATOMS","atomsOf","markdown","embeds","maths","length","atoms","embed","push","kind","math","sort","a","b","index","describeAtoms","speak","locale","text","described","cursor","atom","slice","alt","tex","display","sourceOf"],"sourceRoot":"../../src","sources":["atomUtils.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMA,QAAgB,GAAG,EAAE;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,QAA0B,EAAU;EACnD,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGF,QAAQ;EAElC,IAAIC,MAAM,CAACE,MAAM,KAAK,CAAC,IAAID,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IAC7C,OAAOL,QAAQ;EACjB;EAEA,MAAMM,KAAa,GAAG,EAAE;EAExB,KAAK,MAAMC,KAAK,IAAIJ,MAAM,EAAE;IAC1BG,KAAK,CAACE,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAE,GAAGF;IAAM,CAAC,CAAC;EACzC;EAEA,KAAK,MAAMG,IAAI,IAAIN,KAAK,EAAE;IACxBE,KAAK,CAACE,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAE,GAAGC;IAAK,CAAC,CAAC;EACvC;EAEA,OAAOJ,KAAK,CAACD,MAAM,GAAG,CAAC,GAAGC,KAAK,CAACK,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC,GAAGR,KAAK;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,aAAaA,CAACb,QAA0B,EAAEc,KAAgB,EAAEC,MAAe,EAAU;EAC5F,MAAMX,KAAK,GAAGL,OAAO,CAACC,QAAQ,CAAC;EAE/B,IAAII,KAAK,CAACD,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOH,QAAQ,CAACgB,IAAI;EACtB;EAEA,IAAIC,SAAS,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAG,CAAC;EAEd,KAAK,MAAMC,IAAI,IAAIf,KAAK,EAAE;IACxBa,SAAS,IAAIjB,QAAQ,CAACgB,IAAI,CAACI,KAAK,CAACF,MAAM,EAAEC,IAAI,CAACP,KAAK,CAAC;IACpDK,SAAS,IACPE,IAAI,CAACZ,IAAI,KAAK,OAAO,GAAGY,IAAI,CAACE,GAAG,GAAGP,KAAK,CAACK,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACI,OAAO,EAAER,MAAM,CAAC,IAAII,IAAI,CAACG,GAAG;IACtFJ,MAAM,GAAGC,IAAI,CAACP,KAAK,GAAG,CAAC;EACzB;EAEA,OAAOK,SAAS,GAAGjB,QAAQ,CAACgB,IAAI,CAACI,KAAK,CAACF,MAAM,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,QAAQA,CAACL,IAAU,EAAU;EACpC,IAAIA,IAAI,CAACZ,IAAI,KAAK,OAAO,EAAE;IACzB,OAAO,EAAE;EACX;;EAEA;EACA;EACA,OAAOY,IAAI,CAACI,OAAO,GAAG,OAAOJ,IAAI,CAACG,GAAG,MAAM,GAAG,KAAKH,IAAI,CAACG,GAAG,IAAI;AACjE;AAIA,SAASxB,QAAQ,EAAEC,OAAO,EAAEc,aAAa,EAAEW,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Flattens children into the string they render as, or null if they are not
|
|
5
|
+
* text.
|
|
6
|
+
*
|
|
7
|
+
* Only strings and numbers are markdown. An element child is content there are
|
|
8
|
+
* no parser offsets for and no way to strip syntax out of, so a subtree
|
|
9
|
+
* containing one renders unformatted rather than half formatted.
|
|
10
|
+
*/
|
|
11
|
+
function flattenText(children) {
|
|
12
|
+
const parts = [];
|
|
13
|
+
return collect(children, parts) ? parts.join("") : null;
|
|
14
|
+
}
|
|
15
|
+
function collect(children, parts) {
|
|
16
|
+
if (children === null || children === undefined || typeof children === "boolean") {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
if (typeof children === "string") {
|
|
20
|
+
parts.push(children);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
if (typeof children === "number") {
|
|
24
|
+
parts.push(String(children));
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(children)) {
|
|
28
|
+
return children.every(child => collect(child, parts));
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
export { flattenText };
|
|
33
|
+
//# sourceMappingURL=childrenUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["flattenText","children","parts","collect","join","undefined","push","String","Array","isArray","every","child"],"sourceRoot":"../../src","sources":["childrenUtils.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAWA,CAACC,QAAyB,EAAiB;EAC7D,MAAMC,KAAe,GAAG,EAAE;EAE1B,OAAOC,OAAO,CAACF,QAAQ,EAAEC,KAAK,CAAC,GAAGA,KAAK,CAACE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;AACzD;AAEA,SAASD,OAAOA,CAACF,QAAyB,EAAEC,KAAe,EAAW;EACpE,IAAID,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAKI,SAAS,IAAI,OAAOJ,QAAQ,KAAK,SAAS,EAAE;IAChF,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAChCC,KAAK,CAACI,IAAI,CAACL,QAAQ,CAAC;IACpB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAChCC,KAAK,CAACI,IAAI,CAACC,MAAM,CAACN,QAAQ,CAAC,CAAC;IAC5B,OAAO,IAAI;EACb;EAEA,IAAIO,KAAK,CAACC,OAAO,CAACR,QAAQ,CAAC,EAAE;IAC3B,OAAOA,QAAQ,CAACS,KAAK,CAAEC,KAAK,IAAKR,OAAO,CAACQ,KAAK,EAAET,KAAK,CAAC,CAAC;EACzD;EAEA,OAAO,KAAK;AACd;AAEA,SAASF,WAAW","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","MarkdownTextInput","getWorkletRuntime","
|
|
1
|
+
{"version":3,"names":["default","MarkdownTextInput","getWorkletRuntime","MarkdownText"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,iBAAiB,EAAEC,iBAAiB,QAAQ,qBAAqB;AAErF,SAASF,OAAO,IAAIG,YAAY,QAAQ,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* What MathJax and SRE assume about their host that React Native does not
|
|
5
|
+
* provide. Imported before either of them, and first, because `import`
|
|
6
|
+
* statements are hoisted and run in the order they are written.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* MathJax guesses the operating system from `window.navigator.appVersion`,
|
|
11
|
+
* behind nothing but a `typeof window !== "undefined"` check
|
|
12
|
+
* (`@mathjax/src/mjs/util/context.js`). React Native defines `window` and
|
|
13
|
+
* `navigator` but not `appVersion`, so the check passes and the read throws
|
|
14
|
+
* `Cannot read property 'includes' of undefined` before a line of MathJax's own
|
|
15
|
+
* code runs.
|
|
16
|
+
*
|
|
17
|
+
* What it is guessing at is only ever used to rewrite Windows file paths, which
|
|
18
|
+
* nothing here does, so an empty string is both harmless and enough.
|
|
19
|
+
*/
|
|
20
|
+
const nav = globalThis.navigator;
|
|
21
|
+
for (const key of ["appVersion", "userAgent"]) {
|
|
22
|
+
if (nav && nav[key] === undefined) {
|
|
23
|
+
try {
|
|
24
|
+
nav[key] = "";
|
|
25
|
+
} catch {
|
|
26
|
+
Object.defineProperty(nav, key, {
|
|
27
|
+
value: "",
|
|
28
|
+
configurable: true
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The file system, which SRE reaches for before anything has had a chance to
|
|
36
|
+
* tell it not to.
|
|
37
|
+
*
|
|
38
|
+
* `speech-rule-engine/js/common/system_external.js` decides at import time how
|
|
39
|
+
* it will read its rule tables, and on anything that is not a browser it
|
|
40
|
+
* settles on Node's `fs` and a path worked out from `require.resolve` or
|
|
41
|
+
* `process.cwd()`. React Native has neither: `require` is the bundler's, which
|
|
42
|
+
* throws on a name it was not built with, and `process` is a stub with no
|
|
43
|
+
* `cwd`. Either one is an exception thrown from the top level of a module, so
|
|
44
|
+
* SRE cannot even be imported.
|
|
45
|
+
*
|
|
46
|
+
* None of it is wanted in any case -- the rules are bundled and handed over by
|
|
47
|
+
* a loader of our own -- so both routes are stubbed out here rather than fixed.
|
|
48
|
+
* `__non_webpack_require__` is the escape hatch SRE checks first, and a
|
|
49
|
+
* function that returns nothing for every name satisfies it, leaves `fs` null,
|
|
50
|
+
* and makes the path guessing fail its way harmlessly to the end.
|
|
51
|
+
*/
|
|
52
|
+
const scope = globalThis;
|
|
53
|
+
if (scope.__non_webpack_require__ === undefined) {
|
|
54
|
+
try {
|
|
55
|
+
scope.__non_webpack_require__ = () => null;
|
|
56
|
+
} catch {
|
|
57
|
+
Object.defineProperty(scope, "__non_webpack_require__", {
|
|
58
|
+
value: () => null,
|
|
59
|
+
configurable: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (scope.process !== undefined && scope.process.cwd === undefined) {
|
|
64
|
+
scope.process.cwd = () => "";
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nav","globalThis","navigator","key","undefined","Object","defineProperty","value","configurable","scope","__non_webpack_require__","process","cwd"],"sourceRoot":"../../../src","sources":["math/environment.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,GAAG,GAAIC,UAAU,CAAwDC,SAAS;AAExF,KAAK,MAAMC,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE;EAC7C,IAAIH,GAAG,IAAIA,GAAG,CAACG,GAAG,CAAC,KAAKC,SAAS,EAAE;IACjC,IAAI;MACFJ,GAAG,CAACG,GAAG,CAAC,GAAG,EAAE;IACf,CAAC,CAAC,MAAM;MACNE,MAAM,CAACC,cAAc,CAACN,GAAG,EAAEG,GAAG,EAAE;QAAEI,KAAK,EAAE,EAAE;QAAEC,YAAY,EAAE;MAAK,CAAC,CAAC;IACpE;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGR,UAGb;AAED,IAAIQ,KAAK,CAACC,uBAAuB,KAAKN,SAAS,EAAE;EAC/C,IAAI;IACFK,KAAK,CAACC,uBAAuB,GAAG,MAAM,IAAI;EAC5C,CAAC,CAAC,MAAM;IACNL,MAAM,CAACC,cAAc,CAACG,KAAK,EAAE,yBAAyB,EAAE;MACtDF,KAAK,EAAEA,CAAA,KAAM,IAAI;MACjBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;AACF;AAEA,IAAIC,KAAK,CAACE,OAAO,KAAKP,SAAS,IAAIK,KAAK,CAACE,OAAO,CAACC,GAAG,KAAKR,SAAS,EAAE;EAClEK,KAAK,CAACE,OAAO,CAACC,GAAG,GAAG,MAAM,EAAE;AAC9B;AAEA","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The maths backend, in its "there isn't one" form.
|
|
5
|
+
*
|
|
6
|
+
* Typesetting TeX takes a library an order of magnitude larger than this one,
|
|
7
|
+
* and most applications will never draw an equation. So the real backend --
|
|
8
|
+
* `./mathjax.ts`, right beside this -- is never imported by anything: a
|
|
9
|
+
* bundler would follow the import and pull MathJax into every app that has
|
|
10
|
+
* ever installed this package, whether or not it renders maths.
|
|
11
|
+
*
|
|
12
|
+
* Instead the two are swapped at build time. `react-native-marcus/metro`'s
|
|
13
|
+
* `withMath()` resolves this module to that one, so an application opts in by
|
|
14
|
+
* editing its `metro.config.js` and the default bundle carries nothing.
|
|
15
|
+
*
|
|
16
|
+
* What the swap has to preserve is this shape and nothing else.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** One expression, drawn, with the box it needs. */
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Whether maths can be drawn at all.
|
|
23
|
+
*
|
|
24
|
+
* Read by the display components, which leave a maths span exactly as it was
|
|
25
|
+
* written when this is false. Showing `$$x^2$$` is a good deal better than
|
|
26
|
+
* showing an empty box where an equation should be, and it is the one hint an
|
|
27
|
+
* application will get that its Metro config is missing a line.
|
|
28
|
+
*/
|
|
29
|
+
const available = false;
|
|
30
|
+
function renderMath(_tex, _display, _fontSize, _color) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The expression as it should be read out, or nothing.
|
|
36
|
+
*
|
|
37
|
+
* A drawn equation is a picture, and the TeX behind it is source code: an
|
|
38
|
+
* author reading `\frac{a}{b}` knows what it means, and a reader who asked
|
|
39
|
+
* for a document rather than for its markup hears three words of punctuation.
|
|
40
|
+
* So a display says what it drew -- "StartFraction a Over b EndFraction" --
|
|
41
|
+
* while an input, where the TeX is what is on the screen and what the caret
|
|
42
|
+
* moves through, keeps the TeX.
|
|
43
|
+
*
|
|
44
|
+
* `locale` is the language it should be said in, as a name the backend knows;
|
|
45
|
+
* nothing means the backend's own default. What a document is written in and
|
|
46
|
+
* what its reader speaks are two different questions, and only the application
|
|
47
|
+
* knows the answer to the second.
|
|
48
|
+
*
|
|
49
|
+
* Returning nothing means the caller falls back to the TeX, which is what the
|
|
50
|
+
* stub does and what a backend does for an expression it cannot say.
|
|
51
|
+
*/
|
|
52
|
+
function speakMath(_tex, _display, _locale) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
export { available, renderMath, speakMath };
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["available","renderMath","_tex","_display","_fontSize","_color","speakMath","_locale"],"sourceRoot":"../../../src","sources":["math/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,SAAS,GAAG,KAAK;AAEvB,SAASC,UAAUA,CACjBC,IAAY,EACZC,QAAiB,EACjBC,SAAiB,EACjBC,MAA0B,EACL;EACrB,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACJ,IAAY,EAAEC,QAAiB,EAAEI,OAAgB,EAAiB;EACnF,OAAO,IAAI;AACb;AAIA,SAASP,SAAS,EAAEC,UAAU,EAAEK,SAAS","ignoreList":[]}
|