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.
- package/README.md +19 -19
- package/dist/devtools/overlay-styles.d.ts +1 -1
- package/dist/devtools/overlay-styles.d.ts.map +1 -1
- package/dist/devtools/overlay-styles.js +3 -0
- package/dist/devtools/overlay.d.ts.map +1 -1
- package/dist/devtools/overlay.js +79 -34
- package/dist/html/index.d.ts +431 -5
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +1 -0
- package/dist/html/public.d.ts +1 -2
- package/dist/html/public.d.ts.map +1 -1
- package/dist/html/public.js +1 -2
- package/dist/task/dom.d.ts +6 -6
- package/dist/task/dom.js +6 -6
- package/dist/task/inert.d.ts +2 -2
- package/dist/task/inert.js +2 -2
- package/dist/task/scrollLock.d.ts +2 -2
- package/dist/task/scrollLock.js +2 -2
- package/dist/ui/checkbox/index.d.ts +5 -9
- package/dist/ui/checkbox/index.d.ts.map +1 -1
- package/dist/ui/checkbox/index.js +7 -10
- package/dist/ui/checkbox/public.d.ts +1 -1
- package/dist/ui/checkbox/public.d.ts.map +1 -1
- package/dist/ui/combobox/multi.d.ts +31 -10
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/multi.js +1 -1
- package/dist/ui/combobox/public.d.ts +1 -1
- package/dist/ui/combobox/public.d.ts.map +1 -1
- package/dist/ui/combobox/shared.d.ts +53 -14
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +72 -28
- package/dist/ui/combobox/single.d.ts +31 -10
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/combobox/single.js +1 -1
- package/dist/ui/dialog/index.d.ts +14 -8
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +21 -12
- package/dist/ui/dialog/public.d.ts +1 -1
- package/dist/ui/dialog/public.d.ts.map +1 -1
- package/dist/ui/dialog/public.js +1 -1
- package/dist/ui/disclosure/index.d.ts +11 -8
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +20 -18
- package/dist/ui/disclosure/public.d.ts +1 -1
- package/dist/ui/disclosure/public.d.ts.map +1 -1
- package/dist/ui/listbox/multi.d.ts +34 -9
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/multi.js +1 -1
- package/dist/ui/listbox/public.d.ts +1 -1
- package/dist/ui/listbox/public.d.ts.map +1 -1
- package/dist/ui/listbox/shared.d.ts +57 -13
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +77 -27
- package/dist/ui/listbox/single.d.ts +34 -9
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/listbox/single.js +1 -1
- package/dist/ui/menu/index.d.ts +39 -11
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +81 -32
- package/dist/ui/menu/public.d.ts +1 -1
- package/dist/ui/menu/public.d.ts.map +1 -1
- package/dist/ui/popover/index.d.ts +28 -12
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +50 -24
- package/dist/ui/popover/public.d.ts +1 -1
- package/dist/ui/popover/public.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.d.ts +8 -7
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +12 -9
- package/dist/ui/radioGroup/public.d.ts +1 -1
- package/dist/ui/radioGroup/public.d.ts.map +1 -1
- package/dist/ui/switch/index.d.ts +5 -9
- package/dist/ui/switch/index.d.ts.map +1 -1
- package/dist/ui/switch/index.js +7 -10
- package/dist/ui/switch/public.d.ts +1 -1
- package/dist/ui/switch/public.d.ts.map +1 -1
- package/dist/ui/tabs/index.d.ts +9 -7
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +27 -17
- package/dist/ui/tabs/public.d.ts +1 -1
- package/dist/ui/tabs/public.d.ts.map +1 -1
- 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
|
-
/**
|
|
19
|
-
export const
|
|
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,
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
|
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), [...
|
|
78
|
+
const persistedPanel = keyed(panelElement)(panelId(id), [...resolvedPanelAttributes, Hidden(!isOpen)], [panelContent]);
|
|
78
79
|
const activePanel = isOpen
|
|
79
|
-
? keyed(panelElement)(panelId(id),
|
|
80
|
+
? keyed(panelElement)(panelId(id), resolvedPanelAttributes, [panelContent])
|
|
80
81
|
: empty;
|
|
81
82
|
const panel = persistPanel ? persistedPanel : activePanel;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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,
|
|
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,
|
|
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
|
|
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").
|
|
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
|
|
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
|
|
151
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
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"}
|
package/dist/ui/listbox/multi.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Array, Option, Schema as S, pipe } from 'effect';
|
|
2
|
-
import { createLazy } from '../../html
|
|
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,
|
|
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,
|
|
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
|
-
/**
|
|
80
|
-
export declare const
|
|
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<"
|
|
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
|
|
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
|
|
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
|
|
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 |
|
|
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
|
|
214
|
-
|
|
250
|
+
buttonClassName?: string;
|
|
251
|
+
buttonAttributes?: ReadonlyArray<Attribute<Message>>;
|
|
252
|
+
itemsClassName?: string;
|
|
253
|
+
itemsAttributes?: ReadonlyArray<Attribute<Message>>;
|
|
215
254
|
itemsScrollClassName?: string;
|
|
216
|
-
|
|
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":"AAAA,OAAO,EAIL,MAAM,EAEN,MAAM,IAAI,CAAC,EAGZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/ui/listbox/shared.ts"],"names":[],"mappings":"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"}
|