foldkit 0.100.1 → 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.
Files changed (217) hide show
  1. package/README.md +3 -2
  2. package/dist/canvas/view.d.ts +1 -1
  3. package/dist/canvas/view.d.ts.map +1 -1
  4. package/dist/canvas/view.js +5 -5
  5. package/dist/command/index.d.ts +71 -0
  6. package/dist/command/index.d.ts.map +1 -1
  7. package/dist/command/index.js +34 -1
  8. package/dist/command/public.d.ts +1 -1
  9. package/dist/command/public.d.ts.map +1 -1
  10. package/dist/command/public.js +1 -1
  11. package/dist/devTools/overlay.d.ts.map +1 -1
  12. package/dist/devTools/overlay.js +156 -149
  13. package/dist/dom/dom.d.ts +8 -11
  14. package/dist/dom/dom.d.ts.map +1 -1
  15. package/dist/dom/dom.js +8 -11
  16. package/dist/dom/elementMovement.d.ts +1 -3
  17. package/dist/dom/elementMovement.d.ts.map +1 -1
  18. package/dist/dom/elementMovement.js +1 -3
  19. package/dist/dom/inert.d.ts +2 -4
  20. package/dist/dom/inert.d.ts.map +1 -1
  21. package/dist/dom/inert.js +2 -4
  22. package/dist/dom/scrollLock.d.ts +2 -2
  23. package/dist/dom/scrollLock.js +2 -2
  24. package/dist/dom/waitForAnimation.d.ts +1 -1
  25. package/dist/dom/waitForAnimation.js +1 -1
  26. package/dist/html/boundary.d.ts +98 -0
  27. package/dist/html/boundary.d.ts.map +1 -0
  28. package/dist/html/boundary.js +176 -0
  29. package/dist/html/childAttribute.d.ts +44 -0
  30. package/dist/html/childAttribute.d.ts.map +1 -0
  31. package/dist/html/childAttribute.js +34 -0
  32. package/dist/html/index.d.ts +70 -23
  33. package/dist/html/index.d.ts.map +1 -1
  34. package/dist/html/index.js +639 -575
  35. package/dist/html/lazy.d.ts +12 -7
  36. package/dist/html/lazy.d.ts.map +1 -1
  37. package/dist/html/lazy.js +30 -11
  38. package/dist/html/public.d.ts +2 -2
  39. package/dist/html/public.d.ts.map +1 -1
  40. package/dist/html/public.js +1 -1
  41. package/dist/html/runtimeSingleton.d.ts +72 -0
  42. package/dist/html/runtimeSingleton.d.ts.map +1 -0
  43. package/dist/html/runtimeSingleton.js +112 -0
  44. package/dist/html/submodel.d.ts +98 -0
  45. package/dist/html/submodel.d.ts.map +1 -0
  46. package/dist/html/submodel.js +190 -0
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +1 -0
  50. package/dist/render/render.d.ts +1 -1
  51. package/dist/render/render.js +1 -1
  52. package/dist/runtime/messagePriority.d.ts +5 -1
  53. package/dist/runtime/messagePriority.d.ts.map +1 -1
  54. package/dist/runtime/messagePriority.js +25 -4
  55. package/dist/runtime/runtime.d.ts +11 -11
  56. package/dist/runtime/runtime.d.ts.map +1 -1
  57. package/dist/runtime/runtime.js +118 -63
  58. package/dist/runtime/subscription.d.ts +139 -19
  59. package/dist/runtime/subscription.d.ts.map +1 -1
  60. package/dist/runtime/subscription.js +90 -9
  61. package/dist/submodel/public.d.ts +4 -0
  62. package/dist/submodel/public.d.ts.map +1 -0
  63. package/dist/submodel/public.js +1 -0
  64. package/dist/submodel/submodel.d.ts +32 -0
  65. package/dist/submodel/submodel.d.ts.map +1 -0
  66. package/dist/submodel/submodel.js +1 -0
  67. package/dist/subscription/animationFrame.d.ts +23 -26
  68. package/dist/subscription/animationFrame.d.ts.map +1 -1
  69. package/dist/subscription/animationFrame.js +17 -18
  70. package/dist/subscription/public.d.ts +2 -2
  71. package/dist/subscription/public.d.ts.map +1 -1
  72. package/dist/subscription/public.js +1 -1
  73. package/dist/test/apps/disabledButton.d.ts +4 -5
  74. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  75. package/dist/test/apps/disabledButton.js +16 -16
  76. package/dist/test/scene.d.ts +8 -8
  77. package/dist/test/scene.d.ts.map +1 -1
  78. package/dist/test/scene.js +25 -13
  79. package/dist/test/story.d.ts +15 -8
  80. package/dist/test/story.d.ts.map +1 -1
  81. package/dist/test/story.js +21 -9
  82. package/dist/ui/animation/index.d.ts +30 -14
  83. package/dist/ui/animation/index.d.ts.map +1 -1
  84. package/dist/ui/animation/index.js +9 -19
  85. package/dist/ui/animation/public.d.ts +2 -2
  86. package/dist/ui/animation/public.d.ts.map +1 -1
  87. package/dist/ui/animation/public.js +1 -1
  88. package/dist/ui/calendar/index.d.ts +199 -84
  89. package/dist/ui/calendar/index.d.ts.map +1 -1
  90. package/dist/ui/calendar/index.js +129 -140
  91. package/dist/ui/calendar/public.d.ts +2 -2
  92. package/dist/ui/calendar/public.d.ts.map +1 -1
  93. package/dist/ui/calendar/public.js +1 -1
  94. package/dist/ui/checkbox/index.d.ts +93 -21
  95. package/dist/ui/checkbox/index.d.ts.map +1 -1
  96. package/dist/ui/checkbox/index.js +62 -33
  97. package/dist/ui/checkbox/public.d.ts +2 -2
  98. package/dist/ui/checkbox/public.d.ts.map +1 -1
  99. package/dist/ui/checkbox/public.js +1 -1
  100. package/dist/ui/combobox/multi.d.ts +35 -91
  101. package/dist/ui/combobox/multi.d.ts.map +1 -1
  102. package/dist/ui/combobox/multi.js +34 -17
  103. package/dist/ui/combobox/multiPublic.d.ts +2 -2
  104. package/dist/ui/combobox/multiPublic.d.ts.map +1 -1
  105. package/dist/ui/combobox/multiPublic.js +1 -1
  106. package/dist/ui/combobox/public.d.ts +3 -3
  107. package/dist/ui/combobox/public.d.ts.map +1 -1
  108. package/dist/ui/combobox/public.js +2 -2
  109. package/dist/ui/combobox/shared.d.ts +56 -31
  110. package/dist/ui/combobox/shared.d.ts.map +1 -1
  111. package/dist/ui/combobox/shared.js +333 -322
  112. package/dist/ui/combobox/single.d.ts +46 -93
  113. package/dist/ui/combobox/single.d.ts.map +1 -1
  114. package/dist/ui/combobox/single.js +44 -17
  115. package/dist/ui/datePicker/index.d.ts +256 -48
  116. package/dist/ui/datePicker/index.d.ts.map +1 -1
  117. package/dist/ui/datePicker/index.js +149 -104
  118. package/dist/ui/datePicker/public.d.ts +2 -2
  119. package/dist/ui/datePicker/public.d.ts.map +1 -1
  120. package/dist/ui/datePicker/public.js +1 -1
  121. package/dist/ui/dialog/index.d.ts +95 -39
  122. package/dist/ui/dialog/index.d.ts.map +1 -1
  123. package/dist/ui/dialog/index.js +71 -62
  124. package/dist/ui/dialog/public.d.ts +2 -2
  125. package/dist/ui/dialog/public.d.ts.map +1 -1
  126. package/dist/ui/dialog/public.js +1 -1
  127. package/dist/ui/disclosure/index.d.ts +71 -31
  128. package/dist/ui/disclosure/index.d.ts.map +1 -1
  129. package/dist/ui/disclosure/index.js +57 -62
  130. package/dist/ui/disclosure/public.d.ts +2 -2
  131. package/dist/ui/disclosure/public.d.ts.map +1 -1
  132. package/dist/ui/disclosure/public.js +1 -1
  133. package/dist/ui/dragAndDrop/index.d.ts +385 -103
  134. package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
  135. package/dist/ui/dragAndDrop/index.js +26 -31
  136. package/dist/ui/dragAndDrop/public.d.ts +1 -1
  137. package/dist/ui/dragAndDrop/public.d.ts.map +1 -1
  138. package/dist/ui/dragAndDrop/public.js +1 -1
  139. package/dist/ui/fileDrop/index.d.ts +42 -46
  140. package/dist/ui/fileDrop/index.d.ts.map +1 -1
  141. package/dist/ui/fileDrop/index.js +30 -46
  142. package/dist/ui/fileDrop/public.d.ts +2 -2
  143. package/dist/ui/fileDrop/public.d.ts.map +1 -1
  144. package/dist/ui/fileDrop/public.js +1 -1
  145. package/dist/ui/listbox/multi.d.ts +39 -84
  146. package/dist/ui/listbox/multi.d.ts.map +1 -1
  147. package/dist/ui/listbox/multi.js +38 -20
  148. package/dist/ui/listbox/multiPublic.d.ts +2 -2
  149. package/dist/ui/listbox/multiPublic.d.ts.map +1 -1
  150. package/dist/ui/listbox/multiPublic.js +1 -1
  151. package/dist/ui/listbox/public.d.ts +3 -3
  152. package/dist/ui/listbox/public.d.ts.map +1 -1
  153. package/dist/ui/listbox/public.js +2 -2
  154. package/dist/ui/listbox/shared.d.ts +71 -30
  155. package/dist/ui/listbox/shared.d.ts.map +1 -1
  156. package/dist/ui/listbox/shared.js +319 -296
  157. package/dist/ui/listbox/single.d.ts +57 -85
  158. package/dist/ui/listbox/single.d.ts.map +1 -1
  159. package/dist/ui/listbox/single.js +48 -24
  160. package/dist/ui/menu/index.d.ts +80 -36
  161. package/dist/ui/menu/index.d.ts.map +1 -1
  162. package/dist/ui/menu/index.js +117 -86
  163. package/dist/ui/menu/public.d.ts +2 -2
  164. package/dist/ui/menu/public.d.ts.map +1 -1
  165. package/dist/ui/menu/public.js +1 -1
  166. package/dist/ui/popover/index.d.ts +117 -44
  167. package/dist/ui/popover/index.d.ts.map +1 -1
  168. package/dist/ui/popover/index.js +88 -101
  169. package/dist/ui/popover/public.d.ts +2 -2
  170. package/dist/ui/popover/public.d.ts.map +1 -1
  171. package/dist/ui/popover/public.js +1 -1
  172. package/dist/ui/radioGroup/index.d.ts +122 -45
  173. package/dist/ui/radioGroup/index.d.ts.map +1 -1
  174. package/dist/ui/radioGroup/index.js +111 -72
  175. package/dist/ui/radioGroup/public.d.ts +2 -2
  176. package/dist/ui/radioGroup/public.d.ts.map +1 -1
  177. package/dist/ui/radioGroup/public.js +1 -1
  178. package/dist/ui/slider/index.d.ts +247 -103
  179. package/dist/ui/slider/index.d.ts.map +1 -1
  180. package/dist/ui/slider/index.js +52 -68
  181. package/dist/ui/slider/public.d.ts +2 -2
  182. package/dist/ui/slider/public.d.ts.map +1 -1
  183. package/dist/ui/slider/public.js +1 -1
  184. package/dist/ui/switch/index.d.ts +74 -21
  185. package/dist/ui/switch/index.d.ts.map +1 -1
  186. package/dist/ui/switch/index.js +62 -33
  187. package/dist/ui/switch/public.d.ts +2 -2
  188. package/dist/ui/switch/public.d.ts.map +1 -1
  189. package/dist/ui/switch/public.js +1 -1
  190. package/dist/ui/tabs/index.d.ts +107 -45
  191. package/dist/ui/tabs/index.d.ts.map +1 -1
  192. package/dist/ui/tabs/index.js +99 -81
  193. package/dist/ui/tabs/public.d.ts +2 -2
  194. package/dist/ui/tabs/public.d.ts.map +1 -1
  195. package/dist/ui/tabs/public.js +1 -1
  196. package/dist/ui/toast/index.d.ts +93 -109
  197. package/dist/ui/toast/index.d.ts.map +1 -1
  198. package/dist/ui/toast/index.js +16 -29
  199. package/dist/ui/toast/schema.d.ts +15 -4
  200. package/dist/ui/toast/schema.d.ts.map +1 -1
  201. package/dist/ui/toast/schema.js +11 -4
  202. package/dist/ui/toast/update.d.ts +36 -18
  203. package/dist/ui/toast/update.d.ts.map +1 -1
  204. package/dist/ui/toast/update.js +33 -14
  205. package/dist/ui/tooltip/index.d.ts +94 -42
  206. package/dist/ui/tooltip/index.d.ts.map +1 -1
  207. package/dist/ui/tooltip/index.js +64 -73
  208. package/dist/ui/tooltip/public.d.ts +2 -2
  209. package/dist/ui/tooltip/public.d.ts.map +1 -1
  210. package/dist/ui/tooltip/public.js +1 -1
  211. package/dist/ui/virtualList/index.d.ts +63 -80
  212. package/dist/ui/virtualList/index.d.ts.map +1 -1
  213. package/dist/ui/virtualList/index.js +22 -49
  214. package/dist/ui/virtualList/public.d.ts +2 -2
  215. package/dist/ui/virtualList/public.d.ts.map +1 -1
  216. package/dist/ui/virtualList/public.js +1 -1
  217. 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 Attribute, type Html } from '../../html/index.js';
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
- * Date selection does NOT use OutMessage consumers subscribe via the
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
- /** The calendar's OutMessage. Only one variant `ChangedViewMonth` which
149
- * fires when navigation shifts the visible month. Date selection goes through
150
- * the `onSelectedDate` ViewConfig callback, not OutMessage. */
151
- export declare const OutMessage: import("../../schema/index.js").CallableTaggedStruct<"ChangedViewMonth", {
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
- /** Sets the minimum selectable date. Pass `Option.none()` to remove the
190
- * minimum. Use this when the minimum derives from other Model state (e.g. a
191
- * start date field whose current selection constrains an end date picker).
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 if a previously-selected date
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 setMinDate: (model: Model, maybeMinDate: Option.Option<CalendarDate>) => Model;
197
- /** Sets the maximum selectable date. Pass `Option.none()` to remove the
198
- * maximum. Does NOT reconcile the current selection. */
199
- export declare const setMaxDate: (model: Model, maybeMaxDate: Option.Option<CalendarDate>) => Model;
200
- /** Sets the list of individually-disabled dates. Pass an empty array to
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 setDisabledDaysOfWeek: (model: Model, disabledDaysOfWeek: ReadonlyArray<Calendar.DayOfWeek>) => Model;
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 Escape
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`) Months/Years navigation can leave the cursor on a date
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<ParentMessage> = Readonly<{
252
+ export type DayCell = Readonly<{
222
253
  date: CalendarDate;
223
254
  label: string;
224
- cellAttributes: ReadonlyArray<Attribute<ParentMessage>>;
225
- buttonAttributes: ReadonlyArray<Attribute<ParentMessage>>;
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<ParentMessage> = Readonly<{
264
+ export type ColumnHeader = Readonly<{
234
265
  name: string;
235
- attributes: ReadonlyArray<Attribute<ParentMessage>>;
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<ParentMessage> = Readonly<{
240
- attributes: ReadonlyArray<Attribute<ParentMessage>>;
241
- cells: ReadonlyArray<DayCell<ParentMessage>>;
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 never substring `label` to abbreviate, since that's not safe across
277
+ * cell. Never substring `label` to abbreviate, since that's not safe across
247
278
  * locales. */
248
- export type MonthCell<ParentMessage> = Readonly<{
279
+ export type MonthCell = Readonly<{
249
280
  month: number;
250
281
  label: string;
251
282
  shortLabel: string;
252
- cellAttributes: ReadonlyArray<Attribute<ParentMessage>>;
253
- buttonAttributes: ReadonlyArray<Attribute<ParentMessage>>;
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<ParentMessage> = Readonly<{
291
+ export type YearCell = Readonly<{
261
292
  year: number;
262
293
  label: string;
263
- cellAttributes: ReadonlyArray<Attribute<ParentMessage>>;
264
- buttonAttributes: ReadonlyArray<Attribute<ParentMessage>>;
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<ParentMessage> = Readonly<{
302
+ export type DaysModeAttributes = Readonly<{
272
303
  _tag: 'Days';
273
- root: ReadonlyArray<Attribute<ParentMessage>>;
274
- previousMonthButton: ReadonlyArray<Attribute<ParentMessage>>;
275
- nextMonthButton: ReadonlyArray<Attribute<ParentMessage>>;
276
- headingButton: ReadonlyArray<Attribute<ParentMessage>>;
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<Attribute<ParentMessage>>;
282
- headerRow: ReadonlyArray<Attribute<ParentMessage>>;
283
- columnHeaders: ReadonlyArray<ColumnHeader<ParentMessage>>;
284
- weeks: ReadonlyArray<Week<ParentMessage>>;
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) the consumer arranges
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<ParentMessage> = Readonly<{
320
+ export type MonthsModeAttributes = Readonly<{
290
321
  _tag: 'Months';
291
- root: ReadonlyArray<Attribute<ParentMessage>>;
292
- headingButton: ReadonlyArray<Attribute<ParentMessage>>;
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<Attribute<ParentMessage>>;
298
- cells: ReadonlyArray<MonthCell<ParentMessage>>;
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<ParentMessage> = Readonly<{
333
+ export type YearsModeAttributes = Readonly<{
303
334
  _tag: 'Years';
304
- root: ReadonlyArray<Attribute<ParentMessage>>;
305
- previousPageButton: ReadonlyArray<Attribute<ParentMessage>>;
306
- nextPageButton: ReadonlyArray<Attribute<ParentMessage>>;
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<Attribute<ParentMessage>>;
312
- cells: ReadonlyArray<YearCell<ParentMessage>>;
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` — pattern-match on `_tag` with `M.tagsExhaustive`
347
+ * matches `model.viewMode`. Pattern-match on `_tag` with `M.tagsExhaustive`
317
348
  * to render each mode. */
318
- export type CalendarAttributes<ParentMessage> = DaysModeAttributes<ParentMessage> | MonthsModeAttributes<ParentMessage> | YearsModeAttributes<ParentMessage>;
319
- /** Configuration for rendering a calendar with `view`. */
320
- export type ViewConfig<ParentMessage> = Readonly<{
321
- model: Model;
322
- toParentMessage: (message: Message) => ParentMessage;
323
- toView: (attributes: CalendarAttributes<ParentMessage>) => Html;
324
- /** Optional callback invoked when the user commits a date via click, Enter,
325
- * or Space. When provided, the view dispatches the callback directly (the
326
- * controlled pattern — parent owns the event). When omitted, the calendar
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. Builds mode-specific ARIA attribute
339
- * groups and derived cell data, then delegates layout to the consumer's
340
- * `toView` callback. The variant of `CalendarAttributes` passed to `toView`
341
- * matches `model.viewMode`. */
342
- export declare const view: <ParentMessage>(config: ViewConfig<ParentMessage>) => Html;
343
- /** Creates a memoized calendar view. Static config is captured in a closure;
344
- * only `model` and `toParentMessage` are compared per render via `createLazy`. */
345
- export declare const lazy: <ParentMessage>(staticConfig: Omit<ViewConfig<ParentMessage>, "model" | "toParentMessage">) => ((model: Model, toParentMessage: ViewConfig<ParentMessage>["toParentMessage"]) => Html);
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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/calendar/index.ts"],"names":[],"mappings":"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"}