foldkit 0.101.0 → 0.102.1

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 (211) hide show
  1. package/README.md +2 -1
  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 +137 -110
  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 +3 -1
  56. package/dist/runtime/runtime.d.ts.map +1 -1
  57. package/dist/runtime/runtime.js +123 -67
  58. package/dist/submodel/public.d.ts +4 -0
  59. package/dist/submodel/public.d.ts.map +1 -0
  60. package/dist/submodel/public.js +1 -0
  61. package/dist/submodel/submodel.d.ts +32 -0
  62. package/dist/submodel/submodel.d.ts.map +1 -0
  63. package/dist/submodel/submodel.js +1 -0
  64. package/dist/test/apps/disabledButton.d.ts +4 -5
  65. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  66. package/dist/test/apps/disabledButton.js +16 -16
  67. package/dist/test/scene.d.ts +8 -8
  68. package/dist/test/scene.d.ts.map +1 -1
  69. package/dist/test/scene.js +25 -13
  70. package/dist/test/story.d.ts +15 -8
  71. package/dist/test/story.d.ts.map +1 -1
  72. package/dist/test/story.js +21 -9
  73. package/dist/ui/animation/index.d.ts +30 -14
  74. package/dist/ui/animation/index.d.ts.map +1 -1
  75. package/dist/ui/animation/index.js +9 -19
  76. package/dist/ui/animation/public.d.ts +2 -2
  77. package/dist/ui/animation/public.d.ts.map +1 -1
  78. package/dist/ui/animation/public.js +1 -1
  79. package/dist/ui/calendar/index.d.ts +199 -84
  80. package/dist/ui/calendar/index.d.ts.map +1 -1
  81. package/dist/ui/calendar/index.js +129 -140
  82. package/dist/ui/calendar/public.d.ts +2 -2
  83. package/dist/ui/calendar/public.d.ts.map +1 -1
  84. package/dist/ui/calendar/public.js +1 -1
  85. package/dist/ui/checkbox/index.d.ts +93 -21
  86. package/dist/ui/checkbox/index.d.ts.map +1 -1
  87. package/dist/ui/checkbox/index.js +62 -33
  88. package/dist/ui/checkbox/public.d.ts +2 -2
  89. package/dist/ui/checkbox/public.d.ts.map +1 -1
  90. package/dist/ui/checkbox/public.js +1 -1
  91. package/dist/ui/combobox/multi.d.ts +35 -91
  92. package/dist/ui/combobox/multi.d.ts.map +1 -1
  93. package/dist/ui/combobox/multi.js +34 -17
  94. package/dist/ui/combobox/multiPublic.d.ts +2 -2
  95. package/dist/ui/combobox/multiPublic.d.ts.map +1 -1
  96. package/dist/ui/combobox/multiPublic.js +1 -1
  97. package/dist/ui/combobox/public.d.ts +3 -3
  98. package/dist/ui/combobox/public.d.ts.map +1 -1
  99. package/dist/ui/combobox/public.js +2 -2
  100. package/dist/ui/combobox/shared.d.ts +56 -31
  101. package/dist/ui/combobox/shared.d.ts.map +1 -1
  102. package/dist/ui/combobox/shared.js +333 -322
  103. package/dist/ui/combobox/single.d.ts +46 -93
  104. package/dist/ui/combobox/single.d.ts.map +1 -1
  105. package/dist/ui/combobox/single.js +44 -17
  106. package/dist/ui/datePicker/index.d.ts +256 -48
  107. package/dist/ui/datePicker/index.d.ts.map +1 -1
  108. package/dist/ui/datePicker/index.js +149 -104
  109. package/dist/ui/datePicker/public.d.ts +2 -2
  110. package/dist/ui/datePicker/public.d.ts.map +1 -1
  111. package/dist/ui/datePicker/public.js +1 -1
  112. package/dist/ui/dialog/index.d.ts +95 -39
  113. package/dist/ui/dialog/index.d.ts.map +1 -1
  114. package/dist/ui/dialog/index.js +71 -62
  115. package/dist/ui/dialog/public.d.ts +2 -2
  116. package/dist/ui/dialog/public.d.ts.map +1 -1
  117. package/dist/ui/dialog/public.js +1 -1
  118. package/dist/ui/disclosure/index.d.ts +71 -31
  119. package/dist/ui/disclosure/index.d.ts.map +1 -1
  120. package/dist/ui/disclosure/index.js +57 -62
  121. package/dist/ui/disclosure/public.d.ts +2 -2
  122. package/dist/ui/disclosure/public.d.ts.map +1 -1
  123. package/dist/ui/disclosure/public.js +1 -1
  124. package/dist/ui/dragAndDrop/index.d.ts +6 -6
  125. package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
  126. package/dist/ui/dragAndDrop/index.js +7 -7
  127. package/dist/ui/dragAndDrop/public.d.ts +1 -1
  128. package/dist/ui/dragAndDrop/public.d.ts.map +1 -1
  129. package/dist/ui/dragAndDrop/public.js +1 -1
  130. package/dist/ui/fileDrop/index.d.ts +42 -46
  131. package/dist/ui/fileDrop/index.d.ts.map +1 -1
  132. package/dist/ui/fileDrop/index.js +30 -46
  133. package/dist/ui/fileDrop/public.d.ts +2 -2
  134. package/dist/ui/fileDrop/public.d.ts.map +1 -1
  135. package/dist/ui/fileDrop/public.js +1 -1
  136. package/dist/ui/listbox/multi.d.ts +39 -84
  137. package/dist/ui/listbox/multi.d.ts.map +1 -1
  138. package/dist/ui/listbox/multi.js +38 -20
  139. package/dist/ui/listbox/multiPublic.d.ts +2 -2
  140. package/dist/ui/listbox/multiPublic.d.ts.map +1 -1
  141. package/dist/ui/listbox/multiPublic.js +1 -1
  142. package/dist/ui/listbox/public.d.ts +3 -3
  143. package/dist/ui/listbox/public.d.ts.map +1 -1
  144. package/dist/ui/listbox/public.js +2 -2
  145. package/dist/ui/listbox/shared.d.ts +71 -30
  146. package/dist/ui/listbox/shared.d.ts.map +1 -1
  147. package/dist/ui/listbox/shared.js +319 -296
  148. package/dist/ui/listbox/single.d.ts +57 -85
  149. package/dist/ui/listbox/single.d.ts.map +1 -1
  150. package/dist/ui/listbox/single.js +48 -24
  151. package/dist/ui/menu/index.d.ts +80 -36
  152. package/dist/ui/menu/index.d.ts.map +1 -1
  153. package/dist/ui/menu/index.js +117 -86
  154. package/dist/ui/menu/public.d.ts +2 -2
  155. package/dist/ui/menu/public.d.ts.map +1 -1
  156. package/dist/ui/menu/public.js +1 -1
  157. package/dist/ui/popover/index.d.ts +117 -44
  158. package/dist/ui/popover/index.d.ts.map +1 -1
  159. package/dist/ui/popover/index.js +88 -101
  160. package/dist/ui/popover/public.d.ts +2 -2
  161. package/dist/ui/popover/public.d.ts.map +1 -1
  162. package/dist/ui/popover/public.js +1 -1
  163. package/dist/ui/radioGroup/index.d.ts +122 -45
  164. package/dist/ui/radioGroup/index.d.ts.map +1 -1
  165. package/dist/ui/radioGroup/index.js +111 -72
  166. package/dist/ui/radioGroup/public.d.ts +2 -2
  167. package/dist/ui/radioGroup/public.d.ts.map +1 -1
  168. package/dist/ui/radioGroup/public.js +1 -1
  169. package/dist/ui/slider/index.d.ts +72 -34
  170. package/dist/ui/slider/index.d.ts.map +1 -1
  171. package/dist/ui/slider/index.js +40 -49
  172. package/dist/ui/slider/public.d.ts +2 -2
  173. package/dist/ui/slider/public.d.ts.map +1 -1
  174. package/dist/ui/slider/public.js +1 -1
  175. package/dist/ui/switch/index.d.ts +74 -21
  176. package/dist/ui/switch/index.d.ts.map +1 -1
  177. package/dist/ui/switch/index.js +62 -33
  178. package/dist/ui/switch/public.d.ts +2 -2
  179. package/dist/ui/switch/public.d.ts.map +1 -1
  180. package/dist/ui/switch/public.js +1 -1
  181. package/dist/ui/tabs/index.d.ts +107 -45
  182. package/dist/ui/tabs/index.d.ts.map +1 -1
  183. package/dist/ui/tabs/index.js +99 -81
  184. package/dist/ui/tabs/public.d.ts +2 -2
  185. package/dist/ui/tabs/public.d.ts.map +1 -1
  186. package/dist/ui/tabs/public.js +1 -1
  187. package/dist/ui/toast/index.d.ts +93 -109
  188. package/dist/ui/toast/index.d.ts.map +1 -1
  189. package/dist/ui/toast/index.js +16 -29
  190. package/dist/ui/toast/schema.d.ts +15 -4
  191. package/dist/ui/toast/schema.d.ts.map +1 -1
  192. package/dist/ui/toast/schema.js +11 -4
  193. package/dist/ui/toast/update.d.ts +36 -18
  194. package/dist/ui/toast/update.d.ts.map +1 -1
  195. package/dist/ui/toast/update.js +33 -14
  196. package/dist/ui/tooltip/index.d.ts +94 -42
  197. package/dist/ui/tooltip/index.d.ts.map +1 -1
  198. package/dist/ui/tooltip/index.js +64 -73
  199. package/dist/ui/tooltip/public.d.ts +2 -2
  200. package/dist/ui/tooltip/public.d.ts.map +1 -1
  201. package/dist/ui/tooltip/public.js +1 -1
  202. package/dist/ui/virtualList/index.d.ts +18 -41
  203. package/dist/ui/virtualList/index.d.ts.map +1 -1
  204. package/dist/ui/virtualList/index.js +17 -37
  205. package/dist/ui/virtualList/public.d.ts +2 -2
  206. package/dist/ui/virtualList/public.d.ts.map +1 -1
  207. package/dist/ui/virtualList/public.js +1 -1
  208. package/dist/vdom.d.ts +3 -2
  209. package/dist/vdom.d.ts.map +1 -1
  210. package/dist/vdom.js +44 -0
  211. package/package.json +1 -1
@@ -2,7 +2,8 @@ import { 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
  import type { AnchorConfig } from '../anchor.js';
7
8
  import * as UiCalendar from '../calendar/index.js';
8
9
  /** Schema for the date picker component's state. Holds the selected date,
@@ -102,16 +103,16 @@ export declare const GotCalendarMessage: import("../../schema/index.js").Callabl
102
103
  }>;
103
104
  /** Wraps a Popover submodel message for delegation. */
104
105
  export declare const GotPopoverMessage: import("../../schema/index.js").CallableTaggedStruct<"GotPopoverMessage", {
105
- message: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"Opened", {}>, import("../../schema/index.js").CallableTaggedStruct<"Closed", {}>, import("../../schema/index.js").CallableTaggedStruct<"BlurredPanel", {}>, import("../../schema/index.js").CallableTaggedStruct<"PressedPointerOnButton", {
106
+ message: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"RequestedOpen", {}>, import("../../schema/index.js").CallableTaggedStruct<"RequestedClose", {}>, import("../../schema/index.js").CallableTaggedStruct<"BlurredPanel", {}>, import("../../schema/index.js").CallableTaggedStruct<"PressedPointerOnButton", {
106
107
  pointerType: S.String;
107
108
  button: S.Number;
108
- }>, import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusPanel", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusButton", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedLockScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedUnlockScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedSetupInert", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedTeardownInert", {}>, import("../../schema/index.js").CallableTaggedStruct<"IgnoredMouseClick", {}>, import("../../schema/index.js").CallableTaggedStruct<"SuppressedSpaceScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedAnchorPopover", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedPortalPopoverBackdrop", {}>, import("../../schema/index.js").CallableTaggedStruct<"GotAnimationMessage", {
109
+ }>, import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusPanel", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusButton", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedLockScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedUnlockScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedInertOthers", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedRestoreInert", {}>, import("../../schema/index.js").CallableTaggedStruct<"IgnoredMouseClick", {}>, import("../../schema/index.js").CallableTaggedStruct<"SuppressedSpaceScroll", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedAnchorPopover", {}>, import("../../schema/index.js").CallableTaggedStruct<"CompletedPortalPopoverBackdrop", {}>, import("../../schema/index.js").CallableTaggedStruct<"GotAnimationMessage", {
109
110
  message: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"Showed", {}>, import("../../schema/index.js").CallableTaggedStruct<"Hid", {}>, import("../../schema/index.js").CallableTaggedStruct<"AdvancedAnimationFrame", {}>, import("../../schema/index.js").CallableTaggedStruct<"EndedAnimation", {}>]>;
110
111
  }>]>;
111
112
  }>;
112
113
  /** Sent when the user commits a date via click or keyboard. Updates the
113
114
  * selected date, syncs the calendar, and closes the popover. */
114
- export declare const SelectedDate: import("../../schema/index.js").CallableTaggedStruct<"SelectedDate", {
115
+ export declare const RequestedSelectDate: import("../../schema/index.js").CallableTaggedStruct<"RequestedSelectDate", {
115
116
  date: S.Struct<{
116
117
  readonly year: S.Int;
117
118
  readonly month: S.Int;
@@ -130,7 +131,7 @@ export declare const Closed: import("../../schema/index.js").CallableTaggedStruc
130
131
  export declare const Message: S.Union<[
131
132
  typeof GotCalendarMessage,
132
133
  typeof GotPopoverMessage,
133
- typeof SelectedDate,
134
+ typeof RequestedSelectDate,
134
135
  typeof Cleared,
135
136
  typeof Opened,
136
137
  typeof Closed
@@ -142,14 +143,30 @@ export declare const ChangedViewMonth: import("../../schema/index.js").CallableT
142
143
  year: S.Int;
143
144
  month: S.Int;
144
145
  }>;
145
- /** The date picker's OutMessage. Matches Calendar only `ChangedViewMonth`.
146
- * Date selection goes through the `onSelectedDate` ViewConfig callback, not
147
- * OutMessage. */
148
- export declare const OutMessage: import("../../schema/index.js").CallableTaggedStruct<"ChangedViewMonth", {
146
+ /** Emitted when the user commits a date selection (propagated from the
147
+ * embedded Calendar). The popover has already closed; the parent reads the
148
+ * committed date and lifts it into domain state. */
149
+ export declare const SelectedDate: import("../../schema/index.js").CallableTaggedStruct<"SelectedDate", {
150
+ date: S.Struct<{
151
+ readonly year: S.Int;
152
+ readonly month: S.Int;
153
+ readonly day: S.Int;
154
+ }>;
155
+ }>;
156
+ /** Union of out-messages the date picker can produce. */
157
+ export declare const OutMessage: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"ChangedViewMonth", {
149
158
  year: S.Int;
150
159
  month: S.Int;
151
- }>;
160
+ }>, import("../../schema/index.js").CallableTaggedStruct<"SelectedDate", {
161
+ date: S.Struct<{
162
+ readonly year: S.Int;
163
+ readonly month: S.Int;
164
+ readonly day: S.Int;
165
+ }>;
166
+ }>]>;
152
167
  export type OutMessage = typeof OutMessage.Type;
168
+ export type ChangedViewMonth = typeof ChangedViewMonth.Type;
169
+ export type SelectedDate = typeof SelectedDate.Type;
153
170
  /** Configuration for creating a date picker model with `init`. */
154
171
  export type InitConfig = Readonly<{
155
172
  id: string;
@@ -177,73 +194,264 @@ type UpdateReturn = readonly [
177
194
  export declare const update: (model: Model, message: Message) => UpdateReturn;
178
195
  /** Programmatically opens the date picker, updating the model and returning
179
196
  * focus and popover commands. Use this in domain-event handlers. */
180
- export declare const open: (model: Model) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
197
+ export declare const open: (model: Model) => UpdateReturn;
181
198
  /** Programmatically closes the date picker. Use this in domain-event handlers. */
182
- export declare const close: (model: Model) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
183
- /** Programmatically selects a date, committing it and closing the popover. */
184
- export declare const selectDate: (model: Model, date: CalendarDate) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
199
+ export declare const close: (model: Model) => UpdateReturn;
200
+ /** Programmatically selects a date, committing it and closing the popover. Emits a `SelectedDate` OutMessage just like a user-initiated selection. */
201
+ export declare const selectDate: (model: Model, date: CalendarDate) => UpdateReturn;
185
202
  /** Programmatically clears the selected date. */
186
- export declare const clear: (model: Model) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
187
- /** Sets the minimum selectable date on the embedded calendar. Pass
203
+ export declare const clear: (model: Model) => UpdateReturn;
204
+ /** Reflects an externally-sourced selected date onto the date picker
205
+ * without emitting an OutMessage or touching the popover. Sets the
206
+ * picker's selection and reflects it onto the embedded calendar (moving
207
+ * the calendar's view to the date), mirroring `selectDate`'s state change
208
+ * minus the `SelectedDate` announcement and the popover close. Pass
209
+ * `Option.none()` to clear. Use this to mirror external truth (a URL
210
+ * parameter, a saved draft) onto the picker. Contrast with `selectDate`,
211
+ * a user or programmatic *choice* that emits `SelectedDate`. Returns the
212
+ * model directly because it produces no commands and no OutMessage. */
213
+ export declare const reflectSelectedDate: Reflect<Model, Option.Option<CalendarDate>>;
214
+ /** Reflects the minimum selectable date onto the embedded calendar. Pass
188
215
  * `Option.none()` to remove the minimum. Use this when the minimum derives
189
216
  * from other Model state (e.g. a start date field whose current selection
190
217
  * constrains an end date picker).
191
218
  *
192
- * Does NOT reconcile the current selection if a previously-selected date
219
+ * Does NOT reconcile the current selection. If a previously-selected date
193
220
  * is now below the new minimum, it remains selected. Callers should `clear`
194
221
  * or reassign the selection explicitly if their domain requires it. */
195
- export declare const setMinDate: (model: Model, maybeMinDate: Option.Option<CalendarDate>) => Model;
196
- /** Sets the maximum selectable date on the embedded calendar. Pass
222
+ export declare const reflectMinDate: Reflect<Model, Option.Option<CalendarDate>>;
223
+ /** Reflects the maximum selectable date onto the embedded calendar. Pass
197
224
  * `Option.none()` to remove the maximum. Does NOT reconcile the current
198
225
  * selection. */
199
- export declare const setMaxDate: (model: Model, maybeMaxDate: Option.Option<CalendarDate>) => Model;
200
- /** Sets the list of individually-disabled dates on the embedded calendar.
201
- * Pass an empty array to 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 on the embedded calendar
226
+ export declare const reflectMaxDate: Reflect<Model, Option.Option<CalendarDate>>;
227
+ /** Reflects the list of individually-disabled dates onto the embedded
228
+ * calendar. Pass an empty array to clear. Does NOT reconcile the current
229
+ * selection. */
230
+ export declare const reflectDisabledDates: Reflect<Model, ReadonlyArray<CalendarDate>>;
231
+ /** Reflects the days of the week that are disabled onto the embedded calendar
204
232
  * (e.g. weekends). Pass an empty array to clear. Does NOT reconcile the
205
233
  * current selection. */
206
- export declare const setDisabledDaysOfWeek: (model: Model, disabledDaysOfWeek: ReadonlyArray<Calendar.DayOfWeek>) => Model;
207
- /** Configuration for rendering a date picker with `view`. */
208
- export type ViewConfig<ParentMessage> = Readonly<{
209
- model: Model;
210
- toParentMessage: (message: Message) => ParentMessage;
211
- /** Optional controlled-mode callback invoked when the user commits a date.
212
- * When provided, the view dispatches this directly (parent owns the event).
213
- * When omitted, DatePicker manages its own selection state. In controlled
214
- * mode, use `DatePicker.selectDate(model, date)` to write the selection
215
- * back into the date picker's internal state. */
216
- onSelectedDate?: (date: CalendarDate) => ParentMessage;
234
+ export declare const reflectDisabledDaysOfWeek: Reflect<Model, ReadonlyArray<Calendar.DayOfWeek>>;
235
+ /** Per-render view inputs passed to `view` via `h.submodel`'s `viewInputs` field.
236
+ *
237
+ * The DatePicker emits a `SelectedDate({ date })` OutMessage when the
238
+ * user commits a date. Consumers pattern-match this in their
239
+ * `GotDatePickerMessage` handler (third tuple element of
240
+ * `Ui.DatePicker.update`'s return) to lift the date into domain state. */
241
+ export type ViewInputs = Readonly<{
217
242
  anchor: AnchorConfig;
218
243
  /** Renders the trigger button's content (typically the formatted selected
219
244
  * date or a placeholder). Receives the current selection. */
220
245
  triggerContent: (maybeDate: Option.Option<CalendarDate>) => Html;
221
- /** Renders the calendar grid layout inside the popover panel. Mirrors
222
- * `Calendar.ViewConfig['toView']` — the consumer lays out the attribute
223
- * groups exactly as they would for an inline calendar. */
224
- toCalendarView: (attributes: UiCalendar.CalendarAttributes<ParentMessage>) => Html;
246
+ /** Renders the calendar grid layout inside the popover panel. The
247
+ * consumer lays out the attribute bundles exactly as they would for
248
+ * an inline calendar. */
249
+ toCalendarView: (attributes: UiCalendar.CalendarAttributes) => Html;
225
250
  isDisabled?: boolean;
226
251
  /** Name for the hidden form input. When provided, a hidden `<input>` is
227
252
  * rendered alongside the trigger so native form submission captures the
228
253
  * selected date as an ISO string (`YYYY-MM-DD`). */
229
254
  name?: string;
230
255
  className?: string;
231
- attributes?: ReadonlyArray<Attribute<ParentMessage>>;
256
+ attributes?: ReadonlyArray<ChildAttribute>;
232
257
  triggerClassName?: string;
233
- triggerAttributes?: ReadonlyArray<Attribute<ParentMessage>>;
258
+ triggerAttributes?: ReadonlyArray<ChildAttribute>;
234
259
  panelClassName?: string;
235
- panelAttributes?: ReadonlyArray<Attribute<ParentMessage>>;
260
+ panelAttributes?: ReadonlyArray<ChildAttribute>;
236
261
  backdropClassName?: string;
237
- backdropAttributes?: ReadonlyArray<Attribute<ParentMessage>>;
262
+ backdropAttributes?: ReadonlyArray<ChildAttribute>;
238
263
  }>;
239
264
  /** Renders an accessible date picker: a trigger button that opens a popover
240
265
  * containing an accessible calendar grid. The date picker assembles the
241
- * embedded Calendar and Popover components into one flat API — consumers
266
+ * embedded Calendar and Popover components into one flat API. Consumers
242
267
  * provide the trigger face and the calendar grid layout, DatePicker handles
243
268
  * focus choreography, open/close state, and form submission. */
244
- export declare const view: <ParentMessage>(config: ViewConfig<ParentMessage>) => Html;
245
- /** Creates a memoized date picker view. Static config is captured in a closure;
246
- * only `model` and `toParentMessage` are compared per render via `createLazy`. */
247
- export declare const lazy: <ParentMessage>(staticConfig: Omit<ViewConfig<ParentMessage>, "model" | "toParentMessage">) => ((model: Model, toParentMessage: ViewConfig<ParentMessage>["toParentMessage"]) => Html);
269
+ export declare const view: import("../../html/submodel.js").SubmodelView<{
270
+ readonly id: string;
271
+ readonly maybeSelectedDate: Option.Option<{
272
+ readonly year: number;
273
+ readonly month: number;
274
+ readonly day: number;
275
+ }>;
276
+ readonly calendar: {
277
+ readonly id: string;
278
+ readonly today: {
279
+ readonly year: number;
280
+ readonly month: number;
281
+ readonly day: number;
282
+ };
283
+ readonly viewYear: number;
284
+ readonly viewMonth: number;
285
+ readonly viewMode: "Days" | "Months" | "Years";
286
+ readonly maybeFocusedDate: Option.Option<{
287
+ readonly year: number;
288
+ readonly month: number;
289
+ readonly day: number;
290
+ }>;
291
+ readonly maybeSelectedDate: Option.Option<{
292
+ readonly year: number;
293
+ readonly month: number;
294
+ readonly day: number;
295
+ }>;
296
+ readonly isGridFocused: boolean;
297
+ readonly locale: {
298
+ readonly firstDayOfWeek: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday";
299
+ readonly monthNames: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
300
+ readonly shortMonthNames: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
301
+ readonly dayNames: readonly [string, string, string, string, string, string, string];
302
+ readonly shortDayNames: readonly [string, string, string, string, string, string, string];
303
+ };
304
+ readonly maybeMinDate: Option.Option<{
305
+ readonly year: number;
306
+ readonly month: number;
307
+ readonly day: number;
308
+ }>;
309
+ readonly maybeMaxDate: Option.Option<{
310
+ readonly year: number;
311
+ readonly month: number;
312
+ readonly day: number;
313
+ }>;
314
+ readonly disabledDaysOfWeek: readonly ("Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday")[];
315
+ readonly disabledDates: readonly {
316
+ readonly year: number;
317
+ readonly month: number;
318
+ readonly day: number;
319
+ }[];
320
+ };
321
+ readonly popover: {
322
+ readonly id: string;
323
+ readonly isOpen: boolean;
324
+ readonly isAnimated: boolean;
325
+ readonly isModal: boolean;
326
+ readonly contentFocus: boolean;
327
+ readonly animation: {
328
+ readonly id: string;
329
+ readonly isShowing: boolean;
330
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
331
+ };
332
+ readonly maybeLastButtonPointerType: Option.Option<string>;
333
+ };
334
+ }, {
335
+ readonly _tag: "Closed";
336
+ } | {
337
+ readonly _tag: "Opened";
338
+ } | {
339
+ readonly _tag: "GotCalendarMessage";
340
+ readonly message: {
341
+ readonly _tag: "ClickedDay";
342
+ readonly date: {
343
+ readonly year: number;
344
+ readonly month: number;
345
+ readonly day: number;
346
+ };
347
+ } | {
348
+ readonly _tag: "PressedKeyOnGrid";
349
+ readonly key: string;
350
+ readonly isShift: boolean;
351
+ } | {
352
+ readonly _tag: "ClickedPreviousMonthButton";
353
+ } | {
354
+ readonly _tag: "ClickedNextMonthButton";
355
+ } | {
356
+ readonly _tag: "ClickedHeading";
357
+ } | {
358
+ readonly _tag: "SelectedMonth";
359
+ readonly month: number;
360
+ } | {
361
+ readonly _tag: "SelectedYear";
362
+ readonly year: number;
363
+ } | {
364
+ readonly _tag: "PagedYears";
365
+ readonly direction: 1 | -1;
366
+ } | {
367
+ readonly _tag: "FocusedGrid";
368
+ } | {
369
+ readonly _tag: "BlurredGrid";
370
+ } | {
371
+ readonly _tag: "RefreshedToday";
372
+ readonly today: {
373
+ readonly year: number;
374
+ readonly month: number;
375
+ readonly day: number;
376
+ };
377
+ } | {
378
+ readonly _tag: "CompletedFocusGrid";
379
+ };
380
+ } | {
381
+ readonly _tag: "GotPopoverMessage";
382
+ readonly message: {
383
+ readonly _tag: "CompletedLockScroll";
384
+ } | {
385
+ readonly _tag: "CompletedUnlockScroll";
386
+ } | {
387
+ readonly _tag: "CompletedInertOthers";
388
+ } | {
389
+ readonly _tag: "CompletedRestoreInert";
390
+ } | {
391
+ readonly _tag: "CompletedFocusButton";
392
+ } | {
393
+ readonly _tag: "IgnoredMouseClick";
394
+ } | {
395
+ readonly _tag: "SuppressedSpaceScroll";
396
+ } | {
397
+ readonly _tag: "RequestedOpen";
398
+ } | {
399
+ readonly _tag: "RequestedClose";
400
+ } | {
401
+ readonly _tag: "BlurredPanel";
402
+ } | {
403
+ readonly _tag: "PressedPointerOnButton";
404
+ readonly pointerType: string;
405
+ readonly button: number;
406
+ } | {
407
+ readonly _tag: "CompletedFocusPanel";
408
+ } | {
409
+ readonly _tag: "CompletedAnchorPopover";
410
+ } | {
411
+ readonly _tag: "CompletedPortalPopoverBackdrop";
412
+ } | {
413
+ readonly _tag: "GotAnimationMessage";
414
+ readonly message: {
415
+ readonly _tag: "Showed";
416
+ } | {
417
+ readonly _tag: "Hid";
418
+ } | {
419
+ readonly _tag: "AdvancedAnimationFrame";
420
+ } | {
421
+ readonly _tag: "EndedAnimation";
422
+ };
423
+ };
424
+ } | {
425
+ readonly _tag: "RequestedSelectDate";
426
+ readonly date: {
427
+ readonly year: number;
428
+ readonly month: number;
429
+ readonly day: number;
430
+ };
431
+ } | {
432
+ readonly _tag: "Cleared";
433
+ }, Readonly<{
434
+ anchor: AnchorConfig;
435
+ /** Renders the trigger button's content (typically the formatted selected
436
+ * date or a placeholder). Receives the current selection. */
437
+ triggerContent: (maybeDate: Option.Option<CalendarDate>) => Html;
438
+ /** Renders the calendar grid layout inside the popover panel. The
439
+ * consumer lays out the attribute bundles exactly as they would for
440
+ * an inline calendar. */
441
+ toCalendarView: (attributes: UiCalendar.CalendarAttributes) => Html;
442
+ isDisabled?: boolean;
443
+ /** Name for the hidden form input. When provided, a hidden `<input>` is
444
+ * rendered alongside the trigger so native form submission captures the
445
+ * selected date as an ISO string (`YYYY-MM-DD`). */
446
+ name?: string;
447
+ className?: string;
448
+ attributes?: ReadonlyArray<ChildAttribute>;
449
+ triggerClassName?: string;
450
+ triggerAttributes?: ReadonlyArray<ChildAttribute>;
451
+ panelClassName?: string;
452
+ panelAttributes?: ReadonlyArray<ChildAttribute>;
453
+ backdropClassName?: string;
454
+ backdropAttributes?: ReadonlyArray<ChildAttribute>;
455
+ }>>;
248
456
  export {};
249
457
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/datePicker/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/datePicker/index.ts"],"names":[],"mappings":"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"}