@full-ui/headless-calendar 7.0.0-beta.5

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/esm/index.d.ts ADDED
@@ -0,0 +1,284 @@
1
+ type DurationInput = DurationObjectInput | string | number;
2
+ interface DurationObjectInput {
3
+ years?: number;
4
+ year?: number;
5
+ months?: number;
6
+ month?: number;
7
+ weeks?: number;
8
+ week?: number;
9
+ days?: number;
10
+ day?: number;
11
+ hours?: number;
12
+ hour?: number;
13
+ minutes?: number;
14
+ minute?: number;
15
+ seconds?: number;
16
+ second?: number;
17
+ milliseconds?: number;
18
+ millisecond?: number;
19
+ ms?: number;
20
+ }
21
+ interface Duration {
22
+ years: number;
23
+ months: number;
24
+ days: number;
25
+ milliseconds: number;
26
+ specifiedWeeks?: boolean;
27
+ }
28
+ declare function createDuration(input: DurationInput, unit?: string): Duration | null;
29
+ declare function durationsEqual(d0: Duration, d1: Duration): boolean;
30
+ declare function asCleanDays(dur: Duration): number;
31
+ declare function addDurations(d0: Duration, d1: Duration): {
32
+ years: number;
33
+ months: number;
34
+ days: number;
35
+ milliseconds: number;
36
+ };
37
+ declare function subtractDurations(d1: Duration, d0: Duration): Duration;
38
+ declare function multiplyDuration(d: Duration, n: number): {
39
+ years: number;
40
+ months: number;
41
+ days: number;
42
+ milliseconds: number;
43
+ };
44
+ declare function asRoughYears(dur: Duration): number;
45
+ declare function asRoughMonths(dur: Duration): number;
46
+ declare function asRoughDays(dur: Duration): number;
47
+ declare function asRoughHours(dur: Duration): number;
48
+ declare function asRoughMinutes(dur: Duration): number;
49
+ declare function asRoughSeconds(dur: Duration): number;
50
+ declare function asRoughMs(dur: Duration): number;
51
+ declare function wholeDivideDurations(numerator: Duration, denominator: Duration): number;
52
+ declare function greatestDurationDenominator(dur: Duration): {
53
+ unit: string;
54
+ value: number;
55
+ };
56
+
57
+ type DateMarker = Date;
58
+ declare function addWeeks(m: DateMarker, n: number): Date;
59
+ declare function addDays(m: DateMarker, n: number): Date;
60
+ declare function addMs(m: DateMarker, n: number): Date;
61
+ declare function diffWeeks(m0: any, m1: any): number;
62
+ declare function diffDays(m0: any, m1: any): number;
63
+ declare function diffHours(m0: any, m1: any): number;
64
+ declare function diffMinutes(m0: any, m1: any): number;
65
+ declare function diffSeconds(m0: any, m1: any): number;
66
+ declare function diffDayAndTime(m0: DateMarker, m1: DateMarker): Duration;
67
+ declare function diffWholeWeeks(m0: DateMarker, m1: DateMarker): number;
68
+ declare function diffWholeDays(m0: DateMarker, m1: DateMarker): number;
69
+ declare function startOfDay(m: DateMarker): DateMarker;
70
+ declare function startOfHour(m: DateMarker): Date;
71
+ declare function startOfMinute(m: DateMarker): Date;
72
+ declare function startOfSecond(m: DateMarker): Date;
73
+ declare function weekOfYear(marker: any, dow: any, doy: any): number;
74
+ declare function dateToLocalArray(date: any): any[];
75
+ declare function arrayToLocalDate(a: any): Date;
76
+ declare function dateToUtcArray(date: any): any[];
77
+ declare function arrayToUtcDate(a: any): Date;
78
+ declare function isValidDate(m: DateMarker): boolean;
79
+ declare function timeAsMs(m: DateMarker): number;
80
+
81
+ interface CalendarSystem {
82
+ getMarkerYear(d: DateMarker): number;
83
+ getMarkerMonth(d: DateMarker): number;
84
+ getMarkerDay(d: DateMarker): number;
85
+ arrayToMarker(arr: number[]): DateMarker;
86
+ markerToArray(d: DateMarker): number[];
87
+ }
88
+ declare function registerCalendarSystem(name: any, theClass: any): void;
89
+ declare function createCalendarSystem(name: any): any;
90
+
91
+ type LocaleCodeArg = string | string[];
92
+ interface Locale {
93
+ codeArg: LocaleCodeArg;
94
+ codes: string[];
95
+ week: {
96
+ dow: number;
97
+ doy: number;
98
+ };
99
+ simpleNumberFormat: Intl.NumberFormat;
100
+ options: any;
101
+ }
102
+
103
+ declare abstract class NamedTimeZoneImpl {
104
+ timeZoneName: string;
105
+ constructor(timeZoneName: string);
106
+ abstract offsetForArray(a: number[]): number;
107
+ abstract timestampToArray(ms: number): number[];
108
+ }
109
+ type NamedTimeZoneImplClass = {
110
+ new (timeZoneName: string): NamedTimeZoneImpl;
111
+ };
112
+
113
+ interface ZonedMarker {
114
+ marker: DateMarker;
115
+ timeZoneOffset: number;
116
+ }
117
+ interface ExpandedZonedMarker extends ZonedMarker {
118
+ array: number[];
119
+ year: number;
120
+ month: number;
121
+ day: number;
122
+ hour: number;
123
+ minute: number;
124
+ second: number;
125
+ millisecond: number;
126
+ }
127
+ declare function expandZonedMarker(dateInfo: ZonedMarker, calendarSystem: CalendarSystem): ExpandedZonedMarker;
128
+
129
+ interface VerboseFormattingData {
130
+ date: ExpandedZonedMarker;
131
+ start: ExpandedZonedMarker;
132
+ end?: ExpandedZonedMarker;
133
+ timeZone: string;
134
+ localeCodes: string[];
135
+ defaultSeparator: string;
136
+ }
137
+ declare function createVerboseFormattingArg(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): VerboseFormattingData;
138
+ type CmdFormatterFunc = (cmd: string, data: VerboseFormattingData) => string | Intl.DateTimeFormatPart[];
139
+ interface DateFormattingContext {
140
+ timeZone: string;
141
+ locale: Locale;
142
+ calendarSystem: CalendarSystem;
143
+ computeWeekNumber: (d: DateMarker) => number;
144
+ weekText: string;
145
+ weekTextShort: string;
146
+ cmdFormatter?: CmdFormatterFunc;
147
+ defaultSeparator: string;
148
+ }
149
+ interface DateFormatter {
150
+ format(date: ZonedMarker, context: DateFormattingContext): [string, Intl.DateTimeFormatPart[]];
151
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): string;
152
+ }
153
+
154
+ type WeekNumberCalculation = 'local' | 'ISO' | ((m: Date) => number);
155
+ interface DateEnvSettings {
156
+ timeZone: string;
157
+ namedTimeZoneImpl?: NamedTimeZoneImplClass;
158
+ calendarSystem: string;
159
+ locale: Locale;
160
+ weekNumberCalculation?: WeekNumberCalculation;
161
+ firstDay?: number;
162
+ weekText?: string;
163
+ weekTextShort?: string;
164
+ cmdFormatter?: CmdFormatterFunc;
165
+ defaultSeparator?: string;
166
+ }
167
+ type DateInput = Date | string | number | number[];
168
+ interface DateMarkerMeta {
169
+ marker: DateMarker;
170
+ isTimeUnspecified: boolean;
171
+ forcedTzo: number | null;
172
+ }
173
+ declare class DateEnv {
174
+ timeZone: string;
175
+ namedTimeZoneImpl: NamedTimeZoneImpl;
176
+ canComputeOffset: boolean;
177
+ calendarSystem: CalendarSystem;
178
+ locale: Locale;
179
+ weekDow: number;
180
+ weekDoy: number;
181
+ weekNumberFunc: any;
182
+ weekText: string;
183
+ weekTextShort: string;
184
+ cmdFormatter?: CmdFormatterFunc;
185
+ defaultSeparator: string;
186
+ constructor(settings: DateEnvSettings);
187
+ createMarker(input: DateInput): DateMarker;
188
+ createNowMarker(): DateMarker;
189
+ createMarkerMeta(input: DateInput): DateMarkerMeta;
190
+ parse(s: string): {
191
+ marker: Date;
192
+ isTimeUnspecified: boolean;
193
+ forcedTzo: any;
194
+ };
195
+ getYear(marker: DateMarker): number;
196
+ getMonth(marker: DateMarker): number;
197
+ getDay(marker: DateMarker): number;
198
+ add(marker: DateMarker, dur: Duration): DateMarker;
199
+ subtract(marker: DateMarker, dur: Duration): DateMarker;
200
+ addYears(marker: DateMarker, n: number): Date;
201
+ addMonths(marker: DateMarker, n: number): Date;
202
+ diffWholeYears(m0: DateMarker, m1: DateMarker): number;
203
+ diffWholeMonths(m0: DateMarker, m1: DateMarker): number;
204
+ greatestWholeUnit(m0: DateMarker, m1: DateMarker): {
205
+ unit: string;
206
+ value: number;
207
+ };
208
+ countDurationsBetween(m0: DateMarker, m1: DateMarker, d: Duration): number;
209
+ startOf(m: DateMarker, unit: string): Date;
210
+ startOfYear(m: DateMarker): DateMarker;
211
+ startOfMonth(m: DateMarker): DateMarker;
212
+ startOfWeek(m: DateMarker): DateMarker;
213
+ computeWeekNumber(marker: DateMarker): number;
214
+ format(marker: DateMarker, formatter: DateFormatter, dateOptions?: {
215
+ forcedTzo?: number;
216
+ }): [string, Intl.DateTimeFormatPart[]];
217
+ formatRange(start: DateMarker, end: DateMarker, formatter: DateFormatter, dateOptions?: {
218
+ forcedStartTzo?: number;
219
+ forcedEndTzo?: number;
220
+ isEndExclusive?: boolean;
221
+ defaultSeparator?: string;
222
+ }): string;
223
+ formatIso(marker: DateMarker, extraOptions?: any): string;
224
+ timestampToMarker(ms: number): Date;
225
+ offsetForMarker(m: DateMarker): number;
226
+ toDate(m: DateMarker, forcedTzo?: number): Date;
227
+ }
228
+
229
+ interface DateRangeInput {
230
+ start?: DateInput;
231
+ end?: DateInput;
232
+ }
233
+ interface OpenDateRange {
234
+ start: DateMarker | null;
235
+ end: DateMarker | null;
236
+ }
237
+ interface DateRange {
238
+ start: DateMarker;
239
+ end: DateMarker;
240
+ }
241
+ declare function parseRange(input: DateRangeInput, dateEnv: DateEnv): OpenDateRange;
242
+ declare function invertRanges(ranges: DateRange[], constraintRange: DateRange): DateRange[];
243
+ declare function intersectRanges(range0: OpenDateRange, range1: OpenDateRange): OpenDateRange;
244
+ declare function rangesEqual(range0: OpenDateRange, range1: OpenDateRange): boolean;
245
+ declare function rangesIntersect(range0: OpenDateRange, range1: OpenDateRange): boolean;
246
+ declare function rangeContainsRange(outerRange: OpenDateRange, innerRange: OpenDateRange): boolean;
247
+ declare function rangeContainsMarker(range: OpenDateRange, date: DateMarker | number): boolean;
248
+ declare function constrainMarkerToRange(date: DateMarker, range: DateRange): DateMarker;
249
+
250
+ declare class CmdFormatter implements DateFormatter {
251
+ cmdStr: string;
252
+ constructor(cmdStr: string);
253
+ format(date: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): [string, Intl.DateTimeFormatPart[]];
254
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): string;
255
+ }
256
+
257
+ type FuncFormatterFunc = (data: VerboseFormattingData) => string;
258
+ declare class FuncFormatter implements DateFormatter {
259
+ func: FuncFormatterFunc;
260
+ constructor(func: FuncFormatterFunc);
261
+ format(date: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): [string, Intl.DateTimeFormatPart[]];
262
+ formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): string;
263
+ }
264
+
265
+ declare function buildIsoString(marker: DateMarker, timeZoneOffset?: number, stripZeroTime?: boolean): string;
266
+ declare function formatDayString(marker: DateMarker): string;
267
+ declare function formatIsoMonthStr(marker: DateMarker): string;
268
+ declare function formatIsoTimeString(marker: DateMarker): string;
269
+ declare function formatTimeZoneOffset(minutes: number, doIso?: boolean): string;
270
+ declare function joinDateTimeFormatParts(parts: {
271
+ value: string;
272
+ }[]): string;
273
+
274
+ declare function parse(str: any): {
275
+ marker: Date;
276
+ isTimeUnspecified: boolean;
277
+ timeZoneOffset: any;
278
+ };
279
+
280
+ declare function isInt(n: any): boolean;
281
+ declare function trimEnd(s: string): string;
282
+ declare function padStart(val: any, len: any): string;
283
+
284
+ export { CalendarSystem, CmdFormatter, CmdFormatterFunc, DateEnv, DateEnvSettings, DateFormatter, DateFormattingContext, DateInput, DateMarker, DateMarkerMeta, DateRange, DateRangeInput, Duration, DurationInput, DurationObjectInput, ExpandedZonedMarker, FuncFormatter, FuncFormatterFunc, Locale, LocaleCodeArg, NamedTimeZoneImpl, NamedTimeZoneImplClass, OpenDateRange, VerboseFormattingData, WeekNumberCalculation, ZonedMarker, addDays, addDurations, addMs, addWeeks, arrayToLocalDate, arrayToUtcDate, asCleanDays, asRoughDays, asRoughHours, asRoughMinutes, asRoughMonths, asRoughMs, asRoughSeconds, asRoughYears, buildIsoString, constrainMarkerToRange, createCalendarSystem, createDuration, createVerboseFormattingArg, dateToLocalArray, dateToUtcArray, diffDayAndTime, diffDays, diffHours, diffMinutes, diffSeconds, diffWeeks, diffWholeDays, diffWholeWeeks, durationsEqual, expandZonedMarker, formatDayString, formatIsoMonthStr, formatIsoTimeString, formatTimeZoneOffset, greatestDurationDenominator, intersectRanges, invertRanges, isInt, isValidDate, joinDateTimeFormatParts, multiplyDuration, padStart, parse, parseRange, rangeContainsMarker, rangeContainsRange, rangesEqual, rangesIntersect, registerCalendarSystem, startOfDay, startOfHour, startOfMinute, startOfSecond, subtractDurations, timeAsMs, trimEnd, weekOfYear, wholeDivideDurations };