@foldkit/ui 0.135.0 → 0.137.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 (87) hide show
  1. package/dist/anchor.d.ts +7 -1
  2. package/dist/anchor.d.ts.map +1 -1
  3. package/dist/anchor.js +77 -26
  4. package/dist/animation/index.d.ts +5 -5
  5. package/dist/animation/index.d.ts.map +1 -1
  6. package/dist/animation/index.js +4 -4
  7. package/dist/animation/public.d.ts +1 -1
  8. package/dist/animation/public.d.ts.map +1 -1
  9. package/dist/animation/public.js +1 -1
  10. package/dist/animation/schema.d.ts +2 -2
  11. package/dist/animation/schema.d.ts.map +1 -1
  12. package/dist/animation/schema.js +2 -2
  13. package/dist/animation/update.d.ts +3 -3
  14. package/dist/animation/update.d.ts.map +1 -1
  15. package/dist/animation/update.js +17 -10
  16. package/dist/calendar/index.d.ts.map +1 -1
  17. package/dist/calendar/index.js +41 -37
  18. package/dist/combobox/multi.d.ts +1 -1
  19. package/dist/combobox/shared.d.ts +4 -3
  20. package/dist/combobox/shared.d.ts.map +1 -1
  21. package/dist/combobox/shared.js +85 -55
  22. package/dist/combobox/single.d.ts +1 -1
  23. package/dist/datePicker/index.d.ts +2 -2
  24. package/dist/dialog/index.d.ts +2 -2
  25. package/dist/dialog/index.d.ts.map +1 -1
  26. package/dist/dialog/index.js +23 -11
  27. package/dist/dragAndDrop/index.d.ts +7 -7
  28. package/dist/dragAndDrop/index.d.ts.map +1 -1
  29. package/dist/dragAndDrop/index.js +73 -64
  30. package/dist/dragAndDrop/public.d.ts +1 -1
  31. package/dist/dragAndDrop/public.d.ts.map +1 -1
  32. package/dist/dragAndDrop/public.js +1 -1
  33. package/dist/internal/selectors.d.ts +10 -0
  34. package/dist/internal/selectors.d.ts.map +1 -1
  35. package/dist/internal/selectors.js +10 -0
  36. package/dist/listbox/multi.d.ts +2 -2
  37. package/dist/listbox/public.d.ts +1 -1
  38. package/dist/listbox/public.d.ts.map +1 -1
  39. package/dist/listbox/public.js +1 -1
  40. package/dist/listbox/shared.d.ts +9 -8
  41. package/dist/listbox/shared.d.ts.map +1 -1
  42. package/dist/listbox/shared.js +91 -51
  43. package/dist/listbox/single.d.ts +2 -2
  44. package/dist/menu/index.d.ts +7 -6
  45. package/dist/menu/index.d.ts.map +1 -1
  46. package/dist/menu/index.js +86 -46
  47. package/dist/menu/public.d.ts +1 -1
  48. package/dist/menu/public.d.ts.map +1 -1
  49. package/dist/menu/public.js +1 -1
  50. package/dist/popover/index.d.ts +4 -3
  51. package/dist/popover/index.d.ts.map +1 -1
  52. package/dist/popover/index.js +48 -22
  53. package/dist/slider/index.d.ts.map +1 -1
  54. package/dist/slider/index.js +2 -1
  55. package/dist/tabs/index.d.ts.map +1 -1
  56. package/dist/tabs/index.js +16 -12
  57. package/dist/test/apps/disabledButton.d.ts +2 -2
  58. package/dist/toast/index.d.ts +19 -18
  59. package/dist/toast/index.d.ts.map +1 -1
  60. package/dist/toast/index.js +5 -4
  61. package/dist/toast/public.d.ts +1 -1
  62. package/dist/toast/public.d.ts.map +1 -1
  63. package/dist/toast/public.js +1 -1
  64. package/dist/toast/schema.d.ts +5 -5
  65. package/dist/toast/schema.d.ts.map +1 -1
  66. package/dist/toast/schema.js +2 -2
  67. package/dist/toast/test.d.ts +6 -5
  68. package/dist/toast/test.d.ts.map +1 -1
  69. package/dist/toast/test.js +8 -7
  70. package/dist/toast/update.d.ts +14 -14
  71. package/dist/toast/update.d.ts.map +1 -1
  72. package/dist/toast/update.js +26 -22
  73. package/dist/tooltip/index.d.ts +2 -177
  74. package/dist/tooltip/index.d.ts.map +1 -1
  75. package/dist/tooltip/index.js +2 -256
  76. package/dist/tooltip/message.d.ts +53 -0
  77. package/dist/tooltip/message.d.ts.map +1 -0
  78. package/dist/tooltip/message.js +45 -0
  79. package/dist/tooltip/public.d.ts +1 -1
  80. package/dist/tooltip/public.d.ts.map +1 -1
  81. package/dist/tooltip/public.js +1 -1
  82. package/dist/tooltip/tooltip.d.ts +130 -0
  83. package/dist/tooltip/tooltip.d.ts.map +1 -0
  84. package/dist/tooltip/tooltip.js +226 -0
  85. package/dist/virtualList/index.d.ts.map +1 -1
  86. package/dist/virtualList/index.js +22 -18
  87. package/package.json +2 -2
@@ -71,7 +71,9 @@ export const Searched = m('Searched', {
71
71
  maybeTargetIndex: S.Option(S.Number),
72
72
  });
73
73
  /** Sent after the search debounce period to clear the accumulated query. */
74
- export const ClearedSearch = m('ClearedSearch', { version: S.Number });
74
+ export const CompletedDelayClearSearch = m('CompletedDelayClearSearch', {
75
+ version: S.Number,
76
+ });
75
77
  /** Sent when the pointer moves over a menu item, carrying screen coordinates for tracked-pointer comparison. */
76
78
  export const MovedPointerOverItem = m('MovedPointerOverItem', {
77
79
  index: S.Number,
@@ -131,7 +133,7 @@ export const Message = S.Union([
131
133
  MovedPointerOverItem,
132
134
  RequestedItemClick,
133
135
  Searched,
134
- ClearedSearch,
136
+ CompletedDelayClearSearch,
135
137
  CompletedFocusItems,
136
138
  CompletedFocusButton,
137
139
  CompletedLockScroll,
@@ -196,28 +198,66 @@ const itemsSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-items`
196
198
  const itemSelector = (id, index) => __foldkitBrandViewResult((idSelector(`${id}-item-${index}`)), "@foldkit/ui/menu/index.js#itemSelector");
197
199
  const withUpdateReturn = M.withReturnType();
198
200
  /** Prevents page scrolling while the menu is open. */
199
- export const LockScroll = Command.define('LockScroll', CompletedLockScroll)(Dom.lockScroll.pipe(Effect.as(CompletedLockScroll())));
201
+ export const LockScroll = Command.define('LockScroll', {
202
+ messages: [CompletedLockScroll],
203
+ execute: Dom.lockScroll.pipe(Effect.as(CompletedLockScroll())),
204
+ });
200
205
  /** Re-enables page scrolling after the menu closes. */
201
- export const UnlockScroll = Command.define('UnlockScroll', CompletedUnlockScroll)(Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll())));
206
+ export const UnlockScroll = Command.define('UnlockScroll', {
207
+ messages: [CompletedUnlockScroll],
208
+ execute: Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll())),
209
+ });
202
210
  /** Marks all elements outside the menu as inert for modal behavior. */
203
- export const InertOthers = Command.define('InertOthers', { id: S.String }, CompletedInertOthers)(({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [buttonSelector(id), itemsSelector(id)]).pipe(Effect.as(CompletedInertOthers()))), "@foldkit/ui/menu/index.js#anonymous"));
211
+ export const InertOthers = Command.define('InertOthers', {
212
+ args: { id: S.String },
213
+ messages: [CompletedInertOthers],
214
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [buttonSelector(id), itemsSelector(id)]).pipe(Effect.as(CompletedInertOthers()))), "@foldkit/ui/menu/index.js#execute"),
215
+ });
204
216
  /** Removes the inert attribute from elements outside the menu. */
205
- export const RestoreInert = Command.define('RestoreInert', { id: S.String }, CompletedRestoreInert)(({ id }) => __foldkitBrandViewResult((Dom.restoreInert(id).pipe(Effect.as(CompletedRestoreInert()))), "@foldkit/ui/menu/index.js#anonymous~2"));
217
+ export const RestoreInert = Command.define('RestoreInert', {
218
+ args: { id: S.String },
219
+ messages: [CompletedRestoreInert],
220
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.restoreInert(id).pipe(Effect.as(CompletedRestoreInert()))), "@foldkit/ui/menu/index.js#execute~2"),
221
+ });
206
222
  /** Moves focus to the menu items container after opening. */
207
- export const FocusItems = Command.define('FocusItems', { id: S.String }, CompletedFocusItems)(({ id }) => __foldkitBrandViewResult((Dom.focus(itemsSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusItems()))), "@foldkit/ui/menu/index.js#anonymous~3"));
223
+ export const FocusItems = Command.define('FocusItems', {
224
+ args: { id: S.String },
225
+ messages: [CompletedFocusItems],
226
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.focus(itemsSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusItems()))), "@foldkit/ui/menu/index.js#execute~3"),
227
+ });
208
228
  /** Moves focus back to the menu button after closing. */
209
- export const FocusButton = Command.define('FocusButton', { id: S.String }, CompletedFocusButton)(({ id }) => __foldkitBrandViewResult((Dom.focus(buttonSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton()))), "@foldkit/ui/menu/index.js#anonymous~4"));
229
+ export const FocusButton = Command.define('FocusButton', {
230
+ args: { id: S.String },
231
+ messages: [CompletedFocusButton],
232
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.focus(buttonSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton()))), "@foldkit/ui/menu/index.js#execute~4"),
233
+ });
210
234
  /** Scrolls the active menu item into view after keyboard navigation. */
211
- export const ScrollIntoView = Command.define('ScrollIntoView', { id: S.String, index: S.Number }, CompletedScrollIntoView)(({ id, index }) => __foldkitBrandViewResult((Dom.scrollIntoView(itemSelector(id, index)).pipe(Effect.ignore, Effect.as(CompletedScrollIntoView()))), "@foldkit/ui/menu/index.js#anonymous~5"));
235
+ export const ScrollIntoView = Command.define('ScrollIntoView', {
236
+ args: { id: S.String, index: S.Number },
237
+ messages: [CompletedScrollIntoView],
238
+ execute: ({ id, index }) => __foldkitBrandViewResult((Dom.scrollIntoView(itemSelector(id, index)).pipe(Effect.ignore, Effect.as(CompletedScrollIntoView()))), "@foldkit/ui/menu/index.js#execute~5"),
239
+ });
212
240
  /** Programmatically clicks the active menu item's DOM element. */
213
- export const ClickItem = Command.define('ClickItem', { id: S.String, index: S.Number }, CompletedClickItem)(({ id, index }) => __foldkitBrandViewResult((Dom.clickElement(itemSelector(id, index)).pipe(Effect.ignore, Effect.as(CompletedClickItem()))), "@foldkit/ui/menu/index.js#anonymous~6"));
241
+ export const ClickItem = Command.define('ClickItem', {
242
+ args: { id: S.String, index: S.Number },
243
+ messages: [CompletedClickItem],
244
+ execute: ({ id, index }) => __foldkitBrandViewResult((Dom.clickElement(itemSelector(id, index)).pipe(Effect.ignore, Effect.as(CompletedClickItem()))), "@foldkit/ui/menu/index.js#execute~6"),
245
+ });
214
246
  /** Waits for the typeahead search debounce period before clearing the query. */
215
- export const DelayClearSearch = Command.define('DelayClearSearch', { version: S.Number }, ClearedSearch)(({ version }) => __foldkitBrandViewResult((Effect.sleep(SEARCH_DEBOUNCE_MILLISECONDS).pipe(Effect.as(ClearedSearch({ version })))), "@foldkit/ui/menu/index.js#anonymous~7"));
247
+ export const DelayClearSearch = Command.define('DelayClearSearch', {
248
+ args: { version: S.Number },
249
+ messages: [CompletedDelayClearSearch],
250
+ execute: ({ version }) => __foldkitBrandViewResult((Effect.sleep(SEARCH_DEBOUNCE_MILLISECONDS).pipe(Effect.as(CompletedDelayClearSearch({ version })))), "@foldkit/ui/menu/index.js#execute~7"),
251
+ });
216
252
  /** Detects whether the menu button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
217
- export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', { id: S.String }, GotAnimationMessage)(({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))), Dom.waitForAnimationSettled(itemsSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))))), "@foldkit/ui/menu/index.js#anonymous~8"));
253
+ export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', {
254
+ args: { id: S.String },
255
+ messages: [GotAnimationMessage],
256
+ execute: ({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))), Dom.waitForAnimationSettled(itemsSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))))), "@foldkit/ui/menu/index.js#execute~8"),
257
+ });
218
258
  const delegateToAnimation = (model, animationMessage) => {
219
259
  const [nextAnimation, animationCommands, maybeOutMessage] = animationUpdate(model.animation, animationMessage);
220
- const mappedCommands = Command.mapMessages(animationCommands, message => __foldkitBrandViewResult((GotAnimationMessage({ message })), "@foldkit/ui/menu/index.js#anonymous~9"));
260
+ const mappedCommands = Command.mapMessages(animationCommands, message => __foldkitBrandViewResult((GotAnimationMessage({ message })), "@foldkit/ui/menu/index.js#anonymous"));
221
261
  const additionalCommands = Option.match(maybeOutMessage, {
222
262
  onNone: () => __foldkitBrandViewResult(([]), "@foldkit/ui/menu/index.js#onNone"),
223
263
  onSome: M.type().pipe(M.tagsExhaustive({
@@ -270,7 +310,7 @@ export const update = (model, message) => {
270
310
  }
271
311
  return __foldkitBrandViewResult(([closed, commands, maybeOutMessage]), "@foldkit/ui/menu/index.js#closeMenu");
272
312
  };
273
- return __foldkitBrandViewResult((M.value(message).pipe(withUpdateReturn, M.tag('CompletedFocusItems', 'CompletedFocusButton', 'CompletedLockScroll', 'CompletedUnlockScroll', 'CompletedInertOthers', 'CompletedRestoreInert', 'CompletedScrollIntoView', 'CompletedClickItem', 'SuppressedSpaceScroll', 'CompletedAnchorMenu', 'CompletedPortalMenuBackdrop', () => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/menu/index.js#anonymous~10")), M.tagsExhaustive({
313
+ return __foldkitBrandViewResult((M.value(message).pipe(withUpdateReturn, M.tag('CompletedFocusItems', 'CompletedFocusButton', 'CompletedLockScroll', 'CompletedUnlockScroll', 'CompletedInertOthers', 'CompletedRestoreInert', 'CompletedScrollIntoView', 'CompletedClickItem', 'SuppressedSpaceScroll', 'CompletedAnchorMenu', 'CompletedPortalMenuBackdrop', () => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/menu/index.js#anonymous~2")), M.tagsExhaustive({
274
314
  Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openMenu(evo(model, {
275
315
  maybeActiveItemIndex: () => __foldkitBrandViewResult((maybeActiveItemIndex), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~2"),
276
316
  activationTrigger: () => __foldkitBrandViewResult((Option.match(maybeActiveItemIndex, {
@@ -299,7 +339,7 @@ export const update = (model, message) => {
299
339
  Option.none(),
300
340
  ]), "@foldkit/ui/menu/index.js#ActivatedItem"),
301
341
  MovedPointerOverItem: ({ index, screenX, screenY }) => {
302
- const isSamePosition = Option.exists(model.maybeLastPointerPosition, position => __foldkitBrandViewResult((position.screenX === screenX && position.screenY === screenY), "@foldkit/ui/menu/index.js#anonymous~11"));
342
+ const isSamePosition = Option.exists(model.maybeLastPointerPosition, position => __foldkitBrandViewResult((position.screenX === screenX && position.screenY === screenY), "@foldkit/ui/menu/index.js#anonymous~3"));
303
343
  if (isSamePosition) {
304
344
  return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/menu/index.js#MovedPointerOverItem");
305
345
  }
@@ -333,17 +373,17 @@ export const update = (model, message) => {
333
373
  evo(model, {
334
374
  searchQuery: () => __foldkitBrandViewResult((nextSearchQuery), "@foldkit/ui/menu/index.js#searchQuery~3"),
335
375
  searchVersion: () => __foldkitBrandViewResult((nextSearchVersion), "@foldkit/ui/menu/index.js#searchVersion~3"),
336
- maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.orElse(maybeTargetIndex, () => __foldkitBrandViewResult((model.maybeActiveItemIndex), "@foldkit/ui/menu/index.js#anonymous~12"))), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~6"),
376
+ maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.orElse(maybeTargetIndex, () => __foldkitBrandViewResult((model.maybeActiveItemIndex), "@foldkit/ui/menu/index.js#anonymous~4"))), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~6"),
337
377
  }),
338
378
  [DelayClearSearch({ version: nextSearchVersion })],
339
379
  Option.none(),
340
380
  ]), "@foldkit/ui/menu/index.js#Searched");
341
381
  },
342
- ClearedSearch: ({ version }) => {
382
+ CompletedDelayClearSearch: ({ version }) => {
343
383
  if (version !== model.searchVersion) {
344
- return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/menu/index.js#ClearedSearch");
384
+ return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/menu/index.js#CompletedDelayClearSearch");
345
385
  }
346
- return __foldkitBrandViewResult(([evo(model, { searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#searchQuery~4") }), [], Option.none()]), "@foldkit/ui/menu/index.js#ClearedSearch");
386
+ return __foldkitBrandViewResult(([evo(model, { searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#searchQuery~4") }), [], Option.none()]), "@foldkit/ui/menu/index.js#CompletedDelayClearSearch");
347
387
  },
348
388
  GotAnimationMessage: ({ message: animationMessage }) => __foldkitBrandViewResult((delegateToAnimation(model, animationMessage)), "@foldkit/ui/menu/index.js#GotAnimationMessage"),
349
389
  PressedPointerOnButton: ({ pointerType, button, screenX, screenY, timeStamp, }) => {
@@ -378,8 +418,8 @@ export const update = (model, message) => {
378
418
  const isMovementBelowThreshold = Option.exists(model.maybePointerOrigin, origin => __foldkitBrandViewResult((Math.abs(screenX - origin.screenX) <
379
419
  POINTER_MOVEMENT_THRESHOLD_PIXELS &&
380
420
  Math.abs(screenY - origin.screenY) <
381
- POINTER_MOVEMENT_THRESHOLD_PIXELS), "@foldkit/ui/menu/index.js#anonymous~13"));
382
- const isHoldTimeBelowThreshold = Option.exists(model.maybePointerOrigin, origin => __foldkitBrandViewResult((timeStamp - origin.timeStamp < POINTER_HOLD_THRESHOLD_MILLISECONDS), "@foldkit/ui/menu/index.js#anonymous~14"));
421
+ POINTER_MOVEMENT_THRESHOLD_PIXELS), "@foldkit/ui/menu/index.js#anonymous~5"));
422
+ const isHoldTimeBelowThreshold = Option.exists(model.maybePointerOrigin, origin => __foldkitBrandViewResult((timeStamp - origin.timeStamp < POINTER_HOLD_THRESHOLD_MILLISECONDS), "@foldkit/ui/menu/index.js#anonymous~6"));
383
423
  if (hasNoOrigin ||
384
424
  isMovementBelowThreshold ||
385
425
  isHoldTimeBelowThreshold ||
@@ -410,16 +450,16 @@ export const update = (model, message) => {
410
450
  * ancestor stacking contexts and overflow clipping. Exposed so Scene tests
411
451
  * can call `Scene.Mount.resolve(AnchorMenu, CompletedAnchorMenu())`. */
412
452
  export const AnchorMenu = Mount.define('AnchorMenu', { buttonId: S.String, anchor: AnchorConfig }, CompletedAnchorMenu)(({ buttonId, anchor }) => __foldkitBrandViewResult((element => __foldkitBrandViewResult((Effect.gen(function* () {
413
- yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((anchorSetup({ buttonId, anchor })(element)), "@foldkit/ui/menu/index.js#anonymous~18")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/menu/index.js#anonymous~19"));
414
- return __foldkitBrandViewResult((CompletedAnchorMenu()), "@foldkit/ui/menu/index.js#anonymous~17");
415
- })), "@foldkit/ui/menu/index.js#anonymous~16")), "@foldkit/ui/menu/index.js#anonymous~15"));
453
+ yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((anchorSetup({ buttonId, anchor })(element)), "@foldkit/ui/menu/index.js#anonymous~10")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/menu/index.js#anonymous~11"));
454
+ return __foldkitBrandViewResult((CompletedAnchorMenu()), "@foldkit/ui/menu/index.js#anonymous~9");
455
+ })), "@foldkit/ui/menu/index.js#anonymous~8")), "@foldkit/ui/menu/index.js#anonymous~7"));
416
456
  /** The backdrop-portaling Mount this Menu renders. Exposed so Scene tests can
417
457
  * call `Scene.Mount.resolve(PortalMenuBackdrop, CompletedPortalMenuBackdrop())` to
418
458
  * acknowledge the mount produced by the rendered backdrop. */
419
459
  export const PortalMenuBackdrop = Mount.define('PortalMenuBackdrop', CompletedPortalMenuBackdrop)(element => __foldkitBrandViewResult((Effect.gen(function* () {
420
- yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/menu/index.js#anonymous~22")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/menu/index.js#anonymous~23"));
421
- return __foldkitBrandViewResult((CompletedPortalMenuBackdrop()), "@foldkit/ui/menu/index.js#anonymous~21");
422
- })), "@foldkit/ui/menu/index.js#anonymous~20"));
460
+ yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/menu/index.js#anonymous~14")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/menu/index.js#anonymous~15"));
461
+ return __foldkitBrandViewResult((CompletedPortalMenuBackdrop()), "@foldkit/ui/menu/index.js#anonymous~13");
462
+ })), "@foldkit/ui/menu/index.js#anonymous~12"));
423
463
  /** Programmatically opens the menu, updating the model and returning
424
464
  * focus and modal commands. Use this in domain-event handlers to open the menu. */
425
465
  export const open = (model) => __foldkitBrandViewResult((update(model, Opened({ maybeActiveItemIndex: Option.none() }))), "@foldkit/ui/menu/index.js#open");
@@ -436,7 +476,7 @@ const internalView = () =>
436
476
  __foldkitBrandViewResult((menuViewImpl), "@foldkit/ui/menu/index.js#internalView");
437
477
  const menuViewImpl = defineView((model, viewInputs, h) => {
438
478
  const { id, isOpen, animation: { transitionState }, maybeActiveItemIndex, searchQuery, maybeLastButtonPointerType, } = model;
439
- const { items, itemToConfig, isItemDisabled, itemToSearchText = (item) => __foldkitBrandViewResult((item), "@foldkit/ui/menu/index.js#anonymous~25"), isButtonDisabled, buttonContent, buttonClassName, buttonAttributes = [], itemsClassName, itemsAttributes = [], itemsScrollClassName, itemsScrollAttributes = [], backdropClassName, backdropAttributes = [], className, attributes = [], itemGroupKey, groupToHeading, groupClassName, groupAttributes = [], separatorClassName, separatorAttributes = [], anchor = {}, ariaLabel, ariaLabelledBy, } = viewInputs;
479
+ const { items, itemToConfig, isItemDisabled, itemToSearchText = (item) => __foldkitBrandViewResult((item), "@foldkit/ui/menu/index.js#anonymous~17"), isButtonDisabled, buttonContent, buttonClassName, buttonAttributes = [], itemsClassName, itemsAttributes = [], itemsScrollClassName, itemsScrollAttributes = [], backdropClassName, backdropAttributes = [], className, attributes = [], itemGroupKey, groupToHeading, groupClassName, groupAttributes = [], separatorClassName, separatorAttributes = [], anchor = {}, ariaLabel, ariaLabelledBy, } = viewInputs;
440
480
  const dispatchSelectedItem = (item, index) => __foldkitBrandViewResult((SelectedItem({ index, item })), "@foldkit/ui/menu/index.js#dispatchSelectedItem");
441
481
  const isLeaving = transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating';
442
482
  const isVisible = isOpen || isLeaving;
@@ -444,26 +484,26 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
444
484
  h.DataAttribute('closed', ''),
445
485
  h.DataAttribute('enter', ''),
446
486
  h.DataAttribute('transition', ''),
447
- ]), "@foldkit/ui/menu/index.js#anonymous~26")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
487
+ ]), "@foldkit/ui/menu/index.js#anonymous~18")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
448
488
  h.DataAttribute('enter', ''),
449
489
  h.DataAttribute('transition', ''),
450
- ]), "@foldkit/ui/menu/index.js#anonymous~27")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
490
+ ]), "@foldkit/ui/menu/index.js#anonymous~19")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
451
491
  h.DataAttribute('leave', ''),
452
492
  h.DataAttribute('transition', ''),
453
- ]), "@foldkit/ui/menu/index.js#anonymous~28")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
493
+ ]), "@foldkit/ui/menu/index.js#anonymous~20")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
454
494
  h.DataAttribute('closed', ''),
455
495
  h.DataAttribute('leave', ''),
456
496
  h.DataAttribute('transition', ''),
457
- ]), "@foldkit/ui/menu/index.js#anonymous~29")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/menu/index.js#anonymous~30")));
497
+ ]), "@foldkit/ui/menu/index.js#anonymous~21")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/menu/index.js#anonymous~22")));
458
498
  const isDisabled = (index) => __foldkitBrandViewResult((Predicate.isNotUndefined(isItemDisabled) &&
459
- pipe(items, Array.get(index), Option.exists(item => __foldkitBrandViewResult((isItemDisabled(item, index)), "@foldkit/ui/menu/index.js#anonymous~31")))), "@foldkit/ui/menu/index.js#isDisabled");
499
+ pipe(items, Array.get(index), Option.exists(item => __foldkitBrandViewResult((isItemDisabled(item, index)), "@foldkit/ui/menu/index.js#anonymous~23")))), "@foldkit/ui/menu/index.js#isDisabled");
460
500
  const firstEnabledIndex = findFirstEnabledIndex(items.length, 0, isDisabled)(0, 1);
461
501
  const lastEnabledIndex = findFirstEnabledIndex(items.length, 0, isDisabled)(items.length - 1, -1);
462
502
  const handleButtonKeyDown = (key) => {
463
503
  if (isOpen) {
464
504
  return __foldkitBrandViewResult((handleItemsKeyDown(key)), "@foldkit/ui/menu/index.js#handleButtonKeyDown");
465
505
  }
466
- return __foldkitBrandViewResult((M.value(key).pipe(M.whenOr('Enter', ' ', 'ArrowDown', () => __foldkitBrandViewResult((Option.some(Opened({ maybeActiveItemIndex: Option.some(firstEnabledIndex) }))), "@foldkit/ui/menu/index.js#anonymous~32")), M.when('ArrowUp', () => __foldkitBrandViewResult((Option.some(Opened({ maybeActiveItemIndex: Option.some(lastEnabledIndex) }))), "@foldkit/ui/menu/index.js#anonymous~33")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#anonymous~34")))), "@foldkit/ui/menu/index.js#handleButtonKeyDown");
506
+ return __foldkitBrandViewResult((M.value(key).pipe(M.whenOr('Enter', ' ', 'ArrowDown', () => __foldkitBrandViewResult((Option.some(Opened({ maybeActiveItemIndex: Option.some(firstEnabledIndex) }))), "@foldkit/ui/menu/index.js#anonymous~24")), M.when('ArrowUp', () => __foldkitBrandViewResult((Option.some(Opened({ maybeActiveItemIndex: Option.some(lastEnabledIndex) }))), "@foldkit/ui/menu/index.js#anonymous~25")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#anonymous~26")))), "@foldkit/ui/menu/index.js#handleButtonKeyDown");
467
507
  };
468
508
  const handleButtonPointerDown = (pointerType, button, screenX, screenY, timeStamp) => __foldkitBrandViewResult((Option.some(PressedPointerOnButton({
469
509
  pointerType,
@@ -473,7 +513,7 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
473
513
  timeStamp,
474
514
  }))), "@foldkit/ui/menu/index.js#handleButtonPointerDown");
475
515
  const handleButtonClick = () => {
476
- const isMouse = Option.exists(maybeLastButtonPointerType, type => __foldkitBrandViewResult((type === 'mouse'), "@foldkit/ui/menu/index.js#anonymous~35"));
516
+ const isMouse = Option.exists(maybeLastButtonPointerType, type => __foldkitBrandViewResult((type === 'mouse'), "@foldkit/ui/menu/index.js#anonymous~27"));
477
517
  if (isMouse) {
478
518
  return __foldkitBrandViewResult((IgnoredMouseClick()), "@foldkit/ui/menu/index.js#handleButtonClick");
479
519
  }
@@ -485,18 +525,18 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
485
525
  }
486
526
  };
487
527
  const handleSpaceKeyUp = (key) => __foldkitBrandViewResult((OptionExt.when(key === ' ', SuppressedSpaceScroll())), "@foldkit/ui/menu/index.js#handleSpaceKeyUp");
488
- const resolveActiveIndex = keyToIndex('ArrowDown', 'ArrowUp', items.length, Option.getOrElse(maybeActiveItemIndex, () => __foldkitBrandViewResult((0), "@foldkit/ui/menu/index.js#anonymous~36")), isDisabled);
528
+ const resolveActiveIndex = keyToIndex('ArrowDown', 'ArrowUp', items.length, Option.getOrElse(maybeActiveItemIndex, () => __foldkitBrandViewResult((0), "@foldkit/ui/menu/index.js#anonymous~28")), isDisabled);
489
529
  const searchForKey = (key) => {
490
530
  const nextQuery = searchQuery + key;
491
531
  const maybeTargetIndex = resolveTypeaheadMatch(items, nextQuery, maybeActiveItemIndex, isDisabled, itemToSearchText, Str.isNonEmpty(searchQuery));
492
532
  return __foldkitBrandViewResult((Option.some(Searched({ key, maybeTargetIndex }))), "@foldkit/ui/menu/index.js#searchForKey");
493
533
  };
494
- const handleItemsKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.when('Escape', () => __foldkitBrandViewResult((Option.some(Closed())), "@foldkit/ui/menu/index.js#anonymous~37")), M.when('Enter', () => __foldkitBrandViewResult((Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((RequestedItemClick({ index })), "@foldkit/ui/menu/index.js#anonymous~39"))), "@foldkit/ui/menu/index.js#anonymous~38")), M.when(' ', () => __foldkitBrandViewResult((Str.isNonEmpty(searchQuery)
534
+ const handleItemsKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.when('Escape', () => __foldkitBrandViewResult((Option.some(Closed())), "@foldkit/ui/menu/index.js#anonymous~29")), M.when('Enter', () => __foldkitBrandViewResult((Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((RequestedItemClick({ index })), "@foldkit/ui/menu/index.js#anonymous~31"))), "@foldkit/ui/menu/index.js#anonymous~30")), M.when(' ', () => __foldkitBrandViewResult((Str.isNonEmpty(searchQuery)
495
535
  ? searchForKey(' ')
496
- : Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((RequestedItemClick({ index })), "@foldkit/ui/menu/index.js#anonymous~41"))), "@foldkit/ui/menu/index.js#anonymous~40")), M.whenOr('ArrowDown', 'ArrowUp', 'Home', 'End', 'PageUp', 'PageDown', () => __foldkitBrandViewResult((Option.some(ActivatedItem({
536
+ : Option.map(maybeActiveItemIndex, index => __foldkitBrandViewResult((RequestedItemClick({ index })), "@foldkit/ui/menu/index.js#anonymous~33"))), "@foldkit/ui/menu/index.js#anonymous~32")), M.whenOr('ArrowDown', 'ArrowUp', 'Home', 'End', 'PageUp', 'PageDown', () => __foldkitBrandViewResult((Option.some(ActivatedItem({
497
537
  index: resolveActiveIndex(key),
498
538
  activationTrigger: 'Keyboard',
499
- }))), "@foldkit/ui/menu/index.js#anonymous~42")), M.when(isPrintableKey, () => __foldkitBrandViewResult((searchForKey(key)), "@foldkit/ui/menu/index.js#anonymous~43")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#anonymous~44")))), "@foldkit/ui/menu/index.js#handleItemsKeyDown");
539
+ }))), "@foldkit/ui/menu/index.js#anonymous~34")), M.when(isPrintableKey, () => __foldkitBrandViewResult((searchForKey(key)), "@foldkit/ui/menu/index.js#anonymous~35")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#anonymous~36")))), "@foldkit/ui/menu/index.js#handleItemsKeyDown");
500
540
  const handleItemsPointerUp = (screenX, screenY, pointerType, timeStamp) => __foldkitBrandViewResult((OptionExt.when(pointerType === 'mouse', ReleasedPointerOnItems({ screenX, screenY, timeStamp }))), "@foldkit/ui/menu/index.js#handleItemsPointerUp");
501
541
  const resolveButtonLabel = () => {
502
542
  if (Predicate.isNotUndefined(ariaLabel)) {
@@ -562,7 +602,7 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
562
602
  ...itemsAttributes,
563
603
  ];
564
604
  const menuItems = Array.map(items, (item, index) => {
565
- const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/menu/index.js#anonymous~46"));
605
+ const isActiveItem = Option.exists(maybeActiveItemIndex, activeIndex => __foldkitBrandViewResult((activeIndex === index), "@foldkit/ui/menu/index.js#anonymous~38"));
566
606
  const isDisabledItem = isDisabled(index);
567
607
  const itemConfig = itemToConfig(item, {
568
608
  isActive: isActiveItem,
@@ -582,13 +622,13 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
582
622
  ...(isActiveItem
583
623
  ? []
584
624
  : [
585
- h.OnPointerMove((screenX, screenY, pointerType) => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', MovedPointerOverItem({ index, screenX, screenY }))), "@foldkit/ui/menu/index.js#anonymous~47")),
625
+ h.OnPointerMove((screenX, screenY, pointerType) => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', MovedPointerOverItem({ index, screenX, screenY }))), "@foldkit/ui/menu/index.js#anonymous~39")),
586
626
  ]),
587
- h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', DeactivatedItem())), "@foldkit/ui/menu/index.js#anonymous~48")),
627
+ h.OnPointerLeave(pointerType => __foldkitBrandViewResult((OptionExt.when(pointerType !== 'touch', DeactivatedItem())), "@foldkit/ui/menu/index.js#anonymous~40")),
588
628
  ]
589
629
  : []),
590
630
  ...(itemConfig.className ? [h.Class(itemConfig.className)] : []),
591
- ], [itemConfig.content])), "@foldkit/ui/menu/index.js#anonymous~45");
631
+ ], [itemConfig.content])), "@foldkit/ui/menu/index.js#anonymous~37");
592
632
  });
593
633
  const renderGroupedItems = () => {
594
634
  if (!itemGroupKey) {
@@ -597,7 +637,7 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
597
637
  const segments = groupContiguous(menuItems, (_, index) => __foldkitBrandViewResult((Array.get(items, index).pipe(Option.match({
598
638
  onNone: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#onNone~4"),
599
639
  onSome: item => __foldkitBrandViewResult((itemGroupKey(item, index)), "@foldkit/ui/menu/index.js#onSome~3"),
600
- }))), "@foldkit/ui/menu/index.js#anonymous~49"));
640
+ }))), "@foldkit/ui/menu/index.js#anonymous~41"));
601
641
  return __foldkitBrandViewResult((Array.flatMap(segments, (segment, segmentIndex) => {
602
642
  const maybeHeading = Option.fromNullishOr(groupToHeading && groupToHeading(segment.key));
603
643
  const headingId = `${id}-heading-${segment.key}`;
@@ -633,7 +673,7 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
633
673
  ], []),
634
674
  ]
635
675
  : [];
636
- return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/menu/index.js#anonymous~50");
676
+ return __foldkitBrandViewResult(([...separator, groupElement]), "@foldkit/ui/menu/index.js#anonymous~42");
637
677
  })), "@foldkit/ui/menu/index.js#renderGroupedItems");
638
678
  };
639
679
  const backdrop = h.keyed('div')(`${id}-backdrop`, [
@@ -668,7 +708,7 @@ const menuViewImpl = defineView((model, viewInputs, h) => {
668
708
  buttonContent,
669
709
  ]),
670
710
  ...(isVisible ? visibleContent : []),
671
- ])), "@foldkit/ui/menu/index.js#anonymous~24");
711
+ ])), "@foldkit/ui/menu/index.js#anonymous~16");
672
712
  });
673
713
  /** Pairs the menu's `view` and `update` (and programmatic helpers)
674
714
  * behind a single Item-typed entry point. Declaring the menu once at
@@ -1,4 +1,4 @@
1
- export { init, create, buttonId, Model, Message, OutMessage, Selected, SelectedItem, CompletedLockScroll, CompletedUnlockScroll, CompletedInertOthers, CompletedRestoreInert, CompletedFocusItems, CompletedFocusButton, CompletedScrollIntoView, CompletedClickItem, CompletedAnchorMenu, CompletedPortalMenuBackdrop, AnchorMenu, PortalMenuBackdrop, ClearedSearch, GotAnimationMessage, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusItems, FocusButton, ScrollIntoView, ClickItem, DelayClearSearch, DetectMovementOrAnimationEnd, } from './index.js';
1
+ export { init, create, buttonId, Model, Message, OutMessage, Selected, SelectedItem, CompletedLockScroll, CompletedUnlockScroll, CompletedInertOthers, CompletedRestoreInert, CompletedFocusItems, CompletedFocusButton, CompletedScrollIntoView, CompletedClickItem, CompletedAnchorMenu, CompletedPortalMenuBackdrop, AnchorMenu, PortalMenuBackdrop, CompletedDelayClearSearch, GotAnimationMessage, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusItems, FocusButton, ScrollIntoView, ClickItem, DelayClearSearch, DetectMovementOrAnimationEnd, } from './index.js';
2
2
  export type { ActivationTrigger, Opened, Closed, BlurredItems, ActivatedItem, DeactivatedItem, MovedPointerOverItem, RequestedItemClick, Searched, PressedPointerOnButton, ReleasedPointerOnItems, IgnoredMouseClick, SuppressedSpaceScroll, InitConfig, ViewInputs, ItemConfig, GroupHeading, } from './index.js';
3
3
  export type { AnchorConfig } from '../anchor.js';
4
4
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/menu/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/menu/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACV,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
@@ -1 +1 @@
1
- export { init, create, buttonId, Model, Message, OutMessage, Selected, SelectedItem, CompletedLockScroll, CompletedUnlockScroll, CompletedInertOthers, CompletedRestoreInert, CompletedFocusItems, CompletedFocusButton, CompletedScrollIntoView, CompletedClickItem, CompletedAnchorMenu, CompletedPortalMenuBackdrop, AnchorMenu, PortalMenuBackdrop, ClearedSearch, GotAnimationMessage, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusItems, FocusButton, ScrollIntoView, ClickItem, DelayClearSearch, DetectMovementOrAnimationEnd, } from './index.js';
1
+ export { init, create, buttonId, Model, Message, OutMessage, Selected, SelectedItem, CompletedLockScroll, CompletedUnlockScroll, CompletedInertOthers, CompletedRestoreInert, CompletedFocusItems, CompletedFocusButton, CompletedScrollIntoView, CompletedClickItem, CompletedAnchorMenu, CompletedPortalMenuBackdrop, AnchorMenu, PortalMenuBackdrop, CompletedDelayClearSearch, GotAnimationMessage, LockScroll, UnlockScroll, InertOthers, RestoreInert, FocusItems, FocusButton, ScrollIntoView, ClickItem, DelayClearSearch, DetectMovementOrAnimationEnd, } from './index.js';
@@ -51,7 +51,7 @@ export declare const CompletedAnchorPopover: import("foldkit/schema").CallableTa
51
51
  export declare const CompletedPortalPopoverBackdrop: import("foldkit/schema").CallableTaggedStruct<"CompletedPortalPopoverBackdrop", {}>;
52
52
  /** Wraps an Animation submodel message for delegation. */
53
53
  export declare const GotAnimationMessage: import("foldkit/schema").CallableTaggedStruct<"GotAnimationMessage", {
54
- message: S.Union<[import("foldkit/schema").CallableTaggedStruct<"Showed", {}>, import("foldkit/schema").CallableTaggedStruct<"Hid", {}>, import("foldkit/schema").CallableTaggedStruct<"AdvancedAnimationFrame", {}>, import("foldkit/schema").CallableTaggedStruct<"EndedAnimation", {}>]>;
54
+ message: S.Union<[import("foldkit/schema").CallableTaggedStruct<"Showed", {}>, import("foldkit/schema").CallableTaggedStruct<"Hid", {}>, import("foldkit/schema").CallableTaggedStruct<"CompletedWaitForPaint", {}>, import("foldkit/schema").CallableTaggedStruct<"EndedAnimation", {}>]>;
55
55
  }>;
56
56
  /** Union of all messages the popover component can produce. */
57
57
  export declare const Message: S.Union<[
@@ -148,7 +148,7 @@ export declare const DetectMovementOrAnimationEnd: Command.CommandDefinitionWith
148
148
  } | {
149
149
  readonly _tag: "Hid";
150
150
  } | {
151
- readonly _tag: "AdvancedAnimationFrame";
151
+ readonly _tag: "CompletedWaitForPaint";
152
152
  } | {
153
153
  readonly _tag: "EndedAnimation";
154
154
  };
@@ -166,6 +166,7 @@ export declare const AnchorPopover: Mount.MountDefinitionWithArgs<"AnchorPopover
166
166
  readonly offset: S.optional<S.Number>;
167
167
  readonly padding: S.optional<S.Number>;
168
168
  readonly portal: S.optional<S.Boolean>;
169
+ readonly isPlacementLocked: S.optional<S.Boolean>;
169
170
  }>;
170
171
  focusSelector: S.optional<S.String>;
171
172
  }, {
@@ -260,7 +261,7 @@ export declare const view: import("foldkit/submodel").View<{
260
261
  } | {
261
262
  readonly _tag: "Hid";
262
263
  } | {
263
- readonly _tag: "AdvancedAnimationFrame";
264
+ readonly _tag: "CompletedWaitForPaint";
264
265
  } | {
265
266
  readonly _tag: "EndedAnimation";
266
267
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/popover/index.ts"],"names":[],"mappings":"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"}
@@ -113,22 +113,48 @@ const panelSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}-panel`
113
113
  export const buttonId = (id) => __foldkitBrandViewResult((`${id}-button`), "@foldkit/ui/popover/index.js#buttonId");
114
114
  const withUpdateReturn = M.withReturnType();
115
115
  /** Prevents page scrolling while the popover is open in modal mode. */
116
- export const LockScroll = Command.define('LockScroll', CompletedLockScroll)(Dom.lockScroll.pipe(Effect.as(CompletedLockScroll())));
116
+ export const LockScroll = Command.define('LockScroll', {
117
+ messages: [CompletedLockScroll],
118
+ execute: Dom.lockScroll.pipe(Effect.as(CompletedLockScroll())),
119
+ });
117
120
  /** Re-enables page scrolling after the popover closes. */
118
- export const UnlockScroll = Command.define('UnlockScroll', CompletedUnlockScroll)(Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll())));
121
+ export const UnlockScroll = Command.define('UnlockScroll', {
122
+ messages: [CompletedUnlockScroll],
123
+ execute: Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll())),
124
+ });
119
125
  /** Marks all elements outside the popover as inert for modal behavior. */
120
- export const InertOthers = Command.define('InertOthers', { id: S.String }, CompletedInertOthers)(({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [buttonSelector(id), panelSelector(id)]).pipe(Effect.as(CompletedInertOthers()))), "@foldkit/ui/popover/index.js#anonymous"));
126
+ export const InertOthers = Command.define('InertOthers', {
127
+ args: { id: S.String },
128
+ messages: [CompletedInertOthers],
129
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.inertOthers(id, [buttonSelector(id), panelSelector(id)]).pipe(Effect.as(CompletedInertOthers()))), "@foldkit/ui/popover/index.js#execute"),
130
+ });
121
131
  /** Removes the inert attribute from elements outside the popover. */
122
- export const RestoreInert = Command.define('RestoreInert', { id: S.String }, CompletedRestoreInert)(({ id }) => __foldkitBrandViewResult((Dom.restoreInert(id).pipe(Effect.as(CompletedRestoreInert()))), "@foldkit/ui/popover/index.js#anonymous~2"));
132
+ export const RestoreInert = Command.define('RestoreInert', {
133
+ args: { id: S.String },
134
+ messages: [CompletedRestoreInert],
135
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.restoreInert(id).pipe(Effect.as(CompletedRestoreInert()))), "@foldkit/ui/popover/index.js#execute~2"),
136
+ });
123
137
  /** Moves focus to the popover panel after opening. */
124
- export const FocusPanel = Command.define('FocusPanel', { id: S.String }, CompletedFocusPanel)(({ id }) => __foldkitBrandViewResult((Dom.focus(panelSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusPanel()))), "@foldkit/ui/popover/index.js#anonymous~3"));
138
+ export const FocusPanel = Command.define('FocusPanel', {
139
+ args: { id: S.String },
140
+ messages: [CompletedFocusPanel],
141
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.focus(panelSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusPanel()))), "@foldkit/ui/popover/index.js#execute~3"),
142
+ });
125
143
  /** Moves focus back to the popover button after closing. */
126
- export const FocusButton = Command.define('FocusButton', { id: S.String }, CompletedFocusButton)(({ id }) => __foldkitBrandViewResult((Dom.focus(buttonSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton()))), "@foldkit/ui/popover/index.js#anonymous~4"));
144
+ export const FocusButton = Command.define('FocusButton', {
145
+ args: { id: S.String },
146
+ messages: [CompletedFocusButton],
147
+ execute: ({ id }) => __foldkitBrandViewResult((Dom.focus(buttonSelector(id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton()))), "@foldkit/ui/popover/index.js#execute~4"),
148
+ });
127
149
  /** Detects whether the popover button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
128
- export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', { id: S.String }, GotAnimationMessage)(({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))), Dom.waitForAnimationSettled(panelSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))))), "@foldkit/ui/popover/index.js#anonymous~5"));
150
+ export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', {
151
+ args: { id: S.String },
152
+ messages: [GotAnimationMessage],
153
+ execute: ({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))), Dom.waitForAnimationSettled(panelSelector(id)).pipe(Effect.as(GotAnimationMessage({ message: AnimationEndedAnimation() }))))), "@foldkit/ui/popover/index.js#execute~5"),
154
+ });
129
155
  const delegateToAnimation = (model, animationMessage) => {
130
156
  const [nextAnimation, animationCommands, maybeOutMessage] = animationUpdate(model.animation, animationMessage);
131
- const mappedCommands = Command.mapMessages(animationCommands, message => __foldkitBrandViewResult((GotAnimationMessage({ message })), "@foldkit/ui/popover/index.js#anonymous~6"));
157
+ const mappedCommands = Command.mapMessages(animationCommands, message => __foldkitBrandViewResult((GotAnimationMessage({ message })), "@foldkit/ui/popover/index.js#anonymous"));
132
158
  const additionalCommands = Option.match(maybeOutMessage, {
133
159
  onNone: () => __foldkitBrandViewResult(([]), "@foldkit/ui/popover/index.js#onNone"),
134
160
  onSome: M.type().pipe(M.tagsExhaustive({
@@ -249,16 +275,16 @@ export const AnchorPopover = Mount.define('AnchorPopover', {
249
275
  interceptTab: false,
250
276
  focusAfterPosition: true,
251
277
  ...(focusSelector !== undefined && { focusSelector }),
252
- })(element)), "@foldkit/ui/popover/index.js#anonymous~10")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/popover/index.js#anonymous~11"));
253
- return __foldkitBrandViewResult((CompletedAnchorPopover()), "@foldkit/ui/popover/index.js#anonymous~9");
254
- })), "@foldkit/ui/popover/index.js#anonymous~8")), "@foldkit/ui/popover/index.js#anonymous~7"));
278
+ })(element)), "@foldkit/ui/popover/index.js#anonymous~5")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/popover/index.js#anonymous~6"));
279
+ return __foldkitBrandViewResult((CompletedAnchorPopover()), "@foldkit/ui/popover/index.js#anonymous~4");
280
+ })), "@foldkit/ui/popover/index.js#anonymous~3")), "@foldkit/ui/popover/index.js#anonymous~2"));
255
281
  /** The backdrop-portaling Mount this Popover renders. Exposed so Scene tests can
256
282
  * call `Scene.Mount.resolve(PortalPopoverBackdrop, CompletedPortalPopoverBackdrop())` to
257
283
  * acknowledge the mount produced by the rendered backdrop. */
258
284
  export const PortalPopoverBackdrop = Mount.define('PortalPopoverBackdrop', CompletedPortalPopoverBackdrop)(element => __foldkitBrandViewResult((Effect.gen(function* () {
259
- yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/popover/index.js#anonymous~14")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/popover/index.js#anonymous~15"));
260
- return __foldkitBrandViewResult((CompletedPortalPopoverBackdrop()), "@foldkit/ui/popover/index.js#anonymous~13");
261
- })), "@foldkit/ui/popover/index.js#anonymous~12"));
285
+ yield* Effect.acquireRelease(Effect.sync(() => __foldkitBrandViewResult((portalToContainingRoot(element)), "@foldkit/ui/popover/index.js#anonymous~9")), cleanup => __foldkitBrandViewResult((Effect.sync(cleanup)), "@foldkit/ui/popover/index.js#anonymous~10"));
286
+ return __foldkitBrandViewResult((CompletedPortalPopoverBackdrop()), "@foldkit/ui/popover/index.js#anonymous~8");
287
+ })), "@foldkit/ui/popover/index.js#anonymous~7"));
262
288
  /** Programmatically opens the popover, updating the model and returning
263
289
  * focus and modal commands plus an `Opened` OutMessage. */
264
290
  export const open = (model) => __foldkitBrandViewResult((update(model, RequestedOpen())), "@foldkit/ui/popover/index.js#open");
@@ -275,21 +301,21 @@ export const view = defineView((model, viewInputs, h) => {
275
301
  h.DataAttribute('closed', ''),
276
302
  h.DataAttribute('enter', ''),
277
303
  h.DataAttribute('transition', ''),
278
- ]), "@foldkit/ui/popover/index.js#anonymous~17")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
304
+ ]), "@foldkit/ui/popover/index.js#anonymous~12")), M.when('EnterAnimating', () => __foldkitBrandViewResult(([
279
305
  h.DataAttribute('enter', ''),
280
306
  h.DataAttribute('transition', ''),
281
- ]), "@foldkit/ui/popover/index.js#anonymous~18")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
307
+ ]), "@foldkit/ui/popover/index.js#anonymous~13")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
282
308
  h.DataAttribute('leave', ''),
283
309
  h.DataAttribute('transition', ''),
284
- ]), "@foldkit/ui/popover/index.js#anonymous~19")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
310
+ ]), "@foldkit/ui/popover/index.js#anonymous~14")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
285
311
  h.DataAttribute('closed', ''),
286
312
  h.DataAttribute('leave', ''),
287
313
  h.DataAttribute('transition', ''),
288
- ]), "@foldkit/ui/popover/index.js#anonymous~20")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/popover/index.js#anonymous~21")));
289
- const handleButtonKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.whenOr('Enter', ' ', 'ArrowDown', () => __foldkitBrandViewResult((Option.some(isOpen ? RequestedClose() : RequestedOpen())), "@foldkit/ui/popover/index.js#anonymous~22")), M.when('Escape', () => __foldkitBrandViewResult((OptionExt.when(isOpen, RequestedClose())), "@foldkit/ui/popover/index.js#anonymous~23")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/popover/index.js#anonymous~24")))), "@foldkit/ui/popover/index.js#handleButtonKeyDown");
314
+ ]), "@foldkit/ui/popover/index.js#anonymous~15")), M.orElse(() => __foldkitBrandViewResult(([]), "@foldkit/ui/popover/index.js#anonymous~16")));
315
+ const handleButtonKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.whenOr('Enter', ' ', 'ArrowDown', () => __foldkitBrandViewResult((Option.some(isOpen ? RequestedClose() : RequestedOpen())), "@foldkit/ui/popover/index.js#anonymous~17")), M.when('Escape', () => __foldkitBrandViewResult((OptionExt.when(isOpen, RequestedClose())), "@foldkit/ui/popover/index.js#anonymous~18")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/popover/index.js#anonymous~19")))), "@foldkit/ui/popover/index.js#handleButtonKeyDown");
290
316
  const handleButtonPointerDown = (pointerType, button) => __foldkitBrandViewResult((Option.some(PressedPointerOnButton({ pointerType, button }))), "@foldkit/ui/popover/index.js#handleButtonPointerDown");
291
317
  const handleButtonClick = () => {
292
- const isMouse = Option.exists(maybeLastButtonPointerType, type => __foldkitBrandViewResult((type === 'mouse'), "@foldkit/ui/popover/index.js#anonymous~25"));
318
+ const isMouse = Option.exists(maybeLastButtonPointerType, type => __foldkitBrandViewResult((type === 'mouse'), "@foldkit/ui/popover/index.js#anonymous~20"));
293
319
  if (isMouse) {
294
320
  return __foldkitBrandViewResult((IgnoredMouseClick()), "@foldkit/ui/popover/index.js#handleButtonClick");
295
321
  }
@@ -301,7 +327,7 @@ export const view = defineView((model, viewInputs, h) => {
301
327
  }
302
328
  };
303
329
  const handleSpaceKeyUp = (key) => __foldkitBrandViewResult((OptionExt.when(key === ' ', SuppressedSpaceScroll())), "@foldkit/ui/popover/index.js#handleSpaceKeyUp");
304
- const handlePanelKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.when('Escape', () => __foldkitBrandViewResult((Option.some(RequestedClose())), "@foldkit/ui/popover/index.js#anonymous~26")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/popover/index.js#anonymous~27")))), "@foldkit/ui/popover/index.js#handlePanelKeyDown");
330
+ const handlePanelKeyDown = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.when('Escape', () => __foldkitBrandViewResult((Option.some(RequestedClose())), "@foldkit/ui/popover/index.js#anonymous~21")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/popover/index.js#anonymous~22")))), "@foldkit/ui/popover/index.js#handlePanelKeyDown");
305
331
  const resolveButtonLabel = () => {
306
332
  if (Predicate.isNotUndefined(ariaLabel)) {
307
333
  return __foldkitBrandViewResult(([h.AriaLabel(ariaLabel)]), "@foldkit/ui/popover/index.js#resolveButtonLabel");
@@ -361,5 +387,5 @@ export const view = defineView((model, viewInputs, h) => {
361
387
  panel: childAttributes(panelAttributes),
362
388
  backdrop: childAttributes(backdropAttributes),
363
389
  isVisible,
364
- })), "@foldkit/ui/popover/index.js#anonymous~16");
390
+ })), "@foldkit/ui/popover/index.js#anonymous~11");
365
391
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slider/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slider/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ts } from 'foldkit/schema';
6
6
  import { evo } from 'foldkit/struct';
7
7
  import { defineView } from 'foldkit/submodel';
8
8
  import * as Subscription from 'foldkit/subscription';
9
+ import { attributeSelector } from '../internal/selectors.js';
9
10
  // MODEL
10
11
  const Idle = ts('Idle');
11
12
  const Dragging = ts('Dragging', { originValue: S.Number });
@@ -174,7 +175,7 @@ export const reflectRange = Function.dual(2, (model, range) => __foldkitBrandVie
174
175
  // SUBSCRIPTION
175
176
  const DragActivity = S.Literals(['Idle', 'Active']);
176
177
  const dragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('Dragging', () => __foldkitBrandViewResult(('Active'), "@foldkit/ui/slider/index.js#anonymous~18")), M.orElse(() => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/slider/index.js#anonymous~19")))), "@foldkit/ui/slider/index.js#dragActivityFromModel");
177
- const trackElement = (id, root) => __foldkitBrandViewResult((Option.fromNullishOr(root.querySelector(`[data-slider-track-id="${id}"]`))), "@foldkit/ui/slider/index.js#trackElement");
178
+ const trackElement = (id, root) => __foldkitBrandViewResult((Option.fromNullishOr(root.querySelector(attributeSelector('data-slider-track-id', id)))), "@foldkit/ui/slider/index.js#trackElement");
178
179
  const valueFromClientX = (clientX, trackElement_, min, max) => {
179
180
  const rect = trackElement_.getBoundingClientRect();
180
181
  if (rect.width === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"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"}