@teamturing/react-native-tex 1.1.7 → 1.1.8
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/lib/commonjs/html/LaTexHtml.html +27 -15
- package/lib/commonjs/html/LaTexHtmlText.js +27 -15
- package/lib/commonjs/html/LaTexHtmlText.js.map +1 -1
- package/lib/module/html/LaTexHtml.html +27 -15
- package/lib/module/html/LaTexHtmlText.js +27 -15
- package/lib/module/html/LaTexHtmlText.js.map +1 -1
- package/lib/typescript/commonjs/src/html/LaTexHtmlText.d.ts.map +1 -1
- package/lib/typescript/module/src/html/LaTexHtmlText.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/html/LaTexHtml.html +27 -15
- package/src/html/LaTexHtmlText.ts +27 -15
|
@@ -149,25 +149,37 @@
|
|
|
149
149
|
const onPhantomBoxPressed = (index) => {
|
|
150
150
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
151
151
|
};
|
|
152
|
+
|
|
153
|
+
let debounceHandler = -1;
|
|
154
|
+
const debounce = (fn) => {
|
|
155
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
156
|
+
debounceHandler = setTimeout(() => {
|
|
157
|
+
fn();
|
|
158
|
+
debounceHandler = -1;
|
|
159
|
+
}, 500);
|
|
160
|
+
}
|
|
161
|
+
|
|
152
162
|
let lastScrollHeight = 0;
|
|
153
163
|
let lastScrollWidth = 0;
|
|
154
164
|
let lastClientWidth = 0;
|
|
155
165
|
const onDocumentResized = () => {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
debounce(() => {
|
|
167
|
+
const container = document.getElementById("container");
|
|
168
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
169
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
170
|
+
lastScrollHeight = container.scrollHeight;
|
|
171
|
+
lastScrollWidth = container.scrollWidth;
|
|
172
|
+
lastClientWidth = container.clientWidth;
|
|
173
|
+
window.ReactNativeWebView.postMessage(
|
|
174
|
+
JSON.stringify({
|
|
175
|
+
event: "set-layout",
|
|
176
|
+
scrollHeight: container.scrollHeight,
|
|
177
|
+
scrollWidth: container.scrollWidth,
|
|
178
|
+
clientWidth: container.clientWidth
|
|
179
|
+
})
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
171
183
|
};
|
|
172
184
|
|
|
173
185
|
const scrollToTop = () => {
|
|
@@ -161,25 +161,37 @@ const text = ({
|
|
|
161
161
|
const onPhantomBoxPressed = (index) => {
|
|
162
162
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
163
163
|
};
|
|
164
|
+
|
|
165
|
+
let debounceHandler = -1;
|
|
166
|
+
const debounce = (fn) => {
|
|
167
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
168
|
+
debounceHandler = setTimeout(() => {
|
|
169
|
+
fn();
|
|
170
|
+
debounceHandler = -1;
|
|
171
|
+
}, 500);
|
|
172
|
+
}
|
|
173
|
+
|
|
164
174
|
let lastScrollHeight = 0;
|
|
165
175
|
let lastScrollWidth = 0;
|
|
166
176
|
let lastClientWidth = 0;
|
|
167
177
|
const onDocumentResized = () => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
debounce(() => {
|
|
179
|
+
const container = document.getElementById("container");
|
|
180
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
181
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
182
|
+
lastScrollHeight = container.scrollHeight;
|
|
183
|
+
lastScrollWidth = container.scrollWidth;
|
|
184
|
+
lastClientWidth = container.clientWidth;
|
|
185
|
+
window.ReactNativeWebView.postMessage(
|
|
186
|
+
JSON.stringify({
|
|
187
|
+
event: "set-layout",
|
|
188
|
+
scrollHeight: container.scrollHeight,
|
|
189
|
+
scrollWidth: container.scrollWidth,
|
|
190
|
+
clientWidth: container.clientWidth
|
|
191
|
+
})
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
183
195
|
};
|
|
184
196
|
|
|
185
197
|
const scrollToTop = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["text","fontSize","String","raw","_default","exports","default"],"sourceRoot":"../../../src","sources":["html/LaTexHtmlText.ts"],"mappings":";;;;;;AAAA;AACA,MAAMA,IAAI,GAAGA,CAAC;EAAEC;AAA+B,CAAC,GAAG;EAAEA,QAAQ,EAAE;AAAG,CAAC,KAAKC,MAAM,CAACC,GAAG;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBF,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACcN,IAAI","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["text","fontSize","String","raw","_default","exports","default"],"sourceRoot":"../../../src","sources":["html/LaTexHtmlText.ts"],"mappings":";;;;;;AAAA;AACA,MAAMA,IAAI,GAAGA,CAAC;EAAEC;AAA+B,CAAC,GAAG;EAAEA,QAAQ,EAAE;AAAG,CAAC,KAAKC,MAAM,CAACC,GAAG;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBF,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACcN,IAAI","ignoreList":[]}
|
|
@@ -149,25 +149,37 @@
|
|
|
149
149
|
const onPhantomBoxPressed = (index) => {
|
|
150
150
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
151
151
|
};
|
|
152
|
+
|
|
153
|
+
let debounceHandler = -1;
|
|
154
|
+
const debounce = (fn) => {
|
|
155
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
156
|
+
debounceHandler = setTimeout(() => {
|
|
157
|
+
fn();
|
|
158
|
+
debounceHandler = -1;
|
|
159
|
+
}, 500);
|
|
160
|
+
}
|
|
161
|
+
|
|
152
162
|
let lastScrollHeight = 0;
|
|
153
163
|
let lastScrollWidth = 0;
|
|
154
164
|
let lastClientWidth = 0;
|
|
155
165
|
const onDocumentResized = () => {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
debounce(() => {
|
|
167
|
+
const container = document.getElementById("container");
|
|
168
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
169
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
170
|
+
lastScrollHeight = container.scrollHeight;
|
|
171
|
+
lastScrollWidth = container.scrollWidth;
|
|
172
|
+
lastClientWidth = container.clientWidth;
|
|
173
|
+
window.ReactNativeWebView.postMessage(
|
|
174
|
+
JSON.stringify({
|
|
175
|
+
event: "set-layout",
|
|
176
|
+
scrollHeight: container.scrollHeight,
|
|
177
|
+
scrollWidth: container.scrollWidth,
|
|
178
|
+
clientWidth: container.clientWidth
|
|
179
|
+
})
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
171
183
|
};
|
|
172
184
|
|
|
173
185
|
const scrollToTop = () => {
|
|
@@ -157,25 +157,37 @@ const text = ({
|
|
|
157
157
|
const onPhantomBoxPressed = (index) => {
|
|
158
158
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
159
159
|
};
|
|
160
|
+
|
|
161
|
+
let debounceHandler = -1;
|
|
162
|
+
const debounce = (fn) => {
|
|
163
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
164
|
+
debounceHandler = setTimeout(() => {
|
|
165
|
+
fn();
|
|
166
|
+
debounceHandler = -1;
|
|
167
|
+
}, 500);
|
|
168
|
+
}
|
|
169
|
+
|
|
160
170
|
let lastScrollHeight = 0;
|
|
161
171
|
let lastScrollWidth = 0;
|
|
162
172
|
let lastClientWidth = 0;
|
|
163
173
|
const onDocumentResized = () => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
debounce(() => {
|
|
175
|
+
const container = document.getElementById("container");
|
|
176
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
177
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
178
|
+
lastScrollHeight = container.scrollHeight;
|
|
179
|
+
lastScrollWidth = container.scrollWidth;
|
|
180
|
+
lastClientWidth = container.clientWidth;
|
|
181
|
+
window.ReactNativeWebView.postMessage(
|
|
182
|
+
JSON.stringify({
|
|
183
|
+
event: "set-layout",
|
|
184
|
+
scrollHeight: container.scrollHeight,
|
|
185
|
+
scrollWidth: container.scrollWidth,
|
|
186
|
+
clientWidth: container.clientWidth
|
|
187
|
+
})
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
179
191
|
};
|
|
180
192
|
|
|
181
193
|
const scrollToTop = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["text","fontSize","String","raw"],"sourceRoot":"../../../src","sources":["html/LaTexHtmlText.ts"],"mappings":";;AAAA;AACA,MAAMA,IAAI,GAAGA,CAAC;EAAEC;AAA+B,CAAC,GAAG;EAAEA,QAAQ,EAAE;AAAG,CAAC,KAAKC,MAAM,CAACC,GAAG;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBF,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAeD,IAAI","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["text","fontSize","String","raw"],"sourceRoot":"../../../src","sources":["html/LaTexHtmlText.ts"],"mappings":";;AAAA;AACA,MAAMA,IAAI,GAAGA,CAAC;EAAEC;AAA+B,CAAC,GAAG;EAAEA,QAAQ,EAAE;AAAG,CAAC,KAAKC,MAAM,CAACC,GAAG;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBF,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAeD,IAAI","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LaTexHtmlText.d.ts","sourceRoot":"","sources":["../../../../../src/html/LaTexHtmlText.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,IAAI;cAA8B,MAAM;
|
|
1
|
+
{"version":3,"file":"LaTexHtmlText.d.ts","sourceRoot":"","sources":["../../../../../src/html/LaTexHtmlText.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,IAAI;cAA8B,MAAM;YAuf7C,CAAA;AACD,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LaTexHtmlText.d.ts","sourceRoot":"","sources":["../../../../../src/html/LaTexHtmlText.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,IAAI;cAA8B,MAAM;
|
|
1
|
+
{"version":3,"file":"LaTexHtmlText.d.ts","sourceRoot":"","sources":["../../../../../src/html/LaTexHtmlText.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,IAAI;cAA8B,MAAM;YAuf7C,CAAA;AACD,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teamturing/react-native-tex",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "React Native Tex Module for Team Turing",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"check:type": "tsc",
|
|
@@ -129,5 +129,5 @@
|
|
|
129
129
|
"bugs": {
|
|
130
130
|
"url": "https://github.com/weareteamturing/bombe/issues"
|
|
131
131
|
},
|
|
132
|
-
"gitHead": "
|
|
132
|
+
"gitHead": "1172ed7d692691c7e10457469733fb26766a3abc"
|
|
133
133
|
}
|
package/src/html/LaTexHtml.html
CHANGED
|
@@ -149,25 +149,37 @@
|
|
|
149
149
|
const onPhantomBoxPressed = (index) => {
|
|
150
150
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
151
151
|
};
|
|
152
|
+
|
|
153
|
+
let debounceHandler = -1;
|
|
154
|
+
const debounce = (fn) => {
|
|
155
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
156
|
+
debounceHandler = setTimeout(() => {
|
|
157
|
+
fn();
|
|
158
|
+
debounceHandler = -1;
|
|
159
|
+
}, 500);
|
|
160
|
+
}
|
|
161
|
+
|
|
152
162
|
let lastScrollHeight = 0;
|
|
153
163
|
let lastScrollWidth = 0;
|
|
154
164
|
let lastClientWidth = 0;
|
|
155
165
|
const onDocumentResized = () => {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
166
|
+
debounce(() => {
|
|
167
|
+
const container = document.getElementById("container");
|
|
168
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
169
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
170
|
+
lastScrollHeight = container.scrollHeight;
|
|
171
|
+
lastScrollWidth = container.scrollWidth;
|
|
172
|
+
lastClientWidth = container.clientWidth;
|
|
173
|
+
window.ReactNativeWebView.postMessage(
|
|
174
|
+
JSON.stringify({
|
|
175
|
+
event: "set-layout",
|
|
176
|
+
scrollHeight: container.scrollHeight,
|
|
177
|
+
scrollWidth: container.scrollWidth,
|
|
178
|
+
clientWidth: container.clientWidth
|
|
179
|
+
})
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
171
183
|
};
|
|
172
184
|
|
|
173
185
|
const scrollToTop = () => {
|
|
@@ -151,25 +151,37 @@ const text = ({ fontSize }: { fontSize: number } = { fontSize: 13 }) => String.r
|
|
|
151
151
|
const onPhantomBoxPressed = (index) => {
|
|
152
152
|
window.ReactNativeWebView.postMessage(JSON.stringify({ event: "phantom-box-pressed", index }));
|
|
153
153
|
};
|
|
154
|
+
|
|
155
|
+
let debounceHandler = -1;
|
|
156
|
+
const debounce = (fn) => {
|
|
157
|
+
if(debounceHandler !== -1) clearTimeout(debounceHandler);
|
|
158
|
+
debounceHandler = setTimeout(() => {
|
|
159
|
+
fn();
|
|
160
|
+
debounceHandler = -1;
|
|
161
|
+
}, 500);
|
|
162
|
+
}
|
|
163
|
+
|
|
154
164
|
let lastScrollHeight = 0;
|
|
155
165
|
let lastScrollWidth = 0;
|
|
156
166
|
let lastClientWidth = 0;
|
|
157
167
|
const onDocumentResized = () => {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
168
|
+
debounce(() => {
|
|
169
|
+
const container = document.getElementById("container");
|
|
170
|
+
if (container && Math.abs(lastScrollHeight - container.scrollHeight) +
|
|
171
|
+
Math.abs(lastScrollWidth - container.scrollWidth) + Math.abs(lastClientWidth - container.clientWidth) >= 15) {
|
|
172
|
+
lastScrollHeight = container.scrollHeight;
|
|
173
|
+
lastScrollWidth = container.scrollWidth;
|
|
174
|
+
lastClientWidth = container.clientWidth;
|
|
175
|
+
window.ReactNativeWebView.postMessage(
|
|
176
|
+
JSON.stringify({
|
|
177
|
+
event: "set-layout",
|
|
178
|
+
scrollHeight: container.scrollHeight,
|
|
179
|
+
scrollWidth: container.scrollWidth,
|
|
180
|
+
clientWidth: container.clientWidth
|
|
181
|
+
})
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
173
185
|
};
|
|
174
186
|
|
|
175
187
|
const scrollToTop = () => {
|