acsi-core 0.9.13 → 0.9.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/UpdateNotifier.d.ts +3 -0
- package/dist/configs/api_removed.d.ts +3 -0
- package/dist/index.d.ts +2 -4
- package/dist/index.js +669 -107
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +657 -93
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/configLoader.d.ts +2 -0
- package/dist/utils/hooks/useServiceWorker.d.ts +1 -0
- package/dist/utils/latexExtractor.d.ts +4 -0
- package/package.json +1 -2
- package/dist/containers/PDF/views/PDFViewer.d.ts +0 -3
- package/dist/utils/sanitizeHTMLText.d.ts +0 -2
- package/dist/utils/sanitizeSrc.d.ts +0 -7
- package/dist/utils/sanitizeText.d.ts +0 -2
package/dist/index.modern.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { createBrowserHistory } from 'history';
|
|
2
|
-
import Cookies from 'js-cookie';
|
|
3
|
-
export { default as Cookies } from 'js-cookie';
|
|
4
1
|
import { createAction, createReducer, configureStore } from '@reduxjs/toolkit';
|
|
5
2
|
import React, { useState, useRef, useEffect, useCallback, Fragment } from 'react';
|
|
6
3
|
import { useGoogleLogin } from '@react-oauth/google';
|
|
@@ -17,6 +14,8 @@ import rehypeKatex from 'rehype-katex';
|
|
|
17
14
|
import remarkRehype from 'remark-rehype';
|
|
18
15
|
import rehypeRaw from 'rehype-raw';
|
|
19
16
|
import 'katex/dist/katex.min.css';
|
|
17
|
+
import Cookies from 'js-cookie';
|
|
18
|
+
export { default as Cookies } from 'js-cookie';
|
|
20
19
|
import moment from 'moment';
|
|
21
20
|
import { toast } from 'react-toastify';
|
|
22
21
|
export { ToastContainer, toast } from 'react-toastify';
|
|
@@ -27,7 +26,592 @@ import { Identify, identify, track, setUserId, reset as reset$1, init } from '@a
|
|
|
27
26
|
import { init as init$1, replayIntegration } from '@sentry/react';
|
|
28
27
|
import { FaCaretDown } from 'react-icons/fa';
|
|
29
28
|
import CreatableSelect from 'react-select/creatable';
|
|
30
|
-
|
|
29
|
+
|
|
30
|
+
function _extends() {
|
|
31
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
32
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
33
|
+
var t = arguments[e];
|
|
34
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
35
|
+
}
|
|
36
|
+
return n;
|
|
37
|
+
}, _extends.apply(null, arguments);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function isAbsolute(pathname) {
|
|
41
|
+
return pathname.charAt(0) === '/';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// About 1.5x faster than the two-arg version of Array#splice()
|
|
45
|
+
function spliceOne(list, index) {
|
|
46
|
+
for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
|
|
47
|
+
list[i] = list[k];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
list.pop();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// This implementation is based heavily on node's url.parse
|
|
54
|
+
function resolvePathname(to, from) {
|
|
55
|
+
if (from === undefined) from = '';
|
|
56
|
+
|
|
57
|
+
var toParts = (to && to.split('/')) || [];
|
|
58
|
+
var fromParts = (from && from.split('/')) || [];
|
|
59
|
+
|
|
60
|
+
var isToAbs = to && isAbsolute(to);
|
|
61
|
+
var isFromAbs = from && isAbsolute(from);
|
|
62
|
+
var mustEndAbs = isToAbs || isFromAbs;
|
|
63
|
+
|
|
64
|
+
if (to && isAbsolute(to)) {
|
|
65
|
+
// to is absolute
|
|
66
|
+
fromParts = toParts;
|
|
67
|
+
} else if (toParts.length) {
|
|
68
|
+
// to is relative, drop the filename
|
|
69
|
+
fromParts.pop();
|
|
70
|
+
fromParts = fromParts.concat(toParts);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (!fromParts.length) return '/';
|
|
74
|
+
|
|
75
|
+
var hasTrailingSlash;
|
|
76
|
+
if (fromParts.length) {
|
|
77
|
+
var last = fromParts[fromParts.length - 1];
|
|
78
|
+
hasTrailingSlash = last === '.' || last === '..' || last === '';
|
|
79
|
+
} else {
|
|
80
|
+
hasTrailingSlash = false;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var up = 0;
|
|
84
|
+
for (var i = fromParts.length; i >= 0; i--) {
|
|
85
|
+
var part = fromParts[i];
|
|
86
|
+
|
|
87
|
+
if (part === '.') {
|
|
88
|
+
spliceOne(fromParts, i);
|
|
89
|
+
} else if (part === '..') {
|
|
90
|
+
spliceOne(fromParts, i);
|
|
91
|
+
up++;
|
|
92
|
+
} else if (up) {
|
|
93
|
+
spliceOne(fromParts, i);
|
|
94
|
+
up--;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
|
|
99
|
+
|
|
100
|
+
if (
|
|
101
|
+
mustEndAbs &&
|
|
102
|
+
fromParts[0] !== '' &&
|
|
103
|
+
(!fromParts[0] || !isAbsolute(fromParts[0]))
|
|
104
|
+
)
|
|
105
|
+
fromParts.unshift('');
|
|
106
|
+
|
|
107
|
+
var result = fromParts.join('/');
|
|
108
|
+
|
|
109
|
+
if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
|
|
110
|
+
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
var isProduction = process.env.NODE_ENV === 'production';
|
|
115
|
+
function warning(condition, message) {
|
|
116
|
+
if (!isProduction) {
|
|
117
|
+
if (condition) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var text = "Warning: " + message;
|
|
122
|
+
|
|
123
|
+
if (typeof console !== 'undefined') {
|
|
124
|
+
console.warn(text);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
try {
|
|
128
|
+
throw Error(text);
|
|
129
|
+
} catch (x) {}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var isProduction$1 = process.env.NODE_ENV === 'production';
|
|
134
|
+
var prefix = 'Invariant failed';
|
|
135
|
+
function invariant(condition, message) {
|
|
136
|
+
if (condition) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (isProduction$1) {
|
|
140
|
+
throw new Error(prefix);
|
|
141
|
+
}
|
|
142
|
+
var provided = typeof message === 'function' ? message() : message;
|
|
143
|
+
var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
|
|
144
|
+
throw new Error(value);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function addLeadingSlash(path) {
|
|
148
|
+
return path.charAt(0) === '/' ? path : '/' + path;
|
|
149
|
+
}
|
|
150
|
+
function hasBasename(path, prefix) {
|
|
151
|
+
return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
|
|
152
|
+
}
|
|
153
|
+
function stripBasename(path, prefix) {
|
|
154
|
+
return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
|
|
155
|
+
}
|
|
156
|
+
function stripTrailingSlash(path) {
|
|
157
|
+
return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
|
|
158
|
+
}
|
|
159
|
+
function parsePath(path) {
|
|
160
|
+
var pathname = path || '/';
|
|
161
|
+
var search = '';
|
|
162
|
+
var hash = '';
|
|
163
|
+
var hashIndex = pathname.indexOf('#');
|
|
164
|
+
|
|
165
|
+
if (hashIndex !== -1) {
|
|
166
|
+
hash = pathname.substr(hashIndex);
|
|
167
|
+
pathname = pathname.substr(0, hashIndex);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
var searchIndex = pathname.indexOf('?');
|
|
171
|
+
|
|
172
|
+
if (searchIndex !== -1) {
|
|
173
|
+
search = pathname.substr(searchIndex);
|
|
174
|
+
pathname = pathname.substr(0, searchIndex);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
return {
|
|
178
|
+
pathname: pathname,
|
|
179
|
+
search: search === '?' ? '' : search,
|
|
180
|
+
hash: hash === '#' ? '' : hash
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function createPath(location) {
|
|
184
|
+
var pathname = location.pathname,
|
|
185
|
+
search = location.search,
|
|
186
|
+
hash = location.hash;
|
|
187
|
+
var path = pathname || '/';
|
|
188
|
+
if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
|
|
189
|
+
if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
|
|
190
|
+
return path;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
function createLocation(path, state, key, currentLocation) {
|
|
194
|
+
var location;
|
|
195
|
+
|
|
196
|
+
if (typeof path === 'string') {
|
|
197
|
+
// Two-arg form: push(path, state)
|
|
198
|
+
location = parsePath(path);
|
|
199
|
+
location.state = state;
|
|
200
|
+
} else {
|
|
201
|
+
// One-arg form: push(location)
|
|
202
|
+
location = _extends({}, path);
|
|
203
|
+
if (location.pathname === undefined) location.pathname = '';
|
|
204
|
+
|
|
205
|
+
if (location.search) {
|
|
206
|
+
if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
|
|
207
|
+
} else {
|
|
208
|
+
location.search = '';
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (location.hash) {
|
|
212
|
+
if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
|
|
213
|
+
} else {
|
|
214
|
+
location.hash = '';
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (state !== undefined && location.state === undefined) location.state = state;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
try {
|
|
221
|
+
location.pathname = decodeURI(location.pathname);
|
|
222
|
+
} catch (e) {
|
|
223
|
+
if (e instanceof URIError) {
|
|
224
|
+
throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
|
|
225
|
+
} else {
|
|
226
|
+
throw e;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (key) location.key = key;
|
|
231
|
+
|
|
232
|
+
if (currentLocation) {
|
|
233
|
+
// Resolve incomplete/relative pathname relative to current location.
|
|
234
|
+
if (!location.pathname) {
|
|
235
|
+
location.pathname = currentLocation.pathname;
|
|
236
|
+
} else if (location.pathname.charAt(0) !== '/') {
|
|
237
|
+
location.pathname = resolvePathname(location.pathname, currentLocation.pathname);
|
|
238
|
+
}
|
|
239
|
+
} else {
|
|
240
|
+
// When there is no prior location and pathname is empty, set it to /
|
|
241
|
+
if (!location.pathname) {
|
|
242
|
+
location.pathname = '/';
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
return location;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function createTransitionManager() {
|
|
250
|
+
var prompt = null;
|
|
251
|
+
|
|
252
|
+
function setPrompt(nextPrompt) {
|
|
253
|
+
process.env.NODE_ENV !== "production" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;
|
|
254
|
+
prompt = nextPrompt;
|
|
255
|
+
return function () {
|
|
256
|
+
if (prompt === nextPrompt) prompt = null;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
function confirmTransitionTo(location, action, getUserConfirmation, callback) {
|
|
261
|
+
// TODO: If another transition starts while we're still confirming
|
|
262
|
+
// the previous one, we may end up in a weird state. Figure out the
|
|
263
|
+
// best way to handle this.
|
|
264
|
+
if (prompt != null) {
|
|
265
|
+
var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
|
|
266
|
+
|
|
267
|
+
if (typeof result === 'string') {
|
|
268
|
+
if (typeof getUserConfirmation === 'function') {
|
|
269
|
+
getUserConfirmation(result, callback);
|
|
270
|
+
} else {
|
|
271
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;
|
|
272
|
+
callback(true);
|
|
273
|
+
}
|
|
274
|
+
} else {
|
|
275
|
+
// Return false from a transition hook to cancel the transition.
|
|
276
|
+
callback(result !== false);
|
|
277
|
+
}
|
|
278
|
+
} else {
|
|
279
|
+
callback(true);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
var listeners = [];
|
|
284
|
+
|
|
285
|
+
function appendListener(fn) {
|
|
286
|
+
var isActive = true;
|
|
287
|
+
|
|
288
|
+
function listener() {
|
|
289
|
+
if (isActive) fn.apply(void 0, arguments);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
listeners.push(listener);
|
|
293
|
+
return function () {
|
|
294
|
+
isActive = false;
|
|
295
|
+
listeners = listeners.filter(function (item) {
|
|
296
|
+
return item !== listener;
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function notifyListeners() {
|
|
302
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
303
|
+
args[_key] = arguments[_key];
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
listeners.forEach(function (listener) {
|
|
307
|
+
return listener.apply(void 0, args);
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
return {
|
|
312
|
+
setPrompt: setPrompt,
|
|
313
|
+
confirmTransitionTo: confirmTransitionTo,
|
|
314
|
+
appendListener: appendListener,
|
|
315
|
+
notifyListeners: notifyListeners
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
320
|
+
function getConfirmation(message, callback) {
|
|
321
|
+
callback(window.confirm(message)); // eslint-disable-line no-alert
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Returns true if the HTML5 history API is supported. Taken from Modernizr.
|
|
325
|
+
*
|
|
326
|
+
* https://github.com/Modernizr/Modernizr/blob/master/LICENSE
|
|
327
|
+
* https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
|
|
328
|
+
* changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
function supportsHistory() {
|
|
332
|
+
var ua = window.navigator.userAgent;
|
|
333
|
+
if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;
|
|
334
|
+
return window.history && 'pushState' in window.history;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Returns true if browser fires popstate on hash change.
|
|
338
|
+
* IE10 and IE11 do not.
|
|
339
|
+
*/
|
|
340
|
+
|
|
341
|
+
function supportsPopStateOnHashChange() {
|
|
342
|
+
return window.navigator.userAgent.indexOf('Trident') === -1;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Returns true if a given popstate event is an extraneous WebKit event.
|
|
346
|
+
* Accounts for the fact that Chrome on iOS fires real popstate events
|
|
347
|
+
* containing undefined state when pressing the back button.
|
|
348
|
+
*/
|
|
349
|
+
|
|
350
|
+
function isExtraneousPopstateEvent(event) {
|
|
351
|
+
return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
var PopStateEvent = 'popstate';
|
|
355
|
+
var HashChangeEvent = 'hashchange';
|
|
356
|
+
|
|
357
|
+
function getHistoryState() {
|
|
358
|
+
try {
|
|
359
|
+
return window.history.state || {};
|
|
360
|
+
} catch (e) {
|
|
361
|
+
// IE 11 sometimes throws when accessing window.history.state
|
|
362
|
+
// See https://github.com/ReactTraining/history/pull/289
|
|
363
|
+
return {};
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Creates a history object that uses the HTML5 history API including
|
|
368
|
+
* pushState, replaceState, and the popstate event.
|
|
369
|
+
*/
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
function createBrowserHistory(props) {
|
|
373
|
+
if (props === void 0) {
|
|
374
|
+
props = {};
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
!canUseDOM ? process.env.NODE_ENV !== "production" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;
|
|
378
|
+
var globalHistory = window.history;
|
|
379
|
+
var canUseHistory = supportsHistory();
|
|
380
|
+
var needsHashChangeListener = !supportsPopStateOnHashChange();
|
|
381
|
+
var _props = props,
|
|
382
|
+
_props$forceRefresh = _props.forceRefresh,
|
|
383
|
+
forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
|
|
384
|
+
_props$getUserConfirm = _props.getUserConfirmation,
|
|
385
|
+
getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
|
|
386
|
+
_props$keyLength = _props.keyLength,
|
|
387
|
+
keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
|
|
388
|
+
var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
|
|
389
|
+
|
|
390
|
+
function getDOMLocation(historyState) {
|
|
391
|
+
var _ref = historyState || {},
|
|
392
|
+
key = _ref.key,
|
|
393
|
+
state = _ref.state;
|
|
394
|
+
|
|
395
|
+
var _window$location = window.location,
|
|
396
|
+
pathname = _window$location.pathname,
|
|
397
|
+
search = _window$location.search,
|
|
398
|
+
hash = _window$location.hash;
|
|
399
|
+
var path = pathname + search + hash;
|
|
400
|
+
process.env.NODE_ENV !== "production" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".') : void 0;
|
|
401
|
+
if (basename) path = stripBasename(path, basename);
|
|
402
|
+
return createLocation(path, state, key);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
function createKey() {
|
|
406
|
+
return Math.random().toString(36).substr(2, keyLength);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
var transitionManager = createTransitionManager();
|
|
410
|
+
|
|
411
|
+
function setState(nextState) {
|
|
412
|
+
_extends(history, nextState);
|
|
413
|
+
|
|
414
|
+
history.length = globalHistory.length;
|
|
415
|
+
transitionManager.notifyListeners(history.location, history.action);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
function handlePopState(event) {
|
|
419
|
+
// Ignore extraneous popstate events in WebKit.
|
|
420
|
+
if (isExtraneousPopstateEvent(event)) return;
|
|
421
|
+
handlePop(getDOMLocation(event.state));
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
function handleHashChange() {
|
|
425
|
+
handlePop(getDOMLocation(getHistoryState()));
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
var forceNextPop = false;
|
|
429
|
+
|
|
430
|
+
function handlePop(location) {
|
|
431
|
+
if (forceNextPop) {
|
|
432
|
+
forceNextPop = false;
|
|
433
|
+
setState();
|
|
434
|
+
} else {
|
|
435
|
+
var action = 'POP';
|
|
436
|
+
transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
|
|
437
|
+
if (ok) {
|
|
438
|
+
setState({
|
|
439
|
+
action: action,
|
|
440
|
+
location: location
|
|
441
|
+
});
|
|
442
|
+
} else {
|
|
443
|
+
revertPop(location);
|
|
444
|
+
}
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
function revertPop(fromLocation) {
|
|
450
|
+
var toLocation = history.location; // TODO: We could probably make this more reliable by
|
|
451
|
+
// keeping a list of keys we've seen in sessionStorage.
|
|
452
|
+
// Instead, we just default to 0 for keys we don't know.
|
|
453
|
+
|
|
454
|
+
var toIndex = allKeys.indexOf(toLocation.key);
|
|
455
|
+
if (toIndex === -1) toIndex = 0;
|
|
456
|
+
var fromIndex = allKeys.indexOf(fromLocation.key);
|
|
457
|
+
if (fromIndex === -1) fromIndex = 0;
|
|
458
|
+
var delta = toIndex - fromIndex;
|
|
459
|
+
|
|
460
|
+
if (delta) {
|
|
461
|
+
forceNextPop = true;
|
|
462
|
+
go(delta);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
var initialLocation = getDOMLocation(getHistoryState());
|
|
467
|
+
var allKeys = [initialLocation.key]; // Public interface
|
|
468
|
+
|
|
469
|
+
function createHref(location) {
|
|
470
|
+
return basename + createPath(location);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function push(path, state) {
|
|
474
|
+
process.env.NODE_ENV !== "production" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;
|
|
475
|
+
var action = 'PUSH';
|
|
476
|
+
var location = createLocation(path, state, createKey(), history.location);
|
|
477
|
+
transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
|
|
478
|
+
if (!ok) return;
|
|
479
|
+
var href = createHref(location);
|
|
480
|
+
var key = location.key,
|
|
481
|
+
state = location.state;
|
|
482
|
+
|
|
483
|
+
if (canUseHistory) {
|
|
484
|
+
globalHistory.pushState({
|
|
485
|
+
key: key,
|
|
486
|
+
state: state
|
|
487
|
+
}, null, href);
|
|
488
|
+
|
|
489
|
+
if (forceRefresh) {
|
|
490
|
+
window.location.href = href;
|
|
491
|
+
} else {
|
|
492
|
+
var prevIndex = allKeys.indexOf(history.location.key);
|
|
493
|
+
var nextKeys = allKeys.slice(0, prevIndex + 1);
|
|
494
|
+
nextKeys.push(location.key);
|
|
495
|
+
allKeys = nextKeys;
|
|
496
|
+
setState({
|
|
497
|
+
action: action,
|
|
498
|
+
location: location
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
} else {
|
|
502
|
+
process.env.NODE_ENV !== "production" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;
|
|
503
|
+
window.location.href = href;
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
function replace(path, state) {
|
|
509
|
+
process.env.NODE_ENV !== "production" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;
|
|
510
|
+
var action = 'REPLACE';
|
|
511
|
+
var location = createLocation(path, state, createKey(), history.location);
|
|
512
|
+
transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
|
|
513
|
+
if (!ok) return;
|
|
514
|
+
var href = createHref(location);
|
|
515
|
+
var key = location.key,
|
|
516
|
+
state = location.state;
|
|
517
|
+
|
|
518
|
+
if (canUseHistory) {
|
|
519
|
+
globalHistory.replaceState({
|
|
520
|
+
key: key,
|
|
521
|
+
state: state
|
|
522
|
+
}, null, href);
|
|
523
|
+
|
|
524
|
+
if (forceRefresh) {
|
|
525
|
+
window.location.replace(href);
|
|
526
|
+
} else {
|
|
527
|
+
var prevIndex = allKeys.indexOf(history.location.key);
|
|
528
|
+
if (prevIndex !== -1) allKeys[prevIndex] = location.key;
|
|
529
|
+
setState({
|
|
530
|
+
action: action,
|
|
531
|
+
location: location
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
} else {
|
|
535
|
+
process.env.NODE_ENV !== "production" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;
|
|
536
|
+
window.location.replace(href);
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
function go(n) {
|
|
542
|
+
globalHistory.go(n);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
function goBack() {
|
|
546
|
+
go(-1);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
function goForward() {
|
|
550
|
+
go(1);
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
var listenerCount = 0;
|
|
554
|
+
|
|
555
|
+
function checkDOMListeners(delta) {
|
|
556
|
+
listenerCount += delta;
|
|
557
|
+
|
|
558
|
+
if (listenerCount === 1 && delta === 1) {
|
|
559
|
+
window.addEventListener(PopStateEvent, handlePopState);
|
|
560
|
+
if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
|
|
561
|
+
} else if (listenerCount === 0) {
|
|
562
|
+
window.removeEventListener(PopStateEvent, handlePopState);
|
|
563
|
+
if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
var isBlocked = false;
|
|
568
|
+
|
|
569
|
+
function block(prompt) {
|
|
570
|
+
if (prompt === void 0) {
|
|
571
|
+
prompt = false;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
var unblock = transitionManager.setPrompt(prompt);
|
|
575
|
+
|
|
576
|
+
if (!isBlocked) {
|
|
577
|
+
checkDOMListeners(1);
|
|
578
|
+
isBlocked = true;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
return function () {
|
|
582
|
+
if (isBlocked) {
|
|
583
|
+
isBlocked = false;
|
|
584
|
+
checkDOMListeners(-1);
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
return unblock();
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
function listen(listener) {
|
|
592
|
+
var unlisten = transitionManager.appendListener(listener);
|
|
593
|
+
checkDOMListeners(1);
|
|
594
|
+
return function () {
|
|
595
|
+
checkDOMListeners(-1);
|
|
596
|
+
unlisten();
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
var history = {
|
|
601
|
+
length: globalHistory.length,
|
|
602
|
+
action: 'POP',
|
|
603
|
+
location: initialLocation,
|
|
604
|
+
createHref: createHref,
|
|
605
|
+
push: push,
|
|
606
|
+
replace: replace,
|
|
607
|
+
go: go,
|
|
608
|
+
goBack: goBack,
|
|
609
|
+
goForward: goForward,
|
|
610
|
+
block: block,
|
|
611
|
+
listen: listen
|
|
612
|
+
};
|
|
613
|
+
return history;
|
|
614
|
+
}
|
|
31
615
|
|
|
32
616
|
var setLoading = createAction("common/setLoading");
|
|
33
617
|
var setLoadingPage = createAction("common/setLoadingPage");
|
|
@@ -128,14 +712,14 @@ function _createForOfIteratorHelperLoose(r, e) {
|
|
|
128
712
|
}
|
|
129
713
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
130
714
|
}
|
|
131
|
-
function _extends() {
|
|
132
|
-
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
715
|
+
function _extends$1() {
|
|
716
|
+
return _extends$1 = Object.assign ? Object.assign.bind() : function (n) {
|
|
133
717
|
for (var e = 1; e < arguments.length; e++) {
|
|
134
718
|
var t = arguments[e];
|
|
135
719
|
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
136
720
|
}
|
|
137
721
|
return n;
|
|
138
|
-
}, _extends.apply(null, arguments);
|
|
722
|
+
}, _extends$1.apply(null, arguments);
|
|
139
723
|
}
|
|
140
724
|
function _objectWithoutPropertiesLoose(r, e) {
|
|
141
725
|
if (null == r) return {};
|
|
@@ -281,7 +865,7 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
281
865
|
onChange(name, newValue);
|
|
282
866
|
};
|
|
283
867
|
var controlStyle = function controlStyle(base, state) {
|
|
284
|
-
var styles = _extends({}, base, {
|
|
868
|
+
var styles = _extends$1({}, base, {
|
|
285
869
|
fontSize: "14px",
|
|
286
870
|
fontWeight: "400",
|
|
287
871
|
padding: "0 4px",
|
|
@@ -310,7 +894,7 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
310
894
|
return styles;
|
|
311
895
|
};
|
|
312
896
|
var inputStyles = function inputStyles(base) {
|
|
313
|
-
var styles = _extends({}, base, {
|
|
897
|
+
var styles = _extends$1({}, base, {
|
|
314
898
|
margin: "0",
|
|
315
899
|
padding: "0",
|
|
316
900
|
color: "inherit"
|
|
@@ -318,13 +902,13 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
318
902
|
return styles;
|
|
319
903
|
};
|
|
320
904
|
var placeholderStyles = function placeholderStyles(base) {
|
|
321
|
-
var styles = _extends({}, base, {
|
|
905
|
+
var styles = _extends$1({}, base, {
|
|
322
906
|
color: COLORS.lightGray
|
|
323
907
|
});
|
|
324
908
|
return styles;
|
|
325
909
|
};
|
|
326
910
|
var dropdownIndicatorStyles = function dropdownIndicatorStyles(base) {
|
|
327
|
-
var styles = _extends({}, base, {
|
|
911
|
+
var styles = _extends$1({}, base, {
|
|
328
912
|
position: "relative",
|
|
329
913
|
top: "-4px",
|
|
330
914
|
padding: "8px 0"
|
|
@@ -332,7 +916,7 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
332
916
|
return styles;
|
|
333
917
|
};
|
|
334
918
|
var valueContainerStyles = function valueContainerStyles(base) {
|
|
335
|
-
var styles = _extends({}, base, {
|
|
919
|
+
var styles = _extends$1({}, base, {
|
|
336
920
|
height: isMulti ? undefined : "32px",
|
|
337
921
|
position: "relative",
|
|
338
922
|
top: "-3px"
|
|
@@ -340,11 +924,11 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
340
924
|
return styles;
|
|
341
925
|
};
|
|
342
926
|
var singleValueStyles = function singleValueStyles(base) {
|
|
343
|
-
var styles = _extends({}, base);
|
|
927
|
+
var styles = _extends$1({}, base);
|
|
344
928
|
return styles;
|
|
345
929
|
};
|
|
346
930
|
var optionStyles = function optionStyles(base, state) {
|
|
347
|
-
var styles = _extends({}, base, {
|
|
931
|
+
var styles = _extends$1({}, base, {
|
|
348
932
|
padding: "8px",
|
|
349
933
|
borderRadius: "8px",
|
|
350
934
|
cursor: "pointer",
|
|
@@ -358,13 +942,13 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
358
942
|
return styles;
|
|
359
943
|
};
|
|
360
944
|
var indicatorsContainerStyles = function indicatorsContainerStyles(base) {
|
|
361
|
-
var styles = _extends({}, base, {
|
|
945
|
+
var styles = _extends$1({}, base, {
|
|
362
946
|
display: type === "no-outline" ? "none" : "block"
|
|
363
947
|
});
|
|
364
948
|
return styles;
|
|
365
949
|
};
|
|
366
950
|
var multiValueStyles = function multiValueStyles(base) {
|
|
367
|
-
var styles = _extends({}, base, {
|
|
951
|
+
var styles = _extends$1({}, base, {
|
|
368
952
|
backgroundColor: COLORS.lightBlue,
|
|
369
953
|
borderRadius: "4px",
|
|
370
954
|
padding: "2px 8px",
|
|
@@ -376,14 +960,14 @@ var CoreSelect = function CoreSelect(props) {
|
|
|
376
960
|
return styles;
|
|
377
961
|
};
|
|
378
962
|
var multiValueRemoveStyles = function multiValueRemoveStyles(base) {
|
|
379
|
-
var styles = _extends({}, base, {
|
|
963
|
+
var styles = _extends$1({}, base, {
|
|
380
964
|
color: COLORS.lightGray,
|
|
381
965
|
cursor: "pointer"
|
|
382
966
|
});
|
|
383
967
|
return styles;
|
|
384
968
|
};
|
|
385
969
|
var multiValueLabelStyles = function multiValueLabelStyles(base) {
|
|
386
|
-
var styles = _extends({}, base, {
|
|
970
|
+
var styles = _extends$1({}, base, {
|
|
387
971
|
color: COLORS.blackText,
|
|
388
972
|
fontWeight: "400",
|
|
389
973
|
fontSize: "13px",
|
|
@@ -822,7 +1406,7 @@ var CoreSelectCompact = function CoreSelectCompact(props) {
|
|
|
822
1406
|
onChange(name, newValue);
|
|
823
1407
|
};
|
|
824
1408
|
var controlStyle = function controlStyle(base, state) {
|
|
825
|
-
var styles = _extends({}, base, {
|
|
1409
|
+
var styles = _extends$1({}, base, {
|
|
826
1410
|
fontSize: "14px",
|
|
827
1411
|
fontWeight: "400",
|
|
828
1412
|
backgroundColor: state.isDisabled ? "transparent" : error ? COLORS.lightYellow : COLORS.white,
|
|
@@ -843,7 +1427,7 @@ var CoreSelectCompact = function CoreSelectCompact(props) {
|
|
|
843
1427
|
return styles;
|
|
844
1428
|
};
|
|
845
1429
|
var inputStyles = function inputStyles(base) {
|
|
846
|
-
var styles = _extends({}, base, {
|
|
1430
|
+
var styles = _extends$1({}, base, {
|
|
847
1431
|
margin: "0",
|
|
848
1432
|
padding: "0",
|
|
849
1433
|
color: "inherit",
|
|
@@ -853,37 +1437,37 @@ var CoreSelectCompact = function CoreSelectCompact(props) {
|
|
|
853
1437
|
return styles;
|
|
854
1438
|
};
|
|
855
1439
|
var placeholderStyles = function placeholderStyles(base) {
|
|
856
|
-
var styles = _extends({}, base, {
|
|
1440
|
+
var styles = _extends$1({}, base, {
|
|
857
1441
|
color: COLORS.lightGray
|
|
858
1442
|
});
|
|
859
1443
|
return styles;
|
|
860
1444
|
};
|
|
861
1445
|
var dropdownIndicatorStyles = function dropdownIndicatorStyles(base) {
|
|
862
|
-
var styles = _extends({}, base, {
|
|
1446
|
+
var styles = _extends$1({}, base, {
|
|
863
1447
|
position: "relative",
|
|
864
1448
|
padding: "2px 0"
|
|
865
1449
|
});
|
|
866
1450
|
return styles;
|
|
867
1451
|
};
|
|
868
1452
|
var indicatorsContainerStyles = function indicatorsContainerStyles(base) {
|
|
869
|
-
var styles = _extends({}, base, {
|
|
1453
|
+
var styles = _extends$1({}, base, {
|
|
870
1454
|
display: isShowDropdown && !isMulti ? "block" : "none"
|
|
871
1455
|
});
|
|
872
1456
|
return styles;
|
|
873
1457
|
};
|
|
874
1458
|
var valueContainerStyles = function valueContainerStyles(base) {
|
|
875
|
-
var styles = _extends({}, base, {
|
|
1459
|
+
var styles = _extends$1({}, base, {
|
|
876
1460
|
height: isMulti ? undefined : "26px",
|
|
877
1461
|
position: "relative"
|
|
878
1462
|
});
|
|
879
1463
|
return styles;
|
|
880
1464
|
};
|
|
881
1465
|
var singleValueStyles = function singleValueStyles(base) {
|
|
882
|
-
var styles = _extends({}, base);
|
|
1466
|
+
var styles = _extends$1({}, base);
|
|
883
1467
|
return styles;
|
|
884
1468
|
};
|
|
885
1469
|
var optionStyles = function optionStyles(base, state) {
|
|
886
|
-
var styles = _extends({}, base, {
|
|
1470
|
+
var styles = _extends$1({}, base, {
|
|
887
1471
|
padding: "8px",
|
|
888
1472
|
borderRadius: "8px",
|
|
889
1473
|
cursor: "pointer",
|
|
@@ -898,7 +1482,7 @@ var CoreSelectCompact = function CoreSelectCompact(props) {
|
|
|
898
1482
|
return styles;
|
|
899
1483
|
};
|
|
900
1484
|
var multiValueStyles = function multiValueStyles(base) {
|
|
901
|
-
var styles = _extends({}, base, {
|
|
1485
|
+
var styles = _extends$1({}, base, {
|
|
902
1486
|
backgroundColor: COLORS.lightBlue,
|
|
903
1487
|
borderRadius: "4px",
|
|
904
1488
|
padding: "0 4px",
|
|
@@ -910,14 +1494,14 @@ var CoreSelectCompact = function CoreSelectCompact(props) {
|
|
|
910
1494
|
return styles;
|
|
911
1495
|
};
|
|
912
1496
|
var multiValueRemoveStyles = function multiValueRemoveStyles(base) {
|
|
913
|
-
var styles = _extends({}, base, {
|
|
1497
|
+
var styles = _extends$1({}, base, {
|
|
914
1498
|
color: COLORS.lightGray,
|
|
915
1499
|
cursor: "pointer"
|
|
916
1500
|
});
|
|
917
1501
|
return styles;
|
|
918
1502
|
};
|
|
919
1503
|
var multiValueLabelStyles = function multiValueLabelStyles(base) {
|
|
920
|
-
var styles = _extends({}, base, {
|
|
1504
|
+
var styles = _extends$1({}, base, {
|
|
921
1505
|
color: COLORS.blackText,
|
|
922
1506
|
fontWeight: "400",
|
|
923
1507
|
fontSize: "13px",
|
|
@@ -1166,6 +1750,7 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1166
1750
|
if (/[a-zA-Z]_[a-zA-Z0-9]/.test(content)) return true;
|
|
1167
1751
|
if (/[a-zA-Z]\^[a-zA-Z0-9]/.test(content)) return true;
|
|
1168
1752
|
if (/\$[^$]+\$/.test(content)) return true;
|
|
1753
|
+
if (/\bequation\s+[A-Z]/.test(content)) return true;
|
|
1169
1754
|
return false;
|
|
1170
1755
|
};
|
|
1171
1756
|
LatexExtractor.isAlreadyWrapped = function isAlreadyWrapped(content) {
|
|
@@ -1173,6 +1758,16 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1173
1758
|
if (/^\$\$[^$]+\$\$$/.test(content.trim())) return true;
|
|
1174
1759
|
return false;
|
|
1175
1760
|
};
|
|
1761
|
+
LatexExtractor.containsExistingKatex = function containsExistingKatex(content) {
|
|
1762
|
+
var dollarMatches = content.match(/\$[^$]+\$/g);
|
|
1763
|
+
if (dollarMatches && dollarMatches.length > 0) {
|
|
1764
|
+
return true;
|
|
1765
|
+
}
|
|
1766
|
+
if (/\$\$[^$]+\$\$/.test(content)) {
|
|
1767
|
+
return true;
|
|
1768
|
+
}
|
|
1769
|
+
return false;
|
|
1770
|
+
};
|
|
1176
1771
|
LatexExtractor.extractExistingMathContent = function extractExistingMathContent(content) {
|
|
1177
1772
|
var mathBlocks = [];
|
|
1178
1773
|
var displayMathPattern = /\$\$([^$]+)\$\$/g;
|
|
@@ -1354,6 +1949,18 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1354
1949
|
});
|
|
1355
1950
|
}
|
|
1356
1951
|
}
|
|
1952
|
+
var afterEquationPattern = /\bequation\s+([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g;
|
|
1953
|
+
while ((match = afterEquationPattern.exec(content)) !== null) {
|
|
1954
|
+
var _expression4 = match[1].trim();
|
|
1955
|
+
if (this.isLatexFormula(_expression4) && _expression4.length > 1) {
|
|
1956
|
+
var _startPos4 = match.index + match[0].indexOf(_expression4);
|
|
1957
|
+
expressions.push({
|
|
1958
|
+
text: _expression4,
|
|
1959
|
+
start: _startPos4,
|
|
1960
|
+
end: _startPos4 + _expression4.length
|
|
1961
|
+
});
|
|
1962
|
+
}
|
|
1963
|
+
}
|
|
1357
1964
|
};
|
|
1358
1965
|
LatexExtractor.applyLatexFormat = function applyLatexFormat(content) {
|
|
1359
1966
|
if (!content || content.trim().length === 0) {
|
|
@@ -1366,7 +1973,7 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1366
1973
|
if (existingMathBlocks.length === 1 && existingMathBlocks[0].start === 0 && existingMathBlocks[0].end === content.length) {
|
|
1367
1974
|
return content;
|
|
1368
1975
|
}
|
|
1369
|
-
if (this.isAlreadyWrapped(content)) {
|
|
1976
|
+
if (this.isAlreadyWrapped(content) || this.containsExistingKatex(content)) {
|
|
1370
1977
|
return content;
|
|
1371
1978
|
}
|
|
1372
1979
|
var trimmedContent = content.trim();
|
|
@@ -1415,7 +2022,7 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1415
2022
|
if (!this.hasAnyMathematicalContent(content)) {
|
|
1416
2023
|
return content;
|
|
1417
2024
|
}
|
|
1418
|
-
if (this.isAlreadyWrapped(content)) {
|
|
2025
|
+
if (this.isAlreadyWrapped(content) || this.containsExistingKatex(content)) {
|
|
1419
2026
|
return content;
|
|
1420
2027
|
}
|
|
1421
2028
|
var trimmedContent = content.trim();
|
|
@@ -1441,6 +2048,13 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1441
2048
|
}
|
|
1442
2049
|
}
|
|
1443
2050
|
}
|
|
2051
|
+
var equationMatch = content.match(/\bequation\s+([A-Z][a-zA-Z0-9_{}\\=\s]*)/);
|
|
2052
|
+
if (equationMatch) {
|
|
2053
|
+
var equation = equationMatch[1].trim().replace(/\.$/, '');
|
|
2054
|
+
if (this.isLatexFormula(equation) && !this.isAlreadyWrapped(equation)) {
|
|
2055
|
+
return content.replace(equationMatch[0], "equation $$" + equation + "$$");
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
1444
2058
|
var processedContent = this.processCommaSeparatedFormulas(content);
|
|
1445
2059
|
if (processedContent !== content) {
|
|
1446
2060
|
return processedContent;
|
|
@@ -1489,7 +2103,7 @@ var LatexExtractor = /*#__PURE__*/function () {
|
|
|
1489
2103
|
return LatexExtractor;
|
|
1490
2104
|
}();
|
|
1491
2105
|
LatexExtractor.LATEX_COMMANDS = ['\\frac', '\\sqrt', '\\sum', '\\prod', '\\int', '\\oint', '\\lim', '\\sin', '\\cos', '\\tan', '\\log', '\\ln', '\\exp', '\\alpha', '\\beta', '\\gamma', '\\delta', '\\epsilon', '\\varepsilon', '\\zeta', '\\eta', '\\theta', '\\vartheta', '\\iota', '\\kappa', '\\lambda', '\\mu', '\\nu', '\\xi', '\\pi', '\\varpi', '\\rho', '\\varrho', '\\sigma', '\\varsigma', '\\tau', "\\upsilon", '\\phi', '\\varphi', '\\chi', '\\psi', '\\omega', '\\Gamma', '\\Delta', '\\Theta', '\\Lambda', '\\Xi', '\\Pi', '\\Sigma', "\\Upsilon", '\\Phi', '\\Psi', '\\Omega', '\\to', '\\gets', '\\mapsto', '\\implies', '\\iff', '\\leftrightarrow', '\\longleftarrow', '\\longrightarrow', '\\longleftrightarrow', '\\Leftarrow', '\\Rightarrow', '\\Leftrightarrow', '\\le', '\\ge', '\\leq', '\\geq', '\\lt', '\\gt', '\\neq', '\\approx', '\\equiv', '\\sim', '\\cong', '\\leqslant', '\\geqslant', '\\parallel', '\\perp', '\\in', '\\notin', '\\subset', '\\subseteq', '\\cup', '\\cap', '\\emptyset', '\\forall', '\\exists', '\\nexists', '\\wedge', '\\vee', '\\neg', '\\partial', '\\nabla', '\\infty', '\\pm', '\\mp', '\\vec', '\\overrightarrow', "\\underrightarrow", '\\overline', "\\underline", '\\widehat', '\\widetilde', '\\overbrace', "\\underbrace", '\\mathbb', '\\mathrm', '\\mathcal', '\\mathfrak', '\\mathscr', '\\text', '\\textbf', '\\textit', '\\left', '\\right', '\\lfloor', '\\rfloor', '\\lceil', '\\rceil', '\\langle', '\\rangle', '\\cdot', '\\times', '\\div', '\\parallel', '\\angle', '\\bot', '\\newline', '\\ldots', '\\cdots', '\\vdots', '\\ddots'];
|
|
1492
|
-
LatexExtractor.LATEX_PATTERNS = [/[a-zA-Z0-9]_\{[^}]*\}/g, /[a-zA-Z0-9]\^\{[^}]*\}/g, /\\[a-zA-Z]+\s*\{[^}]*\}(?:\s*\{[^}]*\})*/g, /\\[a-zA-Z]+(?![a-zA-Z])/g, /\\frac\s*\{[^}]*\}\s*\{[^}]*\}/g, /\\sqrt(?:\[[^\]]*\])?\s*\{[^}]*\}/g, /\\vec\s*\{[^}]*\}/g, /\\(?:alpha|beta|gamma|delta|epsilon|varepsilon|zeta|eta|theta|vartheta|iota|kappa|lambda|mu|nu|xi|pi|varpi|rho|varrho|sigma|varsigma|tau|upsilon|phi|varphi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?![a-zA-Z])/g, /[a-zA-Z0-9_{}\\]+\s*=\s*[a-zA-Z0-9_{}\\+\-*/^().\s]+/g, /\\Delta\s*[a-zA-Z]/g, /[a-zA-Z]+_\{[a-zA-Z0-9]+\}/g, /[a-zA-Z0-9_{}\\]+\s*[+\-*/]\s*[a-zA-Z0-9_{}\\().\s]+/g, /,\s*([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g, /([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^]\s*[a-zA-Z0-9_{}\\().\s]*)*)\s*,/g, /\bto\s+([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g, /([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)\s+to\b/g];
|
|
2106
|
+
LatexExtractor.LATEX_PATTERNS = [/[a-zA-Z0-9]_\{[^}]*\}/g, /[a-zA-Z0-9]\^\{[^}]*\}/g, /\\[a-zA-Z]+\s*\{[^}]*\}(?:\s*\{[^}]*\})*/g, /\\[a-zA-Z]+(?![a-zA-Z])/g, /\\frac\s*\{[^}]*\}\s*\{[^}]*\}/g, /\\sqrt(?:\[[^\]]*\])?\s*\{[^}]*\}/g, /\\vec\s*\{[^}]*\}/g, /\\(?:alpha|beta|gamma|delta|epsilon|varepsilon|zeta|eta|theta|vartheta|iota|kappa|lambda|mu|nu|xi|pi|varpi|rho|varrho|sigma|varsigma|tau|upsilon|phi|varphi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?![a-zA-Z])/g, /[a-zA-Z0-9_{}\\]+\s*=\s*[a-zA-Z0-9_{}\\+\-*/^().\s]+/g, /\\Delta\s*[a-zA-Z]/g, /[a-zA-Z]+_\{[a-zA-Z0-9]+\}/g, /[a-zA-Z0-9_{}\\]+\s*[+\-*/]\s*[a-zA-Z0-9_{}\\().\s]+/g, /,\s*([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g, /([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^]\s*[a-zA-Z0-9_{}\\().\s]*)*)\s*,/g, /\bto\s+([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g, /([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)\s+to\b/g, /\bequation\s+([a-zA-Z0-9_{}\\]+(?:\s*[=+\-*/^~≈]\s*[a-zA-Z0-9_{}\\().\s]*)*)/g];
|
|
1493
2107
|
|
|
1494
2108
|
var _excluded$3 = ["node"];
|
|
1495
2109
|
var MarkdownRenderer = function MarkdownRenderer(_ref) {
|
|
@@ -1543,7 +2157,7 @@ function formatContent(content) {
|
|
|
1543
2157
|
}
|
|
1544
2158
|
continue;
|
|
1545
2159
|
}
|
|
1546
|
-
if (LatexExtractor.isAlreadyWrapped(line)) {
|
|
2160
|
+
if (LatexExtractor.isAlreadyWrapped(line) || LatexExtractor.containsExistingKatex(line)) {
|
|
1547
2161
|
result.push(line);
|
|
1548
2162
|
} else {
|
|
1549
2163
|
var _formatText = LatexExtractor.applyLatexFormatSimple(line);
|
|
@@ -2438,7 +3052,7 @@ function kindOf(val) {
|
|
|
2438
3052
|
}
|
|
2439
3053
|
|
|
2440
3054
|
// src/utils/warning.ts
|
|
2441
|
-
function warning(message) {
|
|
3055
|
+
function warning$1(message) {
|
|
2442
3056
|
if (typeof console !== "undefined" && typeof console.error === "function") {
|
|
2443
3057
|
console.error(message);
|
|
2444
3058
|
}
|
|
@@ -2491,7 +3105,7 @@ function combineReducers(reducers) {
|
|
|
2491
3105
|
const key = reducerKeys[i];
|
|
2492
3106
|
if (process.env.NODE_ENV !== "production") {
|
|
2493
3107
|
if (typeof reducers[key] === "undefined") {
|
|
2494
|
-
warning(`No reducer provided for key "${key}"`);
|
|
3108
|
+
warning$1(`No reducer provided for key "${key}"`);
|
|
2495
3109
|
}
|
|
2496
3110
|
}
|
|
2497
3111
|
if (typeof reducers[key] === "function") {
|
|
@@ -2516,7 +3130,7 @@ function combineReducers(reducers) {
|
|
|
2516
3130
|
if (process.env.NODE_ENV !== "production") {
|
|
2517
3131
|
const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
|
|
2518
3132
|
if (warningMessage) {
|
|
2519
|
-
warning(warningMessage);
|
|
3133
|
+
warning$1(warningMessage);
|
|
2520
3134
|
}
|
|
2521
3135
|
}
|
|
2522
3136
|
let hasChanged = false;
|
|
@@ -2897,7 +3511,7 @@ var useAmplitude = function useAmplitude() {
|
|
|
2897
3511
|
var savedUserProperties = useRef({});
|
|
2898
3512
|
var hasTrackedInitialSession = useRef(false);
|
|
2899
3513
|
var setUserProperties = useCallback(function (properties) {
|
|
2900
|
-
savedUserProperties.current = _extends({}, savedUserProperties.current, properties);
|
|
3514
|
+
savedUserProperties.current = _extends$1({}, savedUserProperties.current, properties);
|
|
2901
3515
|
var identify$1 = new Identify();
|
|
2902
3516
|
Object.entries(properties).forEach(function (_ref) {
|
|
2903
3517
|
var key = _ref[0],
|
|
@@ -2909,7 +3523,7 @@ var useAmplitude = function useAmplitude() {
|
|
|
2909
3523
|
var trackEvent = useCallback(function (_ref2) {
|
|
2910
3524
|
var eventName = _ref2.eventName,
|
|
2911
3525
|
eventProperties = _ref2.eventProperties;
|
|
2912
|
-
track(eventName, _extends({}, savedUserProperties.current, eventProperties, {
|
|
3526
|
+
track(eventName, _extends$1({}, savedUserProperties.current, eventProperties, {
|
|
2913
3527
|
timestamp: new Date().toISOString()
|
|
2914
3528
|
}));
|
|
2915
3529
|
}, []);
|
|
@@ -3096,7 +3710,7 @@ var getErrorMessage = function getErrorMessage(error, defaultErrorMessage) {
|
|
|
3096
3710
|
|
|
3097
3711
|
var customStyles = {
|
|
3098
3712
|
control: function control(baseStyles, state) {
|
|
3099
|
-
return _extends({}, baseStyles, {
|
|
3713
|
+
return _extends$1({}, baseStyles, {
|
|
3100
3714
|
fontSize: "14px",
|
|
3101
3715
|
fontWeight: 700,
|
|
3102
3716
|
color: styleGlobal.darker,
|
|
@@ -3111,21 +3725,21 @@ var customStyles = {
|
|
|
3111
3725
|
});
|
|
3112
3726
|
},
|
|
3113
3727
|
input: function input(baseStyles, _) {
|
|
3114
|
-
return _extends({}, baseStyles, {
|
|
3728
|
+
return _extends$1({}, baseStyles, {
|
|
3115
3729
|
fontSize: "14px",
|
|
3116
3730
|
fontWeight: 700,
|
|
3117
3731
|
color: styleGlobal.darker
|
|
3118
3732
|
});
|
|
3119
3733
|
},
|
|
3120
3734
|
singleValue: function singleValue(baseStyles) {
|
|
3121
|
-
return _extends({}, baseStyles, {
|
|
3735
|
+
return _extends$1({}, baseStyles, {
|
|
3122
3736
|
fontSize: "14px",
|
|
3123
3737
|
fontWeight: 700,
|
|
3124
3738
|
color: styleGlobal.darker
|
|
3125
3739
|
});
|
|
3126
3740
|
},
|
|
3127
3741
|
option: function option(baseStyles, state) {
|
|
3128
|
-
return _extends({}, baseStyles, {
|
|
3742
|
+
return _extends$1({}, baseStyles, {
|
|
3129
3743
|
backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.light : 'white',
|
|
3130
3744
|
"&:active": {
|
|
3131
3745
|
backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.less_dark : baseStyles.backgroundColor
|
|
@@ -3293,57 +3907,7 @@ var utcToLocalTime = (function (time, FORMAT) {
|
|
|
3293
3907
|
}
|
|
3294
3908
|
});
|
|
3295
3909
|
|
|
3296
|
-
var sanitizeSrc = function sanitizeSrc(url) {
|
|
3297
|
-
if (!url || typeof url !== 'string') {
|
|
3298
|
-
return null;
|
|
3299
|
-
}
|
|
3300
|
-
url = url.trim().replace(/[\s\n\r\t]+/g, '');
|
|
3301
|
-
if (url.length > 2048) {
|
|
3302
|
-
return null;
|
|
3303
|
-
}
|
|
3304
|
-
var dangerousProtocols = ['javascript:', 'data:text/html', 'vbscript:', 'file:', 'about:', 'blob:'];
|
|
3305
|
-
var lowerUrl = url.toLowerCase();
|
|
3306
|
-
for (var _i = 0, _dangerousProtocols = dangerousProtocols; _i < _dangerousProtocols.length; _i++) {
|
|
3307
|
-
var protocol = _dangerousProtocols[_i];
|
|
3308
|
-
if (lowerUrl.startsWith(protocol)) {
|
|
3309
|
-
return null;
|
|
3310
|
-
}
|
|
3311
|
-
}
|
|
3312
|
-
var decoded = decodeURIComponent(url);
|
|
3313
|
-
var decodedLower = decoded.toLowerCase();
|
|
3314
|
-
for (var _i2 = 0, _dangerousProtocols2 = dangerousProtocols; _i2 < _dangerousProtocols2.length; _i2++) {
|
|
3315
|
-
var _protocol = _dangerousProtocols2[_i2];
|
|
3316
|
-
if (decodedLower.includes(_protocol)) {
|
|
3317
|
-
return null;
|
|
3318
|
-
}
|
|
3319
|
-
}
|
|
3320
|
-
try {
|
|
3321
|
-
if (url.startsWith('data:')) {
|
|
3322
|
-
if (/^data:image\/(png|jpeg|jpg|gif|webp|bmp|ico);base64,[A-Za-z0-9+/]+=*$/.test(url)) {
|
|
3323
|
-
return url;
|
|
3324
|
-
}
|
|
3325
|
-
return null;
|
|
3326
|
-
}
|
|
3327
|
-
var parsed = new URL(url, window.location.origin);
|
|
3328
|
-
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
3329
|
-
return null;
|
|
3330
|
-
}
|
|
3331
|
-
if (parsed.username || parsed.password) {
|
|
3332
|
-
return null;
|
|
3333
|
-
}
|
|
3334
|
-
return parsed.href;
|
|
3335
|
-
} catch (error) {
|
|
3336
|
-
return null;
|
|
3337
|
-
}
|
|
3338
|
-
};
|
|
3339
|
-
|
|
3340
|
-
var sanitizeHTMLText = function sanitizeHTMLText(text) {
|
|
3341
|
-
var _DOMPurify$sanitize;
|
|
3342
|
-
if (!text) return "";
|
|
3343
|
-
return (_DOMPurify$sanitize = DOMPurify.sanitize(text)) != null ? _DOMPurify$sanitize : "";
|
|
3344
|
-
};
|
|
3345
|
-
|
|
3346
3910
|
var historyCore = createBrowserHistory();
|
|
3347
3911
|
|
|
3348
|
-
export { ACCESS_TOKEN, AmplitudeEvent, BASE_URL, CommonDialog, ConfirmDialog, CoreButton, CoreInput$1 as CoreCheckbox, CoreError, CoreInput, CoreInputCompact, CoreModal, CoreRadio, CoreRange, CoreSearch, CoreSelect, CoreSelectCompact, CoreTextArea, CoreTitleInput, CoreTooltip, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_TIME_MIN_VALUE, LayoutContext, Loading, Login, MarkdownRenderer as MarkdownLatexRender, NotFound, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, Role, api, apiUpload, firstCheckToken, getAccessToken, getErrorMessage, getImageUrl, historyCore, initSentry, initializeAmplitude,
|
|
3912
|
+
export { ACCESS_TOKEN, AmplitudeEvent, BASE_URL, CommonDialog, ConfirmDialog, CoreButton, CoreInput$1 as CoreCheckbox, CoreError, CoreInput, CoreInputCompact, CoreModal, CoreRadio, CoreRange, CoreSearch, CoreSelect, CoreSelectCompact, CoreTextArea, CoreTitleInput, CoreTooltip, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_TIME_MIN_VALUE, LayoutContext, Loading, Login, MarkdownRenderer as MarkdownLatexRender, NotFound, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, Role, api, apiUpload, firstCheckToken, getAccessToken, getErrorMessage, getImageUrl, historyCore, initSentry, initializeAmplitude, setAddTenant, setAlert, setIsRefetchSidebar, setLoading, setLoadingPage, setMenuCollapse, setTeam, setTenant, setUser, store, useAmplitude, useGoogleSignOut, utcToLocalTime };
|
|
3349
3913
|
//# sourceMappingURL=index.modern.js.map
|