@procore/storybook-addon 4.3.0 → 4.4.1
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/CHANGELOG.md +12 -0
- package/dist/legacy/chunk-QGM4M3NI.js +37 -0
- package/dist/legacy/index.cjs +48 -0
- package/dist/legacy/index.d.cts +5 -0
- package/dist/legacy/index.d.ts +5 -0
- package/dist/legacy/index.js +23 -0
- package/dist/legacy/preset.cjs +457 -0
- package/dist/legacy/preset.d.cts +28 -0
- package/dist/legacy/preset.d.ts +28 -0
- package/dist/legacy/preset.js +420 -0
- package/dist/modern/chunk-QGM4M3NI.js +37 -0
- package/dist/modern/index.cjs +48 -0
- package/dist/modern/index.d.cts +5 -0
- package/dist/modern/index.d.ts +5 -0
- package/dist/modern/index.js +23 -0
- package/dist/modern/preset.cjs +457 -0
- package/dist/modern/preset.d.cts +28 -0
- package/dist/modern/preset.d.ts +28 -0
- package/dist/modern/preset.js +420 -0
- package/package.json +38 -28
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sorter.js +0 -196
- package/dist/asset/procoreLogo.d.ts +0 -3
- package/dist/asset/procoreLogo.d.ts.map +0 -1
- package/dist/configurations/babel.d.ts +0 -38
- package/dist/configurations/babel.d.ts.map +0 -1
- package/dist/configurations/previewHead.d.ts +0 -3
- package/dist/configurations/previewHead.d.ts.map +0 -1
- package/dist/configurations/theme.d.ts +0 -3
- package/dist/configurations/theme.d.ts.map +0 -1
- package/dist/constant/external-urls.d.ts +0 -2
- package/dist/constant/external-urls.d.ts.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1
- package/dist/index.mjs +0 -11
- package/dist/preset.d.ts +0 -22
- package/dist/preset.d.ts.map +0 -1
- package/dist/preset.js +0 -29
- package/dist/preset.mjs +0 -290
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/preset.js +0 -2
- package/src/typings/index.d.ts +0 -4
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS,
|
|
3
|
+
__require,
|
|
4
|
+
__toESM
|
|
5
|
+
} from "./chunk-QGM4M3NI.js";
|
|
6
|
+
|
|
7
|
+
// ../../node_modules/react-dev-utils/getCacheIdentifier.js
|
|
8
|
+
var require_getCacheIdentifier = __commonJS({
|
|
9
|
+
"../../node_modules/react-dev-utils/getCacheIdentifier.js"(exports, module) {
|
|
10
|
+
"use strict";
|
|
11
|
+
module.exports = function getCacheIdentifier2(environment, packages) {
|
|
12
|
+
let cacheIdentifier = environment == null ? "" : environment.toString();
|
|
13
|
+
for (const packageName of packages) {
|
|
14
|
+
cacheIdentifier += `:${packageName}@`;
|
|
15
|
+
try {
|
|
16
|
+
cacheIdentifier += __require(`${packageName}/package.json`).version;
|
|
17
|
+
} catch (_) {
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return cacheIdentifier;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// src/configurations/babel.ts
|
|
26
|
+
import { version as babelRuntimeVersion } from "@babel/runtime/package.json";
|
|
27
|
+
import { version as corejsVersion } from "core-js/package.json";
|
|
28
|
+
|
|
29
|
+
// ../../node_modules/pathe/dist/shared/pathe.ff20891b.mjs
|
|
30
|
+
var _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
31
|
+
function normalizeWindowsPath(input = "") {
|
|
32
|
+
if (!input) {
|
|
33
|
+
return input;
|
|
34
|
+
}
|
|
35
|
+
return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());
|
|
36
|
+
}
|
|
37
|
+
var _UNC_REGEX = /^[/\\]{2}/;
|
|
38
|
+
var _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
|
|
39
|
+
var _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
|
|
40
|
+
var _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
|
|
41
|
+
var sep = "/";
|
|
42
|
+
var delimiter = ":";
|
|
43
|
+
var normalize = function(path2) {
|
|
44
|
+
if (path2.length === 0) {
|
|
45
|
+
return ".";
|
|
46
|
+
}
|
|
47
|
+
path2 = normalizeWindowsPath(path2);
|
|
48
|
+
const isUNCPath = path2.match(_UNC_REGEX);
|
|
49
|
+
const isPathAbsolute = isAbsolute(path2);
|
|
50
|
+
const trailingSeparator = path2[path2.length - 1] === "/";
|
|
51
|
+
path2 = normalizeString(path2, !isPathAbsolute);
|
|
52
|
+
if (path2.length === 0) {
|
|
53
|
+
if (isPathAbsolute) {
|
|
54
|
+
return "/";
|
|
55
|
+
}
|
|
56
|
+
return trailingSeparator ? "./" : ".";
|
|
57
|
+
}
|
|
58
|
+
if (trailingSeparator) {
|
|
59
|
+
path2 += "/";
|
|
60
|
+
}
|
|
61
|
+
if (_DRIVE_LETTER_RE.test(path2)) {
|
|
62
|
+
path2 += "/";
|
|
63
|
+
}
|
|
64
|
+
if (isUNCPath) {
|
|
65
|
+
if (!isPathAbsolute) {
|
|
66
|
+
return `//./${path2}`;
|
|
67
|
+
}
|
|
68
|
+
return `//${path2}`;
|
|
69
|
+
}
|
|
70
|
+
return isPathAbsolute && !isAbsolute(path2) ? `/${path2}` : path2;
|
|
71
|
+
};
|
|
72
|
+
var join = function(...arguments_) {
|
|
73
|
+
if (arguments_.length === 0) {
|
|
74
|
+
return ".";
|
|
75
|
+
}
|
|
76
|
+
let joined;
|
|
77
|
+
for (const argument of arguments_) {
|
|
78
|
+
if (argument && argument.length > 0) {
|
|
79
|
+
if (joined === void 0) {
|
|
80
|
+
joined = argument;
|
|
81
|
+
} else {
|
|
82
|
+
joined += `/${argument}`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (joined === void 0) {
|
|
87
|
+
return ".";
|
|
88
|
+
}
|
|
89
|
+
return normalize(joined.replace(/\/\/+/g, "/"));
|
|
90
|
+
};
|
|
91
|
+
function cwd() {
|
|
92
|
+
if (typeof process !== "undefined" && typeof process.cwd === "function") {
|
|
93
|
+
return process.cwd().replace(/\\/g, "/");
|
|
94
|
+
}
|
|
95
|
+
return "/";
|
|
96
|
+
}
|
|
97
|
+
var resolve = function(...arguments_) {
|
|
98
|
+
arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
|
|
99
|
+
let resolvedPath = "";
|
|
100
|
+
let resolvedAbsolute = false;
|
|
101
|
+
for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
|
|
102
|
+
const path2 = index >= 0 ? arguments_[index] : cwd();
|
|
103
|
+
if (!path2 || path2.length === 0) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
resolvedPath = `${path2}/${resolvedPath}`;
|
|
107
|
+
resolvedAbsolute = isAbsolute(path2);
|
|
108
|
+
}
|
|
109
|
+
resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
|
|
110
|
+
if (resolvedAbsolute && !isAbsolute(resolvedPath)) {
|
|
111
|
+
return `/${resolvedPath}`;
|
|
112
|
+
}
|
|
113
|
+
return resolvedPath.length > 0 ? resolvedPath : ".";
|
|
114
|
+
};
|
|
115
|
+
function normalizeString(path2, allowAboveRoot) {
|
|
116
|
+
let res = "";
|
|
117
|
+
let lastSegmentLength = 0;
|
|
118
|
+
let lastSlash = -1;
|
|
119
|
+
let dots = 0;
|
|
120
|
+
let char = null;
|
|
121
|
+
for (let index = 0; index <= path2.length; ++index) {
|
|
122
|
+
if (index < path2.length) {
|
|
123
|
+
char = path2[index];
|
|
124
|
+
} else if (char === "/") {
|
|
125
|
+
break;
|
|
126
|
+
} else {
|
|
127
|
+
char = "/";
|
|
128
|
+
}
|
|
129
|
+
if (char === "/") {
|
|
130
|
+
if (lastSlash === index - 1 || dots === 1) ;
|
|
131
|
+
else if (dots === 2) {
|
|
132
|
+
if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
|
|
133
|
+
if (res.length > 2) {
|
|
134
|
+
const lastSlashIndex = res.lastIndexOf("/");
|
|
135
|
+
if (lastSlashIndex === -1) {
|
|
136
|
+
res = "";
|
|
137
|
+
lastSegmentLength = 0;
|
|
138
|
+
} else {
|
|
139
|
+
res = res.slice(0, lastSlashIndex);
|
|
140
|
+
lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
|
|
141
|
+
}
|
|
142
|
+
lastSlash = index;
|
|
143
|
+
dots = 0;
|
|
144
|
+
continue;
|
|
145
|
+
} else if (res.length > 0) {
|
|
146
|
+
res = "";
|
|
147
|
+
lastSegmentLength = 0;
|
|
148
|
+
lastSlash = index;
|
|
149
|
+
dots = 0;
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (allowAboveRoot) {
|
|
154
|
+
res += res.length > 0 ? "/.." : "..";
|
|
155
|
+
lastSegmentLength = 2;
|
|
156
|
+
}
|
|
157
|
+
} else {
|
|
158
|
+
if (res.length > 0) {
|
|
159
|
+
res += `/${path2.slice(lastSlash + 1, index)}`;
|
|
160
|
+
} else {
|
|
161
|
+
res = path2.slice(lastSlash + 1, index);
|
|
162
|
+
}
|
|
163
|
+
lastSegmentLength = index - lastSlash - 1;
|
|
164
|
+
}
|
|
165
|
+
lastSlash = index;
|
|
166
|
+
dots = 0;
|
|
167
|
+
} else if (char === "." && dots !== -1) {
|
|
168
|
+
++dots;
|
|
169
|
+
} else {
|
|
170
|
+
dots = -1;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return res;
|
|
174
|
+
}
|
|
175
|
+
var isAbsolute = function(p) {
|
|
176
|
+
return _IS_ABSOLUTE_RE.test(p);
|
|
177
|
+
};
|
|
178
|
+
var toNamespacedPath = function(p) {
|
|
179
|
+
return normalizeWindowsPath(p);
|
|
180
|
+
};
|
|
181
|
+
var _EXTNAME_RE = /.(\.[^./]+)$/;
|
|
182
|
+
var extname = function(p) {
|
|
183
|
+
const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));
|
|
184
|
+
return match && match[1] || "";
|
|
185
|
+
};
|
|
186
|
+
var relative = function(from, to) {
|
|
187
|
+
const _from = resolve(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
|
|
188
|
+
const _to = resolve(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
|
|
189
|
+
if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) {
|
|
190
|
+
return _to.join("/");
|
|
191
|
+
}
|
|
192
|
+
const _fromCopy = [..._from];
|
|
193
|
+
for (const segment of _fromCopy) {
|
|
194
|
+
if (_to[0] !== segment) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
_from.shift();
|
|
198
|
+
_to.shift();
|
|
199
|
+
}
|
|
200
|
+
return [..._from.map(() => ".."), ..._to].join("/");
|
|
201
|
+
};
|
|
202
|
+
var dirname = function(p) {
|
|
203
|
+
const segments = normalizeWindowsPath(p).replace(/\/$/, "").split("/").slice(0, -1);
|
|
204
|
+
if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {
|
|
205
|
+
segments[0] += "/";
|
|
206
|
+
}
|
|
207
|
+
return segments.join("/") || (isAbsolute(p) ? "/" : ".");
|
|
208
|
+
};
|
|
209
|
+
var format = function(p) {
|
|
210
|
+
const segments = [p.root, p.dir, p.base ?? p.name + p.ext].filter(Boolean);
|
|
211
|
+
return normalizeWindowsPath(
|
|
212
|
+
p.root ? resolve(...segments) : segments.join("/")
|
|
213
|
+
);
|
|
214
|
+
};
|
|
215
|
+
var basename = function(p, extension) {
|
|
216
|
+
const lastSegment = normalizeWindowsPath(p).split("/").pop();
|
|
217
|
+
return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;
|
|
218
|
+
};
|
|
219
|
+
var parse = function(p) {
|
|
220
|
+
const root = normalizeWindowsPath(p).split("/").shift() || "/";
|
|
221
|
+
const base = basename(p);
|
|
222
|
+
const extension = extname(base);
|
|
223
|
+
return {
|
|
224
|
+
root,
|
|
225
|
+
dir: dirname(p),
|
|
226
|
+
base,
|
|
227
|
+
ext: extension,
|
|
228
|
+
name: base.slice(0, base.length - extension.length)
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
var path = {
|
|
232
|
+
__proto__: null,
|
|
233
|
+
basename,
|
|
234
|
+
delimiter,
|
|
235
|
+
dirname,
|
|
236
|
+
extname,
|
|
237
|
+
format,
|
|
238
|
+
isAbsolute,
|
|
239
|
+
join,
|
|
240
|
+
normalize,
|
|
241
|
+
normalizeString,
|
|
242
|
+
parse,
|
|
243
|
+
relative,
|
|
244
|
+
resolve,
|
|
245
|
+
sep,
|
|
246
|
+
toNamespacedPath
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
// src/configurations/babel.ts
|
|
250
|
+
var import_getCacheIdentifier = __toESM(require_getCacheIdentifier(), 1);
|
|
251
|
+
var targets = "defaults";
|
|
252
|
+
var transformRuntimeOptions = {
|
|
253
|
+
// By default, babel assumes babel/runtime version 7.0.0-beta.0,
|
|
254
|
+
// explicitly resolving to match the provided helper functions.
|
|
255
|
+
// https://github.com/babel/babel/issues/10261
|
|
256
|
+
version: babelRuntimeVersion,
|
|
257
|
+
// Undocumented option that lets us encapsulate our runtime, ensuring
|
|
258
|
+
// the correct version is used
|
|
259
|
+
// https://github.com/babel/babel/blob/090c364a90fe73d36a30707fc612ce037bdbbb24/packages/babel-plugin-transform-runtime/src/index.js#L35-L42
|
|
260
|
+
absoluteRuntime: path.dirname(__require.resolve("@babel/runtime/package.json"))
|
|
261
|
+
};
|
|
262
|
+
function createConfigForReact() {
|
|
263
|
+
const env = process.env.NODE_ENV || "development";
|
|
264
|
+
const isProduction = env === "production";
|
|
265
|
+
return {
|
|
266
|
+
babelrc: false,
|
|
267
|
+
cacheCompression: false,
|
|
268
|
+
cacheDirectory: true,
|
|
269
|
+
cacheIdentifier: (0, import_getCacheIdentifier.default)(env, [
|
|
270
|
+
"babel-plugin-named-asset-import",
|
|
271
|
+
"react-dev-utils"
|
|
272
|
+
]),
|
|
273
|
+
assumptions: {
|
|
274
|
+
privateFieldsAsProperties: true,
|
|
275
|
+
setPublicClassFields: true
|
|
276
|
+
},
|
|
277
|
+
compact: isProduction,
|
|
278
|
+
configFile: false,
|
|
279
|
+
sourceType: "unambiguous",
|
|
280
|
+
targets,
|
|
281
|
+
plugins: [
|
|
282
|
+
[
|
|
283
|
+
__require.resolve("@babel/plugin-transform-runtime"),
|
|
284
|
+
transformRuntimeOptions
|
|
285
|
+
],
|
|
286
|
+
[
|
|
287
|
+
__require.resolve("babel-plugin-named-asset-import"),
|
|
288
|
+
{
|
|
289
|
+
loaderMap: {
|
|
290
|
+
svg: {
|
|
291
|
+
ReactComponent: "@svgr/webpack?-svgo,+titleProp,+ref![path]"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
],
|
|
296
|
+
[
|
|
297
|
+
__require.resolve("babel-plugin-styled-components"),
|
|
298
|
+
{
|
|
299
|
+
minify: true,
|
|
300
|
+
ssr: false,
|
|
301
|
+
displayName: true,
|
|
302
|
+
fileName: false,
|
|
303
|
+
transpileTemplateLiterals: true,
|
|
304
|
+
pure: false
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
],
|
|
308
|
+
presets: [
|
|
309
|
+
[
|
|
310
|
+
__require.resolve("@babel/preset-env"),
|
|
311
|
+
{
|
|
312
|
+
useBuiltIns: "usage",
|
|
313
|
+
corejs: corejsVersion
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
[
|
|
317
|
+
__require.resolve("@babel/preset-react"),
|
|
318
|
+
{
|
|
319
|
+
useBuiltIns: true
|
|
320
|
+
}
|
|
321
|
+
],
|
|
322
|
+
__require.resolve("@babel/preset-typescript")
|
|
323
|
+
]
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// src/configurations/previewHead.ts
|
|
328
|
+
var defaultValues = {
|
|
329
|
+
includeBoxSizing: true
|
|
330
|
+
};
|
|
331
|
+
function previewHead_default(head, _options, parameters) {
|
|
332
|
+
const { includeBoxSizing = true } = {
|
|
333
|
+
...defaultValues,
|
|
334
|
+
...parameters
|
|
335
|
+
};
|
|
336
|
+
return `
|
|
337
|
+
${head}
|
|
338
|
+
<meta charset="UTF-8" />
|
|
339
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
340
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap">
|
|
341
|
+
|
|
342
|
+
<style>
|
|
343
|
+
${includeBoxSizing ? `
|
|
344
|
+
*,
|
|
345
|
+
*:before,
|
|
346
|
+
*:after {
|
|
347
|
+
-webkit-box-sizing: inherit;
|
|
348
|
+
-moz-box-sizing: inherit;
|
|
349
|
+
box-sizing: inherit;
|
|
350
|
+
}
|
|
351
|
+
html {
|
|
352
|
+
-webkit-box-sizing: border-box;
|
|
353
|
+
-moz-box-sizing: border-box;
|
|
354
|
+
box-sizing: border-box;
|
|
355
|
+
}
|
|
356
|
+
` : ""}
|
|
357
|
+
html {
|
|
358
|
+
font-family: Inter, sans-serif;
|
|
359
|
+
}
|
|
360
|
+
body {
|
|
361
|
+
width: 100%;
|
|
362
|
+
}
|
|
363
|
+
</style>
|
|
364
|
+
`;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// src/utils/index.ts
|
|
368
|
+
function requireIfExists(moduleName) {
|
|
369
|
+
try {
|
|
370
|
+
return __require(moduleName);
|
|
371
|
+
} catch (e) {
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// src/preset.ts
|
|
377
|
+
var findBabelConfig = __require("find-babel-config");
|
|
378
|
+
var addons = () => {
|
|
379
|
+
const sassImplementation = requireIfExists("sass");
|
|
380
|
+
return [
|
|
381
|
+
{
|
|
382
|
+
name: "@storybook/addon-styling",
|
|
383
|
+
options: {
|
|
384
|
+
...sassImplementation ? {
|
|
385
|
+
sass: {
|
|
386
|
+
implementation: sassImplementation
|
|
387
|
+
}
|
|
388
|
+
} : {},
|
|
389
|
+
cssModules: { localIdentName: "[name]__[local]--[hash:base64:5]" }
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"@storybook/addon-essentials",
|
|
393
|
+
"@storybook/addon-storysource",
|
|
394
|
+
"@storybook/addon-a11y"
|
|
395
|
+
];
|
|
396
|
+
};
|
|
397
|
+
function babelDefault(config) {
|
|
398
|
+
const cwd2 = process.cwd();
|
|
399
|
+
const { file } = findBabelConfig.sync(cwd2, 1);
|
|
400
|
+
if (file) {
|
|
401
|
+
return config;
|
|
402
|
+
}
|
|
403
|
+
console.log(
|
|
404
|
+
"Could not find babel config file, using babel config from @procore/storybook-addon"
|
|
405
|
+
);
|
|
406
|
+
return createConfigForReact();
|
|
407
|
+
}
|
|
408
|
+
var typescript = {
|
|
409
|
+
checkOptions: {
|
|
410
|
+
check: true,
|
|
411
|
+
exclude: /node_modules/
|
|
412
|
+
},
|
|
413
|
+
reactDocgen: false
|
|
414
|
+
};
|
|
415
|
+
export {
|
|
416
|
+
addons,
|
|
417
|
+
babelDefault,
|
|
418
|
+
previewHead_default as previewHead,
|
|
419
|
+
typescript
|
|
420
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@procore/storybook-addon",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.1",
|
|
4
4
|
"description": "Procore Storybook Configuration",
|
|
5
5
|
"author": "Procore Technologies",
|
|
6
6
|
"homepage": "https://github.com/procore/frontend-tooling#readme",
|
|
@@ -18,33 +18,43 @@
|
|
|
18
18
|
"publishConfig": {
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
|
+
"type": "module",
|
|
22
|
+
"types": "dist/legacy/index.d.ts",
|
|
23
|
+
"main": "dist/legacy/index.cjs",
|
|
24
|
+
"module": "dist/legacy/index.js",
|
|
21
25
|
"exports": {
|
|
22
26
|
".": {
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
"import": {
|
|
28
|
+
"types": "./dist/modern/index.d.ts",
|
|
29
|
+
"default": "./dist/modern/index.js"
|
|
30
|
+
},
|
|
31
|
+
"require": {
|
|
32
|
+
"types": "./dist/modern/index.d.cts",
|
|
33
|
+
"default": "./dist/modern/index.cjs"
|
|
34
|
+
}
|
|
26
35
|
},
|
|
27
36
|
"./preset": {
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
"import": {
|
|
38
|
+
"types": "./dist/modern/preset.d.ts",
|
|
39
|
+
"default": "./dist/modern/preset.js"
|
|
40
|
+
},
|
|
41
|
+
"require": {
|
|
42
|
+
"types": "./dist/modern/preset.d.cts",
|
|
43
|
+
"default": "./dist/modern/preset.cjs"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"./package.json": "./package.json"
|
|
32
47
|
},
|
|
33
|
-
"
|
|
34
|
-
"module": "dist/index.mjs",
|
|
35
|
-
"types": "dist/index.d.ts",
|
|
48
|
+
"sideEffects": false,
|
|
36
49
|
"files": [
|
|
37
|
-
"dist"
|
|
38
|
-
"LICENSE",
|
|
39
|
-
"README.md",
|
|
40
|
-
"*.js",
|
|
41
|
-
"*.d.ts"
|
|
50
|
+
"dist"
|
|
42
51
|
],
|
|
43
52
|
"scripts": {
|
|
44
|
-
"build": "
|
|
53
|
+
"build": "hammer lib:build",
|
|
45
54
|
"format": "prettier --ignore-unknown --write .",
|
|
46
55
|
"format:check": "prettier --cache --ignore-unknown --check .",
|
|
47
|
-
"
|
|
56
|
+
"lint": "eslint .",
|
|
57
|
+
"prepack": "hammer lib:build",
|
|
48
58
|
"test": "vitest run --coverage"
|
|
49
59
|
},
|
|
50
60
|
"peerDependencies": {
|
|
@@ -60,7 +70,7 @@
|
|
|
60
70
|
"@babel/preset-env": "^7.23.3",
|
|
61
71
|
"@babel/preset-react": "^7.23.3",
|
|
62
72
|
"@babel/preset-typescript": "^7.23.3",
|
|
63
|
-
"@babel/runtime": "^7.
|
|
73
|
+
"@babel/runtime": "^7.26.10",
|
|
64
74
|
"@storybook/addon-a11y": "^7.5.3",
|
|
65
75
|
"@storybook/addon-essentials": "^7.5.3",
|
|
66
76
|
"@storybook/addon-storysource": "^7.5.3",
|
|
@@ -74,22 +84,22 @@
|
|
|
74
84
|
},
|
|
75
85
|
"devDependencies": {
|
|
76
86
|
"@babel/core": "^7.23.3",
|
|
77
|
-
"@procore/
|
|
78
|
-
"@procore/
|
|
79
|
-
"@procore/
|
|
87
|
+
"@procore/eslint-config": "^15.2.1",
|
|
88
|
+
"@procore/hammer": "^0.10.0",
|
|
89
|
+
"@procore/hammer-lib-tsup": "^0.5.1",
|
|
90
|
+
"@procore/prettier-config": "^1.1.1",
|
|
91
|
+
"@procore/typescript-config": "^2.0.0",
|
|
80
92
|
"@types/react": "^18.2.37",
|
|
81
93
|
"@types/react-dev-utils": "^9.0.14",
|
|
82
|
-
"@vitest/coverage-v8": "^
|
|
83
|
-
"eslint": "^8.
|
|
94
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
95
|
+
"eslint": "^8.57.0",
|
|
84
96
|
"pathe": "^1.1.2",
|
|
85
97
|
"prettier": "^2.8.8",
|
|
86
98
|
"react": "^18.2.0",
|
|
87
99
|
"react-dev-utils": "^12.0.1",
|
|
88
100
|
"react-dom": "^18.2.0",
|
|
89
101
|
"rimraf": "^3.0.2",
|
|
90
|
-
"typescript": "^
|
|
91
|
-
"
|
|
92
|
-
"vite-plugin-dts": "^3.6.3",
|
|
93
|
-
"vitest": "^0.34.6"
|
|
102
|
+
"typescript": "^5.5.2",
|
|
103
|
+
"vitest": "^2.1.9"
|
|
94
104
|
}
|
|
95
105
|
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
var jumpToCode = (function init() {
|
|
3
|
-
// Classes of code we would like to highlight in the file view
|
|
4
|
-
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
-
|
|
6
|
-
// Elements to highlight in the file listing view
|
|
7
|
-
var fileListingElements = ['td.pct.low'];
|
|
8
|
-
|
|
9
|
-
// We don't want to select elements that are direct descendants of another match
|
|
10
|
-
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
-
|
|
12
|
-
// Selecter that finds elements on the page to which we can jump
|
|
13
|
-
var selector =
|
|
14
|
-
fileListingElements.join(', ') +
|
|
15
|
-
', ' +
|
|
16
|
-
notSelector +
|
|
17
|
-
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
-
|
|
19
|
-
// The NodeList of matching elements
|
|
20
|
-
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
-
|
|
22
|
-
var currentIndex;
|
|
23
|
-
|
|
24
|
-
function toggleClass(index) {
|
|
25
|
-
missingCoverageElements
|
|
26
|
-
.item(currentIndex)
|
|
27
|
-
.classList.remove('highlighted');
|
|
28
|
-
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function makeCurrent(index) {
|
|
32
|
-
toggleClass(index);
|
|
33
|
-
currentIndex = index;
|
|
34
|
-
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
-
behavior: 'smooth',
|
|
36
|
-
block: 'center',
|
|
37
|
-
inline: 'center'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function goToPrevious() {
|
|
42
|
-
var nextIndex = 0;
|
|
43
|
-
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
-
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
-
} else if (missingCoverageElements.length > 1) {
|
|
46
|
-
nextIndex = currentIndex - 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
makeCurrent(nextIndex);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function goToNext() {
|
|
53
|
-
var nextIndex = 0;
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
typeof currentIndex === 'number' &&
|
|
57
|
-
currentIndex < missingCoverageElements.length - 1
|
|
58
|
-
) {
|
|
59
|
-
nextIndex = currentIndex + 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
makeCurrent(nextIndex);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return function jump(event) {
|
|
66
|
-
if (
|
|
67
|
-
document.getElementById('fileSearch') === document.activeElement &&
|
|
68
|
-
document.activeElement != null
|
|
69
|
-
) {
|
|
70
|
-
// if we're currently focused on the search input, we don't want to navigate
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
switch (event.which) {
|
|
75
|
-
case 78: // n
|
|
76
|
-
case 74: // j
|
|
77
|
-
goToNext();
|
|
78
|
-
break;
|
|
79
|
-
case 66: // b
|
|
80
|
-
case 75: // k
|
|
81
|
-
case 80: // p
|
|
82
|
-
goToPrevious();
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
})();
|
|
87
|
-
window.addEventListener('keydown', jumpToCode);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
|