@foldkit/ui 0.112.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.
- package/LICENSE +21 -0
- package/README.md +67 -0
- package/dist/anchor.d.ts +38 -0
- package/dist/anchor.d.ts.map +1 -0
- package/dist/anchor.js +142 -0
- package/dist/animation/index.d.ts +49 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/index.js +75 -0
- package/dist/animation/public.d.ts +3 -0
- package/dist/animation/public.d.ts.map +1 -0
- package/dist/animation/public.js +1 -0
- package/dist/animation/schema.d.ts +43 -0
- package/dist/animation/schema.d.ts.map +1 -0
- package/dist/animation/schema.js +41 -0
- package/dist/animation/update.d.ts +24 -0
- package/dist/animation/update.d.ts.map +1 -0
- package/dist/animation/update.js +67 -0
- package/dist/button/index.d.ts +17 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/button/index.js +22 -0
- package/dist/button/public.d.ts +3 -0
- package/dist/button/public.d.ts.map +1 -0
- package/dist/button/public.js +1 -0
- package/dist/calendar/index.d.ts +462 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/index.js +825 -0
- package/dist/calendar/public.d.ts +3 -0
- package/dist/calendar/public.d.ts.map +1 -0
- package/dist/calendar/public.js +1 -0
- package/dist/checkbox/index.d.ts +119 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/checkbox/index.js +111 -0
- package/dist/checkbox/public.d.ts +3 -0
- package/dist/checkbox/public.d.ts.map +1 -0
- package/dist/checkbox/public.js +1 -0
- package/dist/combobox/multi.d.ts +183 -0
- package/dist/combobox/multi.d.ts.map +1 -0
- package/dist/combobox/multi.js +81 -0
- package/dist/combobox/multiPublic.d.ts +3 -0
- package/dist/combobox/multiPublic.d.ts.map +1 -0
- package/dist/combobox/multiPublic.js +1 -0
- package/dist/combobox/public.d.ts +7 -0
- package/dist/combobox/public.d.ts.map +1 -0
- package/dist/combobox/public.js +3 -0
- package/dist/combobox/shared.d.ts +423 -0
- package/dist/combobox/shared.d.ts.map +1 -0
- package/dist/combobox/shared.js +708 -0
- package/dist/combobox/single.d.ts +198 -0
- package/dist/combobox/single.d.ts.map +1 -0
- package/dist/combobox/single.js +106 -0
- package/dist/datePicker/index.d.ts +457 -0
- package/dist/datePicker/index.d.ts.map +1 -0
- package/dist/datePicker/index.js +318 -0
- package/dist/datePicker/public.d.ts +3 -0
- package/dist/datePicker/public.d.ts.map +1 -0
- package/dist/datePicker/public.js +1 -0
- package/dist/dialog/index.d.ts +160 -0
- package/dist/dialog/index.d.ts.map +1 -0
- package/dist/dialog/index.js +211 -0
- package/dist/dialog/public.d.ts +3 -0
- package/dist/dialog/public.d.ts.map +1 -0
- package/dist/dialog/public.js +1 -0
- package/dist/disclosure/index.d.ts +110 -0
- package/dist/disclosure/index.d.ts.map +1 -0
- package/dist/disclosure/index.js +111 -0
- package/dist/disclosure/public.d.ts +3 -0
- package/dist/disclosure/public.d.ts.map +1 -0
- package/dist/disclosure/public.js +1 -0
- package/dist/dragAndDrop/index.d.ts +540 -0
- package/dist/dragAndDrop/index.d.ts.map +1 -0
- package/dist/dragAndDrop/index.js +535 -0
- package/dist/dragAndDrop/public.d.ts +3 -0
- package/dist/dragAndDrop/public.d.ts.map +1 -0
- package/dist/dragAndDrop/public.js +1 -0
- package/dist/fieldset/index.d.ts +21 -0
- package/dist/fieldset/index.d.ts.map +1 -0
- package/dist/fieldset/index.js +25 -0
- package/dist/fieldset/public.d.ts +3 -0
- package/dist/fieldset/public.d.ts.map +1 -0
- package/dist/fieldset/public.js +1 -0
- package/dist/fileDrop/index.d.ts +109 -0
- package/dist/fileDrop/index.d.ts.map +1 -0
- package/dist/fileDrop/index.js +127 -0
- package/dist/fileDrop/public.d.ts +3 -0
- package/dist/fileDrop/public.d.ts.map +1 -0
- package/dist/fileDrop/public.js +1 -0
- package/dist/group.d.ts +8 -0
- package/dist/group.d.ts.map +1 -0
- package/dist/group.js +13 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/input/index.d.ts +26 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +43 -0
- package/dist/input/public.d.ts +3 -0
- package/dist/input/public.d.ts.map +1 -0
- package/dist/input/public.js +1 -0
- package/dist/internal/optionExtensions.d.ts +6 -0
- package/dist/internal/optionExtensions.d.ts.map +1 -0
- package/dist/internal/optionExtensions.js +2 -0
- package/dist/keyboard.d.ts +6 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +9 -0
- package/dist/listbox/multi.d.ts +189 -0
- package/dist/listbox/multi.d.ts.map +1 -0
- package/dist/listbox/multi.js +65 -0
- package/dist/listbox/multiPublic.d.ts +3 -0
- package/dist/listbox/multiPublic.d.ts.map +1 -0
- package/dist/listbox/multiPublic.js +1 -0
- package/dist/listbox/public.d.ts +7 -0
- package/dist/listbox/public.d.ts.map +1 -0
- package/dist/listbox/public.js +3 -0
- package/dist/listbox/shared.d.ts +432 -0
- package/dist/listbox/shared.d.ts.map +1 -0
- package/dist/listbox/shared.js +670 -0
- package/dist/listbox/single.d.ts +207 -0
- package/dist/listbox/single.d.ts.map +1 -0
- package/dist/listbox/single.js +73 -0
- package/dist/menu/index.d.ts +368 -0
- package/dist/menu/index.d.ts.map +1 -0
- package/dist/menu/index.js +682 -0
- package/dist/menu/public.d.ts +4 -0
- package/dist/menu/public.d.ts.map +1 -0
- package/dist/menu/public.js +1 -0
- package/dist/popover/index.d.ts +267 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/index.js +346 -0
- package/dist/popover/public.d.ts +4 -0
- package/dist/popover/public.d.ts.map +1 -0
- package/dist/popover/public.js +1 -0
- package/dist/radioGroup/index.d.ts +169 -0
- package/dist/radioGroup/index.d.ts.map +1 -0
- package/dist/radioGroup/index.js +197 -0
- package/dist/radioGroup/public.d.ts +3 -0
- package/dist/radioGroup/public.d.ts.map +1 -0
- package/dist/radioGroup/public.js +1 -0
- package/dist/select/index.d.ts +24 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/index.js +40 -0
- package/dist/select/public.d.ts +3 -0
- package/dist/select/public.d.ts.map +1 -0
- package/dist/select/public.js +1 -0
- package/dist/slider/index.d.ts +318 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/slider/index.js +337 -0
- package/dist/slider/public.d.ts +3 -0
- package/dist/slider/public.d.ts.map +1 -0
- package/dist/slider/public.js +1 -0
- package/dist/switch/index.d.ts +99 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/index.js +107 -0
- package/dist/switch/public.d.ts +3 -0
- package/dist/switch/public.d.ts.map +1 -0
- package/dist/switch/public.js +1 -0
- package/dist/tabs/index.d.ts +155 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +185 -0
- package/dist/tabs/public.d.ts +3 -0
- package/dist/tabs/public.d.ts.map +1 -0
- package/dist/tabs/public.js +1 -0
- package/dist/test/apps/disabledButton.d.ts +38 -0
- package/dist/test/apps/disabledButton.d.ts.map +1 -0
- package/dist/test/apps/disabledButton.js +71 -0
- package/dist/textarea/index.d.ts +26 -0
- package/dist/textarea/index.d.ts.map +1 -0
- package/dist/textarea/index.js +44 -0
- package/dist/textarea/public.d.ts +3 -0
- package/dist/textarea/public.d.ts.map +1 -0
- package/dist/textarea/public.js +1 -0
- package/dist/toast/index.d.ts +608 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/index.js +146 -0
- package/dist/toast/public.d.ts +4 -0
- package/dist/toast/public.d.ts.map +1 -0
- package/dist/toast/public.js +1 -0
- package/dist/toast/schema.d.ts +154 -0
- package/dist/toast/schema.d.ts.map +1 -0
- package/dist/toast/schema.js +93 -0
- package/dist/toast/update.d.ts +510 -0
- package/dist/toast/update.d.ts.map +1 -0
- package/dist/toast/update.js +225 -0
- package/dist/tooltip/index.d.ts +170 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/index.js +253 -0
- package/dist/tooltip/public.d.ts +4 -0
- package/dist/tooltip/public.d.ts.map +1 -0
- package/dist/tooltip/public.js +1 -0
- package/dist/typeahead.d.ts +4 -0
- package/dist/typeahead.d.ts.map +1 -0
- package/dist/typeahead.js +14 -0
- package/dist/virtualList/index.d.ts +203 -0
- package/dist/virtualList/index.d.ts.map +1 -0
- package/dist/virtualList/index.js +392 -0
- package/dist/virtualList/public.d.ts +3 -0
- package/dist/virtualList/public.d.ts.map +1 -0
- package/dist/virtualList/public.js +1 -0
- package/dist/vitest-setup.d.ts +2 -0
- package/dist/vitest-setup.d.ts.map +1 -0
- package/dist/vitest-setup.js +2 -0
- package/package.json +161 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Predicate } from 'effect';
|
|
2
|
+
import { html } from 'foldkit/html';
|
|
3
|
+
/** Renders an accessible button by building attribute groups and delegating layout to the consumer's `toView` callback. */
|
|
4
|
+
export const view = (config) => {
|
|
5
|
+
const h = html();
|
|
6
|
+
const { toView, onClick, isDisabled = false, type = 'button', isAutofocus = false, } = config;
|
|
7
|
+
const disabledAttributes = isDisabled
|
|
8
|
+
? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
|
|
9
|
+
: [];
|
|
10
|
+
const clickAttributes = Predicate.isNotUndefined(onClick) && !isDisabled ? [h.OnClick(onClick)] : [];
|
|
11
|
+
const autofocusAttributes = isAutofocus ? [h.Autofocus(true)] : [];
|
|
12
|
+
const buttonAttributes = [
|
|
13
|
+
h.Type(type),
|
|
14
|
+
h.Tabindex(0),
|
|
15
|
+
...disabledAttributes,
|
|
16
|
+
...clickAttributes,
|
|
17
|
+
...autofocusAttributes,
|
|
18
|
+
];
|
|
19
|
+
return toView({
|
|
20
|
+
button: buttonAttributes,
|
|
21
|
+
});
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/button/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { view } from './index.js';
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
import { Effect, Option, Schema as S } from 'effect';
|
|
2
|
+
import * as Calendar from 'foldkit/calendar';
|
|
3
|
+
import type { CalendarDate } from 'foldkit/calendar';
|
|
4
|
+
import * as Command from 'foldkit/command';
|
|
5
|
+
import { type ChildAttribute, type Html } from 'foldkit/html';
|
|
6
|
+
import { type Reflect } from 'foldkit/submodel';
|
|
7
|
+
/** Which grid the calendar is currently displaying. `Days` is the standard
|
|
8
|
+
* 6×7 day grid; `Months` is a 3×4 month-name grid for fast month jumps;
|
|
9
|
+
* `Years` is a 3×4 year grid paged in 12-year windows for fast year jumps. */
|
|
10
|
+
export declare const ViewMode: S.Literals<readonly ["Days", "Months", "Years"]>;
|
|
11
|
+
export type ViewMode = typeof ViewMode.Type;
|
|
12
|
+
/** Schema for the calendar component's state. Tracks the visible month/year,
|
|
13
|
+
* the keyboard-focused and user-selected dates, the active view mode, and
|
|
14
|
+
* the configuration that governs navigation (locale, min/max, disabled
|
|
15
|
+
* days). */
|
|
16
|
+
export declare const Model: S.Struct<{
|
|
17
|
+
readonly id: S.String;
|
|
18
|
+
readonly today: S.Struct<{
|
|
19
|
+
readonly year: S.Int;
|
|
20
|
+
readonly month: S.Int;
|
|
21
|
+
readonly day: S.Int;
|
|
22
|
+
}>;
|
|
23
|
+
readonly viewYear: S.Int;
|
|
24
|
+
readonly viewMonth: S.Int;
|
|
25
|
+
readonly viewMode: S.Literals<readonly ["Days", "Months", "Years"]>;
|
|
26
|
+
readonly maybeFocusedDate: S.Option<S.Struct<{
|
|
27
|
+
readonly year: S.Int;
|
|
28
|
+
readonly month: S.Int;
|
|
29
|
+
readonly day: S.Int;
|
|
30
|
+
}>>;
|
|
31
|
+
readonly maybeSelectedDate: S.Option<S.Struct<{
|
|
32
|
+
readonly year: S.Int;
|
|
33
|
+
readonly month: S.Int;
|
|
34
|
+
readonly day: S.Int;
|
|
35
|
+
}>>;
|
|
36
|
+
readonly isGridFocused: S.Boolean;
|
|
37
|
+
readonly locale: S.Struct<{
|
|
38
|
+
readonly firstDayOfWeek: S.Literals<readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]>;
|
|
39
|
+
readonly monthNames: S.Tuple<readonly [S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String]>;
|
|
40
|
+
readonly shortMonthNames: S.Tuple<readonly [S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String]>;
|
|
41
|
+
readonly dayNames: S.Tuple<readonly [S.String, S.String, S.String, S.String, S.String, S.String, S.String]>;
|
|
42
|
+
readonly shortDayNames: S.Tuple<readonly [S.String, S.String, S.String, S.String, S.String, S.String, S.String]>;
|
|
43
|
+
}>;
|
|
44
|
+
readonly maybeMinDate: S.Option<S.Struct<{
|
|
45
|
+
readonly year: S.Int;
|
|
46
|
+
readonly month: S.Int;
|
|
47
|
+
readonly day: S.Int;
|
|
48
|
+
}>>;
|
|
49
|
+
readonly maybeMaxDate: S.Option<S.Struct<{
|
|
50
|
+
readonly year: S.Int;
|
|
51
|
+
readonly month: S.Int;
|
|
52
|
+
readonly day: S.Int;
|
|
53
|
+
}>>;
|
|
54
|
+
readonly disabledDaysOfWeek: S.$Array<S.Literals<readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]>>;
|
|
55
|
+
readonly disabledDates: S.$Array<S.Struct<{
|
|
56
|
+
readonly year: S.Int;
|
|
57
|
+
readonly month: S.Int;
|
|
58
|
+
readonly day: S.Int;
|
|
59
|
+
}>>;
|
|
60
|
+
}>;
|
|
61
|
+
export type Model = typeof Model.Type;
|
|
62
|
+
/** Sent when the user clicks a day cell in the grid. */
|
|
63
|
+
export declare const ClickedDay: import("foldkit/schema").CallableTaggedStruct<"ClickedDay", {
|
|
64
|
+
date: S.Struct<{
|
|
65
|
+
readonly year: S.Int;
|
|
66
|
+
readonly month: S.Int;
|
|
67
|
+
readonly day: S.Int;
|
|
68
|
+
}>;
|
|
69
|
+
}>;
|
|
70
|
+
/** Sent when the user presses a key on the grid container. The update maps
|
|
71
|
+
* the key to a navigation or selection action. */
|
|
72
|
+
export declare const PressedKeyOnGrid: import("foldkit/schema").CallableTaggedStruct<"PressedKeyOnGrid", {
|
|
73
|
+
key: S.String;
|
|
74
|
+
isShift: S.Boolean;
|
|
75
|
+
}>;
|
|
76
|
+
/** Sent when the user clicks the previous-month navigation button in Days
|
|
77
|
+
* mode. (The Years mode prev/next-page buttons dispatch `PagedYears`.) */
|
|
78
|
+
export declare const ClickedPreviousMonthButton: import("foldkit/schema").CallableTaggedStruct<"ClickedPreviousMonthButton", {}>;
|
|
79
|
+
/** Sent when the user clicks the next-month navigation button in Days
|
|
80
|
+
* mode. (The Years mode prev/next-page buttons dispatch `PagedYears`.) */
|
|
81
|
+
export declare const ClickedNextMonthButton: import("foldkit/schema").CallableTaggedStruct<"ClickedNextMonthButton", {}>;
|
|
82
|
+
/** Sent when the user clicks the calendar heading. Zooms out one mode
|
|
83
|
+
* level: Days → Months, Months → Years. Terminal in Years mode. */
|
|
84
|
+
export declare const ClickedHeading: import("foldkit/schema").CallableTaggedStruct<"ClickedHeading", {}>;
|
|
85
|
+
/** Sent when the user picks a month from the months grid. Jumps the view
|
|
86
|
+
* to that month and returns the calendar to Days mode. */
|
|
87
|
+
export declare const SelectedMonth: import("foldkit/schema").CallableTaggedStruct<"SelectedMonth", {
|
|
88
|
+
month: S.Int;
|
|
89
|
+
}>;
|
|
90
|
+
/** Sent when the user picks a year from the years grid. Jumps the view to
|
|
91
|
+
* that year and transitions the calendar to Months mode for further drilling. */
|
|
92
|
+
export declare const SelectedYear: import("foldkit/schema").CallableTaggedStruct<"SelectedYear", {
|
|
93
|
+
year: S.Int;
|
|
94
|
+
}>;
|
|
95
|
+
/** Sent when the user pages the years grid forward or backward by one
|
|
96
|
+
* window. Direction is `1` for next, `-1` for previous. */
|
|
97
|
+
export declare const PagedYears: import("foldkit/schema").CallableTaggedStruct<"PagedYears", {
|
|
98
|
+
direction: S.Literals<readonly [1, -1]>;
|
|
99
|
+
}>;
|
|
100
|
+
/** Sent when the grid container receives DOM focus. */
|
|
101
|
+
export declare const FocusedGrid: import("foldkit/schema").CallableTaggedStruct<"FocusedGrid", {}>;
|
|
102
|
+
/** Sent when the grid container loses DOM focus. */
|
|
103
|
+
export declare const BlurredGrid: import("foldkit/schema").CallableTaggedStruct<"BlurredGrid", {}>;
|
|
104
|
+
/** Sent when a long-lived session's "today" reference should be refreshed. */
|
|
105
|
+
export declare const RefreshedToday: import("foldkit/schema").CallableTaggedStruct<"RefreshedToday", {
|
|
106
|
+
today: S.Struct<{
|
|
107
|
+
readonly year: S.Int;
|
|
108
|
+
readonly month: S.Int;
|
|
109
|
+
readonly day: S.Int;
|
|
110
|
+
}>;
|
|
111
|
+
}>;
|
|
112
|
+
/** Sent when a FocusGrid command completes. */
|
|
113
|
+
export declare const CompletedFocusGrid: import("foldkit/schema").CallableTaggedStruct<"CompletedFocusGrid", {}>;
|
|
114
|
+
/** Union of all messages the calendar component can produce. */
|
|
115
|
+
export declare const Message: S.Union<readonly [import("foldkit/schema").CallableTaggedStruct<"ClickedDay", {
|
|
116
|
+
date: S.Struct<{
|
|
117
|
+
readonly year: S.Int;
|
|
118
|
+
readonly month: S.Int;
|
|
119
|
+
readonly day: S.Int;
|
|
120
|
+
}>;
|
|
121
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"PressedKeyOnGrid", {
|
|
122
|
+
key: S.String;
|
|
123
|
+
isShift: S.Boolean;
|
|
124
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"ClickedPreviousMonthButton", {}>, import("foldkit/schema").CallableTaggedStruct<"ClickedNextMonthButton", {}>, import("foldkit/schema").CallableTaggedStruct<"ClickedHeading", {}>, import("foldkit/schema").CallableTaggedStruct<"SelectedMonth", {
|
|
125
|
+
month: S.Int;
|
|
126
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"SelectedYear", {
|
|
127
|
+
year: S.Int;
|
|
128
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"PagedYears", {
|
|
129
|
+
direction: S.Literals<readonly [1, -1]>;
|
|
130
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"FocusedGrid", {}>, import("foldkit/schema").CallableTaggedStruct<"BlurredGrid", {}>, import("foldkit/schema").CallableTaggedStruct<"RefreshedToday", {
|
|
131
|
+
today: S.Struct<{
|
|
132
|
+
readonly year: S.Int;
|
|
133
|
+
readonly month: S.Int;
|
|
134
|
+
readonly day: S.Int;
|
|
135
|
+
}>;
|
|
136
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"CompletedFocusGrid", {}>]>;
|
|
137
|
+
export type Message = typeof Message.Type;
|
|
138
|
+
export type ClickedDay = typeof ClickedDay.Type;
|
|
139
|
+
export type PressedKeyOnGrid = typeof PressedKeyOnGrid.Type;
|
|
140
|
+
export type SelectedMonth = typeof SelectedMonth.Type;
|
|
141
|
+
export type SelectedYear = typeof SelectedYear.Type;
|
|
142
|
+
/** Emitted when the visible month changes due to navigation. Consumers of an
|
|
143
|
+
* inline calendar may use this to load month-scoped data (holidays, events).
|
|
144
|
+
* A click that commits a date in a different month emits `SelectedDate`, not
|
|
145
|
+
* `ChangedViewMonth`. The parent infers the month change from the date. */
|
|
146
|
+
export declare const ChangedViewMonth: import("foldkit/schema").CallableTaggedStruct<"ChangedViewMonth", {
|
|
147
|
+
year: S.Int;
|
|
148
|
+
month: S.Int;
|
|
149
|
+
}>;
|
|
150
|
+
/** Emitted when the user commits a date selection via click or keyboard. The
|
|
151
|
+
* calendar's internal state already reflects the new selection by the time
|
|
152
|
+
* this fires; consumers react by lifting the date into their domain state
|
|
153
|
+
* (closing a popover, advancing a form step, etc.). */
|
|
154
|
+
export declare const SelectedDate: import("foldkit/schema").CallableTaggedStruct<"SelectedDate", {
|
|
155
|
+
date: S.Struct<{
|
|
156
|
+
readonly year: S.Int;
|
|
157
|
+
readonly month: S.Int;
|
|
158
|
+
readonly day: S.Int;
|
|
159
|
+
}>;
|
|
160
|
+
}>;
|
|
161
|
+
/** Union of the calendar's OutMessages. */
|
|
162
|
+
export declare const OutMessage: S.Union<readonly [import("foldkit/schema").CallableTaggedStruct<"ChangedViewMonth", {
|
|
163
|
+
year: S.Int;
|
|
164
|
+
month: S.Int;
|
|
165
|
+
}>, import("foldkit/schema").CallableTaggedStruct<"SelectedDate", {
|
|
166
|
+
date: S.Struct<{
|
|
167
|
+
readonly year: S.Int;
|
|
168
|
+
readonly month: S.Int;
|
|
169
|
+
readonly day: S.Int;
|
|
170
|
+
}>;
|
|
171
|
+
}>]>;
|
|
172
|
+
export type OutMessage = typeof OutMessage.Type;
|
|
173
|
+
export type ChangedViewMonth = typeof ChangedViewMonth.Type;
|
|
174
|
+
export type SelectedDate = typeof SelectedDate.Type;
|
|
175
|
+
/** Configuration for creating a calendar model with `init`. */
|
|
176
|
+
export type InitConfig = Readonly<{
|
|
177
|
+
id: string;
|
|
178
|
+
today: CalendarDate;
|
|
179
|
+
initialSelectedDate?: CalendarDate;
|
|
180
|
+
locale?: Calendar.LocaleConfig;
|
|
181
|
+
minDate?: CalendarDate;
|
|
182
|
+
maxDate?: CalendarDate;
|
|
183
|
+
disabledDaysOfWeek?: ReadonlyArray<Calendar.DayOfWeek>;
|
|
184
|
+
disabledDates?: ReadonlyArray<CalendarDate>;
|
|
185
|
+
}>;
|
|
186
|
+
/** Creates an initial calendar model. The view month defaults to the month
|
|
187
|
+
* of the initial selected date, or today if no date is pre-selected. */
|
|
188
|
+
export declare const init: (config: InitConfig) => Model;
|
|
189
|
+
type UpdateReturn = readonly [
|
|
190
|
+
Model,
|
|
191
|
+
ReadonlyArray<Command.Command<Message>>,
|
|
192
|
+
Option.Option<OutMessage>
|
|
193
|
+
];
|
|
194
|
+
/** Focuses the calendar grid container. Parent components like DatePicker
|
|
195
|
+
* dispatch this after opening to hand focus to the grid's keyboard layer. */
|
|
196
|
+
export declare const FocusGrid: Command.CommandDefinitionWithArgs<"FocusGrid", {
|
|
197
|
+
id: S.String;
|
|
198
|
+
}, Effect.Effect<{
|
|
199
|
+
readonly _tag: "CompletedFocusGrid";
|
|
200
|
+
}, never, never>>;
|
|
201
|
+
/** Programmatically selects a date on the calendar, committing it as the
|
|
202
|
+
* chosen value and moving the cursor onto it. Use this in controlled-mode
|
|
203
|
+
* handlers (when the view's `onSelectedDate` callback is provided) to write
|
|
204
|
+
* the selection back to the calendar's internal state.
|
|
205
|
+
*
|
|
206
|
+
* Equivalent to dispatching `ClickedDay({ date })` through `update`. */
|
|
207
|
+
export declare const selectDate: (model: Model, date: CalendarDate) => UpdateReturn;
|
|
208
|
+
/** Reflects an externally-sourced selected date onto the model without
|
|
209
|
+
* emitting an OutMessage. When a date is given, sets the selection and
|
|
210
|
+
* moves the view to the date's month so it stays visible, mirroring
|
|
211
|
+
* `selectDate`'s state change minus the `SelectedDate` announcement. Pass
|
|
212
|
+
* `Option.none()` to clear the selection (the view is left where it is).
|
|
213
|
+
* Use this to mirror external truth (a URL parameter, a saved draft) onto
|
|
214
|
+
* the calendar. Contrast with `selectDate`, a user or programmatic
|
|
215
|
+
* *choice* that emits `SelectedDate`. Returns the model directly because
|
|
216
|
+
* it produces no commands and no OutMessage. */
|
|
217
|
+
export declare const reflectSelectedDate: Reflect<Model, Option.Option<CalendarDate>>;
|
|
218
|
+
/** Reflects the minimum selectable date onto the model. Pass `Option.none()`
|
|
219
|
+
* to remove the minimum. Use this when the minimum derives from other Model
|
|
220
|
+
* state (e.g. a start date field whose current selection constrains an end
|
|
221
|
+
* date picker).
|
|
222
|
+
*
|
|
223
|
+
* Does NOT reconcile the current selection. If a previously-selected date
|
|
224
|
+
* is now below the new minimum, it remains selected. Callers should clear or
|
|
225
|
+
* reassign the selection explicitly if their domain requires it. */
|
|
226
|
+
export declare const reflectMinDate: Reflect<Model, Option.Option<CalendarDate>>;
|
|
227
|
+
/** Reflects the maximum selectable date onto the model. Pass `Option.none()`
|
|
228
|
+
* to remove the maximum. Does NOT reconcile the current selection. */
|
|
229
|
+
export declare const reflectMaxDate: Reflect<Model, Option.Option<CalendarDate>>;
|
|
230
|
+
/** Reflects the list of individually-disabled dates onto the model. Pass an
|
|
231
|
+
* empty array to clear. Does NOT reconcile the current selection. */
|
|
232
|
+
export declare const reflectDisabledDates: Reflect<Model, ReadonlyArray<CalendarDate>>;
|
|
233
|
+
/** Reflects the days of the week that are disabled (e.g. weekends) onto the
|
|
234
|
+
* model. Pass an empty array to clear. Does NOT reconcile the current
|
|
235
|
+
* selection. */
|
|
236
|
+
export declare const reflectDisabledDaysOfWeek: Reflect<Model, ReadonlyArray<Calendar.DayOfWeek>>;
|
|
237
|
+
/** Returns the calendar to Days mode regardless of current depth. Useful for
|
|
238
|
+
* standalone (non-popovered) consumers that want to wire their own back-out
|
|
239
|
+
* gesture. Popovered consumers like `DatePicker` don't need this. Escape
|
|
240
|
+
* closes the popover, and the calendar resets to Days on next open.
|
|
241
|
+
*
|
|
242
|
+
* Reconciles `maybeFocusedDate` to a date inside the visible (`viewYear`,
|
|
243
|
+
* `viewMonth`). Months/Years navigation can leave the cursor on a date
|
|
244
|
+
* outside the days grid (paged-away year, etc.), which would otherwise
|
|
245
|
+
* cause `aria-activedescendant` to point at a non-rendered cell and the
|
|
246
|
+
* next ArrowLeft to jump to the cursor's stale year. */
|
|
247
|
+
export declare const dropToDays: (model: Model) => Model;
|
|
248
|
+
/** Processes a calendar message and returns the next model, commands, and
|
|
249
|
+
* optional OutMessage. */
|
|
250
|
+
export declare const update: (model: Model, message: Message) => UpdateReturn;
|
|
251
|
+
/** Information about a single day cell in the rendered calendar grid. */
|
|
252
|
+
export type DayCell = Readonly<{
|
|
253
|
+
date: CalendarDate;
|
|
254
|
+
label: string;
|
|
255
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
256
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
257
|
+
isSelected: boolean;
|
|
258
|
+
isFocused: boolean;
|
|
259
|
+
isToday: boolean;
|
|
260
|
+
isInViewMonth: boolean;
|
|
261
|
+
isDisabled: boolean;
|
|
262
|
+
}>;
|
|
263
|
+
/** A column header for the day grid's first row (day-of-week labels). */
|
|
264
|
+
export type ColumnHeader = Readonly<{
|
|
265
|
+
name: string;
|
|
266
|
+
attributes: ReadonlyArray<ChildAttribute>;
|
|
267
|
+
}>;
|
|
268
|
+
/** A single week row in the day grid, carrying its own row attributes (role,
|
|
269
|
+
* aria-rowindex) alongside its 7 day cells. */
|
|
270
|
+
export type Week = Readonly<{
|
|
271
|
+
attributes: ReadonlyArray<ChildAttribute>;
|
|
272
|
+
cells: ReadonlyArray<DayCell>;
|
|
273
|
+
}>;
|
|
274
|
+
/** Information about a single month cell in the rendered months grid.
|
|
275
|
+
* `label` is the locale-aware full month name (e.g. "September"); `shortLabel`
|
|
276
|
+
* is the locale-aware abbreviation (e.g. "Sep"). Render whichever fits the
|
|
277
|
+
* cell. Never substring `label` to abbreviate, since that's not safe across
|
|
278
|
+
* locales. */
|
|
279
|
+
export type MonthCell = Readonly<{
|
|
280
|
+
month: number;
|
|
281
|
+
label: string;
|
|
282
|
+
shortLabel: string;
|
|
283
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
284
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
285
|
+
isSelected: boolean;
|
|
286
|
+
isFocused: boolean;
|
|
287
|
+
isCurrentMonth: boolean;
|
|
288
|
+
isDisabled: boolean;
|
|
289
|
+
}>;
|
|
290
|
+
/** Information about a single year cell in the rendered years grid. */
|
|
291
|
+
export type YearCell = Readonly<{
|
|
292
|
+
year: number;
|
|
293
|
+
label: string;
|
|
294
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
295
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
296
|
+
isSelected: boolean;
|
|
297
|
+
isFocused: boolean;
|
|
298
|
+
isCurrentYear: boolean;
|
|
299
|
+
isDisabled: boolean;
|
|
300
|
+
}>;
|
|
301
|
+
/** Attributes provided to the consumer when rendering the day grid. */
|
|
302
|
+
export type DaysModeAttributes = Readonly<{
|
|
303
|
+
_tag: 'Days';
|
|
304
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
305
|
+
previousMonthButton: ReadonlyArray<ChildAttribute>;
|
|
306
|
+
nextMonthButton: ReadonlyArray<ChildAttribute>;
|
|
307
|
+
headingButton: ReadonlyArray<ChildAttribute>;
|
|
308
|
+
heading: Readonly<{
|
|
309
|
+
id: string;
|
|
310
|
+
text: string;
|
|
311
|
+
}>;
|
|
312
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
313
|
+
headerRow: ReadonlyArray<ChildAttribute>;
|
|
314
|
+
columnHeaders: ReadonlyArray<ColumnHeader>;
|
|
315
|
+
weeks: ReadonlyArray<Week>;
|
|
316
|
+
}>;
|
|
317
|
+
/** Attributes provided to the consumer when rendering the months grid. The
|
|
318
|
+
* 12 cells are pre-built in calendar (locale-ordered). The consumer arranges
|
|
319
|
+
* them in whatever grid layout they prefer (3×4 is the typical choice). */
|
|
320
|
+
export type MonthsModeAttributes = Readonly<{
|
|
321
|
+
_tag: 'Months';
|
|
322
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
323
|
+
headingButton: ReadonlyArray<ChildAttribute>;
|
|
324
|
+
heading: Readonly<{
|
|
325
|
+
id: string;
|
|
326
|
+
text: string;
|
|
327
|
+
}>;
|
|
328
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
329
|
+
cells: ReadonlyArray<MonthCell>;
|
|
330
|
+
}>;
|
|
331
|
+
/** Attributes provided to the consumer when rendering the years grid. The
|
|
332
|
+
* 12 cells span one paged window; prev/next buttons page by 12 years. */
|
|
333
|
+
export type YearsModeAttributes = Readonly<{
|
|
334
|
+
_tag: 'Years';
|
|
335
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
336
|
+
previousPageButton: ReadonlyArray<ChildAttribute>;
|
|
337
|
+
nextPageButton: ReadonlyArray<ChildAttribute>;
|
|
338
|
+
heading: Readonly<{
|
|
339
|
+
id: string;
|
|
340
|
+
text: string;
|
|
341
|
+
}>;
|
|
342
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
343
|
+
cells: ReadonlyArray<YearCell>;
|
|
344
|
+
}>;
|
|
345
|
+
/** Discriminated union of attribute groups and derived data the calendar
|
|
346
|
+
* component provides to the consumer's `toView` callback. The variant
|
|
347
|
+
* matches `model.viewMode`. Pattern-match on `_tag` with `M.tagsExhaustive`
|
|
348
|
+
* to render each mode. */
|
|
349
|
+
export type CalendarAttributes = DaysModeAttributes | MonthsModeAttributes | YearsModeAttributes;
|
|
350
|
+
/** Per-render view inputs passed to `view` via `h.submodel`'s `viewInputs` field.
|
|
351
|
+
*
|
|
352
|
+
* The Calendar dispatches its own `ClickedDay` message on date commit
|
|
353
|
+
* and emits a `SelectedDate` OutMessage. Consumers handle date
|
|
354
|
+
* selection by pattern-matching the OutMessage in their
|
|
355
|
+
* `GotCalendarMessage` handler. */
|
|
356
|
+
export type ViewInputs = Readonly<{
|
|
357
|
+
toView: (attributes: CalendarAttributes) => Html;
|
|
358
|
+
previousMonthLabel?: string;
|
|
359
|
+
nextMonthLabel?: string;
|
|
360
|
+
previousYearsPageLabel?: string;
|
|
361
|
+
nextYearsPageLabel?: string;
|
|
362
|
+
daysHeadingButtonLabel?: string;
|
|
363
|
+
monthsHeadingButtonLabel?: string;
|
|
364
|
+
}>;
|
|
365
|
+
/** Renders an accessible calendar. Publishes mode-specific ARIA attribute
|
|
366
|
+
* bundles + derived cell data, then delegates layout to the consumer's
|
|
367
|
+
* `toView` callback. The variant of `CalendarAttributes` passed to
|
|
368
|
+
* `toView` matches `model.viewMode`. */
|
|
369
|
+
export declare const view: import("foldkit/submodel").View<{
|
|
370
|
+
readonly id: string;
|
|
371
|
+
readonly today: {
|
|
372
|
+
readonly year: number;
|
|
373
|
+
readonly month: number;
|
|
374
|
+
readonly day: number;
|
|
375
|
+
};
|
|
376
|
+
readonly viewYear: number;
|
|
377
|
+
readonly viewMonth: number;
|
|
378
|
+
readonly viewMode: "Days" | "Months" | "Years";
|
|
379
|
+
readonly maybeFocusedDate: Option.Option<{
|
|
380
|
+
readonly year: number;
|
|
381
|
+
readonly month: number;
|
|
382
|
+
readonly day: number;
|
|
383
|
+
}>;
|
|
384
|
+
readonly maybeSelectedDate: Option.Option<{
|
|
385
|
+
readonly year: number;
|
|
386
|
+
readonly month: number;
|
|
387
|
+
readonly day: number;
|
|
388
|
+
}>;
|
|
389
|
+
readonly isGridFocused: boolean;
|
|
390
|
+
readonly locale: {
|
|
391
|
+
readonly firstDayOfWeek: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday";
|
|
392
|
+
readonly monthNames: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
|
|
393
|
+
readonly shortMonthNames: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
|
|
394
|
+
readonly dayNames: readonly [string, string, string, string, string, string, string];
|
|
395
|
+
readonly shortDayNames: readonly [string, string, string, string, string, string, string];
|
|
396
|
+
};
|
|
397
|
+
readonly maybeMinDate: Option.Option<{
|
|
398
|
+
readonly year: number;
|
|
399
|
+
readonly month: number;
|
|
400
|
+
readonly day: number;
|
|
401
|
+
}>;
|
|
402
|
+
readonly maybeMaxDate: Option.Option<{
|
|
403
|
+
readonly year: number;
|
|
404
|
+
readonly month: number;
|
|
405
|
+
readonly day: number;
|
|
406
|
+
}>;
|
|
407
|
+
readonly disabledDaysOfWeek: readonly ("Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday")[];
|
|
408
|
+
readonly disabledDates: readonly {
|
|
409
|
+
readonly year: number;
|
|
410
|
+
readonly month: number;
|
|
411
|
+
readonly day: number;
|
|
412
|
+
}[];
|
|
413
|
+
}, {
|
|
414
|
+
readonly _tag: "ClickedDay";
|
|
415
|
+
readonly date: {
|
|
416
|
+
readonly year: number;
|
|
417
|
+
readonly month: number;
|
|
418
|
+
readonly day: number;
|
|
419
|
+
};
|
|
420
|
+
} | {
|
|
421
|
+
readonly _tag: "PressedKeyOnGrid";
|
|
422
|
+
readonly key: string;
|
|
423
|
+
readonly isShift: boolean;
|
|
424
|
+
} | {
|
|
425
|
+
readonly _tag: "ClickedPreviousMonthButton";
|
|
426
|
+
} | {
|
|
427
|
+
readonly _tag: "ClickedNextMonthButton";
|
|
428
|
+
} | {
|
|
429
|
+
readonly _tag: "ClickedHeading";
|
|
430
|
+
} | {
|
|
431
|
+
readonly _tag: "SelectedMonth";
|
|
432
|
+
readonly month: number;
|
|
433
|
+
} | {
|
|
434
|
+
readonly _tag: "SelectedYear";
|
|
435
|
+
readonly year: number;
|
|
436
|
+
} | {
|
|
437
|
+
readonly _tag: "PagedYears";
|
|
438
|
+
readonly direction: 1 | -1;
|
|
439
|
+
} | {
|
|
440
|
+
readonly _tag: "FocusedGrid";
|
|
441
|
+
} | {
|
|
442
|
+
readonly _tag: "BlurredGrid";
|
|
443
|
+
} | {
|
|
444
|
+
readonly _tag: "RefreshedToday";
|
|
445
|
+
readonly today: {
|
|
446
|
+
readonly year: number;
|
|
447
|
+
readonly month: number;
|
|
448
|
+
readonly day: number;
|
|
449
|
+
};
|
|
450
|
+
} | {
|
|
451
|
+
readonly _tag: "CompletedFocusGrid";
|
|
452
|
+
}, Readonly<{
|
|
453
|
+
toView: (attributes: CalendarAttributes) => Html;
|
|
454
|
+
previousMonthLabel?: string;
|
|
455
|
+
nextMonthLabel?: string;
|
|
456
|
+
previousYearsPageLabel?: string;
|
|
457
|
+
nextYearsPageLabel?: string;
|
|
458
|
+
daysHeadingButtonLabel?: string;
|
|
459
|
+
monthsHeadingButtonLabel?: string;
|
|
460
|
+
}>>;
|
|
461
|
+
export {};
|
|
462
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"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"}
|