@otfdashkit/ui 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -0
- package/dist/index.js +96 -1801
- package/dist/index.mjs +40 -1745
- package/package.json +23 -5
package/dist/index.js
CHANGED
|
@@ -42,6 +42,7 @@ var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
|
|
|
42
42
|
var TogglePrimitive = require('@radix-ui/react-toggle');
|
|
43
43
|
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
44
44
|
var reactTable = require('@tanstack/react-table');
|
|
45
|
+
var dateFns = require('date-fns');
|
|
45
46
|
var core = require('@dnd-kit/core');
|
|
46
47
|
var sortable = require('@dnd-kit/sortable');
|
|
47
48
|
var utilities = require('@dnd-kit/utilities');
|
|
@@ -416,7 +417,7 @@ function Calendar({
|
|
|
416
417
|
showOutsideDays = true,
|
|
417
418
|
captionLayout = "label",
|
|
418
419
|
buttonVariant = "ghost",
|
|
419
|
-
formatters
|
|
420
|
+
formatters,
|
|
420
421
|
components,
|
|
421
422
|
...props
|
|
422
423
|
}) {
|
|
@@ -434,7 +435,7 @@ function Calendar({
|
|
|
434
435
|
captionLayout,
|
|
435
436
|
formatters: {
|
|
436
437
|
formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
|
|
437
|
-
...
|
|
438
|
+
...formatters
|
|
438
439
|
},
|
|
439
440
|
classNames: {
|
|
440
441
|
root: cn("w-fit", defaultClassNames.root),
|
|
@@ -5447,1712 +5448,6 @@ function Filters({ filters, value, onChange, className }) {
|
|
|
5447
5448
|
/* @__PURE__ */ jsxRuntime.jsx(AddFilterPopover, { filters, onAdd: (fv) => onChange([...value, fv]) })
|
|
5448
5449
|
] });
|
|
5449
5450
|
}
|
|
5450
|
-
var millisecondsInWeek = 6048e5;
|
|
5451
|
-
var millisecondsInDay = 864e5;
|
|
5452
|
-
var millisecondsInMinute = 6e4;
|
|
5453
|
-
var millisecondsInHour = 36e5;
|
|
5454
|
-
var constructFromSymbol = /* @__PURE__ */ Symbol.for("constructDateFrom");
|
|
5455
|
-
|
|
5456
|
-
// node_modules/date-fns/constructFrom.js
|
|
5457
|
-
function constructFrom(date, value) {
|
|
5458
|
-
if (typeof date === "function") return date(value);
|
|
5459
|
-
if (date && typeof date === "object" && constructFromSymbol in date)
|
|
5460
|
-
return date[constructFromSymbol](value);
|
|
5461
|
-
if (date instanceof Date) return new date.constructor(value);
|
|
5462
|
-
return new Date(value);
|
|
5463
|
-
}
|
|
5464
|
-
|
|
5465
|
-
// node_modules/date-fns/toDate.js
|
|
5466
|
-
function toDate(argument, context) {
|
|
5467
|
-
return constructFrom(context || argument, argument);
|
|
5468
|
-
}
|
|
5469
|
-
|
|
5470
|
-
// node_modules/date-fns/addDays.js
|
|
5471
|
-
function addDays(date, amount, options) {
|
|
5472
|
-
const _date = toDate(date, options?.in);
|
|
5473
|
-
if (isNaN(amount)) return constructFrom(date, NaN);
|
|
5474
|
-
if (!amount) return _date;
|
|
5475
|
-
_date.setDate(_date.getDate() + amount);
|
|
5476
|
-
return _date;
|
|
5477
|
-
}
|
|
5478
|
-
|
|
5479
|
-
// node_modules/date-fns/addMonths.js
|
|
5480
|
-
function addMonths(date, amount, options) {
|
|
5481
|
-
const _date = toDate(date, options?.in);
|
|
5482
|
-
if (isNaN(amount)) return constructFrom(date, NaN);
|
|
5483
|
-
if (!amount) {
|
|
5484
|
-
return _date;
|
|
5485
|
-
}
|
|
5486
|
-
const dayOfMonth = _date.getDate();
|
|
5487
|
-
const endOfDesiredMonth = constructFrom(date, _date.getTime());
|
|
5488
|
-
endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);
|
|
5489
|
-
const daysInMonth = endOfDesiredMonth.getDate();
|
|
5490
|
-
if (dayOfMonth >= daysInMonth) {
|
|
5491
|
-
return endOfDesiredMonth;
|
|
5492
|
-
} else {
|
|
5493
|
-
_date.setFullYear(
|
|
5494
|
-
endOfDesiredMonth.getFullYear(),
|
|
5495
|
-
endOfDesiredMonth.getMonth(),
|
|
5496
|
-
dayOfMonth
|
|
5497
|
-
);
|
|
5498
|
-
return _date;
|
|
5499
|
-
}
|
|
5500
|
-
}
|
|
5501
|
-
|
|
5502
|
-
// node_modules/date-fns/addMilliseconds.js
|
|
5503
|
-
function addMilliseconds(date, amount, options) {
|
|
5504
|
-
return constructFrom(date, +toDate(date) + amount);
|
|
5505
|
-
}
|
|
5506
|
-
|
|
5507
|
-
// node_modules/date-fns/addHours.js
|
|
5508
|
-
function addHours(date, amount, options) {
|
|
5509
|
-
return addMilliseconds(date, amount * millisecondsInHour);
|
|
5510
|
-
}
|
|
5511
|
-
|
|
5512
|
-
// node_modules/date-fns/_lib/defaultOptions.js
|
|
5513
|
-
var defaultOptions = {};
|
|
5514
|
-
function getDefaultOptions() {
|
|
5515
|
-
return defaultOptions;
|
|
5516
|
-
}
|
|
5517
|
-
|
|
5518
|
-
// node_modules/date-fns/startOfWeek.js
|
|
5519
|
-
function startOfWeek2(date, options) {
|
|
5520
|
-
const defaultOptions2 = getDefaultOptions();
|
|
5521
|
-
const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
|
|
5522
|
-
const _date = toDate(date, options?.in);
|
|
5523
|
-
const day = _date.getDay();
|
|
5524
|
-
const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
|
|
5525
|
-
_date.setDate(_date.getDate() - diff);
|
|
5526
|
-
_date.setHours(0, 0, 0, 0);
|
|
5527
|
-
return _date;
|
|
5528
|
-
}
|
|
5529
|
-
|
|
5530
|
-
// node_modules/date-fns/startOfISOWeek.js
|
|
5531
|
-
function startOfISOWeek(date, options) {
|
|
5532
|
-
return startOfWeek2(date, { ...options, weekStartsOn: 1 });
|
|
5533
|
-
}
|
|
5534
|
-
|
|
5535
|
-
// node_modules/date-fns/getISOWeekYear.js
|
|
5536
|
-
function getISOWeekYear(date, options) {
|
|
5537
|
-
const _date = toDate(date, options?.in);
|
|
5538
|
-
const year = _date.getFullYear();
|
|
5539
|
-
const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);
|
|
5540
|
-
fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
|
|
5541
|
-
fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
|
|
5542
|
-
const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);
|
|
5543
|
-
const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);
|
|
5544
|
-
fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
|
|
5545
|
-
fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
|
|
5546
|
-
const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);
|
|
5547
|
-
if (_date.getTime() >= startOfNextYear.getTime()) {
|
|
5548
|
-
return year + 1;
|
|
5549
|
-
} else if (_date.getTime() >= startOfThisYear.getTime()) {
|
|
5550
|
-
return year;
|
|
5551
|
-
} else {
|
|
5552
|
-
return year - 1;
|
|
5553
|
-
}
|
|
5554
|
-
}
|
|
5555
|
-
|
|
5556
|
-
// node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
|
|
5557
|
-
function getTimezoneOffsetInMilliseconds(date) {
|
|
5558
|
-
const _date = toDate(date);
|
|
5559
|
-
const utcDate = new Date(
|
|
5560
|
-
Date.UTC(
|
|
5561
|
-
_date.getFullYear(),
|
|
5562
|
-
_date.getMonth(),
|
|
5563
|
-
_date.getDate(),
|
|
5564
|
-
_date.getHours(),
|
|
5565
|
-
_date.getMinutes(),
|
|
5566
|
-
_date.getSeconds(),
|
|
5567
|
-
_date.getMilliseconds()
|
|
5568
|
-
)
|
|
5569
|
-
);
|
|
5570
|
-
utcDate.setUTCFullYear(_date.getFullYear());
|
|
5571
|
-
return +date - +utcDate;
|
|
5572
|
-
}
|
|
5573
|
-
|
|
5574
|
-
// node_modules/date-fns/_lib/normalizeDates.js
|
|
5575
|
-
function normalizeDates(context, ...dates) {
|
|
5576
|
-
const normalize = constructFrom.bind(
|
|
5577
|
-
null,
|
|
5578
|
-
context || dates.find((date) => typeof date === "object")
|
|
5579
|
-
);
|
|
5580
|
-
return dates.map(normalize);
|
|
5581
|
-
}
|
|
5582
|
-
|
|
5583
|
-
// node_modules/date-fns/startOfDay.js
|
|
5584
|
-
function startOfDay(date, options) {
|
|
5585
|
-
const _date = toDate(date, options?.in);
|
|
5586
|
-
_date.setHours(0, 0, 0, 0);
|
|
5587
|
-
return _date;
|
|
5588
|
-
}
|
|
5589
|
-
|
|
5590
|
-
// node_modules/date-fns/differenceInCalendarDays.js
|
|
5591
|
-
function differenceInCalendarDays(laterDate, earlierDate, options) {
|
|
5592
|
-
const [laterDate_, earlierDate_] = normalizeDates(
|
|
5593
|
-
options?.in,
|
|
5594
|
-
laterDate,
|
|
5595
|
-
earlierDate
|
|
5596
|
-
);
|
|
5597
|
-
const laterStartOfDay = startOfDay(laterDate_);
|
|
5598
|
-
const earlierStartOfDay = startOfDay(earlierDate_);
|
|
5599
|
-
const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
|
|
5600
|
-
const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
|
|
5601
|
-
return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
|
|
5602
|
-
}
|
|
5603
|
-
|
|
5604
|
-
// node_modules/date-fns/startOfISOWeekYear.js
|
|
5605
|
-
function startOfISOWeekYear(date, options) {
|
|
5606
|
-
const year = getISOWeekYear(date, options);
|
|
5607
|
-
const fourthOfJanuary = constructFrom(date, 0);
|
|
5608
|
-
fourthOfJanuary.setFullYear(year, 0, 4);
|
|
5609
|
-
fourthOfJanuary.setHours(0, 0, 0, 0);
|
|
5610
|
-
return startOfISOWeek(fourthOfJanuary);
|
|
5611
|
-
}
|
|
5612
|
-
|
|
5613
|
-
// node_modules/date-fns/addWeeks.js
|
|
5614
|
-
function addWeeks(date, amount, options) {
|
|
5615
|
-
return addDays(date, amount * 7, options);
|
|
5616
|
-
}
|
|
5617
|
-
|
|
5618
|
-
// node_modules/date-fns/isSameDay.js
|
|
5619
|
-
function isSameDay(laterDate, earlierDate, options) {
|
|
5620
|
-
const [dateLeft_, dateRight_] = normalizeDates(
|
|
5621
|
-
options?.in,
|
|
5622
|
-
laterDate,
|
|
5623
|
-
earlierDate
|
|
5624
|
-
);
|
|
5625
|
-
return +startOfDay(dateLeft_) === +startOfDay(dateRight_);
|
|
5626
|
-
}
|
|
5627
|
-
|
|
5628
|
-
// node_modules/date-fns/isDate.js
|
|
5629
|
-
function isDate(value) {
|
|
5630
|
-
return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
|
|
5631
|
-
}
|
|
5632
|
-
|
|
5633
|
-
// node_modules/date-fns/isValid.js
|
|
5634
|
-
function isValid(date) {
|
|
5635
|
-
return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
|
|
5636
|
-
}
|
|
5637
|
-
|
|
5638
|
-
// node_modules/date-fns/differenceInCalendarMonths.js
|
|
5639
|
-
function differenceInCalendarMonths(laterDate, earlierDate, options) {
|
|
5640
|
-
const [laterDate_, earlierDate_] = normalizeDates(
|
|
5641
|
-
options?.in,
|
|
5642
|
-
laterDate,
|
|
5643
|
-
earlierDate
|
|
5644
|
-
);
|
|
5645
|
-
const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();
|
|
5646
|
-
const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();
|
|
5647
|
-
return yearsDiff * 12 + monthsDiff;
|
|
5648
|
-
}
|
|
5649
|
-
|
|
5650
|
-
// node_modules/date-fns/differenceInCalendarWeeks.js
|
|
5651
|
-
function differenceInCalendarWeeks(laterDate, earlierDate, options) {
|
|
5652
|
-
const [laterDate_, earlierDate_] = normalizeDates(
|
|
5653
|
-
options?.in,
|
|
5654
|
-
laterDate,
|
|
5655
|
-
earlierDate
|
|
5656
|
-
);
|
|
5657
|
-
const laterStartOfWeek = startOfWeek2(laterDate_, options);
|
|
5658
|
-
const earlierStartOfWeek = startOfWeek2(earlierDate_, options);
|
|
5659
|
-
const laterTimestamp = +laterStartOfWeek - getTimezoneOffsetInMilliseconds(laterStartOfWeek);
|
|
5660
|
-
const earlierTimestamp = +earlierStartOfWeek - getTimezoneOffsetInMilliseconds(earlierStartOfWeek);
|
|
5661
|
-
return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInWeek);
|
|
5662
|
-
}
|
|
5663
|
-
|
|
5664
|
-
// node_modules/date-fns/_lib/getRoundingMethod.js
|
|
5665
|
-
function getRoundingMethod(method) {
|
|
5666
|
-
return (number) => {
|
|
5667
|
-
const round = Math.trunc;
|
|
5668
|
-
const result = round(number);
|
|
5669
|
-
return result === 0 ? 0 : result;
|
|
5670
|
-
};
|
|
5671
|
-
}
|
|
5672
|
-
|
|
5673
|
-
// node_modules/date-fns/differenceInMilliseconds.js
|
|
5674
|
-
function differenceInMilliseconds(laterDate, earlierDate) {
|
|
5675
|
-
return +toDate(laterDate) - +toDate(earlierDate);
|
|
5676
|
-
}
|
|
5677
|
-
|
|
5678
|
-
// node_modules/date-fns/differenceInMinutes.js
|
|
5679
|
-
function differenceInMinutes(dateLeft, dateRight, options) {
|
|
5680
|
-
const diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;
|
|
5681
|
-
return getRoundingMethod()(diff);
|
|
5682
|
-
}
|
|
5683
|
-
|
|
5684
|
-
// node_modules/date-fns/endOfDay.js
|
|
5685
|
-
function endOfDay(date, options) {
|
|
5686
|
-
const _date = toDate(date, options?.in);
|
|
5687
|
-
_date.setHours(23, 59, 59, 999);
|
|
5688
|
-
return _date;
|
|
5689
|
-
}
|
|
5690
|
-
|
|
5691
|
-
// node_modules/date-fns/endOfMonth.js
|
|
5692
|
-
function endOfMonth(date, options) {
|
|
5693
|
-
const _date = toDate(date, options?.in);
|
|
5694
|
-
const month = _date.getMonth();
|
|
5695
|
-
_date.setFullYear(_date.getFullYear(), month + 1, 0);
|
|
5696
|
-
_date.setHours(23, 59, 59, 999);
|
|
5697
|
-
return _date;
|
|
5698
|
-
}
|
|
5699
|
-
|
|
5700
|
-
// node_modules/date-fns/startOfMonth.js
|
|
5701
|
-
function startOfMonth(date, options) {
|
|
5702
|
-
const _date = toDate(date, options?.in);
|
|
5703
|
-
_date.setDate(1);
|
|
5704
|
-
_date.setHours(0, 0, 0, 0);
|
|
5705
|
-
return _date;
|
|
5706
|
-
}
|
|
5707
|
-
|
|
5708
|
-
// node_modules/date-fns/startOfYear.js
|
|
5709
|
-
function startOfYear(date, options) {
|
|
5710
|
-
const date_ = toDate(date, options?.in);
|
|
5711
|
-
date_.setFullYear(date_.getFullYear(), 0, 1);
|
|
5712
|
-
date_.setHours(0, 0, 0, 0);
|
|
5713
|
-
return date_;
|
|
5714
|
-
}
|
|
5715
|
-
|
|
5716
|
-
// node_modules/date-fns/endOfWeek.js
|
|
5717
|
-
function endOfWeek(date, options) {
|
|
5718
|
-
const weekStartsOn = options?.weekStartsOn;
|
|
5719
|
-
const _date = toDate(date, options?.in);
|
|
5720
|
-
const day = _date.getDay();
|
|
5721
|
-
const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);
|
|
5722
|
-
_date.setDate(_date.getDate() + diff);
|
|
5723
|
-
_date.setHours(23, 59, 59, 999);
|
|
5724
|
-
return _date;
|
|
5725
|
-
}
|
|
5726
|
-
|
|
5727
|
-
// node_modules/date-fns/locale/en-US/_lib/formatDistance.js
|
|
5728
|
-
var formatDistanceLocale = {
|
|
5729
|
-
lessThanXSeconds: {
|
|
5730
|
-
one: "less than a second",
|
|
5731
|
-
other: "less than {{count}} seconds"
|
|
5732
|
-
},
|
|
5733
|
-
xSeconds: {
|
|
5734
|
-
one: "1 second",
|
|
5735
|
-
other: "{{count}} seconds"
|
|
5736
|
-
},
|
|
5737
|
-
halfAMinute: "half a minute",
|
|
5738
|
-
lessThanXMinutes: {
|
|
5739
|
-
one: "less than a minute",
|
|
5740
|
-
other: "less than {{count}} minutes"
|
|
5741
|
-
},
|
|
5742
|
-
xMinutes: {
|
|
5743
|
-
one: "1 minute",
|
|
5744
|
-
other: "{{count}} minutes"
|
|
5745
|
-
},
|
|
5746
|
-
aboutXHours: {
|
|
5747
|
-
one: "about 1 hour",
|
|
5748
|
-
other: "about {{count}} hours"
|
|
5749
|
-
},
|
|
5750
|
-
xHours: {
|
|
5751
|
-
one: "1 hour",
|
|
5752
|
-
other: "{{count}} hours"
|
|
5753
|
-
},
|
|
5754
|
-
xDays: {
|
|
5755
|
-
one: "1 day",
|
|
5756
|
-
other: "{{count}} days"
|
|
5757
|
-
},
|
|
5758
|
-
aboutXWeeks: {
|
|
5759
|
-
one: "about 1 week",
|
|
5760
|
-
other: "about {{count}} weeks"
|
|
5761
|
-
},
|
|
5762
|
-
xWeeks: {
|
|
5763
|
-
one: "1 week",
|
|
5764
|
-
other: "{{count}} weeks"
|
|
5765
|
-
},
|
|
5766
|
-
aboutXMonths: {
|
|
5767
|
-
one: "about 1 month",
|
|
5768
|
-
other: "about {{count}} months"
|
|
5769
|
-
},
|
|
5770
|
-
xMonths: {
|
|
5771
|
-
one: "1 month",
|
|
5772
|
-
other: "{{count}} months"
|
|
5773
|
-
},
|
|
5774
|
-
aboutXYears: {
|
|
5775
|
-
one: "about 1 year",
|
|
5776
|
-
other: "about {{count}} years"
|
|
5777
|
-
},
|
|
5778
|
-
xYears: {
|
|
5779
|
-
one: "1 year",
|
|
5780
|
-
other: "{{count}} years"
|
|
5781
|
-
},
|
|
5782
|
-
overXYears: {
|
|
5783
|
-
one: "over 1 year",
|
|
5784
|
-
other: "over {{count}} years"
|
|
5785
|
-
},
|
|
5786
|
-
almostXYears: {
|
|
5787
|
-
one: "almost 1 year",
|
|
5788
|
-
other: "almost {{count}} years"
|
|
5789
|
-
}
|
|
5790
|
-
};
|
|
5791
|
-
var formatDistance = (token, count, options) => {
|
|
5792
|
-
let result;
|
|
5793
|
-
const tokenValue = formatDistanceLocale[token];
|
|
5794
|
-
if (typeof tokenValue === "string") {
|
|
5795
|
-
result = tokenValue;
|
|
5796
|
-
} else if (count === 1) {
|
|
5797
|
-
result = tokenValue.one;
|
|
5798
|
-
} else {
|
|
5799
|
-
result = tokenValue.other.replace("{{count}}", count.toString());
|
|
5800
|
-
}
|
|
5801
|
-
if (options?.addSuffix) {
|
|
5802
|
-
if (options.comparison && options.comparison > 0) {
|
|
5803
|
-
return "in " + result;
|
|
5804
|
-
} else {
|
|
5805
|
-
return result + " ago";
|
|
5806
|
-
}
|
|
5807
|
-
}
|
|
5808
|
-
return result;
|
|
5809
|
-
};
|
|
5810
|
-
|
|
5811
|
-
// node_modules/date-fns/locale/_lib/buildFormatLongFn.js
|
|
5812
|
-
function buildFormatLongFn(args) {
|
|
5813
|
-
return (options = {}) => {
|
|
5814
|
-
const width = options.width ? String(options.width) : args.defaultWidth;
|
|
5815
|
-
const format2 = args.formats[width] || args.formats[args.defaultWidth];
|
|
5816
|
-
return format2;
|
|
5817
|
-
};
|
|
5818
|
-
}
|
|
5819
|
-
|
|
5820
|
-
// node_modules/date-fns/locale/en-US/_lib/formatLong.js
|
|
5821
|
-
var dateFormats = {
|
|
5822
|
-
full: "EEEE, MMMM do, y",
|
|
5823
|
-
long: "MMMM do, y",
|
|
5824
|
-
medium: "MMM d, y",
|
|
5825
|
-
short: "MM/dd/yyyy"
|
|
5826
|
-
};
|
|
5827
|
-
var timeFormats = {
|
|
5828
|
-
full: "h:mm:ss a zzzz",
|
|
5829
|
-
long: "h:mm:ss a z",
|
|
5830
|
-
medium: "h:mm:ss a",
|
|
5831
|
-
short: "h:mm a"
|
|
5832
|
-
};
|
|
5833
|
-
var dateTimeFormats = {
|
|
5834
|
-
full: "{{date}} 'at' {{time}}",
|
|
5835
|
-
long: "{{date}} 'at' {{time}}",
|
|
5836
|
-
medium: "{{date}}, {{time}}",
|
|
5837
|
-
short: "{{date}}, {{time}}"
|
|
5838
|
-
};
|
|
5839
|
-
var formatLong = {
|
|
5840
|
-
date: buildFormatLongFn({
|
|
5841
|
-
formats: dateFormats,
|
|
5842
|
-
defaultWidth: "full"
|
|
5843
|
-
}),
|
|
5844
|
-
time: buildFormatLongFn({
|
|
5845
|
-
formats: timeFormats,
|
|
5846
|
-
defaultWidth: "full"
|
|
5847
|
-
}),
|
|
5848
|
-
dateTime: buildFormatLongFn({
|
|
5849
|
-
formats: dateTimeFormats,
|
|
5850
|
-
defaultWidth: "full"
|
|
5851
|
-
})
|
|
5852
|
-
};
|
|
5853
|
-
|
|
5854
|
-
// node_modules/date-fns/locale/en-US/_lib/formatRelative.js
|
|
5855
|
-
var formatRelativeLocale = {
|
|
5856
|
-
lastWeek: "'last' eeee 'at' p",
|
|
5857
|
-
yesterday: "'yesterday at' p",
|
|
5858
|
-
today: "'today at' p",
|
|
5859
|
-
tomorrow: "'tomorrow at' p",
|
|
5860
|
-
nextWeek: "eeee 'at' p",
|
|
5861
|
-
other: "P"
|
|
5862
|
-
};
|
|
5863
|
-
var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
|
|
5864
|
-
|
|
5865
|
-
// node_modules/date-fns/locale/_lib/buildLocalizeFn.js
|
|
5866
|
-
function buildLocalizeFn(args) {
|
|
5867
|
-
return (value, options) => {
|
|
5868
|
-
const context = options?.context ? String(options.context) : "standalone";
|
|
5869
|
-
let valuesArray;
|
|
5870
|
-
if (context === "formatting" && args.formattingValues) {
|
|
5871
|
-
const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
|
5872
|
-
const width = options?.width ? String(options.width) : defaultWidth;
|
|
5873
|
-
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
|
5874
|
-
} else {
|
|
5875
|
-
const defaultWidth = args.defaultWidth;
|
|
5876
|
-
const width = options?.width ? String(options.width) : args.defaultWidth;
|
|
5877
|
-
valuesArray = args.values[width] || args.values[defaultWidth];
|
|
5878
|
-
}
|
|
5879
|
-
const index = args.argumentCallback ? args.argumentCallback(value) : value;
|
|
5880
|
-
return valuesArray[index];
|
|
5881
|
-
};
|
|
5882
|
-
}
|
|
5883
|
-
|
|
5884
|
-
// node_modules/date-fns/locale/en-US/_lib/localize.js
|
|
5885
|
-
var eraValues = {
|
|
5886
|
-
narrow: ["B", "A"],
|
|
5887
|
-
abbreviated: ["BC", "AD"],
|
|
5888
|
-
wide: ["Before Christ", "Anno Domini"]
|
|
5889
|
-
};
|
|
5890
|
-
var quarterValues = {
|
|
5891
|
-
narrow: ["1", "2", "3", "4"],
|
|
5892
|
-
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
|
|
5893
|
-
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
|
|
5894
|
-
};
|
|
5895
|
-
var monthValues = {
|
|
5896
|
-
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
|
|
5897
|
-
abbreviated: [
|
|
5898
|
-
"Jan",
|
|
5899
|
-
"Feb",
|
|
5900
|
-
"Mar",
|
|
5901
|
-
"Apr",
|
|
5902
|
-
"May",
|
|
5903
|
-
"Jun",
|
|
5904
|
-
"Jul",
|
|
5905
|
-
"Aug",
|
|
5906
|
-
"Sep",
|
|
5907
|
-
"Oct",
|
|
5908
|
-
"Nov",
|
|
5909
|
-
"Dec"
|
|
5910
|
-
],
|
|
5911
|
-
wide: [
|
|
5912
|
-
"January",
|
|
5913
|
-
"February",
|
|
5914
|
-
"March",
|
|
5915
|
-
"April",
|
|
5916
|
-
"May",
|
|
5917
|
-
"June",
|
|
5918
|
-
"July",
|
|
5919
|
-
"August",
|
|
5920
|
-
"September",
|
|
5921
|
-
"October",
|
|
5922
|
-
"November",
|
|
5923
|
-
"December"
|
|
5924
|
-
]
|
|
5925
|
-
};
|
|
5926
|
-
var dayValues = {
|
|
5927
|
-
narrow: ["S", "M", "T", "W", "T", "F", "S"],
|
|
5928
|
-
short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
|
|
5929
|
-
abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
5930
|
-
wide: [
|
|
5931
|
-
"Sunday",
|
|
5932
|
-
"Monday",
|
|
5933
|
-
"Tuesday",
|
|
5934
|
-
"Wednesday",
|
|
5935
|
-
"Thursday",
|
|
5936
|
-
"Friday",
|
|
5937
|
-
"Saturday"
|
|
5938
|
-
]
|
|
5939
|
-
};
|
|
5940
|
-
var dayPeriodValues = {
|
|
5941
|
-
narrow: {
|
|
5942
|
-
am: "a",
|
|
5943
|
-
pm: "p",
|
|
5944
|
-
midnight: "mi",
|
|
5945
|
-
noon: "n",
|
|
5946
|
-
morning: "morning",
|
|
5947
|
-
afternoon: "afternoon",
|
|
5948
|
-
evening: "evening",
|
|
5949
|
-
night: "night"
|
|
5950
|
-
},
|
|
5951
|
-
abbreviated: {
|
|
5952
|
-
am: "AM",
|
|
5953
|
-
pm: "PM",
|
|
5954
|
-
midnight: "midnight",
|
|
5955
|
-
noon: "noon",
|
|
5956
|
-
morning: "morning",
|
|
5957
|
-
afternoon: "afternoon",
|
|
5958
|
-
evening: "evening",
|
|
5959
|
-
night: "night"
|
|
5960
|
-
},
|
|
5961
|
-
wide: {
|
|
5962
|
-
am: "a.m.",
|
|
5963
|
-
pm: "p.m.",
|
|
5964
|
-
midnight: "midnight",
|
|
5965
|
-
noon: "noon",
|
|
5966
|
-
morning: "morning",
|
|
5967
|
-
afternoon: "afternoon",
|
|
5968
|
-
evening: "evening",
|
|
5969
|
-
night: "night"
|
|
5970
|
-
}
|
|
5971
|
-
};
|
|
5972
|
-
var formattingDayPeriodValues = {
|
|
5973
|
-
narrow: {
|
|
5974
|
-
am: "a",
|
|
5975
|
-
pm: "p",
|
|
5976
|
-
midnight: "mi",
|
|
5977
|
-
noon: "n",
|
|
5978
|
-
morning: "in the morning",
|
|
5979
|
-
afternoon: "in the afternoon",
|
|
5980
|
-
evening: "in the evening",
|
|
5981
|
-
night: "at night"
|
|
5982
|
-
},
|
|
5983
|
-
abbreviated: {
|
|
5984
|
-
am: "AM",
|
|
5985
|
-
pm: "PM",
|
|
5986
|
-
midnight: "midnight",
|
|
5987
|
-
noon: "noon",
|
|
5988
|
-
morning: "in the morning",
|
|
5989
|
-
afternoon: "in the afternoon",
|
|
5990
|
-
evening: "in the evening",
|
|
5991
|
-
night: "at night"
|
|
5992
|
-
},
|
|
5993
|
-
wide: {
|
|
5994
|
-
am: "a.m.",
|
|
5995
|
-
pm: "p.m.",
|
|
5996
|
-
midnight: "midnight",
|
|
5997
|
-
noon: "noon",
|
|
5998
|
-
morning: "in the morning",
|
|
5999
|
-
afternoon: "in the afternoon",
|
|
6000
|
-
evening: "in the evening",
|
|
6001
|
-
night: "at night"
|
|
6002
|
-
}
|
|
6003
|
-
};
|
|
6004
|
-
var ordinalNumber = (dirtyNumber, _options) => {
|
|
6005
|
-
const number = Number(dirtyNumber);
|
|
6006
|
-
const rem100 = number % 100;
|
|
6007
|
-
if (rem100 > 20 || rem100 < 10) {
|
|
6008
|
-
switch (rem100 % 10) {
|
|
6009
|
-
case 1:
|
|
6010
|
-
return number + "st";
|
|
6011
|
-
case 2:
|
|
6012
|
-
return number + "nd";
|
|
6013
|
-
case 3:
|
|
6014
|
-
return number + "rd";
|
|
6015
|
-
}
|
|
6016
|
-
}
|
|
6017
|
-
return number + "th";
|
|
6018
|
-
};
|
|
6019
|
-
var localize = {
|
|
6020
|
-
ordinalNumber,
|
|
6021
|
-
era: buildLocalizeFn({
|
|
6022
|
-
values: eraValues,
|
|
6023
|
-
defaultWidth: "wide"
|
|
6024
|
-
}),
|
|
6025
|
-
quarter: buildLocalizeFn({
|
|
6026
|
-
values: quarterValues,
|
|
6027
|
-
defaultWidth: "wide",
|
|
6028
|
-
argumentCallback: (quarter) => quarter - 1
|
|
6029
|
-
}),
|
|
6030
|
-
month: buildLocalizeFn({
|
|
6031
|
-
values: monthValues,
|
|
6032
|
-
defaultWidth: "wide"
|
|
6033
|
-
}),
|
|
6034
|
-
day: buildLocalizeFn({
|
|
6035
|
-
values: dayValues,
|
|
6036
|
-
defaultWidth: "wide"
|
|
6037
|
-
}),
|
|
6038
|
-
dayPeriod: buildLocalizeFn({
|
|
6039
|
-
values: dayPeriodValues,
|
|
6040
|
-
defaultWidth: "wide",
|
|
6041
|
-
formattingValues: formattingDayPeriodValues,
|
|
6042
|
-
defaultFormattingWidth: "wide"
|
|
6043
|
-
})
|
|
6044
|
-
};
|
|
6045
|
-
|
|
6046
|
-
// node_modules/date-fns/locale/_lib/buildMatchFn.js
|
|
6047
|
-
function buildMatchFn(args) {
|
|
6048
|
-
return (string, options = {}) => {
|
|
6049
|
-
const width = options.width;
|
|
6050
|
-
const matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
|
|
6051
|
-
const matchResult = string.match(matchPattern);
|
|
6052
|
-
if (!matchResult) {
|
|
6053
|
-
return null;
|
|
6054
|
-
}
|
|
6055
|
-
const matchedString = matchResult[0];
|
|
6056
|
-
const parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
|
|
6057
|
-
const key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString)) : (
|
|
6058
|
-
// [TODO] -- I challenge you to fix the type
|
|
6059
|
-
findKey(parsePatterns, (pattern) => pattern.test(matchedString))
|
|
6060
|
-
);
|
|
6061
|
-
let value;
|
|
6062
|
-
value = args.valueCallback ? args.valueCallback(key) : key;
|
|
6063
|
-
value = options.valueCallback ? (
|
|
6064
|
-
// [TODO] -- I challenge you to fix the type
|
|
6065
|
-
options.valueCallback(value)
|
|
6066
|
-
) : value;
|
|
6067
|
-
const rest = string.slice(matchedString.length);
|
|
6068
|
-
return { value, rest };
|
|
6069
|
-
};
|
|
6070
|
-
}
|
|
6071
|
-
function findKey(object, predicate) {
|
|
6072
|
-
for (const key in object) {
|
|
6073
|
-
if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {
|
|
6074
|
-
return key;
|
|
6075
|
-
}
|
|
6076
|
-
}
|
|
6077
|
-
return void 0;
|
|
6078
|
-
}
|
|
6079
|
-
function findIndex(array, predicate) {
|
|
6080
|
-
for (let key = 0; key < array.length; key++) {
|
|
6081
|
-
if (predicate(array[key])) {
|
|
6082
|
-
return key;
|
|
6083
|
-
}
|
|
6084
|
-
}
|
|
6085
|
-
return void 0;
|
|
6086
|
-
}
|
|
6087
|
-
|
|
6088
|
-
// node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
|
|
6089
|
-
function buildMatchPatternFn(args) {
|
|
6090
|
-
return (string, options = {}) => {
|
|
6091
|
-
const matchResult = string.match(args.matchPattern);
|
|
6092
|
-
if (!matchResult) return null;
|
|
6093
|
-
const matchedString = matchResult[0];
|
|
6094
|
-
const parseResult = string.match(args.parsePattern);
|
|
6095
|
-
if (!parseResult) return null;
|
|
6096
|
-
let value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
|
|
6097
|
-
value = options.valueCallback ? options.valueCallback(value) : value;
|
|
6098
|
-
const rest = string.slice(matchedString.length);
|
|
6099
|
-
return { value, rest };
|
|
6100
|
-
};
|
|
6101
|
-
}
|
|
6102
|
-
|
|
6103
|
-
// node_modules/date-fns/locale/en-US/_lib/match.js
|
|
6104
|
-
var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
|
|
6105
|
-
var parseOrdinalNumberPattern = /\d+/i;
|
|
6106
|
-
var matchEraPatterns = {
|
|
6107
|
-
narrow: /^(b|a)/i,
|
|
6108
|
-
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
|
|
6109
|
-
wide: /^(before christ|before common era|anno domini|common era)/i
|
|
6110
|
-
};
|
|
6111
|
-
var parseEraPatterns = {
|
|
6112
|
-
any: [/^b/i, /^(a|c)/i]
|
|
6113
|
-
};
|
|
6114
|
-
var matchQuarterPatterns = {
|
|
6115
|
-
narrow: /^[1234]/i,
|
|
6116
|
-
abbreviated: /^q[1234]/i,
|
|
6117
|
-
wide: /^[1234](th|st|nd|rd)? quarter/i
|
|
6118
|
-
};
|
|
6119
|
-
var parseQuarterPatterns = {
|
|
6120
|
-
any: [/1/i, /2/i, /3/i, /4/i]
|
|
6121
|
-
};
|
|
6122
|
-
var matchMonthPatterns = {
|
|
6123
|
-
narrow: /^[jfmasond]/i,
|
|
6124
|
-
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
|
|
6125
|
-
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
|
|
6126
|
-
};
|
|
6127
|
-
var parseMonthPatterns = {
|
|
6128
|
-
narrow: [
|
|
6129
|
-
/^j/i,
|
|
6130
|
-
/^f/i,
|
|
6131
|
-
/^m/i,
|
|
6132
|
-
/^a/i,
|
|
6133
|
-
/^m/i,
|
|
6134
|
-
/^j/i,
|
|
6135
|
-
/^j/i,
|
|
6136
|
-
/^a/i,
|
|
6137
|
-
/^s/i,
|
|
6138
|
-
/^o/i,
|
|
6139
|
-
/^n/i,
|
|
6140
|
-
/^d/i
|
|
6141
|
-
],
|
|
6142
|
-
any: [
|
|
6143
|
-
/^ja/i,
|
|
6144
|
-
/^f/i,
|
|
6145
|
-
/^mar/i,
|
|
6146
|
-
/^ap/i,
|
|
6147
|
-
/^may/i,
|
|
6148
|
-
/^jun/i,
|
|
6149
|
-
/^jul/i,
|
|
6150
|
-
/^au/i,
|
|
6151
|
-
/^s/i,
|
|
6152
|
-
/^o/i,
|
|
6153
|
-
/^n/i,
|
|
6154
|
-
/^d/i
|
|
6155
|
-
]
|
|
6156
|
-
};
|
|
6157
|
-
var matchDayPatterns = {
|
|
6158
|
-
narrow: /^[smtwf]/i,
|
|
6159
|
-
short: /^(su|mo|tu|we|th|fr|sa)/i,
|
|
6160
|
-
abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
|
|
6161
|
-
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
|
|
6162
|
-
};
|
|
6163
|
-
var parseDayPatterns = {
|
|
6164
|
-
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
|
|
6165
|
-
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
|
|
6166
|
-
};
|
|
6167
|
-
var matchDayPeriodPatterns = {
|
|
6168
|
-
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
|
|
6169
|
-
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
|
|
6170
|
-
};
|
|
6171
|
-
var parseDayPeriodPatterns = {
|
|
6172
|
-
any: {
|
|
6173
|
-
am: /^a/i,
|
|
6174
|
-
pm: /^p/i,
|
|
6175
|
-
midnight: /^mi/i,
|
|
6176
|
-
noon: /^no/i,
|
|
6177
|
-
morning: /morning/i,
|
|
6178
|
-
afternoon: /afternoon/i,
|
|
6179
|
-
evening: /evening/i,
|
|
6180
|
-
night: /night/i
|
|
6181
|
-
}
|
|
6182
|
-
};
|
|
6183
|
-
var match = {
|
|
6184
|
-
ordinalNumber: buildMatchPatternFn({
|
|
6185
|
-
matchPattern: matchOrdinalNumberPattern,
|
|
6186
|
-
parsePattern: parseOrdinalNumberPattern,
|
|
6187
|
-
valueCallback: (value) => parseInt(value, 10)
|
|
6188
|
-
}),
|
|
6189
|
-
era: buildMatchFn({
|
|
6190
|
-
matchPatterns: matchEraPatterns,
|
|
6191
|
-
defaultMatchWidth: "wide",
|
|
6192
|
-
parsePatterns: parseEraPatterns,
|
|
6193
|
-
defaultParseWidth: "any"
|
|
6194
|
-
}),
|
|
6195
|
-
quarter: buildMatchFn({
|
|
6196
|
-
matchPatterns: matchQuarterPatterns,
|
|
6197
|
-
defaultMatchWidth: "wide",
|
|
6198
|
-
parsePatterns: parseQuarterPatterns,
|
|
6199
|
-
defaultParseWidth: "any",
|
|
6200
|
-
valueCallback: (index) => index + 1
|
|
6201
|
-
}),
|
|
6202
|
-
month: buildMatchFn({
|
|
6203
|
-
matchPatterns: matchMonthPatterns,
|
|
6204
|
-
defaultMatchWidth: "wide",
|
|
6205
|
-
parsePatterns: parseMonthPatterns,
|
|
6206
|
-
defaultParseWidth: "any"
|
|
6207
|
-
}),
|
|
6208
|
-
day: buildMatchFn({
|
|
6209
|
-
matchPatterns: matchDayPatterns,
|
|
6210
|
-
defaultMatchWidth: "wide",
|
|
6211
|
-
parsePatterns: parseDayPatterns,
|
|
6212
|
-
defaultParseWidth: "any"
|
|
6213
|
-
}),
|
|
6214
|
-
dayPeriod: buildMatchFn({
|
|
6215
|
-
matchPatterns: matchDayPeriodPatterns,
|
|
6216
|
-
defaultMatchWidth: "any",
|
|
6217
|
-
parsePatterns: parseDayPeriodPatterns,
|
|
6218
|
-
defaultParseWidth: "any"
|
|
6219
|
-
})
|
|
6220
|
-
};
|
|
6221
|
-
|
|
6222
|
-
// node_modules/date-fns/locale/en-US.js
|
|
6223
|
-
var enUS = {
|
|
6224
|
-
code: "en-US",
|
|
6225
|
-
formatDistance,
|
|
6226
|
-
formatLong,
|
|
6227
|
-
formatRelative,
|
|
6228
|
-
localize,
|
|
6229
|
-
match,
|
|
6230
|
-
options: {
|
|
6231
|
-
weekStartsOn: 0,
|
|
6232
|
-
firstWeekContainsDate: 1
|
|
6233
|
-
}
|
|
6234
|
-
};
|
|
6235
|
-
|
|
6236
|
-
// node_modules/date-fns/getDayOfYear.js
|
|
6237
|
-
function getDayOfYear(date, options) {
|
|
6238
|
-
const _date = toDate(date, options?.in);
|
|
6239
|
-
const diff = differenceInCalendarDays(_date, startOfYear(_date));
|
|
6240
|
-
const dayOfYear = diff + 1;
|
|
6241
|
-
return dayOfYear;
|
|
6242
|
-
}
|
|
6243
|
-
|
|
6244
|
-
// node_modules/date-fns/getISOWeek.js
|
|
6245
|
-
function getISOWeek(date, options) {
|
|
6246
|
-
const _date = toDate(date, options?.in);
|
|
6247
|
-
const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
|
|
6248
|
-
return Math.round(diff / millisecondsInWeek) + 1;
|
|
6249
|
-
}
|
|
6250
|
-
|
|
6251
|
-
// node_modules/date-fns/getWeekYear.js
|
|
6252
|
-
function getWeekYear(date, options) {
|
|
6253
|
-
const _date = toDate(date, options?.in);
|
|
6254
|
-
const year = _date.getFullYear();
|
|
6255
|
-
const defaultOptions2 = getDefaultOptions();
|
|
6256
|
-
const firstWeekContainsDate = options?.firstWeekContainsDate ?? options?.locale?.options?.firstWeekContainsDate ?? defaultOptions2.firstWeekContainsDate ?? defaultOptions2.locale?.options?.firstWeekContainsDate ?? 1;
|
|
6257
|
-
const firstWeekOfNextYear = constructFrom(options?.in || date, 0);
|
|
6258
|
-
firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
|
|
6259
|
-
firstWeekOfNextYear.setHours(0, 0, 0, 0);
|
|
6260
|
-
const startOfNextYear = startOfWeek2(firstWeekOfNextYear, options);
|
|
6261
|
-
const firstWeekOfThisYear = constructFrom(options?.in || date, 0);
|
|
6262
|
-
firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);
|
|
6263
|
-
firstWeekOfThisYear.setHours(0, 0, 0, 0);
|
|
6264
|
-
const startOfThisYear = startOfWeek2(firstWeekOfThisYear, options);
|
|
6265
|
-
if (+_date >= +startOfNextYear) {
|
|
6266
|
-
return year + 1;
|
|
6267
|
-
} else if (+_date >= +startOfThisYear) {
|
|
6268
|
-
return year;
|
|
6269
|
-
} else {
|
|
6270
|
-
return year - 1;
|
|
6271
|
-
}
|
|
6272
|
-
}
|
|
6273
|
-
|
|
6274
|
-
// node_modules/date-fns/startOfWeekYear.js
|
|
6275
|
-
function startOfWeekYear(date, options) {
|
|
6276
|
-
const defaultOptions2 = getDefaultOptions();
|
|
6277
|
-
const firstWeekContainsDate = options?.firstWeekContainsDate ?? options?.locale?.options?.firstWeekContainsDate ?? defaultOptions2.firstWeekContainsDate ?? defaultOptions2.locale?.options?.firstWeekContainsDate ?? 1;
|
|
6278
|
-
const year = getWeekYear(date, options);
|
|
6279
|
-
const firstWeek = constructFrom(options?.in || date, 0);
|
|
6280
|
-
firstWeek.setFullYear(year, 0, firstWeekContainsDate);
|
|
6281
|
-
firstWeek.setHours(0, 0, 0, 0);
|
|
6282
|
-
const _date = startOfWeek2(firstWeek, options);
|
|
6283
|
-
return _date;
|
|
6284
|
-
}
|
|
6285
|
-
|
|
6286
|
-
// node_modules/date-fns/getWeek.js
|
|
6287
|
-
function getWeek(date, options) {
|
|
6288
|
-
const _date = toDate(date, options?.in);
|
|
6289
|
-
const diff = +startOfWeek2(_date, options) - +startOfWeekYear(_date, options);
|
|
6290
|
-
return Math.round(diff / millisecondsInWeek) + 1;
|
|
6291
|
-
}
|
|
6292
|
-
|
|
6293
|
-
// node_modules/date-fns/_lib/addLeadingZeros.js
|
|
6294
|
-
function addLeadingZeros(number, targetLength) {
|
|
6295
|
-
const sign = number < 0 ? "-" : "";
|
|
6296
|
-
const output = Math.abs(number).toString().padStart(targetLength, "0");
|
|
6297
|
-
return sign + output;
|
|
6298
|
-
}
|
|
6299
|
-
|
|
6300
|
-
// node_modules/date-fns/_lib/format/lightFormatters.js
|
|
6301
|
-
var lightFormatters = {
|
|
6302
|
-
// Year
|
|
6303
|
-
y(date, token) {
|
|
6304
|
-
const signedYear = date.getFullYear();
|
|
6305
|
-
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
|
6306
|
-
return addLeadingZeros(token === "yy" ? year % 100 : year, token.length);
|
|
6307
|
-
},
|
|
6308
|
-
// Month
|
|
6309
|
-
M(date, token) {
|
|
6310
|
-
const month = date.getMonth();
|
|
6311
|
-
return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2);
|
|
6312
|
-
},
|
|
6313
|
-
// Day of the month
|
|
6314
|
-
d(date, token) {
|
|
6315
|
-
return addLeadingZeros(date.getDate(), token.length);
|
|
6316
|
-
},
|
|
6317
|
-
// AM or PM
|
|
6318
|
-
a(date, token) {
|
|
6319
|
-
const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am";
|
|
6320
|
-
switch (token) {
|
|
6321
|
-
case "a":
|
|
6322
|
-
case "aa":
|
|
6323
|
-
return dayPeriodEnumValue.toUpperCase();
|
|
6324
|
-
case "aaa":
|
|
6325
|
-
return dayPeriodEnumValue;
|
|
6326
|
-
case "aaaaa":
|
|
6327
|
-
return dayPeriodEnumValue[0];
|
|
6328
|
-
case "aaaa":
|
|
6329
|
-
default:
|
|
6330
|
-
return dayPeriodEnumValue === "am" ? "a.m." : "p.m.";
|
|
6331
|
-
}
|
|
6332
|
-
},
|
|
6333
|
-
// Hour [1-12]
|
|
6334
|
-
h(date, token) {
|
|
6335
|
-
return addLeadingZeros(date.getHours() % 12 || 12, token.length);
|
|
6336
|
-
},
|
|
6337
|
-
// Hour [0-23]
|
|
6338
|
-
H(date, token) {
|
|
6339
|
-
return addLeadingZeros(date.getHours(), token.length);
|
|
6340
|
-
},
|
|
6341
|
-
// Minute
|
|
6342
|
-
m(date, token) {
|
|
6343
|
-
return addLeadingZeros(date.getMinutes(), token.length);
|
|
6344
|
-
},
|
|
6345
|
-
// Second
|
|
6346
|
-
s(date, token) {
|
|
6347
|
-
return addLeadingZeros(date.getSeconds(), token.length);
|
|
6348
|
-
},
|
|
6349
|
-
// Fraction of second
|
|
6350
|
-
S(date, token) {
|
|
6351
|
-
const numberOfDigits = token.length;
|
|
6352
|
-
const milliseconds = date.getMilliseconds();
|
|
6353
|
-
const fractionalSeconds = Math.trunc(
|
|
6354
|
-
milliseconds * Math.pow(10, numberOfDigits - 3)
|
|
6355
|
-
);
|
|
6356
|
-
return addLeadingZeros(fractionalSeconds, token.length);
|
|
6357
|
-
}
|
|
6358
|
-
};
|
|
6359
|
-
|
|
6360
|
-
// node_modules/date-fns/_lib/format/formatters.js
|
|
6361
|
-
var dayPeriodEnum = {
|
|
6362
|
-
midnight: "midnight",
|
|
6363
|
-
noon: "noon",
|
|
6364
|
-
morning: "morning",
|
|
6365
|
-
afternoon: "afternoon",
|
|
6366
|
-
evening: "evening",
|
|
6367
|
-
night: "night"
|
|
6368
|
-
};
|
|
6369
|
-
var formatters = {
|
|
6370
|
-
// Era
|
|
6371
|
-
G: function(date, token, localize2) {
|
|
6372
|
-
const era = date.getFullYear() > 0 ? 1 : 0;
|
|
6373
|
-
switch (token) {
|
|
6374
|
-
// AD, BC
|
|
6375
|
-
case "G":
|
|
6376
|
-
case "GG":
|
|
6377
|
-
case "GGG":
|
|
6378
|
-
return localize2.era(era, { width: "abbreviated" });
|
|
6379
|
-
// A, B
|
|
6380
|
-
case "GGGGG":
|
|
6381
|
-
return localize2.era(era, { width: "narrow" });
|
|
6382
|
-
// Anno Domini, Before Christ
|
|
6383
|
-
case "GGGG":
|
|
6384
|
-
default:
|
|
6385
|
-
return localize2.era(era, { width: "wide" });
|
|
6386
|
-
}
|
|
6387
|
-
},
|
|
6388
|
-
// Year
|
|
6389
|
-
y: function(date, token, localize2) {
|
|
6390
|
-
if (token === "yo") {
|
|
6391
|
-
const signedYear = date.getFullYear();
|
|
6392
|
-
const year = signedYear > 0 ? signedYear : 1 - signedYear;
|
|
6393
|
-
return localize2.ordinalNumber(year, { unit: "year" });
|
|
6394
|
-
}
|
|
6395
|
-
return lightFormatters.y(date, token);
|
|
6396
|
-
},
|
|
6397
|
-
// Local week-numbering year
|
|
6398
|
-
Y: function(date, token, localize2, options) {
|
|
6399
|
-
const signedWeekYear = getWeekYear(date, options);
|
|
6400
|
-
const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
|
|
6401
|
-
if (token === "YY") {
|
|
6402
|
-
const twoDigitYear = weekYear % 100;
|
|
6403
|
-
return addLeadingZeros(twoDigitYear, 2);
|
|
6404
|
-
}
|
|
6405
|
-
if (token === "Yo") {
|
|
6406
|
-
return localize2.ordinalNumber(weekYear, { unit: "year" });
|
|
6407
|
-
}
|
|
6408
|
-
return addLeadingZeros(weekYear, token.length);
|
|
6409
|
-
},
|
|
6410
|
-
// ISO week-numbering year
|
|
6411
|
-
R: function(date, token) {
|
|
6412
|
-
const isoWeekYear = getISOWeekYear(date);
|
|
6413
|
-
return addLeadingZeros(isoWeekYear, token.length);
|
|
6414
|
-
},
|
|
6415
|
-
// Extended year. This is a single number designating the year of this calendar system.
|
|
6416
|
-
// The main difference between `y` and `u` localizers are B.C. years:
|
|
6417
|
-
// | Year | `y` | `u` |
|
|
6418
|
-
// |------|-----|-----|
|
|
6419
|
-
// | AC 1 | 1 | 1 |
|
|
6420
|
-
// | BC 1 | 1 | 0 |
|
|
6421
|
-
// | BC 2 | 2 | -1 |
|
|
6422
|
-
// Also `yy` always returns the last two digits of a year,
|
|
6423
|
-
// while `uu` pads single digit years to 2 characters and returns other years unchanged.
|
|
6424
|
-
u: function(date, token) {
|
|
6425
|
-
const year = date.getFullYear();
|
|
6426
|
-
return addLeadingZeros(year, token.length);
|
|
6427
|
-
},
|
|
6428
|
-
// Quarter
|
|
6429
|
-
Q: function(date, token, localize2) {
|
|
6430
|
-
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
|
6431
|
-
switch (token) {
|
|
6432
|
-
// 1, 2, 3, 4
|
|
6433
|
-
case "Q":
|
|
6434
|
-
return String(quarter);
|
|
6435
|
-
// 01, 02, 03, 04
|
|
6436
|
-
case "QQ":
|
|
6437
|
-
return addLeadingZeros(quarter, 2);
|
|
6438
|
-
// 1st, 2nd, 3rd, 4th
|
|
6439
|
-
case "Qo":
|
|
6440
|
-
return localize2.ordinalNumber(quarter, { unit: "quarter" });
|
|
6441
|
-
// Q1, Q2, Q3, Q4
|
|
6442
|
-
case "QQQ":
|
|
6443
|
-
return localize2.quarter(quarter, {
|
|
6444
|
-
width: "abbreviated",
|
|
6445
|
-
context: "formatting"
|
|
6446
|
-
});
|
|
6447
|
-
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
|
6448
|
-
case "QQQQQ":
|
|
6449
|
-
return localize2.quarter(quarter, {
|
|
6450
|
-
width: "narrow",
|
|
6451
|
-
context: "formatting"
|
|
6452
|
-
});
|
|
6453
|
-
// 1st quarter, 2nd quarter, ...
|
|
6454
|
-
case "QQQQ":
|
|
6455
|
-
default:
|
|
6456
|
-
return localize2.quarter(quarter, {
|
|
6457
|
-
width: "wide",
|
|
6458
|
-
context: "formatting"
|
|
6459
|
-
});
|
|
6460
|
-
}
|
|
6461
|
-
},
|
|
6462
|
-
// Stand-alone quarter
|
|
6463
|
-
q: function(date, token, localize2) {
|
|
6464
|
-
const quarter = Math.ceil((date.getMonth() + 1) / 3);
|
|
6465
|
-
switch (token) {
|
|
6466
|
-
// 1, 2, 3, 4
|
|
6467
|
-
case "q":
|
|
6468
|
-
return String(quarter);
|
|
6469
|
-
// 01, 02, 03, 04
|
|
6470
|
-
case "qq":
|
|
6471
|
-
return addLeadingZeros(quarter, 2);
|
|
6472
|
-
// 1st, 2nd, 3rd, 4th
|
|
6473
|
-
case "qo":
|
|
6474
|
-
return localize2.ordinalNumber(quarter, { unit: "quarter" });
|
|
6475
|
-
// Q1, Q2, Q3, Q4
|
|
6476
|
-
case "qqq":
|
|
6477
|
-
return localize2.quarter(quarter, {
|
|
6478
|
-
width: "abbreviated",
|
|
6479
|
-
context: "standalone"
|
|
6480
|
-
});
|
|
6481
|
-
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
|
|
6482
|
-
case "qqqqq":
|
|
6483
|
-
return localize2.quarter(quarter, {
|
|
6484
|
-
width: "narrow",
|
|
6485
|
-
context: "standalone"
|
|
6486
|
-
});
|
|
6487
|
-
// 1st quarter, 2nd quarter, ...
|
|
6488
|
-
case "qqqq":
|
|
6489
|
-
default:
|
|
6490
|
-
return localize2.quarter(quarter, {
|
|
6491
|
-
width: "wide",
|
|
6492
|
-
context: "standalone"
|
|
6493
|
-
});
|
|
6494
|
-
}
|
|
6495
|
-
},
|
|
6496
|
-
// Month
|
|
6497
|
-
M: function(date, token, localize2) {
|
|
6498
|
-
const month = date.getMonth();
|
|
6499
|
-
switch (token) {
|
|
6500
|
-
case "M":
|
|
6501
|
-
case "MM":
|
|
6502
|
-
return lightFormatters.M(date, token);
|
|
6503
|
-
// 1st, 2nd, ..., 12th
|
|
6504
|
-
case "Mo":
|
|
6505
|
-
return localize2.ordinalNumber(month + 1, { unit: "month" });
|
|
6506
|
-
// Jan, Feb, ..., Dec
|
|
6507
|
-
case "MMM":
|
|
6508
|
-
return localize2.month(month, {
|
|
6509
|
-
width: "abbreviated",
|
|
6510
|
-
context: "formatting"
|
|
6511
|
-
});
|
|
6512
|
-
// J, F, ..., D
|
|
6513
|
-
case "MMMMM":
|
|
6514
|
-
return localize2.month(month, {
|
|
6515
|
-
width: "narrow",
|
|
6516
|
-
context: "formatting"
|
|
6517
|
-
});
|
|
6518
|
-
// January, February, ..., December
|
|
6519
|
-
case "MMMM":
|
|
6520
|
-
default:
|
|
6521
|
-
return localize2.month(month, { width: "wide", context: "formatting" });
|
|
6522
|
-
}
|
|
6523
|
-
},
|
|
6524
|
-
// Stand-alone month
|
|
6525
|
-
L: function(date, token, localize2) {
|
|
6526
|
-
const month = date.getMonth();
|
|
6527
|
-
switch (token) {
|
|
6528
|
-
// 1, 2, ..., 12
|
|
6529
|
-
case "L":
|
|
6530
|
-
return String(month + 1);
|
|
6531
|
-
// 01, 02, ..., 12
|
|
6532
|
-
case "LL":
|
|
6533
|
-
return addLeadingZeros(month + 1, 2);
|
|
6534
|
-
// 1st, 2nd, ..., 12th
|
|
6535
|
-
case "Lo":
|
|
6536
|
-
return localize2.ordinalNumber(month + 1, { unit: "month" });
|
|
6537
|
-
// Jan, Feb, ..., Dec
|
|
6538
|
-
case "LLL":
|
|
6539
|
-
return localize2.month(month, {
|
|
6540
|
-
width: "abbreviated",
|
|
6541
|
-
context: "standalone"
|
|
6542
|
-
});
|
|
6543
|
-
// J, F, ..., D
|
|
6544
|
-
case "LLLLL":
|
|
6545
|
-
return localize2.month(month, {
|
|
6546
|
-
width: "narrow",
|
|
6547
|
-
context: "standalone"
|
|
6548
|
-
});
|
|
6549
|
-
// January, February, ..., December
|
|
6550
|
-
case "LLLL":
|
|
6551
|
-
default:
|
|
6552
|
-
return localize2.month(month, { width: "wide", context: "standalone" });
|
|
6553
|
-
}
|
|
6554
|
-
},
|
|
6555
|
-
// Local week of year
|
|
6556
|
-
w: function(date, token, localize2, options) {
|
|
6557
|
-
const week = getWeek(date, options);
|
|
6558
|
-
if (token === "wo") {
|
|
6559
|
-
return localize2.ordinalNumber(week, { unit: "week" });
|
|
6560
|
-
}
|
|
6561
|
-
return addLeadingZeros(week, token.length);
|
|
6562
|
-
},
|
|
6563
|
-
// ISO week of year
|
|
6564
|
-
I: function(date, token, localize2) {
|
|
6565
|
-
const isoWeek = getISOWeek(date);
|
|
6566
|
-
if (token === "Io") {
|
|
6567
|
-
return localize2.ordinalNumber(isoWeek, { unit: "week" });
|
|
6568
|
-
}
|
|
6569
|
-
return addLeadingZeros(isoWeek, token.length);
|
|
6570
|
-
},
|
|
6571
|
-
// Day of the month
|
|
6572
|
-
d: function(date, token, localize2) {
|
|
6573
|
-
if (token === "do") {
|
|
6574
|
-
return localize2.ordinalNumber(date.getDate(), { unit: "date" });
|
|
6575
|
-
}
|
|
6576
|
-
return lightFormatters.d(date, token);
|
|
6577
|
-
},
|
|
6578
|
-
// Day of year
|
|
6579
|
-
D: function(date, token, localize2) {
|
|
6580
|
-
const dayOfYear = getDayOfYear(date);
|
|
6581
|
-
if (token === "Do") {
|
|
6582
|
-
return localize2.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
|
|
6583
|
-
}
|
|
6584
|
-
return addLeadingZeros(dayOfYear, token.length);
|
|
6585
|
-
},
|
|
6586
|
-
// Day of week
|
|
6587
|
-
E: function(date, token, localize2) {
|
|
6588
|
-
const dayOfWeek = date.getDay();
|
|
6589
|
-
switch (token) {
|
|
6590
|
-
// Tue
|
|
6591
|
-
case "E":
|
|
6592
|
-
case "EE":
|
|
6593
|
-
case "EEE":
|
|
6594
|
-
return localize2.day(dayOfWeek, {
|
|
6595
|
-
width: "abbreviated",
|
|
6596
|
-
context: "formatting"
|
|
6597
|
-
});
|
|
6598
|
-
// T
|
|
6599
|
-
case "EEEEE":
|
|
6600
|
-
return localize2.day(dayOfWeek, {
|
|
6601
|
-
width: "narrow",
|
|
6602
|
-
context: "formatting"
|
|
6603
|
-
});
|
|
6604
|
-
// Tu
|
|
6605
|
-
case "EEEEEE":
|
|
6606
|
-
return localize2.day(dayOfWeek, {
|
|
6607
|
-
width: "short",
|
|
6608
|
-
context: "formatting"
|
|
6609
|
-
});
|
|
6610
|
-
// Tuesday
|
|
6611
|
-
case "EEEE":
|
|
6612
|
-
default:
|
|
6613
|
-
return localize2.day(dayOfWeek, {
|
|
6614
|
-
width: "wide",
|
|
6615
|
-
context: "formatting"
|
|
6616
|
-
});
|
|
6617
|
-
}
|
|
6618
|
-
},
|
|
6619
|
-
// Local day of week
|
|
6620
|
-
e: function(date, token, localize2, options) {
|
|
6621
|
-
const dayOfWeek = date.getDay();
|
|
6622
|
-
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
|
6623
|
-
switch (token) {
|
|
6624
|
-
// Numerical value (Nth day of week with current locale or weekStartsOn)
|
|
6625
|
-
case "e":
|
|
6626
|
-
return String(localDayOfWeek);
|
|
6627
|
-
// Padded numerical value
|
|
6628
|
-
case "ee":
|
|
6629
|
-
return addLeadingZeros(localDayOfWeek, 2);
|
|
6630
|
-
// 1st, 2nd, ..., 7th
|
|
6631
|
-
case "eo":
|
|
6632
|
-
return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
|
|
6633
|
-
case "eee":
|
|
6634
|
-
return localize2.day(dayOfWeek, {
|
|
6635
|
-
width: "abbreviated",
|
|
6636
|
-
context: "formatting"
|
|
6637
|
-
});
|
|
6638
|
-
// T
|
|
6639
|
-
case "eeeee":
|
|
6640
|
-
return localize2.day(dayOfWeek, {
|
|
6641
|
-
width: "narrow",
|
|
6642
|
-
context: "formatting"
|
|
6643
|
-
});
|
|
6644
|
-
// Tu
|
|
6645
|
-
case "eeeeee":
|
|
6646
|
-
return localize2.day(dayOfWeek, {
|
|
6647
|
-
width: "short",
|
|
6648
|
-
context: "formatting"
|
|
6649
|
-
});
|
|
6650
|
-
// Tuesday
|
|
6651
|
-
case "eeee":
|
|
6652
|
-
default:
|
|
6653
|
-
return localize2.day(dayOfWeek, {
|
|
6654
|
-
width: "wide",
|
|
6655
|
-
context: "formatting"
|
|
6656
|
-
});
|
|
6657
|
-
}
|
|
6658
|
-
},
|
|
6659
|
-
// Stand-alone local day of week
|
|
6660
|
-
c: function(date, token, localize2, options) {
|
|
6661
|
-
const dayOfWeek = date.getDay();
|
|
6662
|
-
const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
|
|
6663
|
-
switch (token) {
|
|
6664
|
-
// Numerical value (same as in `e`)
|
|
6665
|
-
case "c":
|
|
6666
|
-
return String(localDayOfWeek);
|
|
6667
|
-
// Padded numerical value
|
|
6668
|
-
case "cc":
|
|
6669
|
-
return addLeadingZeros(localDayOfWeek, token.length);
|
|
6670
|
-
// 1st, 2nd, ..., 7th
|
|
6671
|
-
case "co":
|
|
6672
|
-
return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
|
|
6673
|
-
case "ccc":
|
|
6674
|
-
return localize2.day(dayOfWeek, {
|
|
6675
|
-
width: "abbreviated",
|
|
6676
|
-
context: "standalone"
|
|
6677
|
-
});
|
|
6678
|
-
// T
|
|
6679
|
-
case "ccccc":
|
|
6680
|
-
return localize2.day(dayOfWeek, {
|
|
6681
|
-
width: "narrow",
|
|
6682
|
-
context: "standalone"
|
|
6683
|
-
});
|
|
6684
|
-
// Tu
|
|
6685
|
-
case "cccccc":
|
|
6686
|
-
return localize2.day(dayOfWeek, {
|
|
6687
|
-
width: "short",
|
|
6688
|
-
context: "standalone"
|
|
6689
|
-
});
|
|
6690
|
-
// Tuesday
|
|
6691
|
-
case "cccc":
|
|
6692
|
-
default:
|
|
6693
|
-
return localize2.day(dayOfWeek, {
|
|
6694
|
-
width: "wide",
|
|
6695
|
-
context: "standalone"
|
|
6696
|
-
});
|
|
6697
|
-
}
|
|
6698
|
-
},
|
|
6699
|
-
// ISO day of week
|
|
6700
|
-
i: function(date, token, localize2) {
|
|
6701
|
-
const dayOfWeek = date.getDay();
|
|
6702
|
-
const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
|
|
6703
|
-
switch (token) {
|
|
6704
|
-
// 2
|
|
6705
|
-
case "i":
|
|
6706
|
-
return String(isoDayOfWeek);
|
|
6707
|
-
// 02
|
|
6708
|
-
case "ii":
|
|
6709
|
-
return addLeadingZeros(isoDayOfWeek, token.length);
|
|
6710
|
-
// 2nd
|
|
6711
|
-
case "io":
|
|
6712
|
-
return localize2.ordinalNumber(isoDayOfWeek, { unit: "day" });
|
|
6713
|
-
// Tue
|
|
6714
|
-
case "iii":
|
|
6715
|
-
return localize2.day(dayOfWeek, {
|
|
6716
|
-
width: "abbreviated",
|
|
6717
|
-
context: "formatting"
|
|
6718
|
-
});
|
|
6719
|
-
// T
|
|
6720
|
-
case "iiiii":
|
|
6721
|
-
return localize2.day(dayOfWeek, {
|
|
6722
|
-
width: "narrow",
|
|
6723
|
-
context: "formatting"
|
|
6724
|
-
});
|
|
6725
|
-
// Tu
|
|
6726
|
-
case "iiiiii":
|
|
6727
|
-
return localize2.day(dayOfWeek, {
|
|
6728
|
-
width: "short",
|
|
6729
|
-
context: "formatting"
|
|
6730
|
-
});
|
|
6731
|
-
// Tuesday
|
|
6732
|
-
case "iiii":
|
|
6733
|
-
default:
|
|
6734
|
-
return localize2.day(dayOfWeek, {
|
|
6735
|
-
width: "wide",
|
|
6736
|
-
context: "formatting"
|
|
6737
|
-
});
|
|
6738
|
-
}
|
|
6739
|
-
},
|
|
6740
|
-
// AM or PM
|
|
6741
|
-
a: function(date, token, localize2) {
|
|
6742
|
-
const hours = date.getHours();
|
|
6743
|
-
const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
|
6744
|
-
switch (token) {
|
|
6745
|
-
case "a":
|
|
6746
|
-
case "aa":
|
|
6747
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6748
|
-
width: "abbreviated",
|
|
6749
|
-
context: "formatting"
|
|
6750
|
-
});
|
|
6751
|
-
case "aaa":
|
|
6752
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6753
|
-
width: "abbreviated",
|
|
6754
|
-
context: "formatting"
|
|
6755
|
-
}).toLowerCase();
|
|
6756
|
-
case "aaaaa":
|
|
6757
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6758
|
-
width: "narrow",
|
|
6759
|
-
context: "formatting"
|
|
6760
|
-
});
|
|
6761
|
-
case "aaaa":
|
|
6762
|
-
default:
|
|
6763
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6764
|
-
width: "wide",
|
|
6765
|
-
context: "formatting"
|
|
6766
|
-
});
|
|
6767
|
-
}
|
|
6768
|
-
},
|
|
6769
|
-
// AM, PM, midnight, noon
|
|
6770
|
-
b: function(date, token, localize2) {
|
|
6771
|
-
const hours = date.getHours();
|
|
6772
|
-
let dayPeriodEnumValue;
|
|
6773
|
-
if (hours === 12) {
|
|
6774
|
-
dayPeriodEnumValue = dayPeriodEnum.noon;
|
|
6775
|
-
} else if (hours === 0) {
|
|
6776
|
-
dayPeriodEnumValue = dayPeriodEnum.midnight;
|
|
6777
|
-
} else {
|
|
6778
|
-
dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
|
|
6779
|
-
}
|
|
6780
|
-
switch (token) {
|
|
6781
|
-
case "b":
|
|
6782
|
-
case "bb":
|
|
6783
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6784
|
-
width: "abbreviated",
|
|
6785
|
-
context: "formatting"
|
|
6786
|
-
});
|
|
6787
|
-
case "bbb":
|
|
6788
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6789
|
-
width: "abbreviated",
|
|
6790
|
-
context: "formatting"
|
|
6791
|
-
}).toLowerCase();
|
|
6792
|
-
case "bbbbb":
|
|
6793
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6794
|
-
width: "narrow",
|
|
6795
|
-
context: "formatting"
|
|
6796
|
-
});
|
|
6797
|
-
case "bbbb":
|
|
6798
|
-
default:
|
|
6799
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6800
|
-
width: "wide",
|
|
6801
|
-
context: "formatting"
|
|
6802
|
-
});
|
|
6803
|
-
}
|
|
6804
|
-
},
|
|
6805
|
-
// in the morning, in the afternoon, in the evening, at night
|
|
6806
|
-
B: function(date, token, localize2) {
|
|
6807
|
-
const hours = date.getHours();
|
|
6808
|
-
let dayPeriodEnumValue;
|
|
6809
|
-
if (hours >= 17) {
|
|
6810
|
-
dayPeriodEnumValue = dayPeriodEnum.evening;
|
|
6811
|
-
} else if (hours >= 12) {
|
|
6812
|
-
dayPeriodEnumValue = dayPeriodEnum.afternoon;
|
|
6813
|
-
} else if (hours >= 4) {
|
|
6814
|
-
dayPeriodEnumValue = dayPeriodEnum.morning;
|
|
6815
|
-
} else {
|
|
6816
|
-
dayPeriodEnumValue = dayPeriodEnum.night;
|
|
6817
|
-
}
|
|
6818
|
-
switch (token) {
|
|
6819
|
-
case "B":
|
|
6820
|
-
case "BB":
|
|
6821
|
-
case "BBB":
|
|
6822
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6823
|
-
width: "abbreviated",
|
|
6824
|
-
context: "formatting"
|
|
6825
|
-
});
|
|
6826
|
-
case "BBBBB":
|
|
6827
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6828
|
-
width: "narrow",
|
|
6829
|
-
context: "formatting"
|
|
6830
|
-
});
|
|
6831
|
-
case "BBBB":
|
|
6832
|
-
default:
|
|
6833
|
-
return localize2.dayPeriod(dayPeriodEnumValue, {
|
|
6834
|
-
width: "wide",
|
|
6835
|
-
context: "formatting"
|
|
6836
|
-
});
|
|
6837
|
-
}
|
|
6838
|
-
},
|
|
6839
|
-
// Hour [1-12]
|
|
6840
|
-
h: function(date, token, localize2) {
|
|
6841
|
-
if (token === "ho") {
|
|
6842
|
-
let hours = date.getHours() % 12;
|
|
6843
|
-
if (hours === 0) hours = 12;
|
|
6844
|
-
return localize2.ordinalNumber(hours, { unit: "hour" });
|
|
6845
|
-
}
|
|
6846
|
-
return lightFormatters.h(date, token);
|
|
6847
|
-
},
|
|
6848
|
-
// Hour [0-23]
|
|
6849
|
-
H: function(date, token, localize2) {
|
|
6850
|
-
if (token === "Ho") {
|
|
6851
|
-
return localize2.ordinalNumber(date.getHours(), { unit: "hour" });
|
|
6852
|
-
}
|
|
6853
|
-
return lightFormatters.H(date, token);
|
|
6854
|
-
},
|
|
6855
|
-
// Hour [0-11]
|
|
6856
|
-
K: function(date, token, localize2) {
|
|
6857
|
-
const hours = date.getHours() % 12;
|
|
6858
|
-
if (token === "Ko") {
|
|
6859
|
-
return localize2.ordinalNumber(hours, { unit: "hour" });
|
|
6860
|
-
}
|
|
6861
|
-
return addLeadingZeros(hours, token.length);
|
|
6862
|
-
},
|
|
6863
|
-
// Hour [1-24]
|
|
6864
|
-
k: function(date, token, localize2) {
|
|
6865
|
-
let hours = date.getHours();
|
|
6866
|
-
if (hours === 0) hours = 24;
|
|
6867
|
-
if (token === "ko") {
|
|
6868
|
-
return localize2.ordinalNumber(hours, { unit: "hour" });
|
|
6869
|
-
}
|
|
6870
|
-
return addLeadingZeros(hours, token.length);
|
|
6871
|
-
},
|
|
6872
|
-
// Minute
|
|
6873
|
-
m: function(date, token, localize2) {
|
|
6874
|
-
if (token === "mo") {
|
|
6875
|
-
return localize2.ordinalNumber(date.getMinutes(), { unit: "minute" });
|
|
6876
|
-
}
|
|
6877
|
-
return lightFormatters.m(date, token);
|
|
6878
|
-
},
|
|
6879
|
-
// Second
|
|
6880
|
-
s: function(date, token, localize2) {
|
|
6881
|
-
if (token === "so") {
|
|
6882
|
-
return localize2.ordinalNumber(date.getSeconds(), { unit: "second" });
|
|
6883
|
-
}
|
|
6884
|
-
return lightFormatters.s(date, token);
|
|
6885
|
-
},
|
|
6886
|
-
// Fraction of second
|
|
6887
|
-
S: function(date, token) {
|
|
6888
|
-
return lightFormatters.S(date, token);
|
|
6889
|
-
},
|
|
6890
|
-
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
|
|
6891
|
-
X: function(date, token, _localize) {
|
|
6892
|
-
const timezoneOffset = date.getTimezoneOffset();
|
|
6893
|
-
if (timezoneOffset === 0) {
|
|
6894
|
-
return "Z";
|
|
6895
|
-
}
|
|
6896
|
-
switch (token) {
|
|
6897
|
-
// Hours and optional minutes
|
|
6898
|
-
case "X":
|
|
6899
|
-
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
|
6900
|
-
// Hours, minutes and optional seconds without `:` delimiter
|
|
6901
|
-
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
|
6902
|
-
// so this token always has the same output as `XX`
|
|
6903
|
-
case "XXXX":
|
|
6904
|
-
case "XX":
|
|
6905
|
-
return formatTimezone(timezoneOffset);
|
|
6906
|
-
// Hours, minutes and optional seconds with `:` delimiter
|
|
6907
|
-
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
|
6908
|
-
// so this token always has the same output as `XXX`
|
|
6909
|
-
case "XXXXX":
|
|
6910
|
-
case "XXX":
|
|
6911
|
-
// Hours and minutes with `:` delimiter
|
|
6912
|
-
default:
|
|
6913
|
-
return formatTimezone(timezoneOffset, ":");
|
|
6914
|
-
}
|
|
6915
|
-
},
|
|
6916
|
-
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
|
|
6917
|
-
x: function(date, token, _localize) {
|
|
6918
|
-
const timezoneOffset = date.getTimezoneOffset();
|
|
6919
|
-
switch (token) {
|
|
6920
|
-
// Hours and optional minutes
|
|
6921
|
-
case "x":
|
|
6922
|
-
return formatTimezoneWithOptionalMinutes(timezoneOffset);
|
|
6923
|
-
// Hours, minutes and optional seconds without `:` delimiter
|
|
6924
|
-
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
|
6925
|
-
// so this token always has the same output as `xx`
|
|
6926
|
-
case "xxxx":
|
|
6927
|
-
case "xx":
|
|
6928
|
-
return formatTimezone(timezoneOffset);
|
|
6929
|
-
// Hours, minutes and optional seconds with `:` delimiter
|
|
6930
|
-
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
|
|
6931
|
-
// so this token always has the same output as `xxx`
|
|
6932
|
-
case "xxxxx":
|
|
6933
|
-
case "xxx":
|
|
6934
|
-
// Hours and minutes with `:` delimiter
|
|
6935
|
-
default:
|
|
6936
|
-
return formatTimezone(timezoneOffset, ":");
|
|
6937
|
-
}
|
|
6938
|
-
},
|
|
6939
|
-
// Timezone (GMT)
|
|
6940
|
-
O: function(date, token, _localize) {
|
|
6941
|
-
const timezoneOffset = date.getTimezoneOffset();
|
|
6942
|
-
switch (token) {
|
|
6943
|
-
// Short
|
|
6944
|
-
case "O":
|
|
6945
|
-
case "OO":
|
|
6946
|
-
case "OOO":
|
|
6947
|
-
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
|
6948
|
-
// Long
|
|
6949
|
-
case "OOOO":
|
|
6950
|
-
default:
|
|
6951
|
-
return "GMT" + formatTimezone(timezoneOffset, ":");
|
|
6952
|
-
}
|
|
6953
|
-
},
|
|
6954
|
-
// Timezone (specific non-location)
|
|
6955
|
-
z: function(date, token, _localize) {
|
|
6956
|
-
const timezoneOffset = date.getTimezoneOffset();
|
|
6957
|
-
switch (token) {
|
|
6958
|
-
// Short
|
|
6959
|
-
case "z":
|
|
6960
|
-
case "zz":
|
|
6961
|
-
case "zzz":
|
|
6962
|
-
return "GMT" + formatTimezoneShort(timezoneOffset, ":");
|
|
6963
|
-
// Long
|
|
6964
|
-
case "zzzz":
|
|
6965
|
-
default:
|
|
6966
|
-
return "GMT" + formatTimezone(timezoneOffset, ":");
|
|
6967
|
-
}
|
|
6968
|
-
},
|
|
6969
|
-
// Seconds timestamp
|
|
6970
|
-
t: function(date, token, _localize) {
|
|
6971
|
-
const timestamp = Math.trunc(+date / 1e3);
|
|
6972
|
-
return addLeadingZeros(timestamp, token.length);
|
|
6973
|
-
},
|
|
6974
|
-
// Milliseconds timestamp
|
|
6975
|
-
T: function(date, token, _localize) {
|
|
6976
|
-
return addLeadingZeros(+date, token.length);
|
|
6977
|
-
}
|
|
6978
|
-
};
|
|
6979
|
-
function formatTimezoneShort(offset, delimiter = "") {
|
|
6980
|
-
const sign = offset > 0 ? "-" : "+";
|
|
6981
|
-
const absOffset = Math.abs(offset);
|
|
6982
|
-
const hours = Math.trunc(absOffset / 60);
|
|
6983
|
-
const minutes = absOffset % 60;
|
|
6984
|
-
if (minutes === 0) {
|
|
6985
|
-
return sign + String(hours);
|
|
6986
|
-
}
|
|
6987
|
-
return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
|
|
6988
|
-
}
|
|
6989
|
-
function formatTimezoneWithOptionalMinutes(offset, delimiter) {
|
|
6990
|
-
if (offset % 60 === 0) {
|
|
6991
|
-
const sign = offset > 0 ? "-" : "+";
|
|
6992
|
-
return sign + addLeadingZeros(Math.abs(offset) / 60, 2);
|
|
6993
|
-
}
|
|
6994
|
-
return formatTimezone(offset, delimiter);
|
|
6995
|
-
}
|
|
6996
|
-
function formatTimezone(offset, delimiter = "") {
|
|
6997
|
-
const sign = offset > 0 ? "-" : "+";
|
|
6998
|
-
const absOffset = Math.abs(offset);
|
|
6999
|
-
const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);
|
|
7000
|
-
const minutes = addLeadingZeros(absOffset % 60, 2);
|
|
7001
|
-
return sign + hours + delimiter + minutes;
|
|
7002
|
-
}
|
|
7003
|
-
|
|
7004
|
-
// node_modules/date-fns/_lib/format/longFormatters.js
|
|
7005
|
-
var dateLongFormatter = (pattern, formatLong2) => {
|
|
7006
|
-
switch (pattern) {
|
|
7007
|
-
case "P":
|
|
7008
|
-
return formatLong2.date({ width: "short" });
|
|
7009
|
-
case "PP":
|
|
7010
|
-
return formatLong2.date({ width: "medium" });
|
|
7011
|
-
case "PPP":
|
|
7012
|
-
return formatLong2.date({ width: "long" });
|
|
7013
|
-
case "PPPP":
|
|
7014
|
-
default:
|
|
7015
|
-
return formatLong2.date({ width: "full" });
|
|
7016
|
-
}
|
|
7017
|
-
};
|
|
7018
|
-
var timeLongFormatter = (pattern, formatLong2) => {
|
|
7019
|
-
switch (pattern) {
|
|
7020
|
-
case "p":
|
|
7021
|
-
return formatLong2.time({ width: "short" });
|
|
7022
|
-
case "pp":
|
|
7023
|
-
return formatLong2.time({ width: "medium" });
|
|
7024
|
-
case "ppp":
|
|
7025
|
-
return formatLong2.time({ width: "long" });
|
|
7026
|
-
case "pppp":
|
|
7027
|
-
default:
|
|
7028
|
-
return formatLong2.time({ width: "full" });
|
|
7029
|
-
}
|
|
7030
|
-
};
|
|
7031
|
-
var dateTimeLongFormatter = (pattern, formatLong2) => {
|
|
7032
|
-
const matchResult = pattern.match(/(P+)(p+)?/) || [];
|
|
7033
|
-
const datePattern = matchResult[1];
|
|
7034
|
-
const timePattern = matchResult[2];
|
|
7035
|
-
if (!timePattern) {
|
|
7036
|
-
return dateLongFormatter(pattern, formatLong2);
|
|
7037
|
-
}
|
|
7038
|
-
let dateTimeFormat;
|
|
7039
|
-
switch (datePattern) {
|
|
7040
|
-
case "P":
|
|
7041
|
-
dateTimeFormat = formatLong2.dateTime({ width: "short" });
|
|
7042
|
-
break;
|
|
7043
|
-
case "PP":
|
|
7044
|
-
dateTimeFormat = formatLong2.dateTime({ width: "medium" });
|
|
7045
|
-
break;
|
|
7046
|
-
case "PPP":
|
|
7047
|
-
dateTimeFormat = formatLong2.dateTime({ width: "long" });
|
|
7048
|
-
break;
|
|
7049
|
-
case "PPPP":
|
|
7050
|
-
default:
|
|
7051
|
-
dateTimeFormat = formatLong2.dateTime({ width: "full" });
|
|
7052
|
-
break;
|
|
7053
|
-
}
|
|
7054
|
-
return dateTimeFormat.replace("{{date}}", dateLongFormatter(datePattern, formatLong2)).replace("{{time}}", timeLongFormatter(timePattern, formatLong2));
|
|
7055
|
-
};
|
|
7056
|
-
var longFormatters = {
|
|
7057
|
-
p: timeLongFormatter,
|
|
7058
|
-
P: dateTimeLongFormatter
|
|
7059
|
-
};
|
|
7060
|
-
|
|
7061
|
-
// node_modules/date-fns/_lib/protectedTokens.js
|
|
7062
|
-
var dayOfYearTokenRE = /^D+$/;
|
|
7063
|
-
var weekYearTokenRE = /^Y+$/;
|
|
7064
|
-
var throwTokens = ["D", "DD", "YY", "YYYY"];
|
|
7065
|
-
function isProtectedDayOfYearToken(token) {
|
|
7066
|
-
return dayOfYearTokenRE.test(token);
|
|
7067
|
-
}
|
|
7068
|
-
function isProtectedWeekYearToken(token) {
|
|
7069
|
-
return weekYearTokenRE.test(token);
|
|
7070
|
-
}
|
|
7071
|
-
function warnOrThrowProtectedError(token, format2, input) {
|
|
7072
|
-
const _message = message(token, format2, input);
|
|
7073
|
-
console.warn(_message);
|
|
7074
|
-
if (throwTokens.includes(token)) throw new RangeError(_message);
|
|
7075
|
-
}
|
|
7076
|
-
function message(token, format2, input) {
|
|
7077
|
-
const subject = token[0] === "Y" ? "years" : "days of the month";
|
|
7078
|
-
return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format2}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
|
|
7079
|
-
}
|
|
7080
|
-
|
|
7081
|
-
// node_modules/date-fns/format.js
|
|
7082
|
-
var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
|
|
7083
|
-
var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
|
|
7084
|
-
var escapedStringRegExp = /^'([^]*?)'?$/;
|
|
7085
|
-
var doubleQuoteRegExp = /''/g;
|
|
7086
|
-
var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
|
|
7087
|
-
function format(date, formatStr, options) {
|
|
7088
|
-
const defaultOptions2 = getDefaultOptions();
|
|
7089
|
-
const locale = defaultOptions2.locale ?? enUS;
|
|
7090
|
-
const firstWeekContainsDate = defaultOptions2.firstWeekContainsDate ?? defaultOptions2.locale?.options?.firstWeekContainsDate ?? 1;
|
|
7091
|
-
const weekStartsOn = defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
|
|
7092
|
-
const originalDate = toDate(date, options?.in);
|
|
7093
|
-
if (!isValid(originalDate)) {
|
|
7094
|
-
throw new RangeError("Invalid time value");
|
|
7095
|
-
}
|
|
7096
|
-
let parts = formatStr.match(longFormattingTokensRegExp).map((substring) => {
|
|
7097
|
-
const firstCharacter = substring[0];
|
|
7098
|
-
if (firstCharacter === "p" || firstCharacter === "P") {
|
|
7099
|
-
const longFormatter = longFormatters[firstCharacter];
|
|
7100
|
-
return longFormatter(substring, locale.formatLong);
|
|
7101
|
-
}
|
|
7102
|
-
return substring;
|
|
7103
|
-
}).join("").match(formattingTokensRegExp).map((substring) => {
|
|
7104
|
-
if (substring === "''") {
|
|
7105
|
-
return { isToken: false, value: "'" };
|
|
7106
|
-
}
|
|
7107
|
-
const firstCharacter = substring[0];
|
|
7108
|
-
if (firstCharacter === "'") {
|
|
7109
|
-
return { isToken: false, value: cleanEscapedString(substring) };
|
|
7110
|
-
}
|
|
7111
|
-
if (formatters[firstCharacter]) {
|
|
7112
|
-
return { isToken: true, value: substring };
|
|
7113
|
-
}
|
|
7114
|
-
if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
|
|
7115
|
-
throw new RangeError(
|
|
7116
|
-
"Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"
|
|
7117
|
-
);
|
|
7118
|
-
}
|
|
7119
|
-
return { isToken: false, value: substring };
|
|
7120
|
-
});
|
|
7121
|
-
if (locale.localize.preprocessor) {
|
|
7122
|
-
parts = locale.localize.preprocessor(originalDate, parts);
|
|
7123
|
-
}
|
|
7124
|
-
const formatterOptions = {
|
|
7125
|
-
firstWeekContainsDate,
|
|
7126
|
-
weekStartsOn,
|
|
7127
|
-
locale
|
|
7128
|
-
};
|
|
7129
|
-
return parts.map((part) => {
|
|
7130
|
-
if (!part.isToken) return part.value;
|
|
7131
|
-
const token = part.value;
|
|
7132
|
-
if (isProtectedWeekYearToken(token) || isProtectedDayOfYearToken(token)) {
|
|
7133
|
-
warnOrThrowProtectedError(token, formatStr, String(date));
|
|
7134
|
-
}
|
|
7135
|
-
const formatter = formatters[token[0]];
|
|
7136
|
-
return formatter(originalDate, token, locale.localize, formatterOptions);
|
|
7137
|
-
}).join("");
|
|
7138
|
-
}
|
|
7139
|
-
function cleanEscapedString(input) {
|
|
7140
|
-
const matched = input.match(escapedStringRegExp);
|
|
7141
|
-
if (!matched) {
|
|
7142
|
-
return input;
|
|
7143
|
-
}
|
|
7144
|
-
return matched[1].replace(doubleQuoteRegExp, "'");
|
|
7145
|
-
}
|
|
7146
|
-
|
|
7147
|
-
// node_modules/date-fns/isSameMonth.js
|
|
7148
|
-
function isSameMonth(laterDate, earlierDate, options) {
|
|
7149
|
-
const [laterDate_, earlierDate_] = normalizeDates(
|
|
7150
|
-
options?.in,
|
|
7151
|
-
laterDate,
|
|
7152
|
-
earlierDate
|
|
7153
|
-
);
|
|
7154
|
-
return laterDate_.getFullYear() === earlierDate_.getFullYear() && laterDate_.getMonth() === earlierDate_.getMonth();
|
|
7155
|
-
}
|
|
7156
5451
|
var DEFAULT_COLUMN_WIDTH = {
|
|
7157
5452
|
days: 56,
|
|
7158
5453
|
weeks: 80,
|
|
@@ -7165,19 +5460,19 @@ var DEFAULT_COLOR2 = "hsl(var(--chart-1))";
|
|
|
7165
5460
|
var EDGE_HIT_PX = 8;
|
|
7166
5461
|
var LONG_PRESS_MS = 300;
|
|
7167
5462
|
function startOfScale(date, scale) {
|
|
7168
|
-
if (scale === "days") return startOfDay(date);
|
|
7169
|
-
if (scale === "weeks") return
|
|
7170
|
-
return startOfMonth(date);
|
|
5463
|
+
if (scale === "days") return dateFns.startOfDay(date);
|
|
5464
|
+
if (scale === "weeks") return dateFns.startOfWeek(date, { weekStartsOn: 1 });
|
|
5465
|
+
return dateFns.startOfMonth(date);
|
|
7171
5466
|
}
|
|
7172
5467
|
function endOfScale(date, scale) {
|
|
7173
|
-
if (scale === "days") return startOfDay(date);
|
|
7174
|
-
if (scale === "weeks") return endOfWeek(date, { weekStartsOn: 1 });
|
|
7175
|
-
return endOfMonth(date);
|
|
5468
|
+
if (scale === "days") return dateFns.startOfDay(date);
|
|
5469
|
+
if (scale === "weeks") return dateFns.endOfWeek(date, { weekStartsOn: 1 });
|
|
5470
|
+
return dateFns.endOfMonth(date);
|
|
7176
5471
|
}
|
|
7177
5472
|
function addUnits(date, n, scale) {
|
|
7178
|
-
if (scale === "days") return addDays(date, n);
|
|
7179
|
-
if (scale === "weeks") return addWeeks(date, n);
|
|
7180
|
-
return addMonths(date, n);
|
|
5473
|
+
if (scale === "days") return dateFns.addDays(date, n);
|
|
5474
|
+
if (scale === "weeks") return dateFns.addWeeks(date, n);
|
|
5475
|
+
return dateFns.addMonths(date, n);
|
|
7181
5476
|
}
|
|
7182
5477
|
function unitsBetween(a, b, scale) {
|
|
7183
5478
|
if (scale === "days") {
|
|
@@ -7186,29 +5481,29 @@ function unitsBetween(a, b, scale) {
|
|
|
7186
5481
|
if (scale === "weeks") {
|
|
7187
5482
|
return (b.getTime() - a.getTime()) / (7 * 864e5);
|
|
7188
5483
|
}
|
|
7189
|
-
const wholeMonths = differenceInCalendarMonths(b, a);
|
|
7190
|
-
const monthAnchor = addMonths(a, wholeMonths);
|
|
7191
|
-
const monthLen = (endOfMonth(monthAnchor).getTime() - startOfMonth(monthAnchor).getTime()) / 864e5 + 1;
|
|
5484
|
+
const wholeMonths = dateFns.differenceInCalendarMonths(b, a);
|
|
5485
|
+
const monthAnchor = dateFns.addMonths(a, wholeMonths);
|
|
5486
|
+
const monthLen = (dateFns.endOfMonth(monthAnchor).getTime() - dateFns.startOfMonth(monthAnchor).getTime()) / 864e5 + 1;
|
|
7192
5487
|
const remainderDays = (b.getTime() - monthAnchor.getTime()) / 864e5;
|
|
7193
5488
|
return wholeMonths + remainderDays / monthLen;
|
|
7194
5489
|
}
|
|
7195
5490
|
function totalColumns(viewportStart, viewportEnd, scale) {
|
|
7196
5491
|
if (scale === "days") {
|
|
7197
|
-
return Math.max(1, differenceInCalendarDays(viewportEnd, viewportStart) + 1);
|
|
5492
|
+
return Math.max(1, dateFns.differenceInCalendarDays(viewportEnd, viewportStart) + 1);
|
|
7198
5493
|
}
|
|
7199
5494
|
if (scale === "weeks") {
|
|
7200
|
-
return Math.max(1, differenceInCalendarWeeks(viewportEnd, viewportStart, { weekStartsOn: 1 }) + 1);
|
|
5495
|
+
return Math.max(1, dateFns.differenceInCalendarWeeks(viewportEnd, viewportStart, { weekStartsOn: 1 }) + 1);
|
|
7201
5496
|
}
|
|
7202
|
-
return Math.max(1, differenceInCalendarMonths(viewportEnd, viewportStart) + 1);
|
|
5497
|
+
return Math.max(1, dateFns.differenceInCalendarMonths(viewportEnd, viewportStart) + 1);
|
|
7203
5498
|
}
|
|
7204
5499
|
function formatColumnLabel(date, scale) {
|
|
7205
|
-
if (scale === "days") return format(date, "EEE d");
|
|
7206
|
-
if (scale === "weeks") return `Week ${format(date, "w")}`;
|
|
7207
|
-
return format(date, "MMM yyyy");
|
|
5500
|
+
if (scale === "days") return dateFns.format(date, "EEE d");
|
|
5501
|
+
if (scale === "weeks") return `Week ${dateFns.format(date, "w")}`;
|
|
5502
|
+
return dateFns.format(date, "MMM yyyy");
|
|
7208
5503
|
}
|
|
7209
5504
|
function formatColumnSubLabel(date, scale) {
|
|
7210
|
-
if (scale === "days") return format(date, "MMM");
|
|
7211
|
-
if (scale === "weeks") return format(date, "MMM yyyy");
|
|
5505
|
+
if (scale === "days") return dateFns.format(date, "MMM");
|
|
5506
|
+
if (scale === "weeks") return dateFns.format(date, "MMM yyyy");
|
|
7212
5507
|
return null;
|
|
7213
5508
|
}
|
|
7214
5509
|
function snapDate(date, scale) {
|
|
@@ -7234,7 +5529,7 @@ var Gantt = React131__namespace.default.forwardRef(
|
|
|
7234
5529
|
const columnWidth = DEFAULT_COLUMN_WIDTH[scale];
|
|
7235
5530
|
const viewport = React131__namespace.default.useMemo(() => {
|
|
7236
5531
|
const earliest = startDate ?? (items.length ? new Date(Math.min(...items.map((i) => i.start.getTime()))) : /* @__PURE__ */ new Date());
|
|
7237
|
-
const latest = endDate ?? (items.length ? new Date(Math.max(...items.map((i) => i.end.getTime()))) : addDays(/* @__PURE__ */ new Date(), 14));
|
|
5532
|
+
const latest = endDate ?? (items.length ? new Date(Math.max(...items.map((i) => i.end.getTime()))) : dateFns.addDays(/* @__PURE__ */ new Date(), 14));
|
|
7238
5533
|
return {
|
|
7239
5534
|
start: startOfScale(earliest, scale),
|
|
7240
5535
|
end: endOfScale(latest, scale)
|
|
@@ -7631,7 +5926,7 @@ function GanttBar({
|
|
|
7631
5926
|
const newEnd = addUnits(item.end, units, scale);
|
|
7632
5927
|
onItemMove(item.id, newStart, newEnd);
|
|
7633
5928
|
};
|
|
7634
|
-
const ariaLabel = `${item.title}, ${format(item.start, "PP")} to ${format(
|
|
5929
|
+
const ariaLabel = `${item.title}, ${dateFns.format(item.start, "PP")} to ${dateFns.format(
|
|
7635
5930
|
item.end,
|
|
7636
5931
|
"PP"
|
|
7637
5932
|
)}`;
|
|
@@ -9248,7 +7543,7 @@ function ArrayField({
|
|
|
9248
7543
|
}
|
|
9249
7544
|
var DAYS2 = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
9250
7545
|
var MONTHS2 = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
9251
|
-
function
|
|
7546
|
+
function isSameDay(a, b) {
|
|
9252
7547
|
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
9253
7548
|
}
|
|
9254
7549
|
function getDaysInMonth(year, month) {
|
|
@@ -9267,8 +7562,8 @@ function CalendarGrid({ year, month, selected, onSelect }) {
|
|
|
9267
7562
|
cells.map((day, i) => {
|
|
9268
7563
|
if (!day) return /* @__PURE__ */ jsxRuntime.jsx("div", {}, i);
|
|
9269
7564
|
const date = new Date(year, month, day);
|
|
9270
|
-
const isToday =
|
|
9271
|
-
const isSelected = selected &&
|
|
7565
|
+
const isToday = isSameDay(date, today);
|
|
7566
|
+
const isSelected = selected && isSameDay(date, selected);
|
|
9272
7567
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9273
7568
|
"button",
|
|
9274
7569
|
{
|
|
@@ -9448,18 +7743,18 @@ function AutoForm({ schema, onSubmit, defaultValues, submitLabel = "Submit" }) {
|
|
|
9448
7743
|
var HEX_RE = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
9449
7744
|
var RGB_RE = /^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*(,\s*(0|1|0?\.\d+)\s*)?\)$/i;
|
|
9450
7745
|
var HSL_RE = /^hsla?\(\s*\d+\s*,\s*\d+%\s*,\s*\d+%\s*(,\s*(0|1|0?\.\d+)\s*)?\)$/i;
|
|
9451
|
-
function
|
|
9452
|
-
if (
|
|
7746
|
+
function isValid(value, format3, showAlpha) {
|
|
7747
|
+
if (format3 === "hex") {
|
|
9453
7748
|
if (!HEX_RE.test(value)) return false;
|
|
9454
7749
|
if (!showAlpha && (value.length === 5 || value.length === 9)) return false;
|
|
9455
7750
|
return true;
|
|
9456
7751
|
}
|
|
9457
|
-
if (
|
|
7752
|
+
if (format3 === "rgb") return RGB_RE.test(value);
|
|
9458
7753
|
return HSL_RE.test(value);
|
|
9459
7754
|
}
|
|
9460
|
-
function defaultFor(
|
|
9461
|
-
if (
|
|
9462
|
-
if (
|
|
7755
|
+
function defaultFor(format3, showAlpha) {
|
|
7756
|
+
if (format3 === "hex") return showAlpha ? "#3b82f6ff" : "#3b82f6";
|
|
7757
|
+
if (format3 === "rgb") return showAlpha ? "rgba(59, 130, 246, 1)" : "rgb(59, 130, 246)";
|
|
9463
7758
|
return showAlpha ? "hsla(217, 91%, 60%, 1)" : "hsl(217, 91%, 60%)";
|
|
9464
7759
|
}
|
|
9465
7760
|
var ColorPicker = React131__namespace.default.forwardRef(
|
|
@@ -9467,7 +7762,7 @@ var ColorPicker = React131__namespace.default.forwardRef(
|
|
|
9467
7762
|
value: valueProp,
|
|
9468
7763
|
defaultValue,
|
|
9469
7764
|
onValueChange,
|
|
9470
|
-
format:
|
|
7765
|
+
format: format3 = "hex",
|
|
9471
7766
|
showAlpha = false,
|
|
9472
7767
|
swatches,
|
|
9473
7768
|
showEyeDropper = true,
|
|
@@ -9475,7 +7770,7 @@ var ColorPicker = React131__namespace.default.forwardRef(
|
|
|
9475
7770
|
className,
|
|
9476
7771
|
...props
|
|
9477
7772
|
}, ref) => {
|
|
9478
|
-
const fallback = defaultValue ?? defaultFor(
|
|
7773
|
+
const fallback = defaultValue ?? defaultFor(format3, showAlpha);
|
|
9479
7774
|
const isControlled = valueProp !== void 0;
|
|
9480
7775
|
const [internal, setInternal] = React131__namespace.default.useState(fallback);
|
|
9481
7776
|
const value = isControlled ? valueProp : internal;
|
|
@@ -9501,7 +7796,7 @@ var ColorPicker = React131__namespace.default.forwardRef(
|
|
|
9501
7796
|
const handleDraftChange = (e) => {
|
|
9502
7797
|
const next = e.target.value;
|
|
9503
7798
|
setDraft(next);
|
|
9504
|
-
const valid =
|
|
7799
|
+
const valid = isValid(next, format3, showAlpha);
|
|
9505
7800
|
setDraftValid(valid || next === "");
|
|
9506
7801
|
if (valid) commit(next);
|
|
9507
7802
|
};
|
|
@@ -9524,9 +7819,9 @@ var ColorPicker = React131__namespace.default.forwardRef(
|
|
|
9524
7819
|
disabled && "pointer-events-none opacity-50 grayscale"
|
|
9525
7820
|
)
|
|
9526
7821
|
};
|
|
9527
|
-
if (
|
|
9528
|
-
if (
|
|
9529
|
-
if (
|
|
7822
|
+
if (format3 === "hex" && showAlpha) return /* @__PURE__ */ jsxRuntime.jsx(reactColorful.HexAlphaColorPicker, { ...common });
|
|
7823
|
+
if (format3 === "hex") return /* @__PURE__ */ jsxRuntime.jsx(reactColorful.HexColorPicker, { ...common });
|
|
7824
|
+
if (format3 === "rgb") return /* @__PURE__ */ jsxRuntime.jsx(reactColorful.RgbStringColorPicker, { ...common });
|
|
9530
7825
|
return /* @__PURE__ */ jsxRuntime.jsx(reactColorful.HslStringColorPicker, { ...common });
|
|
9531
7826
|
})();
|
|
9532
7827
|
const showDropper = showEyeDropper && eyeDropperSupported;
|
|
@@ -9594,7 +7889,7 @@ var ColorPicker = React131__namespace.default.forwardRef(
|
|
|
9594
7889
|
"font-mono text-xs",
|
|
9595
7890
|
!draftValid && "border-[hsl(var(--destructive))] focus-visible:ring-[hsl(var(--destructive))]"
|
|
9596
7891
|
),
|
|
9597
|
-
"aria-label": `Color value (${
|
|
7892
|
+
"aria-label": `Color value (${format3})`,
|
|
9598
7893
|
"aria-invalid": !draftValid
|
|
9599
7894
|
}
|
|
9600
7895
|
),
|
|
@@ -10849,9 +9144,9 @@ function nextId() {
|
|
|
10849
9144
|
return `toast-${++_id}`;
|
|
10850
9145
|
}
|
|
10851
9146
|
var toastEmitter = {
|
|
10852
|
-
emit(
|
|
9147
|
+
emit(message, options = {}) {
|
|
10853
9148
|
const id = options.id ?? nextId();
|
|
10854
|
-
const event = { id, message
|
|
9149
|
+
const event = { id, message, options };
|
|
10855
9150
|
listeners.forEach((fn) => fn(event));
|
|
10856
9151
|
return id;
|
|
10857
9152
|
},
|
|
@@ -10873,13 +9168,13 @@ var toastEmitter = {
|
|
|
10873
9168
|
};
|
|
10874
9169
|
}
|
|
10875
9170
|
};
|
|
10876
|
-
function toastFn(
|
|
10877
|
-
return toastEmitter.emit(
|
|
9171
|
+
function toastFn(message, opts) {
|
|
9172
|
+
return toastEmitter.emit(message, opts);
|
|
10878
9173
|
}
|
|
10879
|
-
toastFn.success = (
|
|
10880
|
-
toastFn.error = (
|
|
10881
|
-
toastFn.warning = (
|
|
10882
|
-
toastFn.info = (
|
|
9174
|
+
toastFn.success = (message, opts) => toastEmitter.emit(message, { ...opts, type: "success" });
|
|
9175
|
+
toastFn.error = (message, opts) => toastEmitter.emit(message, { ...opts, type: "error" });
|
|
9176
|
+
toastFn.warning = (message, opts) => toastEmitter.emit(message, { ...opts, type: "warning" });
|
|
9177
|
+
toastFn.info = (message, opts) => toastEmitter.emit(message, { ...opts, type: "info" });
|
|
10883
9178
|
toastFn.dismiss = (id) => toastEmitter.dismiss(id);
|
|
10884
9179
|
var iconMap = {
|
|
10885
9180
|
success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "h-4 w-4 text-green-500" }),
|
|
@@ -11041,8 +9336,8 @@ GradientHeading.displayName = "GradientHeading";
|
|
|
11041
9336
|
function easeOutExpo(t) {
|
|
11042
9337
|
return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);
|
|
11043
9338
|
}
|
|
11044
|
-
function formatNumber(value, decimals,
|
|
11045
|
-
if (
|
|
9339
|
+
function formatNumber(value, decimals, format3, locale) {
|
|
9340
|
+
if (format3) {
|
|
11046
9341
|
return new Intl.NumberFormat(locale, {
|
|
11047
9342
|
minimumFractionDigits: decimals,
|
|
11048
9343
|
maximumFractionDigits: decimals
|
|
@@ -11061,7 +9356,7 @@ var AnimatedNumber = React131__namespace.default.forwardRef(
|
|
|
11061
9356
|
easing = easeOutExpo,
|
|
11062
9357
|
autoStart = true,
|
|
11063
9358
|
locale,
|
|
11064
|
-
format:
|
|
9359
|
+
format: format3 = true,
|
|
11065
9360
|
className,
|
|
11066
9361
|
...props
|
|
11067
9362
|
}, ref) => {
|
|
@@ -11139,7 +9434,7 @@ var AnimatedNumber = React131__namespace.default.forwardRef(
|
|
|
11139
9434
|
...props,
|
|
11140
9435
|
children: [
|
|
11141
9436
|
prefix,
|
|
11142
|
-
formatNumber(displayed, decimals,
|
|
9437
|
+
formatNumber(displayed, decimals, format3, locale),
|
|
11143
9438
|
suffix
|
|
11144
9439
|
]
|
|
11145
9440
|
}
|
|
@@ -12243,25 +10538,25 @@ DataListItem.displayName = "DataListItem";
|
|
|
12243
10538
|
var HOUR_ROW_PX = 40;
|
|
12244
10539
|
var DEFAULT_COLOR3 = "hsl(var(--chart-1))";
|
|
12245
10540
|
function clampToDay(date, target) {
|
|
12246
|
-
if (date < startOfDay(target)) return startOfDay(target);
|
|
12247
|
-
if (date > endOfDay(target)) return endOfDay(target);
|
|
10541
|
+
if (date < dateFns.startOfDay(target)) return dateFns.startOfDay(target);
|
|
10542
|
+
if (date > dateFns.endOfDay(target)) return dateFns.endOfDay(target);
|
|
12248
10543
|
return date;
|
|
12249
10544
|
}
|
|
12250
10545
|
function eventOverlapsDay(event, day) {
|
|
12251
|
-
const dayStart = startOfDay(day);
|
|
12252
|
-
const dayEnd = endOfDay(day);
|
|
10546
|
+
const dayStart = dateFns.startOfDay(day);
|
|
10547
|
+
const dayEnd = dateFns.endOfDay(day);
|
|
12253
10548
|
return event.end >= dayStart && event.start <= dayEnd;
|
|
12254
10549
|
}
|
|
12255
10550
|
function getMonthMatrix(date, weekStartsOn) {
|
|
12256
|
-
const monthStart = startOfMonth(date);
|
|
12257
|
-
const gridStart =
|
|
10551
|
+
const monthStart = dateFns.startOfMonth(date);
|
|
10552
|
+
const gridStart = dateFns.startOfWeek(monthStart, { weekStartsOn });
|
|
12258
10553
|
const cells = [];
|
|
12259
|
-
for (let i = 0; i < 42; i++) cells.push(addDays(gridStart, i));
|
|
10554
|
+
for (let i = 0; i < 42; i++) cells.push(dateFns.addDays(gridStart, i));
|
|
12260
10555
|
return cells;
|
|
12261
10556
|
}
|
|
12262
10557
|
function getWeekDays(date, weekStartsOn) {
|
|
12263
|
-
const start =
|
|
12264
|
-
return Array.from({ length: 7 }, (_, i) => addDays(start, i));
|
|
10558
|
+
const start = dateFns.startOfWeek(date, { weekStartsOn });
|
|
10559
|
+
return Array.from({ length: 7 }, (_, i) => dateFns.addDays(start, i));
|
|
12265
10560
|
}
|
|
12266
10561
|
var EventCalendar = React131__namespace.default.forwardRef(
|
|
12267
10562
|
({
|
|
@@ -12299,14 +10594,14 @@ var EventCalendar = React131__namespace.default.forwardRef(
|
|
|
12299
10594
|
[dateProp, onDateChange]
|
|
12300
10595
|
);
|
|
12301
10596
|
const handlePrev = () => {
|
|
12302
|
-
if (view === "month") commitDate(addMonths(date, -1));
|
|
12303
|
-
else if (view === "week") commitDate(addWeeks(date, -1));
|
|
12304
|
-
else commitDate(addDays(date, -1));
|
|
10597
|
+
if (view === "month") commitDate(dateFns.addMonths(date, -1));
|
|
10598
|
+
else if (view === "week") commitDate(dateFns.addWeeks(date, -1));
|
|
10599
|
+
else commitDate(dateFns.addDays(date, -1));
|
|
12305
10600
|
};
|
|
12306
10601
|
const handleNext = () => {
|
|
12307
|
-
if (view === "month") commitDate(addMonths(date, 1));
|
|
12308
|
-
else if (view === "week") commitDate(addWeeks(date, 1));
|
|
12309
|
-
else commitDate(addDays(date, 1));
|
|
10602
|
+
if (view === "month") commitDate(dateFns.addMonths(date, 1));
|
|
10603
|
+
else if (view === "week") commitDate(dateFns.addWeeks(date, 1));
|
|
10604
|
+
else commitDate(dateFns.addDays(date, 1));
|
|
12310
10605
|
};
|
|
12311
10606
|
const handleToday = () => commitDate(/* @__PURE__ */ new Date());
|
|
12312
10607
|
const handleRootKeyDown = (e) => {
|
|
@@ -12318,14 +10613,14 @@ var EventCalendar = React131__namespace.default.forwardRef(
|
|
|
12318
10613
|
}
|
|
12319
10614
|
};
|
|
12320
10615
|
const headerLabel = React131__namespace.default.useMemo(() => {
|
|
12321
|
-
if (view === "month") return format(date, "MMMM yyyy");
|
|
10616
|
+
if (view === "month") return dateFns.format(date, "MMMM yyyy");
|
|
12322
10617
|
if (view === "week") {
|
|
12323
|
-
const start =
|
|
12324
|
-
const end = addDays(start, 6);
|
|
12325
|
-
if (isSameMonth(start, end)) return `${format(start, "MMM d")} \u2013 ${format(end, "d, yyyy")}`;
|
|
12326
|
-
return `${format(start, "MMM d")} \u2013 ${format(end, "MMM d, yyyy")}`;
|
|
10618
|
+
const start = dateFns.startOfWeek(date, { weekStartsOn });
|
|
10619
|
+
const end = dateFns.addDays(start, 6);
|
|
10620
|
+
if (dateFns.isSameMonth(start, end)) return `${dateFns.format(start, "MMM d")} \u2013 ${dateFns.format(end, "d, yyyy")}`;
|
|
10621
|
+
return `${dateFns.format(start, "MMM d")} \u2013 ${dateFns.format(end, "MMM d, yyyy")}`;
|
|
12327
10622
|
}
|
|
12328
|
-
return format(date, "EEEE, MMMM d, yyyy");
|
|
10623
|
+
return dateFns.format(date, "EEEE, MMMM d, yyyy");
|
|
12329
10624
|
}, [date, view, weekStartsOn]);
|
|
12330
10625
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12331
10626
|
"div",
|
|
@@ -12471,8 +10766,8 @@ function MonthView({
|
|
|
12471
10766
|
[date, weekStartsOn]
|
|
12472
10767
|
);
|
|
12473
10768
|
const weekdayLabels = React131__namespace.default.useMemo(() => {
|
|
12474
|
-
const start =
|
|
12475
|
-
return Array.from({ length: 7 }, (_, i) => format(addDays(start, i), "EEE"));
|
|
10769
|
+
const start = dateFns.startOfWeek(/* @__PURE__ */ new Date(), { weekStartsOn });
|
|
10770
|
+
return Array.from({ length: 7 }, (_, i) => dateFns.format(dateFns.addDays(start, i), "EEE"));
|
|
12476
10771
|
}, [weekStartsOn]);
|
|
12477
10772
|
const today = /* @__PURE__ */ new Date();
|
|
12478
10773
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", "data-slot": "event-calendar-month", children: [
|
|
@@ -12485,8 +10780,8 @@ function MonthView({
|
|
|
12485
10780
|
label
|
|
12486
10781
|
)) }),
|
|
12487
10782
|
/* @__PURE__ */ jsxRuntime.jsx("div", { role: "grid", "aria-label": "Month grid", className: "grid grid-cols-7", children: cells.map((cell) => {
|
|
12488
|
-
const inMonth = isSameMonth(cell, date);
|
|
12489
|
-
const isToday = isSameDay(cell, today);
|
|
10783
|
+
const inMonth = dateFns.isSameMonth(cell, date);
|
|
10784
|
+
const isToday = dateFns.isSameDay(cell, today);
|
|
12490
10785
|
const dayEvents = events.filter((ev) => eventOverlapsDay(ev, cell)).sort((a, b) => a.start.getTime() - b.start.getTime());
|
|
12491
10786
|
const visible = dayEvents.slice(0, 3);
|
|
12492
10787
|
const overflow = dayEvents.length - visible.length;
|
|
@@ -12494,13 +10789,13 @@ function MonthView({
|
|
|
12494
10789
|
"div",
|
|
12495
10790
|
{
|
|
12496
10791
|
role: "gridcell",
|
|
12497
|
-
"aria-label": format(cell, "EEEE, MMMM d, yyyy"),
|
|
10792
|
+
"aria-label": dateFns.format(cell, "EEEE, MMMM d, yyyy"),
|
|
12498
10793
|
tabIndex: 0,
|
|
12499
10794
|
onClick: (e) => {
|
|
12500
10795
|
if (e.target.closest("[data-event-chip]")) return;
|
|
12501
10796
|
if (e.target.closest("[data-overflow]")) return;
|
|
12502
10797
|
if (onEventCreate) {
|
|
12503
|
-
onEventCreate({ start: startOfDay(cell), end: endOfDay(cell) });
|
|
10798
|
+
onEventCreate({ start: dateFns.startOfDay(cell), end: dateFns.endOfDay(cell) });
|
|
12504
10799
|
} else {
|
|
12505
10800
|
onDayPick(cell);
|
|
12506
10801
|
}
|
|
@@ -12509,7 +10804,7 @@ function MonthView({
|
|
|
12509
10804
|
if (e.key === "Enter" || e.key === " ") {
|
|
12510
10805
|
e.preventDefault();
|
|
12511
10806
|
if (onEventCreate) {
|
|
12512
|
-
onEventCreate({ start: startOfDay(cell), end: endOfDay(cell) });
|
|
10807
|
+
onEventCreate({ start: dateFns.startOfDay(cell), end: dateFns.endOfDay(cell) });
|
|
12513
10808
|
} else {
|
|
12514
10809
|
onDayPick(cell);
|
|
12515
10810
|
}
|
|
@@ -12530,7 +10825,7 @@ function MonthView({
|
|
|
12530
10825
|
isToday && "bg-primary text-primary-foreground",
|
|
12531
10826
|
!isToday && !inMonth && "text-muted-foreground"
|
|
12532
10827
|
),
|
|
12533
|
-
children: format(cell, "d")
|
|
10828
|
+
children: dateFns.format(cell, "d")
|
|
12534
10829
|
}
|
|
12535
10830
|
) }),
|
|
12536
10831
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
@@ -12558,7 +10853,7 @@ function MonthView({
|
|
|
12558
10853
|
}
|
|
12559
10854
|
) }),
|
|
12560
10855
|
/* @__PURE__ */ jsxRuntime.jsxs(PopoverContent, { className: "w-64 p-2", align: "start", children: [
|
|
12561
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 px-1 text-xs font-medium text-muted-foreground", children: format(cell, "EEEE, MMM d") }),
|
|
10856
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 px-1 text-xs font-medium text-muted-foreground", children: dateFns.format(cell, "EEEE, MMM d") }),
|
|
12562
10857
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1", children: dayEvents.map((ev) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
12563
10858
|
EventChip,
|
|
12564
10859
|
{
|
|
@@ -12633,7 +10928,7 @@ function HourGrid({
|
|
|
12633
10928
|
{
|
|
12634
10929
|
style: { height: HOUR_ROW_PX },
|
|
12635
10930
|
className: "relative -mt-px text-right text-[10px] text-muted-foreground",
|
|
12636
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1.5 right-1.5 bg-card px-1", children: format(new Date(2e3, 0, 1, h), "h a") })
|
|
10931
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1.5 right-1.5 bg-card px-1", children: dateFns.format(new Date(2e3, 0, 1, h), "h a") })
|
|
12637
10932
|
},
|
|
12638
10933
|
h
|
|
12639
10934
|
))
|
|
@@ -12647,7 +10942,7 @@ function HourGrid({
|
|
|
12647
10942
|
DayColumn,
|
|
12648
10943
|
{
|
|
12649
10944
|
day,
|
|
12650
|
-
isToday: isSameDay(day, today),
|
|
10945
|
+
isToday: dateFns.isSameDay(day, today),
|
|
12651
10946
|
events: events.filter((ev) => eventOverlapsDay(ev, day)),
|
|
12652
10947
|
onEventClick,
|
|
12653
10948
|
onEventCreate,
|
|
@@ -12679,8 +10974,8 @@ function DayColumn({
|
|
|
12679
10974
|
if (!rect) return;
|
|
12680
10975
|
const offsetY = e.clientY - rect.top;
|
|
12681
10976
|
const hour = Math.max(0, Math.min(23, Math.floor(offsetY / HOUR_ROW_PX)));
|
|
12682
|
-
const start = addHours(startOfDay(day), hour);
|
|
12683
|
-
const end = addHours(start, 1);
|
|
10977
|
+
const start = dateFns.addHours(dateFns.startOfDay(day), hour);
|
|
10978
|
+
const end = dateFns.addHours(start, 1);
|
|
12684
10979
|
onEventCreate({ start, end });
|
|
12685
10980
|
};
|
|
12686
10981
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col border-r border-border last:border-r-0", children: [
|
|
@@ -12692,7 +10987,7 @@ function DayColumn({
|
|
|
12692
10987
|
isToday && "bg-primary/10"
|
|
12693
10988
|
),
|
|
12694
10989
|
children: [
|
|
12695
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium uppercase tracking-wide text-muted-foreground", children: format(day, "EEE") }),
|
|
10990
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium uppercase tracking-wide text-muted-foreground", children: dateFns.format(day, "EEE") }),
|
|
12696
10991
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12697
10992
|
"span",
|
|
12698
10993
|
{
|
|
@@ -12700,7 +10995,7 @@ function DayColumn({
|
|
|
12700
10995
|
"tabular-nums",
|
|
12701
10996
|
isToday ? "font-semibold text-primary" : "text-foreground"
|
|
12702
10997
|
),
|
|
12703
|
-
children: format(day, "d")
|
|
10998
|
+
children: dateFns.format(day, "d")
|
|
12704
10999
|
}
|
|
12705
11000
|
)
|
|
12706
11001
|
]
|
|
@@ -12711,7 +11006,7 @@ function DayColumn({
|
|
|
12711
11006
|
{
|
|
12712
11007
|
ref: bodyRef,
|
|
12713
11008
|
role: "row",
|
|
12714
|
-
"aria-label": format(day, "EEEE, MMMM d"),
|
|
11009
|
+
"aria-label": dateFns.format(day, "EEEE, MMMM d"),
|
|
12715
11010
|
onClick: handleEmptyClick,
|
|
12716
11011
|
className: cn(
|
|
12717
11012
|
"relative",
|
|
@@ -12746,10 +11041,10 @@ function EventBlock({ event, day, onClick, onResize }) {
|
|
|
12746
11041
|
const color = event.color ?? DEFAULT_COLOR3;
|
|
12747
11042
|
const visibleStart = clampToDay(event.start, day);
|
|
12748
11043
|
const visibleEnd = clampToDay(event.end, day);
|
|
12749
|
-
const startMinutes = differenceInMinutes(visibleStart, startOfDay(day));
|
|
11044
|
+
const startMinutes = dateFns.differenceInMinutes(visibleStart, dateFns.startOfDay(day));
|
|
12750
11045
|
const durationMinutes = Math.max(
|
|
12751
11046
|
20,
|
|
12752
|
-
differenceInMinutes(visibleEnd, visibleStart)
|
|
11047
|
+
dateFns.differenceInMinutes(visibleEnd, visibleStart)
|
|
12753
11048
|
);
|
|
12754
11049
|
const top = startMinutes / 60 * HOUR_ROW_PX;
|
|
12755
11050
|
const [resizingDelta, setResizingDelta] = React131__namespace.default.useState(0);
|
|
@@ -12814,9 +11109,9 @@ function EventBlock({ event, day, onClick, onResize }) {
|
|
|
12814
11109
|
children: [
|
|
12815
11110
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate font-medium", children: event.title }),
|
|
12816
11111
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate text-[10px] text-muted-foreground", children: [
|
|
12817
|
-
format(event.start, "h:mm a"),
|
|
11112
|
+
dateFns.format(event.start, "h:mm a"),
|
|
12818
11113
|
" \u2013 ",
|
|
12819
|
-
format(event.end, "h:mm a")
|
|
11114
|
+
dateFns.format(event.end, "h:mm a")
|
|
12820
11115
|
] }),
|
|
12821
11116
|
onResize && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12822
11117
|
"div",
|
|
@@ -12942,7 +11237,7 @@ function buildDefaultCrop(defaultCrop, aspect, imgWidth, imgHeight) {
|
|
|
12942
11237
|
}
|
|
12943
11238
|
return { unit: "%", x: 10, y: 10, width: 80, height: 80 };
|
|
12944
11239
|
}
|
|
12945
|
-
async function extractCroppedDataUrl(image, crop,
|
|
11240
|
+
async function extractCroppedDataUrl(image, crop, format3, quality) {
|
|
12946
11241
|
const scaleX = image.naturalWidth / image.width;
|
|
12947
11242
|
const scaleY = image.naturalHeight / image.height;
|
|
12948
11243
|
const canvas = document.createElement("canvas");
|
|
@@ -12962,7 +11257,7 @@ async function extractCroppedDataUrl(image, crop, format2, quality) {
|
|
|
12962
11257
|
canvas.width,
|
|
12963
11258
|
canvas.height
|
|
12964
11259
|
);
|
|
12965
|
-
const mime =
|
|
11260
|
+
const mime = format3 === "jpeg" ? "image/jpeg" : format3 === "webp" ? "image/webp" : "image/png";
|
|
12966
11261
|
return canvas.toDataURL(mime, quality);
|
|
12967
11262
|
}
|
|
12968
11263
|
var ImageCrop = React131__namespace.default.forwardRef(
|