foldkit 0.89.0 → 0.90.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +19 -10
  2. package/dist/command/index.d.ts.map +1 -1
  3. package/dist/command/index.js +3 -11
  4. package/dist/devTools/overlay.d.ts +3 -3
  5. package/dist/devTools/overlay.d.ts.map +1 -1
  6. package/dist/devTools/overlay.js +209 -171
  7. package/dist/devTools/protocol.d.ts +77 -19
  8. package/dist/devTools/protocol.d.ts.map +1 -1
  9. package/dist/devTools/protocol.js +10 -5
  10. package/dist/devTools/serialize.d.ts +8 -2
  11. package/dist/devTools/serialize.d.ts.map +1 -1
  12. package/dist/devTools/serialize.js +11 -2
  13. package/dist/devTools/store.d.ts +9 -5
  14. package/dist/devTools/store.d.ts.map +1 -1
  15. package/dist/devTools/store.js +13 -13
  16. package/dist/devTools/webSocketBridge.d.ts.map +1 -1
  17. package/dist/devTools/webSocketBridge.js +2 -2
  18. package/dist/html/index.d.ts +12 -0
  19. package/dist/html/index.d.ts.map +1 -1
  20. package/dist/html/index.js +20 -4
  21. package/dist/mount/index.d.ts +64 -21
  22. package/dist/mount/index.d.ts.map +1 -1
  23. package/dist/mount/index.js +43 -32
  24. package/dist/mount/public.d.ts +1 -1
  25. package/dist/mount/public.d.ts.map +1 -1
  26. package/dist/runtime/crashUI.js +30 -30
  27. package/dist/runtime/runtime.d.ts.map +1 -1
  28. package/dist/runtime/runtime.js +4 -4
  29. package/dist/test/apps/bubbling.js +4 -4
  30. package/dist/test/apps/disabledButton.js +10 -10
  31. package/dist/test/apps/fileUpload.d.ts.map +1 -1
  32. package/dist/test/apps/fileUpload.js +13 -13
  33. package/dist/test/apps/interactions.d.ts.map +1 -1
  34. package/dist/test/apps/interactions.js +15 -15
  35. package/dist/test/apps/keypress.js +8 -8
  36. package/dist/test/apps/login.d.ts.map +1 -1
  37. package/dist/test/apps/login.js +32 -24
  38. package/dist/test/apps/logoutButton.d.ts.map +1 -1
  39. package/dist/test/apps/logoutButton.js +2 -2
  40. package/dist/test/apps/mountPanel.d.ts +19 -3
  41. package/dist/test/apps/mountPanel.d.ts.map +1 -1
  42. package/dist/test/apps/mountPanel.js +41 -20
  43. package/dist/test/apps/multiRole.js +3 -3
  44. package/dist/test/apps/pointer.d.ts.map +1 -1
  45. package/dist/test/apps/pointer.js +11 -11
  46. package/dist/test/apps/resumeUpload.d.ts.map +1 -1
  47. package/dist/test/apps/resumeUpload.js +8 -8
  48. package/dist/test/internal.d.ts +50 -20
  49. package/dist/test/internal.d.ts.map +1 -1
  50. package/dist/test/internal.js +65 -74
  51. package/dist/test/scene.d.ts +7 -7
  52. package/dist/test/scene.d.ts.map +1 -1
  53. package/dist/test/scene.js +42 -37
  54. package/dist/test/story.d.ts.map +1 -1
  55. package/dist/test/story.js +2 -2
  56. package/dist/ui/anchor.d.ts +12 -8
  57. package/dist/ui/anchor.d.ts.map +1 -1
  58. package/dist/ui/anchor.js +41 -16
  59. package/dist/ui/animation/index.js +24 -24
  60. package/dist/ui/button/index.d.ts.map +1 -1
  61. package/dist/ui/button/index.js +6 -6
  62. package/dist/ui/calendar/index.d.ts.map +1 -1
  63. package/dist/ui/calendar/index.js +101 -99
  64. package/dist/ui/checkbox/index.d.ts.map +1 -1
  65. package/dist/ui/checkbox/index.js +15 -15
  66. package/dist/ui/combobox/multi.d.ts +1 -7
  67. package/dist/ui/combobox/multi.d.ts.map +1 -1
  68. package/dist/ui/combobox/shared.d.ts +14 -5
  69. package/dist/ui/combobox/shared.d.ts.map +1 -1
  70. package/dist/ui/combobox/shared.js +137 -125
  71. package/dist/ui/combobox/single.d.ts +1 -7
  72. package/dist/ui/combobox/single.d.ts.map +1 -1
  73. package/dist/ui/datePicker/index.js +4 -4
  74. package/dist/ui/dialog/index.d.ts.map +1 -1
  75. package/dist/ui/dialog/index.js +27 -27
  76. package/dist/ui/disclosure/index.d.ts.map +1 -1
  77. package/dist/ui/disclosure/index.js +24 -22
  78. package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
  79. package/dist/ui/dragAndDrop/index.js +15 -15
  80. package/dist/ui/fieldset/index.js +6 -6
  81. package/dist/ui/fileDrop/index.d.ts +2 -2
  82. package/dist/ui/fileDrop/index.d.ts.map +1 -1
  83. package/dist/ui/fileDrop/index.js +16 -16
  84. package/dist/ui/input/index.d.ts.map +1 -1
  85. package/dist/ui/input/index.js +15 -13
  86. package/dist/ui/listbox/multi.d.ts +1 -7
  87. package/dist/ui/listbox/multi.d.ts.map +1 -1
  88. package/dist/ui/listbox/shared.d.ts +12 -3
  89. package/dist/ui/listbox/shared.d.ts.map +1 -1
  90. package/dist/ui/listbox/shared.js +91 -89
  91. package/dist/ui/listbox/single.d.ts +1 -7
  92. package/dist/ui/listbox/single.d.ts.map +1 -1
  93. package/dist/ui/menu/index.d.ts +12 -3
  94. package/dist/ui/menu/index.d.ts.map +1 -1
  95. package/dist/ui/menu/index.js +75 -77
  96. package/dist/ui/popover/index.d.ts +13 -3
  97. package/dist/ui/popover/index.d.ts.map +1 -1
  98. package/dist/ui/popover/index.js +62 -53
  99. package/dist/ui/radioGroup/index.d.ts.map +1 -1
  100. package/dist/ui/radioGroup/index.js +20 -20
  101. package/dist/ui/select/index.d.ts.map +1 -1
  102. package/dist/ui/select/index.js +13 -11
  103. package/dist/ui/slider/index.d.ts.map +1 -1
  104. package/dist/ui/slider/index.js +26 -26
  105. package/dist/ui/switch/index.d.ts.map +1 -1
  106. package/dist/ui/switch/index.js +14 -14
  107. package/dist/ui/tabs/index.d.ts.map +1 -1
  108. package/dist/ui/tabs/index.js +40 -36
  109. package/dist/ui/textarea/index.d.ts.map +1 -1
  110. package/dist/ui/textarea/index.js +15 -13
  111. package/dist/ui/toast/index.d.ts.map +1 -1
  112. package/dist/ui/toast/index.js +27 -27
  113. package/dist/ui/tooltip/index.d.ts +11 -2
  114. package/dist/ui/tooltip/index.d.ts.map +1 -1
  115. package/dist/ui/tooltip/index.js +33 -33
  116. package/dist/ui/virtualList/index.d.ts.map +1 -1
  117. package/dist/ui/virtualList/index.js +18 -15
  118. package/package.json +1 -1
@@ -6,7 +6,7 @@ import { html, } from '../../html/index.js';
6
6
  import { m } from '../../message/index.js';
7
7
  import * as Mount from '../../mount/index.js';
8
8
  import { makeConstrainedEvo } from '../../struct/index.js';
9
- import { anchorSetup, portalToBody } from '../anchor.js';
9
+ import { AnchorConfig, anchorSetup, portalToBody } from '../anchor.js';
10
10
  // NOTE: Animation imports are split across schema + update to avoid a circular
11
11
  // dependency: animation → html → runtime → devtools → listbox → animation.
12
12
  // The barrel (../animation) imports from html, which starts the cycle.
@@ -363,17 +363,19 @@ export const makeUpdate = (handleSelectedItem) => {
363
363
  /** The anchor-positioning Mount this Listbox renders when an anchor is
364
364
  * configured. Exposed so Scene tests can call
365
365
  * `Scene.Mount.resolve(AnchorListbox, CompletedAnchorListbox())`. */
366
- export const AnchorListbox = Mount.define('AnchorListbox', CompletedAnchorListbox);
366
+ export const AnchorListbox = Mount.define('AnchorListbox', { buttonId: S.String, anchor: AnchorConfig }, CompletedAnchorListbox)(({ buttonId, anchor }) => (element) => Effect.sync(() => {
367
+ const cleanup = anchorSetup({ buttonId, anchor })(element);
368
+ return { message: CompletedAnchorListbox(), cleanup };
369
+ }));
367
370
  /** The backdrop-portaling Mount this Listbox renders. Exposed so Scene tests can
368
371
  * call `Scene.Mount.resolve(PortalListboxBackdrop, CompletedPortalListboxBackdrop())` to
369
372
  * acknowledge the mount produced by the rendered backdrop. */
370
- export const PortalListboxBackdrop = Mount.define('PortalListboxBackdrop', CompletedPortalListboxBackdrop);
371
- const portalListboxBackdrop = PortalListboxBackdrop((element) => Effect.sync(() => {
373
+ export const PortalListboxBackdrop = Mount.define('PortalListboxBackdrop', CompletedPortalListboxBackdrop)((element) => Effect.sync(() => {
372
374
  const cleanup = portalToBody(element);
373
375
  return { message: CompletedPortalListboxBackdrop(), cleanup };
374
376
  }));
375
377
  export const makeView = (behavior) => (config) => {
376
- const { div, input, AriaActiveDescendant, AriaControls, AriaDisabled, AriaExpanded, AriaHasPopup, AriaLabelledBy, AriaMultiSelectable, AriaOrientation, AriaSelected, Attribute, Class, DataAttribute, Id, Name, OnBlur, OnClick, OnKeyDownPreventDefault, OnKeyUpPreventDefault, OnMount, OnPointerDown, OnPointerLeave, OnPointerMove, Role, Style, Tabindex, Type, Value, keyed, } = html();
378
+ const h = html();
377
379
  const { model: { id, isOpen, orientation, animation: { transitionState }, maybeActiveItemIndex, searchQuery, maybeLastButtonPointerType, }, toParentMessage, onSelectedItem, items, itemToConfig, isItemDisabled, isButtonDisabled, buttonContent, buttonClassName, buttonAttributes = [], itemsClassName, itemsAttributes = [], itemsScrollClassName, itemsScrollAttributes = [], backdropClassName, backdropAttributes = [], className, attributes = [], itemGroupKey, groupToHeading, groupClassName, groupAttributes = [], separatorClassName, separatorAttributes = [], anchor, name, form, isDisabled, isInvalid, } = config;
378
380
  const itemToValue = config.itemToValue ?? (item => String(item));
379
381
  const itemToSearchText = config.itemToSearchText ?? (item => itemToValue(item));
@@ -383,19 +385,19 @@ export const makeView = (behavior) => (config) => {
383
385
  const isLeaving = transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating';
384
386
  const isVisible = isOpen || isLeaving;
385
387
  const animationAttributes = M.value(transitionState).pipe(M.when('EnterStart', () => [
386
- DataAttribute('closed', ''),
387
- DataAttribute('enter', ''),
388
- DataAttribute('transition', ''),
388
+ h.DataAttribute('closed', ''),
389
+ h.DataAttribute('enter', ''),
390
+ h.DataAttribute('transition', ''),
389
391
  ]), M.when('EnterAnimating', () => [
390
- DataAttribute('enter', ''),
391
- DataAttribute('transition', ''),
392
+ h.DataAttribute('enter', ''),
393
+ h.DataAttribute('transition', ''),
392
394
  ]), M.when('LeaveStart', () => [
393
- DataAttribute('leave', ''),
394
- DataAttribute('transition', ''),
395
+ h.DataAttribute('leave', ''),
396
+ h.DataAttribute('transition', ''),
395
397
  ]), M.when('LeaveAnimating', () => [
396
- DataAttribute('closed', ''),
397
- DataAttribute('leave', ''),
398
- DataAttribute('transition', ''),
398
+ h.DataAttribute('closed', ''),
399
+ h.DataAttribute('leave', ''),
400
+ h.DataAttribute('transition', ''),
399
401
  ]), M.orElse(() => []));
400
402
  const isItemDisabledByIndex = (index) => Predicate.isNotUndefined(isItemDisabled) &&
401
403
  pipe(items, Array.get(index), Option.exists(item => isItemDisabled(item, index)));
@@ -457,63 +459,57 @@ export const makeView = (behavior) => (config) => {
457
459
  activationTrigger: 'Keyboard',
458
460
  })))), M.when(isPrintableKey, () => searchForKey(key)), M.orElse(() => Option.none()));
459
461
  const resolvedButtonAttributes = [
460
- Id(`${id}-button`),
461
- Type('button'),
462
- AriaHasPopup('listbox'),
463
- AriaExpanded(isVisible),
464
- AriaControls(`${id}-items`),
462
+ h.Id(`${id}-button`),
463
+ h.Type('button'),
464
+ h.AriaHasPopup('listbox'),
465
+ h.AriaExpanded(isVisible),
466
+ h.AriaControls(`${id}-items`),
465
467
  ...(isButtonEffectivelyDisabled
466
- ? [AriaDisabled(true), DataAttribute('disabled', '')]
468
+ ? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
467
469
  : [
468
- OnPointerDown(handleButtonPointerDown),
469
- OnKeyDownPreventDefault(handleButtonKeyDown),
470
- OnKeyUpPreventDefault(handleSpaceKeyUp),
471
- OnClick(handleButtonClick()),
470
+ h.OnPointerDown(handleButtonPointerDown),
471
+ h.OnKeyDownPreventDefault(handleButtonKeyDown),
472
+ h.OnKeyUpPreventDefault(handleSpaceKeyUp),
473
+ h.OnClick(handleButtonClick()),
472
474
  ]),
473
475
  ...(isVisible
474
476
  ? [
475
- DataAttribute('open', ''),
476
- Style({ position: 'relative', zIndex: '1' }),
477
+ h.DataAttribute('open', ''),
478
+ h.Style({ position: 'relative', zIndex: '1' }),
477
479
  ]
478
480
  : []),
479
- ...(isInvalid ? [DataAttribute('invalid', '')] : []),
480
- ...(buttonClassName ? [Class(buttonClassName)] : []),
481
+ ...(isInvalid ? [h.DataAttribute('invalid', '')] : []),
482
+ ...(buttonClassName ? [h.Class(buttonClassName)] : []),
481
483
  ...buttonAttributes,
482
484
  ];
483
485
  const maybeActiveDescendant = Option.match(maybeActiveItemIndex, {
484
486
  onNone: () => [],
485
- onSome: index => [AriaActiveDescendant(itemId(id, index))],
487
+ onSome: index => [h.AriaActiveDescendant(itemId(id, index))],
486
488
  });
487
489
  const anchorAttributes = anchor
488
490
  ? [
489
- Style({ position: 'absolute', margin: '0', visibility: 'hidden' }),
490
- OnMount(Mount.mapMessage(AnchorListbox((items) => Effect.sync(() => {
491
- const cleanup = anchorSetup({
492
- buttonId: `${id}-button`,
493
- anchor,
494
- })(items);
495
- return { message: CompletedAnchorListbox(), cleanup };
496
- })), toParentMessage)),
491
+ h.Style({ position: 'absolute', margin: '0', visibility: 'hidden' }),
492
+ h.OnMount(Mount.mapMessage(AnchorListbox({ buttonId: `${id}-button`, anchor }), toParentMessage)),
497
493
  ]
498
494
  : [];
499
495
  const itemsContainerAttributes = [
500
- Id(`${id}-items`),
501
- Role('listbox'),
502
- AriaOrientation(Str.toLowerCase(orientation)),
503
- ...(behavior.ariaMultiSelectable ? [AriaMultiSelectable(true)] : []),
504
- AriaLabelledBy(`${id}-button`),
496
+ h.Id(`${id}-items`),
497
+ h.Role('listbox'),
498
+ h.AriaOrientation(Str.toLowerCase(orientation)),
499
+ ...(behavior.ariaMultiSelectable ? [h.AriaMultiSelectable(true)] : []),
500
+ h.AriaLabelledBy(`${id}-button`),
505
501
  ...maybeActiveDescendant,
506
- Tabindex(0),
502
+ h.Tabindex(0),
507
503
  ...anchorAttributes,
508
504
  ...animationAttributes,
509
505
  ...(isLeaving
510
506
  ? []
511
507
  : [
512
- OnKeyDownPreventDefault(handleItemsKeyDown),
513
- OnKeyUpPreventDefault(handleSpaceKeyUp),
514
- OnBlur(toParentMessage(BlurredItems())),
508
+ h.OnKeyDownPreventDefault(handleItemsKeyDown),
509
+ h.OnKeyUpPreventDefault(handleSpaceKeyUp),
510
+ h.OnBlur(toParentMessage(BlurredItems())),
515
511
  ]),
516
- ...(itemsClassName ? [Class(itemsClassName)] : []),
512
+ ...(itemsClassName ? [h.Class(itemsClassName)] : []),
517
513
  ...itemsAttributes,
518
514
  ];
519
515
  const listboxItems = Array.map(items, (item, index) => {
@@ -526,27 +522,27 @@ export const makeView = (behavior) => (config) => {
526
522
  isSelected: isSelectedItem,
527
523
  });
528
524
  const isInteractive = !isDisabledItem && !isLeaving;
529
- return keyed('div')(itemId(id, index), [
530
- Id(itemId(id, index)),
531
- Role('option'),
532
- AriaSelected(isSelectedItem),
533
- ...(isActiveItem ? [DataAttribute('active', '')] : []),
534
- ...(isSelectedItem ? [DataAttribute('selected', '')] : []),
525
+ return h.keyed('div')(itemId(id, index), [
526
+ h.Id(itemId(id, index)),
527
+ h.Role('option'),
528
+ h.AriaSelected(isSelectedItem),
529
+ ...(isActiveItem ? [h.DataAttribute('active', '')] : []),
530
+ ...(isSelectedItem ? [h.DataAttribute('selected', '')] : []),
535
531
  ...(isDisabledItem
536
- ? [AriaDisabled(true), DataAttribute('disabled', '')]
532
+ ? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
537
533
  : []),
538
534
  ...(isInteractive
539
535
  ? [
540
- OnClick(dispatchSelectedItem(itemToValue(item))),
536
+ h.OnClick(dispatchSelectedItem(itemToValue(item))),
541
537
  ...(isActiveItem
542
538
  ? []
543
539
  : [
544
- OnPointerMove((screenX, screenY, pointerType) => OptionExt.when(pointerType !== 'touch', toParentMessage(MovedPointerOverItem({ index, screenX, screenY })))),
540
+ h.OnPointerMove((screenX, screenY, pointerType) => OptionExt.when(pointerType !== 'touch', toParentMessage(MovedPointerOverItem({ index, screenX, screenY })))),
545
541
  ]),
546
- OnPointerLeave(pointerType => OptionExt.when(pointerType !== 'touch', toParentMessage(DeactivatedItem()))),
542
+ h.OnPointerLeave(pointerType => OptionExt.when(pointerType !== 'touch', toParentMessage(DeactivatedItem()))),
547
543
  ]
548
544
  : []),
549
- ...(itemConfig.className ? [Class(itemConfig.className)] : []),
545
+ ...(itemConfig.className ? [h.Class(itemConfig.className)] : []),
550
546
  ], [itemConfig.content]);
551
547
  });
552
548
  const renderGroupedItems = () => {
@@ -563,27 +559,31 @@ export const makeView = (behavior) => (config) => {
563
559
  const headingElement = Option.match(maybeHeading, {
564
560
  onNone: () => [],
565
561
  onSome: heading => [
566
- keyed('div')(headingId, [
567
- Id(headingId),
568
- Role('presentation'),
569
- ...(heading.className ? [Class(heading.className)] : []),
562
+ h.keyed('div')(headingId, [
563
+ h.Id(headingId),
564
+ h.Role('presentation'),
565
+ ...(heading.className ? [h.Class(heading.className)] : []),
570
566
  ], [heading.content]),
571
567
  ],
572
568
  });
573
569
  const groupContent = [...headingElement, ...segment.items];
574
- const groupElement = keyed('div')(`${id}-group-${segment.key}`, [
575
- Role('group'),
576
- ...(Option.isSome(maybeHeading) ? [AriaLabelledBy(headingId)] : []),
577
- ...(groupClassName ? [Class(groupClassName)] : []),
570
+ const groupElement = h.keyed('div')(`${id}-group-${segment.key}`, [
571
+ h.Role('group'),
572
+ ...(Option.isSome(maybeHeading)
573
+ ? [h.AriaLabelledBy(headingId)]
574
+ : []),
575
+ ...(groupClassName ? [h.Class(groupClassName)] : []),
578
576
  ...groupAttributes,
579
577
  ], groupContent);
580
578
  const separator = segmentIndex > 0 &&
581
579
  (separatorClassName ||
582
580
  Array.isReadonlyArrayNonEmpty(separatorAttributes))
583
581
  ? [
584
- keyed('div')(`${id}-separator-${segmentIndex}`, [
585
- Role('separator'),
586
- ...(separatorClassName ? [Class(separatorClassName)] : []),
582
+ h.keyed('div')(`${id}-separator-${segmentIndex}`, [
583
+ h.Role('separator'),
584
+ ...(separatorClassName
585
+ ? [h.Class(separatorClassName)]
586
+ : []),
587
587
  ...separatorAttributes,
588
588
  ], []),
589
589
  ]
@@ -591,50 +591,52 @@ export const makeView = (behavior) => (config) => {
591
591
  return [...separator, groupElement];
592
592
  });
593
593
  };
594
- const backdrop = keyed('div')(`${id}-backdrop`, [
595
- OnMount(Mount.mapMessage(portalListboxBackdrop, toParentMessage)),
596
- ...(isLeaving ? [] : [OnClick(toParentMessage(Closed()))]),
597
- ...(backdropClassName ? [Class(backdropClassName)] : []),
594
+ const backdrop = h.keyed('div')(`${id}-backdrop`, [
595
+ h.OnMount(Mount.mapMessage(PortalListboxBackdrop(), toParentMessage)),
596
+ ...(isLeaving ? [] : [h.OnClick(toParentMessage(Closed()))]),
597
+ ...(backdropClassName ? [h.Class(backdropClassName)] : []),
598
598
  ...backdropAttributes,
599
599
  ], []);
600
600
  const renderedItems = renderGroupedItems();
601
601
  const scrollableItems = itemsScrollClassName ||
602
602
  Array.isReadonlyArrayNonEmpty(itemsScrollAttributes)
603
603
  ? [
604
- div([
605
- ...(itemsScrollClassName ? [Class(itemsScrollClassName)] : []),
604
+ h.div([
605
+ ...(itemsScrollClassName
606
+ ? [h.Class(itemsScrollClassName)]
607
+ : []),
606
608
  ...itemsScrollAttributes,
607
609
  ], renderedItems),
608
610
  ]
609
611
  : renderedItems;
610
612
  const visibleContent = [
611
613
  backdrop,
612
- keyed('div')(`${id}-items-container`, itemsContainerAttributes, scrollableItems),
614
+ h.keyed('div')(`${id}-items-container`, itemsContainerAttributes, scrollableItems),
613
615
  ];
614
- const formAttribute = form ? [Attribute('form', form)] : [];
616
+ const formAttribute = form ? [h.Attribute('form', form)] : [];
615
617
  const selectedValues = pipe(items, Array.filter(item => behavior.isItemSelected(config.model, itemToValue(item))), Array.map(itemToValue));
616
618
  const hiddenInputs = name
617
619
  ? Array.match(selectedValues, {
618
620
  onEmpty: () => [
619
- input([Type('hidden'), Name(name), ...formAttribute]),
621
+ h.input([h.Type('hidden'), h.Name(name), ...formAttribute]),
620
622
  ],
621
- onNonEmpty: Array.map(selectedValue => input([
622
- Type('hidden'),
623
- Name(name),
624
- Value(selectedValue),
623
+ onNonEmpty: Array.map(selectedValue => h.input([
624
+ h.Type('hidden'),
625
+ h.Name(name),
626
+ h.Value(selectedValue),
625
627
  ...formAttribute,
626
628
  ])),
627
629
  })
628
630
  : [];
629
631
  const wrapperAttributes = [
630
- ...(className ? [Class(className)] : []),
632
+ ...(className ? [h.Class(className)] : []),
631
633
  ...attributes,
632
- ...(isVisible ? [DataAttribute('open', '')] : []),
633
- ...(isDisabled ? [DataAttribute('disabled', '')] : []),
634
- ...(isInvalid ? [DataAttribute('invalid', '')] : []),
634
+ ...(isVisible ? [h.DataAttribute('open', '')] : []),
635
+ ...(isDisabled ? [h.DataAttribute('disabled', '')] : []),
636
+ ...(isInvalid ? [h.DataAttribute('invalid', '')] : []),
635
637
  ];
636
- return div(wrapperAttributes, [
637
- keyed('button')(`${id}-button`, resolvedButtonAttributes, [
638
+ return h.div(wrapperAttributes, [
639
+ h.keyed('button')(`${id}-button`, resolvedButtonAttributes, [
638
640
  buttonContent,
639
641
  ]),
640
642
  ...hiddenInputs,
@@ -224,13 +224,7 @@ export declare const view: <ParentMessage, Item>(config: Readonly<{
224
224
  groupAttributes?: readonly import("../../html/index.js").Attribute<ParentMessage>[];
225
225
  separatorClassName?: string;
226
226
  separatorAttributes?: readonly import("../../html/index.js").Attribute<ParentMessage>[];
227
- anchor?: Readonly<{
228
- placement?: import("@floating-ui/dom").Placement;
229
- gap?: number;
230
- offset?: number;
231
- padding?: number;
232
- portal?: boolean;
233
- }>;
227
+ anchor?: import("./public.js").AnchorConfig;
234
228
  name?: string;
235
229
  form?: string;
236
230
  isDisabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEnD,OAAO,KAAK,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,MAAM,EACN,KAAK,OAAO,EACZ,MAAM,EACN,YAAY,EAIb,MAAM,aAAa,CAAA;AAIpB,mJAAmJ;AACnJ,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;EAGhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,6RAA6R;AAC7R,MAAM,MAAM,UAAU,GAAG,cAAc,GACrC,QAAQ,CAAC;IACP,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC,CAAA;AAEJ,6HAA6H;AAC7H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,qIAAqI;AACrI,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMjB,CAAA;AAEF;uFACuF;AACvF,eAAO,MAAM,IAAI,GACf,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACK,CAAA;AAEhE;wFACwF;AACxF,eAAO,MAAM,KAAK,GAChB,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAClC,CAAA;AAEzB;gGACgG;AAChG,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,MAAM,MAAM,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACpB,CAAA;AAIvC,uEAAuE;AACvE,MAAM,MAAM,UAAU,CAAC,aAAa,EAAE,IAAI,IAAI,cAAc,CAC1D,aAAa,EACb,IAAI,EACJ,KAAK,CACN,CAAA;AAED,2JAA2J;AAC3J,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAWf,CAAA;AAEF;mFACmF;AACnF,eAAO,MAAM,IAAI,GAAI,aAAa,EAAE,IAAI,EACtC,cAAc,IAAI,CAChB,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,EAC/B,OAAO,GAAG,iBAAiB,GAAG,gBAAgB,CAC/C,KACA,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,cAAc,CAC7B,aAAa,EACb,IAAI,EACJ,KAAK,CACN,CAAC,iBAAiB,CAAC,KACjB,IAAI,CAoBR,CAAA"}
1
+ {"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEnD,OAAO,KAAK,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,MAAM,EACN,KAAK,OAAO,EACZ,MAAM,EACN,YAAY,EAIb,MAAM,aAAa,CAAA;AAIpB,mJAAmJ;AACnJ,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;EAGhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,6RAA6R;AAC7R,MAAM,MAAM,UAAU,GAAG,cAAc,GACrC,QAAQ,CAAC;IACP,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC,CAAA;AAEJ,6HAA6H;AAC7H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,qIAAqI;AACrI,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMjB,CAAA;AAEF;uFACuF;AACvF,eAAO,MAAM,IAAI,GACf,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACK,CAAA;AAEhE;wFACwF;AACxF,eAAO,MAAM,KAAK,GAChB,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAClC,CAAA;AAEzB;gGACgG;AAChG,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,MAAM,MAAM,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CACpB,CAAA;AAIvC,uEAAuE;AACvE,MAAM,MAAM,UAAU,CAAC,aAAa,EAAE,IAAI,IAAI,cAAc,CAC1D,aAAa,EACb,IAAI,EACJ,KAAK,CACN,CAAA;AAED,2JAA2J;AAC3J,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAWf,CAAA;AAEF;mFACmF;AACnF,eAAO,MAAM,IAAI,GAAI,aAAa,EAAE,IAAI,EACtC,cAAc,IAAI,CAChB,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,EAC/B,OAAO,GAAG,iBAAiB,GAAG,gBAAgB,CAC/C,KACA,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,cAAc,CAC7B,aAAa,EACb,IAAI,EACJ,KAAK,CACN,CAAC,iBAAiB,CAAC,KACjB,IAAI,CAoBR,CAAA"}
@@ -2,7 +2,7 @@ import { Effect, Schema as S } from 'effect';
2
2
  import * as Command from '../../command/index.js';
3
3
  import { type Attribute, type Html } from '../../html/index.js';
4
4
  import * as Mount from '../../mount/index.js';
5
- import type { AnchorConfig } from '../anchor.js';
5
+ import { AnchorConfig } from '../anchor.js';
6
6
  import { groupContiguous } from '../group.js';
7
7
  import { resolveTypeaheadMatch } from '../typeahead.js';
8
8
  /** Schema for the activation trigger — whether the user interacted via mouse or keyboard. */
@@ -243,13 +243,22 @@ export declare const update: (model: Model, message: Message) => UpdateReturn;
243
243
  /** The anchor-positioning Mount this Menu renders on its panel. Exposed so
244
244
  * Scene tests can call `Scene.Mount.resolve(AnchorMenu, CompletedAnchorMenu())`
245
245
  * to acknowledge the mount produced by the rendered panel. */
246
- export declare const AnchorMenu: Mount.MountDefinition<"AnchorMenu", {
246
+ export declare const AnchorMenu: Mount.MountDefinitionWithArgs<"AnchorMenu", {
247
+ buttonId: S.String;
248
+ anchor: S.Struct<{
249
+ readonly placement: S.optional<S.Literals<readonly ["top", "right", "bottom", "left", "top-start", "top-end", "right-start", "right-end", "bottom-start", "bottom-end", "left-start", "left-end"]>>;
250
+ readonly gap: S.optional<S.Number>;
251
+ readonly offset: S.optional<S.Number>;
252
+ readonly padding: S.optional<S.Number>;
253
+ readonly portal: S.optional<S.Boolean>;
254
+ }>;
255
+ }, {
247
256
  readonly _tag: "CompletedAnchorMenu";
248
257
  }>;
249
258
  /** The backdrop-portaling Mount this Menu renders. Exposed so Scene tests can
250
259
  * call `Scene.Mount.resolve(PortalMenuBackdrop, CompletedPortalMenuBackdrop())` to
251
260
  * acknowledge the mount produced by the rendered backdrop. */
252
- export declare const PortalMenuBackdrop: Mount.MountDefinition<"PortalMenuBackdrop", {
261
+ export declare const PortalMenuBackdrop: Mount.MountDefinitionNoArgs<"PortalMenuBackdrop", {
253
262
  readonly _tag: "CompletedPortalMenuBackdrop";
254
263
  }>;
255
264
  /** Programmatically opens the menu, updating the model and returning
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/index.ts"],"names":[],"mappings":"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"}