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