@calchemy/date-react 0.1.0

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 (78) hide show
  1. package/LICENSE +21 -0
  2. package/dist/calendar-scroll.d.ts +2 -0
  3. package/dist/calendar-scroll.d.ts.map +1 -0
  4. package/dist/calendar-scroll.js +225 -0
  5. package/dist/calendar-scroll.js.map +1 -0
  6. package/dist/chunk-KI7GMSS3.js +451 -0
  7. package/dist/chunk-KI7GMSS3.js.map +1 -0
  8. package/dist/chunk-NGJGJXY4.js +34 -0
  9. package/dist/chunk-NGJGJXY4.js.map +1 -0
  10. package/dist/components/Calchemy.d.ts +50 -0
  11. package/dist/components/Calchemy.d.ts.map +1 -0
  12. package/dist/components/Calchemy.js +57 -0
  13. package/dist/components/Calchemy.js.map +1 -0
  14. package/dist/components/calendar/Calendar.d.ts +19 -0
  15. package/dist/components/calendar/Calendar.d.ts.map +1 -0
  16. package/dist/components/calendar/Calendar.js +218 -0
  17. package/dist/components/calendar/Calendar.js.map +1 -0
  18. package/dist/components/calendar/CalendarGrid.d.ts +12 -0
  19. package/dist/components/calendar/CalendarGrid.d.ts.map +1 -0
  20. package/dist/components/calendar/CalendarGrid.js +93 -0
  21. package/dist/components/calendar/CalendarGrid.js.map +1 -0
  22. package/dist/components/calendar/CalendarPeriod.d.ts +6 -0
  23. package/dist/components/calendar/CalendarPeriod.d.ts.map +1 -0
  24. package/dist/components/calendar/CalendarPeriod.js +42 -0
  25. package/dist/components/calendar/CalendarPeriod.js.map +1 -0
  26. package/dist/components/calendar/CalendarPeriodHeading.d.ts +4 -0
  27. package/dist/components/calendar/CalendarPeriodHeading.d.ts.map +1 -0
  28. package/dist/components/calendar/CalendarPeriodHeading.js +9 -0
  29. package/dist/components/calendar/CalendarPeriodHeading.js.map +1 -0
  30. package/dist/components/calendar/CalendarPeriodList.d.ts +6 -0
  31. package/dist/components/calendar/CalendarPeriodList.d.ts.map +1 -0
  32. package/dist/components/calendar/CalendarPeriodList.js +93 -0
  33. package/dist/components/calendar/CalendarPeriodList.js.map +1 -0
  34. package/dist/components/calendar/CalendarScroll.d.ts +8 -0
  35. package/dist/components/calendar/CalendarScroll.d.ts.map +1 -0
  36. package/dist/components/calendar/CalendarScroll.js +115 -0
  37. package/dist/components/calendar/CalendarScroll.js.map +1 -0
  38. package/dist/components/calendar/CalendarSelects.d.ts +12 -0
  39. package/dist/components/calendar/CalendarSelects.d.ts.map +1 -0
  40. package/dist/components/calendar/CalendarSelects.js +31 -0
  41. package/dist/components/calendar/CalendarSelects.js.map +1 -0
  42. package/dist/components/calendar/calendar-period-drag.d.ts +74 -0
  43. package/dist/components/calendar/calendar-period-drag.d.ts.map +1 -0
  44. package/dist/components/calendar/calendar-period-drag.js +374 -0
  45. package/dist/components/calendar/calendar-period-drag.js.map +1 -0
  46. package/dist/components/calendar/context.d.ts +10 -0
  47. package/dist/components/calendar/context.d.ts.map +1 -0
  48. package/dist/components/calendar/context.js +23 -0
  49. package/dist/components/calendar/context.js.map +1 -0
  50. package/dist/components/calendar/date-model.d.ts +36 -0
  51. package/dist/components/calendar/date-model.d.ts.map +1 -0
  52. package/dist/components/calendar/date-model.js +257 -0
  53. package/dist/components/calendar/date-model.js.map +1 -0
  54. package/dist/components/calendar/scroll-preload.d.ts +10 -0
  55. package/dist/components/calendar/scroll-preload.d.ts.map +1 -0
  56. package/dist/components/calendar/scroll-preload.js +80 -0
  57. package/dist/components/calendar/scroll-preload.js.map +1 -0
  58. package/dist/components/calendar/types.d.ts +68 -0
  59. package/dist/components/calendar/types.d.ts.map +1 -0
  60. package/dist/components/calendar/types.js +2 -0
  61. package/dist/components/calendar/types.js.map +1 -0
  62. package/dist/hooks/useCalchemy.d.ts +52 -0
  63. package/dist/hooks/useCalchemy.d.ts.map +1 -0
  64. package/dist/hooks/useCalchemy.js +161 -0
  65. package/dist/hooks/useCalchemy.js.map +1 -0
  66. package/dist/hooks/useDebouncedValue.d.ts +3 -0
  67. package/dist/hooks/useDebouncedValue.d.ts.map +1 -0
  68. package/dist/hooks/useDebouncedValue.js +15 -0
  69. package/dist/hooks/useDebouncedValue.js.map +1 -0
  70. package/dist/index.d.ts +6 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +3 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/inline-completion.d.ts +4 -0
  75. package/dist/inline-completion.d.ts.map +1 -0
  76. package/dist/inline-completion.js +7 -0
  77. package/dist/inline-completion.js.map +1 -0
  78. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-period-drag.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar-period-drag.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CalchemyState } from "../../hooks/useCalchemy";
2
+ import type { CalendarPeriodModel, CalendarScrollContextValue, CalendarState } from "./types";
3
+ export declare const CalchemyContext: import("react").Context<CalchemyState | null>;
4
+ export declare const CalendarContext: import("react").Context<CalendarState | null>;
5
+ export declare const CalendarPeriodContext: import("react").Context<CalendarPeriodModel | null>;
6
+ export declare const CalendarScrollContext: import("react").Context<CalendarScrollContextValue | null>;
7
+ export declare function useCalchemyContext(): CalchemyState;
8
+ export declare function useCalchemyCalendar(): CalendarState;
9
+ export declare function useCalendarPeriod(): CalendarPeriodModel | null;
10
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9F,eAAO,MAAM,eAAe,+CAA4C,CAAC;AACzE,eAAO,MAAM,eAAe,+CAA4C,CAAC;AACzE,eAAO,MAAM,qBAAqB,qDAAkD,CAAC;AACrF,eAAO,MAAM,qBAAqB,4DAAyD,CAAC;AAE5F,wBAAgB,kBAAkB,IAAI,aAAa,CAQlD;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAQnD;AAED,wBAAgB,iBAAiB,IAAI,mBAAmB,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,23 @@
1
+ import { createContext, useContext } from "react";
2
+ export const CalchemyContext = createContext(null);
3
+ export const CalendarContext = createContext(null);
4
+ export const CalendarPeriodContext = createContext(null);
5
+ export const CalendarScrollContext = createContext(null);
6
+ export function useCalchemyContext() {
7
+ const state = useContext(CalchemyContext);
8
+ if (!state) {
9
+ throw new Error("Calchemy components must be rendered inside Calchemy.Root.");
10
+ }
11
+ return state;
12
+ }
13
+ export function useCalchemyCalendar() {
14
+ const state = useContext(CalendarContext);
15
+ if (!state) {
16
+ throw new Error("Calchemy calendar components must be rendered inside Calchemy.Calendar.");
17
+ }
18
+ return state;
19
+ }
20
+ export function useCalendarPeriod() {
21
+ return useContext(CalendarPeriodContext);
22
+ }
23
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/calendar/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAC;AAE5F,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { DateValue, PlainDate, WeekdayIndex } from "@calchemy/date-core";
2
+ import type { CalchemyState } from "../../hooks/useCalchemy";
3
+ import type { CalendarBounds, CalendarDayState, CalendarDuration, CalendarPeriodModel, CalendarPeriodUnit, CalendarState, CalendarWeekdayFormat, ParsedCalendarPeriod } from "./types";
4
+ export declare function getFirstVisibleCalendarPeriod(calendar: CalendarState): CalendarPeriodModel;
5
+ export declare function getCalendarDayState(calendar: CalendarState, period: CalendarPeriodModel, date: PlainDate): CalendarDayState;
6
+ export declare function parseCalendarDuration(value: CalendarDuration, propName: string): ParsedCalendarPeriod;
7
+ export declare function validateCalendarBounds(bounds: CalendarBounds | undefined): void;
8
+ export declare function clampDateToBounds(date: PlainDate, bounds: CalendarBounds | undefined): PlainDate;
9
+ export declare function isDateWithinBounds(date: PlainDate, bounds: CalendarBounds | undefined): boolean;
10
+ export declare function periodIntersectsBounds(period: CalendarPeriodModel, bounds: CalendarBounds | undefined): boolean;
11
+ export declare function getCalendarPeriodAtOffset(anchor: PlainDate, period: ParsedCalendarPeriod, weekStartsOn: WeekdayIndex, locale: string, offset: number): CalendarPeriodModel;
12
+ export declare function getInitialPeriodExtensions(period: ParsedCalendarPeriod): {
13
+ before: number;
14
+ after: number;
15
+ };
16
+ export declare function getSelectedValue(state: CalchemyState): DateValue | null;
17
+ export declare function getDateValueAnchor(value: DateValue | null): PlainDate | null;
18
+ export declare function getDateValueKey(value: DateValue | null): string;
19
+ export declare function isDateInCalendarViewport(date: PlainDate, periods: readonly CalendarPeriodModel[], visiblePeriodIndex: number, windowCount: number): boolean;
20
+ export declare function getToday(state: CalchemyState): PlainDate;
21
+ export declare function buildCalendarPeriods(anchor: PlainDate, period: ParsedCalendarPeriod, weekStartsOn: WeekdayIndex, locale: string, extensions: {
22
+ before: number;
23
+ after: number;
24
+ }, bounds?: CalendarBounds): CalendarPeriodModel[];
25
+ export declare function buildCalendarWeeks(period: CalendarPeriodModel, weekStartsOn: WeekdayIndex): PlainDate[][];
26
+ export declare function buildWeekdays(calendar: CalendarState, weekdayFormat?: CalendarWeekdayFormat): Array<{
27
+ index: number;
28
+ label: string;
29
+ weekend: boolean;
30
+ }>;
31
+ export declare function addCalendarPeriod(date: PlainDate, unit: CalendarPeriodUnit, count: number): PlainDate;
32
+ export declare function formatCalendarWindowLabel(periods: CalendarPeriodModel[], locale: string): string;
33
+ export declare function formatMonthLabel(date: PlainDate, locale: string): string;
34
+ export declare function isBefore(left: PlainDate, right: PlainDate): boolean;
35
+ export declare function isAfter(left: PlainDate, right: PlainDate): boolean;
36
+ //# sourceMappingURL=date-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-model.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/date-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ const defaultDateOrderPreference = ["DMY", "MDY", "YMD"];
2
+ export function getFirstVisibleCalendarPeriod(calendar) {
3
+ const period = calendar.visiblePeriods[0];
4
+ if (!period) {
5
+ throw new Error("Calchemy.Calendar requires at least one visible generated period.");
6
+ }
7
+ return period;
8
+ }
9
+ export function getCalendarDayState(calendar, period, date) {
10
+ const bounded = isDateWithinBounds(date, calendar.bounds);
11
+ const namedDates = getNamedDatesForDate(calendar, date);
12
+ const disabled = !bounded || (calendar.isDateDisabled?.(date, calendar) ?? false);
13
+ return {
14
+ outside: isBefore(date, period.start) || isAfter(date, period.end),
15
+ selected: isSelectedDate(calendar.selected, date),
16
+ today: calendar.today.equals(date),
17
+ weekend: isWeekend(date),
18
+ firstOfPeriod: date.equals(period.start),
19
+ lastOfPeriod: date.equals(period.end),
20
+ bounded,
21
+ disabled,
22
+ namedDates,
23
+ };
24
+ }
25
+ export function parseCalendarDuration(value, propName) {
26
+ const hasMonths = "months" in value;
27
+ const hasWeeks = "weeks" in value;
28
+ if (hasMonths === hasWeeks) {
29
+ throw new Error(`Calchemy.Calendar ${propName} must include exactly one of months or weeks.`);
30
+ }
31
+ const count = hasMonths ? value.months : value.weeks;
32
+ if (!Number.isInteger(count) || count < 1) {
33
+ throw new Error(`Calchemy.Calendar ${propName} must be a positive integer duration.`);
34
+ }
35
+ return {
36
+ unit: hasMonths ? "month" : "week",
37
+ count,
38
+ };
39
+ }
40
+ export function validateCalendarBounds(bounds) {
41
+ if (bounds?.start && bounds.end && isAfter(bounds.start, bounds.end)) {
42
+ throw new Error("Calchemy.Calendar bounds.start must be on or before bounds.end.");
43
+ }
44
+ }
45
+ export function clampDateToBounds(date, bounds) {
46
+ if (bounds?.start && isBefore(date, bounds.start)) {
47
+ return bounds.start;
48
+ }
49
+ if (bounds?.end && isAfter(date, bounds.end)) {
50
+ return bounds.end;
51
+ }
52
+ return date;
53
+ }
54
+ export function isDateWithinBounds(date, bounds) {
55
+ return (!bounds?.start || !isBefore(date, bounds.start)) && (!bounds?.end || !isAfter(date, bounds.end));
56
+ }
57
+ export function periodIntersectsBounds(period, bounds) {
58
+ return (!bounds?.start || !isBefore(period.end, bounds.start)) && (!bounds?.end || !isAfter(period.start, bounds.end));
59
+ }
60
+ export function getCalendarPeriodAtOffset(anchor, period, weekStartsOn, locale, offset) {
61
+ const firstStart = period.unit === "month" ? startOfMonth(anchor) : startOfWeek(anchor, weekStartsOn);
62
+ const start = addCalendarPeriod(firstStart, period.unit, offset);
63
+ const end = period.unit === "month" ? endOfMonth(start) : start.add({ days: 6 });
64
+ return {
65
+ id: `${period.unit}-${start.toString()}`,
66
+ unit: period.unit,
67
+ index: offset,
68
+ start,
69
+ end,
70
+ label: formatPeriodLabel(start, end, period.unit, locale),
71
+ };
72
+ }
73
+ export function getInitialPeriodExtensions(period) {
74
+ return {
75
+ before: period.count * 6,
76
+ after: period.count * 3,
77
+ };
78
+ }
79
+ export function getSelectedValue(state) {
80
+ const resultValue = getResultValue(state);
81
+ return state.value ?? resultValue;
82
+ }
83
+ export function getDateValueAnchor(value) {
84
+ if (!value) {
85
+ return null;
86
+ }
87
+ switch (value.kind) {
88
+ case "single":
89
+ return value.date;
90
+ case "range":
91
+ return value.start;
92
+ case "multiple":
93
+ return value.dates[0] ?? null;
94
+ }
95
+ }
96
+ export function getDateValueKey(value) {
97
+ if (!value) {
98
+ return "";
99
+ }
100
+ switch (value.kind) {
101
+ case "single":
102
+ return `single:${value.date.toString()}`;
103
+ case "range":
104
+ return `range:${value.start.toString()}:${value.end.toString()}`;
105
+ case "multiple":
106
+ return `multiple:${value.dates.map((date) => date.toString()).join(",")}`;
107
+ }
108
+ }
109
+ export function isDateInCalendarViewport(date, periods, visiblePeriodIndex, windowCount) {
110
+ return periods
111
+ .filter((period) => period.index >= visiblePeriodIndex && period.index < visiblePeriodIndex + windowCount)
112
+ .some((period) => !isBefore(date, period.start) && !isAfter(date, period.end));
113
+ }
114
+ function getResultValue(state) {
115
+ return state.result.status === "valid" ? state.result.value : null;
116
+ }
117
+ export function getToday(state) {
118
+ if (state.parseContext?.referenceDate) {
119
+ return state.parseContext.referenceDate;
120
+ }
121
+ const todayResult = state.calchemy.parseDate("today", state.parseContext);
122
+ if (todayResult.status === "valid" && todayResult.value.kind === "single") {
123
+ return todayResult.value.date;
124
+ }
125
+ return state.calchemy.Temporal.Now.plainDateISO(state.parseContext?.timeZone);
126
+ }
127
+ export function buildCalendarPeriods(anchor, period, weekStartsOn, locale, extensions, bounds) {
128
+ const total = extensions.before + period.count + extensions.after;
129
+ return Array.from({ length: total }, (_, index) => {
130
+ const offset = index - extensions.before;
131
+ return getCalendarPeriodAtOffset(anchor, period, weekStartsOn, locale, offset);
132
+ }).filter((item) => periodIntersectsBounds(item, bounds));
133
+ }
134
+ export function buildCalendarWeeks(period, weekStartsOn) {
135
+ const start = startOfWeek(period.start, weekStartsOn);
136
+ const end = endOfWeek(period.end, weekStartsOn);
137
+ const weeks = [];
138
+ let cursor = start;
139
+ while (!isAfter(cursor, end)) {
140
+ const week = Array.from({ length: 7 }, (_, index) => cursor.add({ days: index }));
141
+ weeks.push(week);
142
+ cursor = cursor.add({ days: 7 });
143
+ }
144
+ return weeks;
145
+ }
146
+ export function buildWeekdays(calendar, weekdayFormat = "short") {
147
+ const sunday = startOfWeek(calendar.today, 0);
148
+ const first = startOfWeek(calendar.today, calendar.weekStartsOn);
149
+ return Array.from({ length: 7 }, (_, index) => {
150
+ const date = first.add({ days: index });
151
+ const weekdayIndex = sunday.until(date).days % 7;
152
+ return {
153
+ index: weekdayIndex,
154
+ label: date.toLocaleString(calendar.locale, { weekday: weekdayFormat }),
155
+ weekend: isWeekend(date),
156
+ };
157
+ });
158
+ }
159
+ export function addCalendarPeriod(date, unit, count) {
160
+ return unit === "month" ? date.add({ months: count }) : date.add({ weeks: count });
161
+ }
162
+ export function formatCalendarWindowLabel(periods, locale) {
163
+ const first = periods[0];
164
+ const last = periods.at(-1);
165
+ if (!first || !last) {
166
+ return "";
167
+ }
168
+ if (first.start.equals(last.start) && first.end.equals(last.end)) {
169
+ return first.label;
170
+ }
171
+ return `${formatDateLabel(first.start, locale)} - ${formatDateLabel(last.end, locale)}`;
172
+ }
173
+ export function formatMonthLabel(date, locale) {
174
+ return date.toLocaleString(locale, { month: "long" });
175
+ }
176
+ function startOfMonth(date) {
177
+ return date.with({ day: 1 });
178
+ }
179
+ function endOfMonth(date) {
180
+ return startOfMonth(date).add({ months: 1 }).subtract({ days: 1 });
181
+ }
182
+ function startOfWeek(date, weekStartsOn) {
183
+ const temporalWeekday = weekStartsOn === 0 ? 7 : weekStartsOn;
184
+ let cursor = date;
185
+ while (cursor.dayOfWeek !== temporalWeekday) {
186
+ cursor = cursor.subtract({ days: 1 });
187
+ }
188
+ return cursor;
189
+ }
190
+ function endOfWeek(date, weekStartsOn) {
191
+ return startOfWeek(date, weekStartsOn).add({ days: 6 });
192
+ }
193
+ export function isBefore(left, right) {
194
+ return left.toString() < right.toString();
195
+ }
196
+ export function isAfter(left, right) {
197
+ return left.toString() > right.toString();
198
+ }
199
+ function isSelectedDate(value, date) {
200
+ if (!value) {
201
+ return false;
202
+ }
203
+ switch (value.kind) {
204
+ case "single":
205
+ return value.date.equals(date);
206
+ case "range":
207
+ return !isBefore(date, value.start) && !isAfter(date, value.end);
208
+ case "multiple":
209
+ return value.dates.some((selectedDate) => selectedDate.equals(date));
210
+ }
211
+ }
212
+ function isWeekend(date) {
213
+ return date.dayOfWeek === 6 || date.dayOfWeek === 7;
214
+ }
215
+ function getNamedDatesForDate(calendar, date) {
216
+ if (!calendar.namedDates) {
217
+ return [];
218
+ }
219
+ const context = getResolvedNamedDateContext(calendar);
220
+ return calendar.calchemy.calchemy.namedDatesVocabulary.filter((entry) => {
221
+ if (calendar.namedDates === "holidays" && !entry.isHoliday) {
222
+ return false;
223
+ }
224
+ return entry.resolveDate({ year: date.year, context })?.equals(date) ?? false;
225
+ });
226
+ }
227
+ function getResolvedNamedDateContext(calendar) {
228
+ const context = calendar.calchemy.parseContext;
229
+ return {
230
+ referenceDate: context?.referenceDate ??
231
+ calendar.calchemy.calchemy.Temporal.Now.plainDateISO(context?.timeZone),
232
+ locale: context?.locale ?? "en-US",
233
+ weekStartsOn: context?.weekStartsOn ?? 0,
234
+ dateOrderPreference: normalizeDateOrderPreference(context?.dateOrderPreference),
235
+ lastNDaysIncludesToday: context?.lastNDaysIncludesToday ?? true,
236
+ };
237
+ }
238
+ function normalizeDateOrderPreference(value) {
239
+ if (!value || value.length === 0) {
240
+ return defaultDateOrderPreference;
241
+ }
242
+ return Array.from(new Set(value));
243
+ }
244
+ function formatPeriodLabel(start, end, unit, locale) {
245
+ if (unit === "month") {
246
+ return formatDateLabel(start, locale);
247
+ }
248
+ return `${start.toLocaleString(locale, { month: "short", day: "numeric" })} - ${end.toLocaleString(locale, {
249
+ month: "short",
250
+ day: "numeric",
251
+ year: "numeric",
252
+ })}`;
253
+ }
254
+ function formatDateLabel(date, locale) {
255
+ return date.toLocaleString(locale, { month: "long", year: "numeric" });
256
+ }
257
+ //# sourceMappingURL=date-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-model.js","sourceRoot":"","sources":["../../../src/components/calendar/date-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CalendarScrollDirection, CalendarState } from "./types";
2
+ export declare function getScrollPosition(element: HTMLElement, direction: CalendarScrollDirection): number;
3
+ export declare function setScrollPosition(element: HTMLElement, direction: CalendarScrollDirection, value: number): void;
4
+ export declare function getScrollSize(element: HTMLElement, direction: CalendarScrollDirection): number;
5
+ export declare function getClientSize(element: HTMLElement, direction: CalendarScrollDirection): number;
6
+ export declare function scrollPeriodIntoView(scrollElement: HTMLElement, period: HTMLElement, direction: CalendarScrollDirection): void;
7
+ export declare function getScrollAnchorPeriod(scrollElement: HTMLElement, direction: CalendarScrollDirection): HTMLElement | null;
8
+ export declare function getCalendarPeriodWindowSize(scrollElement: HTMLElement, direction: CalendarScrollDirection, periodCount: number): number;
9
+ export declare function getLoadedPeriodRunway(calendar: CalendarState, anchor: HTMLElement | null, direction: "before" | "after"): number | null;
10
+ //# sourceMappingURL=scroll-preload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-preload.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/scroll-preload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,uBAAuB,GAAG,MAAM,CAElG;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,uBAAuB,EAClC,KAAK,EAAE,MAAM,GACZ,IAAI,CAON;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,uBAAuB,GAAG,MAAM,CAE9F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,uBAAuB,GAAG,MAAM,CAE9F;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,WAAW,EAC1B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,uBAAuB,GACjC,IAAI,CAUN;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,WAAW,EAC1B,SAAS,EAAE,uBAAuB,GACjC,WAAW,GAAG,IAAI,CA0BpB;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,WAAW,EAC1B,SAAS,EAAE,uBAAuB,EAClC,WAAW,EAAE,MAAM,GAClB,MAAM,CAsBR;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,SAAS,EAAE,QAAQ,GAAG,OAAO,GAC5B,MAAM,GAAG,IAAI,CAYf"}
@@ -0,0 +1,80 @@
1
+ export function getScrollPosition(element, direction) {
2
+ return direction === "horizontal" ? element.scrollLeft : element.scrollTop;
3
+ }
4
+ export function setScrollPosition(element, direction, value) {
5
+ if (direction === "horizontal") {
6
+ element.scrollLeft = value;
7
+ return;
8
+ }
9
+ element.scrollTop = value;
10
+ }
11
+ export function getScrollSize(element, direction) {
12
+ return direction === "horizontal" ? element.scrollWidth : element.scrollHeight;
13
+ }
14
+ export function getClientSize(element, direction) {
15
+ return direction === "horizontal" ? element.clientWidth : element.clientHeight;
16
+ }
17
+ export function scrollPeriodIntoView(scrollElement, period, direction) {
18
+ const scrollRect = scrollElement.getBoundingClientRect();
19
+ const periodRect = period.getBoundingClientRect();
20
+ if (direction === "horizontal") {
21
+ scrollElement.scrollLeft += periodRect.left - scrollRect.left;
22
+ return;
23
+ }
24
+ scrollElement.scrollTop += periodRect.top - scrollRect.top;
25
+ }
26
+ export function getScrollAnchorPeriod(scrollElement, direction) {
27
+ const scrollRect = scrollElement.getBoundingClientRect();
28
+ const periods = Array.from(scrollElement.querySelectorAll("[calchemy-period]"));
29
+ let fallback = null;
30
+ for (const period of periods) {
31
+ const periodRect = period.getBoundingClientRect();
32
+ const periodStart = direction === "horizontal" ? periodRect.left : periodRect.top;
33
+ const periodEnd = direction === "horizontal" ? periodRect.right : periodRect.bottom;
34
+ const scrollStart = direction === "horizontal" ? scrollRect.left : scrollRect.top;
35
+ const scrollEnd = direction === "horizontal" ? scrollRect.right : scrollRect.bottom;
36
+ if (periodEnd <= scrollStart) {
37
+ continue;
38
+ }
39
+ if (periodStart >= scrollEnd) {
40
+ break;
41
+ }
42
+ fallback = period;
43
+ if (periodStart >= scrollStart) {
44
+ return period;
45
+ }
46
+ }
47
+ return fallback;
48
+ }
49
+ export function getCalendarPeriodWindowSize(scrollElement, direction, periodCount) {
50
+ const periods = Array.from(scrollElement.querySelectorAll("[calchemy-period]"));
51
+ const firstPeriod = periods[0];
52
+ const nextPeriod = periods[1];
53
+ const fallback = direction === "horizontal" ? scrollElement.clientWidth : scrollElement.clientHeight;
54
+ if (!firstPeriod) {
55
+ return fallback;
56
+ }
57
+ const firstRect = firstPeriod.getBoundingClientRect();
58
+ const nextRect = nextPeriod?.getBoundingClientRect();
59
+ const singlePeriodSize = nextRect
60
+ ? direction === "horizontal"
61
+ ? nextRect.left - firstRect.left
62
+ : nextRect.top - firstRect.top
63
+ : direction === "horizontal"
64
+ ? firstRect.width
65
+ : firstRect.height;
66
+ const windowSize = Math.abs(singlePeriodSize) * periodCount;
67
+ return windowSize > 0 ? windowSize : fallback;
68
+ }
69
+ export function getLoadedPeriodRunway(calendar, anchor, direction) {
70
+ const anchorIndex = anchor?.getAttribute("calchemy-period-index")
71
+ ? Number(anchor.getAttribute("calchemy-period-index"))
72
+ : NaN;
73
+ const firstIndex = calendar.periods[0]?.index;
74
+ const lastIndex = calendar.periods.at(-1)?.index;
75
+ if (!Number.isFinite(anchorIndex) || firstIndex === undefined || lastIndex === undefined) {
76
+ return null;
77
+ }
78
+ return direction === "before" ? anchorIndex - firstIndex : lastIndex - anchorIndex;
79
+ }
80
+ //# sourceMappingURL=scroll-preload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-preload.js","sourceRoot":"","sources":["../../../src/components/calendar/scroll-preload.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,SAAkC;IACxF,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,SAAkC,EAClC,KAAa;IAEb,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,SAAkC;IACpF,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,SAAkC;IACpF,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,aAA0B,EAC1B,MAAmB,EACnB,SAAkC;IAElC,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAElD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,aAAa,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,aAA0B,EAC1B,SAAkC;IAElC,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAc,mBAAmB,CAAC,CAAC,CAAC;IAC7F,IAAI,QAAQ,GAAuB,IAAI,CAAC;IAExC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAClF,MAAM,SAAS,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACpF,MAAM,WAAW,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAClF,MAAM,SAAS,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAEpF,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM;QACR,CAAC;QAED,QAAQ,GAAG,MAAM,CAAC;QAClB,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,aAA0B,EAC1B,SAAkC,EAClC,WAAmB;IAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAc,mBAAmB,CAAC,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC;IAErG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,SAAS,KAAK,YAAY;YAC1B,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;YAChC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG;QAChC,CAAC,CAAC,SAAS,KAAK,YAAY;YAC1B,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;IAE5D,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAuB,EACvB,MAA0B,EAC1B,SAA6B;IAE7B,MAAM,WAAW,GAAG,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC;QAC/D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAEjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC;AACrF,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { DateValue, NamedDatesVocabularyEntry, PlainDate, WeekdayIndex } from "@calchemy/date-core";
2
+ import type { CalchemyState } from "../../hooks/useCalchemy";
3
+ export type CalendarPeriodUnit = "month" | "week";
4
+ export type CalendarScrollDirection = "horizontal" | "vertical";
5
+ export type CalendarDuration = {
6
+ months: number;
7
+ } | {
8
+ weeks: number;
9
+ };
10
+ export type CalendarWeekdayFormat = "long" | "short" | "narrow";
11
+ export type CalendarBounds = {
12
+ start?: PlainDate;
13
+ end?: PlainDate;
14
+ };
15
+ export type CalendarNamedDates = "all" | "holidays";
16
+ export type ParsedCalendarPeriod = {
17
+ unit: CalendarPeriodUnit;
18
+ count: number;
19
+ };
20
+ export type CalendarPeriodModel = {
21
+ id: string;
22
+ unit: CalendarPeriodUnit;
23
+ index: number;
24
+ start: PlainDate;
25
+ end: PlainDate;
26
+ label: string;
27
+ };
28
+ export type CalendarState = {
29
+ calchemy: CalchemyState;
30
+ period: ParsedCalendarPeriod;
31
+ periodAnchor: PlainDate;
32
+ visiblePeriodAnchor: PlainDate;
33
+ today: PlainDate;
34
+ selected: DateValue | null;
35
+ periods: CalendarPeriodModel[];
36
+ visiblePeriods: CalendarPeriodModel[];
37
+ weekStartsOn: WeekdayIndex;
38
+ locale: string;
39
+ bounds: CalendarBounds | undefined;
40
+ namedDates: CalendarNamedDates | undefined;
41
+ editable: boolean;
42
+ isDateDisabled: ((date: PlainDate, calendar: CalendarState) => boolean) | undefined;
43
+ setPeriodAnchor(date: PlainDate): void;
44
+ setVisiblePeriodIndex(index: number): void;
45
+ canMove(unit: CalendarPeriodUnit, count: number): boolean;
46
+ move(unit: CalendarPeriodUnit, count: number): void;
47
+ canExtendPeriods(direction: "before" | "after", windows?: number): boolean;
48
+ extendPeriods(direction: "before" | "after", windows?: number): void;
49
+ selectDate(date: PlainDate): void;
50
+ selectValue(value: DateValue): void;
51
+ };
52
+ export type CalendarScrollContextValue = {
53
+ direction: CalendarScrollDirection;
54
+ leadingSpacerPeriodCount: number;
55
+ leadingSpacerPixelSize: number;
56
+ };
57
+ export type CalendarDayState = {
58
+ outside: boolean;
59
+ selected: boolean;
60
+ today: boolean;
61
+ weekend: boolean;
62
+ firstOfPeriod: boolean;
63
+ lastOfPeriod: boolean;
64
+ bounded: boolean;
65
+ disabled: boolean;
66
+ namedDates: readonly NamedDatesVocabularyEntry[];
67
+ };
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/calendar/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import type { Calchemy, DateValue, ExpectedDateValue, ParseDateContext, ParseDateResult, ResolveExpectedDateValueOptions } from "@calchemy/date-core";
2
+ export type CalchemyInputMode = "field" | "calendar";
3
+ export type UseCalchemyOptions = ResolveExpectedDateValueOptions & {
4
+ calchemy: Calchemy;
5
+ expectedValue: ExpectedDateValue;
6
+ value?: DateValue | null;
7
+ defaultValue?: DateValue | null;
8
+ onValueChange?: (value: DateValue | null, result: ParseDateResult) => void;
9
+ parseContext?: ParseDateContext;
10
+ inputValue?: string;
11
+ defaultInputValue?: string;
12
+ onInputValueChange?: (value: string) => void;
13
+ inputMode?: CalchemyInputMode;
14
+ defaultInputMode?: CalchemyInputMode;
15
+ onInputModeChange?: (mode: CalchemyInputMode) => void;
16
+ };
17
+ export type CalchemyState = {
18
+ calchemy: Calchemy;
19
+ parseContext: ParseDateContext | undefined;
20
+ inputValue: string;
21
+ value: DateValue | null;
22
+ result: ParseDateResult;
23
+ expectedValue: ExpectedDateValue;
24
+ inputMode: CalchemyInputMode;
25
+ valueKindMismatch: boolean;
26
+ inlineCompletion: ReturnType<Calchemy["getInlineCompletion"]>;
27
+ setInputValue(value: string): void;
28
+ setInputMode(mode: CalchemyInputMode): void;
29
+ acceptCompletion(): void;
30
+ selectCandidate(candidateId: string): void;
31
+ selectDate(value: DateValue): void;
32
+ getInputProps(): {
33
+ value: string;
34
+ readOnly: boolean;
35
+ onChange(event: {
36
+ currentTarget: {
37
+ value: string;
38
+ };
39
+ }): void;
40
+ onKeyDown(event: {
41
+ key: string;
42
+ preventDefault(): void;
43
+ }): void;
44
+ "aria-invalid": boolean;
45
+ "aria-description"?: string;
46
+ "calchemy-status": ParseDateResult["status"] | "kind-mismatch";
47
+ "calchemy-expected-value": ExpectedDateValue | undefined;
48
+ "calchemy-value-kind": ExpectedDateValue | undefined;
49
+ };
50
+ };
51
+ export declare function useCalchemy(options: UseCalchemyOptions): CalchemyState;
52
+ //# sourceMappingURL=useCalchemy.d.ts.map