@splunk/react-ui 5.0.0-rc.2 → 5.1.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/Accordion.js +59 -59
- package/Avatar.js +20 -20
- package/Breadcrumbs.js +46 -46
- package/Button.js +24 -24
- package/CHANGELOG.md +380 -0
- package/Calendar.js +69 -69
- package/Card.js +68 -68
- package/Chip.js +16 -16
- package/Clickable.js +29 -29
- package/Code.js +654 -519
- package/CollapsiblePanel.js +112 -112
- package/Color.js +107 -107
- package/ColumnLayout.js +35 -35
- package/ComboBox.js +190 -206
- package/ControlGroup.js +129 -121
- package/Date.js +148 -146
- package/DefinitionList.js +26 -26
- package/Dropdown.js +9 -9
- package/DualListbox.js +701 -717
- package/File.js +403 -403
- package/FormRows.js +66 -63
- package/Image.js +15 -15
- package/JSONTree.js +458 -357
- package/Layer.js +60 -72
- package/MIGRATION.md +550 -1
- package/Markdown.js +66 -66
- package/Menu.js +44 -44
- package/Message.js +47 -43
- package/Modal.js +49 -49
- package/ModalLayer.js +21 -17
- package/Monogram.js +16 -16
- package/Multiselect.js +673 -669
- package/Number.js +100 -100
- package/Paginator.js +7 -7
- package/Popover.js +473 -424
- package/Progress.js +12 -12
- package/Prose.js +6 -6
- package/README.md +6 -6
- package/RadioBar.js +180 -166
- package/RadioList.js +80 -79
- package/ResultsMenu.js +129 -128
- package/Scroll.js +50 -50
- package/Search.js +148 -164
- package/Select.js +674 -674
- package/Slider.js +30 -30
- package/SlidingPanels.js +24 -24
- package/SplitButton.js +50 -50
- package/StepBar.js +100 -100
- package/Switch.js +45 -45
- package/TabBar.js +196 -196
- package/TabLayout.js +16 -16
- package/Table.js +1207 -1193
- package/Text.js +65 -65
- package/TextArea.js +108 -93
- package/Tooltip.js +203 -197
- package/TransitionOpen.js +4 -1
- package/Tree.js +464 -366
- package/package.json +11 -11
- package/stubs-dependencies.d.ts +0 -70
- package/stubs-splunkui.d.ts +4 -0
- package/types/src/Code/Code.d.ts +17 -1
- package/types/src/Code/LineHighlights.d.ts +11 -0
- package/types/src/Code/LineNumbers.d.ts +6 -0
- package/types/src/Code/docs/examples/LineHighlights.d.ts +3 -0
- package/types/src/Code/docs/examples/LineNumbers.d.ts +3 -0
- package/types/src/Code/docs/examples/LineNumbersCustomStart.d.ts +3 -0
- package/types/src/Date/Date.d.ts +6 -1
- package/types/src/DefinitionList/DefinitionList.d.ts +6 -6
- package/types/src/Dropdown/Dropdown.d.ts +1 -0
- package/types/src/FormRows/FormRows.d.ts +1 -1
- package/types/src/JSONTree/JSONTreeItem.d.ts +5 -2
- package/types/src/Markdown/Markdown.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
- package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
- package/types/src/Markdown/renderers/index.d.ts +1 -1
- package/types/src/Popover/Popover.d.ts +8 -2
- package/types/src/RadioBar/Option.d.ts +1 -1
- package/types/src/RadioBar/RadioBar.d.ts +13 -6
- package/types/src/RadioBar/RadioBarContext.d.ts +4 -2
- package/types/src/RadioList/RadioList.d.ts +2 -1
- package/types/src/ResultsMenu/ResultsMenu.d.ts +2 -1
- package/types/src/ScreenReaderContent/docs/examples/SkipLink.d.ts +3 -0
- package/types/src/Scroll/Inner.d.ts +1 -1
- package/types/src/Select/Option.d.ts +1 -1
- package/types/src/Select/Select.d.ts +1 -1
- package/types/src/Slider/docs/examples/Controlled.d.ts +1 -1
- package/types/src/TabLayout/Panel.d.ts +0 -1
- package/types/src/Table/Head.d.ts +1 -0
- package/types/src/Table/HeadCell.d.ts +2 -3
- package/types/src/Table/HeadDropdownCell.d.ts +2 -2
- package/types/src/Table/HeadInner.d.ts +4 -4
- package/types/src/Table/KeyboardSensor.d.ts +1 -1
- package/types/src/Table/RowDragCell.d.ts +1 -1
- package/types/src/Tooltip/Tooltip.d.ts +10 -5
- package/types/src/Tree/Item.d.ts +63 -0
- package/types/src/Tree/Tree.d.ts +13 -6
- package/types/src/Tree/TreeContext.d.ts +1 -1
- package/types/src/Tree/index.d.ts +1 -1
- package/types/src/useControlled/useControlled.d.ts +3 -1
- package/useControlled.js +29 -13
- package/CHANGELOG.v5.md +0 -354
- package/MIGRATION.v5.md +0 -552
- package/types/src/Button/docs/examples/Truncated.d.ts +0 -3
- package/types/src/Tree/TreeItem.d.ts +0 -44
package/Code.js
CHANGED
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
default: () => /* reexport */ p
|
|
10
10
|
});
|
|
11
11
|
// EXTERNAL MODULE: external "react"
|
|
12
|
-
var
|
|
12
|
+
var r = n(9497);
|
|
13
13
|
// CONCATENATED MODULE: ./src/useResizeObserver/useResizeObserver.ts
|
|
14
|
-
function
|
|
15
|
-
return u(e) || l(e, t) ||
|
|
14
|
+
function a(e, t) {
|
|
15
|
+
return u(e) || l(e, t) || s(e, t) || i();
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function i() {
|
|
18
18
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function s(e, t) {
|
|
21
21
|
if (e) {
|
|
22
22
|
if ("string" == typeof e) return o(e, t);
|
|
23
23
|
var n = {}.toString.call(e).slice(8, -1);
|
|
@@ -26,28 +26,28 @@
|
|
|
26
26
|
}
|
|
27
27
|
function o(e, t) {
|
|
28
28
|
(null == t || t > e.length) && (t = e.length);
|
|
29
|
-
for (var n = 0,
|
|
30
|
-
|
|
29
|
+
for (var n = 0, r = Array(t); n < t; n++) {
|
|
30
|
+
r[n] = e[n];
|
|
31
31
|
}
|
|
32
|
-
return
|
|
32
|
+
return r;
|
|
33
33
|
}
|
|
34
34
|
function l(e, t) {
|
|
35
35
|
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
36
36
|
if (null != n) {
|
|
37
|
-
var a,
|
|
37
|
+
var r, a, i, s, o = [], l = !0, u = !1;
|
|
38
38
|
try {
|
|
39
|
-
if (
|
|
39
|
+
if (i = (n = n.call(e)).next, 0 === t) {
|
|
40
40
|
if (Object(n) !== n) return;
|
|
41
41
|
l = !1;
|
|
42
|
-
} else for (;!(l = (
|
|
42
|
+
} else for (;!(l = (r = i.call(n)).done) && (o.push(r.value), o.length !== t); l = !0) {
|
|
43
43
|
}
|
|
44
44
|
} catch (e) {
|
|
45
|
-
u = !0,
|
|
45
|
+
u = !0, a = e;
|
|
46
46
|
} finally {
|
|
47
47
|
try {
|
|
48
|
-
if (!l && null != n["return"] && (
|
|
48
|
+
if (!l && null != n["return"] && (s = n["return"](), Object(s) !== s)) return;
|
|
49
49
|
} finally {
|
|
50
|
-
if (u) throw
|
|
50
|
+
if (u) throw a;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
return o;
|
|
@@ -61,35 +61,35 @@
|
|
|
61
61
|
*
|
|
62
62
|
* @param ref - The React ref to observe size changes on
|
|
63
63
|
*/ var c = function e(t, n) {
|
|
64
|
-
var
|
|
64
|
+
var i = (0, r.useState)({
|
|
65
65
|
width: 0,
|
|
66
66
|
height: 0
|
|
67
|
-
}),
|
|
68
|
-
(0,
|
|
67
|
+
}), s = a(i, 2), o = s[0], l = s[1];
|
|
68
|
+
(0, r.useEffect)((function() {
|
|
69
69
|
var e = t.current;
|
|
70
70
|
if (typeof window !== "undefined" && window.ResizeObserver) {
|
|
71
|
-
var
|
|
71
|
+
var r = new ResizeObserver((function(e) {
|
|
72
72
|
if (e[0]) {
|
|
73
|
-
var
|
|
74
|
-
var
|
|
75
|
-
width: (t === null || t === void 0 ? void 0 : (
|
|
76
|
-
height: (t === null || t === void 0 ? void 0 : (
|
|
73
|
+
var r, a;
|
|
74
|
+
var i = {
|
|
75
|
+
width: (t === null || t === void 0 ? void 0 : (r = t.current) === null || r === void 0 ? void 0 : r.getBoundingClientRect().width) || 0,
|
|
76
|
+
height: (t === null || t === void 0 ? void 0 : (a = t.current) === null || a === void 0 ? void 0 : a.getBoundingClientRect().height) || 0
|
|
77
77
|
};
|
|
78
78
|
l((function(e) {
|
|
79
|
-
if (e.height !==
|
|
80
|
-
n === null || n === void 0 ? void 0 : n(
|
|
81
|
-
return
|
|
79
|
+
if (e.height !== i.height || e.width !== i.width) {
|
|
80
|
+
n === null || n === void 0 ? void 0 : n(i);
|
|
81
|
+
return i;
|
|
82
82
|
}
|
|
83
83
|
return o;
|
|
84
84
|
}));
|
|
85
85
|
}
|
|
86
86
|
}));
|
|
87
87
|
if (e) {
|
|
88
|
-
|
|
88
|
+
r.observe(e);
|
|
89
89
|
}
|
|
90
90
|
return function() {
|
|
91
91
|
if (e) {
|
|
92
|
-
|
|
92
|
+
r.unobserve(e);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
95
|
}
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
var t = undefined;
|
|
108
108
|
var n = undefined;
|
|
109
109
|
/// <reference lib="WebWorker"/>
|
|
110
|
-
var
|
|
110
|
+
var r = typeof t !== "undefined" ? t : typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope ? self : {};
|
|
111
111
|
/**
|
|
112
112
|
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
113
113
|
*
|
|
@@ -115,13 +115,13 @@
|
|
|
115
115
|
* @author Lea Verou <https://lea.verou.me>
|
|
116
116
|
* @namespace
|
|
117
117
|
* @public
|
|
118
|
-
*/ var
|
|
118
|
+
*/ var a = function(e) {
|
|
119
119
|
// Private helper vars
|
|
120
120
|
var n = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
|
|
121
|
-
var
|
|
121
|
+
var r = 0;
|
|
122
122
|
// The grammar object for plaintext
|
|
123
|
-
var
|
|
124
|
-
var
|
|
123
|
+
var a = {};
|
|
124
|
+
var i = {
|
|
125
125
|
/**
|
|
126
126
|
* By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
|
|
127
127
|
* current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
|
|
@@ -177,8 +177,8 @@
|
|
|
177
177
|
*/
|
|
178
178
|
util: {
|
|
179
179
|
encode: function e(t) {
|
|
180
|
-
if (t instanceof
|
|
181
|
-
return new
|
|
180
|
+
if (t instanceof s) {
|
|
181
|
+
return new s(t.type, e(t.content), t.alias);
|
|
182
182
|
} else if (Array.isArray(t)) {
|
|
183
183
|
return t.map(e);
|
|
184
184
|
} else {
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
objId: function(e) {
|
|
214
214
|
if (!e["__id"]) {
|
|
215
215
|
Object.defineProperty(e, "__id", {
|
|
216
|
-
value: ++
|
|
216
|
+
value: ++r
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
219
|
return e["__id"];
|
|
@@ -230,36 +230,36 @@
|
|
|
230
230
|
*/
|
|
231
231
|
clone: function e(t, n) {
|
|
232
232
|
n = n || {};
|
|
233
|
-
var a;
|
|
234
233
|
var r;
|
|
235
|
-
|
|
234
|
+
var a;
|
|
235
|
+
switch (i.util.type(t)) {
|
|
236
236
|
case "Object":
|
|
237
|
-
|
|
238
|
-
if (n[
|
|
239
|
-
return n[
|
|
237
|
+
a = i.util.objId(t);
|
|
238
|
+
if (n[a]) {
|
|
239
|
+
return n[a];
|
|
240
240
|
}
|
|
241
|
-
|
|
242
|
-
n[
|
|
243
|
-
for (var
|
|
244
|
-
if (t.hasOwnProperty(
|
|
245
|
-
|
|
241
|
+
r = /** @type {Record<string, any>} */ {};
|
|
242
|
+
n[a] = r;
|
|
243
|
+
for (var s in t) {
|
|
244
|
+
if (t.hasOwnProperty(s)) {
|
|
245
|
+
r[s] = e(t[s], n);
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
/** @type {any} */
|
|
249
|
-
return
|
|
249
|
+
return r;
|
|
250
250
|
|
|
251
251
|
case "Array":
|
|
252
|
-
|
|
253
|
-
if (n[
|
|
254
|
-
return n[
|
|
252
|
+
a = i.util.objId(t);
|
|
253
|
+
if (n[a]) {
|
|
254
|
+
return n[a];
|
|
255
255
|
}
|
|
256
|
-
|
|
257
|
-
n[
|
|
258
|
-
/** @type {Array} */ /** @type {any} */ t.forEach((function(t,
|
|
259
|
-
a
|
|
256
|
+
r = [];
|
|
257
|
+
n[a] = r;
|
|
258
|
+
/** @type {Array} */ /** @type {any} */ t.forEach((function(t, a) {
|
|
259
|
+
r[a] = e(t, n);
|
|
260
260
|
}));
|
|
261
261
|
/** @type {any} */
|
|
262
|
-
return
|
|
262
|
+
return r;
|
|
263
263
|
|
|
264
264
|
default:
|
|
265
265
|
return t;
|
|
@@ -318,13 +318,13 @@
|
|
|
318
318
|
// this will not work for inline scripts
|
|
319
319
|
try {
|
|
320
320
|
throw new Error;
|
|
321
|
-
} catch (
|
|
321
|
+
} catch (r) {
|
|
322
322
|
// Get file src url from stack. Specifically works with the format of stack traces in IE.
|
|
323
323
|
// A stack will look like this:
|
|
324
324
|
// Error
|
|
325
325
|
// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)
|
|
326
326
|
// at Global code (http://localhost/components/prism-core.js:606:1)
|
|
327
|
-
var e = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(
|
|
327
|
+
var e = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack) || [])[1];
|
|
328
328
|
if (e) {
|
|
329
329
|
var t = document.getElementsByTagName("script");
|
|
330
330
|
for (var n in t) {
|
|
@@ -356,13 +356,13 @@
|
|
|
356
356
|
* @returns {boolean}
|
|
357
357
|
*/
|
|
358
358
|
isActive: function(e, t, n) {
|
|
359
|
-
var
|
|
359
|
+
var r = "no-" + t;
|
|
360
360
|
while (e) {
|
|
361
|
-
var
|
|
362
|
-
if (
|
|
361
|
+
var a = e.classList;
|
|
362
|
+
if (a.contains(t)) {
|
|
363
363
|
return true;
|
|
364
364
|
}
|
|
365
|
-
if (
|
|
365
|
+
if (a.contains(r)) {
|
|
366
366
|
return false;
|
|
367
367
|
}
|
|
368
368
|
e = e.parentElement;
|
|
@@ -381,10 +381,10 @@
|
|
|
381
381
|
/**
|
|
382
382
|
* The grammar for plain, unformatted text.
|
|
383
383
|
*/
|
|
384
|
-
plain:
|
|
385
|
-
plaintext:
|
|
386
|
-
text:
|
|
387
|
-
txt:
|
|
384
|
+
plain: a,
|
|
385
|
+
plaintext: a,
|
|
386
|
+
text: a,
|
|
387
|
+
txt: a,
|
|
388
388
|
/**
|
|
389
389
|
* Creates a deep copy of the language with the given id and appends the given tokens.
|
|
390
390
|
*
|
|
@@ -414,9 +414,9 @@
|
|
|
414
414
|
* });
|
|
415
415
|
*/
|
|
416
416
|
extend: function(e, t) {
|
|
417
|
-
var n =
|
|
418
|
-
for (var
|
|
419
|
-
n[
|
|
417
|
+
var n = i.util.clone(i.languages[e]);
|
|
418
|
+
for (var r in t) {
|
|
419
|
+
n[r] = t[r];
|
|
420
420
|
}
|
|
421
421
|
return n;
|
|
422
422
|
},
|
|
@@ -495,50 +495,50 @@
|
|
|
495
495
|
* @returns {Grammar} The new grammar object.
|
|
496
496
|
* @public
|
|
497
497
|
*/
|
|
498
|
-
insertBefore: function(e, t, n,
|
|
499
|
-
|
|
500
|
-
var
|
|
501
|
-
/** @type {Grammar} */ var
|
|
502
|
-
for (var o in
|
|
503
|
-
if (
|
|
498
|
+
insertBefore: function(e, t, n, r) {
|
|
499
|
+
r = r || /** @type {any} */ i.languages;
|
|
500
|
+
var a = r[e];
|
|
501
|
+
/** @type {Grammar} */ var s = {};
|
|
502
|
+
for (var o in a) {
|
|
503
|
+
if (a.hasOwnProperty(o)) {
|
|
504
504
|
if (o == t) {
|
|
505
505
|
for (var l in n) {
|
|
506
506
|
if (n.hasOwnProperty(l)) {
|
|
507
|
-
|
|
507
|
+
s[l] = n[l];
|
|
508
508
|
}
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
511
|
// Do not insert token which also occur in insert. See #1525
|
|
512
512
|
if (!n.hasOwnProperty(o)) {
|
|
513
|
-
|
|
513
|
+
s[o] = a[o];
|
|
514
514
|
}
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
|
-
var u =
|
|
518
|
-
|
|
517
|
+
var u = r[e];
|
|
518
|
+
r[e] = s;
|
|
519
519
|
// Update references in other language definitions
|
|
520
|
-
|
|
520
|
+
i.languages.DFS(i.languages, (function(t, n) {
|
|
521
521
|
if (n === u && t != e) {
|
|
522
|
-
this[t] =
|
|
522
|
+
this[t] = s;
|
|
523
523
|
}
|
|
524
524
|
}));
|
|
525
|
-
return
|
|
525
|
+
return s;
|
|
526
526
|
},
|
|
527
527
|
// Traverse a language definition with Depth First Search
|
|
528
|
-
DFS: function e(t, n,
|
|
529
|
-
|
|
530
|
-
var
|
|
528
|
+
DFS: function e(t, n, r, a) {
|
|
529
|
+
a = a || {};
|
|
530
|
+
var s = i.util.objId;
|
|
531
531
|
for (var o in t) {
|
|
532
532
|
if (t.hasOwnProperty(o)) {
|
|
533
|
-
n.call(t, o, t[o],
|
|
533
|
+
n.call(t, o, t[o], r || o);
|
|
534
534
|
var l = t[o];
|
|
535
|
-
var u =
|
|
536
|
-
if (u === "Object" && !
|
|
537
|
-
|
|
538
|
-
e(l, n, null,
|
|
539
|
-
} else if (u === "Array" && !
|
|
540
|
-
|
|
541
|
-
e(l, n, o,
|
|
535
|
+
var u = i.util.type(l);
|
|
536
|
+
if (u === "Object" && !a[s(l)]) {
|
|
537
|
+
a[s(l)] = true;
|
|
538
|
+
e(l, n, null, a);
|
|
539
|
+
} else if (u === "Array" && !a[s(l)]) {
|
|
540
|
+
a[s(l)] = true;
|
|
541
|
+
e(l, n, o, a);
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
544
|
}
|
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
* @public
|
|
559
559
|
*/
|
|
560
560
|
highlightAll: function(e, t) {
|
|
561
|
-
|
|
561
|
+
i.highlightAllUnder(document, e, t);
|
|
562
562
|
},
|
|
563
563
|
/**
|
|
564
564
|
* Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
|
|
@@ -576,16 +576,16 @@
|
|
|
576
576
|
* @public
|
|
577
577
|
*/
|
|
578
578
|
highlightAllUnder: function(e, t, n) {
|
|
579
|
-
var
|
|
579
|
+
var r = {
|
|
580
580
|
callback: n,
|
|
581
581
|
container: e,
|
|
582
582
|
selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
|
|
583
583
|
};
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
for (var
|
|
588
|
-
|
|
584
|
+
i.hooks.run("before-highlightall", r);
|
|
585
|
+
r.elements = Array.prototype.slice.apply(r.container.querySelectorAll(r.selector));
|
|
586
|
+
i.hooks.run("before-all-elements-highlight", r);
|
|
587
|
+
for (var a = 0, s; s = r.elements[a++]; ) {
|
|
588
|
+
i.highlightElement(s, t === true, r.callback);
|
|
589
589
|
}
|
|
590
590
|
},
|
|
591
591
|
/**
|
|
@@ -616,50 +616,50 @@
|
|
|
616
616
|
* @memberof Prism
|
|
617
617
|
* @public
|
|
618
618
|
*/
|
|
619
|
-
highlightElement: function(t, n,
|
|
619
|
+
highlightElement: function(t, n, r) {
|
|
620
620
|
// Find language
|
|
621
|
-
var
|
|
622
|
-
var
|
|
621
|
+
var a = i.util.getLanguage(t);
|
|
622
|
+
var s = i.languages[a];
|
|
623
623
|
// Set language on the element, if not present
|
|
624
|
-
|
|
624
|
+
i.util.setLanguage(t, a);
|
|
625
625
|
// Set language on the parent, for styling
|
|
626
626
|
var o = t.parentElement;
|
|
627
627
|
if (o && o.nodeName.toLowerCase() === "pre") {
|
|
628
|
-
|
|
628
|
+
i.util.setLanguage(o, a);
|
|
629
629
|
}
|
|
630
630
|
var l = t.textContent;
|
|
631
631
|
var u = {
|
|
632
632
|
element: t,
|
|
633
|
-
language:
|
|
634
|
-
grammar:
|
|
633
|
+
language: a,
|
|
634
|
+
grammar: s,
|
|
635
635
|
code: l
|
|
636
636
|
};
|
|
637
637
|
function c(e) {
|
|
638
638
|
u.highlightedCode = e;
|
|
639
|
-
|
|
639
|
+
i.hooks.run("before-insert", u);
|
|
640
640
|
u.element.innerHTML = u.highlightedCode;
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
641
|
+
i.hooks.run("after-highlight", u);
|
|
642
|
+
i.hooks.run("complete", u);
|
|
643
|
+
r && r.call(u.element);
|
|
644
644
|
}
|
|
645
|
-
|
|
645
|
+
i.hooks.run("before-sanity-check", u);
|
|
646
646
|
// plugins may change/add the parent/element
|
|
647
647
|
o = u.element.parentElement;
|
|
648
648
|
if (o && o.nodeName.toLowerCase() === "pre" && !o.hasAttribute("tabindex")) {
|
|
649
649
|
o.setAttribute("tabindex", "0");
|
|
650
650
|
}
|
|
651
651
|
if (!u.code) {
|
|
652
|
-
|
|
653
|
-
|
|
652
|
+
i.hooks.run("complete", u);
|
|
653
|
+
r && r.call(u.element);
|
|
654
654
|
return;
|
|
655
655
|
}
|
|
656
|
-
|
|
656
|
+
i.hooks.run("before-highlight", u);
|
|
657
657
|
if (!u.grammar) {
|
|
658
|
-
c(
|
|
658
|
+
c(i.util.encode(u.code));
|
|
659
659
|
return;
|
|
660
660
|
}
|
|
661
661
|
if (n && e.Worker) {
|
|
662
|
-
var p = new Worker(
|
|
662
|
+
var p = new Worker(i.filename);
|
|
663
663
|
p.onmessage = function(e) {
|
|
664
664
|
c(e.data);
|
|
665
665
|
};
|
|
@@ -669,7 +669,7 @@
|
|
|
669
669
|
immediateClose: true
|
|
670
670
|
}));
|
|
671
671
|
} else {
|
|
672
|
-
c(
|
|
672
|
+
c(i.highlight(u.code, u.grammar, u.language));
|
|
673
673
|
}
|
|
674
674
|
},
|
|
675
675
|
/**
|
|
@@ -693,18 +693,18 @@
|
|
|
693
693
|
* Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
|
|
694
694
|
*/
|
|
695
695
|
highlight: function(e, t, n) {
|
|
696
|
-
var
|
|
696
|
+
var r = {
|
|
697
697
|
code: e,
|
|
698
698
|
grammar: t,
|
|
699
699
|
language: n
|
|
700
700
|
};
|
|
701
|
-
|
|
702
|
-
if (!
|
|
703
|
-
throw new Error('The language "' +
|
|
701
|
+
i.hooks.run("before-tokenize", r);
|
|
702
|
+
if (!r.grammar) {
|
|
703
|
+
throw new Error('The language "' + r.language + '" has no grammar.');
|
|
704
704
|
}
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
return
|
|
705
|
+
r.tokens = i.tokenize(r.code, r.grammar);
|
|
706
|
+
i.hooks.run("after-tokenize", r);
|
|
707
|
+
return s.stringify(i.util.encode(r.tokens), r.language);
|
|
708
708
|
},
|
|
709
709
|
/**
|
|
710
710
|
* This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
|
|
@@ -733,15 +733,15 @@
|
|
|
733
733
|
tokenize: function(e, t) {
|
|
734
734
|
var n = t.rest;
|
|
735
735
|
if (n) {
|
|
736
|
-
for (var
|
|
737
|
-
t[
|
|
736
|
+
for (var r in n) {
|
|
737
|
+
t[r] = n[r];
|
|
738
738
|
}
|
|
739
739
|
delete t.rest;
|
|
740
740
|
}
|
|
741
|
-
var
|
|
742
|
-
c(
|
|
743
|
-
l(e,
|
|
744
|
-
return d(
|
|
741
|
+
var a = new u;
|
|
742
|
+
c(a, a.head, e);
|
|
743
|
+
l(e, a, t, a.head, 0);
|
|
744
|
+
return d(a);
|
|
745
745
|
},
|
|
746
746
|
/**
|
|
747
747
|
* @namespace
|
|
@@ -763,7 +763,7 @@
|
|
|
763
763
|
* @public
|
|
764
764
|
*/
|
|
765
765
|
add: function(e, t) {
|
|
766
|
-
var n =
|
|
766
|
+
var n = i.hooks.all;
|
|
767
767
|
n[e] = n[e] || [];
|
|
768
768
|
n[e].push(t);
|
|
769
769
|
},
|
|
@@ -777,18 +777,18 @@
|
|
|
777
777
|
* @public
|
|
778
778
|
*/
|
|
779
779
|
run: function(e, t) {
|
|
780
|
-
var n =
|
|
780
|
+
var n = i.hooks.all[e];
|
|
781
781
|
if (!n || !n.length) {
|
|
782
782
|
return;
|
|
783
783
|
}
|
|
784
|
-
for (var
|
|
785
|
-
|
|
784
|
+
for (var r = 0, a; a = n[r++]; ) {
|
|
785
|
+
a(t);
|
|
786
786
|
}
|
|
787
787
|
}
|
|
788
788
|
},
|
|
789
|
-
Token:
|
|
789
|
+
Token: s
|
|
790
790
|
};
|
|
791
|
-
e.Prism =
|
|
791
|
+
e.Prism = i;
|
|
792
792
|
// Typescript note:
|
|
793
793
|
// The following can be used to import the Token type in JSDoc:
|
|
794
794
|
|
|
@@ -803,7 +803,7 @@
|
|
|
803
803
|
* @class
|
|
804
804
|
* @global
|
|
805
805
|
* @public
|
|
806
|
-
*/ function
|
|
806
|
+
*/ function s(e, t, n, r) {
|
|
807
807
|
/**
|
|
808
808
|
* The type of the token.
|
|
809
809
|
*
|
|
@@ -830,7 +830,7 @@
|
|
|
830
830
|
* @public
|
|
831
831
|
*/ this.alias = n;
|
|
832
832
|
// Copy of the full string this token was created from
|
|
833
|
-
this.length = (
|
|
833
|
+
this.length = (r || "").length | 0;
|
|
834
834
|
}
|
|
835
835
|
/**
|
|
836
836
|
* A token stream is an array of strings and {@link Token Token} objects.
|
|
@@ -858,18 +858,18 @@
|
|
|
858
858
|
* @returns {string} The HTML representation of the token or token stream.
|
|
859
859
|
* @memberof Token
|
|
860
860
|
* @static
|
|
861
|
-
*/
|
|
861
|
+
*/ s.stringify = function e(t, n) {
|
|
862
862
|
if (typeof t == "string") {
|
|
863
863
|
return t;
|
|
864
864
|
}
|
|
865
865
|
if (Array.isArray(t)) {
|
|
866
|
-
var
|
|
866
|
+
var r = "";
|
|
867
867
|
t.forEach((function(t) {
|
|
868
|
-
|
|
868
|
+
r += e(t, n);
|
|
869
869
|
}));
|
|
870
|
-
return
|
|
870
|
+
return r;
|
|
871
871
|
}
|
|
872
|
-
var
|
|
872
|
+
var a = {
|
|
873
873
|
type: t.type,
|
|
874
874
|
content: e(t.content, n),
|
|
875
875
|
tag: "span",
|
|
@@ -877,20 +877,20 @@
|
|
|
877
877
|
attributes: {},
|
|
878
878
|
language: n
|
|
879
879
|
};
|
|
880
|
-
var
|
|
881
|
-
if (
|
|
882
|
-
if (Array.isArray(
|
|
883
|
-
Array.prototype.push.apply(
|
|
880
|
+
var s = t.alias;
|
|
881
|
+
if (s) {
|
|
882
|
+
if (Array.isArray(s)) {
|
|
883
|
+
Array.prototype.push.apply(a.classes, s);
|
|
884
884
|
} else {
|
|
885
|
-
|
|
885
|
+
a.classes.push(s);
|
|
886
886
|
}
|
|
887
887
|
}
|
|
888
|
-
|
|
888
|
+
i.hooks.run("wrap", a);
|
|
889
889
|
var o = "";
|
|
890
|
-
for (var l in
|
|
891
|
-
o += " " + l + '="' + (
|
|
890
|
+
for (var l in a.attributes) {
|
|
891
|
+
o += " " + l + '="' + (a.attributes[l] || "").replace(/"/g, """) + '"';
|
|
892
892
|
}
|
|
893
|
-
return "<" +
|
|
893
|
+
return "<" + a.tag + ' class="' + a.classes.join(" ") + '"' + o + ">" + a.content + "</" + a.tag + ">";
|
|
894
894
|
};
|
|
895
895
|
/**
|
|
896
896
|
* @param {RegExp} pattern
|
|
@@ -898,16 +898,16 @@
|
|
|
898
898
|
* @param {string} text
|
|
899
899
|
* @param {boolean} lookbehind
|
|
900
900
|
* @returns {RegExpExecArray | null}
|
|
901
|
-
*/ function o(e, t, n,
|
|
901
|
+
*/ function o(e, t, n, r) {
|
|
902
902
|
e.lastIndex = t;
|
|
903
|
-
var
|
|
904
|
-
if (
|
|
903
|
+
var a = e.exec(n);
|
|
904
|
+
if (a && r && a[1]) {
|
|
905
905
|
// change the match to remove the text matched by the Prism lookbehind group
|
|
906
|
-
var
|
|
907
|
-
|
|
908
|
-
|
|
906
|
+
var i = a[1].length;
|
|
907
|
+
a.index += i;
|
|
908
|
+
a[0] = a[0].slice(i);
|
|
909
909
|
}
|
|
910
|
-
return
|
|
910
|
+
return a;
|
|
911
911
|
}
|
|
912
912
|
/**
|
|
913
913
|
* @param {string} text
|
|
@@ -922,7 +922,7 @@
|
|
|
922
922
|
* @typedef RematchOptions
|
|
923
923
|
* @property {string} cause
|
|
924
924
|
* @property {number} reach
|
|
925
|
-
*/ function l(e, t, n,
|
|
925
|
+
*/ function l(e, t, n, r, a, u) {
|
|
926
926
|
for (var d in n) {
|
|
927
927
|
if (!n.hasOwnProperty(d) || !n[d]) {
|
|
928
928
|
continue;
|
|
@@ -933,19 +933,19 @@
|
|
|
933
933
|
if (u && u.cause == d + "," + f) {
|
|
934
934
|
return;
|
|
935
935
|
}
|
|
936
|
-
var
|
|
937
|
-
var
|
|
938
|
-
var v = !!
|
|
939
|
-
var
|
|
940
|
-
var b =
|
|
941
|
-
if (
|
|
936
|
+
var m = g[f];
|
|
937
|
+
var h = m.inside;
|
|
938
|
+
var v = !!m.lookbehind;
|
|
939
|
+
var E = !!m.greedy;
|
|
940
|
+
var b = m.alias;
|
|
941
|
+
if (E && !m.pattern.global) {
|
|
942
942
|
// Without the global flag, lastIndex won't work
|
|
943
|
-
var y =
|
|
944
|
-
|
|
943
|
+
var y = m.pattern.toString().match(/[imsuy]*$/)[0];
|
|
944
|
+
m.pattern = RegExp(m.pattern.source, y + "g");
|
|
945
945
|
}
|
|
946
|
-
/** @type {RegExp} */ var S =
|
|
946
|
+
/** @type {RegExp} */ var S = m.pattern || m;
|
|
947
947
|
for (// iterate the token list and keep track of the current token/string position
|
|
948
|
-
var A =
|
|
948
|
+
var A = r.next, T = a; A !== t.tail; T += A.value.length, A = A.next) {
|
|
949
949
|
if (u && T >= u.reach) {
|
|
950
950
|
break;
|
|
951
951
|
}
|
|
@@ -954,23 +954,23 @@
|
|
|
954
954
|
// Something went terribly wrong, ABORT, ABORT!
|
|
955
955
|
return;
|
|
956
956
|
}
|
|
957
|
-
if (I instanceof
|
|
957
|
+
if (I instanceof s) {
|
|
958
958
|
continue;
|
|
959
959
|
}
|
|
960
960
|
var O = 1;
|
|
961
961
|
// this is the to parameter of removeBetween
|
|
962
|
-
var
|
|
963
|
-
if (
|
|
964
|
-
|
|
965
|
-
if (!
|
|
962
|
+
var N;
|
|
963
|
+
if (E) {
|
|
964
|
+
N = o(S, T, e, v);
|
|
965
|
+
if (!N || N.index >= e.length) {
|
|
966
966
|
break;
|
|
967
967
|
}
|
|
968
|
-
var
|
|
969
|
-
var
|
|
968
|
+
var R = N.index;
|
|
969
|
+
var x = N.index + N[0].length;
|
|
970
970
|
var k = T;
|
|
971
971
|
// find the node that contains the match
|
|
972
972
|
k += A.value.length;
|
|
973
|
-
while (
|
|
973
|
+
while (R >= k) {
|
|
974
974
|
A = A.next;
|
|
975
975
|
k += A.value.length;
|
|
976
976
|
}
|
|
@@ -978,29 +978,29 @@
|
|
|
978
978
|
k -= A.value.length;
|
|
979
979
|
T = k;
|
|
980
980
|
// the current node is a Token, then the match starts inside another Token, which is invalid
|
|
981
|
-
if (A.value instanceof
|
|
981
|
+
if (A.value instanceof s) {
|
|
982
982
|
continue;
|
|
983
983
|
}
|
|
984
984
|
// find the last node which is affected by this match
|
|
985
|
-
for (var
|
|
985
|
+
for (var L = A; L !== t.tail && (k < x || typeof L.value === "string"); L = L.next) {
|
|
986
986
|
O++;
|
|
987
|
-
k +=
|
|
987
|
+
k += L.value.length;
|
|
988
988
|
}
|
|
989
989
|
O--;
|
|
990
990
|
// replace with the new match
|
|
991
991
|
I = e.slice(T, k);
|
|
992
|
-
|
|
992
|
+
N.index -= T;
|
|
993
993
|
} else {
|
|
994
|
-
|
|
995
|
-
if (!
|
|
994
|
+
N = o(S, 0, I, v);
|
|
995
|
+
if (!N) {
|
|
996
996
|
continue;
|
|
997
997
|
}
|
|
998
998
|
}
|
|
999
999
|
// eslint-disable-next-line no-redeclare
|
|
1000
|
-
var
|
|
1001
|
-
var
|
|
1002
|
-
var w = I.slice(0,
|
|
1003
|
-
var C = I.slice(
|
|
1000
|
+
var R = N.index;
|
|
1001
|
+
var F = N[0];
|
|
1002
|
+
var w = I.slice(0, R);
|
|
1003
|
+
var C = I.slice(R + F.length);
|
|
1004
1004
|
var D = T + I.length;
|
|
1005
1005
|
if (u && D > u.reach) {
|
|
1006
1006
|
u.reach = D;
|
|
@@ -1011,7 +1011,7 @@
|
|
|
1011
1011
|
T += w.length;
|
|
1012
1012
|
}
|
|
1013
1013
|
p(t, P, O);
|
|
1014
|
-
var _ = new
|
|
1014
|
+
var _ = new s(d, h ? i.tokenize(F, h) : F, b, F);
|
|
1015
1015
|
A = c(t, P, _);
|
|
1016
1016
|
if (C) {
|
|
1017
1017
|
c(t, A, C);
|
|
@@ -1020,14 +1020,14 @@
|
|
|
1020
1020
|
// at least one Token object was removed, so we have to do some rematching
|
|
1021
1021
|
// this can only happen if the current pattern is greedy
|
|
1022
1022
|
/** @type {RematchOptions} */
|
|
1023
|
-
var
|
|
1023
|
+
var $ = {
|
|
1024
1024
|
cause: d + "," + f,
|
|
1025
1025
|
reach: D
|
|
1026
1026
|
};
|
|
1027
|
-
l(e, t, n, A.prev, T,
|
|
1027
|
+
l(e, t, n, A.prev, T, $);
|
|
1028
1028
|
// the reach might have been extended because of the rematching
|
|
1029
|
-
if (u &&
|
|
1030
|
-
u.reach =
|
|
1029
|
+
if (u && $.reach > u.reach) {
|
|
1030
|
+
u.reach = $.reach;
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
1033
|
}
|
|
@@ -1072,16 +1072,16 @@
|
|
|
1072
1072
|
* @template T
|
|
1073
1073
|
*/ function c(e, t, n) {
|
|
1074
1074
|
// assumes that node != list.tail && values.length >= 0
|
|
1075
|
-
var
|
|
1076
|
-
var
|
|
1075
|
+
var r = t.next;
|
|
1076
|
+
var a = {
|
|
1077
1077
|
value: n,
|
|
1078
1078
|
prev: t,
|
|
1079
|
-
next:
|
|
1079
|
+
next: r
|
|
1080
1080
|
};
|
|
1081
|
-
t.next =
|
|
1082
|
-
|
|
1081
|
+
t.next = a;
|
|
1082
|
+
r.prev = a;
|
|
1083
1083
|
e.length++;
|
|
1084
|
-
return
|
|
1084
|
+
return a;
|
|
1085
1085
|
}
|
|
1086
1086
|
/**
|
|
1087
1087
|
* Removes `count` nodes after the given node. The given node will not be removed.
|
|
@@ -1091,13 +1091,13 @@
|
|
|
1091
1091
|
* @param {number} count
|
|
1092
1092
|
* @template T
|
|
1093
1093
|
*/ function p(e, t, n) {
|
|
1094
|
-
var
|
|
1095
|
-
for (var
|
|
1096
|
-
|
|
1094
|
+
var r = t.next;
|
|
1095
|
+
for (var a = 0; a < n && r !== e.tail; a++) {
|
|
1096
|
+
r = r.next;
|
|
1097
1097
|
}
|
|
1098
|
-
t.next =
|
|
1099
|
-
|
|
1100
|
-
e.length -=
|
|
1098
|
+
t.next = r;
|
|
1099
|
+
r.prev = t;
|
|
1100
|
+
e.length -= a;
|
|
1101
1101
|
}
|
|
1102
1102
|
/**
|
|
1103
1103
|
* @param {LinkedList<T>} list
|
|
@@ -1115,45 +1115,45 @@
|
|
|
1115
1115
|
if (!e.document) {
|
|
1116
1116
|
if (!e.addEventListener) {
|
|
1117
1117
|
// in Node.js
|
|
1118
|
-
return
|
|
1118
|
+
return i;
|
|
1119
1119
|
}
|
|
1120
|
-
if (!
|
|
1120
|
+
if (!i.disableWorkerMessageHandler) {
|
|
1121
1121
|
// In worker
|
|
1122
1122
|
e.addEventListener("message", (function(t) {
|
|
1123
1123
|
var n = JSON.parse(t.data);
|
|
1124
|
-
var
|
|
1125
|
-
var
|
|
1126
|
-
var
|
|
1127
|
-
e.postMessage(
|
|
1128
|
-
if (
|
|
1124
|
+
var r = n.language;
|
|
1125
|
+
var a = n.code;
|
|
1126
|
+
var s = n.immediateClose;
|
|
1127
|
+
e.postMessage(i.highlight(a, i.languages[r], r));
|
|
1128
|
+
if (s) {
|
|
1129
1129
|
e.close();
|
|
1130
1130
|
}
|
|
1131
1131
|
}), false);
|
|
1132
1132
|
}
|
|
1133
|
-
return
|
|
1133
|
+
return i;
|
|
1134
1134
|
}
|
|
1135
1135
|
// Get current script and highlight
|
|
1136
|
-
var g =
|
|
1136
|
+
var g = i.util.currentScript();
|
|
1137
1137
|
if (g) {
|
|
1138
|
-
|
|
1138
|
+
i.filename = g.src;
|
|
1139
1139
|
if (g.hasAttribute("data-manual")) {
|
|
1140
|
-
|
|
1140
|
+
i.manual = true;
|
|
1141
1141
|
}
|
|
1142
1142
|
}
|
|
1143
1143
|
function f() {
|
|
1144
|
-
if (!
|
|
1145
|
-
|
|
1144
|
+
if (!i.manual) {
|
|
1145
|
+
i.highlightAll();
|
|
1146
1146
|
}
|
|
1147
1147
|
}
|
|
1148
|
-
if (!
|
|
1148
|
+
if (!i.manual) {
|
|
1149
1149
|
// If the document state is "loading", then we'll use DOMContentLoaded.
|
|
1150
1150
|
// If the document state is "interactive" and the prism.js script is deferred, then we'll also use the
|
|
1151
1151
|
// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they
|
|
1152
1152
|
// might take longer one animation frame to execute which can create a race condition where only some plugins have
|
|
1153
1153
|
// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.
|
|
1154
1154
|
// See https://github.com/PrismJS/prism/issues/2102
|
|
1155
|
-
var
|
|
1156
|
-
if (
|
|
1155
|
+
var m = document.readyState;
|
|
1156
|
+
if (m === "loading" || m === "interactive" && g && g.defer) {
|
|
1157
1157
|
document.addEventListener("DOMContentLoaded", f);
|
|
1158
1158
|
} else {
|
|
1159
1159
|
if (t.requestAnimationFrame) {
|
|
@@ -1163,14 +1163,14 @@
|
|
|
1163
1163
|
}
|
|
1164
1164
|
}
|
|
1165
1165
|
}
|
|
1166
|
-
return
|
|
1167
|
-
}(
|
|
1166
|
+
return i;
|
|
1167
|
+
}(r);
|
|
1168
1168
|
if (true && e.exports) {
|
|
1169
|
-
e.exports =
|
|
1169
|
+
e.exports = a;
|
|
1170
1170
|
}
|
|
1171
1171
|
// hack for components to work correctly in node.js
|
|
1172
1172
|
if (typeof n !== "undefined") {
|
|
1173
|
-
n.Prism =
|
|
1173
|
+
n.Prism = a;
|
|
1174
1174
|
}
|
|
1175
1175
|
// some additional documentation/types
|
|
1176
1176
|
/**
|
|
@@ -1217,7 +1217,7 @@
|
|
|
1217
1217
|
* @public
|
|
1218
1218
|
*/
|
|
1219
1219
|
// https://www.json.org/json-en.html
|
|
1220
|
-
|
|
1220
|
+
a.languages.json = {
|
|
1221
1221
|
property: {
|
|
1222
1222
|
pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
|
|
1223
1223
|
lookbehind: true,
|
|
@@ -1241,8 +1241,8 @@
|
|
|
1241
1241
|
alias: "keyword"
|
|
1242
1242
|
}
|
|
1243
1243
|
};
|
|
1244
|
-
|
|
1245
|
-
|
|
1244
|
+
a.languages.webmanifest = a.languages.json;
|
|
1245
|
+
a.languages.markup = {
|
|
1246
1246
|
comment: {
|
|
1247
1247
|
pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
|
|
1248
1248
|
greedy: true
|
|
@@ -1313,15 +1313,15 @@
|
|
|
1313
1313
|
alias: "named-entity"
|
|
1314
1314
|
}, /&#x?[\da-f]{1,8};/i ]
|
|
1315
1315
|
};
|
|
1316
|
-
|
|
1317
|
-
|
|
1316
|
+
a.languages.markup["tag"].inside["attr-value"].inside["entity"] = a.languages.markup["entity"];
|
|
1317
|
+
a.languages.markup["doctype"].inside["internal-subset"].inside = a.languages.markup;
|
|
1318
1318
|
// Plugin to make entity title show the real entity, idea by Roman Komarov
|
|
1319
|
-
|
|
1319
|
+
a.hooks.add("wrap", (function(e) {
|
|
1320
1320
|
if (e.type === "entity") {
|
|
1321
1321
|
e.attributes["title"] = e.content.replace(/&/, "&");
|
|
1322
1322
|
}
|
|
1323
1323
|
}));
|
|
1324
|
-
Object.defineProperty(
|
|
1324
|
+
Object.defineProperty(a.languages.markup.tag, "addInlined", {
|
|
1325
1325
|
/**
|
|
1326
1326
|
* Adds an inlined language to markup.
|
|
1327
1327
|
*
|
|
@@ -1334,36 +1334,36 @@
|
|
|
1334
1334
|
* addInlined('style', 'css');
|
|
1335
1335
|
*/
|
|
1336
1336
|
value: function e(t, n) {
|
|
1337
|
-
var
|
|
1338
|
-
|
|
1337
|
+
var r = {};
|
|
1338
|
+
r["language-" + n] = {
|
|
1339
1339
|
pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
|
|
1340
1340
|
lookbehind: true,
|
|
1341
|
-
inside:
|
|
1341
|
+
inside: a.languages[n]
|
|
1342
1342
|
};
|
|
1343
|
-
|
|
1344
|
-
var
|
|
1343
|
+
r["cdata"] = /^<!\[CDATA\[|\]\]>$/i;
|
|
1344
|
+
var i = {
|
|
1345
1345
|
"included-cdata": {
|
|
1346
1346
|
pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
|
|
1347
|
-
inside:
|
|
1347
|
+
inside: r
|
|
1348
1348
|
}
|
|
1349
1349
|
};
|
|
1350
|
-
|
|
1350
|
+
i["language-" + n] = {
|
|
1351
1351
|
pattern: /[\s\S]+/,
|
|
1352
|
-
inside:
|
|
1352
|
+
inside: a.languages[n]
|
|
1353
1353
|
};
|
|
1354
|
-
var
|
|
1355
|
-
|
|
1354
|
+
var s = {};
|
|
1355
|
+
s[t] = {
|
|
1356
1356
|
pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, (function() {
|
|
1357
1357
|
return t;
|
|
1358
1358
|
})), "i"),
|
|
1359
1359
|
lookbehind: true,
|
|
1360
1360
|
greedy: true,
|
|
1361
|
-
inside:
|
|
1361
|
+
inside: i
|
|
1362
1362
|
};
|
|
1363
|
-
|
|
1363
|
+
a.languages.insertBefore("markup", "cdata", s);
|
|
1364
1364
|
}
|
|
1365
1365
|
});
|
|
1366
|
-
Object.defineProperty(
|
|
1366
|
+
Object.defineProperty(a.languages.markup.tag, "addAttribute", {
|
|
1367
1367
|
/**
|
|
1368
1368
|
* Adds an pattern to highlight languages embedded in HTML attributes.
|
|
1369
1369
|
*
|
|
@@ -1376,7 +1376,7 @@
|
|
|
1376
1376
|
* addAttribute('style', 'css');
|
|
1377
1377
|
*/
|
|
1378
1378
|
value: function(e, t) {
|
|
1379
|
-
|
|
1379
|
+
a.languages.markup.tag.inside["special-attr"].push({
|
|
1380
1380
|
pattern: RegExp(/(^|["'\s])/.source + "(?:" + e + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, "i"),
|
|
1381
1381
|
lookbehind: true,
|
|
1382
1382
|
inside: {
|
|
@@ -1388,7 +1388,7 @@
|
|
|
1388
1388
|
pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
|
|
1389
1389
|
lookbehind: true,
|
|
1390
1390
|
alias: [ t, "language-" + t ],
|
|
1391
|
-
inside:
|
|
1391
|
+
inside: a.languages[t]
|
|
1392
1392
|
},
|
|
1393
1393
|
punctuation: [ {
|
|
1394
1394
|
pattern: /^=/,
|
|
@@ -1400,14 +1400,14 @@
|
|
|
1400
1400
|
});
|
|
1401
1401
|
}
|
|
1402
1402
|
});
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1403
|
+
a.languages.html = a.languages.markup;
|
|
1404
|
+
a.languages.mathml = a.languages.markup;
|
|
1405
|
+
a.languages.svg = a.languages.markup;
|
|
1406
|
+
a.languages.xml = a.languages.extend("markup", {});
|
|
1407
|
+
a.languages.ssml = a.languages.xml;
|
|
1408
|
+
a.languages.atom = a.languages.xml;
|
|
1409
|
+
a.languages.rss = a.languages.xml;
|
|
1410
|
+
a.languages.clike = {
|
|
1411
1411
|
comment: [ {
|
|
1412
1412
|
pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
|
|
1413
1413
|
lookbehind: true,
|
|
@@ -1435,8 +1435,8 @@
|
|
|
1435
1435
|
operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
|
|
1436
1436
|
punctuation: /[{}[\];(),.:]/
|
|
1437
1437
|
};
|
|
1438
|
-
|
|
1439
|
-
"class-name": [
|
|
1438
|
+
a.languages.javascript = a.languages.extend("clike", {
|
|
1439
|
+
"class-name": [ a.languages.clike["class-name"], {
|
|
1440
1440
|
pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
|
|
1441
1441
|
lookbehind: true
|
|
1442
1442
|
} ],
|
|
@@ -1467,8 +1467,8 @@
|
|
|
1467
1467
|
},
|
|
1468
1468
|
operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
|
|
1469
1469
|
});
|
|
1470
|
-
|
|
1471
|
-
|
|
1470
|
+
a.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;
|
|
1471
|
+
a.languages.insertBefore("javascript", "keyword", {
|
|
1472
1472
|
regex: {
|
|
1473
1473
|
pattern: RegExp(
|
|
1474
1474
|
// lookbehind
|
|
@@ -1490,7 +1490,7 @@
|
|
|
1490
1490
|
pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
|
|
1491
1491
|
lookbehind: true,
|
|
1492
1492
|
alias: "language-regex",
|
|
1493
|
-
inside:
|
|
1493
|
+
inside: a.languages.regex
|
|
1494
1494
|
},
|
|
1495
1495
|
"regex-delimiter": /^\/|\/$/,
|
|
1496
1496
|
"regex-flags": /^[a-z]+$/
|
|
@@ -1504,23 +1504,23 @@
|
|
|
1504
1504
|
parameter: [ {
|
|
1505
1505
|
pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
|
|
1506
1506
|
lookbehind: true,
|
|
1507
|
-
inside:
|
|
1507
|
+
inside: a.languages.javascript
|
|
1508
1508
|
}, {
|
|
1509
1509
|
pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
|
|
1510
1510
|
lookbehind: true,
|
|
1511
|
-
inside:
|
|
1511
|
+
inside: a.languages.javascript
|
|
1512
1512
|
}, {
|
|
1513
1513
|
pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
|
|
1514
1514
|
lookbehind: true,
|
|
1515
|
-
inside:
|
|
1515
|
+
inside: a.languages.javascript
|
|
1516
1516
|
}, {
|
|
1517
1517
|
pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
|
|
1518
1518
|
lookbehind: true,
|
|
1519
|
-
inside:
|
|
1519
|
+
inside: a.languages.javascript
|
|
1520
1520
|
} ],
|
|
1521
1521
|
constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/
|
|
1522
1522
|
});
|
|
1523
|
-
|
|
1523
|
+
a.languages.insertBefore("javascript", "string", {
|
|
1524
1524
|
hashbang: {
|
|
1525
1525
|
pattern: /^#!.*/,
|
|
1526
1526
|
greedy: true,
|
|
@@ -1542,7 +1542,7 @@
|
|
|
1542
1542
|
pattern: /^\$\{|\}$/,
|
|
1543
1543
|
alias: "punctuation"
|
|
1544
1544
|
},
|
|
1545
|
-
rest:
|
|
1545
|
+
rest: a.languages.javascript
|
|
1546
1546
|
}
|
|
1547
1547
|
},
|
|
1548
1548
|
string: /[\s\S]+/
|
|
@@ -1555,55 +1555,55 @@
|
|
|
1555
1555
|
alias: "property"
|
|
1556
1556
|
}
|
|
1557
1557
|
});
|
|
1558
|
-
|
|
1558
|
+
a.languages.insertBefore("javascript", "operator", {
|
|
1559
1559
|
"literal-property": {
|
|
1560
1560
|
pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
|
|
1561
1561
|
lookbehind: true,
|
|
1562
1562
|
alias: "property"
|
|
1563
1563
|
}
|
|
1564
1564
|
});
|
|
1565
|
-
if (
|
|
1566
|
-
|
|
1565
|
+
if (a.languages.markup) {
|
|
1566
|
+
a.languages.markup.tag.addInlined("script", "javascript");
|
|
1567
1567
|
// add attribute support for all DOM events.
|
|
1568
1568
|
// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events
|
|
1569
|
-
|
|
1569
|
+
a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, "javascript");
|
|
1570
1570
|
}
|
|
1571
|
-
|
|
1571
|
+
a.languages.js = a.languages.javascript;
|
|
1572
1572
|
(function(e) {
|
|
1573
1573
|
var t = e.util.clone(e.languages.javascript);
|
|
1574
1574
|
var n = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source;
|
|
1575
|
-
var
|
|
1576
|
-
var
|
|
1575
|
+
var r = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source;
|
|
1576
|
+
var a = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;
|
|
1577
1577
|
/**
|
|
1578
1578
|
* @param {string} source
|
|
1579
1579
|
* @param {string} [flags]
|
|
1580
|
-
*/ function
|
|
1580
|
+
*/ function i(e, t) {
|
|
1581
1581
|
e = e.replace(/<S>/g, (function() {
|
|
1582
1582
|
return n;
|
|
1583
1583
|
})).replace(/<BRACES>/g, (function() {
|
|
1584
|
-
return a;
|
|
1585
|
-
})).replace(/<SPREAD>/g, (function() {
|
|
1586
1584
|
return r;
|
|
1585
|
+
})).replace(/<SPREAD>/g, (function() {
|
|
1586
|
+
return a;
|
|
1587
1587
|
}));
|
|
1588
1588
|
return RegExp(e, t);
|
|
1589
1589
|
}
|
|
1590
|
-
|
|
1590
|
+
a = i(a).source;
|
|
1591
1591
|
e.languages.jsx = e.languages.extend("markup", t);
|
|
1592
|
-
e.languages.jsx.tag.pattern =
|
|
1592
|
+
e.languages.jsx.tag.pattern = i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source);
|
|
1593
1593
|
e.languages.jsx.tag.inside["tag"].pattern = /^<\/?[^\s>\/]*/;
|
|
1594
1594
|
e.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/;
|
|
1595
1595
|
e.languages.jsx.tag.inside["tag"].inside["class-name"] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/;
|
|
1596
1596
|
e.languages.jsx.tag.inside["comment"] = t["comment"];
|
|
1597
1597
|
e.languages.insertBefore("inside", "attr-name", {
|
|
1598
1598
|
spread: {
|
|
1599
|
-
pattern:
|
|
1599
|
+
pattern: i(/<SPREAD>/.source),
|
|
1600
1600
|
inside: e.languages.jsx
|
|
1601
1601
|
}
|
|
1602
1602
|
}, e.languages.jsx.tag);
|
|
1603
1603
|
e.languages.insertBefore("inside", "special-attr", {
|
|
1604
1604
|
script: {
|
|
1605
1605
|
// Allow for two levels of nesting
|
|
1606
|
-
pattern:
|
|
1606
|
+
pattern: i(/=<BRACES>/.source),
|
|
1607
1607
|
alias: "language-javascript",
|
|
1608
1608
|
inside: {
|
|
1609
1609
|
"script-punctuation": {
|
|
@@ -1615,7 +1615,7 @@
|
|
|
1615
1615
|
}
|
|
1616
1616
|
}, e.languages.jsx.tag);
|
|
1617
1617
|
// The following will handle plain text inside tags
|
|
1618
|
-
var
|
|
1618
|
+
var s = function(e) {
|
|
1619
1619
|
if (!e) {
|
|
1620
1620
|
return "";
|
|
1621
1621
|
}
|
|
@@ -1625,63 +1625,63 @@
|
|
|
1625
1625
|
if (typeof e.content === "string") {
|
|
1626
1626
|
return e.content;
|
|
1627
1627
|
}
|
|
1628
|
-
return e.content.map(
|
|
1628
|
+
return e.content.map(s).join("");
|
|
1629
1629
|
};
|
|
1630
1630
|
var o = function(t) {
|
|
1631
1631
|
var n = [];
|
|
1632
|
-
for (var
|
|
1633
|
-
var
|
|
1634
|
-
var
|
|
1635
|
-
if (typeof
|
|
1636
|
-
if (
|
|
1632
|
+
for (var r = 0; r < t.length; r++) {
|
|
1633
|
+
var a = t[r];
|
|
1634
|
+
var i = false;
|
|
1635
|
+
if (typeof a !== "string") {
|
|
1636
|
+
if (a.type === "tag" && a.content[0] && a.content[0].type === "tag") {
|
|
1637
1637
|
// We found a tag, now find its kind
|
|
1638
|
-
if (
|
|
1638
|
+
if (a.content[0].content[0].content === "</") {
|
|
1639
1639
|
// Closing tag
|
|
1640
|
-
if (n.length > 0 && n[n.length - 1].tagName ===
|
|
1640
|
+
if (n.length > 0 && n[n.length - 1].tagName === s(a.content[0].content[1])) {
|
|
1641
1641
|
// Pop matching opening tag
|
|
1642
1642
|
n.pop();
|
|
1643
1643
|
}
|
|
1644
1644
|
} else {
|
|
1645
|
-
if (
|
|
1645
|
+
if (a.content[a.content.length - 1].content === "/>") {
|
|
1646
1646
|
// Autoclosed tag, ignore
|
|
1647
1647
|
} else {
|
|
1648
1648
|
// Opening tag
|
|
1649
1649
|
n.push({
|
|
1650
|
-
tagName:
|
|
1650
|
+
tagName: s(a.content[0].content[1]),
|
|
1651
1651
|
openedBraces: 0
|
|
1652
1652
|
});
|
|
1653
1653
|
}
|
|
1654
1654
|
}
|
|
1655
|
-
} else if (n.length > 0 &&
|
|
1655
|
+
} else if (n.length > 0 && a.type === "punctuation" && a.content === "{") {
|
|
1656
1656
|
// Here we might have entered a JSX context inside a tag
|
|
1657
1657
|
n[n.length - 1].openedBraces++;
|
|
1658
|
-
} else if (n.length > 0 && n[n.length - 1].openedBraces > 0 &&
|
|
1658
|
+
} else if (n.length > 0 && n[n.length - 1].openedBraces > 0 && a.type === "punctuation" && a.content === "}") {
|
|
1659
1659
|
// Here we might have left a JSX context inside a tag
|
|
1660
1660
|
n[n.length - 1].openedBraces--;
|
|
1661
1661
|
} else {
|
|
1662
|
-
|
|
1662
|
+
i = true;
|
|
1663
1663
|
}
|
|
1664
1664
|
}
|
|
1665
|
-
if (
|
|
1665
|
+
if (i || typeof a === "string") {
|
|
1666
1666
|
if (n.length > 0 && n[n.length - 1].openedBraces === 0) {
|
|
1667
1667
|
// Here we are inside a tag, and not inside a JSX context.
|
|
1668
1668
|
// That's plain text: drop any tokens matched.
|
|
1669
|
-
var l =
|
|
1669
|
+
var l = s(a);
|
|
1670
1670
|
// And merge text with adjacent text
|
|
1671
|
-
if (
|
|
1672
|
-
l +=
|
|
1673
|
-
t.splice(
|
|
1671
|
+
if (r < t.length - 1 && (typeof t[r + 1] === "string" || t[r + 1].type === "plain-text")) {
|
|
1672
|
+
l += s(t[r + 1]);
|
|
1673
|
+
t.splice(r + 1, 1);
|
|
1674
1674
|
}
|
|
1675
|
-
if (
|
|
1676
|
-
l =
|
|
1677
|
-
t.splice(
|
|
1678
|
-
|
|
1675
|
+
if (r > 0 && (typeof t[r - 1] === "string" || t[r - 1].type === "plain-text")) {
|
|
1676
|
+
l = s(t[r - 1]) + l;
|
|
1677
|
+
t.splice(r - 1, 1);
|
|
1678
|
+
r--;
|
|
1679
1679
|
}
|
|
1680
|
-
t[
|
|
1680
|
+
t[r] = new e.Token("plain-text", l, null, l);
|
|
1681
1681
|
}
|
|
1682
1682
|
}
|
|
1683
|
-
if (
|
|
1684
|
-
o(
|
|
1683
|
+
if (a.content && typeof a.content !== "string") {
|
|
1684
|
+
o(a.content);
|
|
1685
1685
|
}
|
|
1686
1686
|
}
|
|
1687
1687
|
};
|
|
@@ -1691,7 +1691,7 @@
|
|
|
1691
1691
|
}
|
|
1692
1692
|
o(e.tokens);
|
|
1693
1693
|
}));
|
|
1694
|
-
})(
|
|
1694
|
+
})(a);
|
|
1695
1695
|
(function(e) {
|
|
1696
1696
|
e.languages.typescript = e.languages.extend("javascript", {
|
|
1697
1697
|
"class-name": {
|
|
@@ -1742,7 +1742,7 @@
|
|
|
1742
1742
|
}
|
|
1743
1743
|
});
|
|
1744
1744
|
e.languages.ts = e.languages.typescript;
|
|
1745
|
-
})(
|
|
1745
|
+
})(a);
|
|
1746
1746
|
(function(e) {
|
|
1747
1747
|
var t = e.util.clone(e.languages.typescript);
|
|
1748
1748
|
e.languages.tsx = e.languages.extend("jsx", t);
|
|
@@ -1755,7 +1755,7 @@
|
|
|
1755
1755
|
var n = e.languages.tsx.tag;
|
|
1756
1756
|
n.pattern = RegExp(/(^|[^\w$]|(?=<\/))/.source + "(?:" + n.pattern.source + ")", n.pattern.flags);
|
|
1757
1757
|
n.lookbehind = true;
|
|
1758
|
-
})(
|
|
1758
|
+
})(a);
|
|
1759
1759
|
(function(e) {
|
|
1760
1760
|
var t = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
|
|
1761
1761
|
e.languages.css = {
|
|
@@ -1813,7 +1813,7 @@
|
|
|
1813
1813
|
n.tag.addInlined("style", "css");
|
|
1814
1814
|
n.tag.addAttribute("style", "css");
|
|
1815
1815
|
}
|
|
1816
|
-
})(
|
|
1816
|
+
})(a);
|
|
1817
1817
|
(function(e) {
|
|
1818
1818
|
// $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\n' '|'
|
|
1819
1819
|
// + LC_ALL, RANDOM, REPLY, SECONDS.
|
|
@@ -1827,7 +1827,7 @@
|
|
|
1827
1827
|
// this looks reasonably well in all themes
|
|
1828
1828
|
inside: null
|
|
1829
1829
|
};
|
|
1830
|
-
var
|
|
1830
|
+
var r = {
|
|
1831
1831
|
bash: n,
|
|
1832
1832
|
environment: {
|
|
1833
1833
|
pattern: RegExp("\\$" + t),
|
|
@@ -1932,7 +1932,7 @@
|
|
|
1932
1932
|
pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
|
|
1933
1933
|
lookbehind: true,
|
|
1934
1934
|
greedy: true,
|
|
1935
|
-
inside:
|
|
1935
|
+
inside: r
|
|
1936
1936
|
},
|
|
1937
1937
|
// Here-document with quotes around the tag
|
|
1938
1938
|
// → No expansion (so no “inside”).
|
|
@@ -1950,7 +1950,7 @@
|
|
|
1950
1950
|
pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
|
|
1951
1951
|
lookbehind: true,
|
|
1952
1952
|
greedy: true,
|
|
1953
|
-
inside:
|
|
1953
|
+
inside: r
|
|
1954
1954
|
}, {
|
|
1955
1955
|
// https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
|
|
1956
1956
|
pattern: /(^|[^$\\])'[^']*'/,
|
|
@@ -1961,14 +1961,14 @@
|
|
|
1961
1961
|
pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
|
|
1962
1962
|
greedy: true,
|
|
1963
1963
|
inside: {
|
|
1964
|
-
entity:
|
|
1964
|
+
entity: r.entity
|
|
1965
1965
|
}
|
|
1966
1966
|
} ],
|
|
1967
1967
|
environment: {
|
|
1968
1968
|
pattern: RegExp("\\$?" + t),
|
|
1969
1969
|
alias: "constant"
|
|
1970
1970
|
},
|
|
1971
|
-
variable:
|
|
1971
|
+
variable: r.variable,
|
|
1972
1972
|
function: {
|
|
1973
1973
|
pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
|
|
1974
1974
|
lookbehind: true
|
|
@@ -2009,14 +2009,14 @@
|
|
|
2009
2009
|
}
|
|
2010
2010
|
};
|
|
2011
2011
|
n.inside = e.languages.bash;
|
|
2012
|
-
/* Patterns in command substitution. */ var
|
|
2013
|
-
var
|
|
2014
|
-
for (var
|
|
2015
|
-
|
|
2012
|
+
/* Patterns in command substitution. */ var a = [ "comment", "function-name", "for-or-select", "assign-left", "parameter", "string", "environment", "function", "keyword", "builtin", "boolean", "file-descriptor", "operator", "punctuation", "number" ];
|
|
2013
|
+
var i = r.variable[1].inside;
|
|
2014
|
+
for (var s = 0; s < a.length; s++) {
|
|
2015
|
+
i[a[s]] = e.languages.bash[a[s]];
|
|
2016
2016
|
}
|
|
2017
2017
|
e.languages.sh = e.languages.bash;
|
|
2018
2018
|
e.languages.shell = e.languages.bash;
|
|
2019
|
-
})(
|
|
2019
|
+
})(a);
|
|
2020
2020
|
(function(e) {
|
|
2021
2021
|
// https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property
|
|
2022
2022
|
// https://yaml.org/spec/1.2/spec.html#c-ns-alias-node
|
|
@@ -2024,24 +2024,24 @@
|
|
|
2024
2024
|
// https://yaml.org/spec/1.2/spec.html#c-ns-tag-property
|
|
2025
2025
|
var n = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;
|
|
2026
2026
|
// https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)
|
|
2027
|
-
var
|
|
2027
|
+
var r = "(?:" + n.source + "(?:[ \t]+" + t.source + ")?|" + t.source + "(?:[ \t]+" + n.source + ")?)";
|
|
2028
2028
|
// https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)
|
|
2029
2029
|
// This is a simplified version that doesn't support "#" and multiline keys
|
|
2030
2030
|
// All these long scarry character classes are simplified versions of YAML's characters
|
|
2031
|
-
var
|
|
2031
|
+
var a = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, (function() {
|
|
2032
2032
|
return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
|
|
2033
2033
|
}));
|
|
2034
|
-
var
|
|
2034
|
+
var i = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
|
|
2035
2035
|
/**
|
|
2036
2036
|
*
|
|
2037
2037
|
* @param {string} value
|
|
2038
2038
|
* @param {string} [flags]
|
|
2039
2039
|
* @returns {RegExp}
|
|
2040
|
-
*/ function
|
|
2040
|
+
*/ function s(e, t) {
|
|
2041
2041
|
t = (t || "").replace(/m/g, "") + "m";
|
|
2042
2042
|
// add m flag
|
|
2043
2043
|
var n = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, (function() {
|
|
2044
|
-
return
|
|
2044
|
+
return r;
|
|
2045
2045
|
})).replace(/<<value>>/g, (function() {
|
|
2046
2046
|
return e;
|
|
2047
2047
|
}));
|
|
@@ -2050,7 +2050,7 @@
|
|
|
2050
2050
|
e.languages.yaml = {
|
|
2051
2051
|
scalar: {
|
|
2052
2052
|
pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g, (function() {
|
|
2053
|
-
return
|
|
2053
|
+
return r;
|
|
2054
2054
|
}))),
|
|
2055
2055
|
lookbehind: true,
|
|
2056
2056
|
alias: "string"
|
|
@@ -2058,9 +2058,9 @@
|
|
|
2058
2058
|
comment: /#.*/,
|
|
2059
2059
|
key: {
|
|
2060
2060
|
pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, (function() {
|
|
2061
|
-
return
|
|
2061
|
+
return r;
|
|
2062
2062
|
})).replace(/<<key>>/g, (function() {
|
|
2063
|
-
return "(?:" +
|
|
2063
|
+
return "(?:" + a + "|" + i + ")";
|
|
2064
2064
|
}))),
|
|
2065
2065
|
lookbehind: true,
|
|
2066
2066
|
greedy: true,
|
|
@@ -2072,27 +2072,27 @@
|
|
|
2072
2072
|
alias: "important"
|
|
2073
2073
|
},
|
|
2074
2074
|
datetime: {
|
|
2075
|
-
pattern:
|
|
2075
|
+
pattern: s(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),
|
|
2076
2076
|
lookbehind: true,
|
|
2077
2077
|
alias: "number"
|
|
2078
2078
|
},
|
|
2079
2079
|
boolean: {
|
|
2080
|
-
pattern:
|
|
2080
|
+
pattern: s(/false|true/.source, "i"),
|
|
2081
2081
|
lookbehind: true,
|
|
2082
2082
|
alias: "important"
|
|
2083
2083
|
},
|
|
2084
2084
|
null: {
|
|
2085
|
-
pattern:
|
|
2085
|
+
pattern: s(/null|~/.source, "i"),
|
|
2086
2086
|
lookbehind: true,
|
|
2087
2087
|
alias: "important"
|
|
2088
2088
|
},
|
|
2089
2089
|
string: {
|
|
2090
|
-
pattern: i
|
|
2090
|
+
pattern: s(i),
|
|
2091
2091
|
lookbehind: true,
|
|
2092
2092
|
greedy: true
|
|
2093
2093
|
},
|
|
2094
2094
|
number: {
|
|
2095
|
-
pattern:
|
|
2095
|
+
pattern: s(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, "i"),
|
|
2096
2096
|
lookbehind: true
|
|
2097
2097
|
},
|
|
2098
2098
|
tag: n,
|
|
@@ -2100,8 +2100,8 @@
|
|
|
2100
2100
|
punctuation: /---|[:[\]{}\-,|>?]|\.\.\./
|
|
2101
2101
|
};
|
|
2102
2102
|
e.languages.yml = e.languages.yaml;
|
|
2103
|
-
})(
|
|
2104
|
-
|
|
2103
|
+
})(a);
|
|
2104
|
+
a.languages["splunk-spl"] = {
|
|
2105
2105
|
comment: /`comment\("(?:\\.|[^\\"])*"\)`/,
|
|
2106
2106
|
string: {
|
|
2107
2107
|
pattern: /"(?:\\.|[^\\"])*"/,
|
|
@@ -2125,7 +2125,7 @@
|
|
|
2125
2125
|
operator: /[<>=]=?|[-+*/%|]/,
|
|
2126
2126
|
punctuation: /[()[\],]/
|
|
2127
2127
|
};
|
|
2128
|
-
|
|
2128
|
+
a.languages.sql = {
|
|
2129
2129
|
comment: {
|
|
2130
2130
|
pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,
|
|
2131
2131
|
lookbehind: true
|
|
@@ -2169,24 +2169,24 @@
|
|
|
2169
2169
|
/******/ var t = {};
|
|
2170
2170
|
/******/
|
|
2171
2171
|
/******/ // The require function
|
|
2172
|
-
/******/ function n(
|
|
2172
|
+
/******/ function n(r) {
|
|
2173
2173
|
/******/ // Check if module is in cache
|
|
2174
|
-
/******/ var
|
|
2175
|
-
/******/ if (
|
|
2176
|
-
/******/ return
|
|
2174
|
+
/******/ var a = t[r];
|
|
2175
|
+
/******/ if (a !== undefined) {
|
|
2176
|
+
/******/ return a.exports;
|
|
2177
2177
|
/******/ }
|
|
2178
2178
|
/******/ // Create a new module (and put it into the cache)
|
|
2179
|
-
/******/ var
|
|
2179
|
+
/******/ var i = t[r] = {
|
|
2180
2180
|
/******/ // no module.id needed
|
|
2181
2181
|
/******/ // no module.loaded needed
|
|
2182
2182
|
/******/ exports: {}
|
|
2183
2183
|
/******/ };
|
|
2184
2184
|
/******/
|
|
2185
2185
|
/******/ // Execute the module function
|
|
2186
|
-
/******/ e[
|
|
2186
|
+
/******/ e[r](i, i.exports, n);
|
|
2187
2187
|
/******/
|
|
2188
2188
|
/******/ // Return the exports of the module
|
|
2189
|
-
/******/ return
|
|
2189
|
+
/******/ return i.exports;
|
|
2190
2190
|
/******/ }
|
|
2191
2191
|
/******/
|
|
2192
2192
|
/************************************************************************/
|
|
@@ -2209,11 +2209,11 @@
|
|
|
2209
2209
|
/******/ (() => {
|
|
2210
2210
|
/******/ // define getter functions for harmony exports
|
|
2211
2211
|
/******/ n.d = (e, t) => {
|
|
2212
|
-
/******/ for (var
|
|
2213
|
-
/******/ if (n.o(t,
|
|
2214
|
-
/******/ Object.defineProperty(e,
|
|
2212
|
+
/******/ for (var r in t) {
|
|
2213
|
+
/******/ if (n.o(t, r) && !n.o(e, r)) {
|
|
2214
|
+
/******/ Object.defineProperty(e, r, {
|
|
2215
2215
|
enumerable: true,
|
|
2216
|
-
get: t[
|
|
2216
|
+
get: t[r]
|
|
2217
2217
|
});
|
|
2218
2218
|
/******/ }
|
|
2219
2219
|
/******/ }
|
|
@@ -2241,100 +2241,99 @@
|
|
|
2241
2241
|
/******/ };
|
|
2242
2242
|
/******/ })();
|
|
2243
2243
|
/******/
|
|
2244
|
-
/************************************************************************/ var
|
|
2244
|
+
/************************************************************************/ var r = {};
|
|
2245
2245
|
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
|
2246
2246
|
(() => {
|
|
2247
2247
|
"use strict";
|
|
2248
2248
|
// ESM COMPAT FLAG
|
|
2249
|
-
n.r(
|
|
2249
|
+
n.r(r);
|
|
2250
2250
|
// EXPORTS
|
|
2251
|
-
n.d(
|
|
2252
|
-
default: () => /* reexport */
|
|
2251
|
+
n.d(r, {
|
|
2252
|
+
default: () => /* reexport */ re
|
|
2253
2253
|
});
|
|
2254
2254
|
// EXTERNAL MODULE: external "react"
|
|
2255
2255
|
var e = n(9497);
|
|
2256
2256
|
var t = n.n(e);
|
|
2257
|
-
// CONCATENATED MODULE: external "prop-types"
|
|
2258
|
-
const r = require("prop-types");
|
|
2259
|
-
var s = n.n(r);
|
|
2260
2257
|
// CONCATENATED MODULE: external "lodash/castArray"
|
|
2261
|
-
const
|
|
2262
|
-
var
|
|
2258
|
+
const a = require("lodash/castArray");
|
|
2259
|
+
var i = n.n(a);
|
|
2263
2260
|
// CONCATENATED MODULE: external "lodash/flatten"
|
|
2264
|
-
const
|
|
2265
|
-
var
|
|
2261
|
+
const s = require("lodash/flatten");
|
|
2262
|
+
var o = n.n(s);
|
|
2266
2263
|
// CONCATENATED MODULE: external "lodash/indexOf"
|
|
2267
|
-
const
|
|
2268
|
-
var
|
|
2264
|
+
const l = require("lodash/indexOf");
|
|
2265
|
+
var u = n.n(l);
|
|
2269
2266
|
// CONCATENATED MODULE: external "lodash/repeat"
|
|
2270
|
-
const
|
|
2271
|
-
var
|
|
2267
|
+
const c = require("lodash/repeat");
|
|
2268
|
+
var p = n.n(c);
|
|
2272
2269
|
// CONCATENATED MODULE: external "lodash/times"
|
|
2273
|
-
const
|
|
2274
|
-
var
|
|
2275
|
-
//
|
|
2276
|
-
|
|
2277
|
-
var
|
|
2270
|
+
const d = require("lodash/times");
|
|
2271
|
+
var g = n.n(d);
|
|
2272
|
+
// CONCATENATED MODULE: external "prop-types"
|
|
2273
|
+
const f = require("prop-types");
|
|
2274
|
+
var m = n.n(f);
|
|
2278
2275
|
// CONCATENATED MODULE: external "styled-components"
|
|
2279
2276
|
const h = require("styled-components");
|
|
2280
|
-
var
|
|
2277
|
+
var v = n.n(h);
|
|
2281
2278
|
// CONCATENATED MODULE: external "@splunk/themes"
|
|
2282
|
-
const
|
|
2279
|
+
const E = require("@splunk/themes");
|
|
2283
2280
|
// CONCATENATED MODULE: ./src/Code/CodeStyles.ts
|
|
2284
|
-
var
|
|
2285
|
-
|
|
2281
|
+
var b = "1.429em";
|
|
2282
|
+
var y = v().pre.withConfig({
|
|
2283
|
+
displayName: "CodeStyles__StyledPre",
|
|
2286
2284
|
componentId: "sc-1eq4k68-0"
|
|
2287
|
-
})([ "", ";", ";text-align:left;tab-size:4;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;hyphens:none;overflow-x:auto;&:focus-visible{box-shadow:", ";}" ],
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2285
|
+
})([ "", ";", ";line-height:", ";position:relative;gap:", ";text-align:left;tab-size:4;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;hyphens:none;overflow-x:auto;&:focus-visible{box-shadow:", ";}", "" ], E.mixins.reset("grid"), E.mixins.typography("monoBody"), b, E.variables.spacingMedium, E.variables.focusShadow, (function(e) {
|
|
2286
|
+
var t = e.$showLineNumbers, n = e.$counterReset;
|
|
2287
|
+
return t && (0, h.css)([ "grid-template-columns:min-content auto;counter-reset:linenumber ", ";" ], n);
|
|
2288
|
+
}));
|
|
2289
|
+
var S = v().code.withConfig({
|
|
2291
2290
|
displayName: "CodeStyles__StyledCode",
|
|
2292
2291
|
componentId: "sc-1eq4k68-1"
|
|
2293
|
-
})([ "font-family:", ";", ";" ],
|
|
2292
|
+
})([ "font-family:", ";position:relative;z-index:1;", ";" ], E.variables.monoFontFamily, (function(e) {
|
|
2294
2293
|
var t = e.$isPlaintext;
|
|
2295
|
-
return !t && (0, h.css)([ "color:", ";" ],
|
|
2294
|
+
return !t && (0, h.css)([ "color:", ";" ], E.variables.syntaxTeal);
|
|
2296
2295
|
}));
|
|
2297
|
-
var
|
|
2296
|
+
var A = v().span.withConfig({
|
|
2298
2297
|
displayName: "CodeStyles__StyledIndent",
|
|
2299
2298
|
componentId: "sc-1eq4k68-2"
|
|
2300
|
-
})([ "&:not(:last-child){background-image:linear-gradient( to left,", " 1px,transparent 1px,transparent );}" ],
|
|
2301
|
-
var
|
|
2302
|
-
comment:
|
|
2303
|
-
prolog:
|
|
2304
|
-
doctype:
|
|
2305
|
-
cdata:
|
|
2306
|
-
punctuation:
|
|
2307
|
-
property:
|
|
2308
|
-
tag:
|
|
2309
|
-
boolean:
|
|
2310
|
-
number:
|
|
2311
|
-
constant:
|
|
2312
|
-
symbol:
|
|
2313
|
-
deleted:
|
|
2314
|
-
key:
|
|
2315
|
-
selector:
|
|
2316
|
-
"attr-name":
|
|
2317
|
-
string:
|
|
2318
|
-
char:
|
|
2319
|
-
builtin:
|
|
2320
|
-
inserted:
|
|
2321
|
-
operator:
|
|
2322
|
-
entity:
|
|
2323
|
-
url:
|
|
2324
|
-
atrule:
|
|
2325
|
-
"attr-value":
|
|
2326
|
-
keyword:
|
|
2327
|
-
function:
|
|
2328
|
-
regex:
|
|
2329
|
-
important:
|
|
2330
|
-
variable:
|
|
2299
|
+
})([ "&:not(:last-child){background-image:linear-gradient( to left,", " 1px,transparent 1px,transparent );}" ], E.variables.syntaxGray);
|
|
2300
|
+
var T = {
|
|
2301
|
+
comment: E.variables.syntaxGray,
|
|
2302
|
+
prolog: E.variables.syntaxGray,
|
|
2303
|
+
doctype: E.variables.syntaxGray,
|
|
2304
|
+
cdata: E.variables.syntaxGray,
|
|
2305
|
+
punctuation: E.variables.syntaxGray,
|
|
2306
|
+
property: E.variables.syntaxPurple,
|
|
2307
|
+
tag: E.variables.syntaxPurple,
|
|
2308
|
+
boolean: E.variables.syntaxPurple,
|
|
2309
|
+
number: E.variables.syntaxPurple,
|
|
2310
|
+
constant: E.variables.syntaxPurple,
|
|
2311
|
+
symbol: E.variables.syntaxPurple,
|
|
2312
|
+
deleted: E.variables.syntaxPurple,
|
|
2313
|
+
key: E.variables.syntaxPurple,
|
|
2314
|
+
selector: E.variables.syntaxGreen,
|
|
2315
|
+
"attr-name": E.variables.syntaxGreen,
|
|
2316
|
+
string: E.variables.syntaxGreen,
|
|
2317
|
+
char: E.variables.syntaxGreen,
|
|
2318
|
+
builtin: E.variables.syntaxGreen,
|
|
2319
|
+
inserted: E.variables.syntaxGreen,
|
|
2320
|
+
operator: E.variables.syntaxBrown,
|
|
2321
|
+
entity: E.variables.syntaxBrown,
|
|
2322
|
+
url: E.variables.syntaxBrown,
|
|
2323
|
+
atrule: E.variables.syntaxBlue,
|
|
2324
|
+
"attr-value": E.variables.syntaxBlue,
|
|
2325
|
+
keyword: E.variables.syntaxBlue,
|
|
2326
|
+
function: E.variables.syntaxRed,
|
|
2327
|
+
regex: E.variables.syntaxOrange,
|
|
2328
|
+
important: E.variables.syntaxOrange,
|
|
2329
|
+
variable: E.variables.syntaxOrange
|
|
2331
2330
|
};
|
|
2332
|
-
var
|
|
2331
|
+
var I = v().span.withConfig({
|
|
2333
2332
|
displayName: "CodeStyles__StyledToken",
|
|
2334
2333
|
componentId: "sc-1eq4k68-3"
|
|
2335
2334
|
})([ "color:", ";cursor:", ";opacity:", ";font-style:", ";font-weight:", ";" ], (function(e) {
|
|
2336
2335
|
var t = e.partType;
|
|
2337
|
-
return
|
|
2336
|
+
return T[t];
|
|
2338
2337
|
}), (function(e) {
|
|
2339
2338
|
var t = e.partType;
|
|
2340
2339
|
return t === "entity" ? "help" : null;
|
|
@@ -2346,8 +2345,136 @@
|
|
|
2346
2345
|
return t === "italic" ? "italic" : null;
|
|
2347
2346
|
}), (function(e) {
|
|
2348
2347
|
var t = e.partType;
|
|
2349
|
-
return t === "important" || t === "bold" ?
|
|
2348
|
+
return t === "important" || t === "bold" ? E.variables.fontWeightBold : null;
|
|
2349
|
+
}));
|
|
2350
|
+
// CONCATENATED MODULE: ./src/Code/LineHighlightsStyles.ts
|
|
2351
|
+
var O = v().div.withConfig({
|
|
2352
|
+
displayName: "LineHighlightsStyles__StyledLineHighlight",
|
|
2353
|
+
componentId: "sc-1x2b02z-0"
|
|
2354
|
+
})([ "position:absolute;left:0;height:1lh;background:", ";border-left:2px solid ", ";pointer-events:none;line-height:inherit;top:", ";width:", "px;" ], E.variables.notificationColorInfoWeak, E.variables.notificationColorInfo, (function(e) {
|
|
2355
|
+
var t = e.$lineNum;
|
|
2356
|
+
return "calc(".concat(t - 1, " * ").concat(b, ")");
|
|
2357
|
+
}), (function(e) {
|
|
2358
|
+
var t = e.$width;
|
|
2359
|
+
return t;
|
|
2350
2360
|
}));
|
|
2361
|
+
// CONCATENATED MODULE: ./src/Code/LineHighlights.tsx
|
|
2362
|
+
function N(e, t) {
|
|
2363
|
+
return F(e) || L(e, t) || x(e, t) || R();
|
|
2364
|
+
}
|
|
2365
|
+
function R() {
|
|
2366
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2367
|
+
}
|
|
2368
|
+
function x(e, t) {
|
|
2369
|
+
if (e) {
|
|
2370
|
+
if ("string" == typeof e) return k(e, t);
|
|
2371
|
+
var n = {}.toString.call(e).slice(8, -1);
|
|
2372
|
+
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? k(e, t) : void 0;
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
function k(e, t) {
|
|
2376
|
+
(null == t || t > e.length) && (t = e.length);
|
|
2377
|
+
for (var n = 0, r = Array(t); n < t; n++) {
|
|
2378
|
+
r[n] = e[n];
|
|
2379
|
+
}
|
|
2380
|
+
return r;
|
|
2381
|
+
}
|
|
2382
|
+
function L(e, t) {
|
|
2383
|
+
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
2384
|
+
if (null != n) {
|
|
2385
|
+
var r, a, i, s, o = [], l = !0, u = !1;
|
|
2386
|
+
try {
|
|
2387
|
+
if (i = (n = n.call(e)).next, 0 === t) {
|
|
2388
|
+
if (Object(n) !== n) return;
|
|
2389
|
+
l = !1;
|
|
2390
|
+
} else for (;!(l = (r = i.call(n)).done) && (o.push(r.value), o.length !== t); l = !0) {
|
|
2391
|
+
}
|
|
2392
|
+
} catch (e) {
|
|
2393
|
+
u = !0, a = e;
|
|
2394
|
+
} finally {
|
|
2395
|
+
try {
|
|
2396
|
+
if (!l && null != n["return"] && (s = n["return"](), Object(s) !== s)) return;
|
|
2397
|
+
} finally {
|
|
2398
|
+
if (u) throw a;
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
return o;
|
|
2402
|
+
}
|
|
2403
|
+
}
|
|
2404
|
+
function F(e) {
|
|
2405
|
+
if (Array.isArray(e)) return e;
|
|
2406
|
+
}
|
|
2407
|
+
// parseHighlightLines will turn a string like "2,4-5" into an array of ranges like [[2, 2], [4, 5]]
|
|
2408
|
+
var w = function e(t) {
|
|
2409
|
+
return t.replace(/\s+/g, "").split(",").filter(Boolean).map((function(e) {
|
|
2410
|
+
var t = e.split("-").map(Number), n = N(t, 2), r = n[0], a = n[1];
|
|
2411
|
+
return [ r, a || r ];
|
|
2412
|
+
}));
|
|
2413
|
+
};
|
|
2414
|
+
// Flatten the array of ranges into a single array of line numbers
|
|
2415
|
+
// example: [[2, 2], [4, 5]] will become [2, 4, 5]
|
|
2416
|
+
var C = function e(t) {
|
|
2417
|
+
var n = t.map((function(e) {
|
|
2418
|
+
var t = N(e, 2), n = t[0], r = t[1];
|
|
2419
|
+
return Array.from({
|
|
2420
|
+
length: r - n + 1
|
|
2421
|
+
}, (function(e, t) {
|
|
2422
|
+
return n + t;
|
|
2423
|
+
}));
|
|
2424
|
+
})).reduce((function(e, t) {
|
|
2425
|
+
return e.concat(t);
|
|
2426
|
+
}), []);
|
|
2427
|
+
return Array.from(new Set(n));
|
|
2428
|
+
// Remove duplicates
|
|
2429
|
+
};
|
|
2430
|
+
var D = function e(n) {
|
|
2431
|
+
var r = n.highlight, a = n.width;
|
|
2432
|
+
var i = w(r);
|
|
2433
|
+
var s = C(i);
|
|
2434
|
+
|
|
2435
|
+
return t().createElement(t().Fragment, null, s.map((function(e) {
|
|
2436
|
+
|
|
2437
|
+
return t().createElement(O, {
|
|
2438
|
+
key: e,
|
|
2439
|
+
className: "line-highlight",
|
|
2440
|
+
"aria-hidden": "true",
|
|
2441
|
+
$lineNum: e,
|
|
2442
|
+
$width: a
|
|
2443
|
+
});
|
|
2444
|
+
})));
|
|
2445
|
+
};
|
|
2446
|
+
/* harmony default export */ const P = D;
|
|
2447
|
+
// CONCATENATED MODULE: ./src/Code/LineNumbersStyles.ts
|
|
2448
|
+
var _ = v().span.withConfig({
|
|
2449
|
+
displayName: "LineNumbersStyles__StyledLineNumberRows",
|
|
2450
|
+
componentId: "sc-1h4k3dh-0"
|
|
2451
|
+
})([ "pointer-events:none;user-select:none;border-right:1px solid ", ";z-index:1;& > span{display:block;counter-increment:linenumber;&::before{display:block;content:counter(linenumber);color:", ";padding-inline-end:", ";text-align:right;}}" ], E.variables.borderColor, E.variables.syntaxGray, E.variables.spacingSmall);
|
|
2452
|
+
// CONCATENATED MODULE: ./src/Code/LineNumbers.tsx
|
|
2453
|
+
function $(e) {
|
|
2454
|
+
var n = e.value, r = n === void 0 ? "" : n;
|
|
2455
|
+
// Use a regex to see how many lines there are in the value, then output an
|
|
2456
|
+
// empty span for each line. The numbers themselves are handled by the CSS counter.
|
|
2457
|
+
var a = r.match(/\n(?!$)/g);
|
|
2458
|
+
var i = a ? a.length + 1 : 1;
|
|
2459
|
+
var s = Array.from({
|
|
2460
|
+
length: i
|
|
2461
|
+
}, (function(e, n) {
|
|
2462
|
+
|
|
2463
|
+
return t().createElement("span", {
|
|
2464
|
+
key: n
|
|
2465
|
+
});
|
|
2466
|
+
}));
|
|
2467
|
+
|
|
2468
|
+
return t().createElement(_, {
|
|
2469
|
+
"aria-hidden": true
|
|
2470
|
+
}, s);
|
|
2471
|
+
}
|
|
2472
|
+
/* harmony default export */ const U = $;
|
|
2473
|
+
// EXTERNAL MODULE: ./src/useResizeObserver/index.ts + 1 modules
|
|
2474
|
+
var M = n(6283);
|
|
2475
|
+
// EXTERNAL MODULE: ./src/Code/prism/prism.empty
|
|
2476
|
+
var B = n(74);
|
|
2477
|
+
var G = n.n(B);
|
|
2351
2478
|
// CONCATENATED MODULE: ./src/utils/updateReactRef.ts
|
|
2352
2479
|
/**
|
|
2353
2480
|
* Updates a React ref. Callback refs and object refs (from `createRef` and `useRef`) are supported.
|
|
@@ -2355,7 +2482,7 @@
|
|
|
2355
2482
|
* @param ref - The React callback or object ref. Can be `null` or `undefined`.
|
|
2356
2483
|
* @param current - The new value of the ref.
|
|
2357
2484
|
*/
|
|
2358
|
-
function
|
|
2485
|
+
function j(e, t) {
|
|
2359
2486
|
if (e) {
|
|
2360
2487
|
if (typeof e === "function") {
|
|
2361
2488
|
e(t);
|
|
@@ -2367,83 +2494,81 @@
|
|
|
2367
2494
|
}
|
|
2368
2495
|
}
|
|
2369
2496
|
}
|
|
2370
|
-
// EXTERNAL MODULE: ./src/useResizeObserver/index.ts + 1 modules
|
|
2371
|
-
var x = n(6283);
|
|
2372
2497
|
// CONCATENATED MODULE: ./src/Code/Code.tsx
|
|
2373
|
-
function
|
|
2374
|
-
return
|
|
2498
|
+
function H() {
|
|
2499
|
+
return H = Object.assign ? Object.assign.bind() : function(e) {
|
|
2375
2500
|
for (var t = 1; t < arguments.length; t++) {
|
|
2376
2501
|
var n = arguments[t];
|
|
2377
|
-
for (var
|
|
2378
|
-
({}).hasOwnProperty.call(n,
|
|
2502
|
+
for (var r in n) {
|
|
2503
|
+
({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);
|
|
2379
2504
|
}
|
|
2380
2505
|
}
|
|
2381
2506
|
return e;
|
|
2382
|
-
},
|
|
2507
|
+
}, H.apply(null, arguments);
|
|
2383
2508
|
}
|
|
2384
|
-
function
|
|
2385
|
-
return
|
|
2509
|
+
function z(e, t) {
|
|
2510
|
+
return K(e) || q(e, t) || X(e, t) || Y();
|
|
2386
2511
|
}
|
|
2387
|
-
function
|
|
2512
|
+
function Y() {
|
|
2388
2513
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2389
2514
|
}
|
|
2390
|
-
function
|
|
2515
|
+
function X(e, t) {
|
|
2391
2516
|
if (e) {
|
|
2392
|
-
if ("string" == typeof e) return
|
|
2517
|
+
if ("string" == typeof e) return W(e, t);
|
|
2393
2518
|
var n = {}.toString.call(e).slice(8, -1);
|
|
2394
|
-
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ?
|
|
2519
|
+
return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? W(e, t) : void 0;
|
|
2395
2520
|
}
|
|
2396
2521
|
}
|
|
2397
|
-
function
|
|
2522
|
+
function W(e, t) {
|
|
2398
2523
|
(null == t || t > e.length) && (t = e.length);
|
|
2399
|
-
for (var n = 0,
|
|
2400
|
-
|
|
2524
|
+
for (var n = 0, r = Array(t); n < t; n++) {
|
|
2525
|
+
r[n] = e[n];
|
|
2401
2526
|
}
|
|
2402
|
-
return
|
|
2527
|
+
return r;
|
|
2403
2528
|
}
|
|
2404
|
-
function
|
|
2529
|
+
function q(e, t) {
|
|
2405
2530
|
var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
2406
2531
|
if (null != n) {
|
|
2407
|
-
var a,
|
|
2532
|
+
var r, a, i, s, o = [], l = !0, u = !1;
|
|
2408
2533
|
try {
|
|
2409
|
-
if (
|
|
2534
|
+
if (i = (n = n.call(e)).next, 0 === t) {
|
|
2410
2535
|
if (Object(n) !== n) return;
|
|
2411
2536
|
l = !1;
|
|
2412
|
-
} else for (;!(l = (
|
|
2537
|
+
} else for (;!(l = (r = i.call(n)).done) && (o.push(r.value), o.length !== t); l = !0) {
|
|
2413
2538
|
}
|
|
2414
2539
|
} catch (e) {
|
|
2415
|
-
u = !0,
|
|
2540
|
+
u = !0, a = e;
|
|
2416
2541
|
} finally {
|
|
2417
2542
|
try {
|
|
2418
|
-
if (!l && null != n["return"] && (
|
|
2543
|
+
if (!l && null != n["return"] && (s = n["return"](), Object(s) !== s)) return;
|
|
2419
2544
|
} finally {
|
|
2420
|
-
if (u) throw
|
|
2545
|
+
if (u) throw a;
|
|
2421
2546
|
}
|
|
2422
2547
|
}
|
|
2423
2548
|
return o;
|
|
2424
2549
|
}
|
|
2425
2550
|
}
|
|
2426
|
-
function
|
|
2551
|
+
function K(e) {
|
|
2427
2552
|
if (Array.isArray(e)) return e;
|
|
2428
2553
|
}
|
|
2429
|
-
function
|
|
2554
|
+
function V(e, t) {
|
|
2430
2555
|
if (null == e) return {};
|
|
2431
|
-
var n,
|
|
2556
|
+
var n, r, a = Z(e, t);
|
|
2432
2557
|
if (Object.getOwnPropertySymbols) {
|
|
2433
|
-
var
|
|
2434
|
-
for (
|
|
2435
|
-
n =
|
|
2558
|
+
var i = Object.getOwnPropertySymbols(e);
|
|
2559
|
+
for (r = 0; r < i.length; r++) {
|
|
2560
|
+
n = i[r], t.includes(n) || {}.propertyIsEnumerable.call(e, n) && (a[n] = e[n]);
|
|
2436
2561
|
}
|
|
2437
2562
|
}
|
|
2438
|
-
return
|
|
2563
|
+
return a;
|
|
2439
2564
|
}
|
|
2440
|
-
function
|
|
2565
|
+
function Z(e, t) {
|
|
2441
2566
|
if (null == e) return {};
|
|
2442
2567
|
var n = {};
|
|
2443
|
-
for (var
|
|
2444
|
-
if ({}.hasOwnProperty.call(e,
|
|
2445
|
-
if (t.includes(
|
|
2446
|
-
n[
|
|
2568
|
+
for (var r in e) {
|
|
2569
|
+
if ({}.hasOwnProperty.call(e, r)) {
|
|
2570
|
+
if (t.includes(r)) continue;
|
|
2571
|
+
n[r] = e[r];
|
|
2447
2572
|
}
|
|
2448
2573
|
}
|
|
2449
2574
|
return n;
|
|
@@ -2452,113 +2577,123 @@
|
|
|
2452
2577
|
// auto formatting. The import below points to an empty file which is replaced at build
|
|
2453
2578
|
// time, see ./prism/build-isolated-prism.js for details.
|
|
2454
2579
|
// typed as 'prismjs'
|
|
2455
|
-
var
|
|
2456
|
-
function
|
|
2580
|
+
var Q = [ "bash", "clike", "css", "html", "json", "javascript", "js", "jsx", "typescript", "ts", "tsx", "markup", "mathml", "plain", "plaintext", "splunk-spl", "sql", "svg", "text", "txt", "xml", "yaml", "yml" ];
|
|
2581
|
+
function J(e) {
|
|
2457
2582
|
return [ "plain", "plaintext", "text", "txt" ].includes(e);
|
|
2458
2583
|
}
|
|
2459
|
-
function
|
|
2460
|
-
if (
|
|
2461
|
-
return
|
|
2584
|
+
function ee(e, t) {
|
|
2585
|
+
if (J(t)) {
|
|
2586
|
+
return G().tokenize(e, {});
|
|
2462
2587
|
}
|
|
2463
|
-
return
|
|
2588
|
+
return G().tokenize(e, G().languages[t]);
|
|
2464
2589
|
}
|
|
2465
|
-
var
|
|
2466
|
-
elementRef:
|
|
2467
|
-
indentChars:
|
|
2468
|
-
language:
|
|
2469
|
-
languageFallback:
|
|
2470
|
-
|
|
2471
|
-
|
|
2590
|
+
var te = {
|
|
2591
|
+
elementRef: m().oneOfType([ m().func, m().object ]),
|
|
2592
|
+
indentChars: m().number,
|
|
2593
|
+
language: m().oneOf(Q),
|
|
2594
|
+
languageFallback: m().oneOf(Q),
|
|
2595
|
+
lineHighlights: m().string,
|
|
2596
|
+
lineNumberStart: m().number,
|
|
2597
|
+
showIndentGuide: m().bool,
|
|
2598
|
+
showLineNumbers: m().bool,
|
|
2599
|
+
value: m().string
|
|
2472
2600
|
};
|
|
2473
|
-
function
|
|
2474
|
-
var
|
|
2601
|
+
function ne(n) {
|
|
2602
|
+
var r = n.elementRef, a = n.indentChars, s = a === void 0 ? 4 : a, l = n.language, c = n.languageFallback, d = c === void 0 ? "javascript" : c, f = n.lineHighlights, m = n.lineNumberStart, h = n.showIndentGuide, v = h === void 0 ? true : h, E = n.showLineNumbers, b = n.value, T = b === void 0 ? "" : b, O = V(n, [ "elementRef", "indentChars", "language", "languageFallback", "lineHighlights", "lineNumberStart", "showIndentGuide", "showLineNumbers", "value" ]);
|
|
2475
2603
|
// @docs-props-type CodePropsBase
|
|
2476
|
-
var
|
|
2477
|
-
var
|
|
2478
|
-
var
|
|
2479
|
-
var
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
}), [
|
|
2604
|
+
var N = (0, e.useRef)(null);
|
|
2605
|
+
var R = (0, e.useState)(undefined), x = z(R, 2), k = x[0], L = x[1];
|
|
2606
|
+
var F = (0, M["default"])(N), w = F.width, C = F.height;
|
|
2607
|
+
var D = (0, e.useCallback)((function(e) {
|
|
2608
|
+
j(N, e);
|
|
2609
|
+
j(r, e);
|
|
2610
|
+
}), [ r ]);
|
|
2483
2611
|
(0, e.useEffect)((function() {
|
|
2484
|
-
var e =
|
|
2612
|
+
var e = N.current;
|
|
2485
2613
|
if (e) {
|
|
2486
|
-
var t = e.scrollHeight > Math.round(
|
|
2487
|
-
var n = e.scrollWidth > Math.round(
|
|
2488
|
-
var
|
|
2489
|
-
L(
|
|
2614
|
+
var t = e.scrollHeight > Math.round(C);
|
|
2615
|
+
var n = e.scrollWidth > Math.round(w);
|
|
2616
|
+
var r = t || n;
|
|
2617
|
+
L(r ? 0 : undefined);
|
|
2490
2618
|
}
|
|
2491
|
-
}), [
|
|
2492
|
-
var
|
|
2493
|
-
var
|
|
2494
|
-
var
|
|
2495
|
-
var
|
|
2496
|
-
var i =
|
|
2619
|
+
}), [ N, w, C ]);
|
|
2620
|
+
var _ = p()(" ", s);
|
|
2621
|
+
var $ = function e(n) {
|
|
2622
|
+
var r = Math.floor(n / s);
|
|
2623
|
+
var a = n % s;
|
|
2624
|
+
var i = g()(r, (function(e) {
|
|
2497
2625
|
|
|
2498
|
-
return t().createElement(
|
|
2626
|
+
return t().createElement(A, {
|
|
2499
2627
|
key: e.toString()
|
|
2500
|
-
},
|
|
2628
|
+
}, _);
|
|
2501
2629
|
}));
|
|
2502
|
-
if (
|
|
2503
|
-
i.push(
|
|
2630
|
+
if (a) {
|
|
2631
|
+
i.push(p()(" ", a));
|
|
2504
2632
|
}
|
|
2505
2633
|
return i;
|
|
2506
2634
|
};
|
|
2507
|
-
var
|
|
2635
|
+
var B = u()(Q, l) > -1;
|
|
2508
2636
|
(0, e.useEffect)((function() {
|
|
2509
2637
|
// a fix for SUI-5425, where the Markdown component doesn't pass a valid language in some circumstances
|
|
2510
2638
|
if (false) {}
|
|
2511
|
-
}), [
|
|
2512
|
-
var
|
|
2513
|
-
var Y =
|
|
2514
|
-
var
|
|
2515
|
-
var
|
|
2516
|
-
return
|
|
2639
|
+
}), [ B, l, d ]);
|
|
2640
|
+
var G = B && l ? l : d;
|
|
2641
|
+
var Y = ee(T, G);
|
|
2642
|
+
var X = J(G);
|
|
2643
|
+
var W = function e(n) {
|
|
2644
|
+
return i()(n).map((function(n, r) {
|
|
2517
2645
|
if (typeof n === "string") {
|
|
2518
|
-
if (!
|
|
2646
|
+
if (!v) {
|
|
2519
2647
|
return n;
|
|
2520
2648
|
}
|
|
2521
|
-
var
|
|
2522
|
-
if (
|
|
2649
|
+
var a = n.split("\n");
|
|
2650
|
+
if (a.length === 1) {
|
|
2523
2651
|
return n;
|
|
2524
2652
|
}
|
|
2525
|
-
return
|
|
2526
|
-
var
|
|
2527
|
-
var
|
|
2528
|
-
if (!
|
|
2529
|
-
|
|
2653
|
+
return o()(a.map((function(e, n) {
|
|
2654
|
+
var a = n === 0 ? [] : [ "\n" ];
|
|
2655
|
+
var i = e.match(/^(\s+)(.*)/);
|
|
2656
|
+
if (!i) {
|
|
2657
|
+
a.push(e);
|
|
2530
2658
|
} else {
|
|
2531
|
-
|
|
2532
|
-
key: "".concat(
|
|
2533
|
-
},
|
|
2659
|
+
a.push( t().createElement("span", {
|
|
2660
|
+
key: "".concat(r.toString(), ":").concat(n.toString())
|
|
2661
|
+
}, $(i[1].length)), i[2]);
|
|
2534
2662
|
}
|
|
2535
|
-
return
|
|
2663
|
+
return a;
|
|
2536
2664
|
})));
|
|
2537
2665
|
}
|
|
2538
|
-
var
|
|
2666
|
+
var i = typeof n.content === "string" ? n.content : e(n.content);
|
|
2539
2667
|
|
|
2540
2668
|
// eslint-disable-next-line react/no-array-index-key
|
|
2541
|
-
return t().createElement(
|
|
2669
|
+
return t().createElement(I, {
|
|
2542
2670
|
"data-part-type": n.type,
|
|
2543
2671
|
partType: n.type,
|
|
2544
|
-
key:
|
|
2545
|
-
},
|
|
2672
|
+
key: r.toString()
|
|
2673
|
+
}, i);
|
|
2546
2674
|
}));
|
|
2547
2675
|
};
|
|
2548
|
-
var
|
|
2676
|
+
var q = W(Y);
|
|
2549
2677
|
|
|
2550
|
-
return t().createElement(
|
|
2678
|
+
return t().createElement(y, H({
|
|
2551
2679
|
"data-test": "code",
|
|
2552
|
-
ref:
|
|
2553
|
-
tabIndex:
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2680
|
+
ref: D,
|
|
2681
|
+
tabIndex: k,
|
|
2682
|
+
$showLineNumbers: E,
|
|
2683
|
+
$counterReset: m && m - 1
|
|
2684
|
+
}, O), E && t().createElement(U, {
|
|
2685
|
+
value: T
|
|
2686
|
+
}), t().createElement(S, {
|
|
2687
|
+
className: "language-".concat(G),
|
|
2688
|
+
$isPlaintext: X
|
|
2689
|
+
}, q), f && t().createElement(P, {
|
|
2690
|
+
width: w,
|
|
2691
|
+
highlight: f
|
|
2692
|
+
}));
|
|
2558
2693
|
}
|
|
2559
|
-
|
|
2560
|
-
/* harmony default export */ const
|
|
2694
|
+
ne.propTypes = te;
|
|
2695
|
+
/* harmony default export */ const re = ne;
|
|
2561
2696
|
}) // CONCATENATED MODULE: ./src/Code/index.ts
|
|
2562
2697
|
();
|
|
2563
|
-
module.exports =
|
|
2698
|
+
module.exports = r;
|
|
2564
2699
|
/******/})();
|