@har-analyzer/components 0.0.9 → 0.0.11

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.
Files changed (61) hide show
  1. package/README.md +125 -43
  2. package/dist/chunks/har.js +27 -27
  3. package/dist/chunks/index.js +186 -44
  4. package/dist/chunks/json.js +10 -0
  5. package/dist/components/collapsible-key-value-list.d.ts +9 -0
  6. package/dist/components/collapsible-section.d.ts +5 -0
  7. package/dist/components/enhanced-board/constants/i18n.d.ts +21 -0
  8. package/dist/components/enhanced-board/index.d.ts +15 -0
  9. package/dist/components/enhanced-table.d.ts +47 -0
  10. package/dist/components/enhanced-top-navigation.d.ts +7 -0
  11. package/dist/components/error-boundary.d.ts +1 -0
  12. package/dist/components/horizontal-gap.d.ts +6 -0
  13. package/dist/components/json-viewer.d.ts +3 -0
  14. package/dist/components/simple-app-layout.d.ts +6 -0
  15. package/dist/components/simple-app-preferences/content-width-switcher.d.ts +1 -0
  16. package/dist/components/simple-app-preferences/index.d.ts +1 -0
  17. package/dist/components/simple-app-preferences/theme-switcher.d.ts +1 -0
  18. package/dist/components/vertical-gap.d.ts +6 -0
  19. package/dist/features/har-analyzer/index.d.ts +5 -0
  20. package/dist/features/har-analyzer-preferences/index.d.ts +7 -0
  21. package/dist/features/har-entries-viewer/components/har-entries-filters/components/content-type-filter.d.ts +7 -0
  22. package/dist/features/har-entries-viewer/components/har-entries-filters/components/errors-filter.d.ts +6 -0
  23. package/dist/features/har-entries-viewer/components/har-entries-filters/index.d.ts +1 -0
  24. package/dist/features/har-entries-viewer/hooks/preferences.d.ts +2 -0
  25. package/dist/features/har-entries-viewer/index.d.ts +7 -0
  26. package/dist/features/har-file-uploader/file-upload-error.d.ts +5 -0
  27. package/dist/features/har-file-uploader/index.d.ts +8 -0
  28. package/dist/features/list-har-entries/index.d.ts +8 -0
  29. package/dist/features/view-har-entry/components/content-viewer.d.ts +7 -0
  30. package/dist/features/view-har-entry/components/headers-viewer.d.ts +6 -0
  31. package/dist/features/view-har-entry/components/payload-viewer.d.ts +6 -0
  32. package/dist/features/view-har-entry/components/response-viewer.d.ts +6 -0
  33. package/dist/features/view-har-entry/index.d.ts +5 -0
  34. package/dist/har-analyzer-preferences.js +21 -93
  35. package/dist/har-analyzer.js +72 -75
  36. package/dist/har-entries-viewer.js +7 -2117
  37. package/dist/har-file-uploader.js +18 -18
  38. package/dist/hooks/app-preferences.d.ts +2 -0
  39. package/dist/hooks/board-preferences.d.ts +2 -0
  40. package/dist/hooks/table-preferences.d.ts +12 -0
  41. package/dist/index.d.ts +8 -77
  42. package/dist/index.js +17 -16
  43. package/dist/list-har-entries.js +2131 -0
  44. package/dist/utils/common.d.ts +2 -0
  45. package/dist/utils/content-type.d.ts +4 -0
  46. package/dist/utils/date.d.ts +2 -0
  47. package/dist/utils/file-upload.d.ts +3 -0
  48. package/dist/utils/har.d.ts +17 -0
  49. package/dist/utils/json.d.ts +1 -0
  50. package/dist/view-har-entry.js +3130 -0
  51. package/package.json +3 -3
  52. package/dist/har-analyzer-preferences.d.ts +0 -18
  53. package/dist/har-analyzer.d.ts +0 -11
  54. package/dist/har-content-viewer.d.ts +0 -14
  55. package/dist/har-content-viewer.js +0 -150
  56. package/dist/har-entries-filters.d.ts +0 -23
  57. package/dist/har-entries-filters.js +0 -7
  58. package/dist/har-entries-viewer.d.ts +0 -26
  59. package/dist/har-entry-viewer.d.ts +0 -24
  60. package/dist/har-entry-viewer.js +0 -1145
  61. package/dist/har-file-uploader.d.ts +0 -16
@@ -1,2119 +1,9 @@
1
- import { jsx as b, jsxs as ke } from "react/jsx-runtime";
2
- import We from "@cloudscape-design/components/link";
3
- import I from "@cloudscape-design/components/status-indicator";
4
- import { useMemo as y } from "react";
5
- import { useCollection as Ce } from "@cloudscape-design/collection-hooks";
6
- import Fe from "@cloudscape-design/components/collection-preferences";
7
- import Ie from "@cloudscape-design/components/property-filter";
8
- import Ee from "@cloudscape-design/components/table";
9
- import { useHARAnalyzerPreferences as ge } from "./har-analyzer-preferences.js";
10
- import { o as W } from "./chunks/content-type.js";
11
- import { d as Z, i as He } from "./chunks/har.js";
12
- const _e = [
13
- "B",
14
- "kB",
15
- "MB",
16
- "GB",
17
- "TB",
18
- "PB",
19
- "EB",
20
- "ZB",
21
- "YB"
22
- ], $e = [
23
- "B",
24
- "KiB",
25
- "MiB",
26
- "GiB",
27
- "TiB",
28
- "PiB",
29
- "EiB",
30
- "ZiB",
31
- "YiB"
32
- ], Le = [
33
- "b",
34
- "kbit",
35
- "Mbit",
36
- "Gbit",
37
- "Tbit",
38
- "Pbit",
39
- "Ebit",
40
- "Zbit",
41
- "Ybit"
42
- ], Ue = [
43
- "b",
44
- "kibit",
45
- "Mibit",
46
- "Gibit",
47
- "Tibit",
48
- "Pibit",
49
- "Eibit",
50
- "Zibit",
51
- "Yibit"
52
- ], R = (e, t, n) => {
53
- let r = e;
54
- return typeof t == "string" || Array.isArray(t) ? r = e.toLocaleString(t, n) : (t === !0 || n !== void 0) && (r = e.toLocaleString(void 0, n)), r;
55
- }, we = (e) => {
56
- if (typeof e == "number")
57
- return Math.log10(e);
58
- const t = e.toString(10);
59
- return t.length + Math.log10("0." + t.slice(0, 15));
60
- }, Ae = (e) => typeof e == "number" ? Math.log(e) : we(e) * Math.log(10), ze = (e, t) => {
61
- if (typeof e == "number")
62
- return e / t;
63
- const n = e / BigInt(t), r = e % BigInt(t);
64
- return Number(n) + Number(r) / t;
65
- };
66
- function qe(e, t) {
67
- if (typeof e != "bigint" && !Number.isFinite(e))
68
- throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);
69
- t = {
70
- bits: !1,
71
- binary: !1,
72
- space: !0,
73
- ...t
74
- };
75
- const n = t.bits ? t.binary ? Ue : Le : t.binary ? $e : _e, r = t.space ? " " : "";
76
- if (t.signed && (typeof e == "number" ? e === 0 : e === 0n))
77
- return ` 0${r}${n[0]}`;
78
- const a = e < 0, i = a ? "-" : t.signed ? "+" : "";
79
- a && (e = -e);
80
- let o;
81
- if (t.minimumFractionDigits !== void 0 && (o = { minimumFractionDigits: t.minimumFractionDigits }), t.maximumFractionDigits !== void 0 && (o = { maximumFractionDigits: t.maximumFractionDigits, ...o }), e < 1) {
82
- const d = R(e, t.locale, o);
83
- return i + d + r + n[0];
84
- }
85
- const s = Math.min(Math.floor(t.binary ? Ae(e) / Math.log(1024) : we(e) / 3), n.length - 1);
86
- e = ze(e, (t.binary ? 1024 : 1e3) ** s), o || (e = e.toPrecision(3));
87
- const u = R(Number(e), t.locale, o), f = n[s];
88
- return i + u + r + f;
89
- }
90
- function Be(e, t) {
91
- return ge(`tablePreferences_${e}`, t);
92
- }
93
- function Xe(e, t = []) {
94
- return ge(`tableColumnWidths_${e}`, t);
95
- }
96
- function Ze(e, t) {
97
- return e.map((n) => ({
98
- ...W(t).reduce(
99
- (a, [i, { cell: o }]) => {
100
- const { value: s } = o(n);
101
- return a[i] = s, a;
102
- },
103
- {}
104
- ),
105
- __originalItem__: n
106
- }));
107
- }
108
- function Re(e) {
109
- return W(e).map(([t, { header: n, type: r }]) => {
110
- const a = {
111
- key: t,
112
- groupValuesLabel: `${n} values`,
113
- propertyLabel: n,
114
- operators: ["=", "!=", ":", "!:", "^", "!^"]
115
- };
116
- return r === "number" ? {
117
- ...a,
118
- operators: ["=", "!=", ">", ">=", "<", "<="]
119
- } : r === "date" ? {
120
- ...a,
121
- operators: [
122
- { operator: "=", match: "datetime" },
123
- { operator: "!=", match: "datetime" },
124
- { operator: ">", match: "datetime" },
125
- { operator: ">=", match: "datetime" },
126
- { operator: "<", match: "datetime" },
127
- { operator: "<=", match: "datetime" }
128
- ]
129
- } : r === "list" ? {
130
- ...a,
131
- operators: ["=", "!=", ":", "!:"]
132
- } : a;
133
- });
134
- }
135
- function je(e) {
136
- return W(e).map(([t, {
137
- header: n,
138
- width: r,
139
- isSortable: a = !0,
140
- cell: i
141
- }]) => ({
142
- id: t,
143
- header: n,
144
- width: r,
145
- sortingField: a ? t : void 0,
146
- cell: (o) => {
147
- const { value: s, content: u } = i(o.__originalItem__);
148
- return u || (s instanceof Date ? s.getTime() : Array.isArray(s) ? s.join(", ") : s);
149
- }
150
- }));
151
- }
152
- function Ge(e) {
153
- return W(e).map(([t, { header: n, isVisibleByDefault: r = !0 }]) => ({
154
- id: t,
155
- label: n,
156
- visible: r
157
- }));
158
- }
159
- function Qe(e, t) {
160
- return e.map((n) => {
161
- const r = t.find((a) => a.id === n.id)?.width;
162
- return {
163
- ...n,
164
- width: r ?? n.width
165
- };
166
- });
167
- }
168
- function Ve(e, t) {
169
- if (!e.contentDisplay)
170
- return e;
171
- const n = t.map(({ id: a }) => a), r = e.contentDisplay.filter(({ id: a }) => n.includes(a));
172
- return {
173
- ...e,
174
- contentDisplay: r
175
- };
176
- }
177
- function Je({
178
- id: e,
179
- items: t,
180
- columnsDefinition: n,
181
- empty: r,
182
- selectionType: a,
183
- onSelectionChange: i
184
- }) {
185
- const o = y(
186
- () => Re(n),
187
- [n]
188
- ), s = y(
189
- () => Ze(t, n),
190
- [t, n]
191
- ), {
192
- items: u,
193
- collectionProps: f,
194
- propertyFilterProps: d,
195
- filteredItemsCount: l
196
- } = Ce(s, {
197
- propertyFiltering: {
198
- filteringProperties: o
199
- },
200
- sorting: {},
201
- selection: { keepSelection: !0 }
202
- }), D = y(
203
- () => Ge(n),
204
- [n]
205
- ), [B, Pe] = Be(e, {
206
- contentDisplay: D,
207
- wrapLines: !1
208
- }), x = y(() => je(n), [n]), C = y(
209
- () => Ve(B, x),
210
- [B, x]
211
- ), [X, Ye] = Xe(e), Ne = y(
212
- () => Qe(x, X),
213
- [x, X]
214
- );
215
- return /* @__PURE__ */ b(
216
- Ee,
217
- {
218
- ...f,
219
- variant: "borderless",
220
- resizableColumns: !0,
221
- stripedRows: !0,
222
- stickyHeader: !0,
223
- wrapLines: C.wrapLines,
224
- columnDefinitions: Ne,
225
- columnDisplay: C.contentDisplay,
226
- onColumnWidthsChange: ({ detail: T }) => {
227
- const F = x.map(({ id: Se }, ve) => ({
228
- id: Se,
229
- width: T.widths[ve]
230
- }));
231
- Ye(F);
232
- },
233
- items: u,
234
- empty: r,
235
- selectionType: a,
236
- onSelectionChange: (T) => {
237
- f.onSelectionChange && f.onSelectionChange(T), i && i(T.detail.selectedItems.map((F) => F.__originalItem__));
238
- },
239
- filter: /* @__PURE__ */ b(
240
- Ie,
241
- {
242
- countText: l ? `${l} matches` : void 0,
243
- ...d
244
- }
245
- ),
246
- preferences: /* @__PURE__ */ b(
247
- Fe,
248
- {
249
- wrapLinesPreference: {},
250
- contentDisplayPreference: { options: D, enableColumnFiltering: !0 },
251
- preferences: C,
252
- onConfirm: ({ detail: T }) => {
253
- Pe(T);
254
- }
255
- }
256
- )
257
- }
258
- );
259
- }
260
- const Ke = {
261
- lessThanXSeconds: {
262
- one: "less than a second",
263
- other: "less than {{count}} seconds"
264
- },
265
- xSeconds: {
266
- one: "1 second",
267
- other: "{{count}} seconds"
268
- },
269
- halfAMinute: "half a minute",
270
- lessThanXMinutes: {
271
- one: "less than a minute",
272
- other: "less than {{count}} minutes"
273
- },
274
- xMinutes: {
275
- one: "1 minute",
276
- other: "{{count}} minutes"
277
- },
278
- aboutXHours: {
279
- one: "about 1 hour",
280
- other: "about {{count}} hours"
281
- },
282
- xHours: {
283
- one: "1 hour",
284
- other: "{{count}} hours"
285
- },
286
- xDays: {
287
- one: "1 day",
288
- other: "{{count}} days"
289
- },
290
- aboutXWeeks: {
291
- one: "about 1 week",
292
- other: "about {{count}} weeks"
293
- },
294
- xWeeks: {
295
- one: "1 week",
296
- other: "{{count}} weeks"
297
- },
298
- aboutXMonths: {
299
- one: "about 1 month",
300
- other: "about {{count}} months"
301
- },
302
- xMonths: {
303
- one: "1 month",
304
- other: "{{count}} months"
305
- },
306
- aboutXYears: {
307
- one: "about 1 year",
308
- other: "about {{count}} years"
309
- },
310
- xYears: {
311
- one: "1 year",
312
- other: "{{count}} years"
313
- },
314
- overXYears: {
315
- one: "over 1 year",
316
- other: "over {{count}} years"
317
- },
318
- almostXYears: {
319
- one: "almost 1 year",
320
- other: "almost {{count}} years"
321
- }
322
- }, et = (e, t, n) => {
323
- let r;
324
- const a = Ke[e];
325
- return typeof a == "string" ? r = a : t === 1 ? r = a.one : r = a.other.replace("{{count}}", t.toString()), n?.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r;
326
- };
327
- function E(e) {
328
- return (t = {}) => {
329
- const n = t.width ? String(t.width) : e.defaultWidth;
330
- return e.formats[n] || e.formats[e.defaultWidth];
331
- };
332
- }
333
- const tt = {
334
- full: "EEEE, MMMM do, y",
335
- long: "MMMM do, y",
336
- medium: "MMM d, y",
337
- short: "MM/dd/yyyy"
338
- }, nt = {
339
- full: "h:mm:ss a zzzz",
340
- long: "h:mm:ss a z",
341
- medium: "h:mm:ss a",
342
- short: "h:mm a"
343
- }, rt = {
344
- full: "{{date}} 'at' {{time}}",
345
- long: "{{date}} 'at' {{time}}",
346
- medium: "{{date}}, {{time}}",
347
- short: "{{date}}, {{time}}"
348
- }, at = {
349
- date: E({
350
- formats: tt,
351
- defaultWidth: "full"
352
- }),
353
- time: E({
354
- formats: nt,
355
- defaultWidth: "full"
356
- }),
357
- dateTime: E({
358
- formats: rt,
359
- defaultWidth: "full"
360
- })
361
- }, it = {
362
- lastWeek: "'last' eeee 'at' p",
363
- yesterday: "'yesterday at' p",
364
- today: "'today at' p",
365
- tomorrow: "'tomorrow at' p",
366
- nextWeek: "eeee 'at' p",
367
- other: "P"
368
- }, ot = (e, t, n, r) => it[e];
369
- function P(e) {
370
- return (t, n) => {
371
- const r = n?.context ? String(n.context) : "standalone";
372
- let a;
373
- if (r === "formatting" && e.formattingValues) {
374
- const o = e.defaultFormattingWidth || e.defaultWidth, s = n?.width ? String(n.width) : o;
375
- a = e.formattingValues[s] || e.formattingValues[o];
376
- } else {
377
- const o = e.defaultWidth, s = n?.width ? String(n.width) : e.defaultWidth;
378
- a = e.values[s] || e.values[o];
379
- }
380
- const i = e.argumentCallback ? e.argumentCallback(t) : t;
381
- return a[i];
382
- };
383
- }
384
- const st = {
385
- narrow: ["B", "A"],
386
- abbreviated: ["BC", "AD"],
387
- wide: ["Before Christ", "Anno Domini"]
388
- }, ut = {
389
- narrow: ["1", "2", "3", "4"],
390
- abbreviated: ["Q1", "Q2", "Q3", "Q4"],
391
- wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
392
- }, ct = {
393
- narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
394
- abbreviated: [
395
- "Jan",
396
- "Feb",
397
- "Mar",
398
- "Apr",
399
- "May",
400
- "Jun",
401
- "Jul",
402
- "Aug",
403
- "Sep",
404
- "Oct",
405
- "Nov",
406
- "Dec"
407
- ],
408
- wide: [
409
- "January",
410
- "February",
411
- "March",
412
- "April",
413
- "May",
414
- "June",
415
- "July",
416
- "August",
417
- "September",
418
- "October",
419
- "November",
420
- "December"
421
- ]
422
- }, ft = {
423
- narrow: ["S", "M", "T", "W", "T", "F", "S"],
424
- short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
425
- abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
426
- wide: [
427
- "Sunday",
428
- "Monday",
429
- "Tuesday",
430
- "Wednesday",
431
- "Thursday",
432
- "Friday",
433
- "Saturday"
434
- ]
435
- }, lt = {
436
- narrow: {
437
- am: "a",
438
- pm: "p",
439
- midnight: "mi",
440
- noon: "n",
441
- morning: "morning",
442
- afternoon: "afternoon",
443
- evening: "evening",
444
- night: "night"
445
- },
446
- abbreviated: {
447
- am: "AM",
448
- pm: "PM",
449
- midnight: "midnight",
450
- noon: "noon",
451
- morning: "morning",
452
- afternoon: "afternoon",
453
- evening: "evening",
454
- night: "night"
455
- },
456
- wide: {
457
- am: "a.m.",
458
- pm: "p.m.",
459
- midnight: "midnight",
460
- noon: "noon",
461
- morning: "morning",
462
- afternoon: "afternoon",
463
- evening: "evening",
464
- night: "night"
465
- }
466
- }, dt = {
467
- narrow: {
468
- am: "a",
469
- pm: "p",
470
- midnight: "mi",
471
- noon: "n",
472
- morning: "in the morning",
473
- afternoon: "in the afternoon",
474
- evening: "in the evening",
475
- night: "at night"
476
- },
477
- abbreviated: {
478
- am: "AM",
479
- pm: "PM",
480
- midnight: "midnight",
481
- noon: "noon",
482
- morning: "in the morning",
483
- afternoon: "in the afternoon",
484
- evening: "in the evening",
485
- night: "at night"
486
- },
487
- wide: {
488
- am: "a.m.",
489
- pm: "p.m.",
490
- midnight: "midnight",
491
- noon: "noon",
492
- morning: "in the morning",
493
- afternoon: "in the afternoon",
494
- evening: "in the evening",
495
- night: "at night"
496
- }
497
- }, mt = (e, t) => {
498
- const n = Number(e), r = n % 100;
499
- if (r > 20 || r < 10)
500
- switch (r % 10) {
501
- case 1:
502
- return n + "st";
503
- case 2:
504
- return n + "nd";
505
- case 3:
506
- return n + "rd";
507
- }
508
- return n + "th";
509
- }, ht = {
510
- ordinalNumber: mt,
511
- era: P({
512
- values: st,
513
- defaultWidth: "wide"
514
- }),
515
- quarter: P({
516
- values: ut,
517
- defaultWidth: "wide",
518
- argumentCallback: (e) => e - 1
519
- }),
520
- month: P({
521
- values: ct,
522
- defaultWidth: "wide"
523
- }),
524
- day: P({
525
- values: ft,
526
- defaultWidth: "wide"
527
- }),
528
- dayPeriod: P({
529
- values: lt,
530
- defaultWidth: "wide",
531
- formattingValues: dt,
532
- defaultFormattingWidth: "wide"
533
- })
534
- };
535
- function Y(e) {
536
- return (t, n = {}) => {
537
- const r = n.width, a = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], i = t.match(a);
538
- if (!i)
539
- return null;
540
- const o = i[0], s = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], u = Array.isArray(s) ? wt(s, (l) => l.test(o)) : (
541
- // [TODO] -- I challenge you to fix the type
542
- gt(s, (l) => l.test(o))
543
- );
544
- let f;
545
- f = e.valueCallback ? e.valueCallback(u) : u, f = n.valueCallback ? (
546
- // [TODO] -- I challenge you to fix the type
547
- n.valueCallback(f)
548
- ) : f;
549
- const d = t.slice(o.length);
550
- return { value: f, rest: d };
551
- };
552
- }
553
- function gt(e, t) {
554
- for (const n in e)
555
- if (Object.prototype.hasOwnProperty.call(e, n) && t(e[n]))
556
- return n;
557
- }
558
- function wt(e, t) {
559
- for (let n = 0; n < e.length; n++)
560
- if (t(e[n]))
561
- return n;
562
- }
563
- function yt(e) {
564
- return (t, n = {}) => {
565
- const r = t.match(e.matchPattern);
566
- if (!r) return null;
567
- const a = r[0], i = t.match(e.parsePattern);
568
- if (!i) return null;
569
- let o = e.valueCallback ? e.valueCallback(i[0]) : i[0];
570
- o = n.valueCallback ? n.valueCallback(o) : o;
571
- const s = t.slice(a.length);
572
- return { value: o, rest: s };
573
- };
574
- }
575
- const pt = /^(\d+)(th|st|nd|rd)?/i, bt = /\d+/i, Dt = {
576
- narrow: /^(b|a)/i,
577
- abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
578
- wide: /^(before christ|before common era|anno domini|common era)/i
579
- }, Tt = {
580
- any: [/^b/i, /^(a|c)/i]
581
- }, Mt = {
582
- narrow: /^[1234]/i,
583
- abbreviated: /^q[1234]/i,
584
- wide: /^[1234](th|st|nd|rd)? quarter/i
585
- }, Ot = {
586
- any: [/1/i, /2/i, /3/i, /4/i]
587
- }, xt = {
588
- narrow: /^[jfmasond]/i,
589
- abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
590
- wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
591
- }, Pt = {
592
- narrow: [
593
- /^j/i,
594
- /^f/i,
595
- /^m/i,
596
- /^a/i,
597
- /^m/i,
598
- /^j/i,
599
- /^j/i,
600
- /^a/i,
601
- /^s/i,
602
- /^o/i,
603
- /^n/i,
604
- /^d/i
605
- ],
606
- any: [
607
- /^ja/i,
608
- /^f/i,
609
- /^mar/i,
610
- /^ap/i,
611
- /^may/i,
612
- /^jun/i,
613
- /^jul/i,
614
- /^au/i,
615
- /^s/i,
616
- /^o/i,
617
- /^n/i,
618
- /^d/i
619
- ]
620
- }, Yt = {
621
- narrow: /^[smtwf]/i,
622
- short: /^(su|mo|tu|we|th|fr|sa)/i,
623
- abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
624
- wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
625
- }, Nt = {
626
- narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
627
- any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
628
- }, St = {
629
- narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
630
- any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
631
- }, vt = {
632
- any: {
633
- am: /^a/i,
634
- pm: /^p/i,
635
- midnight: /^mi/i,
636
- noon: /^no/i,
637
- morning: /morning/i,
638
- afternoon: /afternoon/i,
639
- evening: /evening/i,
640
- night: /night/i
641
- }
642
- }, kt = {
643
- ordinalNumber: yt({
644
- matchPattern: pt,
645
- parsePattern: bt,
646
- valueCallback: (e) => parseInt(e, 10)
647
- }),
648
- era: Y({
649
- matchPatterns: Dt,
650
- defaultMatchWidth: "wide",
651
- parsePatterns: Tt,
652
- defaultParseWidth: "any"
653
- }),
654
- quarter: Y({
655
- matchPatterns: Mt,
656
- defaultMatchWidth: "wide",
657
- parsePatterns: Ot,
658
- defaultParseWidth: "any",
659
- valueCallback: (e) => e + 1
660
- }),
661
- month: Y({
662
- matchPatterns: xt,
663
- defaultMatchWidth: "wide",
664
- parsePatterns: Pt,
665
- defaultParseWidth: "any"
666
- }),
667
- day: Y({
668
- matchPatterns: Yt,
669
- defaultMatchWidth: "wide",
670
- parsePatterns: Nt,
671
- defaultParseWidth: "any"
672
- }),
673
- dayPeriod: Y({
674
- matchPatterns: St,
675
- defaultMatchWidth: "any",
676
- parsePatterns: vt,
677
- defaultParseWidth: "any"
678
- })
679
- }, Wt = {
680
- code: "en-US",
681
- formatDistance: et,
682
- formatLong: at,
683
- formatRelative: ot,
684
- localize: ht,
685
- match: kt,
686
- options: {
687
- weekStartsOn: 0,
688
- firstWeekContainsDate: 1
689
- }
690
- };
691
- let Ct = {};
692
- function S() {
693
- return Ct;
694
- }
695
- const ye = 6048e5, Ft = 864e5, j = Symbol.for("constructDateFrom");
696
- function w(e, t) {
697
- return typeof e == "function" ? e(t) : e && typeof e == "object" && j in e ? e[j](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
698
- }
699
- function h(e, t) {
700
- return w(t || e, e);
701
- }
702
- function G(e) {
703
- const t = h(e), n = new Date(
704
- Date.UTC(
705
- t.getFullYear(),
706
- t.getMonth(),
707
- t.getDate(),
708
- t.getHours(),
709
- t.getMinutes(),
710
- t.getSeconds(),
711
- t.getMilliseconds()
712
- )
713
- );
714
- return n.setUTCFullYear(t.getFullYear()), +e - +n;
715
- }
716
- function It(e, ...t) {
717
- const n = w.bind(
718
- null,
719
- t.find((r) => typeof r == "object")
720
- );
721
- return t.map(n);
722
- }
723
- function Q(e, t) {
724
- const n = h(e, t?.in);
725
- return n.setHours(0, 0, 0, 0), n;
726
- }
727
- function Et(e, t, n) {
728
- const [r, a] = It(
729
- n?.in,
730
- e,
731
- t
732
- ), i = Q(r), o = Q(a), s = +i - G(i), u = +o - G(o);
733
- return Math.round((s - u) / Ft);
734
- }
735
- function Ht(e, t) {
736
- const n = h(e, t?.in);
737
- return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
738
- }
739
- function _t(e, t) {
740
- const n = h(e, t?.in);
741
- return Et(n, Ht(n)) + 1;
742
- }
743
- function N(e, t) {
744
- const n = S(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, a = h(e, t?.in), i = a.getDay(), o = (i < r ? 7 : 0) + i - r;
745
- return a.setDate(a.getDate() - o), a.setHours(0, 0, 0, 0), a;
746
- }
747
- function v(e, t) {
748
- return N(e, { ...t, weekStartsOn: 1 });
749
- }
750
- function pe(e, t) {
751
- const n = h(e, t?.in), r = n.getFullYear(), a = w(n, 0);
752
- a.setFullYear(r + 1, 0, 4), a.setHours(0, 0, 0, 0);
753
- const i = v(a), o = w(n, 0);
754
- o.setFullYear(r, 0, 4), o.setHours(0, 0, 0, 0);
755
- const s = v(o);
756
- return n.getTime() >= i.getTime() ? r + 1 : n.getTime() >= s.getTime() ? r : r - 1;
757
- }
758
- function $t(e, t) {
759
- const n = pe(e, t), r = w(e, 0);
760
- return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), v(r);
761
- }
762
- function Lt(e, t) {
763
- const n = h(e, t?.in), r = +v(n) - +$t(n);
764
- return Math.round(r / ye) + 1;
765
- }
766
- function be(e, t) {
767
- const n = h(e, t?.in), r = n.getFullYear(), a = S(), i = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? a.firstWeekContainsDate ?? a.locale?.options?.firstWeekContainsDate ?? 1, o = w(t?.in || e, 0);
768
- o.setFullYear(r + 1, 0, i), o.setHours(0, 0, 0, 0);
769
- const s = N(o, t), u = w(t?.in || e, 0);
770
- u.setFullYear(r, 0, i), u.setHours(0, 0, 0, 0);
771
- const f = N(u, t);
772
- return +n >= +s ? r + 1 : +n >= +f ? r : r - 1;
773
- }
774
- function Ut(e, t) {
775
- const n = S(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, a = be(e, t), i = w(t?.in || e, 0);
776
- return i.setFullYear(a, 0, r), i.setHours(0, 0, 0, 0), N(i, t);
777
- }
778
- function At(e, t) {
779
- const n = h(e, t?.in), r = +N(n, t) - +Ut(n, t);
780
- return Math.round(r / ye) + 1;
781
- }
782
- function c(e, t) {
783
- const n = e < 0 ? "-" : "", r = Math.abs(e).toString().padStart(t, "0");
784
- return n + r;
785
- }
786
- const g = {
787
- // Year
788
- y(e, t) {
789
- const n = e.getFullYear(), r = n > 0 ? n : 1 - n;
790
- return c(t === "yy" ? r % 100 : r, t.length);
791
- },
792
- // Month
793
- M(e, t) {
794
- const n = e.getMonth();
795
- return t === "M" ? String(n + 1) : c(n + 1, 2);
796
- },
797
- // Day of the month
798
- d(e, t) {
799
- return c(e.getDate(), t.length);
800
- },
801
- // AM or PM
802
- a(e, t) {
803
- const n = e.getHours() / 12 >= 1 ? "pm" : "am";
804
- switch (t) {
805
- case "a":
806
- case "aa":
807
- return n.toUpperCase();
808
- case "aaa":
809
- return n;
810
- case "aaaaa":
811
- return n[0];
812
- case "aaaa":
813
- default:
814
- return n === "am" ? "a.m." : "p.m.";
815
- }
816
- },
817
- // Hour [1-12]
818
- h(e, t) {
819
- return c(e.getHours() % 12 || 12, t.length);
820
- },
821
- // Hour [0-23]
822
- H(e, t) {
823
- return c(e.getHours(), t.length);
824
- },
825
- // Minute
826
- m(e, t) {
827
- return c(e.getMinutes(), t.length);
828
- },
829
- // Second
830
- s(e, t) {
831
- return c(e.getSeconds(), t.length);
832
- },
833
- // Fraction of second
834
- S(e, t) {
835
- const n = t.length, r = e.getMilliseconds(), a = Math.trunc(
836
- r * Math.pow(10, n - 3)
837
- );
838
- return c(a, t.length);
839
- }
840
- }, M = {
841
- midnight: "midnight",
842
- noon: "noon",
843
- morning: "morning",
844
- afternoon: "afternoon",
845
- evening: "evening",
846
- night: "night"
847
- }, V = {
848
- // Era
849
- G: function(e, t, n) {
850
- const r = e.getFullYear() > 0 ? 1 : 0;
851
- switch (t) {
852
- // AD, BC
853
- case "G":
854
- case "GG":
855
- case "GGG":
856
- return n.era(r, { width: "abbreviated" });
857
- // A, B
858
- case "GGGGG":
859
- return n.era(r, { width: "narrow" });
860
- // Anno Domini, Before Christ
861
- case "GGGG":
862
- default:
863
- return n.era(r, { width: "wide" });
864
- }
865
- },
866
- // Year
867
- y: function(e, t, n) {
868
- if (t === "yo") {
869
- const r = e.getFullYear(), a = r > 0 ? r : 1 - r;
870
- return n.ordinalNumber(a, { unit: "year" });
871
- }
872
- return g.y(e, t);
873
- },
874
- // Local week-numbering year
875
- Y: function(e, t, n, r) {
876
- const a = be(e, r), i = a > 0 ? a : 1 - a;
877
- if (t === "YY") {
878
- const o = i % 100;
879
- return c(o, 2);
880
- }
881
- return t === "Yo" ? n.ordinalNumber(i, { unit: "year" }) : c(i, t.length);
882
- },
883
- // ISO week-numbering year
884
- R: function(e, t) {
885
- const n = pe(e);
886
- return c(n, t.length);
887
- },
888
- // Extended year. This is a single number designating the year of this calendar system.
889
- // The main difference between `y` and `u` localizers are B.C. years:
890
- // | Year | `y` | `u` |
891
- // |------|-----|-----|
892
- // | AC 1 | 1 | 1 |
893
- // | BC 1 | 1 | 0 |
894
- // | BC 2 | 2 | -1 |
895
- // Also `yy` always returns the last two digits of a year,
896
- // while `uu` pads single digit years to 2 characters and returns other years unchanged.
897
- u: function(e, t) {
898
- const n = e.getFullYear();
899
- return c(n, t.length);
900
- },
901
- // Quarter
902
- Q: function(e, t, n) {
903
- const r = Math.ceil((e.getMonth() + 1) / 3);
904
- switch (t) {
905
- // 1, 2, 3, 4
906
- case "Q":
907
- return String(r);
908
- // 01, 02, 03, 04
909
- case "QQ":
910
- return c(r, 2);
911
- // 1st, 2nd, 3rd, 4th
912
- case "Qo":
913
- return n.ordinalNumber(r, { unit: "quarter" });
914
- // Q1, Q2, Q3, Q4
915
- case "QQQ":
916
- return n.quarter(r, {
917
- width: "abbreviated",
918
- context: "formatting"
919
- });
920
- // 1, 2, 3, 4 (narrow quarter; could be not numerical)
921
- case "QQQQQ":
922
- return n.quarter(r, {
923
- width: "narrow",
924
- context: "formatting"
925
- });
926
- // 1st quarter, 2nd quarter, ...
927
- case "QQQQ":
928
- default:
929
- return n.quarter(r, {
930
- width: "wide",
931
- context: "formatting"
932
- });
933
- }
934
- },
935
- // Stand-alone quarter
936
- q: function(e, t, n) {
937
- const r = Math.ceil((e.getMonth() + 1) / 3);
938
- switch (t) {
939
- // 1, 2, 3, 4
940
- case "q":
941
- return String(r);
942
- // 01, 02, 03, 04
943
- case "qq":
944
- return c(r, 2);
945
- // 1st, 2nd, 3rd, 4th
946
- case "qo":
947
- return n.ordinalNumber(r, { unit: "quarter" });
948
- // Q1, Q2, Q3, Q4
949
- case "qqq":
950
- return n.quarter(r, {
951
- width: "abbreviated",
952
- context: "standalone"
953
- });
954
- // 1, 2, 3, 4 (narrow quarter; could be not numerical)
955
- case "qqqqq":
956
- return n.quarter(r, {
957
- width: "narrow",
958
- context: "standalone"
959
- });
960
- // 1st quarter, 2nd quarter, ...
961
- case "qqqq":
962
- default:
963
- return n.quarter(r, {
964
- width: "wide",
965
- context: "standalone"
966
- });
967
- }
968
- },
969
- // Month
970
- M: function(e, t, n) {
971
- const r = e.getMonth();
972
- switch (t) {
973
- case "M":
974
- case "MM":
975
- return g.M(e, t);
976
- // 1st, 2nd, ..., 12th
977
- case "Mo":
978
- return n.ordinalNumber(r + 1, { unit: "month" });
979
- // Jan, Feb, ..., Dec
980
- case "MMM":
981
- return n.month(r, {
982
- width: "abbreviated",
983
- context: "formatting"
984
- });
985
- // J, F, ..., D
986
- case "MMMMM":
987
- return n.month(r, {
988
- width: "narrow",
989
- context: "formatting"
990
- });
991
- // January, February, ..., December
992
- case "MMMM":
993
- default:
994
- return n.month(r, { width: "wide", context: "formatting" });
995
- }
996
- },
997
- // Stand-alone month
998
- L: function(e, t, n) {
999
- const r = e.getMonth();
1000
- switch (t) {
1001
- // 1, 2, ..., 12
1002
- case "L":
1003
- return String(r + 1);
1004
- // 01, 02, ..., 12
1005
- case "LL":
1006
- return c(r + 1, 2);
1007
- // 1st, 2nd, ..., 12th
1008
- case "Lo":
1009
- return n.ordinalNumber(r + 1, { unit: "month" });
1010
- // Jan, Feb, ..., Dec
1011
- case "LLL":
1012
- return n.month(r, {
1013
- width: "abbreviated",
1014
- context: "standalone"
1015
- });
1016
- // J, F, ..., D
1017
- case "LLLLL":
1018
- return n.month(r, {
1019
- width: "narrow",
1020
- context: "standalone"
1021
- });
1022
- // January, February, ..., December
1023
- case "LLLL":
1024
- default:
1025
- return n.month(r, { width: "wide", context: "standalone" });
1026
- }
1027
- },
1028
- // Local week of year
1029
- w: function(e, t, n, r) {
1030
- const a = At(e, r);
1031
- return t === "wo" ? n.ordinalNumber(a, { unit: "week" }) : c(a, t.length);
1032
- },
1033
- // ISO week of year
1034
- I: function(e, t, n) {
1035
- const r = Lt(e);
1036
- return t === "Io" ? n.ordinalNumber(r, { unit: "week" }) : c(r, t.length);
1037
- },
1038
- // Day of the month
1039
- d: function(e, t, n) {
1040
- return t === "do" ? n.ordinalNumber(e.getDate(), { unit: "date" }) : g.d(e, t);
1041
- },
1042
- // Day of year
1043
- D: function(e, t, n) {
1044
- const r = _t(e);
1045
- return t === "Do" ? n.ordinalNumber(r, { unit: "dayOfYear" }) : c(r, t.length);
1046
- },
1047
- // Day of week
1048
- E: function(e, t, n) {
1049
- const r = e.getDay();
1050
- switch (t) {
1051
- // Tue
1052
- case "E":
1053
- case "EE":
1054
- case "EEE":
1055
- return n.day(r, {
1056
- width: "abbreviated",
1057
- context: "formatting"
1058
- });
1059
- // T
1060
- case "EEEEE":
1061
- return n.day(r, {
1062
- width: "narrow",
1063
- context: "formatting"
1064
- });
1065
- // Tu
1066
- case "EEEEEE":
1067
- return n.day(r, {
1068
- width: "short",
1069
- context: "formatting"
1070
- });
1071
- // Tuesday
1072
- case "EEEE":
1073
- default:
1074
- return n.day(r, {
1075
- width: "wide",
1076
- context: "formatting"
1077
- });
1078
- }
1079
- },
1080
- // Local day of week
1081
- e: function(e, t, n, r) {
1082
- const a = e.getDay(), i = (a - r.weekStartsOn + 8) % 7 || 7;
1083
- switch (t) {
1084
- // Numerical value (Nth day of week with current locale or weekStartsOn)
1085
- case "e":
1086
- return String(i);
1087
- // Padded numerical value
1088
- case "ee":
1089
- return c(i, 2);
1090
- // 1st, 2nd, ..., 7th
1091
- case "eo":
1092
- return n.ordinalNumber(i, { unit: "day" });
1093
- case "eee":
1094
- return n.day(a, {
1095
- width: "abbreviated",
1096
- context: "formatting"
1097
- });
1098
- // T
1099
- case "eeeee":
1100
- return n.day(a, {
1101
- width: "narrow",
1102
- context: "formatting"
1103
- });
1104
- // Tu
1105
- case "eeeeee":
1106
- return n.day(a, {
1107
- width: "short",
1108
- context: "formatting"
1109
- });
1110
- // Tuesday
1111
- case "eeee":
1112
- default:
1113
- return n.day(a, {
1114
- width: "wide",
1115
- context: "formatting"
1116
- });
1117
- }
1118
- },
1119
- // Stand-alone local day of week
1120
- c: function(e, t, n, r) {
1121
- const a = e.getDay(), i = (a - r.weekStartsOn + 8) % 7 || 7;
1122
- switch (t) {
1123
- // Numerical value (same as in `e`)
1124
- case "c":
1125
- return String(i);
1126
- // Padded numerical value
1127
- case "cc":
1128
- return c(i, t.length);
1129
- // 1st, 2nd, ..., 7th
1130
- case "co":
1131
- return n.ordinalNumber(i, { unit: "day" });
1132
- case "ccc":
1133
- return n.day(a, {
1134
- width: "abbreviated",
1135
- context: "standalone"
1136
- });
1137
- // T
1138
- case "ccccc":
1139
- return n.day(a, {
1140
- width: "narrow",
1141
- context: "standalone"
1142
- });
1143
- // Tu
1144
- case "cccccc":
1145
- return n.day(a, {
1146
- width: "short",
1147
- context: "standalone"
1148
- });
1149
- // Tuesday
1150
- case "cccc":
1151
- default:
1152
- return n.day(a, {
1153
- width: "wide",
1154
- context: "standalone"
1155
- });
1156
- }
1157
- },
1158
- // ISO day of week
1159
- i: function(e, t, n) {
1160
- const r = e.getDay(), a = r === 0 ? 7 : r;
1161
- switch (t) {
1162
- // 2
1163
- case "i":
1164
- return String(a);
1165
- // 02
1166
- case "ii":
1167
- return c(a, t.length);
1168
- // 2nd
1169
- case "io":
1170
- return n.ordinalNumber(a, { unit: "day" });
1171
- // Tue
1172
- case "iii":
1173
- return n.day(r, {
1174
- width: "abbreviated",
1175
- context: "formatting"
1176
- });
1177
- // T
1178
- case "iiiii":
1179
- return n.day(r, {
1180
- width: "narrow",
1181
- context: "formatting"
1182
- });
1183
- // Tu
1184
- case "iiiiii":
1185
- return n.day(r, {
1186
- width: "short",
1187
- context: "formatting"
1188
- });
1189
- // Tuesday
1190
- case "iiii":
1191
- default:
1192
- return n.day(r, {
1193
- width: "wide",
1194
- context: "formatting"
1195
- });
1196
- }
1197
- },
1198
- // AM or PM
1199
- a: function(e, t, n) {
1200
- const a = e.getHours() / 12 >= 1 ? "pm" : "am";
1201
- switch (t) {
1202
- case "a":
1203
- case "aa":
1204
- return n.dayPeriod(a, {
1205
- width: "abbreviated",
1206
- context: "formatting"
1207
- });
1208
- case "aaa":
1209
- return n.dayPeriod(a, {
1210
- width: "abbreviated",
1211
- context: "formatting"
1212
- }).toLowerCase();
1213
- case "aaaaa":
1214
- return n.dayPeriod(a, {
1215
- width: "narrow",
1216
- context: "formatting"
1217
- });
1218
- case "aaaa":
1219
- default:
1220
- return n.dayPeriod(a, {
1221
- width: "wide",
1222
- context: "formatting"
1223
- });
1224
- }
1225
- },
1226
- // AM, PM, midnight, noon
1227
- b: function(e, t, n) {
1228
- const r = e.getHours();
1229
- let a;
1230
- switch (r === 12 ? a = M.noon : r === 0 ? a = M.midnight : a = r / 12 >= 1 ? "pm" : "am", t) {
1231
- case "b":
1232
- case "bb":
1233
- return n.dayPeriod(a, {
1234
- width: "abbreviated",
1235
- context: "formatting"
1236
- });
1237
- case "bbb":
1238
- return n.dayPeriod(a, {
1239
- width: "abbreviated",
1240
- context: "formatting"
1241
- }).toLowerCase();
1242
- case "bbbbb":
1243
- return n.dayPeriod(a, {
1244
- width: "narrow",
1245
- context: "formatting"
1246
- });
1247
- case "bbbb":
1248
- default:
1249
- return n.dayPeriod(a, {
1250
- width: "wide",
1251
- context: "formatting"
1252
- });
1253
- }
1254
- },
1255
- // in the morning, in the afternoon, in the evening, at night
1256
- B: function(e, t, n) {
1257
- const r = e.getHours();
1258
- let a;
1259
- switch (r >= 17 ? a = M.evening : r >= 12 ? a = M.afternoon : r >= 4 ? a = M.morning : a = M.night, t) {
1260
- case "B":
1261
- case "BB":
1262
- case "BBB":
1263
- return n.dayPeriod(a, {
1264
- width: "abbreviated",
1265
- context: "formatting"
1266
- });
1267
- case "BBBBB":
1268
- return n.dayPeriod(a, {
1269
- width: "narrow",
1270
- context: "formatting"
1271
- });
1272
- case "BBBB":
1273
- default:
1274
- return n.dayPeriod(a, {
1275
- width: "wide",
1276
- context: "formatting"
1277
- });
1278
- }
1279
- },
1280
- // Hour [1-12]
1281
- h: function(e, t, n) {
1282
- if (t === "ho") {
1283
- let r = e.getHours() % 12;
1284
- return r === 0 && (r = 12), n.ordinalNumber(r, { unit: "hour" });
1285
- }
1286
- return g.h(e, t);
1287
- },
1288
- // Hour [0-23]
1289
- H: function(e, t, n) {
1290
- return t === "Ho" ? n.ordinalNumber(e.getHours(), { unit: "hour" }) : g.H(e, t);
1291
- },
1292
- // Hour [0-11]
1293
- K: function(e, t, n) {
1294
- const r = e.getHours() % 12;
1295
- return t === "Ko" ? n.ordinalNumber(r, { unit: "hour" }) : c(r, t.length);
1296
- },
1297
- // Hour [1-24]
1298
- k: function(e, t, n) {
1299
- let r = e.getHours();
1300
- return r === 0 && (r = 24), t === "ko" ? n.ordinalNumber(r, { unit: "hour" }) : c(r, t.length);
1301
- },
1302
- // Minute
1303
- m: function(e, t, n) {
1304
- return t === "mo" ? n.ordinalNumber(e.getMinutes(), { unit: "minute" }) : g.m(e, t);
1305
- },
1306
- // Second
1307
- s: function(e, t, n) {
1308
- return t === "so" ? n.ordinalNumber(e.getSeconds(), { unit: "second" }) : g.s(e, t);
1309
- },
1310
- // Fraction of second
1311
- S: function(e, t) {
1312
- return g.S(e, t);
1313
- },
1314
- // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1315
- X: function(e, t, n) {
1316
- const r = e.getTimezoneOffset();
1317
- if (r === 0)
1318
- return "Z";
1319
- switch (t) {
1320
- // Hours and optional minutes
1321
- case "X":
1322
- return K(r);
1323
- // Hours, minutes and optional seconds without `:` delimiter
1324
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1325
- // so this token always has the same output as `XX`
1326
- case "XXXX":
1327
- case "XX":
1328
- return p(r);
1329
- // Hours, minutes and optional seconds with `:` delimiter
1330
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1331
- // so this token always has the same output as `XXX`
1332
- case "XXXXX":
1333
- case "XXX":
1334
- // Hours and minutes with `:` delimiter
1335
- default:
1336
- return p(r, ":");
1337
- }
1338
- },
1339
- // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1340
- x: function(e, t, n) {
1341
- const r = e.getTimezoneOffset();
1342
- switch (t) {
1343
- // Hours and optional minutes
1344
- case "x":
1345
- return K(r);
1346
- // Hours, minutes and optional seconds without `:` delimiter
1347
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1348
- // so this token always has the same output as `xx`
1349
- case "xxxx":
1350
- case "xx":
1351
- return p(r);
1352
- // Hours, minutes and optional seconds with `:` delimiter
1353
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1354
- // so this token always has the same output as `xxx`
1355
- case "xxxxx":
1356
- case "xxx":
1357
- // Hours and minutes with `:` delimiter
1358
- default:
1359
- return p(r, ":");
1360
- }
1361
- },
1362
- // Timezone (GMT)
1363
- O: function(e, t, n) {
1364
- const r = e.getTimezoneOffset();
1365
- switch (t) {
1366
- // Short
1367
- case "O":
1368
- case "OO":
1369
- case "OOO":
1370
- return "GMT" + J(r, ":");
1371
- // Long
1372
- case "OOOO":
1373
- default:
1374
- return "GMT" + p(r, ":");
1375
- }
1376
- },
1377
- // Timezone (specific non-location)
1378
- z: function(e, t, n) {
1379
- const r = e.getTimezoneOffset();
1380
- switch (t) {
1381
- // Short
1382
- case "z":
1383
- case "zz":
1384
- case "zzz":
1385
- return "GMT" + J(r, ":");
1386
- // Long
1387
- case "zzzz":
1388
- default:
1389
- return "GMT" + p(r, ":");
1390
- }
1391
- },
1392
- // Seconds timestamp
1393
- t: function(e, t, n) {
1394
- const r = Math.trunc(+e / 1e3);
1395
- return c(r, t.length);
1396
- },
1397
- // Milliseconds timestamp
1398
- T: function(e, t, n) {
1399
- return c(+e, t.length);
1400
- }
1401
- };
1402
- function J(e, t = "") {
1403
- const n = e > 0 ? "-" : "+", r = Math.abs(e), a = Math.trunc(r / 60), i = r % 60;
1404
- return i === 0 ? n + String(a) : n + String(a) + t + c(i, 2);
1405
- }
1406
- function K(e, t) {
1407
- return e % 60 === 0 ? (e > 0 ? "-" : "+") + c(Math.abs(e) / 60, 2) : p(e, t);
1408
- }
1409
- function p(e, t = "") {
1410
- const n = e > 0 ? "-" : "+", r = Math.abs(e), a = c(Math.trunc(r / 60), 2), i = c(r % 60, 2);
1411
- return n + a + t + i;
1412
- }
1413
- const ee = (e, t) => {
1414
- switch (e) {
1415
- case "P":
1416
- return t.date({ width: "short" });
1417
- case "PP":
1418
- return t.date({ width: "medium" });
1419
- case "PPP":
1420
- return t.date({ width: "long" });
1421
- case "PPPP":
1422
- default:
1423
- return t.date({ width: "full" });
1424
- }
1425
- }, De = (e, t) => {
1426
- switch (e) {
1427
- case "p":
1428
- return t.time({ width: "short" });
1429
- case "pp":
1430
- return t.time({ width: "medium" });
1431
- case "ppp":
1432
- return t.time({ width: "long" });
1433
- case "pppp":
1434
- default:
1435
- return t.time({ width: "full" });
1436
- }
1437
- }, zt = (e, t) => {
1438
- const n = e.match(/(P+)(p+)?/) || [], r = n[1], a = n[2];
1439
- if (!a)
1440
- return ee(e, t);
1441
- let i;
1442
- switch (r) {
1443
- case "P":
1444
- i = t.dateTime({ width: "short" });
1445
- break;
1446
- case "PP":
1447
- i = t.dateTime({ width: "medium" });
1448
- break;
1449
- case "PPP":
1450
- i = t.dateTime({ width: "long" });
1451
- break;
1452
- case "PPPP":
1453
- default:
1454
- i = t.dateTime({ width: "full" });
1455
- break;
1456
- }
1457
- return i.replace("{{date}}", ee(r, t)).replace("{{time}}", De(a, t));
1458
- }, qt = {
1459
- p: De,
1460
- P: zt
1461
- }, Bt = /^D+$/, Xt = /^Y+$/, Zt = ["D", "DD", "YY", "YYYY"];
1462
- function Rt(e) {
1463
- return Bt.test(e);
1464
- }
1465
- function jt(e) {
1466
- return Xt.test(e);
1467
- }
1468
- function Gt(e, t, n) {
1469
- const r = Qt(e, t, n);
1470
- if (console.warn(r), Zt.includes(e)) throw new RangeError(r);
1471
- }
1472
- function Qt(e, t, n) {
1473
- const r = e[0] === "Y" ? "years" : "days of the month";
1474
- return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
1475
- }
1476
- function Vt(e) {
1477
- return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
1478
- }
1479
- function Jt(e) {
1480
- return !(!Vt(e) && typeof e != "number" || isNaN(+h(e)));
1481
- }
1482
- const Kt = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, en = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, tn = /^'([^]*?)'?$/, nn = /''/g, rn = /[a-zA-Z]/;
1483
- function an(e, t, n) {
1484
- const r = S(), a = n?.locale ?? r.locale ?? Wt, i = n?.firstWeekContainsDate ?? n?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, o = n?.weekStartsOn ?? n?.locale?.options?.weekStartsOn ?? r.weekStartsOn ?? r.locale?.options?.weekStartsOn ?? 0, s = h(e, n?.in);
1485
- if (!Jt(s))
1486
- throw new RangeError("Invalid time value");
1487
- let u = t.match(en).map((d) => {
1488
- const l = d[0];
1489
- if (l === "p" || l === "P") {
1490
- const D = qt[l];
1491
- return D(d, a.formatLong);
1492
- }
1493
- return d;
1494
- }).join("").match(Kt).map((d) => {
1495
- if (d === "''")
1496
- return { isToken: !1, value: "'" };
1497
- const l = d[0];
1498
- if (l === "'")
1499
- return { isToken: !1, value: on(d) };
1500
- if (V[l])
1501
- return { isToken: !0, value: d };
1502
- if (l.match(rn))
1503
- throw new RangeError(
1504
- "Format string contains an unescaped latin alphabet character `" + l + "`"
1505
- );
1506
- return { isToken: !1, value: d };
1507
- });
1508
- a.localize.preprocessor && (u = a.localize.preprocessor(s, u));
1509
- const f = {
1510
- firstWeekContainsDate: i,
1511
- weekStartsOn: o,
1512
- locale: a
1513
- };
1514
- return u.map((d) => {
1515
- if (!d.isToken) return d.value;
1516
- const l = d.value;
1517
- (!n?.useAdditionalWeekYearTokens && jt(l) || !n?.useAdditionalDayOfYearTokens && Rt(l)) && Gt(l, t, String(e));
1518
- const D = V[l[0]];
1519
- return D(s, l, a.localize, f);
1520
- }).join("");
1521
- }
1522
- function on(e) {
1523
- const t = e.match(tn);
1524
- return t ? t[1].replace(nn, "'") : e;
1525
- }
1526
- function sn() {
1527
- return Object.assign({}, S());
1528
- }
1529
- function te(e, t, n) {
1530
- const r = sn(), a = fn(e, n.timeZone, n.locale ?? r.locale);
1531
- return "formatToParts" in a ? un(a, t) : cn(a, t);
1532
- }
1533
- function un(e, t) {
1534
- const n = e.formatToParts(t);
1535
- for (let r = n.length - 1; r >= 0; --r)
1536
- if (n[r].type === "timeZoneName")
1537
- return n[r].value;
1538
- }
1539
- function cn(e, t) {
1540
- const n = e.format(t).replace(/\u200E/g, ""), r = / [\w-+ ]+$/.exec(n);
1541
- return r ? r[0].substr(1) : "";
1542
- }
1543
- function fn(e, t, n) {
1544
- return new Intl.DateTimeFormat(n ? [n.code, "en-US"] : void 0, {
1545
- timeZone: t,
1546
- timeZoneName: e
1547
- });
1548
- }
1549
- function ln(e, t) {
1550
- const n = wn(t);
1551
- return "formatToParts" in n ? mn(n, e) : hn(n, e);
1552
- }
1553
- const dn = {
1554
- year: 0,
1555
- month: 1,
1556
- day: 2,
1557
- hour: 3,
1558
- minute: 4,
1559
- second: 5
1560
- };
1561
- function mn(e, t) {
1562
- try {
1563
- const n = e.formatToParts(t), r = [];
1564
- for (let a = 0; a < n.length; a++) {
1565
- const i = dn[n[a].type];
1566
- i !== void 0 && (r[i] = parseInt(n[a].value, 10));
1567
- }
1568
- return r;
1569
- } catch (n) {
1570
- if (n instanceof RangeError)
1571
- return [NaN];
1572
- throw n;
1573
- }
1574
- }
1575
- function hn(e, t) {
1576
- const n = e.format(t), r = /(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);
1577
- return [
1578
- parseInt(r[3], 10),
1579
- parseInt(r[1], 10),
1580
- parseInt(r[2], 10),
1581
- parseInt(r[4], 10),
1582
- parseInt(r[5], 10),
1583
- parseInt(r[6], 10)
1584
- ];
1585
- }
1586
- const H = {}, ne = new Intl.DateTimeFormat("en-US", {
1587
- hourCycle: "h23",
1588
- timeZone: "America/New_York",
1589
- year: "numeric",
1590
- month: "2-digit",
1591
- day: "2-digit",
1592
- hour: "2-digit",
1593
- minute: "2-digit",
1594
- second: "2-digit"
1595
- }).format(/* @__PURE__ */ new Date("2014-06-25T04:00:00.123Z")), gn = ne === "06/25/2014, 00:00:00" || ne === "‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";
1596
- function wn(e) {
1597
- return H[e] || (H[e] = gn ? new Intl.DateTimeFormat("en-US", {
1598
- hourCycle: "h23",
1599
- timeZone: e,
1600
- year: "numeric",
1601
- month: "numeric",
1602
- day: "2-digit",
1603
- hour: "2-digit",
1604
- minute: "2-digit",
1605
- second: "2-digit"
1606
- }) : new Intl.DateTimeFormat("en-US", {
1607
- hour12: !1,
1608
- timeZone: e,
1609
- year: "numeric",
1610
- month: "numeric",
1611
- day: "2-digit",
1612
- hour: "2-digit",
1613
- minute: "2-digit",
1614
- second: "2-digit"
1615
- })), H[e];
1616
- }
1617
- function Te(e, t, n, r, a, i, o) {
1618
- const s = /* @__PURE__ */ new Date(0);
1619
- return s.setUTCFullYear(e, t, n), s.setUTCHours(r, a, i, o), s;
1620
- }
1621
- const re = 36e5, yn = 6e4, _ = {
1622
- timezoneZ: /^(Z)$/,
1623
- timezoneHH: /^([+-]\d{2})$/,
1624
- timezoneHHMM: /^([+-])(\d{2}):?(\d{2})$/
1625
- };
1626
- function q(e, t, n) {
1627
- if (!e)
1628
- return 0;
1629
- let r = _.timezoneZ.exec(e);
1630
- if (r)
1631
- return 0;
1632
- let a, i;
1633
- if (r = _.timezoneHH.exec(e), r)
1634
- return a = parseInt(r[1], 10), ae(a) ? -(a * re) : NaN;
1635
- if (r = _.timezoneHHMM.exec(e), r) {
1636
- a = parseInt(r[2], 10);
1637
- const o = parseInt(r[3], 10);
1638
- return ae(a, o) ? (i = Math.abs(a) * re + o * yn, r[1] === "+" ? -i : i) : NaN;
1639
- }
1640
- if (Dn(e)) {
1641
- t = new Date(t || Date.now());
1642
- const o = n ? t : pn(t), s = A(o, e);
1643
- return -(n ? s : bn(t, s, e));
1644
- }
1645
- return NaN;
1646
- }
1647
- function pn(e) {
1648
- return Te(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds());
1649
- }
1650
- function A(e, t) {
1651
- const n = ln(e, t), r = Te(n[0], n[1] - 1, n[2], n[3] % 24, n[4], n[5], 0).getTime();
1652
- let a = e.getTime();
1653
- const i = a % 1e3;
1654
- return a -= i >= 0 ? i : 1e3 + i, r - a;
1655
- }
1656
- function bn(e, t, n) {
1657
- let a = e.getTime() - t;
1658
- const i = A(new Date(a), n);
1659
- if (t === i)
1660
- return t;
1661
- a -= i - t;
1662
- const o = A(new Date(a), n);
1663
- return i === o ? i : Math.max(i, o);
1664
- }
1665
- function ae(e, t) {
1666
- return -23 <= e && e <= 23 && (t == null || 0 <= t && t <= 59);
1667
- }
1668
- const ie = {};
1669
- function Dn(e) {
1670
- if (ie[e])
1671
- return !0;
1672
- try {
1673
- return new Intl.DateTimeFormat(void 0, { timeZone: e }), ie[e] = !0, !0;
1674
- } catch {
1675
- return !1;
1676
- }
1677
- }
1678
- const Tn = 60 * 1e3, Mn = {
1679
- // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1680
- X: function(e, t, n) {
1681
- const r = $(n.timeZone, e);
1682
- if (r === 0)
1683
- return "Z";
1684
- switch (t) {
1685
- // Hours and optional minutes
1686
- case "X":
1687
- return oe(r);
1688
- // Hours, minutes and optional seconds without `:` delimeter
1689
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1690
- // so this token always has the same output as `XX`
1691
- case "XXXX":
1692
- case "XX":
1693
- return O(r);
1694
- // Hours, minutes and optional seconds with `:` delimeter
1695
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1696
- // so this token always has the same output as `XXX`
1697
- case "XXXXX":
1698
- case "XXX":
1699
- // Hours and minutes with `:` delimeter
1700
- default:
1701
- return O(r, ":");
1702
- }
1703
- },
1704
- // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1705
- x: function(e, t, n) {
1706
- const r = $(n.timeZone, e);
1707
- switch (t) {
1708
- // Hours and optional minutes
1709
- case "x":
1710
- return oe(r);
1711
- // Hours, minutes and optional seconds without `:` delimeter
1712
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1713
- // so this token always has the same output as `xx`
1714
- case "xxxx":
1715
- case "xx":
1716
- return O(r);
1717
- // Hours, minutes and optional seconds with `:` delimeter
1718
- // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1719
- // so this token always has the same output as `xxx`
1720
- case "xxxxx":
1721
- case "xxx":
1722
- // Hours and minutes with `:` delimeter
1723
- default:
1724
- return O(r, ":");
1725
- }
1726
- },
1727
- // Timezone (GMT)
1728
- O: function(e, t, n) {
1729
- const r = $(n.timeZone, e);
1730
- switch (t) {
1731
- // Short
1732
- case "O":
1733
- case "OO":
1734
- case "OOO":
1735
- return "GMT" + On(r, ":");
1736
- // Long
1737
- case "OOOO":
1738
- default:
1739
- return "GMT" + O(r, ":");
1740
- }
1741
- },
1742
- // Timezone (specific non-location)
1743
- z: function(e, t, n) {
1744
- switch (t) {
1745
- // Short
1746
- case "z":
1747
- case "zz":
1748
- case "zzz":
1749
- return te("short", e, n);
1750
- // Long
1751
- case "zzzz":
1752
- default:
1753
- return te("long", e, n);
1754
- }
1755
- }
1756
- };
1757
- function $(e, t) {
1758
- const n = e ? q(e, t, !0) / Tn : t?.getTimezoneOffset() ?? 0;
1759
- if (Number.isNaN(n))
1760
- throw new RangeError("Invalid time zone specified: " + e);
1761
- return n;
1762
- }
1763
- function k(e, t) {
1764
- const n = e < 0 ? "-" : "";
1765
- let r = Math.abs(e).toString();
1766
- for (; r.length < t; )
1767
- r = "0" + r;
1768
- return n + r;
1769
- }
1770
- function O(e, t = "") {
1771
- const n = e > 0 ? "-" : "+", r = Math.abs(e), a = k(Math.floor(r / 60), 2), i = k(Math.floor(r % 60), 2);
1772
- return n + a + t + i;
1773
- }
1774
- function oe(e, t) {
1775
- return e % 60 === 0 ? (e > 0 ? "-" : "+") + k(Math.abs(e) / 60, 2) : O(e, t);
1776
- }
1777
- function On(e, t = "") {
1778
- const n = e > 0 ? "-" : "+", r = Math.abs(e), a = Math.floor(r / 60), i = r % 60;
1779
- return i === 0 ? n + String(a) : n + String(a) + t + k(i, 2);
1780
- }
1781
- function se(e) {
1782
- const t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()));
1783
- return t.setUTCFullYear(e.getFullYear()), +e - +t;
1784
- }
1785
- const xn = /(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/, L = 36e5, ue = 6e4, Pn = 2, m = {
1786
- dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,
1787
- datePattern: /^([0-9W+-]+)(.*)/,
1788
- // year tokens
1789
- YY: /^(\d{2})$/,
1790
- YYY: [
1791
- /^([+-]\d{2})$/,
1792
- // 0 additional digits
1793
- /^([+-]\d{3})$/,
1794
- // 1 additional digit
1795
- /^([+-]\d{4})$/
1796
- // 2 additional digits
1797
- ],
1798
- YYYY: /^(\d{4})/,
1799
- YYYYY: [
1800
- /^([+-]\d{4})/,
1801
- // 0 additional digits
1802
- /^([+-]\d{5})/,
1803
- // 1 additional digit
1804
- /^([+-]\d{6})/
1805
- // 2 additional digits
1806
- ],
1807
- // date tokens
1808
- MM: /^-(\d{2})$/,
1809
- DDD: /^-?(\d{3})$/,
1810
- MMDD: /^-?(\d{2})-?(\d{2})$/,
1811
- Www: /^-?W(\d{2})$/,
1812
- WwwD: /^-?W(\d{2})-?(\d{1})$/,
1813
- HH: /^(\d{2}([.,]\d*)?)$/,
1814
- HHMM: /^(\d{2}):?(\d{2}([.,]\d*)?)$/,
1815
- HHMMSS: /^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,
1816
- // time zone tokens (to identify the presence of a tz)
1817
- timeZone: xn
1818
- };
1819
- function Me(e, t = {}) {
1820
- if (arguments.length < 1)
1821
- throw new TypeError("1 argument required, but only " + arguments.length + " present");
1822
- if (e === null)
1823
- return /* @__PURE__ */ new Date(NaN);
1824
- const n = t.additionalDigits == null ? Pn : Number(t.additionalDigits);
1825
- if (n !== 2 && n !== 1 && n !== 0)
1826
- throw new RangeError("additionalDigits must be 0, 1 or 2");
1827
- if (e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]")
1828
- return new Date(e.getTime());
1829
- if (typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]")
1830
- return new Date(e);
1831
- if (Object.prototype.toString.call(e) !== "[object String]")
1832
- return /* @__PURE__ */ new Date(NaN);
1833
- const r = Yn(e), { year: a, restDateString: i } = Nn(r.date, n), o = Sn(i, a);
1834
- if (o === null || isNaN(o.getTime()))
1835
- return /* @__PURE__ */ new Date(NaN);
1836
- if (o) {
1837
- const s = o.getTime();
1838
- let u = 0, f;
1839
- if (r.time && (u = vn(r.time), u === null || isNaN(u)))
1840
- return /* @__PURE__ */ new Date(NaN);
1841
- if (r.timeZone || t.timeZone) {
1842
- if (f = q(r.timeZone || t.timeZone, new Date(s + u)), isNaN(f))
1843
- return /* @__PURE__ */ new Date(NaN);
1844
- } else
1845
- f = se(new Date(s + u)), f = se(new Date(s + u + f));
1846
- return new Date(s + u + f);
1847
- } else
1848
- return /* @__PURE__ */ new Date(NaN);
1849
- }
1850
- function Yn(e) {
1851
- const t = {};
1852
- let n = m.dateTimePattern.exec(e), r;
1853
- if (n ? (t.date = n[1], r = n[3]) : (n = m.datePattern.exec(e), n ? (t.date = n[1], r = n[2]) : (t.date = null, r = e)), r) {
1854
- const a = m.timeZone.exec(r);
1855
- a ? (t.time = r.replace(a[1], ""), t.timeZone = a[1].trim()) : t.time = r;
1856
- }
1857
- return t;
1858
- }
1859
- function Nn(e, t) {
1860
- if (e) {
1861
- const n = m.YYY[t], r = m.YYYYY[t];
1862
- let a = m.YYYY.exec(e) || r.exec(e);
1863
- if (a) {
1864
- const i = a[1];
1865
- return {
1866
- year: parseInt(i, 10),
1867
- restDateString: e.slice(i.length)
1868
- };
1869
- }
1870
- if (a = m.YY.exec(e) || n.exec(e), a) {
1871
- const i = a[1];
1872
- return {
1873
- year: parseInt(i, 10) * 100,
1874
- restDateString: e.slice(i.length)
1875
- };
1876
- }
1877
- }
1878
- return {
1879
- year: null
1880
- };
1881
- }
1882
- function Sn(e, t) {
1883
- if (t === null)
1884
- return null;
1885
- let n, r, a;
1886
- if (!e || !e.length)
1887
- return n = /* @__PURE__ */ new Date(0), n.setUTCFullYear(t), n;
1888
- let i = m.MM.exec(e);
1889
- if (i)
1890
- return n = /* @__PURE__ */ new Date(0), r = parseInt(i[1], 10) - 1, fe(t, r) ? (n.setUTCFullYear(t, r), n) : /* @__PURE__ */ new Date(NaN);
1891
- if (i = m.DDD.exec(e), i) {
1892
- n = /* @__PURE__ */ new Date(0);
1893
- const o = parseInt(i[1], 10);
1894
- return Cn(t, o) ? (n.setUTCFullYear(t, 0, o), n) : /* @__PURE__ */ new Date(NaN);
1895
- }
1896
- if (i = m.MMDD.exec(e), i) {
1897
- n = /* @__PURE__ */ new Date(0), r = parseInt(i[1], 10) - 1;
1898
- const o = parseInt(i[2], 10);
1899
- return fe(t, r, o) ? (n.setUTCFullYear(t, r, o), n) : /* @__PURE__ */ new Date(NaN);
1900
- }
1901
- if (i = m.Www.exec(e), i)
1902
- return a = parseInt(i[1], 10) - 1, le(a) ? ce(t, a) : /* @__PURE__ */ new Date(NaN);
1903
- if (i = m.WwwD.exec(e), i) {
1904
- a = parseInt(i[1], 10) - 1;
1905
- const o = parseInt(i[2], 10) - 1;
1906
- return le(a, o) ? ce(t, a, o) : /* @__PURE__ */ new Date(NaN);
1907
- }
1908
- return null;
1909
- }
1910
- function vn(e) {
1911
- let t, n, r = m.HH.exec(e);
1912
- if (r)
1913
- return t = parseFloat(r[1].replace(",", ".")), U(t) ? t % 24 * L : NaN;
1914
- if (r = m.HHMM.exec(e), r)
1915
- return t = parseInt(r[1], 10), n = parseFloat(r[2].replace(",", ".")), U(t, n) ? t % 24 * L + n * ue : NaN;
1916
- if (r = m.HHMMSS.exec(e), r) {
1917
- t = parseInt(r[1], 10), n = parseInt(r[2], 10);
1918
- const a = parseFloat(r[3].replace(",", "."));
1919
- return U(t, n, a) ? t % 24 * L + n * ue + a * 1e3 : NaN;
1920
- }
1921
- return null;
1922
- }
1923
- function ce(e, t, n) {
1924
- t = t || 0, n = n || 0;
1925
- const r = /* @__PURE__ */ new Date(0);
1926
- r.setUTCFullYear(e, 0, 4);
1927
- const a = r.getUTCDay() || 7, i = t * 7 + n + 1 - a;
1928
- return r.setUTCDate(r.getUTCDate() + i), r;
1929
- }
1930
- const kn = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Wn = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1931
- function Oe(e) {
1932
- return e % 400 === 0 || e % 4 === 0 && e % 100 !== 0;
1933
- }
1934
- function fe(e, t, n) {
1935
- if (t < 0 || t > 11)
1936
- return !1;
1937
- if (n != null) {
1938
- if (n < 1)
1939
- return !1;
1940
- const r = Oe(e);
1941
- if (r && n > Wn[t] || !r && n > kn[t])
1942
- return !1;
1943
- }
1944
- return !0;
1945
- }
1946
- function Cn(e, t) {
1947
- if (t < 1)
1948
- return !1;
1949
- const n = Oe(e);
1950
- return !(n && t > 366 || !n && t > 365);
1951
- }
1952
- function le(e, t) {
1953
- return !(e < 0 || e > 52 || t != null && (t < 0 || t > 6));
1954
- }
1955
- function U(e, t, n) {
1956
- return !(e < 0 || e >= 25 || t != null && (t < 0 || t >= 60) || n != null && (n < 0 || n >= 60));
1957
- }
1958
- const Fn = /([xXOz]+)|''|'(''|[^'])+('|$)/g;
1959
- function In(e, t, n = {}) {
1960
- t = String(t);
1961
- const r = t.match(Fn);
1962
- if (r) {
1963
- const a = Me(n.originalDate || e, n);
1964
- t = r.reduce(function(i, o) {
1965
- if (o[0] === "'")
1966
- return i;
1967
- const s = i.indexOf(o), u = i[s - 1] === "'", f = i.replace(o, "'" + Mn[o[0]](a, o, n) + "'");
1968
- return u ? f.substring(0, s - 1) + f.substring(s + 1) : f;
1969
- }, t);
1970
- }
1971
- return an(e, t, n);
1972
- }
1973
- function En(e, t, n) {
1974
- e = Me(e, n);
1975
- const r = q(t, e, !0), a = new Date(e.getTime() - r), i = /* @__PURE__ */ new Date(0);
1976
- return i.setFullYear(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate()), i.setHours(a.getUTCHours(), a.getUTCMinutes(), a.getUTCSeconds(), a.getUTCMilliseconds()), i;
1977
- }
1978
- function z(e, t, n, r) {
1979
- return r = {
1980
- ...r,
1981
- timeZone: t,
1982
- originalDate: e
1983
- }, In(En(e, t, { timeZone: r.timeZone }), n, r);
1984
- }
1985
- const de = "yyyy-MM-dd HH:mm:ss:SSS a";
1986
- function xe() {
1987
- return Intl.DateTimeFormat().resolvedOptions().timeZone;
1988
- }
1989
- function Hn() {
1990
- return z(/* @__PURE__ */ new Date(), xe(), "zzz");
1991
- }
1992
- function me(e, t) {
1993
- try {
1994
- if (t)
1995
- return z(new Date(e), "UTC", de);
1996
- const n = xe();
1997
- return z(new Date(e), n, de);
1998
- } catch (n) {
1999
- return console.error("Error formatting date:", n), e;
2000
- }
2001
- }
2002
- const _n = "list-har-entries", $n = {
2003
- url: {
2004
- header: "URL",
2005
- cell: (e) => {
2006
- const t = e.request.url;
2007
- return { value: t, content: /* @__PURE__ */ b(We, { external: !0, href: t, children: t }) };
2008
- }
2009
- },
2010
- method: {
2011
- header: "Method",
2012
- width: 140,
2013
- cell: (e) => ({ value: e.request.method })
2014
- },
2015
- status: {
2016
- header: "Status",
2017
- type: "number",
2018
- width: 120,
2019
- cell: (e) => {
2020
- const t = e.response.status, n = e.response._error, r = /* @__PURE__ */ ke(I, { type: "error", children: [
2021
- t,
2022
- " ",
2023
- n && `(${n})`
2024
- ] });
2025
- return He(e) ? {
2026
- value: t,
2027
- content: r
2028
- } : t >= 300 ? {
2029
- value: t,
2030
- content: /* @__PURE__ */ b(I, { type: "warning", children: t })
2031
- } : t >= 200 ? {
2032
- value: t,
2033
- content: /* @__PURE__ */ b(I, { type: "success", children: t })
2034
- } : { value: t, content: r };
2035
- }
2036
- },
2037
- mimeType: {
2038
- header: "Mime type",
2039
- width: 240,
2040
- cell: (e) => ({ value: e.response.content.mimeType })
2041
- },
2042
- timeTaken: {
2043
- header: "Time taken",
2044
- type: "number",
2045
- width: 160,
2046
- cell: (e) => {
2047
- const t = e.time, n = `${Math.ceil(t)} ms`;
2048
- return { value: t, content: n };
2049
- }
2050
- },
2051
- size: {
2052
- header: "Size",
2053
- type: "number",
2054
- width: 120,
2055
- cell: (e) => {
2056
- const t = e.response.content.size, n = qe(t);
2057
- return { value: t, content: n };
2058
- }
2059
- },
2060
- localStartTime: {
2061
- header: `Started on (${Hn()})`,
2062
- type: "date",
2063
- width: 280,
2064
- cell: ({ startedDateTime: e }) => {
2065
- const t = new Date(e), n = me(e);
2066
- return { value: t, content: n };
2067
- }
2068
- },
2069
- UTCstartTime: {
2070
- header: "Started on (UTC)",
2071
- type: "date",
2072
- width: 280,
2073
- isVisibleByDefault: !1,
2074
- cell: ({ startedDateTime: e }) => {
2075
- const t = new Date(e), n = me(e, "UTC");
2076
- return { value: t, content: n };
2077
- }
2078
- }
2079
- };
2080
- function he(e, t) {
2081
- return e.reduce((n, r) => (n[`${t}_${r}`] = {
2082
- header: `${t}.${r}`,
2083
- width: 200,
2084
- isVisibleByDefault: !1,
2085
- type: "list",
2086
- cell: (a) => ({ value: a[t].headers.filter(({ name: o }) => o === r).map(({ value: o }) => o) })
2087
- }, n), {});
2088
- }
2089
- function Qn({
2090
- id: e,
2091
- harEntries: t,
2092
- onChange: n
2093
- }) {
2094
- const r = y(() => {
2095
- const a = Z(t, "request"), i = Z(t, "response"), o = he(a, "request"), s = he(i, "response");
2096
- return {
2097
- ...$n,
2098
- ...o,
2099
- ...s
2100
- };
2101
- }, [t]);
2102
- return /* @__PURE__ */ b(
2103
- Je,
2104
- {
2105
- id: e ?? _n,
2106
- columnsDefinition: r,
2107
- items: t,
2108
- empty: "No HAR entries found",
2109
- selectionType: "single",
2110
- onSelectionChange: (a) => {
2111
- const i = a[0];
2112
- i && n(i);
2113
- }
2114
- }
2115
- );
2116
- }
1
+ import "react/jsx-runtime";
2
+ import "react";
3
+ import { H as e } from "./chunks/index.js";
4
+ import "./list-har-entries.js";
5
+ import "./view-har-entry.js";
6
+ import "./chunks/har.js";
2117
7
  export {
2118
- Qn as default
8
+ e as default
2119
9
  };