foldkit 0.101.0 → 0.102.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/README.md +2 -1
- package/dist/canvas/view.d.ts +1 -1
- package/dist/canvas/view.d.ts.map +1 -1
- package/dist/canvas/view.js +5 -5
- package/dist/command/index.d.ts +71 -0
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +34 -1
- package/dist/command/public.d.ts +1 -1
- package/dist/command/public.d.ts.map +1 -1
- package/dist/command/public.js +1 -1
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +137 -110
- package/dist/dom/dom.d.ts +8 -11
- package/dist/dom/dom.d.ts.map +1 -1
- package/dist/dom/dom.js +8 -11
- package/dist/dom/elementMovement.d.ts +1 -3
- package/dist/dom/elementMovement.d.ts.map +1 -1
- package/dist/dom/elementMovement.js +1 -3
- package/dist/dom/inert.d.ts +2 -4
- package/dist/dom/inert.d.ts.map +1 -1
- package/dist/dom/inert.js +2 -4
- package/dist/dom/scrollLock.d.ts +2 -2
- package/dist/dom/scrollLock.js +2 -2
- package/dist/dom/waitForAnimation.d.ts +1 -1
- package/dist/dom/waitForAnimation.js +1 -1
- package/dist/html/boundary.d.ts +98 -0
- package/dist/html/boundary.d.ts.map +1 -0
- package/dist/html/boundary.js +176 -0
- package/dist/html/childAttribute.d.ts +44 -0
- package/dist/html/childAttribute.d.ts.map +1 -0
- package/dist/html/childAttribute.js +34 -0
- package/dist/html/index.d.ts +70 -23
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +639 -575
- package/dist/html/lazy.d.ts +12 -7
- package/dist/html/lazy.d.ts.map +1 -1
- package/dist/html/lazy.js +30 -11
- package/dist/html/public.d.ts +2 -2
- package/dist/html/public.d.ts.map +1 -1
- package/dist/html/public.js +1 -1
- package/dist/html/runtimeSingleton.d.ts +72 -0
- package/dist/html/runtimeSingleton.d.ts.map +1 -0
- package/dist/html/runtimeSingleton.js +112 -0
- package/dist/html/submodel.d.ts +98 -0
- package/dist/html/submodel.d.ts.map +1 -0
- package/dist/html/submodel.js +190 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/render/render.d.ts +1 -1
- package/dist/render/render.js +1 -1
- package/dist/runtime/messagePriority.d.ts +5 -1
- package/dist/runtime/messagePriority.d.ts.map +1 -1
- package/dist/runtime/messagePriority.js +25 -4
- package/dist/runtime/runtime.d.ts +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +115 -61
- package/dist/submodel/public.d.ts +4 -0
- package/dist/submodel/public.d.ts.map +1 -0
- package/dist/submodel/public.js +1 -0
- package/dist/submodel/submodel.d.ts +32 -0
- package/dist/submodel/submodel.d.ts.map +1 -0
- package/dist/submodel/submodel.js +1 -0
- package/dist/test/apps/disabledButton.d.ts +4 -5
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +16 -16
- package/dist/test/scene.d.ts +8 -8
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +25 -13
- package/dist/test/story.d.ts +15 -8
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +21 -9
- package/dist/ui/animation/index.d.ts +30 -14
- package/dist/ui/animation/index.d.ts.map +1 -1
- package/dist/ui/animation/index.js +9 -19
- package/dist/ui/animation/public.d.ts +2 -2
- package/dist/ui/animation/public.d.ts.map +1 -1
- package/dist/ui/animation/public.js +1 -1
- package/dist/ui/calendar/index.d.ts +199 -84
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +129 -140
- package/dist/ui/calendar/public.d.ts +2 -2
- package/dist/ui/calendar/public.d.ts.map +1 -1
- package/dist/ui/calendar/public.js +1 -1
- package/dist/ui/checkbox/index.d.ts +93 -21
- package/dist/ui/checkbox/index.d.ts.map +1 -1
- package/dist/ui/checkbox/index.js +62 -33
- package/dist/ui/checkbox/public.d.ts +2 -2
- package/dist/ui/checkbox/public.d.ts.map +1 -1
- package/dist/ui/checkbox/public.js +1 -1
- package/dist/ui/combobox/multi.d.ts +35 -91
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/multi.js +34 -17
- package/dist/ui/combobox/multiPublic.d.ts +2 -2
- package/dist/ui/combobox/multiPublic.d.ts.map +1 -1
- package/dist/ui/combobox/multiPublic.js +1 -1
- package/dist/ui/combobox/public.d.ts +3 -3
- package/dist/ui/combobox/public.d.ts.map +1 -1
- package/dist/ui/combobox/public.js +2 -2
- package/dist/ui/combobox/shared.d.ts +56 -31
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +333 -322
- package/dist/ui/combobox/single.d.ts +46 -93
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/combobox/single.js +44 -17
- package/dist/ui/datePicker/index.d.ts +256 -48
- package/dist/ui/datePicker/index.d.ts.map +1 -1
- package/dist/ui/datePicker/index.js +149 -104
- package/dist/ui/datePicker/public.d.ts +2 -2
- package/dist/ui/datePicker/public.d.ts.map +1 -1
- package/dist/ui/datePicker/public.js +1 -1
- package/dist/ui/dialog/index.d.ts +95 -39
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +71 -62
- package/dist/ui/dialog/public.d.ts +2 -2
- package/dist/ui/dialog/public.d.ts.map +1 -1
- package/dist/ui/dialog/public.js +1 -1
- package/dist/ui/disclosure/index.d.ts +71 -31
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +57 -62
- package/dist/ui/disclosure/public.d.ts +2 -2
- package/dist/ui/disclosure/public.d.ts.map +1 -1
- package/dist/ui/disclosure/public.js +1 -1
- package/dist/ui/dragAndDrop/index.d.ts +6 -6
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +7 -7
- package/dist/ui/dragAndDrop/public.d.ts +1 -1
- package/dist/ui/dragAndDrop/public.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/public.js +1 -1
- package/dist/ui/fileDrop/index.d.ts +42 -46
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +30 -46
- package/dist/ui/fileDrop/public.d.ts +2 -2
- package/dist/ui/fileDrop/public.d.ts.map +1 -1
- package/dist/ui/fileDrop/public.js +1 -1
- package/dist/ui/listbox/multi.d.ts +39 -84
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/multi.js +38 -20
- package/dist/ui/listbox/multiPublic.d.ts +2 -2
- package/dist/ui/listbox/multiPublic.d.ts.map +1 -1
- package/dist/ui/listbox/multiPublic.js +1 -1
- package/dist/ui/listbox/public.d.ts +3 -3
- package/dist/ui/listbox/public.d.ts.map +1 -1
- package/dist/ui/listbox/public.js +2 -2
- package/dist/ui/listbox/shared.d.ts +71 -30
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +319 -296
- package/dist/ui/listbox/single.d.ts +57 -85
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/listbox/single.js +48 -24
- package/dist/ui/menu/index.d.ts +80 -36
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +117 -86
- package/dist/ui/menu/public.d.ts +2 -2
- package/dist/ui/menu/public.d.ts.map +1 -1
- package/dist/ui/menu/public.js +1 -1
- package/dist/ui/popover/index.d.ts +117 -44
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +88 -101
- package/dist/ui/popover/public.d.ts +2 -2
- package/dist/ui/popover/public.d.ts.map +1 -1
- package/dist/ui/popover/public.js +1 -1
- package/dist/ui/radioGroup/index.d.ts +122 -45
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +111 -72
- package/dist/ui/radioGroup/public.d.ts +2 -2
- package/dist/ui/radioGroup/public.d.ts.map +1 -1
- package/dist/ui/radioGroup/public.js +1 -1
- package/dist/ui/slider/index.d.ts +72 -34
- package/dist/ui/slider/index.d.ts.map +1 -1
- package/dist/ui/slider/index.js +40 -49
- package/dist/ui/slider/public.d.ts +2 -2
- package/dist/ui/slider/public.d.ts.map +1 -1
- package/dist/ui/slider/public.js +1 -1
- package/dist/ui/switch/index.d.ts +74 -21
- package/dist/ui/switch/index.d.ts.map +1 -1
- package/dist/ui/switch/index.js +62 -33
- package/dist/ui/switch/public.d.ts +2 -2
- package/dist/ui/switch/public.d.ts.map +1 -1
- package/dist/ui/switch/public.js +1 -1
- package/dist/ui/tabs/index.d.ts +107 -45
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +99 -81
- package/dist/ui/tabs/public.d.ts +2 -2
- package/dist/ui/tabs/public.d.ts.map +1 -1
- package/dist/ui/tabs/public.js +1 -1
- package/dist/ui/toast/index.d.ts +93 -109
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/index.js +16 -29
- package/dist/ui/toast/schema.d.ts +15 -4
- package/dist/ui/toast/schema.d.ts.map +1 -1
- package/dist/ui/toast/schema.js +11 -4
- package/dist/ui/toast/update.d.ts +36 -18
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +33 -14
- package/dist/ui/tooltip/index.d.ts +94 -42
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +64 -73
- package/dist/ui/tooltip/public.d.ts +2 -2
- package/dist/ui/tooltip/public.d.ts.map +1 -1
- package/dist/ui/tooltip/public.js +1 -1
- package/dist/ui/virtualList/index.d.ts +18 -41
- package/dist/ui/virtualList/index.d.ts.map +1 -1
- package/dist/ui/virtualList/index.js +17 -37
- package/dist/ui/virtualList/public.d.ts +2 -2
- package/dist/ui/virtualList/public.d.ts.map +1 -1
- package/dist/ui/virtualList/public.js +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@ import { Effect, Option, Schema as S } from 'effect';
|
|
|
2
2
|
import * as Calendar from '../../calendar/index.js';
|
|
3
3
|
import type { CalendarDate } from '../../calendar/index.js';
|
|
4
4
|
import * as Command from '../../command/index.js';
|
|
5
|
-
import { type
|
|
5
|
+
import { type ChildAttribute, type Html } from '../../html/index.js';
|
|
6
|
+
import type { Reflect } from '../../submodel/submodel.js';
|
|
6
7
|
/** Which grid the calendar is currently displaying. `Days` is the standard
|
|
7
8
|
* 6×7 day grid; `Months` is a 3×4 month-name grid for fast month jumps;
|
|
8
9
|
* `Years` is a 3×4 year grid paged in 12-year windows for fast year jumps. */
|
|
@@ -134,25 +135,43 @@ export declare const Message: S.Union<readonly [import("../../schema/index.js").
|
|
|
134
135
|
}>;
|
|
135
136
|
}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusGrid", {}>]>;
|
|
136
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;
|
|
137
142
|
/** Emitted when the visible month changes due to navigation. Consumers of an
|
|
138
143
|
* inline calendar may use this to load month-scoped data (holidays, events).
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* `onSelectedDate` callback in `ViewConfig`, matching the Listbox/Popover
|
|
142
|
-
* controlled-component pattern. Use `Calendar.selectDate(model, date)` to
|
|
143
|
-
* write back when handling the callback. */
|
|
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. */
|
|
144
146
|
export declare const ChangedViewMonth: import("../../schema/index.js").CallableTaggedStruct<"ChangedViewMonth", {
|
|
145
147
|
year: S.Int;
|
|
146
148
|
month: S.Int;
|
|
147
149
|
}>;
|
|
148
|
-
/**
|
|
149
|
-
*
|
|
150
|
-
* the
|
|
151
|
-
|
|
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("../../schema/index.js").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("../../schema/index.js").CallableTaggedStruct<"ChangedViewMonth", {
|
|
152
163
|
year: S.Int;
|
|
153
164
|
month: S.Int;
|
|
154
|
-
}
|
|
165
|
+
}>, import("../../schema/index.js").CallableTaggedStruct<"SelectedDate", {
|
|
166
|
+
date: S.Struct<{
|
|
167
|
+
readonly year: S.Int;
|
|
168
|
+
readonly month: S.Int;
|
|
169
|
+
readonly day: S.Int;
|
|
170
|
+
}>;
|
|
171
|
+
}>]>;
|
|
155
172
|
export type OutMessage = typeof OutMessage.Type;
|
|
173
|
+
export type ChangedViewMonth = typeof ChangedViewMonth.Type;
|
|
174
|
+
export type SelectedDate = typeof SelectedDate.Type;
|
|
156
175
|
/** Configuration for creating a calendar model with `init`. */
|
|
157
176
|
export type InitConfig = Readonly<{
|
|
158
177
|
id: string;
|
|
@@ -186,30 +205,42 @@ export declare const FocusGrid: Command.CommandDefinitionWithArgs<"FocusGrid", {
|
|
|
186
205
|
*
|
|
187
206
|
* Equivalent to dispatching `ClickedDay({ date })` through `update`. */
|
|
188
207
|
export declare const selectDate: (model: Model, date: CalendarDate) => UpdateReturn;
|
|
189
|
-
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
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).
|
|
192
222
|
*
|
|
193
|
-
* Does NOT reconcile the current selection
|
|
223
|
+
* Does NOT reconcile the current selection. If a previously-selected date
|
|
194
224
|
* is now below the new minimum, it remains selected. Callers should clear or
|
|
195
225
|
* reassign the selection explicitly if their domain requires it. */
|
|
196
|
-
export declare const
|
|
197
|
-
/**
|
|
198
|
-
* maximum. Does NOT reconcile the current selection. */
|
|
199
|
-
export declare const
|
|
200
|
-
/**
|
|
201
|
-
* clear. Does NOT reconcile the current selection. */
|
|
202
|
-
export declare const setDisabledDates: (model: Model, disabledDates: ReadonlyArray<CalendarDate>) => Model;
|
|
203
|
-
/** Sets the days of the week that are disabled (e.g. weekends). Pass an
|
|
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
|
|
204
231
|
* empty array to clear. Does NOT reconcile the current selection. */
|
|
205
|
-
export declare const
|
|
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>>;
|
|
206
237
|
/** Returns the calendar to Days mode regardless of current depth. Useful for
|
|
207
238
|
* standalone (non-popovered) consumers that want to wire their own back-out
|
|
208
|
-
* gesture. Popovered consumers like `Ui.DatePicker` don't need this
|
|
239
|
+
* gesture. Popovered consumers like `Ui.DatePicker` don't need this. Escape
|
|
209
240
|
* closes the popover, and the calendar resets to Days on next open.
|
|
210
241
|
*
|
|
211
242
|
* Reconciles `maybeFocusedDate` to a date inside the visible (`viewYear`,
|
|
212
|
-
* `viewMonth`)
|
|
243
|
+
* `viewMonth`). Months/Years navigation can leave the cursor on a date
|
|
213
244
|
* outside the days grid (paged-away year, etc.), which would otherwise
|
|
214
245
|
* cause `aria-activedescendant` to point at a non-rendered cell and the
|
|
215
246
|
* next ArrowLeft to jump to the cursor's stale year. */
|
|
@@ -218,11 +249,11 @@ export declare const dropToDays: (model: Model) => Model;
|
|
|
218
249
|
* optional OutMessage. */
|
|
219
250
|
export declare const update: (model: Model, message: Message) => UpdateReturn;
|
|
220
251
|
/** Information about a single day cell in the rendered calendar grid. */
|
|
221
|
-
export type DayCell
|
|
252
|
+
export type DayCell = Readonly<{
|
|
222
253
|
date: CalendarDate;
|
|
223
254
|
label: string;
|
|
224
|
-
cellAttributes: ReadonlyArray<
|
|
225
|
-
buttonAttributes: ReadonlyArray<
|
|
255
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
256
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
226
257
|
isSelected: boolean;
|
|
227
258
|
isFocused: boolean;
|
|
228
259
|
isToday: boolean;
|
|
@@ -230,104 +261,100 @@ export type DayCell<ParentMessage> = Readonly<{
|
|
|
230
261
|
isDisabled: boolean;
|
|
231
262
|
}>;
|
|
232
263
|
/** A column header for the day grid's first row (day-of-week labels). */
|
|
233
|
-
export type ColumnHeader
|
|
264
|
+
export type ColumnHeader = Readonly<{
|
|
234
265
|
name: string;
|
|
235
|
-
attributes: ReadonlyArray<
|
|
266
|
+
attributes: ReadonlyArray<ChildAttribute>;
|
|
236
267
|
}>;
|
|
237
268
|
/** A single week row in the day grid, carrying its own row attributes (role,
|
|
238
269
|
* aria-rowindex) alongside its 7 day cells. */
|
|
239
|
-
export type Week
|
|
240
|
-
attributes: ReadonlyArray<
|
|
241
|
-
cells: ReadonlyArray<DayCell
|
|
270
|
+
export type Week = Readonly<{
|
|
271
|
+
attributes: ReadonlyArray<ChildAttribute>;
|
|
272
|
+
cells: ReadonlyArray<DayCell>;
|
|
242
273
|
}>;
|
|
243
274
|
/** Information about a single month cell in the rendered months grid.
|
|
244
275
|
* `label` is the locale-aware full month name (e.g. "September"); `shortLabel`
|
|
245
276
|
* is the locale-aware abbreviation (e.g. "Sep"). Render whichever fits the
|
|
246
|
-
* cell
|
|
277
|
+
* cell. Never substring `label` to abbreviate, since that's not safe across
|
|
247
278
|
* locales. */
|
|
248
|
-
export type MonthCell
|
|
279
|
+
export type MonthCell = Readonly<{
|
|
249
280
|
month: number;
|
|
250
281
|
label: string;
|
|
251
282
|
shortLabel: string;
|
|
252
|
-
cellAttributes: ReadonlyArray<
|
|
253
|
-
buttonAttributes: ReadonlyArray<
|
|
283
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
284
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
254
285
|
isSelected: boolean;
|
|
255
286
|
isFocused: boolean;
|
|
256
287
|
isCurrentMonth: boolean;
|
|
257
288
|
isDisabled: boolean;
|
|
258
289
|
}>;
|
|
259
290
|
/** Information about a single year cell in the rendered years grid. */
|
|
260
|
-
export type YearCell
|
|
291
|
+
export type YearCell = Readonly<{
|
|
261
292
|
year: number;
|
|
262
293
|
label: string;
|
|
263
|
-
cellAttributes: ReadonlyArray<
|
|
264
|
-
buttonAttributes: ReadonlyArray<
|
|
294
|
+
cellAttributes: ReadonlyArray<ChildAttribute>;
|
|
295
|
+
buttonAttributes: ReadonlyArray<ChildAttribute>;
|
|
265
296
|
isSelected: boolean;
|
|
266
297
|
isFocused: boolean;
|
|
267
298
|
isCurrentYear: boolean;
|
|
268
299
|
isDisabled: boolean;
|
|
269
300
|
}>;
|
|
270
301
|
/** Attributes provided to the consumer when rendering the day grid. */
|
|
271
|
-
export type DaysModeAttributes
|
|
302
|
+
export type DaysModeAttributes = Readonly<{
|
|
272
303
|
_tag: 'Days';
|
|
273
|
-
root: ReadonlyArray<
|
|
274
|
-
previousMonthButton: ReadonlyArray<
|
|
275
|
-
nextMonthButton: ReadonlyArray<
|
|
276
|
-
headingButton: ReadonlyArray<
|
|
304
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
305
|
+
previousMonthButton: ReadonlyArray<ChildAttribute>;
|
|
306
|
+
nextMonthButton: ReadonlyArray<ChildAttribute>;
|
|
307
|
+
headingButton: ReadonlyArray<ChildAttribute>;
|
|
277
308
|
heading: Readonly<{
|
|
278
309
|
id: string;
|
|
279
310
|
text: string;
|
|
280
311
|
}>;
|
|
281
|
-
grid: ReadonlyArray<
|
|
282
|
-
headerRow: ReadonlyArray<
|
|
283
|
-
columnHeaders: ReadonlyArray<ColumnHeader
|
|
284
|
-
weeks: ReadonlyArray<Week
|
|
312
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
313
|
+
headerRow: ReadonlyArray<ChildAttribute>;
|
|
314
|
+
columnHeaders: ReadonlyArray<ColumnHeader>;
|
|
315
|
+
weeks: ReadonlyArray<Week>;
|
|
285
316
|
}>;
|
|
286
317
|
/** Attributes provided to the consumer when rendering the months grid. The
|
|
287
|
-
* 12 cells are pre-built in calendar (locale-ordered)
|
|
318
|
+
* 12 cells are pre-built in calendar (locale-ordered). The consumer arranges
|
|
288
319
|
* them in whatever grid layout they prefer (3×4 is the typical choice). */
|
|
289
|
-
export type MonthsModeAttributes
|
|
320
|
+
export type MonthsModeAttributes = Readonly<{
|
|
290
321
|
_tag: 'Months';
|
|
291
|
-
root: ReadonlyArray<
|
|
292
|
-
headingButton: ReadonlyArray<
|
|
322
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
323
|
+
headingButton: ReadonlyArray<ChildAttribute>;
|
|
293
324
|
heading: Readonly<{
|
|
294
325
|
id: string;
|
|
295
326
|
text: string;
|
|
296
327
|
}>;
|
|
297
|
-
grid: ReadonlyArray<
|
|
298
|
-
cells: ReadonlyArray<MonthCell
|
|
328
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
329
|
+
cells: ReadonlyArray<MonthCell>;
|
|
299
330
|
}>;
|
|
300
331
|
/** Attributes provided to the consumer when rendering the years grid. The
|
|
301
332
|
* 12 cells span one paged window; prev/next buttons page by 12 years. */
|
|
302
|
-
export type YearsModeAttributes
|
|
333
|
+
export type YearsModeAttributes = Readonly<{
|
|
303
334
|
_tag: 'Years';
|
|
304
|
-
root: ReadonlyArray<
|
|
305
|
-
previousPageButton: ReadonlyArray<
|
|
306
|
-
nextPageButton: ReadonlyArray<
|
|
335
|
+
root: ReadonlyArray<ChildAttribute>;
|
|
336
|
+
previousPageButton: ReadonlyArray<ChildAttribute>;
|
|
337
|
+
nextPageButton: ReadonlyArray<ChildAttribute>;
|
|
307
338
|
heading: Readonly<{
|
|
308
339
|
id: string;
|
|
309
340
|
text: string;
|
|
310
341
|
}>;
|
|
311
|
-
grid: ReadonlyArray<
|
|
312
|
-
cells: ReadonlyArray<YearCell
|
|
342
|
+
grid: ReadonlyArray<ChildAttribute>;
|
|
343
|
+
cells: ReadonlyArray<YearCell>;
|
|
313
344
|
}>;
|
|
314
345
|
/** Discriminated union of attribute groups and derived data the calendar
|
|
315
346
|
* component provides to the consumer's `toView` callback. The variant
|
|
316
|
-
* matches `model.viewMode
|
|
347
|
+
* matches `model.viewMode`. Pattern-match on `_tag` with `M.tagsExhaustive`
|
|
317
348
|
* to render each mode. */
|
|
318
|
-
export type CalendarAttributes
|
|
319
|
-
/**
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
* manages its own `maybeSelectedDate` state automatically (uncontrolled).
|
|
328
|
-
* In controlled mode, use `Calendar.selectDate(model, date)` to write the
|
|
329
|
-
* selection back to the calendar's internal state. */
|
|
330
|
-
onSelectedDate?: (date: CalendarDate) => ParentMessage;
|
|
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;
|
|
331
358
|
previousMonthLabel?: string;
|
|
332
359
|
nextMonthLabel?: string;
|
|
333
360
|
previousYearsPageLabel?: string;
|
|
@@ -335,13 +362,101 @@ export type ViewConfig<ParentMessage> = Readonly<{
|
|
|
335
362
|
daysHeadingButtonLabel?: string;
|
|
336
363
|
monthsHeadingButtonLabel?: string;
|
|
337
364
|
}>;
|
|
338
|
-
/** Renders an accessible calendar.
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
* matches `model.viewMode`. */
|
|
342
|
-
export declare const view:
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
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("../../html/submodel.js").SubmodelView<{
|
|
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
|
+
}>>;
|
|
346
461
|
export {};
|
|
347
462
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/calendar/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/calendar/index.ts"],"names":[],"mappings":"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"}
|