@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
@@ -177,20 +177,18 @@ export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnim
177
177
  });
178
178
  /** 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. */
179
179
  export const makeUpdate = (handlers) => {
180
- const withUpdateReturn = M.withReturnType();
181
180
  const foldAnimationOutMessage = M.type().pipe(M.withReturnType(), M.tagsExhaustive({
182
- StartedLeaveAnimating: () => __foldkitBrandViewResult((model => __foldkitBrandViewResult(([
181
+ StartedLeaveAnimating: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({
183
182
  model,
184
- [DetectMovementOrAnimationEnd({ id: model.id })],
185
- ]), "@foldkit/ui/combobox/shared.js#anonymous")), "@foldkit/ui/combobox/shared.js#StartedLeaveAnimating"),
186
- TransitionedOut: () => __foldkitBrandViewResult((model => __foldkitBrandViewResult(([model, []]), "@foldkit/ui/combobox/shared.js#anonymous~2")), "@foldkit/ui/combobox/shared.js#TransitionedOut"),
183
+ commands: [DetectMovementOrAnimationEnd({ id: model.id })],
184
+ }), "@foldkit/ui/combobox/shared.js#anonymous"))), "@foldkit/ui/combobox/shared.js#StartedLeaveAnimating"),
185
+ TransitionedOut: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#anonymous~2"))), "@foldkit/ui/combobox/shared.js#TransitionedOut"),
187
186
  }));
188
187
  const foldAnimation = Update.foldChild({
189
188
  update: animationUpdate,
190
189
  read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/combobox/shared.js#read"),
191
190
  write: (model, nextAnimation) => __foldkitBrandViewResult((constrainedEvo(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/combobox/shared.js#animation") })), "@foldkit/ui/combobox/shared.js#write"),
192
191
  toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/combobox/shared.js#toParentMessage"),
193
- toParentOutMessage: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#toParentOutMessage"),
194
192
  foldOutMessage: foldAnimationOutMessage,
195
193
  });
196
194
  const internalUpdate = (model, message) => {
@@ -203,54 +201,61 @@ export const makeUpdate = (handlers) => {
203
201
  focusInput,
204
202
  ...Array.getSomes([maybeUnlockScroll, maybeRestoreInert]),
205
203
  ];
206
- const closeWithoutFocusCommands = Array.getSomes([
207
- maybeUnlockScroll,
208
- maybeRestoreInert,
209
- ]);
210
- const closeSelectedItemWithFocus = (nextModel, maybeOutMessage = Option.none()) => {
204
+ const closeWithoutFocusCommands = Array.getSomes([maybeUnlockScroll, maybeRestoreInert]);
205
+ const closeSelectedItemWithFocus = (nextModel, outMessage) => {
211
206
  const didClose = model.isOpen && !nextModel.isOpen;
212
- const commands = didClose ? closeWithFocusCommands : [focusInput];
207
+ const commands = didClose
208
+ ? closeWithFocusCommands
209
+ : [focusInput];
213
210
  if (didClose && model.isAnimated) {
214
- const [transitionedModel, animationCommands] = foldAnimation(nextModel, AnimationMessage.Hid());
215
- return __foldkitBrandViewResult(([
216
- transitionedModel,
217
- [...commands, ...animationCommands],
218
- maybeOutMessage,
219
- ]), "@foldkit/ui/combobox/shared.js#closeSelectedItemWithFocus");
211
+ return __foldkitBrandViewResult((pipe(nextModel, Update.combine([
212
+ stepModel => (__foldkitBrandViewResult(({ model: stepModel, commands }), "@foldkit/ui/combobox/shared.js#anonymous~3")),
213
+ foldAnimation(AnimationMessage.Hid()),
214
+ ]), Update.withOutMessage(outMessage))), "@foldkit/ui/combobox/shared.js#closeSelectedItemWithFocus");
220
215
  }
221
- return __foldkitBrandViewResult(([nextModel, commands, maybeOutMessage]), "@foldkit/ui/combobox/shared.js#closeSelectedItemWithFocus");
216
+ return __foldkitBrandViewResult((Update.withOutMessage({ model: nextModel, commands }, outMessage)), "@foldkit/ui/combobox/shared.js#closeSelectedItemWithFocus");
222
217
  };
223
218
  const openCombobox = (baseModel) => {
224
219
  if (model.isAnimated) {
225
- const [nextModel, animationCommands] = foldAnimation(baseModel, AnimationMessage.Showed());
226
- return __foldkitBrandViewResult(([
227
- constrainedEvo(nextModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/combobox/shared.js#isOpen~2") }),
228
- [
229
- ...Array.getSomes([maybeLockScroll, maybeInertOthers]),
230
- ...animationCommands,
231
- ],
232
- Option.none(),
233
- ]), "@foldkit/ui/combobox/shared.js#openCombobox");
220
+ return __foldkitBrandViewResult((Update.combine(baseModel, [
221
+ stepModel => (__foldkitBrandViewResult(({
222
+ model: stepModel,
223
+ commands: Array.getSomes([maybeLockScroll, maybeInertOthers]),
224
+ }), "@foldkit/ui/combobox/shared.js#anonymous~4")),
225
+ foldAnimation(AnimationMessage.Showed()),
226
+ stepModel => (__foldkitBrandViewResult(({
227
+ model: constrainedEvo(stepModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/combobox/shared.js#isOpen~2") }),
228
+ }), "@foldkit/ui/combobox/shared.js#anonymous~5")),
229
+ ])), "@foldkit/ui/combobox/shared.js#openCombobox");
234
230
  }
235
- return __foldkitBrandViewResult(([
236
- constrainedEvo(baseModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/combobox/shared.js#isOpen~3") }),
237
- Array.getSomes([maybeLockScroll, maybeInertOthers]),
238
- Option.none(),
239
- ]), "@foldkit/ui/combobox/shared.js#openCombobox");
231
+ return __foldkitBrandViewResult(({
232
+ model: constrainedEvo(baseModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/combobox/shared.js#isOpen~3") }),
233
+ commands: Array.getSomes([maybeLockScroll, maybeInertOthers]),
234
+ }), "@foldkit/ui/combobox/shared.js#openCombobox");
240
235
  };
241
236
  const closeCombobox = (baseModel, commands, restingInputValue, isClearable) => {
242
- const [closed, maybeCloseOutMessage] = handlers.handleClose(baseModel, restingInputValue, isClearable);
237
+ const comboboxClose = handlers.handleClose(baseModel, restingInputValue, isClearable);
243
238
  if (model.isAnimated) {
244
- const [nextModel, animationCommands] = foldAnimation(closed, AnimationMessage.Hid());
245
- return __foldkitBrandViewResult(([
246
- nextModel,
247
- [...commands, ...animationCommands],
248
- maybeCloseOutMessage,
249
- ]), "@foldkit/ui/combobox/shared.js#closeCombobox");
239
+ return __foldkitBrandViewResult((pipe(comboboxClose.model, Update.combine([
240
+ stepModel => (__foldkitBrandViewResult(({ model: stepModel, commands }), "@foldkit/ui/combobox/shared.js#anonymous~6")),
241
+ foldAnimation(AnimationMessage.Hid()),
242
+ ]), Update.withOutMessage(comboboxClose.outMessage))), "@foldkit/ui/combobox/shared.js#closeCombobox");
250
243
  }
251
- return __foldkitBrandViewResult(([closed, commands, maybeCloseOutMessage]), "@foldkit/ui/combobox/shared.js#closeCombobox");
244
+ return __foldkitBrandViewResult((Update.withOutMessage({ model: comboboxClose.model, commands }, comboboxClose.outMessage)), "@foldkit/ui/combobox/shared.js#closeCombobox");
252
245
  };
253
- return __foldkitBrandViewResult((M.value(message).pipe(withUpdateReturn, M.tag('CompletedLockScroll', 'CompletedUnlockScroll', 'CompletedInertOthers', 'CompletedRestoreInert', 'CompletedFocusInput', 'CompletedScrollIntoView', 'CompletedClickItem', 'SuppressedItemCommit', 'CompletedAnchorCombobox', 'CompletedAttachComboboxPreventBlur', 'CompletedAttachComboboxSelectOnFocus', 'CompletedPortalComboboxBackdrop', () => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/combobox/shared.js#anonymous~3")), M.tagsExhaustive({
246
+ return __foldkitBrandViewResult((Message.match(message, {
247
+ CompletedLockScroll: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedLockScroll")),
248
+ CompletedUnlockScroll: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedUnlockScroll")),
249
+ CompletedInertOthers: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedInertOthers")),
250
+ CompletedRestoreInert: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedRestoreInert")),
251
+ CompletedFocusInput: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedFocusInput")),
252
+ CompletedScrollIntoView: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedScrollIntoView")),
253
+ CompletedClickItem: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedClickItem")),
254
+ SuppressedItemCommit: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#SuppressedItemCommit")),
255
+ CompletedAnchorCombobox: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAnchorCombobox")),
256
+ CompletedAttachComboboxPreventBlur: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAttachComboboxPreventBlur")),
257
+ CompletedAttachComboboxSelectOnFocus: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedAttachComboboxSelectOnFocus")),
258
+ CompletedPortalComboboxBackdrop: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#CompletedPortalComboboxBackdrop")),
254
259
  Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openCombobox(constrainedEvo(model, {
255
260
  maybeActiveItemIndex: () => __foldkitBrandViewResult((maybeActiveItemIndex), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~2"),
256
261
  activationTrigger: () => __foldkitBrandViewResult((Option.match(maybeActiveItemIndex, {
@@ -259,77 +264,73 @@ export const makeUpdate = (handlers) => {
259
264
  })), "@foldkit/ui/combobox/shared.js#activationTrigger~2"),
260
265
  maybeLastPointerPosition: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#maybeLastPointerPosition~2"),
261
266
  }))), "@foldkit/ui/combobox/shared.js#Opened"),
262
- // NOTE: guard on isOpen so a close-path message baked from a stale
263
- // render (a sub-frame blur after a selection already closed the
264
- // combobox) cannot rewrite inputValue with an outdated
265
- // restingInputValue or re-emit ClearedSelection while closed.
267
+ // NOTE: A blur Message can arrive after selection has already closed the
268
+ // Combobox. Ignore that stale Message so it cannot restore an old input
269
+ // value or emit ClearedSelection again.
266
270
  Closed: ({ restingInputValue, isClearable }) => __foldkitBrandViewResult((model.isOpen
267
271
  ? closeCombobox(model, closeWithFocusCommands, restingInputValue, isClearable)
268
- : [model, [], Option.none()]), "@foldkit/ui/combobox/shared.js#Closed"),
272
+ : { model }), "@foldkit/ui/combobox/shared.js#Closed"),
269
273
  BlurredInput: ({ restingInputValue, isClearable }) => __foldkitBrandViewResult((model.isOpen
270
274
  ? closeCombobox(model, closeWithoutFocusCommands, restingInputValue, isClearable)
271
- : [model, [], Option.none()]), "@foldkit/ui/combobox/shared.js#BlurredInput"),
275
+ : { model }), "@foldkit/ui/combobox/shared.js#BlurredInput"),
272
276
  ActivatedItem: ({ index, activationTrigger, maybeImmediateSelection, }) => {
273
277
  const highlightedModel = constrainedEvo(model, {
274
278
  maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~3"),
275
279
  activationTrigger: () => __foldkitBrandViewResult((activationTrigger), "@foldkit/ui/combobox/shared.js#activationTrigger~3"),
276
280
  });
277
- const skippedActivation = [highlightedModel, Option.none()];
278
- const [nextModel, maybeOutMessage] = Option.match(maybeImmediateSelection, {
281
+ const skippedActivation = {
282
+ model: highlightedModel,
283
+ };
284
+ const activation = Option.match(maybeImmediateSelection, {
279
285
  onNone: () => __foldkitBrandViewResult((skippedActivation), "@foldkit/ui/combobox/shared.js#onNone~2"),
280
286
  onSome: ({ item }) => __foldkitBrandViewResult((handlers.handleImmediateActivation(highlightedModel, item)), "@foldkit/ui/combobox/shared.js#onSome~2"),
281
287
  });
282
- return __foldkitBrandViewResult(([
283
- nextModel,
284
- activationTrigger === 'Keyboard'
285
- ? [ScrollIntoView({ id: model.id, index })]
286
- : [],
287
- maybeOutMessage,
288
- ]), "@foldkit/ui/combobox/shared.js#ActivatedItem");
288
+ if (activationTrigger === 'Keyboard') {
289
+ return __foldkitBrandViewResult((Update.withOutMessage({
290
+ model: activation.model,
291
+ commands: [ScrollIntoView({ id: model.id, index })],
292
+ }, activation.outMessage)), "@foldkit/ui/combobox/shared.js#ActivatedItem");
293
+ }
294
+ else {
295
+ return __foldkitBrandViewResult((activation), "@foldkit/ui/combobox/shared.js#ActivatedItem");
296
+ }
289
297
  },
290
298
  MovedPointerOverItem: ({ index, screenX, screenY }) => {
291
- const isSamePosition = Option.exists(model.maybeLastPointerPosition, position => __foldkitBrandViewResult((position.screenX === screenX && position.screenY === screenY), "@foldkit/ui/combobox/shared.js#anonymous~4"));
299
+ const isSamePosition = Option.exists(model.maybeLastPointerPosition, position => __foldkitBrandViewResult((position.screenX === screenX && position.screenY === screenY), "@foldkit/ui/combobox/shared.js#anonymous~7"));
292
300
  if (isSamePosition) {
293
- return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/combobox/shared.js#MovedPointerOverItem");
301
+ return __foldkitBrandViewResult(({ model }), "@foldkit/ui/combobox/shared.js#MovedPointerOverItem");
294
302
  }
295
- return __foldkitBrandViewResult(([
296
- constrainedEvo(model, {
303
+ return __foldkitBrandViewResult(({
304
+ model: constrainedEvo(model, {
297
305
  maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~4"),
298
306
  activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/combobox/shared.js#activationTrigger~4"),
299
307
  maybeLastPointerPosition: () => __foldkitBrandViewResult((Option.some({ screenX, screenY })), "@foldkit/ui/combobox/shared.js#maybeLastPointerPosition~3"),
300
308
  }),
301
- [],
302
- Option.none(),
303
- ]), "@foldkit/ui/combobox/shared.js#MovedPointerOverItem");
309
+ }), "@foldkit/ui/combobox/shared.js#MovedPointerOverItem");
304
310
  },
305
311
  DeactivatedItem: () => __foldkitBrandViewResult((model.activationTrigger === 'Pointer'
306
- ? [
307
- constrainedEvo(model, {
312
+ ? {
313
+ model: constrainedEvo(model, {
308
314
  maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~5"),
309
315
  }),
310
- [],
311
- Option.none(),
312
- ]
313
- : [model, [], Option.none()]), "@foldkit/ui/combobox/shared.js#DeactivatedItem"),
316
+ }
317
+ : { model }), "@foldkit/ui/combobox/shared.js#DeactivatedItem"),
314
318
  SelectedItem: ({ item, displayText, wasSelected }) => __foldkitBrandViewResult((handlers.handleSelectedItem(model, item, displayText, wasSelected, {
315
319
  closeWithFocus: closeSelectedItemWithFocus,
316
320
  })), "@foldkit/ui/combobox/shared.js#SelectedItem"),
317
- RequestedItemClick: ({ index }) => __foldkitBrandViewResult(([
321
+ RequestedItemClick: ({ index }) => (__foldkitBrandViewResult(({
318
322
  model,
319
- [ClickItem({ id: model.id, index })],
320
- Option.none(),
321
- ]), "@foldkit/ui/combobox/shared.js#RequestedItemClick"),
323
+ commands: [ClickItem({ id: model.id, index })],
324
+ }), "@foldkit/ui/combobox/shared.js#RequestedItemClick")),
322
325
  UpdatedInputValue: ({ value }) => {
323
326
  if (model.isOpen) {
324
- return __foldkitBrandViewResult(([
325
- constrainedEvo(model, {
327
+ return __foldkitBrandViewResult(({
328
+ model: constrainedEvo(model, {
326
329
  inputValue: () => __foldkitBrandViewResult((value), "@foldkit/ui/combobox/shared.js#inputValue"),
327
330
  maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(0)), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~6"),
328
331
  activationTrigger: () => __foldkitBrandViewResult(('Keyboard'), "@foldkit/ui/combobox/shared.js#activationTrigger~5"),
329
332
  }),
330
- [],
331
- Option.none(),
332
- ]), "@foldkit/ui/combobox/shared.js#UpdatedInputValue");
333
+ }), "@foldkit/ui/combobox/shared.js#UpdatedInputValue");
333
334
  }
334
335
  return __foldkitBrandViewResult((openCombobox(constrainedEvo(model, {
335
336
  inputValue: () => __foldkitBrandViewResult((value), "@foldkit/ui/combobox/shared.js#inputValue~2"),
@@ -342,15 +343,20 @@ export const makeUpdate = (handlers) => {
342
343
  if (model.isOpen) {
343
344
  return __foldkitBrandViewResult((closeCombobox(model, closeWithFocusCommands, restingInputValue, isClearable)), "@foldkit/ui/combobox/shared.js#PressedToggleButton");
344
345
  }
345
- const [nextModel, commands] = openCombobox(constrainedEvo(model, {
346
+ return __foldkitBrandViewResult((Update.combine(constrainedEvo(model, {
346
347
  maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#maybeActiveItemIndex~8"),
347
348
  activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/combobox/shared.js#activationTrigger~7"),
348
349
  maybeLastPointerPosition: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#maybeLastPointerPosition~5"),
349
- }));
350
- return __foldkitBrandViewResult(([nextModel, [focusInput, ...commands], Option.none()]), "@foldkit/ui/combobox/shared.js#PressedToggleButton");
350
+ }), [
351
+ stepModel => (__foldkitBrandViewResult(({
352
+ model: stepModel,
353
+ commands: [focusInput],
354
+ }), "@foldkit/ui/combobox/shared.js#anonymous~8")),
355
+ openCombobox,
356
+ ])), "@foldkit/ui/combobox/shared.js#PressedToggleButton");
351
357
  },
352
358
  GotAnimationMessage: ({ message: animationMessage }) => __foldkitBrandViewResult((foldAnimation(model, animationMessage)), "@foldkit/ui/combobox/shared.js#GotAnimationMessage"),
353
- }))), "@foldkit/ui/combobox/shared.js#internalUpdate");
359
+ })), "@foldkit/ui/combobox/shared.js#internalUpdate");
354
360
  };
355
361
  return __foldkitBrandViewResult((internalUpdate), "@foldkit/ui/combobox/shared.js#makeUpdate");
356
362
  };
@@ -380,10 +386,10 @@ export const AnchorCombobox = Mount.define('AnchorCombobox', { buttonId: S.Strin
380
386
  capture: true,
381
387
  });
382
388
  teardownAnchor();
383
- }), "@foldkit/ui/combobox/shared.js#anonymous~8");
384
- }), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/combobox/shared.js#anonymous~10"));
385
- return __foldkitBrandViewResult((Message.CompletedAnchorCombobox()), "@foldkit/ui/combobox/shared.js#anonymous~7");
386
- })), "@foldkit/ui/combobox/shared.js#anonymous~6")), "@foldkit/ui/combobox/shared.js#anonymous~5"));
389
+ }), "@foldkit/ui/combobox/shared.js#anonymous~12");
390
+ }), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/combobox/shared.js#anonymous~14"));
391
+ return __foldkitBrandViewResult((Message.CompletedAnchorCombobox()), "@foldkit/ui/combobox/shared.js#anonymous~11");
392
+ })), "@foldkit/ui/combobox/shared.js#anonymous~10")), "@foldkit/ui/combobox/shared.js#anonymous~9"));
387
393
  /** The Mount this Combobox renders to install a `pointerdown`-cancelling
388
394
  * capture listener that prevents blur on item presses. Exposed so Scene
389
395
  * tests can call
@@ -394,12 +400,12 @@ export const AttachComboboxPreventBlur = Mount.define('AttachComboboxPreventBlur
394
400
  event.preventDefault();
395
401
  };
396
402
  element.addEventListener('pointerdown', handler, { capture: true });
397
- return __foldkitBrandViewResult((handler), "@foldkit/ui/combobox/shared.js#anonymous~13");
403
+ return __foldkitBrandViewResult((handler), "@foldkit/ui/combobox/shared.js#anonymous~17");
398
404
  }), handler => __foldkitBrandViewResult((Effect.sync(() => __foldkitBrandViewResult((element.removeEventListener('pointerdown', handler, {
399
405
  capture: true,
400
- })), "@foldkit/ui/combobox/shared.js#anonymous~15"))), "@foldkit/ui/combobox/shared.js#anonymous~14"));
401
- return __foldkitBrandViewResult((Message.CompletedAttachComboboxPreventBlur()), "@foldkit/ui/combobox/shared.js#anonymous~12");
402
- })), "@foldkit/ui/combobox/shared.js#anonymous~11"));
406
+ })), "@foldkit/ui/combobox/shared.js#anonymous~19"))), "@foldkit/ui/combobox/shared.js#anonymous~18"));
407
+ return __foldkitBrandViewResult((Message.CompletedAttachComboboxPreventBlur()), "@foldkit/ui/combobox/shared.js#anonymous~16");
408
+ })), "@foldkit/ui/combobox/shared.js#anonymous~15"));
403
409
  /** The Mount this Combobox renders to install the input's select-on-focus
404
410
  * behavior. Exposed so Scene tests can call
405
411
  * `Scene.Mount.resolve(AttachComboboxSelectOnFocus, CompletedAttachComboboxSelectOnFocus())`. */
@@ -411,17 +417,17 @@ export const AttachComboboxSelectOnFocus = Mount.define('AttachComboboxSelectOnF
411
417
  }
412
418
  };
413
419
  element.addEventListener('focus', handler);
414
- return __foldkitBrandViewResult((handler), "@foldkit/ui/combobox/shared.js#anonymous~18");
415
- }), handler => __foldkitBrandViewResult((Effect.sync(() => __foldkitBrandViewResult((element.removeEventListener('focus', handler)), "@foldkit/ui/combobox/shared.js#anonymous~20"))), "@foldkit/ui/combobox/shared.js#anonymous~19"));
416
- return __foldkitBrandViewResult((Message.CompletedAttachComboboxSelectOnFocus()), "@foldkit/ui/combobox/shared.js#anonymous~17");
417
- })), "@foldkit/ui/combobox/shared.js#anonymous~16"));
420
+ return __foldkitBrandViewResult((handler), "@foldkit/ui/combobox/shared.js#anonymous~22");
421
+ }), handler => __foldkitBrandViewResult((Effect.sync(() => __foldkitBrandViewResult((element.removeEventListener('focus', handler)), "@foldkit/ui/combobox/shared.js#anonymous~24"))), "@foldkit/ui/combobox/shared.js#anonymous~23"));
422
+ return __foldkitBrandViewResult((Message.CompletedAttachComboboxSelectOnFocus()), "@foldkit/ui/combobox/shared.js#anonymous~21");
423
+ })), "@foldkit/ui/combobox/shared.js#anonymous~20"));
418
424
  /** The backdrop-portaling Mount this Combobox renders. Exposed so Scene tests can
419
425
  * call `Scene.Mount.resolve(PortalComboboxBackdrop, CompletedPortalComboboxBackdrop())` to
420
426
  * acknowledge the mount produced by the rendered backdrop. */
421
427
  export const PortalComboboxBackdrop = Mount.define('PortalComboboxBackdrop', Message.CompletedPortalComboboxBackdrop)(element => __foldkitBrandViewResult((Effect.gen(function* () {
422
- yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/combobox/shared.js#anonymous~23")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/combobox/shared.js#anonymous~24"));
423
- return __foldkitBrandViewResult((Message.CompletedPortalComboboxBackdrop()), "@foldkit/ui/combobox/shared.js#anonymous~22");
424
- })), "@foldkit/ui/combobox/shared.js#anonymous~21"));
428
+ yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/combobox/shared.js#anonymous~27")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/combobox/shared.js#anonymous~28"));
429
+ return __foldkitBrandViewResult((Message.CompletedPortalComboboxBackdrop()), "@foldkit/ui/combobox/shared.js#anonymous~26");
430
+ })), "@foldkit/ui/combobox/shared.js#anonymous~25"));
425
431
  /** Creates a combobox view function from variant-specific behavior. Shared rendering logic (input, items, transitions, keyboard navigation) is handled internally; only listbox multi-select semantics vary by variant. */
426
432
  export const makeView = (behavior) => {
427
433
  const impl = defineView((model, viewInputs, h) => {
@@ -446,30 +452,30 @@ export const makeView = (behavior) => {
446
452
  h.DataAttribute('closed', ''),
447
453
  h.DataAttribute('enter', ''),
448
454
  h.DataAttribute('transition', ''),
449
- ]), "@foldkit/ui/combobox/shared.js#anonymous~26")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
455
+ ]), "@foldkit/ui/combobox/shared.js#anonymous~30")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
450
456
  h.DataAttribute('enter', ''),
451
457
  h.DataAttribute('transition', ''),
452
- ]), "@foldkit/ui/combobox/shared.js#anonymous~27")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
458
+ ]), "@foldkit/ui/combobox/shared.js#anonymous~31")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
453
459
  h.DataAttribute('leave', ''),
454
460
  h.DataAttribute('transition', ''),
455
- ]), "@foldkit/ui/combobox/shared.js#anonymous~28")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
461
+ ]), "@foldkit/ui/combobox/shared.js#anonymous~32")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
456
462
  h.DataAttribute('closed', ''),
457
463
  h.DataAttribute('leave', ''),
458
464
  h.DataAttribute('transition', ''),
459
- ]), "@foldkit/ui/combobox/shared.js#anonymous~29")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/combobox/shared.js#anonymous~30")));
465
+ ]), "@foldkit/ui/combobox/shared.js#anonymous~33")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/combobox/shared.js#anonymous~34")));
460
466
  const isDisabledAtIndex = (index) => __foldkitBrandViewResult((Predicate.isNotUndefined(isItemDisabled) &&
461
- pipe(items, Array.get(index), Option.exists(item => __foldkitBrandViewResult((isItemDisabled(item, index)), "@foldkit/ui/combobox/shared.js#anonymous~31")))), "@foldkit/ui/combobox/shared.js#isDisabledAtIndex");
467
+ pipe(items, Array.get(index), Option.exists(item => __foldkitBrandViewResult((isItemDisabled(item, index)), "@foldkit/ui/combobox/shared.js#anonymous~35")))), "@foldkit/ui/combobox/shared.js#isDisabledAtIndex");
462
468
  const firstEnabledIndex = findFirstEnabledIndex(items.length, 0, isDisabledAtIndex)(0, 1);
463
469
  const lastEnabledIndex = findFirstEnabledIndex(items.length, 0, isDisabledAtIndex)(items.length - 1, -1);
464
- const resolveActiveIndex = keyToIndex('ArrowDown', 'ArrowUp', items.length, Option.getOrElse(maybeActiveItemIndex, () => __foldkitBrandViewResult((-1), "@foldkit/ui/combobox/shared.js#anonymous~32")), isDisabledAtIndex);
470
+ const resolveActiveIndex = keyToIndex('ArrowDown', 'ArrowUp', items.length, Option.getOrElse(maybeActiveItemIndex, () => __foldkitBrandViewResult((-1), "@foldkit/ui/combobox/shared.js#anonymous~36")), isDisabledAtIndex);
465
471
  const resolveImmediateSelection = (targetIndex) => {
466
472
  if (isReadOnly) {
467
473
  return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#resolveImmediateSelection");
468
474
  }
469
475
  else {
470
- return __foldkitBrandViewResult((pipe(OptionExt.when(immediate, targetIndex), Option.flatMap(index => __foldkitBrandViewResult((Array.get(items, index)), "@foldkit/ui/combobox/shared.js#anonymous~33")), Option.map(targetItem => (__foldkitBrandViewResult(({
476
+ return __foldkitBrandViewResult((pipe(OptionExt.when(immediate, targetIndex), Option.flatMap(index => __foldkitBrandViewResult((Array.get(items, index)), "@foldkit/ui/combobox/shared.js#anonymous~37")), Option.map(targetItem => (__foldkitBrandViewResult(({
471
477
  item: itemToValue(targetItem, targetIndex),
472
- }), "@foldkit/ui/combobox/shared.js#anonymous~34"))))), "@foldkit/ui/combobox/shared.js#resolveImmediateSelection");
478
+ }), "@foldkit/ui/combobox/shared.js#anonymous~38"))))), "@foldkit/ui/combobox/shared.js#resolveImmediateSelection");
473
479
  }
474
480
  };
475
481
  const resolveCommitMessage = () => {
@@ -477,61 +483,61 @@ export const makeView = (behavior) => {
477
483
  return __foldkitBrandViewResult((Option.as(maybeActiveItemIndex, Message.SuppressedItemCommit())), "@foldkit/ui/combobox/shared.js#resolveCommitMessage");
478
484
  }
479
485
  else {
480
- return __foldkitBrandViewResult((Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((Message.RequestedItemClick({ index })), "@foldkit/ui/combobox/shared.js#anonymous~35"))), "@foldkit/ui/combobox/shared.js#resolveCommitMessage");
486
+ return __foldkitBrandViewResult((Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((Message.RequestedItemClick({ index })), "@foldkit/ui/combobox/shared.js#anonymous~39"))), "@foldkit/ui/combobox/shared.js#resolveCommitMessage");
481
487
  }
482
488
  };
483
489
  const handleInputKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.when('ArrowDown', () => {
484
490
  if (!isOpen) {
485
491
  return __foldkitBrandViewResult((Option.some(Message.Opened({
486
492
  maybeActiveItemIndex: Option.some(firstEnabledIndex),
487
- }))), "@foldkit/ui/combobox/shared.js#anonymous~36");
493
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~40");
488
494
  }
489
495
  const targetIndex = resolveActiveIndex('ArrowDown');
490
496
  return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
491
497
  index: targetIndex,
492
498
  activationTrigger: 'Keyboard',
493
499
  maybeImmediateSelection: resolveImmediateSelection(targetIndex),
494
- }))), "@foldkit/ui/combobox/shared.js#anonymous~36");
500
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~40");
495
501
  }), M.when('ArrowUp', () => {
496
502
  if (!isOpen) {
497
503
  return __foldkitBrandViewResult((Option.some(Message.Opened({
498
504
  maybeActiveItemIndex: Option.some(lastEnabledIndex),
499
- }))), "@foldkit/ui/combobox/shared.js#anonymous~37");
505
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~41");
500
506
  }
501
507
  const targetIndex = resolveActiveIndex('ArrowUp');
502
508
  return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
503
509
  index: targetIndex,
504
510
  activationTrigger: 'Keyboard',
505
511
  maybeImmediateSelection: resolveImmediateSelection(targetIndex),
506
- }))), "@foldkit/ui/combobox/shared.js#anonymous~37");
512
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~41");
507
513
  }), M.when('Enter', () => {
508
514
  if (!isOpen) {
509
- return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~38");
515
+ return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~42");
510
516
  }
511
- return __foldkitBrandViewResult((resolveCommitMessage()), "@foldkit/ui/combobox/shared.js#anonymous~38");
517
+ return __foldkitBrandViewResult((resolveCommitMessage()), "@foldkit/ui/combobox/shared.js#anonymous~42");
512
518
  }), M.when('Escape', () => {
513
519
  if (!isOpen) {
514
- return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~39");
520
+ return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~43");
515
521
  }
516
- return __foldkitBrandViewResult((Option.some(Message.Closed({ restingInputValue, isClearable: !isReadOnly }))), "@foldkit/ui/combobox/shared.js#anonymous~39");
522
+ return __foldkitBrandViewResult((Option.some(Message.Closed({ restingInputValue, isClearable: !isReadOnly }))), "@foldkit/ui/combobox/shared.js#anonymous~43");
517
523
  }), M.whenOr('Home', 'End', () => {
518
524
  if (!isOpen) {
519
- return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~40");
525
+ return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~44");
520
526
  }
521
527
  const targetIndex = resolveActiveIndex(key);
522
528
  return __foldkitBrandViewResult((Option.some(Message.ActivatedItem({
523
529
  index: targetIndex,
524
530
  activationTrigger: 'Keyboard',
525
531
  maybeImmediateSelection: resolveImmediateSelection(targetIndex),
526
- }))), "@foldkit/ui/combobox/shared.js#anonymous~40");
527
- }), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~41")))), "@foldkit/ui/combobox/shared.js#handleInputKeyDown");
532
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~44");
533
+ }), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/combobox/shared.js#anonymous~45")))), "@foldkit/ui/combobox/shared.js#handleInputKeyDown");
528
534
  const maybeActiveDescendant = Option.match(maybeActiveItemIndex, {
529
535
  onNone: () => __foldkitBrandViewResult(([]), "@foldkit/ui/combobox/shared.js#onNone~3"),
530
536
  onSome: index => __foldkitBrandViewResult(([h.AriaActiveDescendant(itemId(id, index))]), "@foldkit/ui/combobox/shared.js#onSome~3"),
531
537
  });
532
538
  const onInputAttributes = isReadOnly
533
539
  ? []
534
- : [h.OnInput(value => __foldkitBrandViewResult((Message.UpdatedInputValue({ value })), "@foldkit/ui/combobox/shared.js#anonymous~42"))];
540
+ : [h.OnInput(value => __foldkitBrandViewResult((Message.UpdatedInputValue({ value })), "@foldkit/ui/combobox/shared.js#anonymous~46"))];
535
541
  const resolvedInputAttributes = [
536
542
  h.Id(`${id}-input`),
537
543
  h.Role('combobox'),
@@ -602,7 +608,7 @@ export const makeView = (behavior) => {
602
608
  ...itemsAttributes,
603
609
  ];
604
610
  const comboboxItems = Array.map(items, (item, index) => {
605
- const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/combobox/shared.js#anonymous~44"));
611
+ const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/combobox/shared.js#anonymous~48"));
606
612
  const isDisabledItem = isDisabledAtIndex(index);
607
613
  const isSelectedItem = isValueSelected(itemToValue(item, index));
608
614
  const itemConfig = itemToConfig(item, {
@@ -641,13 +647,13 @@ export const makeView = (behavior) => {
641
647
  index,
642
648
  screenX,
643
649
  screenY,
644
- }))), "@foldkit/ui/combobox/shared.js#anonymous~45")),
650
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~49")),
645
651
  ]),
646
- h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', Message.DeactivatedItem())), "@foldkit/ui/combobox/shared.js#anonymous~46")),
652
+ h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', Message.DeactivatedItem())), "@foldkit/ui/combobox/shared.js#anonymous~50")),
647
653
  ]
648
654
  : []),
649
655
  ...(itemConfig.className ? [h.Class(itemConfig.className)] : []),
650
- ], [itemConfig.content])), "@foldkit/ui/combobox/shared.js#anonymous~43");
656
+ ], [itemConfig.content])), "@foldkit/ui/combobox/shared.js#anonymous~47");
651
657
  });
652
658
  const renderGroupedItems = () => {
653
659
  if (!itemGroupKey) {
@@ -656,7 +662,7 @@ export const makeView = (behavior) => {
656
662
  const segments = groupContiguous(comboboxItems, (_, index) => __foldkitBrandViewResult((Array.get(items, index).pipe(Option.match({
657
663
  onNone: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/shared.js#onNone~4"),
658
664
  onSome: item => __foldkitBrandViewResult((itemGroupKey(item, index)), "@foldkit/ui/combobox/shared.js#onSome~4"),
659
- }))), "@foldkit/ui/combobox/shared.js#anonymous~47"));
665
+ }))), "@foldkit/ui/combobox/shared.js#anonymous~51"));
660
666
  return __foldkitBrandViewResult((Array.flatMap(segments, (segment, segmentIndex) => {
661
667
  const maybeHeading = Option.fromNullishOr(groupToHeading && groupToHeading(segment.key));
662
668
  const headingId = `${id}-heading-${segment.key}`;
@@ -692,7 +698,7 @@ export const makeView = (behavior) => {
692
698
  ]),
693
699
  ]
694
700
  : [];
695
- return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/combobox/shared.js#anonymous~48");
701
+ return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/combobox/shared.js#anonymous~52");
696
702
  })), "@foldkit/ui/combobox/shared.js#renderGroupedItems");
697
703
  };
698
704
  const backdrop = h.keyed('div')(`${id}-backdrop`, [
@@ -757,7 +763,7 @@ export const makeView = (behavior) => {
757
763
  h.Type('hidden'),
758
764
  h.Name(formName),
759
765
  h.Value(selectedValue),
760
- ])), "@foldkit/ui/combobox/shared.js#anonymous~49")),
766
+ ])), "@foldkit/ui/combobox/shared.js#anonymous~53")),
761
767
  })
762
768
  : [];
763
769
  const wrapperAttributes = [
@@ -777,9 +783,9 @@ export const makeView = (behavior) => {
777
783
  ? visibleContent
778
784
  : []),
779
785
  ...hiddenInputs,
780
- ])), "@foldkit/ui/combobox/shared.js#anonymous~25");
786
+ ])), "@foldkit/ui/combobox/shared.js#anonymous~29");
781
787
  });
782
788
  return __foldkitBrandViewResult((() =>
783
789
  /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
784
- __foldkitBrandViewResult((impl), "@foldkit/ui/combobox/shared.js#anonymous~50")), "@foldkit/ui/combobox/shared.js#makeView");
790
+ __foldkitBrandViewResult((impl), "@foldkit/ui/combobox/shared.js#anonymous~54")), "@foldkit/ui/combobox/shared.js#makeView");
785
791
  };