@foldkit/ui 0.150.0 → 0.151.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 (78) hide show
  1. package/dist/animation/update.d.ts +10 -9
  2. package/dist/animation/update.d.ts.map +1 -1
  3. package/dist/animation/update.js +27 -35
  4. package/dist/calendar/index.d.ts +100 -11
  5. package/dist/calendar/index.d.ts.map +1 -1
  6. package/dist/calendar/index.js +66 -80
  7. package/dist/checkbox/index.d.ts +3 -4
  8. package/dist/checkbox/index.d.ts.map +1 -1
  9. package/dist/checkbox/index.js +3 -4
  10. package/dist/combobox/multi.d.ts +40 -51
  11. package/dist/combobox/multi.d.ts.map +1 -1
  12. package/dist/combobox/multi.js +19 -16
  13. package/dist/combobox/shared.d.ts +20 -20
  14. package/dist/combobox/shared.d.ts.map +1 -1
  15. package/dist/combobox/shared.js +134 -128
  16. package/dist/combobox/single.d.ts +38 -51
  17. package/dist/combobox/single.d.ts.map +1 -1
  18. package/dist/combobox/single.js +21 -17
  19. package/dist/datePicker/index.d.ts +182 -15
  20. package/dist/datePicker/index.d.ts.map +1 -1
  21. package/dist/datePicker/index.js +37 -54
  22. package/dist/dialog/index.d.ts +45 -7
  23. package/dist/dialog/index.d.ts.map +1 -1
  24. package/dist/dialog/index.js +54 -49
  25. package/dist/disclosure/index.d.ts +3 -4
  26. package/dist/disclosure/index.d.ts.map +1 -1
  27. package/dist/disclosure/index.js +3 -4
  28. package/dist/dragAndDrop/index.d.ts +96 -7
  29. package/dist/dragAndDrop/index.d.ts.map +1 -1
  30. package/dist/dragAndDrop/index.js +49 -61
  31. package/dist/fileDrop/index.d.ts +26 -11
  32. package/dist/fileDrop/index.d.ts.map +1 -1
  33. package/dist/fileDrop/index.js +16 -23
  34. package/dist/listbox/multi.d.ts +39 -52
  35. package/dist/listbox/multi.d.ts.map +1 -1
  36. package/dist/listbox/multi.js +9 -7
  37. package/dist/listbox/shared.d.ts +14 -22
  38. package/dist/listbox/shared.d.ts.map +1 -1
  39. package/dist/listbox/shared.js +113 -114
  40. package/dist/listbox/single.d.ts +40 -55
  41. package/dist/listbox/single.d.ts.map +1 -1
  42. package/dist/listbox/single.js +8 -7
  43. package/dist/menu/index.d.ts +131 -37
  44. package/dist/menu/index.d.ts.map +1 -1
  45. package/dist/menu/index.js +111 -120
  46. package/dist/popover/index.d.ts +71 -10
  47. package/dist/popover/index.d.ts.map +1 -1
  48. package/dist/popover/index.js +80 -73
  49. package/dist/radioGroup/index.d.ts +31 -19
  50. package/dist/radioGroup/index.d.ts.map +1 -1
  51. package/dist/radioGroup/index.js +18 -18
  52. package/dist/slider/index.d.ts +44 -13
  53. package/dist/slider/index.d.ts.map +1 -1
  54. package/dist/slider/index.js +33 -38
  55. package/dist/switch/index.d.ts +3 -4
  56. package/dist/switch/index.d.ts.map +1 -1
  57. package/dist/switch/index.js +3 -4
  58. package/dist/tabs/index.d.ts +31 -17
  59. package/dist/tabs/index.d.ts.map +1 -1
  60. package/dist/tabs/index.js +17 -17
  61. package/dist/test/apps/disabledButton.d.ts +17 -17
  62. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  63. package/dist/test/apps/disabledButton.js +6 -4
  64. package/dist/toast/index.d.ts +96 -100
  65. package/dist/toast/index.d.ts.map +1 -1
  66. package/dist/toast/update.d.ts +97 -100
  67. package/dist/toast/update.d.ts.map +1 -1
  68. package/dist/toast/update.js +60 -58
  69. package/dist/tooltip/index.d.ts +2 -1
  70. package/dist/tooltip/index.d.ts.map +1 -1
  71. package/dist/tooltip/index.js +1 -1
  72. package/dist/tooltip/tooltip.d.ts +5 -10
  73. package/dist/tooltip/tooltip.d.ts.map +1 -1
  74. package/dist/tooltip/tooltip.js +45 -48
  75. package/dist/virtualList/index.d.ts +30 -29
  76. package/dist/virtualList/index.d.ts.map +1 -1
  77. package/dist/virtualList/index.js +21 -21
  78. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import { Option, Schema as S } from 'effect';
2
- import type * as Command from 'foldkit/command';
2
+ import { type Update } from 'foldkit';
3
3
  import type { View as SubmodelView } from 'foldkit/submodel';
4
4
  import { type BaseInitConfig, type BaseViewInputs, Message, OutMessage } from './shared.js';
5
5
  /** Schema for the multi-select combobox's private interaction state (open/closed status, active item, activation trigger, typed input value). The selection is owned by the parent and passed in via `ViewInputs.selectedValues`. */
@@ -29,7 +29,12 @@ export type Model = typeof Model.Type;
29
29
  export type InitConfig = BaseInitConfig;
30
30
  /** Creates an initial multi-select combobox model from a config. Defaults to closed with no active item and an empty input. */
31
31
  export declare const init: (config: InitConfig) => Model;
32
- /** Processes a combobox message and returns the next model, commands, and optional OutMessage. Stays open on selection (multi-select behavior) and emits a `Selected({ value })` OutMessage the parent folds by toggling the value's membership. Closing never emits `ClearedSelection`: the multi-select input rests empty by design, so an empty input on close carries no intent to clear. Clearing a multi-select is toggling its values off, one `Selected` at a time. The input always rests empty on close, so this ignores the message's `restingInputValue`; multi consumers pass `''`. */
32
+ /** Processes a Combobox Message and returns the next Model, optional Commands,
33
+ * and an optional OutMessage. Selection leaves the multi-select Combobox open
34
+ * and emits `Selected({ value })` for the parent to fold by toggling
35
+ * membership.
36
+ * Closing never emits `ClearedSelection` because its input rests empty by
37
+ * design. Clear the selection by toggling each value off. */
33
38
  export declare const update: (model: {
34
39
  readonly id: string;
35
40
  readonly isOpen: boolean;
@@ -50,31 +55,29 @@ export declare const update: (model: {
50
55
  readonly screenX: number;
51
56
  readonly screenY: number;
52
57
  }>;
53
- }, message: Message) => readonly [{
54
- readonly id: string;
55
- readonly isOpen: boolean;
56
- readonly isAnimated: boolean;
57
- readonly isModal: boolean;
58
- readonly nullable: boolean;
59
- readonly immediate: boolean;
60
- readonly selectInputOnFocus: boolean;
61
- readonly animation: {
58
+ }, message: Message) => Readonly<{
59
+ model: {
62
60
  readonly id: string;
63
- readonly isShowing: boolean;
64
- readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
61
+ readonly isOpen: boolean;
62
+ readonly isAnimated: boolean;
63
+ readonly isModal: boolean;
64
+ readonly nullable: boolean;
65
+ readonly immediate: boolean;
66
+ readonly selectInputOnFocus: boolean;
67
+ readonly animation: {
68
+ readonly id: string;
69
+ readonly isShowing: boolean;
70
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
71
+ };
72
+ readonly maybeActiveItemIndex: Option.Option<number>;
73
+ readonly activationTrigger: "Pointer" | "Keyboard";
74
+ readonly inputValue: string;
75
+ readonly maybeLastPointerPosition: Option.Option<{
76
+ readonly screenX: number;
77
+ readonly screenY: number;
78
+ }>;
65
79
  };
66
- readonly maybeActiveItemIndex: Option.Option<number>;
67
- readonly activationTrigger: "Pointer" | "Keyboard";
68
- readonly inputValue: string;
69
- readonly maybeLastPointerPosition: Option.Option<{
70
- readonly screenX: number;
71
- readonly screenY: number;
72
- }>;
73
- }, readonly Readonly<{
74
- name: string;
75
- args?: Record<string, unknown>;
76
- key?: string;
77
- effect: import("effect/Effect").Effect<{
80
+ commands?: Update.Commands<{
78
81
  readonly _tag: "CompletedLockScroll";
79
82
  } | {
80
83
  readonly _tag: "CompletedUnlockScroll";
@@ -149,14 +152,15 @@ export declare const update: (model: {
149
152
  readonly _tag: "CompletedAttachComboboxSelectOnFocus";
150
153
  } | {
151
154
  readonly _tag: "CompletedPortalComboboxBackdrop";
152
- }, never, never>;
153
- }>[], Option.Option<OutMessage<string>>];
155
+ }, never>;
156
+ outMessage?: OutMessage<string>;
157
+ }>;
154
158
  type UpdateReturn = ReturnType<typeof update>;
155
- /** Programmatically opens the combobox, updating the model and returning
156
- * focus and modal commands. Use this in domain-event handlers to open the combobox. */
159
+ /** Programmatically opens the Combobox, updating the Model and returning
160
+ * focus and modal Commands. Use this in domain-event handlers. */
157
161
  export declare const open: (model: Model) => UpdateReturn;
158
- /** Programmatically closes the combobox, updating the model and returning
159
- * focus and modal commands. The multi-select input always rests empty on
162
+ /** Programmatically closes the Combobox, updating the Model and returning
163
+ * focus and modal Commands. The multi-select input always rests empty on
160
164
  * close. Use this in domain-event handlers to close the combobox. */
161
165
  export declare const close: (model: Model) => UpdateReturn;
162
166
  /** Programmatically activates an item in the multi-select combobox. Emits
@@ -164,6 +168,7 @@ export declare const close: (model: Model) => UpdateReturn;
164
168
  export declare const selectItem: (model: Model, item: string) => UpdateReturn;
165
169
  /** Per-render view inputs passed to the view via `h.submodel`'s `viewInputs` field. */
166
170
  export type ViewInputs<Item extends string> = BaseViewInputs<Item>;
171
+ type BundleUpdateReturn<Item extends string> = Update.ReturnWithOutMessage<Model, Message, OutMessage<Item>>;
167
172
  /** The `view`, `update`, and programmatic helpers that
168
173
  * `Combobox.Multi.create` returns, bound to one `Item` type. Name it to
169
174
  * annotate a value that holds a created bundle, such as a field on a
@@ -171,26 +176,10 @@ export type ViewInputs<Item extends string> = BaseViewInputs<Item>;
171
176
  * calling `create` itself. */
172
177
  export type Bundle<Item extends string = string> = Readonly<{
173
178
  view: SubmodelView<Model, Message, ViewInputs<Item>>;
174
- update: (model: Model, message: Message) => readonly [
175
- Model,
176
- ReadonlyArray<Command.Command<Message>>,
177
- Option.Option<OutMessage<Item>>
178
- ];
179
- selectItem: (model: Model, item: Item) => readonly [
180
- Model,
181
- ReadonlyArray<Command.Command<Message>>,
182
- Option.Option<OutMessage<Item>>
183
- ];
184
- open: (model: Model) => readonly [
185
- Model,
186
- ReadonlyArray<Command.Command<Message>>,
187
- Option.Option<OutMessage<Item>>
188
- ];
189
- close: (model: Model) => readonly [
190
- Model,
191
- ReadonlyArray<Command.Command<Message>>,
192
- Option.Option<OutMessage<Item>>
193
- ];
179
+ update: (model: Model, message: Message) => BundleUpdateReturn<Item>;
180
+ selectItem: (model: Model, item: Item) => BundleUpdateReturn<Item>;
181
+ open: (model: Model) => BundleUpdateReturn<Item>;
182
+ close: (model: Model) => BundleUpdateReturn<Item>;
194
183
  }>;
195
184
  /** Pairs the multi-select combobox's `view` and `update` (and programmatic
196
185
  * helpers) behind a single Item-typed entry point. `selectItem` emits
@@ -1 +1 @@
1
- {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,mOAAmO;AACnO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,+HAA+H;AAC/H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAAyB,CAAA;AAInE,okBAAokB;AACpkB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAgBjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;wFACwF;AACxF,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,YACoC,CAAA;AAExE;;sEAEsE;AACtE,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,KAAG,YACwC,CAAA;AAE7E;wEACwE;AACxE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,MAAM,MAAM,KAAG,YAIrD,CAAA;AAIH,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AAIlE;;;;+BAI+B;AAC/B,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CACN,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,KACb,SAAS;QACZ,KAAK;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC,CAAA;IACD,UAAU,EAAE,CACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,KACP,SAAS;QACZ,KAAK;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC,CAAA;IACD,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,KACT,SAAS;QACZ,KAAK;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC,CAAA;IACD,KAAK,EAAE,CACL,KAAK,EAAE,KAAK,KACT,SAAS;QACZ,KAAK;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC,CAAA;CACF,CAAC,CAAA;AAEF;;wEAEwE;AACxE,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CA2BlE,CAAA"}
1
+ {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,mOAAmO;AACnO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,+HAA+H;AAC/H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAAyB,CAAA;AAInE;;;;;8DAK8D;AAC9D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;mEACmE;AACnE,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,YACoC,CAAA;AAExE;;sEAEsE;AACtE,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,KAAG,YACwC,CAAA;AAE7E;wEACwE;AACxE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,MAAM,MAAM,KAAG,YAIrD,CAAA;AAIH,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AAIlE,KAAK,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACxE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;AAED;;;;+BAI+B;AAC/B,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;CAClD,CAAC,CAAA;AAEF;;wEAEwE;AACxE,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CA2BlE,CAAA"}
@@ -10,27 +10,30 @@ export const Model = S.Struct({
10
10
  /** Creates an initial multi-select combobox model from a config. Defaults to closed with no active item and an empty input. */
11
11
  export const init = (config) => __foldkitBrandViewResult((baseInit(config)), "@foldkit/ui/combobox/multi.js#init");
12
12
  // UPDATE
13
- /** Processes a combobox message and returns the next model, commands, and optional OutMessage. Stays open on selection (multi-select behavior) and emits a `Selected({ value })` OutMessage the parent folds by toggling the value's membership. Closing never emits `ClearedSelection`: the multi-select input rests empty by design, so an empty input on close carries no intent to clear. Clearing a multi-select is toggling its values off, one `Selected` at a time. The input always rests empty on close, so this ignores the message's `restingInputValue`; multi consumers pass `''`. */
13
+ /** Processes a Combobox Message and returns the next Model, optional Commands,
14
+ * and an optional OutMessage. Selection leaves the multi-select Combobox open
15
+ * and emits `Selected({ value })` for the parent to fold by toggling
16
+ * membership.
17
+ * Closing never emits `ClearedSelection` because its input rests empty by
18
+ * design. Clear the selection by toggling each value off. */
14
19
  export const update = makeUpdate({
15
- handleClose: model => __foldkitBrandViewResult(([
16
- evo(closedBaseModel(model), { inputValue: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/multi.js#inputValue") }),
17
- Option.none(),
18
- ]), "@foldkit/ui/combobox/multi.js#handleClose"),
19
- handleSelectedItem: (model, item) => __foldkitBrandViewResult(([
20
+ handleClose: model => (__foldkitBrandViewResult(({
21
+ model: evo(closedBaseModel(model), { inputValue: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/multi.js#inputValue") }),
22
+ }), "@foldkit/ui/combobox/multi.js#handleClose")),
23
+ handleSelectedItem: (model, item) => (__foldkitBrandViewResult(({
20
24
  model,
21
- [],
22
- Option.some(OutMessage.Selected({ value: item })),
23
- ]), "@foldkit/ui/combobox/multi.js#handleSelectedItem"),
24
- handleImmediateActivation: (model, item) => __foldkitBrandViewResult(([
25
+ outMessage: OutMessage.Selected({ value: item }),
26
+ }), "@foldkit/ui/combobox/multi.js#handleSelectedItem")),
27
+ handleImmediateActivation: (model, item) => (__foldkitBrandViewResult(({
25
28
  model,
26
- Option.some(OutMessage.Selected({ value: item })),
27
- ]), "@foldkit/ui/combobox/multi.js#handleImmediateActivation"),
29
+ outMessage: OutMessage.Selected({ value: item }),
30
+ }), "@foldkit/ui/combobox/multi.js#handleImmediateActivation")),
28
31
  });
29
- /** Programmatically opens the combobox, updating the model and returning
30
- * focus and modal commands. Use this in domain-event handlers to open the combobox. */
32
+ /** Programmatically opens the Combobox, updating the Model and returning
33
+ * focus and modal Commands. Use this in domain-event handlers. */
31
34
  export const open = (model) => __foldkitBrandViewResult((update(model, Message.Opened({ maybeActiveItemIndex: Option.none() }))), "@foldkit/ui/combobox/multi.js#open");
32
- /** Programmatically closes the combobox, updating the model and returning
33
- * focus and modal commands. The multi-select input always rests empty on
35
+ /** Programmatically closes the Combobox, updating the Model and returning
36
+ * focus and modal Commands. The multi-select input always rests empty on
34
37
  * close. Use this in domain-event handlers to close the combobox. */
35
38
  export const close = (model) => __foldkitBrandViewResult((update(model, Message.Closed({ restingInputValue: '', isClearable: true }))), "@foldkit/ui/combobox/multi.js#close");
36
39
  /** Programmatically activates an item in the multi-select combobox. Emits
@@ -3,6 +3,7 @@ import * as Command from 'foldkit/command';
3
3
  import type { ChildAttribute, Html } from 'foldkit/html';
4
4
  import * as Mount from 'foldkit/mount';
5
5
  import { type View as SubmodelView } from 'foldkit/submodel';
6
+ import * as Update from 'foldkit/update';
6
7
  import { AnchorConfig } from '../anchor/index.js';
7
8
  import { groupContiguous } from '../group.js';
8
9
  export { groupContiguous };
@@ -160,11 +161,11 @@ export declare const itemId: (id: string, index: number) => string;
160
161
  /** Resets only shared base fields to their closed state. Does not touch inputValue. That is variant-specific. */
161
162
  export declare const closedBaseModel: <Model extends BaseModel>(model: Model) => Model;
162
163
  type SelectedItemContext<Model extends BaseModel> = Readonly<{
163
- closeWithFocus: (model: Model, maybeOutMessage?: Option.Option<OutMessage>) => readonly [
164
- Model,
165
- ReadonlyArray<Command.Command<Message>>,
166
- Option.Option<OutMessage>
167
- ];
164
+ closeWithFocus: (model: Model, outMessage?: OutMessage) => Update.ReturnWithOutMessage<Model, Message, OutMessage>;
165
+ }>;
166
+ type HandlerReturn<Model> = Readonly<{
167
+ model: Model;
168
+ outMessage?: OutMessage;
168
169
  }>;
169
170
  /** Prevents page scrolling while the combobox popup is open in modal mode. */
170
171
  export declare const LockScroll: Command.CommandDefinitionNoArgs<"LockScroll", Effect.Effect<{
@@ -223,14 +224,12 @@ export declare const DetectMovementOrAnimationEnd: Command.CommandDefinitionWith
223
224
  }, never, never>>;
224
225
  /** Creates a combobox update function from variant-specific handlers. Shared logic (open, close, activate, transition) is handled internally; only close, selection, and immediate-activation behavior varies by variant. */
225
226
  export declare const makeUpdate: <Model extends BaseModel>(handlers: Readonly<{
226
- handleClose: (model: Model, restingInputValue: string, isClearable: boolean) => readonly [Model, Option.Option<OutMessage>];
227
- handleSelectedItem: (model: Model, item: string, displayText: string, wasSelected: boolean, context: SelectedItemContext<Model>) => readonly [Model, ReadonlyArray<Command.Command<Message>>, Option.Option<OutMessage>];
228
- handleImmediateActivation: (model: Model, item: string) => readonly [Model, Option.Option<OutMessage>];
229
- }>) => (model: Model, message: Message) => readonly [Model, readonly Readonly<{
230
- name: string;
231
- args?: Record<string, unknown>;
232
- key?: string;
233
- effect: Effect.Effect<{
227
+ handleClose: (model: Model, restingInputValue: string, isClearable: boolean) => HandlerReturn<Model>;
228
+ handleSelectedItem: (model: Model, item: string, displayText: string, wasSelected: boolean, context: SelectedItemContext<Model>) => Update.ReturnWithOutMessage<Model, Message, OutMessage>;
229
+ handleImmediateActivation: (model: Model, item: string) => HandlerReturn<Model>;
230
+ }>) => (model: Model, message: Message) => Readonly<{
231
+ model: Model;
232
+ commands?: Update.Commands<{
234
233
  readonly _tag: "CompletedLockScroll";
235
234
  } | {
236
235
  readonly _tag: "CompletedUnlockScroll";
@@ -305,8 +304,9 @@ export declare const makeUpdate: <Model extends BaseModel>(handlers: Readonly<{
305
304
  readonly _tag: "CompletedAttachComboboxSelectOnFocus";
306
305
  } | {
307
306
  readonly _tag: "CompletedPortalComboboxBackdrop";
308
- }, never, never>;
309
- }>[], Option.Option<OutMessage<string>>];
307
+ }, never>;
308
+ outMessage?: OutMessage<string>;
309
+ }>;
310
310
  /** The anchor-positioning Mount this Combobox renders on its items panel.
311
311
  * The panel is always anchored to the input wrapper via Floating UI and
312
312
  * portaled to the document body (opt out of portaling with
@@ -365,12 +365,12 @@ export type GroupHeading = Readonly<{
365
365
  /** Per-render view inputs passed to `view` via `h.submodel`'s `viewInputs` field.
366
366
  *
367
367
  * The Combobox emits a `Selected({ value })` OutMessage on commit.
368
- * Consumers pattern-match this in their `GotComboboxMessage` handler:
369
- * single-select stores the value, multi-select toggles the value's
370
- * membership. `restingInputValue` is the text the input returns to on
368
+ * Fold it in the Combobox's `Update.foldChild` config: single-select
369
+ * stores the value, while multi-select toggles the value's membership.
370
+ * `restingInputValue` is the text the input returns to on
371
371
  * close (the selection's display text for single-select, empty for
372
- * multi-select). Everything here except the selection itself; each
373
- * variant composes its own selection field on top. */
372
+ * multi-select). The selection is not part of this shared shape. Each
373
+ * variant adds its own selection field. */
374
374
  export type BaseViewInputsCommon<Item extends string> = Readonly<{
375
375
  items: ReadonlyArray<Item>;
376
376
  restingInputValue: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/combobox/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/combobox/shared.ts"],"names":[],"mappings":"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"}