@jsonresume/jsonresume-theme-professional 1.0.22 → 1.0.23
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 +6 -0
- package/dist/index.js +2945 -0
- package/dist/index.mjs +1266 -180
- package/package.json +9 -6
- package/vite.config.js +6 -1
package/dist/index.js
ADDED
|
@@ -0,0 +1,2945 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const server = require("react-dom/server");
|
|
5
|
+
const o = require("react");
|
|
6
|
+
const fa = require("react-icons/fa");
|
|
7
|
+
var __assign = function() {
|
|
8
|
+
__assign = Object.assign || function __assign2(t) {
|
|
9
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
10
|
+
s = arguments[i];
|
|
11
|
+
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2)) t[p2] = s[p2];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
function __spreadArray(to, from2, pack) {
|
|
18
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from2.length, ar; i < l; i++) {
|
|
19
|
+
if (ar || !(i in from2)) {
|
|
20
|
+
if (!ar) ar = Array.prototype.slice.call(from2, 0, i);
|
|
21
|
+
ar[i] = from2[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from2));
|
|
25
|
+
}
|
|
26
|
+
typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
|
|
27
|
+
var e = new Error(message);
|
|
28
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
29
|
+
};
|
|
30
|
+
function memoize(fn) {
|
|
31
|
+
var cache = /* @__PURE__ */ Object.create(null);
|
|
32
|
+
return function(arg) {
|
|
33
|
+
if (cache[arg] === void 0) cache[arg] = fn(arg);
|
|
34
|
+
return cache[arg];
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
|
|
38
|
+
var isPropValid = /* @__PURE__ */ memoize(
|
|
39
|
+
function(prop) {
|
|
40
|
+
return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
|
|
41
|
+
}
|
|
42
|
+
/* Z+1 */
|
|
43
|
+
);
|
|
44
|
+
function getDefaultExportFromCjs(x2) {
|
|
45
|
+
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
|
46
|
+
}
|
|
47
|
+
var shallowequal;
|
|
48
|
+
var hasRequiredShallowequal;
|
|
49
|
+
function requireShallowequal() {
|
|
50
|
+
if (hasRequiredShallowequal) return shallowequal;
|
|
51
|
+
hasRequiredShallowequal = 1;
|
|
52
|
+
shallowequal = function shallowEqual(objA, objB, compare, compareContext) {
|
|
53
|
+
var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
|
|
54
|
+
if (ret !== void 0) {
|
|
55
|
+
return !!ret;
|
|
56
|
+
}
|
|
57
|
+
if (objA === objB) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
var keysA = Object.keys(objA);
|
|
64
|
+
var keysB = Object.keys(objB);
|
|
65
|
+
if (keysA.length !== keysB.length) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
|
|
69
|
+
for (var idx = 0; idx < keysA.length; idx++) {
|
|
70
|
+
var key = keysA[idx];
|
|
71
|
+
if (!bHasOwnProperty(key)) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
var valueA = objA[key];
|
|
75
|
+
var valueB = objB[key];
|
|
76
|
+
ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
|
|
77
|
+
if (ret === false || ret === void 0 && valueA !== valueB) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
};
|
|
83
|
+
return shallowequal;
|
|
84
|
+
}
|
|
85
|
+
var shallowequalExports = requireShallowequal();
|
|
86
|
+
const p = /* @__PURE__ */ getDefaultExportFromCjs(shallowequalExports);
|
|
87
|
+
var MS = "-ms-";
|
|
88
|
+
var MOZ = "-moz-";
|
|
89
|
+
var WEBKIT = "-webkit-";
|
|
90
|
+
var COMMENT = "comm";
|
|
91
|
+
var RULESET = "rule";
|
|
92
|
+
var DECLARATION = "decl";
|
|
93
|
+
var IMPORT = "@import";
|
|
94
|
+
var KEYFRAMES = "@keyframes";
|
|
95
|
+
var LAYER = "@layer";
|
|
96
|
+
var abs = Math.abs;
|
|
97
|
+
var from = String.fromCharCode;
|
|
98
|
+
var assign = Object.assign;
|
|
99
|
+
function hash(value, length2) {
|
|
100
|
+
return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
|
|
101
|
+
}
|
|
102
|
+
function trim(value) {
|
|
103
|
+
return value.trim();
|
|
104
|
+
}
|
|
105
|
+
function match(value, pattern) {
|
|
106
|
+
return (value = pattern.exec(value)) ? value[0] : value;
|
|
107
|
+
}
|
|
108
|
+
function replace(value, pattern, replacement) {
|
|
109
|
+
return value.replace(pattern, replacement);
|
|
110
|
+
}
|
|
111
|
+
function indexof(value, search, position2) {
|
|
112
|
+
return value.indexOf(search, position2);
|
|
113
|
+
}
|
|
114
|
+
function charat(value, index) {
|
|
115
|
+
return value.charCodeAt(index) | 0;
|
|
116
|
+
}
|
|
117
|
+
function substr(value, begin, end) {
|
|
118
|
+
return value.slice(begin, end);
|
|
119
|
+
}
|
|
120
|
+
function strlen(value) {
|
|
121
|
+
return value.length;
|
|
122
|
+
}
|
|
123
|
+
function sizeof(value) {
|
|
124
|
+
return value.length;
|
|
125
|
+
}
|
|
126
|
+
function append(value, array) {
|
|
127
|
+
return array.push(value), value;
|
|
128
|
+
}
|
|
129
|
+
function combine(array, callback) {
|
|
130
|
+
return array.map(callback).join("");
|
|
131
|
+
}
|
|
132
|
+
function filter(array, pattern) {
|
|
133
|
+
return array.filter(function(value) {
|
|
134
|
+
return !match(value, pattern);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
var line = 1;
|
|
138
|
+
var column = 1;
|
|
139
|
+
var length = 0;
|
|
140
|
+
var position = 0;
|
|
141
|
+
var character = 0;
|
|
142
|
+
var characters = "";
|
|
143
|
+
function node(value, root, parent, type, props, children, length2, siblings) {
|
|
144
|
+
return { value, root, parent, type, props, children, line, column, length: length2, return: "", siblings };
|
|
145
|
+
}
|
|
146
|
+
function copy(root, props) {
|
|
147
|
+
return assign(node("", null, null, "", null, null, 0, root.siblings), root, { length: -root.length }, props);
|
|
148
|
+
}
|
|
149
|
+
function lift(root) {
|
|
150
|
+
while (root.root)
|
|
151
|
+
root = copy(root.root, { children: [root] });
|
|
152
|
+
append(root, root.siblings);
|
|
153
|
+
}
|
|
154
|
+
function char() {
|
|
155
|
+
return character;
|
|
156
|
+
}
|
|
157
|
+
function prev() {
|
|
158
|
+
character = position > 0 ? charat(characters, --position) : 0;
|
|
159
|
+
if (column--, character === 10)
|
|
160
|
+
column = 1, line--;
|
|
161
|
+
return character;
|
|
162
|
+
}
|
|
163
|
+
function next() {
|
|
164
|
+
character = position < length ? charat(characters, position++) : 0;
|
|
165
|
+
if (column++, character === 10)
|
|
166
|
+
column = 1, line++;
|
|
167
|
+
return character;
|
|
168
|
+
}
|
|
169
|
+
function peek() {
|
|
170
|
+
return charat(characters, position);
|
|
171
|
+
}
|
|
172
|
+
function caret() {
|
|
173
|
+
return position;
|
|
174
|
+
}
|
|
175
|
+
function slice(begin, end) {
|
|
176
|
+
return substr(characters, begin, end);
|
|
177
|
+
}
|
|
178
|
+
function token(type) {
|
|
179
|
+
switch (type) {
|
|
180
|
+
// \0 \t \n \r \s whitespace token
|
|
181
|
+
case 0:
|
|
182
|
+
case 9:
|
|
183
|
+
case 10:
|
|
184
|
+
case 13:
|
|
185
|
+
case 32:
|
|
186
|
+
return 5;
|
|
187
|
+
// ! + , / > @ ~ isolate token
|
|
188
|
+
case 33:
|
|
189
|
+
case 43:
|
|
190
|
+
case 44:
|
|
191
|
+
case 47:
|
|
192
|
+
case 62:
|
|
193
|
+
case 64:
|
|
194
|
+
case 126:
|
|
195
|
+
// ; { } breakpoint token
|
|
196
|
+
case 59:
|
|
197
|
+
case 123:
|
|
198
|
+
case 125:
|
|
199
|
+
return 4;
|
|
200
|
+
// : accompanied token
|
|
201
|
+
case 58:
|
|
202
|
+
return 3;
|
|
203
|
+
// " ' ( [ opening delimit token
|
|
204
|
+
case 34:
|
|
205
|
+
case 39:
|
|
206
|
+
case 40:
|
|
207
|
+
case 91:
|
|
208
|
+
return 2;
|
|
209
|
+
// ) ] closing delimit token
|
|
210
|
+
case 41:
|
|
211
|
+
case 93:
|
|
212
|
+
return 1;
|
|
213
|
+
}
|
|
214
|
+
return 0;
|
|
215
|
+
}
|
|
216
|
+
function alloc(value) {
|
|
217
|
+
return line = column = 1, length = strlen(characters = value), position = 0, [];
|
|
218
|
+
}
|
|
219
|
+
function dealloc(value) {
|
|
220
|
+
return characters = "", value;
|
|
221
|
+
}
|
|
222
|
+
function delimit(type) {
|
|
223
|
+
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
|
|
224
|
+
}
|
|
225
|
+
function whitespace(type) {
|
|
226
|
+
while (character = peek())
|
|
227
|
+
if (character < 33)
|
|
228
|
+
next();
|
|
229
|
+
else
|
|
230
|
+
break;
|
|
231
|
+
return token(type) > 2 || token(character) > 3 ? "" : " ";
|
|
232
|
+
}
|
|
233
|
+
function escaping(index, count) {
|
|
234
|
+
while (--count && next())
|
|
235
|
+
if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
|
|
236
|
+
break;
|
|
237
|
+
return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
|
|
238
|
+
}
|
|
239
|
+
function delimiter(type) {
|
|
240
|
+
while (next())
|
|
241
|
+
switch (character) {
|
|
242
|
+
// ] ) " '
|
|
243
|
+
case type:
|
|
244
|
+
return position;
|
|
245
|
+
// " '
|
|
246
|
+
case 34:
|
|
247
|
+
case 39:
|
|
248
|
+
if (type !== 34 && type !== 39)
|
|
249
|
+
delimiter(character);
|
|
250
|
+
break;
|
|
251
|
+
// (
|
|
252
|
+
case 40:
|
|
253
|
+
if (type === 41)
|
|
254
|
+
delimiter(type);
|
|
255
|
+
break;
|
|
256
|
+
// \
|
|
257
|
+
case 92:
|
|
258
|
+
next();
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
return position;
|
|
262
|
+
}
|
|
263
|
+
function commenter(type, index) {
|
|
264
|
+
while (next())
|
|
265
|
+
if (type + character === 47 + 10)
|
|
266
|
+
break;
|
|
267
|
+
else if (type + character === 42 + 42 && peek() === 47)
|
|
268
|
+
break;
|
|
269
|
+
return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
|
|
270
|
+
}
|
|
271
|
+
function identifier(index) {
|
|
272
|
+
while (!token(peek()))
|
|
273
|
+
next();
|
|
274
|
+
return slice(index, position);
|
|
275
|
+
}
|
|
276
|
+
function compile(value) {
|
|
277
|
+
return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
|
|
278
|
+
}
|
|
279
|
+
function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
|
|
280
|
+
var index = 0;
|
|
281
|
+
var offset = 0;
|
|
282
|
+
var length2 = pseudo;
|
|
283
|
+
var atrule = 0;
|
|
284
|
+
var property = 0;
|
|
285
|
+
var previous = 0;
|
|
286
|
+
var variable = 1;
|
|
287
|
+
var scanning = 1;
|
|
288
|
+
var ampersand = 1;
|
|
289
|
+
var character2 = 0;
|
|
290
|
+
var type = "";
|
|
291
|
+
var props = rules;
|
|
292
|
+
var children = rulesets;
|
|
293
|
+
var reference = rule;
|
|
294
|
+
var characters2 = type;
|
|
295
|
+
while (scanning)
|
|
296
|
+
switch (previous = character2, character2 = next()) {
|
|
297
|
+
// (
|
|
298
|
+
case 40:
|
|
299
|
+
if (previous != 108 && charat(characters2, length2 - 1) == 58) {
|
|
300
|
+
if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1)
|
|
301
|
+
ampersand = -1;
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
// " ' [
|
|
305
|
+
case 34:
|
|
306
|
+
case 39:
|
|
307
|
+
case 91:
|
|
308
|
+
characters2 += delimit(character2);
|
|
309
|
+
break;
|
|
310
|
+
// \t \n \r \s
|
|
311
|
+
case 9:
|
|
312
|
+
case 10:
|
|
313
|
+
case 13:
|
|
314
|
+
case 32:
|
|
315
|
+
characters2 += whitespace(previous);
|
|
316
|
+
break;
|
|
317
|
+
// \
|
|
318
|
+
case 92:
|
|
319
|
+
characters2 += escaping(caret() - 1, 7);
|
|
320
|
+
continue;
|
|
321
|
+
// /
|
|
322
|
+
case 47:
|
|
323
|
+
switch (peek()) {
|
|
324
|
+
case 42:
|
|
325
|
+
case 47:
|
|
326
|
+
append(comment(commenter(next(), caret()), root, parent, declarations), declarations);
|
|
327
|
+
break;
|
|
328
|
+
default:
|
|
329
|
+
characters2 += "/";
|
|
330
|
+
}
|
|
331
|
+
break;
|
|
332
|
+
// {
|
|
333
|
+
case 123 * variable:
|
|
334
|
+
points[index++] = strlen(characters2) * ampersand;
|
|
335
|
+
// } ; \0
|
|
336
|
+
case 125 * variable:
|
|
337
|
+
case 59:
|
|
338
|
+
case 0:
|
|
339
|
+
switch (character2) {
|
|
340
|
+
// \0 }
|
|
341
|
+
case 0:
|
|
342
|
+
case 125:
|
|
343
|
+
scanning = 0;
|
|
344
|
+
// ;
|
|
345
|
+
case 59 + offset:
|
|
346
|
+
if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
|
|
347
|
+
if (property > 0 && strlen(characters2) - length2)
|
|
348
|
+
append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations);
|
|
349
|
+
break;
|
|
350
|
+
// @ ;
|
|
351
|
+
case 59:
|
|
352
|
+
characters2 += ";";
|
|
353
|
+
// { rule/at-rule
|
|
354
|
+
default:
|
|
355
|
+
append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets);
|
|
356
|
+
if (character2 === 123)
|
|
357
|
+
if (offset === 0)
|
|
358
|
+
parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
|
|
359
|
+
else
|
|
360
|
+
switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
|
|
361
|
+
// d l m s
|
|
362
|
+
case 100:
|
|
363
|
+
case 108:
|
|
364
|
+
case 109:
|
|
365
|
+
case 115:
|
|
366
|
+
parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2, children), children), rules, children, length2, points, rule ? props : children);
|
|
367
|
+
break;
|
|
368
|
+
default:
|
|
369
|
+
parse(characters2, reference, reference, reference, [""], children, 0, points, children);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
|
|
373
|
+
break;
|
|
374
|
+
// :
|
|
375
|
+
case 58:
|
|
376
|
+
length2 = 1 + strlen(characters2), property = previous;
|
|
377
|
+
default:
|
|
378
|
+
if (variable < 1) {
|
|
379
|
+
if (character2 == 123)
|
|
380
|
+
--variable;
|
|
381
|
+
else if (character2 == 125 && variable++ == 0 && prev() == 125)
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
switch (characters2 += from(character2), character2 * variable) {
|
|
385
|
+
// &
|
|
386
|
+
case 38:
|
|
387
|
+
ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
|
|
388
|
+
break;
|
|
389
|
+
// ,
|
|
390
|
+
case 44:
|
|
391
|
+
points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
|
|
392
|
+
break;
|
|
393
|
+
// @
|
|
394
|
+
case 64:
|
|
395
|
+
if (peek() === 45)
|
|
396
|
+
characters2 += delimit(next());
|
|
397
|
+
atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
|
|
398
|
+
break;
|
|
399
|
+
// -
|
|
400
|
+
case 45:
|
|
401
|
+
if (previous === 45 && strlen(characters2) == 2)
|
|
402
|
+
variable = 0;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
return rulesets;
|
|
406
|
+
}
|
|
407
|
+
function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2, siblings) {
|
|
408
|
+
var post = offset - 1;
|
|
409
|
+
var rule = offset === 0 ? rules : [""];
|
|
410
|
+
var size = sizeof(rule);
|
|
411
|
+
for (var i = 0, j2 = 0, k2 = 0; i < index; ++i)
|
|
412
|
+
for (var x2 = 0, y2 = substr(value, post + 1, post = abs(j2 = points[i])), z2 = value; x2 < size; ++x2)
|
|
413
|
+
if (z2 = trim(j2 > 0 ? rule[x2] + " " + y2 : replace(y2, /&\f/g, rule[x2])))
|
|
414
|
+
props[k2++] = z2;
|
|
415
|
+
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2, siblings);
|
|
416
|
+
}
|
|
417
|
+
function comment(value, root, parent, siblings) {
|
|
418
|
+
return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings);
|
|
419
|
+
}
|
|
420
|
+
function declaration(value, root, parent, length2, siblings) {
|
|
421
|
+
return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings);
|
|
422
|
+
}
|
|
423
|
+
function prefix(value, length2, children) {
|
|
424
|
+
switch (hash(value, length2)) {
|
|
425
|
+
// color-adjust
|
|
426
|
+
case 5103:
|
|
427
|
+
return WEBKIT + "print-" + value + value;
|
|
428
|
+
// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
|
|
429
|
+
case 5737:
|
|
430
|
+
case 4201:
|
|
431
|
+
case 3177:
|
|
432
|
+
case 3433:
|
|
433
|
+
case 1641:
|
|
434
|
+
case 4457:
|
|
435
|
+
case 2921:
|
|
436
|
+
// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
|
|
437
|
+
case 5572:
|
|
438
|
+
case 6356:
|
|
439
|
+
case 5844:
|
|
440
|
+
case 3191:
|
|
441
|
+
case 6645:
|
|
442
|
+
case 3005:
|
|
443
|
+
// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
|
|
444
|
+
case 6391:
|
|
445
|
+
case 5879:
|
|
446
|
+
case 5623:
|
|
447
|
+
case 6135:
|
|
448
|
+
case 4599:
|
|
449
|
+
case 4855:
|
|
450
|
+
// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
|
|
451
|
+
case 4215:
|
|
452
|
+
case 6389:
|
|
453
|
+
case 5109:
|
|
454
|
+
case 5365:
|
|
455
|
+
case 5621:
|
|
456
|
+
case 3829:
|
|
457
|
+
return WEBKIT + value + value;
|
|
458
|
+
// tab-size
|
|
459
|
+
case 4789:
|
|
460
|
+
return MOZ + value + value;
|
|
461
|
+
// appearance, user-select, transform, hyphens, text-size-adjust
|
|
462
|
+
case 5349:
|
|
463
|
+
case 4246:
|
|
464
|
+
case 4810:
|
|
465
|
+
case 6968:
|
|
466
|
+
case 2756:
|
|
467
|
+
return WEBKIT + value + MOZ + value + MS + value + value;
|
|
468
|
+
// writing-mode
|
|
469
|
+
case 5936:
|
|
470
|
+
switch (charat(value, length2 + 11)) {
|
|
471
|
+
// vertical-l(r)
|
|
472
|
+
case 114:
|
|
473
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
|
|
474
|
+
// vertical-r(l)
|
|
475
|
+
case 108:
|
|
476
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
|
|
477
|
+
// horizontal(-)tb
|
|
478
|
+
case 45:
|
|
479
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
|
|
480
|
+
}
|
|
481
|
+
// flex, flex-direction, scroll-snap-type, writing-mode
|
|
482
|
+
case 6828:
|
|
483
|
+
case 4268:
|
|
484
|
+
case 2903:
|
|
485
|
+
return WEBKIT + value + MS + value + value;
|
|
486
|
+
// order
|
|
487
|
+
case 6165:
|
|
488
|
+
return WEBKIT + value + MS + "flex-" + value + value;
|
|
489
|
+
// align-items
|
|
490
|
+
case 5187:
|
|
491
|
+
return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
|
|
492
|
+
// align-self
|
|
493
|
+
case 5443:
|
|
494
|
+
return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/g, "") + (!match(value, /flex-|baseline/) ? MS + "grid-row-" + replace(value, /flex-|-self/g, "") : "") + value;
|
|
495
|
+
// align-content
|
|
496
|
+
case 4675:
|
|
497
|
+
return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/g, "") + value;
|
|
498
|
+
// flex-shrink
|
|
499
|
+
case 5548:
|
|
500
|
+
return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
|
|
501
|
+
// flex-basis
|
|
502
|
+
case 5292:
|
|
503
|
+
return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
|
|
504
|
+
// flex-grow
|
|
505
|
+
case 6060:
|
|
506
|
+
return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
|
|
507
|
+
// transition
|
|
508
|
+
case 4554:
|
|
509
|
+
return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
|
|
510
|
+
// cursor
|
|
511
|
+
case 6187:
|
|
512
|
+
return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
|
|
513
|
+
// background, background-image
|
|
514
|
+
case 5495:
|
|
515
|
+
case 3959:
|
|
516
|
+
return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
|
|
517
|
+
// justify-content
|
|
518
|
+
case 4968:
|
|
519
|
+
return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
|
|
520
|
+
// justify-self
|
|
521
|
+
case 4200:
|
|
522
|
+
if (!match(value, /flex-|baseline/)) return MS + "grid-column-align" + substr(value, length2) + value;
|
|
523
|
+
break;
|
|
524
|
+
// grid-template-(columns|rows)
|
|
525
|
+
case 2592:
|
|
526
|
+
case 3360:
|
|
527
|
+
return MS + replace(value, "template-", "") + value;
|
|
528
|
+
// grid-(row|column)-start
|
|
529
|
+
case 4384:
|
|
530
|
+
case 3616:
|
|
531
|
+
if (children && children.some(function(element, index) {
|
|
532
|
+
return length2 = index, match(element.props, /grid-\w+-end/);
|
|
533
|
+
})) {
|
|
534
|
+
return ~indexof(value + (children = children[length2].value), "span", 0) ? value : MS + replace(value, "-start", "") + value + MS + "grid-row-span:" + (~indexof(children, "span", 0) ? match(children, /\d+/) : +match(children, /\d+/) - +match(value, /\d+/)) + ";";
|
|
535
|
+
}
|
|
536
|
+
return MS + replace(value, "-start", "") + value;
|
|
537
|
+
// grid-(row|column)-end
|
|
538
|
+
case 4896:
|
|
539
|
+
case 4128:
|
|
540
|
+
return children && children.some(function(element) {
|
|
541
|
+
return match(element.props, /grid-\w+-start/);
|
|
542
|
+
}) ? value : MS + replace(replace(value, "-end", "-span"), "span ", "") + value;
|
|
543
|
+
// (margin|padding)-inline-(start|end)
|
|
544
|
+
case 4095:
|
|
545
|
+
case 3583:
|
|
546
|
+
case 4068:
|
|
547
|
+
case 2532:
|
|
548
|
+
return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
|
|
549
|
+
// (min|max)?(width|height|inline-size|block-size)
|
|
550
|
+
case 8116:
|
|
551
|
+
case 7059:
|
|
552
|
+
case 5753:
|
|
553
|
+
case 5535:
|
|
554
|
+
case 5445:
|
|
555
|
+
case 5701:
|
|
556
|
+
case 4933:
|
|
557
|
+
case 4677:
|
|
558
|
+
case 5533:
|
|
559
|
+
case 5789:
|
|
560
|
+
case 5021:
|
|
561
|
+
case 4765:
|
|
562
|
+
if (strlen(value) - 1 - length2 > 6)
|
|
563
|
+
switch (charat(value, length2 + 1)) {
|
|
564
|
+
// (m)ax-content, (m)in-content
|
|
565
|
+
case 109:
|
|
566
|
+
if (charat(value, length2 + 4) !== 45)
|
|
567
|
+
break;
|
|
568
|
+
// (f)ill-available, (f)it-content
|
|
569
|
+
case 102:
|
|
570
|
+
return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
|
|
571
|
+
// (s)tretch
|
|
572
|
+
case 115:
|
|
573
|
+
return ~indexof(value, "stretch", 0) ? prefix(replace(value, "stretch", "fill-available"), length2, children) + value : value;
|
|
574
|
+
}
|
|
575
|
+
break;
|
|
576
|
+
// grid-(column|row)
|
|
577
|
+
case 5152:
|
|
578
|
+
case 5920:
|
|
579
|
+
return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(_2, a, b2, c, d, e, f2) {
|
|
580
|
+
return MS + a + ":" + b2 + f2 + (c ? MS + a + "-span:" + (d ? e : +e - +b2) + f2 : "") + value;
|
|
581
|
+
});
|
|
582
|
+
// position: sticky
|
|
583
|
+
case 4949:
|
|
584
|
+
if (charat(value, length2 + 6) === 121)
|
|
585
|
+
return replace(value, ":", ":" + WEBKIT) + value;
|
|
586
|
+
break;
|
|
587
|
+
// display: (flex|inline-flex|grid|inline-grid)
|
|
588
|
+
case 6444:
|
|
589
|
+
switch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {
|
|
590
|
+
// (inline-)?fle(x)
|
|
591
|
+
case 120:
|
|
592
|
+
return replace(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
|
|
593
|
+
// (inline-)?gri(d)
|
|
594
|
+
case 100:
|
|
595
|
+
return replace(value, ":", ":" + MS) + value;
|
|
596
|
+
}
|
|
597
|
+
break;
|
|
598
|
+
// scroll-margin, scroll-margin-(top|right|bottom|left)
|
|
599
|
+
case 5719:
|
|
600
|
+
case 2647:
|
|
601
|
+
case 2135:
|
|
602
|
+
case 3927:
|
|
603
|
+
case 2391:
|
|
604
|
+
return replace(value, "scroll-", "scroll-snap-") + value;
|
|
605
|
+
}
|
|
606
|
+
return value;
|
|
607
|
+
}
|
|
608
|
+
function serialize(children, callback) {
|
|
609
|
+
var output = "";
|
|
610
|
+
for (var i = 0; i < children.length; i++)
|
|
611
|
+
output += callback(children[i], i, children, callback) || "";
|
|
612
|
+
return output;
|
|
613
|
+
}
|
|
614
|
+
function stringify(element, index, children, callback) {
|
|
615
|
+
switch (element.type) {
|
|
616
|
+
case LAYER:
|
|
617
|
+
if (element.children.length) break;
|
|
618
|
+
case IMPORT:
|
|
619
|
+
case DECLARATION:
|
|
620
|
+
return element.return = element.return || element.value;
|
|
621
|
+
case COMMENT:
|
|
622
|
+
return "";
|
|
623
|
+
case KEYFRAMES:
|
|
624
|
+
return element.return = element.value + "{" + serialize(element.children, callback) + "}";
|
|
625
|
+
case RULESET:
|
|
626
|
+
if (!strlen(element.value = element.props.join(","))) return "";
|
|
627
|
+
}
|
|
628
|
+
return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
|
|
629
|
+
}
|
|
630
|
+
function middleware(collection) {
|
|
631
|
+
var length2 = sizeof(collection);
|
|
632
|
+
return function(element, index, children, callback) {
|
|
633
|
+
var output = "";
|
|
634
|
+
for (var i = 0; i < length2; i++)
|
|
635
|
+
output += collection[i](element, index, children, callback) || "";
|
|
636
|
+
return output;
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
function rulesheet(callback) {
|
|
640
|
+
return function(element) {
|
|
641
|
+
if (!element.root) {
|
|
642
|
+
if (element = element.return)
|
|
643
|
+
callback(element);
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
function prefixer(element, index, children, callback) {
|
|
648
|
+
if (element.length > -1) {
|
|
649
|
+
if (!element.return)
|
|
650
|
+
switch (element.type) {
|
|
651
|
+
case DECLARATION:
|
|
652
|
+
element.return = prefix(element.value, element.length, children);
|
|
653
|
+
return;
|
|
654
|
+
case KEYFRAMES:
|
|
655
|
+
return serialize([copy(element, { value: replace(element.value, "@", "@" + WEBKIT) })], callback);
|
|
656
|
+
case RULESET:
|
|
657
|
+
if (element.length)
|
|
658
|
+
return combine(children = element.props, function(value) {
|
|
659
|
+
switch (match(value, callback = /(::plac\w+|:read-\w+)/)) {
|
|
660
|
+
// :read-(only|write)
|
|
661
|
+
case ":read-only":
|
|
662
|
+
case ":read-write":
|
|
663
|
+
lift(copy(element, { props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] }));
|
|
664
|
+
lift(copy(element, { props: [value] }));
|
|
665
|
+
assign(element, { props: filter(children, callback) });
|
|
666
|
+
break;
|
|
667
|
+
// :placeholder
|
|
668
|
+
case "::placeholder":
|
|
669
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] }));
|
|
670
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] }));
|
|
671
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, MS + "input-$1")] }));
|
|
672
|
+
lift(copy(element, { props: [value] }));
|
|
673
|
+
assign(element, { props: filter(children, callback) });
|
|
674
|
+
break;
|
|
675
|
+
}
|
|
676
|
+
return "";
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
var unitlessKeys = {
|
|
682
|
+
animationIterationCount: 1,
|
|
683
|
+
aspectRatio: 1,
|
|
684
|
+
borderImageOutset: 1,
|
|
685
|
+
borderImageSlice: 1,
|
|
686
|
+
borderImageWidth: 1,
|
|
687
|
+
boxFlex: 1,
|
|
688
|
+
boxFlexGroup: 1,
|
|
689
|
+
boxOrdinalGroup: 1,
|
|
690
|
+
columnCount: 1,
|
|
691
|
+
columns: 1,
|
|
692
|
+
flex: 1,
|
|
693
|
+
flexGrow: 1,
|
|
694
|
+
flexPositive: 1,
|
|
695
|
+
flexShrink: 1,
|
|
696
|
+
flexNegative: 1,
|
|
697
|
+
flexOrder: 1,
|
|
698
|
+
gridRow: 1,
|
|
699
|
+
gridRowEnd: 1,
|
|
700
|
+
gridRowSpan: 1,
|
|
701
|
+
gridRowStart: 1,
|
|
702
|
+
gridColumn: 1,
|
|
703
|
+
gridColumnEnd: 1,
|
|
704
|
+
gridColumnSpan: 1,
|
|
705
|
+
gridColumnStart: 1,
|
|
706
|
+
msGridRow: 1,
|
|
707
|
+
msGridRowSpan: 1,
|
|
708
|
+
msGridColumn: 1,
|
|
709
|
+
msGridColumnSpan: 1,
|
|
710
|
+
fontWeight: 1,
|
|
711
|
+
lineHeight: 1,
|
|
712
|
+
opacity: 1,
|
|
713
|
+
order: 1,
|
|
714
|
+
orphans: 1,
|
|
715
|
+
tabSize: 1,
|
|
716
|
+
widows: 1,
|
|
717
|
+
zIndex: 1,
|
|
718
|
+
zoom: 1,
|
|
719
|
+
WebkitLineClamp: 1,
|
|
720
|
+
// SVG-related properties
|
|
721
|
+
fillOpacity: 1,
|
|
722
|
+
floodOpacity: 1,
|
|
723
|
+
stopOpacity: 1,
|
|
724
|
+
strokeDasharray: 1,
|
|
725
|
+
strokeDashoffset: 1,
|
|
726
|
+
strokeMiterlimit: 1,
|
|
727
|
+
strokeOpacity: 1,
|
|
728
|
+
strokeWidth: 1
|
|
729
|
+
};
|
|
730
|
+
var f = "undefined" != typeof process && void 0 !== process.env && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || "data-styled", m$1 = "active", y$1 = "data-styled-version", v$1 = "6.1.19", g = "/*!sc*/\n", S$1 = "undefined" != typeof window && "undefined" != typeof document, w$1 = Boolean("boolean" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && "" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? "false" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.SC_DISABLE_SPEEDY && "" !== process.env.SC_DISABLE_SPEEDY ? "false" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : "production" !== process.env.NODE_ENV), E$1 = /invalid hook call/i, N$1 = /* @__PURE__ */ new Set(), P$1 = function(t, n) {
|
|
731
|
+
if ("production" !== process.env.NODE_ENV) {
|
|
732
|
+
var o$1 = n ? ' with the id of "'.concat(n, '"') : "", s = "The component ".concat(t).concat(o$1, " has been created dynamically.\n") + "You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\n", i = console.error;
|
|
733
|
+
try {
|
|
734
|
+
var a = true;
|
|
735
|
+
console.error = function(t2) {
|
|
736
|
+
for (var n2 = [], o2 = 1; o2 < arguments.length; o2++) n2[o2 - 1] = arguments[o2];
|
|
737
|
+
E$1.test(t2) ? (a = false, N$1.delete(s)) : i.apply(void 0, __spreadArray([t2], n2, false));
|
|
738
|
+
}, o.useRef(), a && !N$1.has(s) && (console.warn(s), N$1.add(s));
|
|
739
|
+
} catch (e) {
|
|
740
|
+
E$1.test(e.message) && N$1.delete(s);
|
|
741
|
+
} finally {
|
|
742
|
+
console.error = i;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}, _$1 = Object.freeze([]), C$1 = Object.freeze({});
|
|
746
|
+
function I$1(e, t, n) {
|
|
747
|
+
return void 0 === n && (n = C$1), e.theme !== n.theme && e.theme || t || n.theme;
|
|
748
|
+
}
|
|
749
|
+
var A = /* @__PURE__ */ new Set(["a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "u", "ul", "use", "var", "video", "wbr", "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "marker", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan"]), O = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g, D$1 = /(^-|-$)/g;
|
|
750
|
+
function R(e) {
|
|
751
|
+
return e.replace(O, "-").replace(D$1, "");
|
|
752
|
+
}
|
|
753
|
+
var T$1 = /(a)(d)/gi, k$1 = 52, j$1 = function(e) {
|
|
754
|
+
return String.fromCharCode(e + (e > 25 ? 39 : 97));
|
|
755
|
+
};
|
|
756
|
+
function x$1(e) {
|
|
757
|
+
var t, n = "";
|
|
758
|
+
for (t = Math.abs(e); t > k$1; t = t / k$1 | 0) n = j$1(t % k$1) + n;
|
|
759
|
+
return (j$1(t % k$1) + n).replace(T$1, "$1-$2");
|
|
760
|
+
}
|
|
761
|
+
var V$1, F$1 = 5381, z$1 = function(e, t) {
|
|
762
|
+
for (var n = t.length; n; ) e = 33 * e ^ t.charCodeAt(--n);
|
|
763
|
+
return e;
|
|
764
|
+
}, M$1 = function(e) {
|
|
765
|
+
return z$1(F$1, e);
|
|
766
|
+
};
|
|
767
|
+
function $$1(e) {
|
|
768
|
+
return x$1(M$1(e) >>> 0);
|
|
769
|
+
}
|
|
770
|
+
function B$1(e) {
|
|
771
|
+
return "production" !== process.env.NODE_ENV && "string" == typeof e && e || e.displayName || e.name || "Component";
|
|
772
|
+
}
|
|
773
|
+
function G$1(e) {
|
|
774
|
+
return "string" == typeof e && ("production" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());
|
|
775
|
+
}
|
|
776
|
+
var L$1 = "function" == typeof Symbol && Symbol.for, Y = L$1 ? Symbol.for("react.memo") : 60115, q$1 = L$1 ? Symbol.for("react.forward_ref") : 60112, W$1 = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }, H = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }, U$1 = { $$typeof: true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }, J$1 = ((V$1 = {})[q$1] = { $$typeof: true, render: true, defaultProps: true, displayName: true, propTypes: true }, V$1[Y] = U$1, V$1);
|
|
777
|
+
function X$1(e) {
|
|
778
|
+
return ("type" in (t = e) && t.type.$$typeof) === Y ? U$1 : "$$typeof" in e ? J$1[e.$$typeof] : W$1;
|
|
779
|
+
var t;
|
|
780
|
+
}
|
|
781
|
+
var Z = Object.defineProperty, K$1 = Object.getOwnPropertyNames, Q$1 = Object.getOwnPropertySymbols, ee = Object.getOwnPropertyDescriptor, te = Object.getPrototypeOf, ne = Object.prototype;
|
|
782
|
+
function oe$1(e, t, n) {
|
|
783
|
+
if ("string" != typeof t) {
|
|
784
|
+
if (ne) {
|
|
785
|
+
var o2 = te(t);
|
|
786
|
+
o2 && o2 !== ne && oe$1(e, o2, n);
|
|
787
|
+
}
|
|
788
|
+
var r = K$1(t);
|
|
789
|
+
Q$1 && (r = r.concat(Q$1(t)));
|
|
790
|
+
for (var s = X$1(e), i = X$1(t), a = 0; a < r.length; ++a) {
|
|
791
|
+
var c = r[a];
|
|
792
|
+
if (!(c in H || n && n[c] || i && c in i || s && c in s)) {
|
|
793
|
+
var l = ee(t, c);
|
|
794
|
+
try {
|
|
795
|
+
Z(e, c, l);
|
|
796
|
+
} catch (e2) {
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
return e;
|
|
802
|
+
}
|
|
803
|
+
function re$1(e) {
|
|
804
|
+
return "function" == typeof e;
|
|
805
|
+
}
|
|
806
|
+
function se$1(e) {
|
|
807
|
+
return "object" == typeof e && "styledComponentId" in e;
|
|
808
|
+
}
|
|
809
|
+
function ie$1(e, t) {
|
|
810
|
+
return e && t ? "".concat(e, " ").concat(t) : e || t || "";
|
|
811
|
+
}
|
|
812
|
+
function ae$1(e, t) {
|
|
813
|
+
if (0 === e.length) return "";
|
|
814
|
+
for (var n = e[0], o2 = 1; o2 < e.length; o2++) n += t ? t + e[o2] : e[o2];
|
|
815
|
+
return n;
|
|
816
|
+
}
|
|
817
|
+
function ce$1(e) {
|
|
818
|
+
return null !== e && "object" == typeof e && e.constructor.name === Object.name && !("props" in e && e.$$typeof);
|
|
819
|
+
}
|
|
820
|
+
function le$1(e, t, n) {
|
|
821
|
+
if (void 0 === n && (n = false), !n && !ce$1(e) && !Array.isArray(e)) return t;
|
|
822
|
+
if (Array.isArray(t)) for (var o2 = 0; o2 < t.length; o2++) e[o2] = le$1(e[o2], t[o2]);
|
|
823
|
+
else if (ce$1(t)) for (var o2 in t) e[o2] = le$1(e[o2], t[o2]);
|
|
824
|
+
return e;
|
|
825
|
+
}
|
|
826
|
+
function ue$1(e, t) {
|
|
827
|
+
Object.defineProperty(e, "toString", { value: t });
|
|
828
|
+
}
|
|
829
|
+
var pe$1 = "production" !== process.env.NODE_ENV ? { 1: "Cannot create styled-component for component: %s.\n\n", 2: "Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n", 3: "Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n", 4: "The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n", 5: "The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n", 6: "Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n", 7: 'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n', 8: 'ThemeProvider: Please make your "theme" prop an object.\n\n', 9: "Missing document `<head>`\n\n", 10: "Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n", 11: "_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n", 12: "It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n", 13: "%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n", 14: 'ThemeProvider: "theme" prop is required.\n\n', 15: "A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n", 16: "Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n", 17: "CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n", 18: "ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`" } : {};
|
|
830
|
+
function de$1() {
|
|
831
|
+
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
|
|
832
|
+
for (var n = e[0], o2 = [], r = 1, s = e.length; r < s; r += 1) o2.push(e[r]);
|
|
833
|
+
return o2.forEach(function(e2) {
|
|
834
|
+
n = n.replace(/%[a-z]/, e2);
|
|
835
|
+
}), n;
|
|
836
|
+
}
|
|
837
|
+
function he$1(t) {
|
|
838
|
+
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
839
|
+
return "production" === process.env.NODE_ENV ? new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t, " for more information.").concat(n.length > 0 ? " Args: ".concat(n.join(", ")) : "")) : new Error(de$1.apply(void 0, __spreadArray([pe$1[t]], n, false)).trim());
|
|
840
|
+
}
|
|
841
|
+
var fe$1 = (function() {
|
|
842
|
+
function e(e2) {
|
|
843
|
+
this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e2;
|
|
844
|
+
}
|
|
845
|
+
return e.prototype.indexOfGroup = function(e2) {
|
|
846
|
+
for (var t = 0, n = 0; n < e2; n++) t += this.groupSizes[n];
|
|
847
|
+
return t;
|
|
848
|
+
}, e.prototype.insertRules = function(e2, t) {
|
|
849
|
+
if (e2 >= this.groupSizes.length) {
|
|
850
|
+
for (var n = this.groupSizes, o2 = n.length, r = o2; e2 >= r; ) if ((r <<= 1) < 0) throw he$1(16, "".concat(e2));
|
|
851
|
+
this.groupSizes = new Uint32Array(r), this.groupSizes.set(n), this.length = r;
|
|
852
|
+
for (var s = o2; s < r; s++) this.groupSizes[s] = 0;
|
|
853
|
+
}
|
|
854
|
+
for (var i = this.indexOfGroup(e2 + 1), a = (s = 0, t.length); s < a; s++) this.tag.insertRule(i, t[s]) && (this.groupSizes[e2]++, i++);
|
|
855
|
+
}, e.prototype.clearGroup = function(e2) {
|
|
856
|
+
if (e2 < this.length) {
|
|
857
|
+
var t = this.groupSizes[e2], n = this.indexOfGroup(e2), o2 = n + t;
|
|
858
|
+
this.groupSizes[e2] = 0;
|
|
859
|
+
for (var r = n; r < o2; r++) this.tag.deleteRule(n);
|
|
860
|
+
}
|
|
861
|
+
}, e.prototype.getGroup = function(e2) {
|
|
862
|
+
var t = "";
|
|
863
|
+
if (e2 >= this.length || 0 === this.groupSizes[e2]) return t;
|
|
864
|
+
for (var n = this.groupSizes[e2], o2 = this.indexOfGroup(e2), r = o2 + n, s = o2; s < r; s++) t += "".concat(this.tag.getRule(s)).concat(g);
|
|
865
|
+
return t;
|
|
866
|
+
}, e;
|
|
867
|
+
})(), me$1 = 1 << 30, ye$1 = /* @__PURE__ */ new Map(), ve$1 = /* @__PURE__ */ new Map(), ge$1 = 1, Se$1 = function(e) {
|
|
868
|
+
if (ye$1.has(e)) return ye$1.get(e);
|
|
869
|
+
for (; ve$1.has(ge$1); ) ge$1++;
|
|
870
|
+
var t = ge$1++;
|
|
871
|
+
if ("production" !== process.env.NODE_ENV && ((0 | t) < 0 || t > me$1)) throw he$1(16, "".concat(t));
|
|
872
|
+
return ye$1.set(e, t), ve$1.set(t, e), t;
|
|
873
|
+
}, we$1 = function(e, t) {
|
|
874
|
+
ge$1 = t + 1, ye$1.set(e, t), ve$1.set(t, e);
|
|
875
|
+
}, be$1 = "style[".concat(f, "][").concat(y$1, '="').concat(v$1, '"]'), Ee$1 = new RegExp("^".concat(f, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')), Ne$1 = function(e, t, n) {
|
|
876
|
+
for (var o2, r = n.split(","), s = 0, i = r.length; s < i; s++) (o2 = r[s]) && e.registerName(t, o2);
|
|
877
|
+
}, Pe$1 = function(e, t) {
|
|
878
|
+
for (var n, o2 = (null !== (n = t.textContent) && void 0 !== n ? n : "").split(g), r = [], s = 0, i = o2.length; s < i; s++) {
|
|
879
|
+
var a = o2[s].trim();
|
|
880
|
+
if (a) {
|
|
881
|
+
var c = a.match(Ee$1);
|
|
882
|
+
if (c) {
|
|
883
|
+
var l = 0 | parseInt(c[1], 10), u3 = c[2];
|
|
884
|
+
0 !== l && (we$1(u3, l), Ne$1(e, u3, c[3]), e.getTag().insertRules(l, r)), r.length = 0;
|
|
885
|
+
} else r.push(a);
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
}, _e$1 = function(e) {
|
|
889
|
+
for (var t = document.querySelectorAll(be$1), n = 0, o2 = t.length; n < o2; n++) {
|
|
890
|
+
var r = t[n];
|
|
891
|
+
r && r.getAttribute(f) !== m$1 && (Pe$1(e, r), r.parentNode && r.parentNode.removeChild(r));
|
|
892
|
+
}
|
|
893
|
+
};
|
|
894
|
+
function Ce$1() {
|
|
895
|
+
return "undefined" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;
|
|
896
|
+
}
|
|
897
|
+
var Ie$1 = function(e) {
|
|
898
|
+
var t = document.head, n = e || t, o2 = document.createElement("style"), r = (function(e2) {
|
|
899
|
+
var t2 = Array.from(e2.querySelectorAll("style[".concat(f, "]")));
|
|
900
|
+
return t2[t2.length - 1];
|
|
901
|
+
})(n), s = void 0 !== r ? r.nextSibling : null;
|
|
902
|
+
o2.setAttribute(f, m$1), o2.setAttribute(y$1, v$1);
|
|
903
|
+
var i = Ce$1();
|
|
904
|
+
return i && o2.setAttribute("nonce", i), n.insertBefore(o2, s), o2;
|
|
905
|
+
}, Ae$1 = (function() {
|
|
906
|
+
function e(e2) {
|
|
907
|
+
this.element = Ie$1(e2), this.element.appendChild(document.createTextNode("")), this.sheet = (function(e3) {
|
|
908
|
+
if (e3.sheet) return e3.sheet;
|
|
909
|
+
for (var t = document.styleSheets, n = 0, o2 = t.length; n < o2; n++) {
|
|
910
|
+
var r = t[n];
|
|
911
|
+
if (r.ownerNode === e3) return r;
|
|
912
|
+
}
|
|
913
|
+
throw he$1(17);
|
|
914
|
+
})(this.element), this.length = 0;
|
|
915
|
+
}
|
|
916
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
917
|
+
try {
|
|
918
|
+
return this.sheet.insertRule(t, e2), this.length++, true;
|
|
919
|
+
} catch (e3) {
|
|
920
|
+
return false;
|
|
921
|
+
}
|
|
922
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
923
|
+
this.sheet.deleteRule(e2), this.length--;
|
|
924
|
+
}, e.prototype.getRule = function(e2) {
|
|
925
|
+
var t = this.sheet.cssRules[e2];
|
|
926
|
+
return t && t.cssText ? t.cssText : "";
|
|
927
|
+
}, e;
|
|
928
|
+
})(), Oe$1 = (function() {
|
|
929
|
+
function e(e2) {
|
|
930
|
+
this.element = Ie$1(e2), this.nodes = this.element.childNodes, this.length = 0;
|
|
931
|
+
}
|
|
932
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
933
|
+
if (e2 <= this.length && e2 >= 0) {
|
|
934
|
+
var n = document.createTextNode(t);
|
|
935
|
+
return this.element.insertBefore(n, this.nodes[e2] || null), this.length++, true;
|
|
936
|
+
}
|
|
937
|
+
return false;
|
|
938
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
939
|
+
this.element.removeChild(this.nodes[e2]), this.length--;
|
|
940
|
+
}, e.prototype.getRule = function(e2) {
|
|
941
|
+
return e2 < this.length ? this.nodes[e2].textContent : "";
|
|
942
|
+
}, e;
|
|
943
|
+
})(), De$1 = (function() {
|
|
944
|
+
function e(e2) {
|
|
945
|
+
this.rules = [], this.length = 0;
|
|
946
|
+
}
|
|
947
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
948
|
+
return e2 <= this.length && (this.rules.splice(e2, 0, t), this.length++, true);
|
|
949
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
950
|
+
this.rules.splice(e2, 1), this.length--;
|
|
951
|
+
}, e.prototype.getRule = function(e2) {
|
|
952
|
+
return e2 < this.length ? this.rules[e2] : "";
|
|
953
|
+
}, e;
|
|
954
|
+
})(), Re$1 = S$1, Te$1 = { isServer: !S$1, useCSSOMInjection: !w$1 }, ke$1 = (function() {
|
|
955
|
+
function e(e2, n, o2) {
|
|
956
|
+
void 0 === e2 && (e2 = C$1), void 0 === n && (n = {});
|
|
957
|
+
var r = this;
|
|
958
|
+
this.options = __assign(__assign({}, Te$1), e2), this.gs = n, this.names = new Map(o2), this.server = !!e2.isServer, !this.server && S$1 && Re$1 && (Re$1 = false, _e$1(this)), ue$1(this, function() {
|
|
959
|
+
return (function(e3) {
|
|
960
|
+
for (var t = e3.getTag(), n2 = t.length, o3 = "", r2 = function(n3) {
|
|
961
|
+
var r3 = (function(e4) {
|
|
962
|
+
return ve$1.get(e4);
|
|
963
|
+
})(n3);
|
|
964
|
+
if (void 0 === r3) return "continue";
|
|
965
|
+
var s2 = e3.names.get(r3), i = t.getGroup(n3);
|
|
966
|
+
if (void 0 === s2 || !s2.size || 0 === i.length) return "continue";
|
|
967
|
+
var a = "".concat(f, ".g").concat(n3, '[id="').concat(r3, '"]'), c = "";
|
|
968
|
+
void 0 !== s2 && s2.forEach(function(e4) {
|
|
969
|
+
e4.length > 0 && (c += "".concat(e4, ","));
|
|
970
|
+
}), o3 += "".concat(i).concat(a, '{content:"').concat(c, '"}').concat(g);
|
|
971
|
+
}, s = 0; s < n2; s++) r2(s);
|
|
972
|
+
return o3;
|
|
973
|
+
})(r);
|
|
974
|
+
});
|
|
975
|
+
}
|
|
976
|
+
return e.registerId = function(e2) {
|
|
977
|
+
return Se$1(e2);
|
|
978
|
+
}, e.prototype.rehydrate = function() {
|
|
979
|
+
!this.server && S$1 && _e$1(this);
|
|
980
|
+
}, e.prototype.reconstructWithOptions = function(n, o2) {
|
|
981
|
+
return void 0 === o2 && (o2 = true), new e(__assign(__assign({}, this.options), n), this.gs, o2 && this.names || void 0);
|
|
982
|
+
}, e.prototype.allocateGSInstance = function(e2) {
|
|
983
|
+
return this.gs[e2] = (this.gs[e2] || 0) + 1;
|
|
984
|
+
}, e.prototype.getTag = function() {
|
|
985
|
+
return this.tag || (this.tag = (e2 = (function(e3) {
|
|
986
|
+
var t = e3.useCSSOMInjection, n = e3.target;
|
|
987
|
+
return e3.isServer ? new De$1(n) : t ? new Ae$1(n) : new Oe$1(n);
|
|
988
|
+
})(this.options), new fe$1(e2)));
|
|
989
|
+
var e2;
|
|
990
|
+
}, e.prototype.hasNameForId = function(e2, t) {
|
|
991
|
+
return this.names.has(e2) && this.names.get(e2).has(t);
|
|
992
|
+
}, e.prototype.registerName = function(e2, t) {
|
|
993
|
+
if (Se$1(e2), this.names.has(e2)) this.names.get(e2).add(t);
|
|
994
|
+
else {
|
|
995
|
+
var n = /* @__PURE__ */ new Set();
|
|
996
|
+
n.add(t), this.names.set(e2, n);
|
|
997
|
+
}
|
|
998
|
+
}, e.prototype.insertRules = function(e2, t, n) {
|
|
999
|
+
this.registerName(e2, t), this.getTag().insertRules(Se$1(e2), n);
|
|
1000
|
+
}, e.prototype.clearNames = function(e2) {
|
|
1001
|
+
this.names.has(e2) && this.names.get(e2).clear();
|
|
1002
|
+
}, e.prototype.clearRules = function(e2) {
|
|
1003
|
+
this.getTag().clearGroup(Se$1(e2)), this.clearNames(e2);
|
|
1004
|
+
}, e.prototype.clearTag = function() {
|
|
1005
|
+
this.tag = void 0;
|
|
1006
|
+
}, e;
|
|
1007
|
+
})(), je$1 = /&/g, xe = /^\s*\/\/.*$/gm;
|
|
1008
|
+
function Ve$1(e, t) {
|
|
1009
|
+
return e.map(function(e2) {
|
|
1010
|
+
return "rule" === e2.type && (e2.value = "".concat(t, " ").concat(e2.value), e2.value = e2.value.replaceAll(",", ",".concat(t, " ")), e2.props = e2.props.map(function(e3) {
|
|
1011
|
+
return "".concat(t, " ").concat(e3);
|
|
1012
|
+
})), Array.isArray(e2.children) && "@keyframes" !== e2.type && (e2.children = Ve$1(e2.children, t)), e2;
|
|
1013
|
+
});
|
|
1014
|
+
}
|
|
1015
|
+
function Fe$1(e) {
|
|
1016
|
+
var t, n, o2, r = void 0 === e ? C$1 : e, s = r.options, i = void 0 === s ? C$1 : s, a = r.plugins, c = void 0 === a ? _$1 : a, l = function(e2, o3, r2) {
|
|
1017
|
+
return r2.startsWith(n) && r2.endsWith(n) && r2.replaceAll(n, "").length > 0 ? ".".concat(t) : e2;
|
|
1018
|
+
}, u3 = c.slice();
|
|
1019
|
+
u3.push(function(e2) {
|
|
1020
|
+
e2.type === RULESET && e2.value.includes("&") && (e2.props[0] = e2.props[0].replace(je$1, n).replace(o2, l));
|
|
1021
|
+
}), i.prefix && u3.push(prefixer), u3.push(stringify);
|
|
1022
|
+
var p2 = function(e2, r2, s2, a2) {
|
|
1023
|
+
void 0 === r2 && (r2 = ""), void 0 === s2 && (s2 = ""), void 0 === a2 && (a2 = "&"), t = a2, n = r2, o2 = new RegExp("\\".concat(n, "\\b"), "g");
|
|
1024
|
+
var c2 = e2.replace(xe, ""), l2 = compile(s2 || r2 ? "".concat(s2, " ").concat(r2, " { ").concat(c2, " }") : c2);
|
|
1025
|
+
i.namespace && (l2 = Ve$1(l2, i.namespace));
|
|
1026
|
+
var p3 = [];
|
|
1027
|
+
return serialize(l2, middleware(u3.concat(rulesheet(function(e3) {
|
|
1028
|
+
return p3.push(e3);
|
|
1029
|
+
})))), p3;
|
|
1030
|
+
};
|
|
1031
|
+
return p2.hash = c.length ? c.reduce(function(e2, t2) {
|
|
1032
|
+
return t2.name || he$1(15), z$1(e2, t2.name);
|
|
1033
|
+
}, F$1).toString() : "", p2;
|
|
1034
|
+
}
|
|
1035
|
+
var ze$1 = new ke$1(), Me$1 = Fe$1(), $e$1 = o.createContext({ shouldForwardProp: void 0, styleSheet: ze$1, stylis: Me$1 });
|
|
1036
|
+
$e$1.Consumer;
|
|
1037
|
+
var Ge$1 = o.createContext(void 0);
|
|
1038
|
+
function Le$1() {
|
|
1039
|
+
return o.useContext($e$1);
|
|
1040
|
+
}
|
|
1041
|
+
function Ye(e) {
|
|
1042
|
+
var t = o.useState(e.stylisPlugins), n = t[0], r = t[1], c = Le$1().styleSheet, l = o.useMemo(function() {
|
|
1043
|
+
var t2 = c;
|
|
1044
|
+
return e.sheet ? t2 = e.sheet : e.target && (t2 = t2.reconstructWithOptions({ target: e.target }, false)), e.disableCSSOMInjection && (t2 = t2.reconstructWithOptions({ useCSSOMInjection: false })), t2;
|
|
1045
|
+
}, [e.disableCSSOMInjection, e.sheet, e.target, c]), u3 = o.useMemo(function() {
|
|
1046
|
+
return Fe$1({ options: { namespace: e.namespace, prefix: e.enableVendorPrefixes }, plugins: n });
|
|
1047
|
+
}, [e.enableVendorPrefixes, e.namespace, n]);
|
|
1048
|
+
o.useEffect(function() {
|
|
1049
|
+
p(n, e.stylisPlugins) || r(e.stylisPlugins);
|
|
1050
|
+
}, [e.stylisPlugins]);
|
|
1051
|
+
var d = o.useMemo(function() {
|
|
1052
|
+
return { shouldForwardProp: e.shouldForwardProp, styleSheet: l, stylis: u3 };
|
|
1053
|
+
}, [e.shouldForwardProp, l, u3]);
|
|
1054
|
+
return o.createElement($e$1.Provider, { value: d }, o.createElement(Ge$1.Provider, { value: u3 }, e.children));
|
|
1055
|
+
}
|
|
1056
|
+
var qe$1 = (function() {
|
|
1057
|
+
function e(e2, t) {
|
|
1058
|
+
var n = this;
|
|
1059
|
+
this.inject = function(e3, t2) {
|
|
1060
|
+
void 0 === t2 && (t2 = Me$1);
|
|
1061
|
+
var o2 = n.name + t2.hash;
|
|
1062
|
+
e3.hasNameForId(n.id, o2) || e3.insertRules(n.id, o2, t2(n.rules, o2, "@keyframes"));
|
|
1063
|
+
}, this.name = e2, this.id = "sc-keyframes-".concat(e2), this.rules = t, ue$1(this, function() {
|
|
1064
|
+
throw he$1(12, String(n.name));
|
|
1065
|
+
});
|
|
1066
|
+
}
|
|
1067
|
+
return e.prototype.getName = function(e2) {
|
|
1068
|
+
return void 0 === e2 && (e2 = Me$1), this.name + e2.hash;
|
|
1069
|
+
}, e;
|
|
1070
|
+
})(), We$1 = function(e) {
|
|
1071
|
+
return e >= "A" && e <= "Z";
|
|
1072
|
+
};
|
|
1073
|
+
function He$1(e) {
|
|
1074
|
+
for (var t = "", n = 0; n < e.length; n++) {
|
|
1075
|
+
var o2 = e[n];
|
|
1076
|
+
if (1 === n && "-" === o2 && "-" === e[0]) return e;
|
|
1077
|
+
We$1(o2) ? t += "-" + o2.toLowerCase() : t += o2;
|
|
1078
|
+
}
|
|
1079
|
+
return t.startsWith("ms-") ? "-" + t : t;
|
|
1080
|
+
}
|
|
1081
|
+
var Ue$1 = function(e) {
|
|
1082
|
+
return null == e || false === e || "" === e;
|
|
1083
|
+
}, Je$1 = function(t) {
|
|
1084
|
+
var n, o2, r = [];
|
|
1085
|
+
for (var s in t) {
|
|
1086
|
+
var i = t[s];
|
|
1087
|
+
t.hasOwnProperty(s) && !Ue$1(i) && (Array.isArray(i) && i.isCss || re$1(i) ? r.push("".concat(He$1(s), ":"), i, ";") : ce$1(i) ? r.push.apply(r, __spreadArray(__spreadArray(["".concat(s, " {")], Je$1(i), false), ["}"], false)) : r.push("".concat(He$1(s), ": ").concat((n = s, null == (o2 = i) || "boolean" == typeof o2 || "" === o2 ? "" : "number" != typeof o2 || 0 === o2 || n in unitlessKeys || n.startsWith("--") ? String(o2).trim() : "".concat(o2, "px")), ";")));
|
|
1088
|
+
}
|
|
1089
|
+
return r;
|
|
1090
|
+
};
|
|
1091
|
+
function Xe$1(e, t, n, o2) {
|
|
1092
|
+
if (Ue$1(e)) return [];
|
|
1093
|
+
if (se$1(e)) return [".".concat(e.styledComponentId)];
|
|
1094
|
+
if (re$1(e)) {
|
|
1095
|
+
if (!re$1(s = e) || s.prototype && s.prototype.isReactComponent || !t) return [e];
|
|
1096
|
+
var r = e(t);
|
|
1097
|
+
return "production" === process.env.NODE_ENV || "object" != typeof r || Array.isArray(r) || r instanceof qe$1 || ce$1(r) || null === r || console.error("".concat(B$1(e), " is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")), Xe$1(r, t, n, o2);
|
|
1098
|
+
}
|
|
1099
|
+
var s;
|
|
1100
|
+
return e instanceof qe$1 ? n ? (e.inject(n, o2), [e.getName(o2)]) : [e] : ce$1(e) ? Je$1(e) : Array.isArray(e) ? Array.prototype.concat.apply(_$1, e.map(function(e2) {
|
|
1101
|
+
return Xe$1(e2, t, n, o2);
|
|
1102
|
+
})) : [e.toString()];
|
|
1103
|
+
}
|
|
1104
|
+
function Ze$1(e) {
|
|
1105
|
+
for (var t = 0; t < e.length; t += 1) {
|
|
1106
|
+
var n = e[t];
|
|
1107
|
+
if (re$1(n) && !se$1(n)) return false;
|
|
1108
|
+
}
|
|
1109
|
+
return true;
|
|
1110
|
+
}
|
|
1111
|
+
var Ke$1 = M$1(v$1), Qe$1 = (function() {
|
|
1112
|
+
function e(e2, t, n) {
|
|
1113
|
+
this.rules = e2, this.staticRulesId = "", this.isStatic = "production" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && Ze$1(e2), this.componentId = t, this.baseHash = z$1(Ke$1, t), this.baseStyle = n, ke$1.registerId(t);
|
|
1114
|
+
}
|
|
1115
|
+
return e.prototype.generateAndInjectStyles = function(e2, t, n) {
|
|
1116
|
+
var o2 = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e2, t, n) : "";
|
|
1117
|
+
if (this.isStatic && !n.hash) if (this.staticRulesId && t.hasNameForId(this.componentId, this.staticRulesId)) o2 = ie$1(o2, this.staticRulesId);
|
|
1118
|
+
else {
|
|
1119
|
+
var r = ae$1(Xe$1(this.rules, e2, t, n)), s = x$1(z$1(this.baseHash, r) >>> 0);
|
|
1120
|
+
if (!t.hasNameForId(this.componentId, s)) {
|
|
1121
|
+
var i = n(r, ".".concat(s), void 0, this.componentId);
|
|
1122
|
+
t.insertRules(this.componentId, s, i);
|
|
1123
|
+
}
|
|
1124
|
+
o2 = ie$1(o2, s), this.staticRulesId = s;
|
|
1125
|
+
}
|
|
1126
|
+
else {
|
|
1127
|
+
for (var a = z$1(this.baseHash, n.hash), c = "", l = 0; l < this.rules.length; l++) {
|
|
1128
|
+
var u3 = this.rules[l];
|
|
1129
|
+
if ("string" == typeof u3) c += u3, "production" !== process.env.NODE_ENV && (a = z$1(a, u3));
|
|
1130
|
+
else if (u3) {
|
|
1131
|
+
var p2 = ae$1(Xe$1(u3, e2, t, n));
|
|
1132
|
+
a = z$1(a, p2 + l), c += p2;
|
|
1133
|
+
}
|
|
1134
|
+
}
|
|
1135
|
+
if (c) {
|
|
1136
|
+
var d = x$1(a >>> 0);
|
|
1137
|
+
t.hasNameForId(this.componentId, d) || t.insertRules(this.componentId, d, n(c, ".".concat(d), void 0, this.componentId)), o2 = ie$1(o2, d);
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
return o2;
|
|
1141
|
+
}, e;
|
|
1142
|
+
})(), et = o.createContext(void 0);
|
|
1143
|
+
et.Consumer;
|
|
1144
|
+
var rt = {}, st = /* @__PURE__ */ new Set();
|
|
1145
|
+
function it(e, r, s) {
|
|
1146
|
+
var i = se$1(e), a = e, c = !G$1(e), p2 = r.attrs, d = void 0 === p2 ? _$1 : p2, h2 = r.componentId, f2 = void 0 === h2 ? (function(e2, t) {
|
|
1147
|
+
var n = "string" != typeof e2 ? "sc" : R(e2);
|
|
1148
|
+
rt[n] = (rt[n] || 0) + 1;
|
|
1149
|
+
var o2 = "".concat(n, "-").concat($$1(v$1 + n + rt[n]));
|
|
1150
|
+
return t ? "".concat(t, "-").concat(o2) : o2;
|
|
1151
|
+
})(r.displayName, r.parentComponentId) : h2, m2 = r.displayName, y2 = void 0 === m2 ? (function(e2) {
|
|
1152
|
+
return G$1(e2) ? "styled.".concat(e2) : "Styled(".concat(B$1(e2), ")");
|
|
1153
|
+
})(e) : m2, g2 = r.displayName && r.componentId ? "".concat(R(r.displayName), "-").concat(r.componentId) : r.componentId || f2, S2 = i && a.attrs ? a.attrs.concat(d).filter(Boolean) : d, w2 = r.shouldForwardProp;
|
|
1154
|
+
if (i && a.shouldForwardProp) {
|
|
1155
|
+
var b2 = a.shouldForwardProp;
|
|
1156
|
+
if (r.shouldForwardProp) {
|
|
1157
|
+
var E2 = r.shouldForwardProp;
|
|
1158
|
+
w2 = function(e2, t) {
|
|
1159
|
+
return b2(e2, t) && E2(e2, t);
|
|
1160
|
+
};
|
|
1161
|
+
} else w2 = b2;
|
|
1162
|
+
}
|
|
1163
|
+
var N2 = new Qe$1(s, g2, i ? a.componentStyle : void 0);
|
|
1164
|
+
function O2(e2, r2) {
|
|
1165
|
+
return (function(e3, r3, s2) {
|
|
1166
|
+
var i2 = e3.attrs, a2 = e3.componentStyle, c2 = e3.defaultProps, p3 = e3.foldedComponentIds, d2 = e3.styledComponentId, h3 = e3.target, f3 = o.useContext(et), m3 = Le$1(), y3 = e3.shouldForwardProp || m3.shouldForwardProp;
|
|
1167
|
+
"production" !== process.env.NODE_ENV && o.useDebugValue(d2);
|
|
1168
|
+
var v2 = I$1(r3, f3, c2) || C$1, g3 = (function(e4, n, o2) {
|
|
1169
|
+
for (var r4, s3 = __assign(__assign({}, n), { className: void 0, theme: o2 }), i3 = 0; i3 < e4.length; i3 += 1) {
|
|
1170
|
+
var a3 = re$1(r4 = e4[i3]) ? r4(s3) : r4;
|
|
1171
|
+
for (var c3 in a3) s3[c3] = "className" === c3 ? ie$1(s3[c3], a3[c3]) : "style" === c3 ? __assign(__assign({}, s3[c3]), a3[c3]) : a3[c3];
|
|
1172
|
+
}
|
|
1173
|
+
return n.className && (s3.className = ie$1(s3.className, n.className)), s3;
|
|
1174
|
+
})(i2, r3, v2), S3 = g3.as || h3, w3 = {};
|
|
1175
|
+
for (var b3 in g3) void 0 === g3[b3] || "$" === b3[0] || "as" === b3 || "theme" === b3 && g3.theme === v2 || ("forwardedAs" === b3 ? w3.as = g3.forwardedAs : y3 && !y3(b3, S3) || (w3[b3] = g3[b3], y3 || "development" !== process.env.NODE_ENV || isPropValid(b3) || st.has(b3) || !A.has(S3) || (st.add(b3), console.warn('styled-components: it looks like an unknown prop "'.concat(b3, '" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));
|
|
1176
|
+
var E3 = (function(e4, t) {
|
|
1177
|
+
var n = Le$1(), o$1 = e4.generateAndInjectStyles(t, n.styleSheet, n.stylis);
|
|
1178
|
+
return "production" !== process.env.NODE_ENV && o.useDebugValue(o$1), o$1;
|
|
1179
|
+
})(a2, g3);
|
|
1180
|
+
"production" !== process.env.NODE_ENV && e3.warnTooManyClasses && e3.warnTooManyClasses(E3);
|
|
1181
|
+
var N3 = ie$1(p3, d2);
|
|
1182
|
+
return E3 && (N3 += " " + E3), g3.className && (N3 += " " + g3.className), w3[G$1(S3) && !A.has(S3) ? "class" : "className"] = N3, s2 && (w3.ref = s2), o.createElement(S3, w3);
|
|
1183
|
+
})(D2, e2, r2);
|
|
1184
|
+
}
|
|
1185
|
+
O2.displayName = y2;
|
|
1186
|
+
var D2 = o.forwardRef(O2);
|
|
1187
|
+
return D2.attrs = S2, D2.componentStyle = N2, D2.displayName = y2, D2.shouldForwardProp = w2, D2.foldedComponentIds = i ? ie$1(a.foldedComponentIds, a.styledComponentId) : "", D2.styledComponentId = g2, D2.target = i ? a.target : e, Object.defineProperty(D2, "defaultProps", { get: function() {
|
|
1188
|
+
return this._foldedDefaultProps;
|
|
1189
|
+
}, set: function(e2) {
|
|
1190
|
+
this._foldedDefaultProps = i ? (function(e3) {
|
|
1191
|
+
for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
|
|
1192
|
+
for (var o2 = 0, r2 = t; o2 < r2.length; o2++) le$1(e3, r2[o2], true);
|
|
1193
|
+
return e3;
|
|
1194
|
+
})({}, a.defaultProps, e2) : e2;
|
|
1195
|
+
} }), "production" !== process.env.NODE_ENV && (P$1(y2, g2), D2.warnTooManyClasses = /* @__PURE__ */ (function(e2, t) {
|
|
1196
|
+
var n = {}, o2 = false;
|
|
1197
|
+
return function(r2) {
|
|
1198
|
+
if (!o2 && (n[r2] = true, Object.keys(n).length >= 200)) {
|
|
1199
|
+
var s2 = t ? ' with the id of "'.concat(t, '"') : "";
|
|
1200
|
+
console.warn("Over ".concat(200, " classes were generated for component ").concat(e2).concat(s2, ".\n") + "Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"), o2 = true, n = {};
|
|
1201
|
+
}
|
|
1202
|
+
};
|
|
1203
|
+
})(y2, g2)), ue$1(D2, function() {
|
|
1204
|
+
return ".".concat(D2.styledComponentId);
|
|
1205
|
+
}), c && oe$1(D2, e, { attrs: true, componentStyle: true, displayName: true, foldedComponentIds: true, shouldForwardProp: true, styledComponentId: true, target: true }), D2;
|
|
1206
|
+
}
|
|
1207
|
+
function at(e, t) {
|
|
1208
|
+
for (var n = [e[0]], o2 = 0, r = t.length; o2 < r; o2 += 1) n.push(t[o2], e[o2 + 1]);
|
|
1209
|
+
return n;
|
|
1210
|
+
}
|
|
1211
|
+
var ct = function(e) {
|
|
1212
|
+
return Object.assign(e, { isCss: true });
|
|
1213
|
+
};
|
|
1214
|
+
function lt(t) {
|
|
1215
|
+
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
1216
|
+
if (re$1(t) || ce$1(t)) return ct(Xe$1(at(_$1, __spreadArray([t], n, true))));
|
|
1217
|
+
var r = t;
|
|
1218
|
+
return 0 === n.length && 1 === r.length && "string" == typeof r[0] ? Xe$1(r) : ct(Xe$1(at(r, n)));
|
|
1219
|
+
}
|
|
1220
|
+
function ut(n, o2, r) {
|
|
1221
|
+
if (void 0 === r && (r = C$1), !o2) throw he$1(1, o2);
|
|
1222
|
+
var s = function(t) {
|
|
1223
|
+
for (var s2 = [], i = 1; i < arguments.length; i++) s2[i - 1] = arguments[i];
|
|
1224
|
+
return n(o2, r, lt.apply(void 0, __spreadArray([t], s2, false)));
|
|
1225
|
+
};
|
|
1226
|
+
return s.attrs = function(e) {
|
|
1227
|
+
return ut(n, o2, __assign(__assign({}, r), { attrs: Array.prototype.concat(r.attrs, e).filter(Boolean) }));
|
|
1228
|
+
}, s.withConfig = function(e) {
|
|
1229
|
+
return ut(n, o2, __assign(__assign({}, r), e));
|
|
1230
|
+
}, s;
|
|
1231
|
+
}
|
|
1232
|
+
var pt = function(e) {
|
|
1233
|
+
return ut(it, e);
|
|
1234
|
+
}, dt = pt;
|
|
1235
|
+
A.forEach(function(e) {
|
|
1236
|
+
dt[e] = pt(e);
|
|
1237
|
+
});
|
|
1238
|
+
var vt = /^\s*<\/[a-z]/i, gt = (function() {
|
|
1239
|
+
function e() {
|
|
1240
|
+
var e2 = this;
|
|
1241
|
+
this._emitSheetCSS = function() {
|
|
1242
|
+
var t = e2.instance.toString();
|
|
1243
|
+
if (!t) return "";
|
|
1244
|
+
var n = Ce$1(), o2 = ae$1([n && 'nonce="'.concat(n, '"'), "".concat(f, '="true"'), "".concat(y$1, '="').concat(v$1, '"')].filter(Boolean), " ");
|
|
1245
|
+
return "<style ".concat(o2, ">").concat(t, "</style>");
|
|
1246
|
+
}, this.getStyleTags = function() {
|
|
1247
|
+
if (e2.sealed) throw he$1(2);
|
|
1248
|
+
return e2._emitSheetCSS();
|
|
1249
|
+
}, this.getStyleElement = function() {
|
|
1250
|
+
var n;
|
|
1251
|
+
if (e2.sealed) throw he$1(2);
|
|
1252
|
+
var r = e2.instance.toString();
|
|
1253
|
+
if (!r) return [];
|
|
1254
|
+
var s = ((n = {})[f] = "", n[y$1] = v$1, n.dangerouslySetInnerHTML = { __html: r }, n), i = Ce$1();
|
|
1255
|
+
return i && (s.nonce = i), [o.createElement("style", __assign({}, s, { key: "sc-0-0" }))];
|
|
1256
|
+
}, this.seal = function() {
|
|
1257
|
+
e2.sealed = true;
|
|
1258
|
+
}, this.instance = new ke$1({ isServer: true }), this.sealed = false;
|
|
1259
|
+
}
|
|
1260
|
+
return e.prototype.collectStyles = function(e2) {
|
|
1261
|
+
if (this.sealed) throw he$1(2);
|
|
1262
|
+
return o.createElement(Ye, { sheet: this.instance }, e2);
|
|
1263
|
+
}, e.prototype.interleaveWithNodeStream = function(e2) {
|
|
1264
|
+
if (S$1) throw he$1(3);
|
|
1265
|
+
if (this.sealed) throw he$1(2);
|
|
1266
|
+
this.seal();
|
|
1267
|
+
var t = require("stream").Transform, n = e2, o2 = this.instance, r = this._emitSheetCSS, s = new t({ transform: function(e3, t2, n2) {
|
|
1268
|
+
var s2 = e3.toString(), i = r();
|
|
1269
|
+
if (o2.clearTag(), vt.test(s2)) {
|
|
1270
|
+
var a = s2.indexOf(">") + 1, c = s2.slice(0, a), l = s2.slice(a);
|
|
1271
|
+
this.push(c + i + l);
|
|
1272
|
+
} else this.push(i + s2);
|
|
1273
|
+
n2();
|
|
1274
|
+
} });
|
|
1275
|
+
return n.on("error", function(e3) {
|
|
1276
|
+
s.emit("error", e3);
|
|
1277
|
+
}), n.pipe(s);
|
|
1278
|
+
}, e;
|
|
1279
|
+
})();
|
|
1280
|
+
"production" !== process.env.NODE_ENV && "undefined" != typeof navigator && "ReactNative" === navigator.product && console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");
|
|
1281
|
+
var wt = "__sc-".concat(f, "__");
|
|
1282
|
+
"production" !== process.env.NODE_ENV && "test" !== process.env.NODE_ENV && "undefined" != typeof window && (window[wt] || (window[wt] = 0), 1 === window[wt] && console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."), window[wt] += 1);
|
|
1283
|
+
const CSS_RESET = "<style>*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased}</style>";
|
|
1284
|
+
const TOKENS_CSS_HREF = "https://unpkg.com/@jsonresume/core/dist/tokens.css";
|
|
1285
|
+
const FONTS_PRECONNECT = '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>';
|
|
1286
|
+
function isHref(value) {
|
|
1287
|
+
return /^(https?:)?\/\//.test(value) || value.trim().startsWith("<link");
|
|
1288
|
+
}
|
|
1289
|
+
function familyParam(family) {
|
|
1290
|
+
const [name, ...rest] = String(family).split(":");
|
|
1291
|
+
const encodedName = name.trim().replace(/\s+/g, "+");
|
|
1292
|
+
return rest.length ? `${encodedName}:${rest.join(":")}` : encodedName;
|
|
1293
|
+
}
|
|
1294
|
+
function googleFontsLinks(families) {
|
|
1295
|
+
if (!Array.isArray(families) || families.length === 0) return "";
|
|
1296
|
+
const passthrough = [];
|
|
1297
|
+
const names = [];
|
|
1298
|
+
for (const entry of families) {
|
|
1299
|
+
if (entry == null || entry === "") continue;
|
|
1300
|
+
if (isHref(entry)) passthrough.push(entry);
|
|
1301
|
+
else names.push(entry);
|
|
1302
|
+
}
|
|
1303
|
+
const links = passthrough.map(
|
|
1304
|
+
(href) => href.trim().startsWith("<link") ? href : `<link href="${href}" rel="stylesheet">`
|
|
1305
|
+
);
|
|
1306
|
+
if (names.length > 0) {
|
|
1307
|
+
const query = names.map(familyParam).join("&family=");
|
|
1308
|
+
links.unshift(
|
|
1309
|
+
`<link href="https://fonts.googleapis.com/css2?family=${query}&display=swap" rel="stylesheet">`
|
|
1310
|
+
);
|
|
1311
|
+
}
|
|
1312
|
+
if (links.length === 0) return "";
|
|
1313
|
+
return FONTS_PRECONNECT + links.join("");
|
|
1314
|
+
}
|
|
1315
|
+
function renderResumeDocument(element, options = {}) {
|
|
1316
|
+
const {
|
|
1317
|
+
fonts,
|
|
1318
|
+
title,
|
|
1319
|
+
lang = "en",
|
|
1320
|
+
dir = "ltr",
|
|
1321
|
+
reset = false,
|
|
1322
|
+
head = "",
|
|
1323
|
+
headAfterStyles = "",
|
|
1324
|
+
includeTokensCss = true,
|
|
1325
|
+
bodyClass
|
|
1326
|
+
} = options;
|
|
1327
|
+
const sheet = new gt();
|
|
1328
|
+
let html;
|
|
1329
|
+
let styleTags;
|
|
1330
|
+
try {
|
|
1331
|
+
html = server.renderToStaticMarkup(sheet.collectStyles(element));
|
|
1332
|
+
styleTags = sheet.getStyleTags();
|
|
1333
|
+
} finally {
|
|
1334
|
+
sheet.seal();
|
|
1335
|
+
}
|
|
1336
|
+
const fontLinks = googleFontsLinks(fonts);
|
|
1337
|
+
const tokensLink = includeTokensCss ? `<link rel="stylesheet" href="${TOKENS_CSS_HREF}">` : "";
|
|
1338
|
+
const resetTag = reset ? CSS_RESET : "";
|
|
1339
|
+
const titleTag = title ? `<title>${title}</title>` : "";
|
|
1340
|
+
const bodyAttr = bodyClass ? ` class="${bodyClass}"` : "";
|
|
1341
|
+
return `<!DOCTYPE html><html lang="${lang}" dir="${dir}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">` + fontLinks + tokensLink + resetTag + head + styleTags + headAfterStyles + titleTag + `</head><body${bodyAttr}>${html}</body></html>`;
|
|
1342
|
+
}
|
|
1343
|
+
const Section = dt.div`
|
|
1344
|
+
max-width: 700px;
|
|
1345
|
+
margin: 0 auto 18px;
|
|
1346
|
+
|
|
1347
|
+
h2 {
|
|
1348
|
+
margin: 0;
|
|
1349
|
+
padding: 0;
|
|
1350
|
+
margin-bottom: 3px;
|
|
1351
|
+
font-weight: 600;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
hr {
|
|
1355
|
+
margin: 0;
|
|
1356
|
+
padding: 0;
|
|
1357
|
+
margin-top: 7px;
|
|
1358
|
+
margin-bottom: 3px;
|
|
1359
|
+
}
|
|
1360
|
+
`;
|
|
1361
|
+
const Container$2 = dt.div`
|
|
1362
|
+
margin: 0 8px;
|
|
1363
|
+
`;
|
|
1364
|
+
const SectionComponent = ({ children, title }) => {
|
|
1365
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Section, { children: [
|
|
1366
|
+
title && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1367
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }),
|
|
1368
|
+
/* @__PURE__ */ jsxRuntime.jsx("hr", {})
|
|
1369
|
+
] }),
|
|
1370
|
+
/* @__PURE__ */ jsxRuntime.jsx(Container$2, { children })
|
|
1371
|
+
] });
|
|
1372
|
+
};
|
|
1373
|
+
function L() {
|
|
1374
|
+
return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null };
|
|
1375
|
+
}
|
|
1376
|
+
var T = L();
|
|
1377
|
+
function G(u3) {
|
|
1378
|
+
T = u3;
|
|
1379
|
+
}
|
|
1380
|
+
var I = { exec: () => null };
|
|
1381
|
+
function h(u3, e = "") {
|
|
1382
|
+
let t = typeof u3 == "string" ? u3 : u3.source, n = { replace: (r, i) => {
|
|
1383
|
+
let s = typeof i == "string" ? i : i.source;
|
|
1384
|
+
return s = s.replace(m.caret, "$1"), t = t.replace(r, s), n;
|
|
1385
|
+
}, getRegex: () => new RegExp(t, e) };
|
|
1386
|
+
return n;
|
|
1387
|
+
}
|
|
1388
|
+
var m = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceTabs: /^\t+/, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] /, listReplaceTask: /^\[[ xX]\] +/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (u3) => new RegExp(`^( {0,3}${u3})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: (u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}#`), htmlBeginRegex: (u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}<(?:[a-z].*>|!--)`, "i") }, be = /^(?:[ \t]*(?:\n|$))+/, Re = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Te = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, E = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Oe = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, F = /(?:[*+-]|\d{1,9}[.)])/, ie = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, oe = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), we = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), j = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, ye = /^[^\n]+/, Q = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Pe = h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Se = h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex(), v = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", U = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, $e = h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), ae = h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex(), _e = h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex(), K = { blockquote: _e, code: Re, def: Pe, fences: Te, heading: Oe, hr: E, html: $e, lheading: oe, list: Se, newline: be, paragraph: ae, table: I, text: ye }, re = h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex(), Le = { ...K, lheading: we, table: re, paragraph: h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() }, Me = { ...K, html: h(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: I, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: h(j).replace("hr", E).replace("heading", ` *#{1,6} *[^
|
|
1389
|
+
]`).replace("lheading", oe).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, ze = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Ae = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, le = /^( {2,}|\\)\n(?!\s*$)/, Ie = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, D = /[\p{P}\p{S}]/u, W = /[\s\p{P}\p{S}]/u, ue = /[^\s\p{P}\p{S}]/u, Ee = h(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex(), pe = /(?!~)[\p{P}\p{S}]/u, Ce = /(?!~)[\s\p{P}\p{S}]/u, Be = /(?:[^\s\p{P}\p{S}]|~)/u, qe = h(/link|code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<!`)(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("code", /(?<!`)(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), ce = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, ve = h(ce, "u").replace(/punct/g, D).getRegex(), De = h(ce, "u").replace(/punct/g, pe).getRegex(), he = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", He = h(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex(), Ze = h(he, "gu").replace(/notPunctSpace/g, Be).replace(/punctSpace/g, Ce).replace(/punct/g, pe).getRegex(), Ge = h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex(), Ne = h(/\\(punct)/, "gu").replace(/punct/g, D).getRegex(), Fe = h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), je = h(U).replace("(?:-->|$)", "-->").getRegex(), Qe = h("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/, Ue = h(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), de = h(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex(), ke = h(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex(), Ke = h("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex(), se = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, X = { _backpedal: I, anyPunctuation: Ne, autolink: Fe, blockSkip: qe, br: le, code: Ae, del: I, emStrongLDelim: ve, emStrongRDelimAst: He, emStrongRDelimUnd: Ge, escape: ze, link: Ue, nolink: ke, punctuation: Ee, reflink: de, reflinkSearch: Ke, tag: Qe, text: Ie, url: I }, We = { ...X, link: h(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() }, N = { ...X, emStrongRDelimAst: Ze, emStrongLDelim: De, url: h(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: h(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() }, Xe = { ...N, br: h(le).replace("{2,}", "*").getRegex(), text: h(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, C = { normal: K, gfm: Le, pedantic: Me }, M = { normal: X, gfm: N, breaks: Xe, pedantic: We };
|
|
1390
|
+
var Je = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, ge = (u3) => Je[u3];
|
|
1391
|
+
function w(u3, e) {
|
|
1392
|
+
if (e) {
|
|
1393
|
+
if (m.escapeTest.test(u3)) return u3.replace(m.escapeReplace, ge);
|
|
1394
|
+
} else if (m.escapeTestNoEncode.test(u3)) return u3.replace(m.escapeReplaceNoEncode, ge);
|
|
1395
|
+
return u3;
|
|
1396
|
+
}
|
|
1397
|
+
function J(u3) {
|
|
1398
|
+
try {
|
|
1399
|
+
u3 = encodeURI(u3).replace(m.percentDecode, "%");
|
|
1400
|
+
} catch {
|
|
1401
|
+
return null;
|
|
1402
|
+
}
|
|
1403
|
+
return u3;
|
|
1404
|
+
}
|
|
1405
|
+
function V(u3, e) {
|
|
1406
|
+
let t = u3.replace(m.findPipe, (i, s, o2) => {
|
|
1407
|
+
let a = false, l = s;
|
|
1408
|
+
for (; --l >= 0 && o2[l] === "\\"; ) a = !a;
|
|
1409
|
+
return a ? "|" : " |";
|
|
1410
|
+
}), n = t.split(m.splitPipe), r = 0;
|
|
1411
|
+
if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e) if (n.length > e) n.splice(e);
|
|
1412
|
+
else for (; n.length < e; ) n.push("");
|
|
1413
|
+
for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|");
|
|
1414
|
+
return n;
|
|
1415
|
+
}
|
|
1416
|
+
function z(u3, e, t) {
|
|
1417
|
+
let n = u3.length;
|
|
1418
|
+
if (n === 0) return "";
|
|
1419
|
+
let r = 0;
|
|
1420
|
+
for (; r < n; ) {
|
|
1421
|
+
let i = u3.charAt(n - r - 1);
|
|
1422
|
+
if (i === e && true) r++;
|
|
1423
|
+
else break;
|
|
1424
|
+
}
|
|
1425
|
+
return u3.slice(0, n - r);
|
|
1426
|
+
}
|
|
1427
|
+
function fe(u3, e) {
|
|
1428
|
+
if (u3.indexOf(e[1]) === -1) return -1;
|
|
1429
|
+
let t = 0;
|
|
1430
|
+
for (let n = 0; n < u3.length; n++) if (u3[n] === "\\") n++;
|
|
1431
|
+
else if (u3[n] === e[0]) t++;
|
|
1432
|
+
else if (u3[n] === e[1] && (t--, t < 0)) return n;
|
|
1433
|
+
return t > 0 ? -2 : -1;
|
|
1434
|
+
}
|
|
1435
|
+
function me(u3, e, t, n, r) {
|
|
1436
|
+
let i = e.href, s = e.title || null, o2 = u3[1].replace(r.other.outputLinkReplace, "$1");
|
|
1437
|
+
n.state.inLink = true;
|
|
1438
|
+
let a = { type: u3[0].charAt(0) === "!" ? "image" : "link", raw: t, href: i, title: s, text: o2, tokens: n.inlineTokens(o2) };
|
|
1439
|
+
return n.state.inLink = false, a;
|
|
1440
|
+
}
|
|
1441
|
+
function Ve(u3, e, t) {
|
|
1442
|
+
let n = u3.match(t.other.indentCodeCompensation);
|
|
1443
|
+
if (n === null) return e;
|
|
1444
|
+
let r = n[1];
|
|
1445
|
+
return e.split(`
|
|
1446
|
+
`).map((i) => {
|
|
1447
|
+
let s = i.match(t.other.beginningSpace);
|
|
1448
|
+
if (s === null) return i;
|
|
1449
|
+
let [o2] = s;
|
|
1450
|
+
return o2.length >= r.length ? i.slice(r.length) : i;
|
|
1451
|
+
}).join(`
|
|
1452
|
+
`);
|
|
1453
|
+
}
|
|
1454
|
+
var y = class {
|
|
1455
|
+
options;
|
|
1456
|
+
rules;
|
|
1457
|
+
lexer;
|
|
1458
|
+
constructor(e) {
|
|
1459
|
+
this.options = e || T;
|
|
1460
|
+
}
|
|
1461
|
+
space(e) {
|
|
1462
|
+
let t = this.rules.block.newline.exec(e);
|
|
1463
|
+
if (t && t[0].length > 0) return { type: "space", raw: t[0] };
|
|
1464
|
+
}
|
|
1465
|
+
code(e) {
|
|
1466
|
+
let t = this.rules.block.code.exec(e);
|
|
1467
|
+
if (t) {
|
|
1468
|
+
let n = t[0].replace(this.rules.other.codeRemoveIndent, "");
|
|
1469
|
+
return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : z(n, `
|
|
1470
|
+
`) };
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
fences(e) {
|
|
1474
|
+
let t = this.rules.block.fences.exec(e);
|
|
1475
|
+
if (t) {
|
|
1476
|
+
let n = t[0], r = Ve(n, t[3] || "", this.rules);
|
|
1477
|
+
return { type: "code", raw: n, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: r };
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
heading(e) {
|
|
1481
|
+
let t = this.rules.block.heading.exec(e);
|
|
1482
|
+
if (t) {
|
|
1483
|
+
let n = t[2].trim();
|
|
1484
|
+
if (this.rules.other.endingHash.test(n)) {
|
|
1485
|
+
let r = z(n, "#");
|
|
1486
|
+
(this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());
|
|
1487
|
+
}
|
|
1488
|
+
return { type: "heading", raw: t[0], depth: t[1].length, text: n, tokens: this.lexer.inline(n) };
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
hr(e) {
|
|
1492
|
+
let t = this.rules.block.hr.exec(e);
|
|
1493
|
+
if (t) return { type: "hr", raw: z(t[0], `
|
|
1494
|
+
`) };
|
|
1495
|
+
}
|
|
1496
|
+
blockquote(e) {
|
|
1497
|
+
let t = this.rules.block.blockquote.exec(e);
|
|
1498
|
+
if (t) {
|
|
1499
|
+
let n = z(t[0], `
|
|
1500
|
+
`).split(`
|
|
1501
|
+
`), r = "", i = "", s = [];
|
|
1502
|
+
for (; n.length > 0; ) {
|
|
1503
|
+
let o2 = false, a = [], l;
|
|
1504
|
+
for (l = 0; l < n.length; l++) if (this.rules.other.blockquoteStart.test(n[l])) a.push(n[l]), o2 = true;
|
|
1505
|
+
else if (!o2) a.push(n[l]);
|
|
1506
|
+
else break;
|
|
1507
|
+
n = n.slice(l);
|
|
1508
|
+
let c = a.join(`
|
|
1509
|
+
`), p2 = c.replace(this.rules.other.blockquoteSetextReplace, `
|
|
1510
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2, "");
|
|
1511
|
+
r = r ? `${r}
|
|
1512
|
+
${c}` : c, i = i ? `${i}
|
|
1513
|
+
${p2}` : p2;
|
|
1514
|
+
let g2 = this.lexer.state.top;
|
|
1515
|
+
if (this.lexer.state.top = true, this.lexer.blockTokens(p2, s, true), this.lexer.state.top = g2, n.length === 0) break;
|
|
1516
|
+
let d = s.at(-1);
|
|
1517
|
+
if (d?.type === "code") break;
|
|
1518
|
+
if (d?.type === "blockquote") {
|
|
1519
|
+
let R2 = d, f2 = R2.raw + `
|
|
1520
|
+
` + n.join(`
|
|
1521
|
+
`), O2 = this.blockquote(f2);
|
|
1522
|
+
s[s.length - 1] = O2, r = r.substring(0, r.length - R2.raw.length) + O2.raw, i = i.substring(0, i.length - R2.text.length) + O2.text;
|
|
1523
|
+
break;
|
|
1524
|
+
} else if (d?.type === "list") {
|
|
1525
|
+
let R2 = d, f2 = R2.raw + `
|
|
1526
|
+
` + n.join(`
|
|
1527
|
+
`), O2 = this.list(f2);
|
|
1528
|
+
s[s.length - 1] = O2, r = r.substring(0, r.length - d.raw.length) + O2.raw, i = i.substring(0, i.length - R2.raw.length) + O2.raw, n = f2.substring(s.at(-1).raw.length).split(`
|
|
1529
|
+
`);
|
|
1530
|
+
continue;
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1533
|
+
return { type: "blockquote", raw: r, tokens: s, text: i };
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
list(e) {
|
|
1537
|
+
let t = this.rules.block.list.exec(e);
|
|
1538
|
+
if (t) {
|
|
1539
|
+
let n = t[1].trim(), r = n.length > 1, i = { type: "list", raw: "", ordered: r, start: r ? +n.slice(0, -1) : "", loose: false, items: [] };
|
|
1540
|
+
n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]");
|
|
1541
|
+
let s = this.rules.other.listItemRegex(n), o2 = false;
|
|
1542
|
+
for (; e; ) {
|
|
1543
|
+
let l = false, c = "", p2 = "";
|
|
1544
|
+
if (!(t = s.exec(e)) || this.rules.block.hr.test(e)) break;
|
|
1545
|
+
c = t[0], e = e.substring(c.length);
|
|
1546
|
+
let g2 = t[2].split(`
|
|
1547
|
+
`, 1)[0].replace(this.rules.other.listReplaceTabs, (H2) => " ".repeat(3 * H2.length)), d = e.split(`
|
|
1548
|
+
`, 1)[0], R2 = !g2.trim(), f2 = 0;
|
|
1549
|
+
if (this.options.pedantic ? (f2 = 2, p2 = g2.trimStart()) : R2 ? f2 = t[1].length + 1 : (f2 = t[2].search(this.rules.other.nonSpaceChar), f2 = f2 > 4 ? 1 : f2, p2 = g2.slice(f2), f2 += t[1].length), R2 && this.rules.other.blankLine.test(d) && (c += d + `
|
|
1550
|
+
`, e = e.substring(d.length + 1), l = true), !l) {
|
|
1551
|
+
let H2 = this.rules.other.nextBulletRegex(f2), ee2 = this.rules.other.hrRegex(f2), te2 = this.rules.other.fencesBeginRegex(f2), ne2 = this.rules.other.headingBeginRegex(f2), xe2 = this.rules.other.htmlBeginRegex(f2);
|
|
1552
|
+
for (; e; ) {
|
|
1553
|
+
let Z2 = e.split(`
|
|
1554
|
+
`, 1)[0], A2;
|
|
1555
|
+
if (d = Z2, this.options.pedantic ? (d = d.replace(this.rules.other.listReplaceNesting, " "), A2 = d) : A2 = d.replace(this.rules.other.tabCharGlobal, " "), te2.test(d) || ne2.test(d) || xe2.test(d) || H2.test(d) || ee2.test(d)) break;
|
|
1556
|
+
if (A2.search(this.rules.other.nonSpaceChar) >= f2 || !d.trim()) p2 += `
|
|
1557
|
+
` + A2.slice(f2);
|
|
1558
|
+
else {
|
|
1559
|
+
if (R2 || g2.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || te2.test(g2) || ne2.test(g2) || ee2.test(g2)) break;
|
|
1560
|
+
p2 += `
|
|
1561
|
+
` + d;
|
|
1562
|
+
}
|
|
1563
|
+
!R2 && !d.trim() && (R2 = true), c += Z2 + `
|
|
1564
|
+
`, e = e.substring(Z2.length + 1), g2 = A2.slice(f2);
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
i.loose || (o2 ? i.loose = true : this.rules.other.doubleBlankLine.test(c) && (o2 = true));
|
|
1568
|
+
let O2 = null, Y2;
|
|
1569
|
+
this.options.gfm && (O2 = this.rules.other.listIsTask.exec(p2), O2 && (Y2 = O2[0] !== "[ ] ", p2 = p2.replace(this.rules.other.listReplaceTask, ""))), i.items.push({ type: "list_item", raw: c, task: !!O2, checked: Y2, loose: false, text: p2, tokens: [] }), i.raw += c;
|
|
1570
|
+
}
|
|
1571
|
+
let a = i.items.at(-1);
|
|
1572
|
+
if (a) a.raw = a.raw.trimEnd(), a.text = a.text.trimEnd();
|
|
1573
|
+
else return;
|
|
1574
|
+
i.raw = i.raw.trimEnd();
|
|
1575
|
+
for (let l = 0; l < i.items.length; l++) if (this.lexer.state.top = false, i.items[l].tokens = this.lexer.blockTokens(i.items[l].text, []), !i.loose) {
|
|
1576
|
+
let c = i.items[l].tokens.filter((g2) => g2.type === "space"), p2 = c.length > 0 && c.some((g2) => this.rules.other.anyLine.test(g2.raw));
|
|
1577
|
+
i.loose = p2;
|
|
1578
|
+
}
|
|
1579
|
+
if (i.loose) for (let l = 0; l < i.items.length; l++) i.items[l].loose = true;
|
|
1580
|
+
return i;
|
|
1581
|
+
}
|
|
1582
|
+
}
|
|
1583
|
+
html(e) {
|
|
1584
|
+
let t = this.rules.block.html.exec(e);
|
|
1585
|
+
if (t) return { type: "html", block: true, raw: t[0], pre: t[1] === "pre" || t[1] === "script" || t[1] === "style", text: t[0] };
|
|
1586
|
+
}
|
|
1587
|
+
def(e) {
|
|
1588
|
+
let t = this.rules.block.def.exec(e);
|
|
1589
|
+
if (t) {
|
|
1590
|
+
let n = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), r = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
|
|
1591
|
+
return { type: "def", tag: n, raw: t[0], href: r, title: i };
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
table(e) {
|
|
1595
|
+
let t = this.rules.block.table.exec(e);
|
|
1596
|
+
if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
|
|
1597
|
+
let n = V(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(`
|
|
1598
|
+
`) : [], s = { type: "table", raw: t[0], header: [], align: [], rows: [] };
|
|
1599
|
+
if (n.length === r.length) {
|
|
1600
|
+
for (let o2 of r) this.rules.other.tableAlignRight.test(o2) ? s.align.push("right") : this.rules.other.tableAlignCenter.test(o2) ? s.align.push("center") : this.rules.other.tableAlignLeft.test(o2) ? s.align.push("left") : s.align.push(null);
|
|
1601
|
+
for (let o2 = 0; o2 < n.length; o2++) s.header.push({ text: n[o2], tokens: this.lexer.inline(n[o2]), header: true, align: s.align[o2] });
|
|
1602
|
+
for (let o2 of i) s.rows.push(V(o2, s.header.length).map((a, l) => ({ text: a, tokens: this.lexer.inline(a), header: false, align: s.align[l] })));
|
|
1603
|
+
return s;
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
lheading(e) {
|
|
1607
|
+
let t = this.rules.block.lheading.exec(e);
|
|
1608
|
+
if (t) return { type: "heading", raw: t[0], depth: t[2].charAt(0) === "=" ? 1 : 2, text: t[1], tokens: this.lexer.inline(t[1]) };
|
|
1609
|
+
}
|
|
1610
|
+
paragraph(e) {
|
|
1611
|
+
let t = this.rules.block.paragraph.exec(e);
|
|
1612
|
+
if (t) {
|
|
1613
|
+
let n = t[1].charAt(t[1].length - 1) === `
|
|
1614
|
+
` ? t[1].slice(0, -1) : t[1];
|
|
1615
|
+
return { type: "paragraph", raw: t[0], text: n, tokens: this.lexer.inline(n) };
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
text(e) {
|
|
1619
|
+
let t = this.rules.block.text.exec(e);
|
|
1620
|
+
if (t) return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) };
|
|
1621
|
+
}
|
|
1622
|
+
escape(e) {
|
|
1623
|
+
let t = this.rules.inline.escape.exec(e);
|
|
1624
|
+
if (t) return { type: "escape", raw: t[0], text: t[1] };
|
|
1625
|
+
}
|
|
1626
|
+
tag(e) {
|
|
1627
|
+
let t = this.rules.inline.tag.exec(e);
|
|
1628
|
+
if (t) return !this.lexer.state.inLink && this.rules.other.startATag.test(t[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t[0]) && (this.lexer.state.inRawBlock = false), { type: "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: false, text: t[0] };
|
|
1629
|
+
}
|
|
1630
|
+
link(e) {
|
|
1631
|
+
let t = this.rules.inline.link.exec(e);
|
|
1632
|
+
if (t) {
|
|
1633
|
+
let n = t[2].trim();
|
|
1634
|
+
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {
|
|
1635
|
+
if (!this.rules.other.endAngleBracket.test(n)) return;
|
|
1636
|
+
let s = z(n.slice(0, -1), "\\");
|
|
1637
|
+
if ((n.length - s.length) % 2 === 0) return;
|
|
1638
|
+
} else {
|
|
1639
|
+
let s = fe(t[2], "()");
|
|
1640
|
+
if (s === -2) return;
|
|
1641
|
+
if (s > -1) {
|
|
1642
|
+
let a = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + s;
|
|
1643
|
+
t[2] = t[2].substring(0, s), t[0] = t[0].substring(0, a).trim(), t[3] = "";
|
|
1644
|
+
}
|
|
1645
|
+
}
|
|
1646
|
+
let r = t[2], i = "";
|
|
1647
|
+
if (this.options.pedantic) {
|
|
1648
|
+
let s = this.rules.other.pedanticHrefTitle.exec(r);
|
|
1649
|
+
s && (r = s[1], i = s[3]);
|
|
1650
|
+
} else i = t[3] ? t[3].slice(1, -1) : "";
|
|
1651
|
+
return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), me(t, { href: r && r.replace(this.rules.inline.anyPunctuation, "$1"), title: i && i.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer, this.rules);
|
|
1652
|
+
}
|
|
1653
|
+
}
|
|
1654
|
+
reflink(e, t) {
|
|
1655
|
+
let n;
|
|
1656
|
+
if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
|
|
1657
|
+
let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i = t[r.toLowerCase()];
|
|
1658
|
+
if (!i) {
|
|
1659
|
+
let s = n[0].charAt(0);
|
|
1660
|
+
return { type: "text", raw: s, text: s };
|
|
1661
|
+
}
|
|
1662
|
+
return me(n, i, n[0], this.lexer, this.rules);
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
emStrong(e, t, n = "") {
|
|
1666
|
+
let r = this.rules.inline.emStrongLDelim.exec(e);
|
|
1667
|
+
if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return;
|
|
1668
|
+
if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) {
|
|
1669
|
+
let s = [...r[0]].length - 1, o2, a, l = s, c = 0, p2 = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
|
|
1670
|
+
for (p2.lastIndex = 0, t = t.slice(-1 * e.length + s); (r = p2.exec(t)) != null; ) {
|
|
1671
|
+
if (o2 = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o2) continue;
|
|
1672
|
+
if (a = [...o2].length, r[3] || r[4]) {
|
|
1673
|
+
l += a;
|
|
1674
|
+
continue;
|
|
1675
|
+
} else if ((r[5] || r[6]) && s % 3 && !((s + a) % 3)) {
|
|
1676
|
+
c += a;
|
|
1677
|
+
continue;
|
|
1678
|
+
}
|
|
1679
|
+
if (l -= a, l > 0) continue;
|
|
1680
|
+
a = Math.min(a, a + l + c);
|
|
1681
|
+
let g2 = [...r[0]][0].length, d = e.slice(0, s + r.index + g2 + a);
|
|
1682
|
+
if (Math.min(s, a) % 2) {
|
|
1683
|
+
let f2 = d.slice(1, -1);
|
|
1684
|
+
return { type: "em", raw: d, text: f2, tokens: this.lexer.inlineTokens(f2) };
|
|
1685
|
+
}
|
|
1686
|
+
let R2 = d.slice(2, -2);
|
|
1687
|
+
return { type: "strong", raw: d, text: R2, tokens: this.lexer.inlineTokens(R2) };
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
codespan(e) {
|
|
1692
|
+
let t = this.rules.inline.code.exec(e);
|
|
1693
|
+
if (t) {
|
|
1694
|
+
let n = t[2].replace(this.rules.other.newLineCharGlobal, " "), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);
|
|
1695
|
+
return r && i && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t[0], text: n };
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
br(e) {
|
|
1699
|
+
let t = this.rules.inline.br.exec(e);
|
|
1700
|
+
if (t) return { type: "br", raw: t[0] };
|
|
1701
|
+
}
|
|
1702
|
+
del(e) {
|
|
1703
|
+
let t = this.rules.inline.del.exec(e);
|
|
1704
|
+
if (t) return { type: "del", raw: t[0], text: t[2], tokens: this.lexer.inlineTokens(t[2]) };
|
|
1705
|
+
}
|
|
1706
|
+
autolink(e) {
|
|
1707
|
+
let t = this.rules.inline.autolink.exec(e);
|
|
1708
|
+
if (t) {
|
|
1709
|
+
let n, r;
|
|
1710
|
+
return t[2] === "@" ? (n = t[1], r = "mailto:" + n) : (n = t[1], r = n), { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
url(e) {
|
|
1714
|
+
let t;
|
|
1715
|
+
if (t = this.rules.inline.url.exec(e)) {
|
|
1716
|
+
let n, r;
|
|
1717
|
+
if (t[2] === "@") n = t[0], r = "mailto:" + n;
|
|
1718
|
+
else {
|
|
1719
|
+
let i;
|
|
1720
|
+
do
|
|
1721
|
+
i = t[0], t[0] = this.rules.inline._backpedal.exec(t[0])?.[0] ?? "";
|
|
1722
|
+
while (i !== t[0]);
|
|
1723
|
+
n = t[0], t[1] === "www." ? r = "http://" + t[0] : r = t[0];
|
|
1724
|
+
}
|
|
1725
|
+
return { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
|
|
1726
|
+
}
|
|
1727
|
+
}
|
|
1728
|
+
inlineText(e) {
|
|
1729
|
+
let t = this.rules.inline.text.exec(e);
|
|
1730
|
+
if (t) {
|
|
1731
|
+
let n = this.lexer.state.inRawBlock;
|
|
1732
|
+
return { type: "text", raw: t[0], text: t[0], escaped: n };
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
};
|
|
1736
|
+
var x = class u {
|
|
1737
|
+
tokens;
|
|
1738
|
+
options;
|
|
1739
|
+
state;
|
|
1740
|
+
tokenizer;
|
|
1741
|
+
inlineQueue;
|
|
1742
|
+
constructor(e) {
|
|
1743
|
+
this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || T, this.options.tokenizer = this.options.tokenizer || new y(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true };
|
|
1744
|
+
let t = { other: m, block: C.normal, inline: M.normal };
|
|
1745
|
+
this.options.pedantic ? (t.block = C.pedantic, t.inline = M.pedantic) : this.options.gfm && (t.block = C.gfm, this.options.breaks ? t.inline = M.breaks : t.inline = M.gfm), this.tokenizer.rules = t;
|
|
1746
|
+
}
|
|
1747
|
+
static get rules() {
|
|
1748
|
+
return { block: C, inline: M };
|
|
1749
|
+
}
|
|
1750
|
+
static lex(e, t) {
|
|
1751
|
+
return new u(t).lex(e);
|
|
1752
|
+
}
|
|
1753
|
+
static lexInline(e, t) {
|
|
1754
|
+
return new u(t).inlineTokens(e);
|
|
1755
|
+
}
|
|
1756
|
+
lex(e) {
|
|
1757
|
+
e = e.replace(m.carriageReturn, `
|
|
1758
|
+
`), this.blockTokens(e, this.tokens);
|
|
1759
|
+
for (let t = 0; t < this.inlineQueue.length; t++) {
|
|
1760
|
+
let n = this.inlineQueue[t];
|
|
1761
|
+
this.inlineTokens(n.src, n.tokens);
|
|
1762
|
+
}
|
|
1763
|
+
return this.inlineQueue = [], this.tokens;
|
|
1764
|
+
}
|
|
1765
|
+
blockTokens(e, t = [], n = false) {
|
|
1766
|
+
for (this.options.pedantic && (e = e.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e; ) {
|
|
1767
|
+
let r;
|
|
1768
|
+
if (this.options.extensions?.block?.some((s) => (r = s.call({ lexer: this }, e, t)) ? (e = e.substring(r.raw.length), t.push(r), true) : false)) continue;
|
|
1769
|
+
if (r = this.tokenizer.space(e)) {
|
|
1770
|
+
e = e.substring(r.raw.length);
|
|
1771
|
+
let s = t.at(-1);
|
|
1772
|
+
r.raw.length === 1 && s !== void 0 ? s.raw += `
|
|
1773
|
+
` : t.push(r);
|
|
1774
|
+
continue;
|
|
1775
|
+
}
|
|
1776
|
+
if (r = this.tokenizer.code(e)) {
|
|
1777
|
+
e = e.substring(r.raw.length);
|
|
1778
|
+
let s = t.at(-1);
|
|
1779
|
+
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
|
|
1780
|
+
`) ? "" : `
|
|
1781
|
+
`) + r.raw, s.text += `
|
|
1782
|
+
` + r.text, this.inlineQueue.at(-1).src = s.text) : t.push(r);
|
|
1783
|
+
continue;
|
|
1784
|
+
}
|
|
1785
|
+
if (r = this.tokenizer.fences(e)) {
|
|
1786
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1787
|
+
continue;
|
|
1788
|
+
}
|
|
1789
|
+
if (r = this.tokenizer.heading(e)) {
|
|
1790
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1791
|
+
continue;
|
|
1792
|
+
}
|
|
1793
|
+
if (r = this.tokenizer.hr(e)) {
|
|
1794
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1795
|
+
continue;
|
|
1796
|
+
}
|
|
1797
|
+
if (r = this.tokenizer.blockquote(e)) {
|
|
1798
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1799
|
+
continue;
|
|
1800
|
+
}
|
|
1801
|
+
if (r = this.tokenizer.list(e)) {
|
|
1802
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1803
|
+
continue;
|
|
1804
|
+
}
|
|
1805
|
+
if (r = this.tokenizer.html(e)) {
|
|
1806
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1807
|
+
continue;
|
|
1808
|
+
}
|
|
1809
|
+
if (r = this.tokenizer.def(e)) {
|
|
1810
|
+
e = e.substring(r.raw.length);
|
|
1811
|
+
let s = t.at(-1);
|
|
1812
|
+
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
|
|
1813
|
+
`) ? "" : `
|
|
1814
|
+
`) + r.raw, s.text += `
|
|
1815
|
+
` + r.raw, this.inlineQueue.at(-1).src = s.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t.push(r));
|
|
1816
|
+
continue;
|
|
1817
|
+
}
|
|
1818
|
+
if (r = this.tokenizer.table(e)) {
|
|
1819
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1820
|
+
continue;
|
|
1821
|
+
}
|
|
1822
|
+
if (r = this.tokenizer.lheading(e)) {
|
|
1823
|
+
e = e.substring(r.raw.length), t.push(r);
|
|
1824
|
+
continue;
|
|
1825
|
+
}
|
|
1826
|
+
let i = e;
|
|
1827
|
+
if (this.options.extensions?.startBlock) {
|
|
1828
|
+
let s = 1 / 0, o2 = e.slice(1), a;
|
|
1829
|
+
this.options.extensions.startBlock.forEach((l) => {
|
|
1830
|
+
a = l.call({ lexer: this }, o2), typeof a == "number" && a >= 0 && (s = Math.min(s, a));
|
|
1831
|
+
}), s < 1 / 0 && s >= 0 && (i = e.substring(0, s + 1));
|
|
1832
|
+
}
|
|
1833
|
+
if (this.state.top && (r = this.tokenizer.paragraph(i))) {
|
|
1834
|
+
let s = t.at(-1);
|
|
1835
|
+
n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(`
|
|
1836
|
+
`) ? "" : `
|
|
1837
|
+
`) + r.raw, s.text += `
|
|
1838
|
+
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r), n = i.length !== e.length, e = e.substring(r.raw.length);
|
|
1839
|
+
continue;
|
|
1840
|
+
}
|
|
1841
|
+
if (r = this.tokenizer.text(e)) {
|
|
1842
|
+
e = e.substring(r.raw.length);
|
|
1843
|
+
let s = t.at(-1);
|
|
1844
|
+
s?.type === "text" ? (s.raw += (s.raw.endsWith(`
|
|
1845
|
+
`) ? "" : `
|
|
1846
|
+
`) + r.raw, s.text += `
|
|
1847
|
+
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r);
|
|
1848
|
+
continue;
|
|
1849
|
+
}
|
|
1850
|
+
if (e) {
|
|
1851
|
+
let s = "Infinite loop on byte: " + e.charCodeAt(0);
|
|
1852
|
+
if (this.options.silent) {
|
|
1853
|
+
console.error(s);
|
|
1854
|
+
break;
|
|
1855
|
+
} else throw new Error(s);
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
return this.state.top = true, t;
|
|
1859
|
+
}
|
|
1860
|
+
inline(e, t = []) {
|
|
1861
|
+
return this.inlineQueue.push({ src: e, tokens: t }), t;
|
|
1862
|
+
}
|
|
1863
|
+
inlineTokens(e, t = []) {
|
|
1864
|
+
let n = e, r = null;
|
|
1865
|
+
if (this.tokens.links) {
|
|
1866
|
+
let o2 = Object.keys(this.tokens.links);
|
|
1867
|
+
if (o2.length > 0) for (; (r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o2.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
|
|
1868
|
+
}
|
|
1869
|
+
for (; (r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
|
|
1870
|
+
for (; (r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
1871
|
+
n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n;
|
|
1872
|
+
let i = false, s = "";
|
|
1873
|
+
for (; e; ) {
|
|
1874
|
+
i || (s = ""), i = false;
|
|
1875
|
+
let o2;
|
|
1876
|
+
if (this.options.extensions?.inline?.some((l) => (o2 = l.call({ lexer: this }, e, t)) ? (e = e.substring(o2.raw.length), t.push(o2), true) : false)) continue;
|
|
1877
|
+
if (o2 = this.tokenizer.escape(e)) {
|
|
1878
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1879
|
+
continue;
|
|
1880
|
+
}
|
|
1881
|
+
if (o2 = this.tokenizer.tag(e)) {
|
|
1882
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1883
|
+
continue;
|
|
1884
|
+
}
|
|
1885
|
+
if (o2 = this.tokenizer.link(e)) {
|
|
1886
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1887
|
+
continue;
|
|
1888
|
+
}
|
|
1889
|
+
if (o2 = this.tokenizer.reflink(e, this.tokens.links)) {
|
|
1890
|
+
e = e.substring(o2.raw.length);
|
|
1891
|
+
let l = t.at(-1);
|
|
1892
|
+
o2.type === "text" && l?.type === "text" ? (l.raw += o2.raw, l.text += o2.text) : t.push(o2);
|
|
1893
|
+
continue;
|
|
1894
|
+
}
|
|
1895
|
+
if (o2 = this.tokenizer.emStrong(e, n, s)) {
|
|
1896
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1897
|
+
continue;
|
|
1898
|
+
}
|
|
1899
|
+
if (o2 = this.tokenizer.codespan(e)) {
|
|
1900
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1901
|
+
continue;
|
|
1902
|
+
}
|
|
1903
|
+
if (o2 = this.tokenizer.br(e)) {
|
|
1904
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1905
|
+
continue;
|
|
1906
|
+
}
|
|
1907
|
+
if (o2 = this.tokenizer.del(e)) {
|
|
1908
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1909
|
+
continue;
|
|
1910
|
+
}
|
|
1911
|
+
if (o2 = this.tokenizer.autolink(e)) {
|
|
1912
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1913
|
+
continue;
|
|
1914
|
+
}
|
|
1915
|
+
if (!this.state.inLink && (o2 = this.tokenizer.url(e))) {
|
|
1916
|
+
e = e.substring(o2.raw.length), t.push(o2);
|
|
1917
|
+
continue;
|
|
1918
|
+
}
|
|
1919
|
+
let a = e;
|
|
1920
|
+
if (this.options.extensions?.startInline) {
|
|
1921
|
+
let l = 1 / 0, c = e.slice(1), p2;
|
|
1922
|
+
this.options.extensions.startInline.forEach((g2) => {
|
|
1923
|
+
p2 = g2.call({ lexer: this }, c), typeof p2 == "number" && p2 >= 0 && (l = Math.min(l, p2));
|
|
1924
|
+
}), l < 1 / 0 && l >= 0 && (a = e.substring(0, l + 1));
|
|
1925
|
+
}
|
|
1926
|
+
if (o2 = this.tokenizer.inlineText(a)) {
|
|
1927
|
+
e = e.substring(o2.raw.length), o2.raw.slice(-1) !== "_" && (s = o2.raw.slice(-1)), i = true;
|
|
1928
|
+
let l = t.at(-1);
|
|
1929
|
+
l?.type === "text" ? (l.raw += o2.raw, l.text += o2.text) : t.push(o2);
|
|
1930
|
+
continue;
|
|
1931
|
+
}
|
|
1932
|
+
if (e) {
|
|
1933
|
+
let l = "Infinite loop on byte: " + e.charCodeAt(0);
|
|
1934
|
+
if (this.options.silent) {
|
|
1935
|
+
console.error(l);
|
|
1936
|
+
break;
|
|
1937
|
+
} else throw new Error(l);
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
return t;
|
|
1941
|
+
}
|
|
1942
|
+
};
|
|
1943
|
+
var P = class {
|
|
1944
|
+
options;
|
|
1945
|
+
parser;
|
|
1946
|
+
constructor(e) {
|
|
1947
|
+
this.options = e || T;
|
|
1948
|
+
}
|
|
1949
|
+
space(e) {
|
|
1950
|
+
return "";
|
|
1951
|
+
}
|
|
1952
|
+
code({ text: e, lang: t, escaped: n }) {
|
|
1953
|
+
let r = (t || "").match(m.notSpaceStart)?.[0], i = e.replace(m.endingNewline, "") + `
|
|
1954
|
+
`;
|
|
1955
|
+
return r ? '<pre><code class="language-' + w(r) + '">' + (n ? i : w(i, true)) + `</code></pre>
|
|
1956
|
+
` : "<pre><code>" + (n ? i : w(i, true)) + `</code></pre>
|
|
1957
|
+
`;
|
|
1958
|
+
}
|
|
1959
|
+
blockquote({ tokens: e }) {
|
|
1960
|
+
return `<blockquote>
|
|
1961
|
+
${this.parser.parse(e)}</blockquote>
|
|
1962
|
+
`;
|
|
1963
|
+
}
|
|
1964
|
+
html({ text: e }) {
|
|
1965
|
+
return e;
|
|
1966
|
+
}
|
|
1967
|
+
def(e) {
|
|
1968
|
+
return "";
|
|
1969
|
+
}
|
|
1970
|
+
heading({ tokens: e, depth: t }) {
|
|
1971
|
+
return `<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
1972
|
+
`;
|
|
1973
|
+
}
|
|
1974
|
+
hr(e) {
|
|
1975
|
+
return `<hr>
|
|
1976
|
+
`;
|
|
1977
|
+
}
|
|
1978
|
+
list(e) {
|
|
1979
|
+
let t = e.ordered, n = e.start, r = "";
|
|
1980
|
+
for (let o2 = 0; o2 < e.items.length; o2++) {
|
|
1981
|
+
let a = e.items[o2];
|
|
1982
|
+
r += this.listitem(a);
|
|
1983
|
+
}
|
|
1984
|
+
let i = t ? "ol" : "ul", s = t && n !== 1 ? ' start="' + n + '"' : "";
|
|
1985
|
+
return "<" + i + s + `>
|
|
1986
|
+
` + r + "</" + i + `>
|
|
1987
|
+
`;
|
|
1988
|
+
}
|
|
1989
|
+
listitem(e) {
|
|
1990
|
+
let t = "";
|
|
1991
|
+
if (e.task) {
|
|
1992
|
+
let n = this.checkbox({ checked: !!e.checked });
|
|
1993
|
+
e.loose ? e.tokens[0]?.type === "paragraph" ? (e.tokens[0].text = n + " " + e.tokens[0].text, e.tokens[0].tokens && e.tokens[0].tokens.length > 0 && e.tokens[0].tokens[0].type === "text" && (e.tokens[0].tokens[0].text = n + " " + w(e.tokens[0].tokens[0].text), e.tokens[0].tokens[0].escaped = true)) : e.tokens.unshift({ type: "text", raw: n + " ", text: n + " ", escaped: true }) : t += n + " ";
|
|
1994
|
+
}
|
|
1995
|
+
return t += this.parser.parse(e.tokens, !!e.loose), `<li>${t}</li>
|
|
1996
|
+
`;
|
|
1997
|
+
}
|
|
1998
|
+
checkbox({ checked: e }) {
|
|
1999
|
+
return "<input " + (e ? 'checked="" ' : "") + 'disabled="" type="checkbox">';
|
|
2000
|
+
}
|
|
2001
|
+
paragraph({ tokens: e }) {
|
|
2002
|
+
return `<p>${this.parser.parseInline(e)}</p>
|
|
2003
|
+
`;
|
|
2004
|
+
}
|
|
2005
|
+
table(e) {
|
|
2006
|
+
let t = "", n = "";
|
|
2007
|
+
for (let i = 0; i < e.header.length; i++) n += this.tablecell(e.header[i]);
|
|
2008
|
+
t += this.tablerow({ text: n });
|
|
2009
|
+
let r = "";
|
|
2010
|
+
for (let i = 0; i < e.rows.length; i++) {
|
|
2011
|
+
let s = e.rows[i];
|
|
2012
|
+
n = "";
|
|
2013
|
+
for (let o2 = 0; o2 < s.length; o2++) n += this.tablecell(s[o2]);
|
|
2014
|
+
r += this.tablerow({ text: n });
|
|
2015
|
+
}
|
|
2016
|
+
return r && (r = `<tbody>${r}</tbody>`), `<table>
|
|
2017
|
+
<thead>
|
|
2018
|
+
` + t + `</thead>
|
|
2019
|
+
` + r + `</table>
|
|
2020
|
+
`;
|
|
2021
|
+
}
|
|
2022
|
+
tablerow({ text: e }) {
|
|
2023
|
+
return `<tr>
|
|
2024
|
+
${e}</tr>
|
|
2025
|
+
`;
|
|
2026
|
+
}
|
|
2027
|
+
tablecell(e) {
|
|
2028
|
+
let t = this.parser.parseInline(e.tokens), n = e.header ? "th" : "td";
|
|
2029
|
+
return (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + t + `</${n}>
|
|
2030
|
+
`;
|
|
2031
|
+
}
|
|
2032
|
+
strong({ tokens: e }) {
|
|
2033
|
+
return `<strong>${this.parser.parseInline(e)}</strong>`;
|
|
2034
|
+
}
|
|
2035
|
+
em({ tokens: e }) {
|
|
2036
|
+
return `<em>${this.parser.parseInline(e)}</em>`;
|
|
2037
|
+
}
|
|
2038
|
+
codespan({ text: e }) {
|
|
2039
|
+
return `<code>${w(e, true)}</code>`;
|
|
2040
|
+
}
|
|
2041
|
+
br(e) {
|
|
2042
|
+
return "<br>";
|
|
2043
|
+
}
|
|
2044
|
+
del({ tokens: e }) {
|
|
2045
|
+
return `<del>${this.parser.parseInline(e)}</del>`;
|
|
2046
|
+
}
|
|
2047
|
+
link({ href: e, title: t, tokens: n }) {
|
|
2048
|
+
let r = this.parser.parseInline(n), i = J(e);
|
|
2049
|
+
if (i === null) return r;
|
|
2050
|
+
e = i;
|
|
2051
|
+
let s = '<a href="' + e + '"';
|
|
2052
|
+
return t && (s += ' title="' + w(t) + '"'), s += ">" + r + "</a>", s;
|
|
2053
|
+
}
|
|
2054
|
+
image({ href: e, title: t, text: n, tokens: r }) {
|
|
2055
|
+
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
|
|
2056
|
+
let i = J(e);
|
|
2057
|
+
if (i === null) return w(n);
|
|
2058
|
+
e = i;
|
|
2059
|
+
let s = `<img src="${e}" alt="${n}"`;
|
|
2060
|
+
return t && (s += ` title="${w(t)}"`), s += ">", s;
|
|
2061
|
+
}
|
|
2062
|
+
text(e) {
|
|
2063
|
+
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : w(e.text);
|
|
2064
|
+
}
|
|
2065
|
+
};
|
|
2066
|
+
var $ = class {
|
|
2067
|
+
strong({ text: e }) {
|
|
2068
|
+
return e;
|
|
2069
|
+
}
|
|
2070
|
+
em({ text: e }) {
|
|
2071
|
+
return e;
|
|
2072
|
+
}
|
|
2073
|
+
codespan({ text: e }) {
|
|
2074
|
+
return e;
|
|
2075
|
+
}
|
|
2076
|
+
del({ text: e }) {
|
|
2077
|
+
return e;
|
|
2078
|
+
}
|
|
2079
|
+
html({ text: e }) {
|
|
2080
|
+
return e;
|
|
2081
|
+
}
|
|
2082
|
+
text({ text: e }) {
|
|
2083
|
+
return e;
|
|
2084
|
+
}
|
|
2085
|
+
link({ text: e }) {
|
|
2086
|
+
return "" + e;
|
|
2087
|
+
}
|
|
2088
|
+
image({ text: e }) {
|
|
2089
|
+
return "" + e;
|
|
2090
|
+
}
|
|
2091
|
+
br() {
|
|
2092
|
+
return "";
|
|
2093
|
+
}
|
|
2094
|
+
};
|
|
2095
|
+
var b = class u2 {
|
|
2096
|
+
options;
|
|
2097
|
+
renderer;
|
|
2098
|
+
textRenderer;
|
|
2099
|
+
constructor(e) {
|
|
2100
|
+
this.options = e || T, this.options.renderer = this.options.renderer || new P(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $();
|
|
2101
|
+
}
|
|
2102
|
+
static parse(e, t) {
|
|
2103
|
+
return new u2(t).parse(e);
|
|
2104
|
+
}
|
|
2105
|
+
static parseInline(e, t) {
|
|
2106
|
+
return new u2(t).parseInline(e);
|
|
2107
|
+
}
|
|
2108
|
+
parse(e, t = true) {
|
|
2109
|
+
let n = "";
|
|
2110
|
+
for (let r = 0; r < e.length; r++) {
|
|
2111
|
+
let i = e[r];
|
|
2112
|
+
if (this.options.extensions?.renderers?.[i.type]) {
|
|
2113
|
+
let o2 = i, a = this.options.extensions.renderers[o2.type].call({ parser: this }, o2);
|
|
2114
|
+
if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(o2.type)) {
|
|
2115
|
+
n += a || "";
|
|
2116
|
+
continue;
|
|
2117
|
+
}
|
|
2118
|
+
}
|
|
2119
|
+
let s = i;
|
|
2120
|
+
switch (s.type) {
|
|
2121
|
+
case "space": {
|
|
2122
|
+
n += this.renderer.space(s);
|
|
2123
|
+
continue;
|
|
2124
|
+
}
|
|
2125
|
+
case "hr": {
|
|
2126
|
+
n += this.renderer.hr(s);
|
|
2127
|
+
continue;
|
|
2128
|
+
}
|
|
2129
|
+
case "heading": {
|
|
2130
|
+
n += this.renderer.heading(s);
|
|
2131
|
+
continue;
|
|
2132
|
+
}
|
|
2133
|
+
case "code": {
|
|
2134
|
+
n += this.renderer.code(s);
|
|
2135
|
+
continue;
|
|
2136
|
+
}
|
|
2137
|
+
case "table": {
|
|
2138
|
+
n += this.renderer.table(s);
|
|
2139
|
+
continue;
|
|
2140
|
+
}
|
|
2141
|
+
case "blockquote": {
|
|
2142
|
+
n += this.renderer.blockquote(s);
|
|
2143
|
+
continue;
|
|
2144
|
+
}
|
|
2145
|
+
case "list": {
|
|
2146
|
+
n += this.renderer.list(s);
|
|
2147
|
+
continue;
|
|
2148
|
+
}
|
|
2149
|
+
case "html": {
|
|
2150
|
+
n += this.renderer.html(s);
|
|
2151
|
+
continue;
|
|
2152
|
+
}
|
|
2153
|
+
case "def": {
|
|
2154
|
+
n += this.renderer.def(s);
|
|
2155
|
+
continue;
|
|
2156
|
+
}
|
|
2157
|
+
case "paragraph": {
|
|
2158
|
+
n += this.renderer.paragraph(s);
|
|
2159
|
+
continue;
|
|
2160
|
+
}
|
|
2161
|
+
case "text": {
|
|
2162
|
+
let o2 = s, a = this.renderer.text(o2);
|
|
2163
|
+
for (; r + 1 < e.length && e[r + 1].type === "text"; ) o2 = e[++r], a += `
|
|
2164
|
+
` + this.renderer.text(o2);
|
|
2165
|
+
t ? n += this.renderer.paragraph({ type: "paragraph", raw: a, text: a, tokens: [{ type: "text", raw: a, text: a, escaped: true }] }) : n += a;
|
|
2166
|
+
continue;
|
|
2167
|
+
}
|
|
2168
|
+
default: {
|
|
2169
|
+
let o2 = 'Token with "' + s.type + '" type was not found.';
|
|
2170
|
+
if (this.options.silent) return console.error(o2), "";
|
|
2171
|
+
throw new Error(o2);
|
|
2172
|
+
}
|
|
2173
|
+
}
|
|
2174
|
+
}
|
|
2175
|
+
return n;
|
|
2176
|
+
}
|
|
2177
|
+
parseInline(e, t = this.renderer) {
|
|
2178
|
+
let n = "";
|
|
2179
|
+
for (let r = 0; r < e.length; r++) {
|
|
2180
|
+
let i = e[r];
|
|
2181
|
+
if (this.options.extensions?.renderers?.[i.type]) {
|
|
2182
|
+
let o2 = this.options.extensions.renderers[i.type].call({ parser: this }, i);
|
|
2183
|
+
if (o2 !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i.type)) {
|
|
2184
|
+
n += o2 || "";
|
|
2185
|
+
continue;
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
let s = i;
|
|
2189
|
+
switch (s.type) {
|
|
2190
|
+
case "escape": {
|
|
2191
|
+
n += t.text(s);
|
|
2192
|
+
break;
|
|
2193
|
+
}
|
|
2194
|
+
case "html": {
|
|
2195
|
+
n += t.html(s);
|
|
2196
|
+
break;
|
|
2197
|
+
}
|
|
2198
|
+
case "link": {
|
|
2199
|
+
n += t.link(s);
|
|
2200
|
+
break;
|
|
2201
|
+
}
|
|
2202
|
+
case "image": {
|
|
2203
|
+
n += t.image(s);
|
|
2204
|
+
break;
|
|
2205
|
+
}
|
|
2206
|
+
case "strong": {
|
|
2207
|
+
n += t.strong(s);
|
|
2208
|
+
break;
|
|
2209
|
+
}
|
|
2210
|
+
case "em": {
|
|
2211
|
+
n += t.em(s);
|
|
2212
|
+
break;
|
|
2213
|
+
}
|
|
2214
|
+
case "codespan": {
|
|
2215
|
+
n += t.codespan(s);
|
|
2216
|
+
break;
|
|
2217
|
+
}
|
|
2218
|
+
case "br": {
|
|
2219
|
+
n += t.br(s);
|
|
2220
|
+
break;
|
|
2221
|
+
}
|
|
2222
|
+
case "del": {
|
|
2223
|
+
n += t.del(s);
|
|
2224
|
+
break;
|
|
2225
|
+
}
|
|
2226
|
+
case "text": {
|
|
2227
|
+
n += t.text(s);
|
|
2228
|
+
break;
|
|
2229
|
+
}
|
|
2230
|
+
default: {
|
|
2231
|
+
let o2 = 'Token with "' + s.type + '" type was not found.';
|
|
2232
|
+
if (this.options.silent) return console.error(o2), "";
|
|
2233
|
+
throw new Error(o2);
|
|
2234
|
+
}
|
|
2235
|
+
}
|
|
2236
|
+
}
|
|
2237
|
+
return n;
|
|
2238
|
+
}
|
|
2239
|
+
};
|
|
2240
|
+
var S = class {
|
|
2241
|
+
options;
|
|
2242
|
+
block;
|
|
2243
|
+
constructor(e) {
|
|
2244
|
+
this.options = e || T;
|
|
2245
|
+
}
|
|
2246
|
+
static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]);
|
|
2247
|
+
static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]);
|
|
2248
|
+
preprocess(e) {
|
|
2249
|
+
return e;
|
|
2250
|
+
}
|
|
2251
|
+
postprocess(e) {
|
|
2252
|
+
return e;
|
|
2253
|
+
}
|
|
2254
|
+
processAllTokens(e) {
|
|
2255
|
+
return e;
|
|
2256
|
+
}
|
|
2257
|
+
emStrongMask(e) {
|
|
2258
|
+
return e;
|
|
2259
|
+
}
|
|
2260
|
+
provideLexer() {
|
|
2261
|
+
return this.block ? x.lex : x.lexInline;
|
|
2262
|
+
}
|
|
2263
|
+
provideParser() {
|
|
2264
|
+
return this.block ? b.parse : b.parseInline;
|
|
2265
|
+
}
|
|
2266
|
+
};
|
|
2267
|
+
var B = class {
|
|
2268
|
+
defaults = L();
|
|
2269
|
+
options = this.setOptions;
|
|
2270
|
+
parse = this.parseMarkdown(true);
|
|
2271
|
+
parseInline = this.parseMarkdown(false);
|
|
2272
|
+
Parser = b;
|
|
2273
|
+
Renderer = P;
|
|
2274
|
+
TextRenderer = $;
|
|
2275
|
+
Lexer = x;
|
|
2276
|
+
Tokenizer = y;
|
|
2277
|
+
Hooks = S;
|
|
2278
|
+
constructor(...e) {
|
|
2279
|
+
this.use(...e);
|
|
2280
|
+
}
|
|
2281
|
+
walkTokens(e, t) {
|
|
2282
|
+
let n = [];
|
|
2283
|
+
for (let r of e) switch (n = n.concat(t.call(this, r)), r.type) {
|
|
2284
|
+
case "table": {
|
|
2285
|
+
let i = r;
|
|
2286
|
+
for (let s of i.header) n = n.concat(this.walkTokens(s.tokens, t));
|
|
2287
|
+
for (let s of i.rows) for (let o2 of s) n = n.concat(this.walkTokens(o2.tokens, t));
|
|
2288
|
+
break;
|
|
2289
|
+
}
|
|
2290
|
+
case "list": {
|
|
2291
|
+
let i = r;
|
|
2292
|
+
n = n.concat(this.walkTokens(i.items, t));
|
|
2293
|
+
break;
|
|
2294
|
+
}
|
|
2295
|
+
default: {
|
|
2296
|
+
let i = r;
|
|
2297
|
+
this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((s) => {
|
|
2298
|
+
let o2 = i[s].flat(1 / 0);
|
|
2299
|
+
n = n.concat(this.walkTokens(o2, t));
|
|
2300
|
+
}) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, t)));
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
return n;
|
|
2304
|
+
}
|
|
2305
|
+
use(...e) {
|
|
2306
|
+
let t = this.defaults.extensions || { renderers: {}, childTokens: {} };
|
|
2307
|
+
return e.forEach((n) => {
|
|
2308
|
+
let r = { ...n };
|
|
2309
|
+
if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i) => {
|
|
2310
|
+
if (!i.name) throw new Error("extension name required");
|
|
2311
|
+
if ("renderer" in i) {
|
|
2312
|
+
let s = t.renderers[i.name];
|
|
2313
|
+
s ? t.renderers[i.name] = function(...o2) {
|
|
2314
|
+
let a = i.renderer.apply(this, o2);
|
|
2315
|
+
return a === false && (a = s.apply(this, o2)), a;
|
|
2316
|
+
} : t.renderers[i.name] = i.renderer;
|
|
2317
|
+
}
|
|
2318
|
+
if ("tokenizer" in i) {
|
|
2319
|
+
if (!i.level || i.level !== "block" && i.level !== "inline") throw new Error("extension level must be 'block' or 'inline'");
|
|
2320
|
+
let s = t[i.level];
|
|
2321
|
+
s ? s.unshift(i.tokenizer) : t[i.level] = [i.tokenizer], i.start && (i.level === "block" ? t.startBlock ? t.startBlock.push(i.start) : t.startBlock = [i.start] : i.level === "inline" && (t.startInline ? t.startInline.push(i.start) : t.startInline = [i.start]));
|
|
2322
|
+
}
|
|
2323
|
+
"childTokens" in i && i.childTokens && (t.childTokens[i.name] = i.childTokens);
|
|
2324
|
+
}), r.extensions = t), n.renderer) {
|
|
2325
|
+
let i = this.defaults.renderer || new P(this.defaults);
|
|
2326
|
+
for (let s in n.renderer) {
|
|
2327
|
+
if (!(s in i)) throw new Error(`renderer '${s}' does not exist`);
|
|
2328
|
+
if (["options", "parser"].includes(s)) continue;
|
|
2329
|
+
let o2 = s, a = n.renderer[o2], l = i[o2];
|
|
2330
|
+
i[o2] = (...c) => {
|
|
2331
|
+
let p2 = a.apply(i, c);
|
|
2332
|
+
return p2 === false && (p2 = l.apply(i, c)), p2 || "";
|
|
2333
|
+
};
|
|
2334
|
+
}
|
|
2335
|
+
r.renderer = i;
|
|
2336
|
+
}
|
|
2337
|
+
if (n.tokenizer) {
|
|
2338
|
+
let i = this.defaults.tokenizer || new y(this.defaults);
|
|
2339
|
+
for (let s in n.tokenizer) {
|
|
2340
|
+
if (!(s in i)) throw new Error(`tokenizer '${s}' does not exist`);
|
|
2341
|
+
if (["options", "rules", "lexer"].includes(s)) continue;
|
|
2342
|
+
let o2 = s, a = n.tokenizer[o2], l = i[o2];
|
|
2343
|
+
i[o2] = (...c) => {
|
|
2344
|
+
let p2 = a.apply(i, c);
|
|
2345
|
+
return p2 === false && (p2 = l.apply(i, c)), p2;
|
|
2346
|
+
};
|
|
2347
|
+
}
|
|
2348
|
+
r.tokenizer = i;
|
|
2349
|
+
}
|
|
2350
|
+
if (n.hooks) {
|
|
2351
|
+
let i = this.defaults.hooks || new S();
|
|
2352
|
+
for (let s in n.hooks) {
|
|
2353
|
+
if (!(s in i)) throw new Error(`hook '${s}' does not exist`);
|
|
2354
|
+
if (["options", "block"].includes(s)) continue;
|
|
2355
|
+
let o2 = s, a = n.hooks[o2], l = i[o2];
|
|
2356
|
+
S.passThroughHooks.has(s) ? i[o2] = (c) => {
|
|
2357
|
+
if (this.defaults.async && S.passThroughHooksRespectAsync.has(s)) return (async () => {
|
|
2358
|
+
let g2 = await a.call(i, c);
|
|
2359
|
+
return l.call(i, g2);
|
|
2360
|
+
})();
|
|
2361
|
+
let p2 = a.call(i, c);
|
|
2362
|
+
return l.call(i, p2);
|
|
2363
|
+
} : i[o2] = (...c) => {
|
|
2364
|
+
if (this.defaults.async) return (async () => {
|
|
2365
|
+
let g2 = await a.apply(i, c);
|
|
2366
|
+
return g2 === false && (g2 = await l.apply(i, c)), g2;
|
|
2367
|
+
})();
|
|
2368
|
+
let p2 = a.apply(i, c);
|
|
2369
|
+
return p2 === false && (p2 = l.apply(i, c)), p2;
|
|
2370
|
+
};
|
|
2371
|
+
}
|
|
2372
|
+
r.hooks = i;
|
|
2373
|
+
}
|
|
2374
|
+
if (n.walkTokens) {
|
|
2375
|
+
let i = this.defaults.walkTokens, s = n.walkTokens;
|
|
2376
|
+
r.walkTokens = function(o2) {
|
|
2377
|
+
let a = [];
|
|
2378
|
+
return a.push(s.call(this, o2)), i && (a = a.concat(i.call(this, o2))), a;
|
|
2379
|
+
};
|
|
2380
|
+
}
|
|
2381
|
+
this.defaults = { ...this.defaults, ...r };
|
|
2382
|
+
}), this;
|
|
2383
|
+
}
|
|
2384
|
+
setOptions(e) {
|
|
2385
|
+
return this.defaults = { ...this.defaults, ...e }, this;
|
|
2386
|
+
}
|
|
2387
|
+
lexer(e, t) {
|
|
2388
|
+
return x.lex(e, t ?? this.defaults);
|
|
2389
|
+
}
|
|
2390
|
+
parser(e, t) {
|
|
2391
|
+
return b.parse(e, t ?? this.defaults);
|
|
2392
|
+
}
|
|
2393
|
+
parseMarkdown(e) {
|
|
2394
|
+
return (n, r) => {
|
|
2395
|
+
let i = { ...r }, s = { ...this.defaults, ...i }, o2 = this.onError(!!s.silent, !!s.async);
|
|
2396
|
+
if (this.defaults.async === true && i.async === false) return o2(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
|
|
2397
|
+
if (typeof n > "u" || n === null) return o2(new Error("marked(): input parameter is undefined or null"));
|
|
2398
|
+
if (typeof n != "string") return o2(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected"));
|
|
2399
|
+
if (s.hooks && (s.hooks.options = s, s.hooks.block = e), s.async) return (async () => {
|
|
2400
|
+
let a = s.hooks ? await s.hooks.preprocess(n) : n, c = await (s.hooks ? await s.hooks.provideLexer() : e ? x.lex : x.lexInline)(a, s), p2 = s.hooks ? await s.hooks.processAllTokens(c) : c;
|
|
2401
|
+
s.walkTokens && await Promise.all(this.walkTokens(p2, s.walkTokens));
|
|
2402
|
+
let d = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(p2, s);
|
|
2403
|
+
return s.hooks ? await s.hooks.postprocess(d) : d;
|
|
2404
|
+
})().catch(o2);
|
|
2405
|
+
try {
|
|
2406
|
+
s.hooks && (n = s.hooks.preprocess(n));
|
|
2407
|
+
let l = (s.hooks ? s.hooks.provideLexer() : e ? x.lex : x.lexInline)(n, s);
|
|
2408
|
+
s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens);
|
|
2409
|
+
let p2 = (s.hooks ? s.hooks.provideParser() : e ? b.parse : b.parseInline)(l, s);
|
|
2410
|
+
return s.hooks && (p2 = s.hooks.postprocess(p2)), p2;
|
|
2411
|
+
} catch (a) {
|
|
2412
|
+
return o2(a);
|
|
2413
|
+
}
|
|
2414
|
+
};
|
|
2415
|
+
}
|
|
2416
|
+
onError(e, t) {
|
|
2417
|
+
return (n) => {
|
|
2418
|
+
if (n.message += `
|
|
2419
|
+
Please report this to https://github.com/markedjs/marked.`, e) {
|
|
2420
|
+
let r = "<p>An error occurred:</p><pre>" + w(n.message + "", true) + "</pre>";
|
|
2421
|
+
return t ? Promise.resolve(r) : r;
|
|
2422
|
+
}
|
|
2423
|
+
if (t) return Promise.reject(n);
|
|
2424
|
+
throw n;
|
|
2425
|
+
};
|
|
2426
|
+
}
|
|
2427
|
+
};
|
|
2428
|
+
var _ = new B();
|
|
2429
|
+
function k(u3, e) {
|
|
2430
|
+
return _.parse(u3, e);
|
|
2431
|
+
}
|
|
2432
|
+
k.options = k.setOptions = function(u3) {
|
|
2433
|
+
return _.setOptions(u3), k.defaults = _.defaults, G(k.defaults), k;
|
|
2434
|
+
};
|
|
2435
|
+
k.getDefaults = L;
|
|
2436
|
+
k.defaults = T;
|
|
2437
|
+
k.use = function(...u3) {
|
|
2438
|
+
return _.use(...u3), k.defaults = _.defaults, G(k.defaults), k;
|
|
2439
|
+
};
|
|
2440
|
+
k.walkTokens = function(u3, e) {
|
|
2441
|
+
return _.walkTokens(u3, e);
|
|
2442
|
+
};
|
|
2443
|
+
k.parseInline = _.parseInline;
|
|
2444
|
+
k.Parser = b;
|
|
2445
|
+
k.parser = b.parse;
|
|
2446
|
+
k.Renderer = P;
|
|
2447
|
+
k.TextRenderer = $;
|
|
2448
|
+
k.Lexer = x;
|
|
2449
|
+
k.lexer = x.lex;
|
|
2450
|
+
k.Tokenizer = y;
|
|
2451
|
+
k.Hooks = S;
|
|
2452
|
+
k.parse = k;
|
|
2453
|
+
k.options;
|
|
2454
|
+
k.setOptions;
|
|
2455
|
+
k.use;
|
|
2456
|
+
k.walkTokens;
|
|
2457
|
+
k.parseInline;
|
|
2458
|
+
b.parse;
|
|
2459
|
+
x.lex;
|
|
2460
|
+
const ListContainer = dt.ul`
|
|
2461
|
+
padding-left: 20px;
|
|
2462
|
+
line-height: 16px;
|
|
2463
|
+
li::before {
|
|
2464
|
+
content: '•';
|
|
2465
|
+
display: inline-block;
|
|
2466
|
+
width: 1em;
|
|
2467
|
+
margin-left: -1em;
|
|
2468
|
+
line-height: 10px;
|
|
2469
|
+
}
|
|
2470
|
+
`;
|
|
2471
|
+
const List$1 = ({ items }) => {
|
|
2472
|
+
if (!items) {
|
|
2473
|
+
return null;
|
|
2474
|
+
}
|
|
2475
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ListContainer, { children: items.map((item, index) => {
|
|
2476
|
+
const htmlContent = k.parseInline(item, { breaks: true });
|
|
2477
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { dangerouslySetInnerHTML: { __html: htmlContent } }, index);
|
|
2478
|
+
}) });
|
|
2479
|
+
};
|
|
2480
|
+
const Text = dt.div`
|
|
2481
|
+
font-style: italic;
|
|
2482
|
+
font-size: 1.4rem;
|
|
2483
|
+
`;
|
|
2484
|
+
const DateComponent = ({ date }) => {
|
|
2485
|
+
if (!date) {
|
|
2486
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Text, { children: "Present" });
|
|
2487
|
+
}
|
|
2488
|
+
const fullDate = new Date(date);
|
|
2489
|
+
const options = { year: "numeric", month: "long" };
|
|
2490
|
+
const formattedDate = fullDate.toLocaleDateString("en-US", options);
|
|
2491
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Text, { children: formattedDate ?? "Present" });
|
|
2492
|
+
};
|
|
2493
|
+
const Range = dt.div`
|
|
2494
|
+
display: flex;
|
|
2495
|
+
font-style: italic;
|
|
2496
|
+
font-size: 13px;
|
|
2497
|
+
`;
|
|
2498
|
+
const DateRange = ({ startDate, endDate }) => {
|
|
2499
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Range, { children: [
|
|
2500
|
+
/* @__PURE__ */ jsxRuntime.jsx(DateComponent, { date: startDate }),
|
|
2501
|
+
" — ",
|
|
2502
|
+
/* @__PURE__ */ jsxRuntime.jsx(DateComponent, { date: endDate })
|
|
2503
|
+
] });
|
|
2504
|
+
};
|
|
2505
|
+
const Meta = dt.div`
|
|
2506
|
+
display: flex;
|
|
2507
|
+
justify-content: space-between;
|
|
2508
|
+
margin-bottom: 2px;
|
|
2509
|
+
`;
|
|
2510
|
+
const Title$1 = dt.div`
|
|
2511
|
+
font-weight: 600;
|
|
2512
|
+
font-size: 1.45rem;
|
|
2513
|
+
margin-bottom: 3px;
|
|
2514
|
+
`;
|
|
2515
|
+
const SubTitle = dt.div`
|
|
2516
|
+
font-style: italic;
|
|
2517
|
+
font-size: 1.4rem;
|
|
2518
|
+
margin-bottom: 3px;
|
|
2519
|
+
`;
|
|
2520
|
+
const Container$1 = dt.div`
|
|
2521
|
+
margin-bottom: 10px;
|
|
2522
|
+
`;
|
|
2523
|
+
const Summary$1 = dt.div`
|
|
2524
|
+
margin-bottom: 5px;
|
|
2525
|
+
`;
|
|
2526
|
+
const Experience = ({
|
|
2527
|
+
title,
|
|
2528
|
+
date,
|
|
2529
|
+
startDate,
|
|
2530
|
+
endDate,
|
|
2531
|
+
subTitle,
|
|
2532
|
+
summary,
|
|
2533
|
+
highlights
|
|
2534
|
+
}) => {
|
|
2535
|
+
const htmlSummary = summary ? k.parse(summary, { breaks: true }) : "";
|
|
2536
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container$1, { children: [
|
|
2537
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Meta, { children: [
|
|
2538
|
+
/* @__PURE__ */ jsxRuntime.jsx(Title$1, { children: title }),
|
|
2539
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "secondary", children: date ? /* @__PURE__ */ jsxRuntime.jsx(DateComponent, { date }) : /* @__PURE__ */ jsxRuntime.jsx(DateRange, { startDate, endDate }) })
|
|
2540
|
+
] }),
|
|
2541
|
+
subTitle && /* @__PURE__ */ jsxRuntime.jsx(SubTitle, { children: subTitle }),
|
|
2542
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "secondary", children: [
|
|
2543
|
+
summary && /* @__PURE__ */ jsxRuntime.jsx(Summary$1, { dangerouslySetInnerHTML: { __html: htmlSummary } }),
|
|
2544
|
+
/* @__PURE__ */ jsxRuntime.jsx(List$1, { items: highlights })
|
|
2545
|
+
] })
|
|
2546
|
+
] });
|
|
2547
|
+
};
|
|
2548
|
+
const Work$1 = ({ projects }) => {
|
|
2549
|
+
if (!projects) {
|
|
2550
|
+
return null;
|
|
2551
|
+
}
|
|
2552
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Projects", children: projects.map((w2, key) => {
|
|
2553
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2554
|
+
Experience,
|
|
2555
|
+
{
|
|
2556
|
+
title: w2.name,
|
|
2557
|
+
startDate: w2.startDate,
|
|
2558
|
+
endDate: w2.endDate,
|
|
2559
|
+
summary: w2.description,
|
|
2560
|
+
highlights: w2.highlights
|
|
2561
|
+
},
|
|
2562
|
+
key
|
|
2563
|
+
);
|
|
2564
|
+
}) }) });
|
|
2565
|
+
};
|
|
2566
|
+
const Title = dt.div`
|
|
2567
|
+
font-size: 3rem;
|
|
2568
|
+
text-align: center;
|
|
2569
|
+
margin-top: 20px;
|
|
2570
|
+
margin-bottom: 20px;
|
|
2571
|
+
`;
|
|
2572
|
+
const BasicInfo = dt.div`
|
|
2573
|
+
display: flex;
|
|
2574
|
+
gap: 10px 20px;
|
|
2575
|
+
justify-content: center;
|
|
2576
|
+
flex-wrap: wrap;
|
|
2577
|
+
`;
|
|
2578
|
+
const Info = dt.div`
|
|
2579
|
+
display: flex;
|
|
2580
|
+
align-items: center;
|
|
2581
|
+
font-size: 1.5rem;
|
|
2582
|
+
svg {
|
|
2583
|
+
color: #000;
|
|
2584
|
+
margin-right: 5px;
|
|
2585
|
+
width: 10px;
|
|
2586
|
+
}
|
|
2587
|
+
|
|
2588
|
+
a {
|
|
2589
|
+
color: inherit;
|
|
2590
|
+
text-decoration: none;
|
|
2591
|
+
&:hover {
|
|
2592
|
+
color: #000;
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
`;
|
|
2596
|
+
const HeroComponent = ({ basics }) => {
|
|
2597
|
+
const { name, url, location, profiles, phone, email } = basics;
|
|
2598
|
+
const linkedin = profiles.find(
|
|
2599
|
+
({ network }) => network.toLowerCase() === "linkedin"
|
|
2600
|
+
);
|
|
2601
|
+
const github = profiles.find(
|
|
2602
|
+
({ network }) => network.toLowerCase() === "github"
|
|
2603
|
+
);
|
|
2604
|
+
const twitter = profiles.find(
|
|
2605
|
+
({ network }) => network.toLowerCase() === "twitter"
|
|
2606
|
+
);
|
|
2607
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(SectionComponent, { children: [
|
|
2608
|
+
/* @__PURE__ */ jsxRuntime.jsx(Title, { children: name }),
|
|
2609
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "secondary", children: /* @__PURE__ */ jsxRuntime.jsxs(BasicInfo, { children: [
|
|
2610
|
+
location && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2611
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaMapPin, {}),
|
|
2612
|
+
location.city,
|
|
2613
|
+
", ",
|
|
2614
|
+
location.countryCode
|
|
2615
|
+
] }),
|
|
2616
|
+
email && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2617
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaEnvelope, {}),
|
|
2618
|
+
email
|
|
2619
|
+
] }),
|
|
2620
|
+
phone && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2621
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaPhoneAlt, {}),
|
|
2622
|
+
phone
|
|
2623
|
+
] }),
|
|
2624
|
+
url && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2625
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaLink, {}),
|
|
2626
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { target: "_blank", href: url, children: url })
|
|
2627
|
+
] }),
|
|
2628
|
+
linkedin && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2629
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaLinkedin, {}),
|
|
2630
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: `https://linkedin.com/in/${linkedin.username}`, children: linkedin.username })
|
|
2631
|
+
] }),
|
|
2632
|
+
github && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2633
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaGithub, {}),
|
|
2634
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: `https://github.com/${github.username}`, children: github.username })
|
|
2635
|
+
] }),
|
|
2636
|
+
twitter && /* @__PURE__ */ jsxRuntime.jsxs(Info, { children: [
|
|
2637
|
+
/* @__PURE__ */ jsxRuntime.jsx(fa.FaTwitter, {}),
|
|
2638
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: `https://twitter.com/${twitter.username}`, children: twitter.username })
|
|
2639
|
+
] })
|
|
2640
|
+
] }) })
|
|
2641
|
+
] });
|
|
2642
|
+
};
|
|
2643
|
+
const Summary = dt.div``;
|
|
2644
|
+
const SummaryComponent = ({ basics }) => {
|
|
2645
|
+
const { summary } = basics;
|
|
2646
|
+
const htmlContent = summary ? k.parse(summary, { breaks: true }) : "";
|
|
2647
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "secondary", children: /* @__PURE__ */ jsxRuntime.jsx(Summary, { dangerouslySetInnerHTML: { __html: htmlContent } }) }) });
|
|
2648
|
+
};
|
|
2649
|
+
const Education = ({ education }) => {
|
|
2650
|
+
if (!education) {
|
|
2651
|
+
return null;
|
|
2652
|
+
}
|
|
2653
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Education", children: education.map((e, key) => {
|
|
2654
|
+
let subTitle = e.area ? `${e.studyType} in ${e.area}` : e.studyType;
|
|
2655
|
+
if (e.score) {
|
|
2656
|
+
subTitle = `${subTitle} (${e.score})`;
|
|
2657
|
+
}
|
|
2658
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2659
|
+
Experience,
|
|
2660
|
+
{
|
|
2661
|
+
title: e.institution,
|
|
2662
|
+
subTitle,
|
|
2663
|
+
startDate: e.startDate,
|
|
2664
|
+
endDate: e.endDate,
|
|
2665
|
+
highlights: e.courses
|
|
2666
|
+
},
|
|
2667
|
+
key
|
|
2668
|
+
);
|
|
2669
|
+
}) }) });
|
|
2670
|
+
};
|
|
2671
|
+
const Work = ({ work }) => {
|
|
2672
|
+
if (!work) {
|
|
2673
|
+
return null;
|
|
2674
|
+
}
|
|
2675
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Experience", children: work.map((w2, key) => {
|
|
2676
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2677
|
+
Experience,
|
|
2678
|
+
{
|
|
2679
|
+
title: w2.position,
|
|
2680
|
+
subTitle: w2.name,
|
|
2681
|
+
startDate: w2.startDate,
|
|
2682
|
+
endDate: w2.endDate,
|
|
2683
|
+
summary: w2.summary,
|
|
2684
|
+
highlights: w2.highlights
|
|
2685
|
+
},
|
|
2686
|
+
key
|
|
2687
|
+
);
|
|
2688
|
+
}) }) });
|
|
2689
|
+
};
|
|
2690
|
+
const Certificates = ({ certificates }) => {
|
|
2691
|
+
if (!certificates) {
|
|
2692
|
+
return null;
|
|
2693
|
+
}
|
|
2694
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Certificates", children: certificates.map((c, key) => {
|
|
2695
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2696
|
+
Experience,
|
|
2697
|
+
{
|
|
2698
|
+
title: c.name,
|
|
2699
|
+
subTitle: c.issuer,
|
|
2700
|
+
date: c.date
|
|
2701
|
+
},
|
|
2702
|
+
key
|
|
2703
|
+
);
|
|
2704
|
+
}) }) });
|
|
2705
|
+
};
|
|
2706
|
+
const Publications = ({ publications }) => {
|
|
2707
|
+
if (!publications) {
|
|
2708
|
+
return null;
|
|
2709
|
+
}
|
|
2710
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Publications", children: publications.map((p2, key) => {
|
|
2711
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2712
|
+
Experience,
|
|
2713
|
+
{
|
|
2714
|
+
title: p2.name,
|
|
2715
|
+
subTitle: p2.publisher,
|
|
2716
|
+
date: p2.releaseDate,
|
|
2717
|
+
summary: p2.summary
|
|
2718
|
+
},
|
|
2719
|
+
key
|
|
2720
|
+
);
|
|
2721
|
+
}) }) });
|
|
2722
|
+
};
|
|
2723
|
+
const Awards = ({ awards }) => {
|
|
2724
|
+
if (!awards) {
|
|
2725
|
+
return null;
|
|
2726
|
+
}
|
|
2727
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Awards", children: awards.map((a, key) => {
|
|
2728
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2729
|
+
Experience,
|
|
2730
|
+
{
|
|
2731
|
+
title: a.title,
|
|
2732
|
+
subTitle: a.awarder,
|
|
2733
|
+
date: a.date,
|
|
2734
|
+
summary: a.summary
|
|
2735
|
+
},
|
|
2736
|
+
key
|
|
2737
|
+
);
|
|
2738
|
+
}) }) });
|
|
2739
|
+
};
|
|
2740
|
+
const Name$1 = dt.div`
|
|
2741
|
+
font-weight: 600;
|
|
2742
|
+
font-size: 1.4rem;
|
|
2743
|
+
`;
|
|
2744
|
+
const List = dt.div`
|
|
2745
|
+
font-size: 1.4rem;
|
|
2746
|
+
margin-left: 5px;
|
|
2747
|
+
`;
|
|
2748
|
+
const Container = dt.div`
|
|
2749
|
+
margin-bottom: 5px;
|
|
2750
|
+
display: flex;
|
|
2751
|
+
align-items: baseline;
|
|
2752
|
+
`;
|
|
2753
|
+
const OneLineList = ({ name, items }) => {
|
|
2754
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
|
|
2755
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Name$1, { children: [
|
|
2756
|
+
name,
|
|
2757
|
+
":"
|
|
2758
|
+
] }),
|
|
2759
|
+
/* @__PURE__ */ jsxRuntime.jsx(List, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "secondary", children: items?.join(", ") }) })
|
|
2760
|
+
] });
|
|
2761
|
+
};
|
|
2762
|
+
const Skills = ({ skills }) => {
|
|
2763
|
+
if (!skills) {
|
|
2764
|
+
return null;
|
|
2765
|
+
}
|
|
2766
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Skills", children: skills.map((w2, key) => {
|
|
2767
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OneLineList, { name: w2.name, items: w2.keywords }, key);
|
|
2768
|
+
}) }) });
|
|
2769
|
+
};
|
|
2770
|
+
const Interests = ({ interests }) => {
|
|
2771
|
+
if (!interests) {
|
|
2772
|
+
return null;
|
|
2773
|
+
}
|
|
2774
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Interests", children: interests.map((w2, key) => {
|
|
2775
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OneLineList, { name: w2.name, items: w2.keywords }, key);
|
|
2776
|
+
}) }) });
|
|
2777
|
+
};
|
|
2778
|
+
const Languages = ({ languages }) => {
|
|
2779
|
+
if (!languages) {
|
|
2780
|
+
return null;
|
|
2781
|
+
}
|
|
2782
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Languages", children: languages.map((l, key) => {
|
|
2783
|
+
return /* @__PURE__ */ jsxRuntime.jsx(OneLineList, { name: l.language, items: [l.fluency] }, key);
|
|
2784
|
+
}) }) });
|
|
2785
|
+
};
|
|
2786
|
+
const Name = dt.div`
|
|
2787
|
+
font-weight: 600;
|
|
2788
|
+
font-size: 1.4rem;
|
|
2789
|
+
margin-bottom: 5px;
|
|
2790
|
+
`;
|
|
2791
|
+
const Reference = dt.p``;
|
|
2792
|
+
const References = ({ references }) => {
|
|
2793
|
+
if (!references) {
|
|
2794
|
+
return null;
|
|
2795
|
+
}
|
|
2796
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "References", children: references.map((r, key) => {
|
|
2797
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginBottom: "15px" }, children: [
|
|
2798
|
+
/* @__PURE__ */ jsxRuntime.jsx(Name, { children: r.name }),
|
|
2799
|
+
/* @__PURE__ */ jsxRuntime.jsx(Reference, { children: r.reference })
|
|
2800
|
+
] }, key);
|
|
2801
|
+
}) }) });
|
|
2802
|
+
};
|
|
2803
|
+
const Volunteer = ({ volunteer }) => {
|
|
2804
|
+
if (!volunteer) {
|
|
2805
|
+
return null;
|
|
2806
|
+
}
|
|
2807
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(SectionComponent, { title: "Volunteer", children: volunteer.map((w2, key) => {
|
|
2808
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2809
|
+
Experience,
|
|
2810
|
+
{
|
|
2811
|
+
title: w2.position,
|
|
2812
|
+
subTitle: w2.organization,
|
|
2813
|
+
startDate: w2.startDate,
|
|
2814
|
+
endDate: w2.endDate,
|
|
2815
|
+
summary: w2.summary,
|
|
2816
|
+
highlights: w2.highlights
|
|
2817
|
+
},
|
|
2818
|
+
key
|
|
2819
|
+
);
|
|
2820
|
+
}) }) });
|
|
2821
|
+
};
|
|
2822
|
+
const Layout = dt.div`
|
|
2823
|
+
max-width: 660px;
|
|
2824
|
+
margin: 0 auto;
|
|
2825
|
+
line-height: calc(1ex / 0.32);
|
|
2826
|
+
margin-bottom: 40px;
|
|
2827
|
+
`;
|
|
2828
|
+
const Resume = ({ resume }) => {
|
|
2829
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Layout, { children: [
|
|
2830
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeroComponent, { basics: resume.basics }),
|
|
2831
|
+
/* @__PURE__ */ jsxRuntime.jsx(SummaryComponent, { basics: resume.basics }),
|
|
2832
|
+
/* @__PURE__ */ jsxRuntime.jsx(Work, { work: resume.work }),
|
|
2833
|
+
/* @__PURE__ */ jsxRuntime.jsx(Work$1, { projects: resume.projects }),
|
|
2834
|
+
/* @__PURE__ */ jsxRuntime.jsx(Education, { education: resume.education }),
|
|
2835
|
+
/* @__PURE__ */ jsxRuntime.jsx(Certificates, { certificates: resume.certificates }),
|
|
2836
|
+
/* @__PURE__ */ jsxRuntime.jsx(Publications, { publications: resume.publications }),
|
|
2837
|
+
/* @__PURE__ */ jsxRuntime.jsx(Awards, { awards: resume.awards }),
|
|
2838
|
+
/* @__PURE__ */ jsxRuntime.jsx(Volunteer, { volunteer: resume.volunteer }),
|
|
2839
|
+
/* @__PURE__ */ jsxRuntime.jsx(Languages, { languages: resume.languages }),
|
|
2840
|
+
/* @__PURE__ */ jsxRuntime.jsx(Skills, { skills: resume.skills }),
|
|
2841
|
+
/* @__PURE__ */ jsxRuntime.jsx(Interests, { interests: resume.interests }),
|
|
2842
|
+
/* @__PURE__ */ jsxRuntime.jsx(References, { references: resume.references })
|
|
2843
|
+
] });
|
|
2844
|
+
};
|
|
2845
|
+
const render = (resume) => {
|
|
2846
|
+
return renderResumeDocument(
|
|
2847
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { children: /* @__PURE__ */ jsxRuntime.jsx(Resume, { resume }) }),
|
|
2848
|
+
{
|
|
2849
|
+
head: `<style>
|
|
2850
|
+
@font-face {
|
|
2851
|
+
font-family: LatinModern;
|
|
2852
|
+
font-style: normal;
|
|
2853
|
+
font-weight: normal;
|
|
2854
|
+
font-display: swap;
|
|
2855
|
+
src: url("/fonts/lmroman10-regular.otf") format("opentype");
|
|
2856
|
+
}
|
|
2857
|
+
|
|
2858
|
+
@font-face {
|
|
2859
|
+
font-family: LatinModern;
|
|
2860
|
+
font-weight: bold;
|
|
2861
|
+
font-display: swap;
|
|
2862
|
+
src: url("/fonts/lmroman10-bold.otf") format("opentype");
|
|
2863
|
+
}
|
|
2864
|
+
|
|
2865
|
+
@font-face {
|
|
2866
|
+
font-family: LatinModern;
|
|
2867
|
+
font-style: italic;
|
|
2868
|
+
font-display: swap;
|
|
2869
|
+
src: url("/fonts/lmroman10-italic.otf") format("opentype");
|
|
2870
|
+
}
|
|
2871
|
+
|
|
2872
|
+
@font-face {
|
|
2873
|
+
font-family: LatinModernSans;
|
|
2874
|
+
font-style: normal;
|
|
2875
|
+
font-weight: normal;
|
|
2876
|
+
font-display: swap;
|
|
2877
|
+
src: url("/fonts/lmsans10-regular.otf") format("opentype");
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
@font-face {
|
|
2881
|
+
font-family: LatinModernSans;
|
|
2882
|
+
font-weight: bold;
|
|
2883
|
+
font-display: swap;
|
|
2884
|
+
src: url("/fonts/lmsans10-bold.otf") format("opentype");
|
|
2885
|
+
}
|
|
2886
|
+
|
|
2887
|
+
@font-face {
|
|
2888
|
+
font-family: LatinModernSans;
|
|
2889
|
+
font-style: italic;
|
|
2890
|
+
font-display: swap;
|
|
2891
|
+
src: url("/fonts/lmsans10-italic.otf") format("opentype");
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
html {
|
|
2895
|
+
font-family:LatinModern, "Courier New", monospace;
|
|
2896
|
+
background: #fff;
|
|
2897
|
+
font-size: 11px;
|
|
2898
|
+
}
|
|
2899
|
+
|
|
2900
|
+
h2 {
|
|
2901
|
+
font-size: 1.65rem;
|
|
2902
|
+
}
|
|
2903
|
+
|
|
2904
|
+
p {
|
|
2905
|
+
padding: 0;
|
|
2906
|
+
margin: 0;
|
|
2907
|
+
}
|
|
2908
|
+
|
|
2909
|
+
p, li {
|
|
2910
|
+
font-size: 1.4rem;
|
|
2911
|
+
line-height: 1.5rem;
|
|
2912
|
+
}
|
|
2913
|
+
|
|
2914
|
+
.secondary {
|
|
2915
|
+
color: #111;
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2918
|
+
a {
|
|
2919
|
+
text-decoration: none;
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
ul {
|
|
2923
|
+
list-style: none;
|
|
2924
|
+
margin: 0;
|
|
2925
|
+
padding: 0;
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
*,
|
|
2929
|
+
*::before,
|
|
2930
|
+
*::after {
|
|
2931
|
+
box-sizing: border-box;
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2934
|
+
|
|
2935
|
+
|
|
2936
|
+
</style>`,
|
|
2937
|
+
lang: "en",
|
|
2938
|
+
dir: "ltr",
|
|
2939
|
+
title: `${resume.basics.name} - Resume`,
|
|
2940
|
+
includeTokensCss: false
|
|
2941
|
+
}
|
|
2942
|
+
);
|
|
2943
|
+
};
|
|
2944
|
+
exports.Resume = Resume;
|
|
2945
|
+
exports.render = render;
|