foldkit 0.33.5 → 0.34.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 (82) hide show
  1. package/README.md +19 -19
  2. package/dist/devtools/overlay-styles.d.ts +1 -1
  3. package/dist/devtools/overlay-styles.d.ts.map +1 -1
  4. package/dist/devtools/overlay-styles.js +3 -0
  5. package/dist/devtools/overlay.d.ts.map +1 -1
  6. package/dist/devtools/overlay.js +79 -34
  7. package/dist/html/index.d.ts +431 -5
  8. package/dist/html/index.d.ts.map +1 -1
  9. package/dist/html/index.js +1 -0
  10. package/dist/html/public.d.ts +1 -2
  11. package/dist/html/public.d.ts.map +1 -1
  12. package/dist/html/public.js +1 -2
  13. package/dist/task/dom.d.ts +6 -6
  14. package/dist/task/dom.js +6 -6
  15. package/dist/task/inert.d.ts +2 -2
  16. package/dist/task/inert.js +2 -2
  17. package/dist/task/scrollLock.d.ts +2 -2
  18. package/dist/task/scrollLock.js +2 -2
  19. package/dist/ui/checkbox/index.d.ts +5 -9
  20. package/dist/ui/checkbox/index.d.ts.map +1 -1
  21. package/dist/ui/checkbox/index.js +7 -10
  22. package/dist/ui/checkbox/public.d.ts +1 -1
  23. package/dist/ui/checkbox/public.d.ts.map +1 -1
  24. package/dist/ui/combobox/multi.d.ts +31 -10
  25. package/dist/ui/combobox/multi.d.ts.map +1 -1
  26. package/dist/ui/combobox/multi.js +1 -1
  27. package/dist/ui/combobox/public.d.ts +1 -1
  28. package/dist/ui/combobox/public.d.ts.map +1 -1
  29. package/dist/ui/combobox/shared.d.ts +53 -14
  30. package/dist/ui/combobox/shared.d.ts.map +1 -1
  31. package/dist/ui/combobox/shared.js +72 -28
  32. package/dist/ui/combobox/single.d.ts +31 -10
  33. package/dist/ui/combobox/single.d.ts.map +1 -1
  34. package/dist/ui/combobox/single.js +1 -1
  35. package/dist/ui/dialog/index.d.ts +14 -8
  36. package/dist/ui/dialog/index.d.ts.map +1 -1
  37. package/dist/ui/dialog/index.js +21 -12
  38. package/dist/ui/dialog/public.d.ts +1 -1
  39. package/dist/ui/dialog/public.d.ts.map +1 -1
  40. package/dist/ui/dialog/public.js +1 -1
  41. package/dist/ui/disclosure/index.d.ts +11 -8
  42. package/dist/ui/disclosure/index.d.ts.map +1 -1
  43. package/dist/ui/disclosure/index.js +20 -18
  44. package/dist/ui/disclosure/public.d.ts +1 -1
  45. package/dist/ui/disclosure/public.d.ts.map +1 -1
  46. package/dist/ui/listbox/multi.d.ts +34 -9
  47. package/dist/ui/listbox/multi.d.ts.map +1 -1
  48. package/dist/ui/listbox/multi.js +1 -1
  49. package/dist/ui/listbox/public.d.ts +1 -1
  50. package/dist/ui/listbox/public.d.ts.map +1 -1
  51. package/dist/ui/listbox/shared.d.ts +57 -13
  52. package/dist/ui/listbox/shared.d.ts.map +1 -1
  53. package/dist/ui/listbox/shared.js +77 -27
  54. package/dist/ui/listbox/single.d.ts +34 -9
  55. package/dist/ui/listbox/single.d.ts.map +1 -1
  56. package/dist/ui/listbox/single.js +1 -1
  57. package/dist/ui/menu/index.d.ts +39 -11
  58. package/dist/ui/menu/index.d.ts.map +1 -1
  59. package/dist/ui/menu/index.js +81 -32
  60. package/dist/ui/menu/public.d.ts +1 -1
  61. package/dist/ui/menu/public.d.ts.map +1 -1
  62. package/dist/ui/popover/index.d.ts +28 -12
  63. package/dist/ui/popover/index.d.ts.map +1 -1
  64. package/dist/ui/popover/index.js +50 -24
  65. package/dist/ui/popover/public.d.ts +1 -1
  66. package/dist/ui/popover/public.d.ts.map +1 -1
  67. package/dist/ui/radioGroup/index.d.ts +8 -7
  68. package/dist/ui/radioGroup/index.d.ts.map +1 -1
  69. package/dist/ui/radioGroup/index.js +12 -9
  70. package/dist/ui/radioGroup/public.d.ts +1 -1
  71. package/dist/ui/radioGroup/public.d.ts.map +1 -1
  72. package/dist/ui/switch/index.d.ts +5 -9
  73. package/dist/ui/switch/index.d.ts.map +1 -1
  74. package/dist/ui/switch/index.js +7 -10
  75. package/dist/ui/switch/public.d.ts +1 -1
  76. package/dist/ui/switch/public.d.ts.map +1 -1
  77. package/dist/ui/tabs/index.d.ts +9 -7
  78. package/dist/ui/tabs/index.d.ts.map +1 -1
  79. package/dist/ui/tabs/index.js +27 -17
  80. package/dist/ui/tabs/public.d.ts +1 -1
  81. package/dist/ui/tabs/public.d.ts.map +1 -1
  82. package/package.json +3 -3
@@ -1,6 +1,5 @@
1
1
  import { Effect, Match as M, Option, Schema as S } from 'effect';
2
- import { html } from '../../html';
3
- import { createLazy } from '../../html/lazy';
2
+ import { createLazy, html, } from '../../html';
4
3
  import { m } from '../../message';
5
4
  import { evo } from '../../struct';
6
5
  import * as Task from '../../task';
@@ -15,10 +14,10 @@ export const Model = S.Struct({
15
14
  export const Toggled = m('Toggled');
16
15
  /** Sent to explicitly close the disclosure, regardless of its current state. */
17
16
  export const Closed = m('Closed');
18
- /** Placeholder message used when no action is needed, such as after a focus command completes. */
19
- export const NoOp = m('NoOp');
17
+ /** Sent when the focus-button command completes after closing. */
18
+ export const CompletedButtonFocus = m('CompletedButtonFocus');
20
19
  /** Union of all messages the disclosure component can produce. */
21
- export const Message = S.Union(Toggled, Closed, NoOp);
20
+ export const Message = S.Union(Toggled, Closed, CompletedButtonFocus);
22
21
  /** Creates an initial disclosure model from a config. Defaults to closed. */
23
22
  export const init = (config) => ({
24
23
  id: config.id,
@@ -31,22 +30,22 @@ const panelId = (id) => `${id}-panel`;
31
30
  /** Processes a disclosure message and returns the next model and commands. */
32
31
  export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
33
32
  Toggled: () => {
34
- const maybeFocus = Option.liftPredicate(Task.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(NoOp())), () => model.isOpen);
33
+ const maybeFocus = Option.liftPredicate(Task.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(CompletedButtonFocus())), () => model.isOpen);
35
34
  return [
36
35
  evo(model, { isOpen: () => !model.isOpen }),
37
36
  Option.toArray(maybeFocus),
38
37
  ];
39
38
  },
40
39
  Closed: () => {
41
- const maybeFocus = Option.liftPredicate(Task.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(NoOp())), () => model.isOpen);
40
+ const maybeFocus = Option.liftPredicate(Task.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(CompletedButtonFocus())), () => model.isOpen);
42
41
  return [evo(model, { isOpen: () => false }), Option.toArray(maybeFocus)];
43
42
  },
44
- NoOp: () => [model, []],
43
+ CompletedButtonFocus: () => [model, []],
45
44
  }));
46
45
  /** Renders a headless disclosure component with accessible ARIA attributes and keyboard support. */
47
46
  export const view = (config) => {
48
47
  const { div, empty, AriaControls, AriaDisabled, AriaExpanded, Class, DataAttribute, Disabled, Hidden, Id, OnClick, OnKeyDownPreventDefault, Tabindex, Type, keyed, } = html();
49
- const { model: { id, isOpen }, toMessage, buttonClassName, buttonContent, panelClassName, panelContent, isDisabled, persistPanel, buttonElement = 'button', panelElement = 'div', className, } = config;
48
+ const { model: { id, isOpen }, toMessage, buttonClassName, buttonAttributes = [], buttonContent, panelClassName, panelAttributes = [], panelContent, isDisabled, persistPanel, buttonElement = 'button', panelElement = 'div', className, attributes = [], } = config;
50
49
  const isNativeButton = buttonElement === 'button';
51
50
  const handleKeyDown = (key) => M.value(key).pipe(M.whenOr('Enter', ' ', () => Option.some(toMessage(Toggled()))), M.orElse(() => Option.none()));
52
51
  const disabledAttributes = [
@@ -60,28 +59,31 @@ export const view = (config) => {
60
59
  OnClick(toMessage(Toggled())),
61
60
  ...(!isNativeButton ? [OnKeyDownPreventDefault(handleKeyDown)] : []),
62
61
  ];
63
- const buttonAttributes = [
64
- Class(buttonClassName),
62
+ const resolvedButtonAttributes = [
65
63
  Id(buttonId(id)),
66
64
  AriaExpanded(isOpen),
67
65
  AriaControls(panelId(id)),
68
66
  ...(isNativeButton ? [Type('button')] : [Tabindex(0)]),
69
67
  ...(isOpen ? [DataAttribute('open', '')] : []),
70
68
  ...interactionAttributes,
69
+ ...(buttonClassName ? [Class(buttonClassName)] : []),
70
+ ...buttonAttributes,
71
71
  ];
72
- const panelAttributes = [
73
- Class(panelClassName),
72
+ const resolvedPanelAttributes = [
74
73
  Id(panelId(id)),
75
74
  ...(isOpen ? [DataAttribute('open', '')] : []),
75
+ ...(panelClassName ? [Class(panelClassName)] : []),
76
+ ...panelAttributes,
76
77
  ];
77
- const persistedPanel = keyed(panelElement)(panelId(id), [...panelAttributes, Hidden(!isOpen)], [panelContent]);
78
+ const persistedPanel = keyed(panelElement)(panelId(id), [...resolvedPanelAttributes, Hidden(!isOpen)], [panelContent]);
78
79
  const activePanel = isOpen
79
- ? keyed(panelElement)(panelId(id), panelAttributes, [panelContent])
80
+ ? keyed(panelElement)(panelId(id), resolvedPanelAttributes, [panelContent])
80
81
  : empty;
81
82
  const panel = persistPanel ? persistedPanel : activePanel;
82
- const wrapperAttributes = className ? [Class(className)] : [];
83
- return div(wrapperAttributes, [
84
- keyed(buttonElement)(buttonId(id), buttonAttributes, [buttonContent]),
83
+ return div([...(className ? [Class(className)] : []), ...attributes], [
84
+ keyed(buttonElement)(buttonId(id), resolvedButtonAttributes, [
85
+ buttonContent,
86
+ ]),
85
87
  panel,
86
88
  ]);
87
89
  };
@@ -1,3 +1,3 @@
1
1
  export { init, update, view, lazy, Model, Message } from './index';
2
- export type { Toggled, Closed, NoOp, InitConfig, ViewConfig } from './index';
2
+ export type { Toggled, Closed, CompletedButtonFocus, InitConfig, ViewConfig, } from './index';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/disclosure/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAElE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/disclosure/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAElE,YAAY,EACV,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,SAAS,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Option, Schema as S } from 'effect';
2
- import type { Html } from '../../html';
2
+ import { type Html } from '../../html';
3
3
  import { type BaseInitConfig, type BaseViewConfig } from './shared';
4
4
  /** Schema for the multi-select listbox component's state, tracking open/closed status, active item, selected items, activation trigger, and typeahead search. */
5
5
  export declare const Model: S.extend<S.Struct<{
@@ -66,17 +66,29 @@ export declare const update: (model: {
66
66
  } & {
67
67
  readonly selectedItems: readonly string[];
68
68
  }, readonly import("../../command").Command<{
69
- readonly _tag: "NoOp";
70
- } | {
71
69
  readonly _tag: "Closed";
72
70
  } | {
73
71
  readonly _tag: "ClosedByTab";
74
72
  } | {
75
73
  readonly _tag: "DeactivatedItem";
74
+ } | {
75
+ readonly _tag: "CompletedScrollLock";
76
+ } | {
77
+ readonly _tag: "CompletedScrollUnlock";
78
+ } | {
79
+ readonly _tag: "CompletedInertSetup";
80
+ } | {
81
+ readonly _tag: "CompletedInertTeardown";
82
+ } | {
83
+ readonly _tag: "CompletedScrollIntoView";
84
+ } | {
85
+ readonly _tag: "CompletedItemClick";
76
86
  } | {
77
87
  readonly _tag: "AdvancedTransitionFrame";
78
88
  } | {
79
89
  readonly _tag: "EndedTransition";
90
+ } | {
91
+ readonly _tag: "CompletedButtonFocus";
80
92
  } | {
81
93
  readonly _tag: "Opened";
82
94
  readonly maybeActiveItemIndex: Option.Option<number>;
@@ -102,6 +114,12 @@ export declare const update: (model: {
102
114
  } | {
103
115
  readonly _tag: "ClearedSearch";
104
116
  readonly version: number;
117
+ } | {
118
+ readonly _tag: "CompletedItemsFocus";
119
+ } | {
120
+ readonly _tag: "IgnoredMouseClick";
121
+ } | {
122
+ readonly _tag: "SuppressedSpaceScroll";
105
123
  } | {
106
124
  readonly _tag: "DetectedButtonMovement";
107
125
  } | {
@@ -132,14 +150,14 @@ export declare const view: <Message, Item>(config: Readonly<{
132
150
  } & {
133
151
  readonly selectedItems: readonly string[];
134
152
  };
135
- toMessage: (message: import("./shared").Opened | import("./shared").Closed | import("./shared").ClosedByTab | import("./shared").ActivatedItem | import("./shared").DeactivatedItem | import("./shared").SelectedItem | import("./shared").MovedPointerOverItem | import("./shared").RequestedItemClick | import("./shared").Searched | import("./shared").PressedPointerOnButton | import("./shared").NoOp) => Message;
153
+ toMessage: (message: import("./shared").Opened | import("./shared").Closed | import("./shared").ClosedByTab | import("./shared").ActivatedItem | import("./shared").DeactivatedItem | import("./shared").SelectedItem | import("./shared").MovedPointerOverItem | import("./shared").RequestedItemClick | import("./shared").Searched | import("./shared").PressedPointerOnButton | import("./shared").IgnoredMouseClick | import("./shared").SuppressedSpaceScroll) => Message;
136
154
  items: readonly Item[];
137
155
  itemToConfig: (item: Item, context: Readonly<{
138
156
  isActive: boolean;
139
157
  isDisabled: boolean;
140
158
  isSelected: boolean;
141
159
  }>) => Readonly<{
142
- className: string;
160
+ className?: string;
143
161
  content: Html;
144
162
  }>;
145
163
  isItemDisabled?: (item: Item, index: number) => boolean;
@@ -147,18 +165,25 @@ export declare const view: <Message, Item>(config: Readonly<{
147
165
  itemToValue?: (item: Item) => string;
148
166
  isButtonDisabled?: boolean;
149
167
  buttonContent: Html;
150
- buttonClassName: string;
151
- itemsClassName: string;
168
+ buttonClassName?: string;
169
+ buttonAttributes?: readonly import("../../html").Attribute<Message>[];
170
+ itemsClassName?: string;
171
+ itemsAttributes?: readonly import("../../html").Attribute<Message>[];
152
172
  itemsScrollClassName?: string;
153
- backdropClassName: string;
173
+ itemsScrollAttributes?: readonly import("../../html").Attribute<Message>[];
174
+ backdropClassName?: string;
175
+ backdropAttributes?: readonly import("../../html").Attribute<Message>[];
154
176
  className?: string;
177
+ attributes?: readonly import("../../html").Attribute<Message>[];
155
178
  itemGroupKey?: (item: Item, index: number) => string;
156
179
  groupToHeading?: (groupKey: string) => Readonly<{
157
180
  content: Html;
158
- className: string;
181
+ className?: string;
159
182
  }> | undefined;
160
183
  groupClassName?: string;
184
+ groupAttributes?: readonly import("../../html").Attribute<Message>[];
161
185
  separatorClassName?: string;
186
+ separatorAttributes?: readonly import("../../html").Attribute<Message>[];
162
187
  anchor?: Readonly<{
163
188
  placement?: import("@floating-ui/dom").Placement;
164
189
  gap?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,IAAI,CAAC,EAAQ,MAAM,QAAQ,CAAA;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAIpB,MAAM,UAAU,CAAA;AAIjB,iKAAiK;AACjK,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;GAEjB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,6RAA6R;AAC7R,MAAM,MAAM,UAAU,GAAG,cAAc,GACrC,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtC,CAAC,CAAA;AAEJ,4HAA4H;AAC5H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,wJAAwJ;AACxJ,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMjB,CAAA;AAIF,sEAAsE;AACtE,MAAM,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAE5E,0JAA0J;AAC1J,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAYf,CAAA;AAEF;6EAC6E;AAC7E,eAAO,MAAM,IAAI,GAAI,OAAO,EAAE,IAAI,EAChC,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,KACnE,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,KACzD,IAAI,CAgBR,CAAA"}
1
+ {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,IAAI,CAAC,EAAQ,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,YAAY,CAAA;AAElD,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAIpB,MAAM,UAAU,CAAA;AAIjB,iKAAiK;AACjK,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;GAEjB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,6RAA6R;AAC7R,MAAM,MAAM,UAAU,GAAG,cAAc,GACrC,QAAQ,CAAC;IACP,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtC,CAAC,CAAA;AAEJ,4HAA4H;AAC5H,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,wJAAwJ;AACxJ,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAMjB,CAAA;AAIF,sEAAsE;AACtE,MAAM,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAE5E,0JAA0J;AAC1J,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAYf,CAAA;AAEF;6EAC6E;AAC7E,eAAO,MAAM,IAAI,GAAI,OAAO,EAAE,IAAI,EAChC,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,KACnE,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,KACzD,IAAI,CAgBR,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Array, Option, Schema as S, pipe } from 'effect';
2
- import { createLazy } from '../../html/lazy';
2
+ import { createLazy } from '../../html';
3
3
  import { evo } from '../../struct';
4
4
  import { BaseModel, baseInit, makeUpdate, makeView, } from './shared';
5
5
  // MODEL
@@ -1,7 +1,7 @@
1
1
  export { init, update, view, lazy, Model } from './single';
2
2
  export { Message, Orientation } from './shared';
3
3
  export { TransitionState } from '../transition';
4
- export type { ActivationTrigger, Opened, Closed, ClosedByTab, ActivatedItem, DeactivatedItem, SelectedItem, MovedPointerOverItem, RequestedItemClick, Searched, ClearedSearch, PressedPointerOnButton, DetectedButtonMovement, NoOp, AdvancedTransitionFrame, EndedTransition, ItemConfig, GroupHeading, } from './shared';
4
+ export type { ActivationTrigger, Opened, Closed, ClosedByTab, ActivatedItem, DeactivatedItem, SelectedItem, MovedPointerOverItem, RequestedItemClick, Searched, ClearedSearch, PressedPointerOnButton, DetectedButtonMovement, CompletedScrollLock, CompletedScrollUnlock, CompletedInertSetup, CompletedInertTeardown, CompletedButtonFocus, CompletedItemsFocus, CompletedScrollIntoView, CompletedItemClick, IgnoredMouseClick, SuppressedSpaceScroll, AdvancedTransitionFrame, EndedTransition, ItemConfig, GroupHeading, } from './shared';
5
5
  export type { InitConfig, ViewConfig } from './single';
6
6
  export type { AnchorConfig } from '../anchor';
7
7
  export * as Multi from './multiPublic';
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,IAAI,EACJ,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAEtD,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAEtD,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Option, Schema as S } from 'effect';
2
2
  import type { Command } from '../../command';
3
- import { type Html } from '../../html';
3
+ import { type Attribute, type Html } from '../../html';
4
4
  import type { AnchorConfig } from '../anchor';
5
5
  import { resolveTypeaheadMatch } from '../typeahead';
6
6
  export { resolveTypeaheadMatch };
@@ -76,8 +76,26 @@ export declare const MovedPointerOverItem: import("../../schema").CallableTagged
76
76
  screenX: typeof S.Number;
77
77
  screenY: typeof S.Number;
78
78
  }>;
79
- /** Placeholder message used when no action is needed. */
80
- export declare const NoOp: import("../../schema").CallableTaggedStruct<"NoOp", {}>;
79
+ /** Sent when the scroll lock command completes. */
80
+ export declare const CompletedScrollLock: import("../../schema").CallableTaggedStruct<"CompletedScrollLock", {}>;
81
+ /** Sent when the scroll unlock command completes. */
82
+ export declare const CompletedScrollUnlock: import("../../schema").CallableTaggedStruct<"CompletedScrollUnlock", {}>;
83
+ /** Sent when the inert-others command completes. */
84
+ export declare const CompletedInertSetup: import("../../schema").CallableTaggedStruct<"CompletedInertSetup", {}>;
85
+ /** Sent when the restore-inert command completes. */
86
+ export declare const CompletedInertTeardown: import("../../schema").CallableTaggedStruct<"CompletedInertTeardown", {}>;
87
+ /** Sent when the focus-button command completes after closing. */
88
+ export declare const CompletedButtonFocus: import("../../schema").CallableTaggedStruct<"CompletedButtonFocus", {}>;
89
+ /** Sent when the focus-items command completes after opening. */
90
+ export declare const CompletedItemsFocus: import("../../schema").CallableTaggedStruct<"CompletedItemsFocus", {}>;
91
+ /** Sent when the scroll-into-view command completes after keyboard activation. */
92
+ export declare const CompletedScrollIntoView: import("../../schema").CallableTaggedStruct<"CompletedScrollIntoView", {}>;
93
+ /** Sent when the programmatic item click command completes. */
94
+ export declare const CompletedItemClick: import("../../schema").CallableTaggedStruct<"CompletedItemClick", {}>;
95
+ /** Sent when a mouse click on the button is ignored because pointer-down already handled the toggle. */
96
+ export declare const IgnoredMouseClick: import("../../schema").CallableTaggedStruct<"IgnoredMouseClick", {}>;
97
+ /** Sent when a Space key-up is captured to prevent page scrolling. */
98
+ export declare const SuppressedSpaceScroll: import("../../schema").CallableTaggedStruct<"SuppressedSpaceScroll", {}>;
81
99
  /** Sent internally when a double-rAF completes, advancing the transition to its animating phase. */
82
100
  export declare const AdvancedTransitionFrame: import("../../schema").CallableTaggedStruct<"AdvancedTransitionFrame", {}>;
83
101
  /** Sent internally when all CSS transitions on the listbox items container have completed. */
@@ -108,7 +126,7 @@ export declare const Message: S.Union<[import("../../schema").CallableTaggedStru
108
126
  maybeTargetIndex: S.OptionFromSelf<typeof S.Number>;
109
127
  }>, import("../../schema").CallableTaggedStruct<"ClearedSearch", {
110
128
  version: typeof S.Number;
111
- }>, import("../../schema").CallableTaggedStruct<"NoOp", {}>, import("../../schema").CallableTaggedStruct<"AdvancedTransitionFrame", {}>, import("../../schema").CallableTaggedStruct<"EndedTransition", {}>, import("../../schema").CallableTaggedStruct<"DetectedButtonMovement", {}>, import("../../schema").CallableTaggedStruct<"PressedPointerOnButton", {
129
+ }>, import("../../schema").CallableTaggedStruct<"CompletedScrollLock", {}>, import("../../schema").CallableTaggedStruct<"CompletedScrollUnlock", {}>, import("../../schema").CallableTaggedStruct<"CompletedInertSetup", {}>, import("../../schema").CallableTaggedStruct<"CompletedInertTeardown", {}>, import("../../schema").CallableTaggedStruct<"CompletedButtonFocus", {}>, import("../../schema").CallableTaggedStruct<"CompletedItemsFocus", {}>, import("../../schema").CallableTaggedStruct<"CompletedScrollIntoView", {}>, import("../../schema").CallableTaggedStruct<"CompletedItemClick", {}>, import("../../schema").CallableTaggedStruct<"IgnoredMouseClick", {}>, import("../../schema").CallableTaggedStruct<"SuppressedSpaceScroll", {}>, import("../../schema").CallableTaggedStruct<"AdvancedTransitionFrame", {}>, import("../../schema").CallableTaggedStruct<"EndedTransition", {}>, import("../../schema").CallableTaggedStruct<"DetectedButtonMovement", {}>, import("../../schema").CallableTaggedStruct<"PressedPointerOnButton", {
112
130
  pointerType: typeof S.String;
113
131
  button: typeof S.Number;
114
132
  }>]>;
@@ -122,7 +140,8 @@ export type MovedPointerOverItem = typeof MovedPointerOverItem.Type;
122
140
  export type RequestedItemClick = typeof RequestedItemClick.Type;
123
141
  export type Searched = typeof Searched.Type;
124
142
  export type ClearedSearch = typeof ClearedSearch.Type;
125
- export type NoOp = typeof NoOp.Type;
143
+ export type IgnoredMouseClick = typeof IgnoredMouseClick.Type;
144
+ export type SuppressedSpaceScroll = typeof SuppressedSpaceScroll.Type;
126
145
  export type AdvancedTransitionFrame = typeof AdvancedTransitionFrame.Type;
127
146
  export type EndedTransition = typeof EndedTransition.Type;
128
147
  export type DetectedButtonMovement = typeof DetectedButtonMovement.Type;
@@ -142,17 +161,29 @@ type SelectedItemContext = Readonly<{
142
161
  maybeRestoreInert: Option.Option<Command<Message>>;
143
162
  }>;
144
163
  export declare const makeUpdate: <Model extends BaseModel>(handleSelectedItem: (model: Model, item: string, context: SelectedItemContext) => [Model, ReadonlyArray<Command<Message>>]) => (model: Model, message: Message) => [Model, readonly Command<{
145
- readonly _tag: "NoOp";
146
- } | {
147
164
  readonly _tag: "Closed";
148
165
  } | {
149
166
  readonly _tag: "ClosedByTab";
150
167
  } | {
151
168
  readonly _tag: "DeactivatedItem";
169
+ } | {
170
+ readonly _tag: "CompletedScrollLock";
171
+ } | {
172
+ readonly _tag: "CompletedScrollUnlock";
173
+ } | {
174
+ readonly _tag: "CompletedInertSetup";
175
+ } | {
176
+ readonly _tag: "CompletedInertTeardown";
177
+ } | {
178
+ readonly _tag: "CompletedScrollIntoView";
179
+ } | {
180
+ readonly _tag: "CompletedItemClick";
152
181
  } | {
153
182
  readonly _tag: "AdvancedTransitionFrame";
154
183
  } | {
155
184
  readonly _tag: "EndedTransition";
185
+ } | {
186
+ readonly _tag: "CompletedButtonFocus";
156
187
  } | {
157
188
  readonly _tag: "Opened";
158
189
  readonly maybeActiveItemIndex: Option.Option<number>;
@@ -178,6 +209,12 @@ export declare const makeUpdate: <Model extends BaseModel>(handleSelectedItem: (
178
209
  } | {
179
210
  readonly _tag: "ClearedSearch";
180
211
  readonly version: number;
212
+ } | {
213
+ readonly _tag: "CompletedItemsFocus";
214
+ } | {
215
+ readonly _tag: "IgnoredMouseClick";
216
+ } | {
217
+ readonly _tag: "SuppressedSpaceScroll";
181
218
  } | {
182
219
  readonly _tag: "DetectedButtonMovement";
183
220
  } | {
@@ -187,18 +224,18 @@ export declare const makeUpdate: <Model extends BaseModel>(handleSelectedItem: (
187
224
  }>[]];
188
225
  /** Configuration for an individual listbox item's appearance. */
189
226
  export type ItemConfig = Readonly<{
190
- className: string;
227
+ className?: string;
191
228
  content: Html;
192
229
  }>;
193
230
  /** Configuration for a group heading rendered above a group of items. */
194
231
  export type GroupHeading = Readonly<{
195
232
  content: Html;
196
- className: string;
233
+ className?: string;
197
234
  }>;
198
235
  /** Configuration for rendering a listbox with `view`. */
199
236
  export type BaseViewConfig<Message, Item, Model extends BaseModel> = Readonly<{
200
237
  model: Model;
201
- toMessage: (message: Opened | Closed | ClosedByTab | ActivatedItem | DeactivatedItem | SelectedItem | MovedPointerOverItem | RequestedItemClick | Searched | PressedPointerOnButton | NoOp) => Message;
238
+ toMessage: (message: Opened | Closed | ClosedByTab | ActivatedItem | DeactivatedItem | SelectedItem | MovedPointerOverItem | RequestedItemClick | Searched | PressedPointerOnButton | IgnoredMouseClick | SuppressedSpaceScroll) => Message;
202
239
  items: ReadonlyArray<Item>;
203
240
  itemToConfig: (item: Item, context: Readonly<{
204
241
  isActive: boolean;
@@ -210,15 +247,22 @@ export type BaseViewConfig<Message, Item, Model extends BaseModel> = Readonly<{
210
247
  itemToValue?: (item: Item) => string;
211
248
  isButtonDisabled?: boolean;
212
249
  buttonContent: Html;
213
- buttonClassName: string;
214
- itemsClassName: string;
250
+ buttonClassName?: string;
251
+ buttonAttributes?: ReadonlyArray<Attribute<Message>>;
252
+ itemsClassName?: string;
253
+ itemsAttributes?: ReadonlyArray<Attribute<Message>>;
215
254
  itemsScrollClassName?: string;
216
- backdropClassName: string;
255
+ itemsScrollAttributes?: ReadonlyArray<Attribute<Message>>;
256
+ backdropClassName?: string;
257
+ backdropAttributes?: ReadonlyArray<Attribute<Message>>;
217
258
  className?: string;
259
+ attributes?: ReadonlyArray<Attribute<Message>>;
218
260
  itemGroupKey?: (item: Item, index: number) => string;
219
261
  groupToHeading?: (groupKey: string) => GroupHeading | undefined;
220
262
  groupClassName?: string;
263
+ groupAttributes?: ReadonlyArray<Attribute<Message>>;
221
264
  separatorClassName?: string;
265
+ separatorAttributes?: ReadonlyArray<Attribute<Message>>;
222
266
  anchor?: AnchorConfig;
223
267
  name?: string;
224
268
  form?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/shared.ts"],"names":[],"mappings":"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"}