@zag-js/date-utils 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/chunk-5HGHDJ3L.mjs +14 -0
  2. package/dist/chunk-AMZ7CJ5F.mjs +18 -0
  3. package/dist/chunk-CAYCTIEJ.mjs +29 -0
  4. package/dist/chunk-G4VVKINZ.mjs +14 -0
  5. package/dist/chunk-KFJ757ZA.mjs +32 -0
  6. package/dist/chunk-KLHRN7WS.mjs +20 -0
  7. package/dist/chunk-KN3YMOSL.mjs +8 -0
  8. package/dist/chunk-LGEGBP3O.mjs +20 -0
  9. package/dist/{chunk-NXMEZINO.mjs → chunk-LQAXQPWP.mjs} +4 -7
  10. package/dist/chunk-ODG5YF5H.mjs +21 -0
  11. package/dist/chunk-SI75FOJ2.mjs +11 -0
  12. package/dist/chunk-UHOBXAHP.mjs +17 -0
  13. package/dist/conversion.d.ts +5 -0
  14. package/dist/conversion.js +41 -0
  15. package/dist/conversion.mjs +6 -0
  16. package/dist/format-selected-date.d.ts +1 -2
  17. package/dist/format-selected-date.js +14 -14
  18. package/dist/format-selected-date.mjs +3 -2
  19. package/dist/format-visible-range.d.ts +1 -2
  20. package/dist/format-visible-range.js +29 -50
  21. package/dist/format-visible-range.mjs +4 -3
  22. package/dist/get-day-formatter.d.ts +5 -0
  23. package/dist/{placeholder.js → get-day-formatter.js} +22 -21
  24. package/dist/get-day-formatter.mjs +7 -0
  25. package/dist/get-decade-range.d.ts +3 -0
  26. package/dist/get-decade-range.js +38 -0
  27. package/dist/get-decade-range.mjs +6 -0
  28. package/dist/get-end-of-week.d.ts +5 -0
  29. package/dist/{segment-constants.js → get-end-of-week.js} +17 -32
  30. package/dist/get-end-of-week.mjs +11 -0
  31. package/dist/get-era-format.d.ts +5 -0
  32. package/dist/get-era-format.js +32 -0
  33. package/dist/get-era-format.mjs +6 -0
  34. package/dist/get-month-days.d.ts +6 -0
  35. package/dist/{get-month-dates.js → get-month-days.js} +26 -27
  36. package/dist/get-month-days.mjs +9 -0
  37. package/dist/get-month-formatter.d.ts +5 -0
  38. package/dist/{get-formatter.js → get-month-formatter.js} +14 -26
  39. package/dist/get-month-formatter.mjs +7 -0
  40. package/dist/get-month-names.d.ts +3 -0
  41. package/dist/get-month-names.js +38 -0
  42. package/dist/get-month-names.mjs +6 -0
  43. package/dist/get-start-of-week.d.ts +5 -0
  44. package/dist/get-start-of-week.js +35 -0
  45. package/dist/get-start-of-week.mjs +6 -0
  46. package/dist/get-week-days.d.ts +10 -0
  47. package/dist/get-week-days.js +62 -0
  48. package/dist/get-week-days.mjs +8 -0
  49. package/dist/get-weekday-formats.d.ts +10 -0
  50. package/dist/get-weekday-formats.js +44 -0
  51. package/dist/get-weekday-formats.mjs +6 -0
  52. package/dist/index.d.ts +9 -8
  53. package/dist/index.js +148 -311
  54. package/dist/index.mjs +36 -41
  55. package/dist/types.d.ts +1 -2
  56. package/package.json +2 -2
  57. package/dist/chunk-55BYHK5B.mjs +0 -31
  58. package/dist/chunk-DZM5JUL2.mjs +0 -22
  59. package/dist/chunk-ETRHBIGD.mjs +0 -66
  60. package/dist/chunk-GLQDJRSE.mjs +0 -31
  61. package/dist/chunk-JZVHAOWX.mjs +0 -35
  62. package/dist/chunk-MGRIF22W.mjs +0 -18
  63. package/dist/chunk-SQCHVCXH.mjs +0 -42
  64. package/dist/chunk-TSOWYV6W.mjs +0 -34
  65. package/dist/chunk-U6WRBS5P.mjs +0 -77
  66. package/dist/get-formatter.d.ts +0 -8
  67. package/dist/get-formatter.mjs +0 -8
  68. package/dist/get-month-dates.d.ts +0 -5
  69. package/dist/get-month-dates.mjs +0 -7
  70. package/dist/get-week-dates.d.ts +0 -7
  71. package/dist/get-week-dates.js +0 -60
  72. package/dist/get-week-dates.mjs +0 -8
  73. package/dist/placeholder.d.ts +0 -7
  74. package/dist/placeholder.mjs +0 -8
  75. package/dist/segment-constants.d.ts +0 -27
  76. package/dist/segment-constants.mjs +0 -10
  77. package/dist/segment-limit.d.ts +0 -10
  78. package/dist/segment-limit.js +0 -101
  79. package/dist/segment-limit.mjs +0 -6
  80. package/dist/segment-mutation.d.ts +0 -7
  81. package/dist/segment-mutation.js +0 -91
  82. package/dist/segment-mutation.mjs +0 -8
  83. package/dist/segment-parts.d.ts +0 -27
  84. package/dist/segment-parts.js +0 -159
  85. package/dist/segment-parts.mjs +0 -11
@@ -0,0 +1,14 @@
1
+ // src/get-month-names.ts
2
+ function getMonthNames(locale, format = "long") {
3
+ const date = new Date(2021, 0, 1);
4
+ const monthNames = [];
5
+ for (let i = 0; i < 12; i++) {
6
+ monthNames.push(date.toLocaleString(locale, { month: format }));
7
+ date.setMonth(date.getMonth() + 1);
8
+ }
9
+ return monthNames;
10
+ }
11
+
12
+ export {
13
+ getMonthNames
14
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ getWeekdayFormats
3
+ } from "./chunk-KLHRN7WS.mjs";
4
+ import {
5
+ getStartOfWeek
6
+ } from "./chunk-SI75FOJ2.mjs";
7
+
8
+ // src/get-week-days.ts
9
+ function getWeekDays(date, startOfWeekProp, timeZone, locale) {
10
+ const firstDayOfWeek = getStartOfWeek(date, locale, startOfWeekProp);
11
+ const weeks = [...new Array(7).keys()];
12
+ const format = getWeekdayFormats(locale, timeZone);
13
+ return weeks.map((index) => format(firstDayOfWeek.add({ days: index })));
14
+ }
15
+
16
+ export {
17
+ getWeekDays
18
+ };
@@ -0,0 +1,29 @@
1
+ import {
2
+ getMonthFormatter
3
+ } from "./chunk-LGEGBP3O.mjs";
4
+ import {
5
+ getDayFormatter
6
+ } from "./chunk-ODG5YF5H.mjs";
7
+
8
+ // src/format-visible-range.ts
9
+ import { endOfMonth, isSameDay, startOfMonth } from "@internationalized/date";
10
+ function formatVisibleRange(startDate, endDate, locale, timeZone) {
11
+ const start = startDate;
12
+ const end = endDate ?? startDate;
13
+ const dayFormatter = getDayFormatter(locale, timeZone);
14
+ if (!isSameDay(start, startOfMonth(start))) {
15
+ return dayFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
16
+ }
17
+ const monthFormatter = getMonthFormatter(locale, timeZone);
18
+ if (isSameDay(end, endOfMonth(start))) {
19
+ return monthFormatter.format(start.toDate(timeZone));
20
+ }
21
+ if (isSameDay(end, endOfMonth(end))) {
22
+ return monthFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
23
+ }
24
+ return "";
25
+ }
26
+
27
+ export {
28
+ formatVisibleRange
29
+ };
@@ -0,0 +1,14 @@
1
+ // src/get-decade-range.ts
2
+ function getDecadeRange(year) {
3
+ const computedYear = year - year % 10 - 1;
4
+ const years = [];
5
+ for (let i = 0; i < 12; i += 1) {
6
+ const value = computedYear + i;
7
+ years.push(value);
8
+ }
9
+ return years;
10
+ }
11
+
12
+ export {
13
+ getDecadeRange
14
+ };
@@ -0,0 +1,32 @@
1
+ import {
2
+ getStartOfWeek
3
+ } from "./chunk-SI75FOJ2.mjs";
4
+
5
+ // src/get-month-days.ts
6
+ import { getWeeksInMonth, isSameDay } from "@internationalized/date";
7
+ function getDaysInWeek(weekIndex, from, locale, firstDayOfWeek) {
8
+ const weekDate = from.add({ weeks: weekIndex });
9
+ const dates = [];
10
+ let date = getStartOfWeek(weekDate, locale, firstDayOfWeek);
11
+ while (dates.length < 7) {
12
+ dates.push(date);
13
+ let nextDate = date.add({ days: 1 });
14
+ if (isSameDay(date, nextDate)) {
15
+ break;
16
+ }
17
+ date = nextDate;
18
+ }
19
+ return dates;
20
+ }
21
+ function getMonthDays(from, locale, numOfWeeks, firstDayOfWeek) {
22
+ const monthWeeks = getWeeksInMonth(from, locale);
23
+ const weeks = [...new Array(numOfWeeks ?? monthWeeks).keys()];
24
+ return weeks.map((week) => {
25
+ return getDaysInWeek(week, from, locale, firstDayOfWeek);
26
+ });
27
+ }
28
+
29
+ export {
30
+ getDaysInWeek,
31
+ getMonthDays
32
+ };
@@ -0,0 +1,20 @@
1
+ // src/get-weekday-formats.ts
2
+ import { DateFormatter } from "@internationalized/date";
3
+ function getWeekdayFormats(locale, timeZone) {
4
+ const longFormat = new DateFormatter(locale, { weekday: "long", timeZone });
5
+ const shortFormat = new DateFormatter(locale, { weekday: "short", timeZone });
6
+ const narrowFormat = new DateFormatter(locale, { weekday: "narrow", timeZone });
7
+ return (value) => {
8
+ const date = value instanceof Date ? value : value.toDate(timeZone);
9
+ return {
10
+ value,
11
+ short: shortFormat.format(date),
12
+ long: longFormat.format(date),
13
+ narrow: narrowFormat.format(date)
14
+ };
15
+ };
16
+ }
17
+
18
+ export {
19
+ getWeekdayFormats
20
+ };
@@ -0,0 +1,8 @@
1
+ // src/get-era-format.ts
2
+ function getEraFormat(date) {
3
+ return date?.calendar.identifier === "gregory" && date.era === "BC" ? "short" : void 0;
4
+ }
5
+
6
+ export {
7
+ getEraFormat
8
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ getEraFormat
3
+ } from "./chunk-KN3YMOSL.mjs";
4
+
5
+ // src/get-month-formatter.ts
6
+ import { today, toCalendarDate, DateFormatter } from "@internationalized/date";
7
+ function getMonthFormatter(locale, timeZone) {
8
+ const date = toCalendarDate(today(timeZone));
9
+ return new DateFormatter(locale, {
10
+ month: "long",
11
+ year: "numeric",
12
+ era: getEraFormat(date),
13
+ calendar: date?.calendar.identifier,
14
+ timeZone
15
+ });
16
+ }
17
+
18
+ export {
19
+ getMonthFormatter
20
+ };
@@ -2,18 +2,15 @@ import {
2
2
  formatRange
3
3
  } from "./chunk-HKHGJ6WS.mjs";
4
4
  import {
5
- getDateFormatter
6
- } from "./chunk-TSOWYV6W.mjs";
5
+ getDayFormatter
6
+ } from "./chunk-ODG5YF5H.mjs";
7
7
 
8
8
  // src/format-selected-date.ts
9
9
  import { isSameDay } from "@internationalized/date";
10
- function formatSelectedDate(startDate, endDate, getFormatter, isSelectingRange, timeZone) {
10
+ function formatSelectedDate(startDate, endDate, locale, timeZone) {
11
11
  let start = startDate;
12
12
  let end = endDate ?? startDate;
13
- let formatter = getDateFormatter(start, end, getFormatter, timeZone);
14
- if (isSelectingRange || start == null || end == null) {
15
- return "";
16
- }
13
+ let formatter = getDayFormatter(locale, timeZone);
17
14
  if (isSameDay(start, end)) {
18
15
  return formatter.format(start.toDate(timeZone));
19
16
  }
@@ -0,0 +1,21 @@
1
+ import {
2
+ getEraFormat
3
+ } from "./chunk-KN3YMOSL.mjs";
4
+
5
+ // src/get-day-formatter.ts
6
+ import { DateFormatter, toCalendarDate, today } from "@internationalized/date";
7
+ function getDayFormatter(locale, timeZone) {
8
+ const date = toCalendarDate(today(timeZone));
9
+ return new DateFormatter(locale, {
10
+ weekday: "long",
11
+ month: "long",
12
+ year: "numeric",
13
+ day: "numeric",
14
+ era: getEraFormat(date),
15
+ timeZone
16
+ });
17
+ }
18
+
19
+ export {
20
+ getDayFormatter
21
+ };
@@ -0,0 +1,11 @@
1
+ // src/get-start-of-week.ts
2
+ import { getDayOfWeek } from "@internationalized/date";
3
+ function getStartOfWeek(date, locale, firstDayOfWeek = 0) {
4
+ const day = getDayOfWeek(date, locale);
5
+ const diff = (day - firstDayOfWeek + 7) % 7;
6
+ return date.subtract({ days: diff });
7
+ }
8
+
9
+ export {
10
+ getStartOfWeek
11
+ };
@@ -0,0 +1,17 @@
1
+ // src/conversion.ts
2
+ import { parseDate } from "@internationalized/date";
3
+ function parseDateString(value) {
4
+ try {
5
+ const date = new Date(value);
6
+ date.setMinutes(1e3);
7
+ if (isNaN(date.getTime()))
8
+ return;
9
+ const [dateWithoutTime] = date.toISOString().split("T");
10
+ return parseDate(dateWithoutTime);
11
+ } catch {
12
+ }
13
+ }
14
+
15
+ export {
16
+ parseDateString
17
+ };
@@ -0,0 +1,5 @@
1
+ import * as _internationalized_date from '@internationalized/date';
2
+
3
+ declare function parseDateString(value: string): _internationalized_date.CalendarDate | undefined;
4
+
5
+ export { parseDateString };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/conversion.ts
21
+ var conversion_exports = {};
22
+ __export(conversion_exports, {
23
+ parseDateString: () => parseDateString
24
+ });
25
+ module.exports = __toCommonJS(conversion_exports);
26
+ var import_date = require("@internationalized/date");
27
+ function parseDateString(value) {
28
+ try {
29
+ const date = new Date(value);
30
+ date.setMinutes(1e3);
31
+ if (isNaN(date.getTime()))
32
+ return;
33
+ const [dateWithoutTime] = date.toISOString().split("T");
34
+ return (0, import_date.parseDate)(dateWithoutTime);
35
+ } catch {
36
+ }
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ parseDateString
41
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ parseDateString
3
+ } from "./chunk-UHOBXAHP.mjs";
4
+ export {
5
+ parseDateString
6
+ };
@@ -1,6 +1,5 @@
1
1
  import { CalendarDate } from '@internationalized/date';
2
- import { GetFormatterFn } from './types.js';
3
2
 
4
- declare function formatSelectedDate(startDate: CalendarDate, endDate: CalendarDate | null, getFormatter: GetFormatterFn, isSelectingRange: boolean, timeZone: string): string;
3
+ declare function formatSelectedDate(startDate: CalendarDate, endDate: CalendarDate | null, locale: string, timeZone: string): string;
5
4
 
6
5
  export { formatSelectedDate };
@@ -23,7 +23,7 @@ __export(format_selected_date_exports, {
23
23
  formatSelectedDate: () => formatSelectedDate
24
24
  });
25
25
  module.exports = __toCommonJS(format_selected_date_exports);
26
- var import_date = require("@internationalized/date");
26
+ var import_date2 = require("@internationalized/date");
27
27
 
28
28
  // src/format-range.ts
29
29
  function formatRange(startDate, endDate, formatter, toString, timeZone) {
@@ -49,33 +49,33 @@ function formatRange(startDate, endDate, formatter, toString, timeZone) {
49
49
  return toString(start, end);
50
50
  }
51
51
 
52
- // src/get-formatter.ts
52
+ // src/get-day-formatter.ts
53
+ var import_date = require("@internationalized/date");
54
+
55
+ // src/get-era-format.ts
53
56
  function getEraFormat(date) {
54
57
  return date?.calendar.identifier === "gregory" && date.era === "BC" ? "short" : void 0;
55
58
  }
56
- function getDateFormatter(startDate, endDate, getDateFormatter2, timeZone) {
57
- let start = startDate;
58
- let end = endDate ?? startDate;
59
- let era = getEraFormat(start) || getEraFormat(end);
60
- return getDateFormatter2({
59
+
60
+ // src/get-day-formatter.ts
61
+ function getDayFormatter(locale, timeZone) {
62
+ const date = (0, import_date.toCalendarDate)((0, import_date.today)(timeZone));
63
+ return new import_date.DateFormatter(locale, {
61
64
  weekday: "long",
62
65
  month: "long",
63
66
  year: "numeric",
64
67
  day: "numeric",
65
- era,
68
+ era: getEraFormat(date),
66
69
  timeZone
67
70
  });
68
71
  }
69
72
 
70
73
  // src/format-selected-date.ts
71
- function formatSelectedDate(startDate, endDate, getFormatter, isSelectingRange, timeZone) {
74
+ function formatSelectedDate(startDate, endDate, locale, timeZone) {
72
75
  let start = startDate;
73
76
  let end = endDate ?? startDate;
74
- let formatter = getDateFormatter(start, end, getFormatter, timeZone);
75
- if (isSelectingRange || start == null || end == null) {
76
- return "";
77
- }
78
- if ((0, import_date.isSameDay)(start, end)) {
77
+ let formatter = getDayFormatter(locale, timeZone);
78
+ if ((0, import_date2.isSameDay)(start, end)) {
79
79
  return formatter.format(start.toDate(timeZone));
80
80
  }
81
81
  return formatRange(start, end, formatter, (start2, end2) => `${start2} \u2013 ${end2}`, timeZone);
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  formatSelectedDate
3
- } from "./chunk-NXMEZINO.mjs";
3
+ } from "./chunk-LQAXQPWP.mjs";
4
4
  import "./chunk-HKHGJ6WS.mjs";
5
- import "./chunk-TSOWYV6W.mjs";
5
+ import "./chunk-ODG5YF5H.mjs";
6
+ import "./chunk-KN3YMOSL.mjs";
6
7
  export {
7
8
  formatSelectedDate
8
9
  };
@@ -1,6 +1,5 @@
1
1
  import { CalendarDate } from '@internationalized/date';
2
- import { GetFormatterFn } from './types.js';
3
2
 
4
- declare function formatVisibleRange(startDate: CalendarDate | null, endDate: CalendarDate | null, getFormatter: GetFormatterFn, isAria: boolean, timeZone: string): string | undefined;
3
+ declare function formatVisibleRange(startDate: CalendarDate, endDate: CalendarDate | null, locale: string, timeZone: string): string;
5
4
 
6
5
  export { formatVisibleRange };
@@ -23,79 +23,58 @@ __export(format_visible_range_exports, {
23
23
  formatVisibleRange: () => formatVisibleRange
24
24
  });
25
25
  module.exports = __toCommonJS(format_visible_range_exports);
26
- var import_date = require("@internationalized/date");
26
+ var import_date3 = require("@internationalized/date");
27
27
 
28
- // src/format-range.ts
29
- function formatRange(startDate, endDate, formatter, toString, timeZone) {
30
- let parts = formatter.formatRangeToParts(startDate.toDate(timeZone), endDate.toDate(timeZone));
31
- let separatorIndex = -1;
32
- for (let i = 0; i < parts.length; i++) {
33
- let part = parts[i];
34
- if (part.source === "shared" && part.type === "literal") {
35
- separatorIndex = i;
36
- } else if (part.source === "endRange") {
37
- break;
38
- }
39
- }
40
- let start = "";
41
- let end = "";
42
- for (let i = 0; i < parts.length; i++) {
43
- if (i < separatorIndex) {
44
- start += parts[i].value;
45
- } else if (i > separatorIndex) {
46
- end += parts[i].value;
47
- }
48
- }
49
- return toString(start, end);
50
- }
28
+ // src/get-day-formatter.ts
29
+ var import_date = require("@internationalized/date");
51
30
 
52
- // src/get-formatter.ts
31
+ // src/get-era-format.ts
53
32
  function getEraFormat(date) {
54
33
  return date?.calendar.identifier === "gregory" && date.era === "BC" ? "short" : void 0;
55
34
  }
56
- function getDateFormatter(startDate, endDate, getDateFormatter2, timeZone) {
57
- let start = startDate;
58
- let end = endDate ?? startDate;
59
- let era = getEraFormat(start) || getEraFormat(end);
60
- return getDateFormatter2({
35
+
36
+ // src/get-day-formatter.ts
37
+ function getDayFormatter(locale, timeZone) {
38
+ const date = (0, import_date.toCalendarDate)((0, import_date.today)(timeZone));
39
+ return new import_date.DateFormatter(locale, {
61
40
  weekday: "long",
62
41
  month: "long",
63
42
  year: "numeric",
64
43
  day: "numeric",
65
- era,
44
+ era: getEraFormat(date),
66
45
  timeZone
67
46
  });
68
47
  }
69
- function getMonthFormatter(startDate, endDate, getDateFormatter2, timeZone) {
70
- let start = startDate;
71
- let end = endDate ?? startDate;
72
- let era = getEraFormat(start) || getEraFormat(end);
73
- return getDateFormatter2({
48
+
49
+ // src/get-month-formatter.ts
50
+ var import_date2 = require("@internationalized/date");
51
+ function getMonthFormatter(locale, timeZone) {
52
+ const date = (0, import_date2.toCalendarDate)((0, import_date2.today)(timeZone));
53
+ return new import_date2.DateFormatter(locale, {
74
54
  month: "long",
75
55
  year: "numeric",
76
- era,
77
- calendar: start?.calendar.identifier,
56
+ era: getEraFormat(date),
57
+ calendar: date?.calendar.identifier,
78
58
  timeZone
79
59
  });
80
60
  }
81
61
 
82
62
  // src/format-visible-range.ts
83
- function formatVisibleRange(startDate, endDate, getFormatter, isAria, timeZone) {
84
- if (!startDate)
85
- return "";
86
- let start = startDate;
87
- let end = endDate ?? startDate;
88
- let monthFormatter = getMonthFormatter(start, end, getFormatter, timeZone);
89
- let dateFormatter = getDateFormatter(start, end, getFormatter, timeZone);
90
- if (!(0, import_date.isSameDay)(start, (0, import_date.startOfMonth)(start))) {
91
- return isAria ? formatRange(start, end, dateFormatter, (start2, end2) => `${start2} \u2013 ${end2}`, timeZone) : dateFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
63
+ function formatVisibleRange(startDate, endDate, locale, timeZone) {
64
+ const start = startDate;
65
+ const end = endDate ?? startDate;
66
+ const dayFormatter = getDayFormatter(locale, timeZone);
67
+ if (!(0, import_date3.isSameDay)(start, (0, import_date3.startOfMonth)(start))) {
68
+ return dayFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
92
69
  }
93
- if ((0, import_date.isSameDay)(end, (0, import_date.endOfMonth)(start))) {
70
+ const monthFormatter = getMonthFormatter(locale, timeZone);
71
+ if ((0, import_date3.isSameDay)(end, (0, import_date3.endOfMonth)(start))) {
94
72
  return monthFormatter.format(start.toDate(timeZone));
95
73
  }
96
- if ((0, import_date.isSameDay)(end, (0, import_date.endOfMonth)(end))) {
97
- return isAria ? formatRange(start, end, monthFormatter, (start2, end2) => `${start2} \u2013 ${end2}`, timeZone) : monthFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
74
+ if ((0, import_date3.isSameDay)(end, (0, import_date3.endOfMonth)(end))) {
75
+ return monthFormatter.formatRange(start.toDate(timeZone), end.toDate(timeZone));
98
76
  }
77
+ return "";
99
78
  }
100
79
  // Annotate the CommonJS export names for ESM import in node:
101
80
  0 && (module.exports = {
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  formatVisibleRange
3
- } from "./chunk-GLQDJRSE.mjs";
4
- import "./chunk-HKHGJ6WS.mjs";
5
- import "./chunk-TSOWYV6W.mjs";
3
+ } from "./chunk-CAYCTIEJ.mjs";
4
+ import "./chunk-LGEGBP3O.mjs";
5
+ import "./chunk-ODG5YF5H.mjs";
6
+ import "./chunk-KN3YMOSL.mjs";
6
7
  export {
7
8
  formatVisibleRange
8
9
  };
@@ -0,0 +1,5 @@
1
+ import { DateFormatter } from '@internationalized/date';
2
+
3
+ declare function getDayFormatter(locale: string, timeZone: string): DateFormatter;
4
+
5
+ export { getDayFormatter };
@@ -17,31 +17,32 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/placeholder.ts
21
- var placeholder_exports = {};
22
- __export(placeholder_exports, {
23
- createPlaceholderDate: () => createPlaceholderDate,
24
- getTodayPlaceholderDate: () => getTodayPlaceholderDate
20
+ // src/get-day-formatter.ts
21
+ var get_day_formatter_exports = {};
22
+ __export(get_day_formatter_exports, {
23
+ getDayFormatter: () => getDayFormatter
25
24
  });
26
- module.exports = __toCommonJS(placeholder_exports);
25
+ module.exports = __toCommonJS(get_day_formatter_exports);
27
26
  var import_date = require("@internationalized/date");
28
- function getTodayPlaceholderDate(timeZone) {
29
- return (0, import_date.now)(timeZone).set({
30
- hour: 0,
31
- minute: 0,
32
- second: 0,
33
- millisecond: 0
34
- });
27
+
28
+ // src/get-era-format.ts
29
+ function getEraFormat(date) {
30
+ return date?.calendar.identifier === "gregory" && date.era === "BC" ? "short" : void 0;
35
31
  }
36
- function createPlaceholderDate(granularity, timeZone) {
37
- let date = getTodayPlaceholderDate(timeZone);
38
- if (granularity === "year" || granularity === "month" || granularity === "day") {
39
- return (0, import_date.toCalendarDate)(date);
40
- }
41
- return date;
32
+
33
+ // src/get-day-formatter.ts
34
+ function getDayFormatter(locale, timeZone) {
35
+ const date = (0, import_date.toCalendarDate)((0, import_date.today)(timeZone));
36
+ return new import_date.DateFormatter(locale, {
37
+ weekday: "long",
38
+ month: "long",
39
+ year: "numeric",
40
+ day: "numeric",
41
+ era: getEraFormat(date),
42
+ timeZone
43
+ });
42
44
  }
43
45
  // Annotate the CommonJS export names for ESM import in node:
44
46
  0 && (module.exports = {
45
- createPlaceholderDate,
46
- getTodayPlaceholderDate
47
+ getDayFormatter
47
48
  });
@@ -0,0 +1,7 @@
1
+ import {
2
+ getDayFormatter
3
+ } from "./chunk-ODG5YF5H.mjs";
4
+ import "./chunk-KN3YMOSL.mjs";
5
+ export {
6
+ getDayFormatter
7
+ };
@@ -0,0 +1,3 @@
1
+ declare function getDecadeRange(year: number): number[];
2
+
3
+ export { getDecadeRange };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/get-decade-range.ts
21
+ var get_decade_range_exports = {};
22
+ __export(get_decade_range_exports, {
23
+ getDecadeRange: () => getDecadeRange
24
+ });
25
+ module.exports = __toCommonJS(get_decade_range_exports);
26
+ function getDecadeRange(year) {
27
+ const computedYear = year - year % 10 - 1;
28
+ const years = [];
29
+ for (let i = 0; i < 12; i += 1) {
30
+ const value = computedYear + i;
31
+ years.push(value);
32
+ }
33
+ return years;
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ getDecadeRange
38
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ getDecadeRange
3
+ } from "./chunk-G4VVKINZ.mjs";
4
+ export {
5
+ getDecadeRange
6
+ };
@@ -0,0 +1,5 @@
1
+ import { CalendarDate } from '@internationalized/date';
2
+
3
+ declare function getEndOfWeek(date: CalendarDate, locale: string, firstDayOfWeek?: number): CalendarDate;
4
+
5
+ export { getEndOfWeek };