@typed/ui 1.0.0-beta.6 → 1.0.0-beta.7
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/dist/Alert.d.ts +35 -41
- package/dist/Alert.d.ts.map +1 -1
- package/dist/Alert.js +23 -20
- package/dist/Button.d.ts +34 -78
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +16 -12
- package/dist/Carousel.d.ts +35 -236
- package/dist/Carousel.d.ts.map +1 -1
- package/dist/Carousel.js +13 -136
- package/dist/Checkbox.d.ts +55 -90
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +44 -38
- package/dist/Collection.d.ts +15 -15
- package/dist/Collection.js +7 -7
- package/dist/Combobox.d.ts +38 -187
- package/dist/Combobox.d.ts.map +1 -1
- package/dist/Combobox.js +9 -80
- package/dist/Component.d.ts +30 -24
- package/dist/Component.d.ts.map +1 -1
- package/dist/Component.js +23 -12
- package/dist/Composite.d.ts +50 -50
- package/dist/Composite.js +20 -20
- package/dist/Dialog.d.ts +34 -34
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +16 -14
- package/dist/Disclosure.d.ts +15 -15
- package/dist/Disclosure.js +6 -6
- package/dist/Dom/Events.d.ts +4 -4
- package/dist/Dom/Events.js +4 -4
- package/dist/Dom/Props.d.ts +9 -9
- package/dist/Dom/Props.js +4 -4
- package/dist/Dom/Refs.d.ts +2 -2
- package/dist/Dom/Refs.js +1 -1
- package/dist/Dom/Render.d.ts +2 -2
- package/dist/Dom/Render.js +2 -2
- package/dist/Dom/Types.d.ts +33 -33
- package/dist/Dom/index.d.ts +5 -5
- package/dist/Dom/index.d.ts.map +1 -1
- package/dist/Dom/index.js +4 -4
- package/dist/Dom.d.ts +1 -1
- package/dist/Dom.js +1 -1
- package/dist/Focusable.d.ts +5 -5
- package/dist/Focusable.js +1 -1
- package/dist/Form.d.ts +565 -533
- package/dist/Form.d.ts.map +1 -1
- package/dist/Form.js +350 -195
- package/dist/Grid.d.ts +39 -220
- package/dist/Grid.d.ts.map +1 -1
- package/dist/Grid.js +12 -107
- package/dist/Group.d.ts +50 -69
- package/dist/Group.d.ts.map +1 -1
- package/dist/Group.js +33 -25
- package/dist/Heading.d.ts +41 -40
- package/dist/Heading.d.ts.map +1 -1
- package/dist/Heading.js +26 -16
- package/dist/Hovercard.d.ts +18 -18
- package/dist/Hovercard.js +6 -6
- package/dist/HttpRouter.d.ts +3 -3
- package/dist/HttpRouter.js +5 -5
- package/dist/Link.d.ts +17 -21
- package/dist/Link.d.ts.map +1 -1
- package/dist/Link.js +11 -0
- package/dist/Listbox.d.ts +31 -163
- package/dist/Listbox.d.ts.map +1 -1
- package/dist/Listbox.js +9 -80
- package/dist/Menu.d.ts +67 -376
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +17 -179
- package/dist/Menubar.d.ts +24 -142
- package/dist/Menubar.d.ts.map +1 -1
- package/dist/Menubar.js +8 -66
- package/dist/Meter.d.ts +72 -132
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Meter.js +35 -42
- package/dist/NativeDetails.d.ts +1 -1
- package/dist/NativeDetails.js +1 -1
- package/dist/NativeDialog.d.ts +7 -5
- package/dist/NativeDialog.d.ts.map +1 -1
- package/dist/NativeDialog.js +42 -4
- package/dist/NativePopover.d.ts +6 -4
- package/dist/NativePopover.d.ts.map +1 -1
- package/dist/NativePopover.js +43 -5
- package/dist/Popover.d.ts +18 -19
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +7 -8
- package/dist/RadioGroup.d.ts +86 -188
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +55 -105
- package/dist/Role.d.ts +4 -4
- package/dist/Role.js +1 -1
- package/dist/Select.d.ts +109 -220
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +67 -117
- package/dist/Separator.d.ts +30 -26
- package/dist/Separator.d.ts.map +1 -1
- package/dist/Separator.js +16 -10
- package/dist/Slider.d.ts +64 -111
- package/dist/Slider.d.ts.map +1 -1
- package/dist/Slider.js +47 -42
- package/dist/SpinButton.d.ts +64 -111
- package/dist/SpinButton.d.ts.map +1 -1
- package/dist/SpinButton.js +47 -42
- package/dist/Storybook.d.ts +2 -2
- package/dist/Storybook.js +1 -1
- package/dist/Switch.d.ts +52 -91
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Switch.js +30 -36
- package/dist/Tabs.d.ts +44 -224
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +10 -94
- package/dist/Toolbar.d.ts +24 -142
- package/dist/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar.js +8 -66
- package/dist/Tooltip.d.ts +20 -20
- package/dist/Tooltip.js +6 -6
- package/dist/Tree.d.ts +43 -229
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +12 -113
- package/dist/TreeGrid.d.ts +45 -264
- package/dist/TreeGrid.d.ts.map +1 -1
- package/dist/TreeGrid.js +13 -125
- package/dist/VisuallyHidden.d.ts +41 -27
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +27 -10
- package/dist/WindowSplitter.d.ts +68 -108
- package/dist/WindowSplitter.d.ts.map +1 -1
- package/dist/WindowSplitter.js +106 -23
- package/package.json +9 -8
package/dist/Tabs.d.ts
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* the state and pure operations without mounting UI, or supply custom hosts without replacing native
|
|
9
9
|
* events and browser-owned focus.
|
|
10
10
|
*
|
|
11
|
+
* Learn the interaction in the [Tabs guide](/explore/ui-tabs).
|
|
12
|
+
*
|
|
11
13
|
* @since 1.0.0
|
|
12
14
|
* @category modules
|
|
13
15
|
* @packageDocumentation
|
|
@@ -26,90 +28,54 @@ import type { HostResult } from "./Dom/Types.js";
|
|
|
26
28
|
* Controls whether moving focus also selects a tab.
|
|
27
29
|
*
|
|
28
30
|
* @remarks
|
|
29
|
-
* ## Why
|
|
30
|
-
*
|
|
31
31
|
* The public model lets custom composites reuse Tabs's deterministic policy without copying an
|
|
32
32
|
* internal shape.
|
|
33
33
|
*
|
|
34
|
-
* ## Ownership and lifetime
|
|
35
|
-
*
|
|
36
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
37
|
-
*
|
|
38
|
-
* ## Example
|
|
39
|
-
*
|
|
40
|
-
* Import with `import type { ActivationMode } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
41
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Choose the focus-to-selection
|
|
42
|
-
* policy explicitly: `const mode: ActivationMode = "manual"`.
|
|
43
34
|
* @since 1.0.0
|
|
44
|
-
* @category
|
|
35
|
+
* @category Panel activation policy
|
|
45
36
|
*/
|
|
46
37
|
export type ActivationMode = "automatic" | "manual";
|
|
47
38
|
/**
|
|
48
39
|
* Supported composite movement axes.
|
|
49
40
|
*
|
|
50
41
|
* @remarks
|
|
51
|
-
* ## Why
|
|
52
|
-
*
|
|
53
42
|
* The public model lets custom composites reuse Tabs's deterministic policy without copying an
|
|
54
43
|
* internal shape.
|
|
55
44
|
*
|
|
56
|
-
* ## Ownership and lifetime
|
|
57
|
-
*
|
|
58
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
59
|
-
*
|
|
60
|
-
* ## Example
|
|
61
|
-
*
|
|
62
|
-
* Import with `import type { Orientation } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
63
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Choose the tab-list axis
|
|
64
|
-
* explicitly: `const orientation: Orientation = "horizontal"`.
|
|
65
45
|
* @since 1.0.0
|
|
66
|
-
* @category
|
|
46
|
+
* @category Tab navigation
|
|
67
47
|
*/
|
|
68
48
|
export type Orientation = "horizontal" | "vertical";
|
|
69
49
|
/**
|
|
70
|
-
*
|
|
50
|
+
* The visible panel selection, focused tab identity, and activation policy.
|
|
51
|
+
* Manual activation allows `activeId` to differ from `selectedId` until the user commits.
|
|
71
52
|
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* ## Why
|
|
74
|
-
*
|
|
75
|
-
* Applications can inspect, update, and test Tabs behavior without mounting or coupling the state
|
|
76
|
-
* to a renderer.
|
|
77
|
-
*
|
|
78
|
-
* ## Ownership and lifetime
|
|
79
|
-
*
|
|
80
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
81
|
-
*
|
|
82
|
-
* ## Example
|
|
83
|
-
*
|
|
84
|
-
* Import with `import type { State } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
85
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Inside the linked program,
|
|
86
|
-
* `const snapshot: State = yield* state` exposes selected and focused tabs as separate ids.
|
|
87
53
|
* @since 1.0.0
|
|
88
|
-
* @category
|
|
54
|
+
* @category Selection and focus
|
|
89
55
|
*/
|
|
90
56
|
export interface State extends Omit<Composite.State, "orientation"> {
|
|
91
57
|
/**
|
|
92
58
|
* Axis used to interpret Arrow-key movement.
|
|
93
59
|
* @since 1.0.0
|
|
94
|
-
* @category
|
|
60
|
+
* @category Keyboard navigation
|
|
95
61
|
*/
|
|
96
62
|
readonly orientation: Orientation;
|
|
97
63
|
/**
|
|
98
64
|
* Id whose value is currently selected.
|
|
99
65
|
* @since 1.0.0
|
|
100
|
-
* @category
|
|
66
|
+
* @category Panel selection
|
|
101
67
|
*/
|
|
102
68
|
readonly selectedId: string;
|
|
103
69
|
/**
|
|
104
70
|
* Id currently active for keyboard navigation; null means no active item.
|
|
105
71
|
* @since 1.0.0
|
|
106
|
-
* @category
|
|
72
|
+
* @category Keyboard focus
|
|
107
73
|
*/
|
|
108
74
|
readonly activeId: string;
|
|
109
75
|
/**
|
|
110
76
|
* Whether tab focus also selects automatically or waits for explicit activation.
|
|
111
77
|
* @since 1.0.0
|
|
112
|
-
* @category
|
|
78
|
+
* @category Panel activation policy
|
|
113
79
|
*/
|
|
114
80
|
readonly activationMode: ActivationMode;
|
|
115
81
|
}
|
|
@@ -117,59 +83,44 @@ export interface State extends Omit<Composite.State, "orientation"> {
|
|
|
117
83
|
* Initial Tabs values. The caller supplies value; activeId defaults to value, activation is
|
|
118
84
|
* automatic, orientation horizontal, and loop true.
|
|
119
85
|
*
|
|
120
|
-
* @remarks
|
|
121
|
-
* ## Why
|
|
122
|
-
*
|
|
123
|
-
* Making initialization explicit documents hydration-sensitive defaults and lets servers and
|
|
124
|
-
* clients construct matching state.
|
|
125
|
-
*
|
|
126
|
-
* ## Ownership and lifetime
|
|
127
|
-
*
|
|
128
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
129
|
-
*
|
|
130
|
-
* ## Example
|
|
131
|
-
*
|
|
132
|
-
* Import with `import type { InitialState } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
133
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Construct state with
|
|
134
|
-
* `const initial: InitialState = { selectedId: "overview", activationMode: "manual" }; const state = yield* Tabs.makeState(initial)`.
|
|
135
86
|
* @since 1.0.0
|
|
136
|
-
* @category
|
|
87
|
+
* @category Selection and focus
|
|
137
88
|
*/
|
|
138
89
|
export interface InitialState {
|
|
139
90
|
/**
|
|
140
91
|
* Id whose value is currently selected.
|
|
141
92
|
* @since 1.0.0
|
|
142
|
-
* @category
|
|
93
|
+
* @category Panel selection
|
|
143
94
|
*/
|
|
144
95
|
readonly selectedId: string;
|
|
145
96
|
/**
|
|
146
97
|
* Id currently active for keyboard navigation; null means no active item.
|
|
147
98
|
* @since 1.0.0
|
|
148
|
-
* @category
|
|
99
|
+
* @category Keyboard focus
|
|
149
100
|
*/
|
|
150
101
|
readonly activeId?: string;
|
|
151
102
|
/**
|
|
152
103
|
* Whether tab focus also selects automatically or waits for explicit activation.
|
|
153
104
|
* @since 1.0.0
|
|
154
|
-
* @category
|
|
105
|
+
* @category Panel activation policy
|
|
155
106
|
*/
|
|
156
107
|
readonly activationMode?: ActivationMode;
|
|
157
108
|
/**
|
|
158
109
|
* Axis used to interpret Arrow-key movement.
|
|
159
110
|
* @since 1.0.0
|
|
160
|
-
* @category
|
|
111
|
+
* @category Keyboard navigation
|
|
161
112
|
*/
|
|
162
113
|
readonly orientation?: Orientation;
|
|
163
114
|
/**
|
|
164
115
|
* Whether movement wraps between the first and last enabled items.
|
|
165
116
|
* @since 1.0.0
|
|
166
|
-
* @category
|
|
117
|
+
* @category Keyboard navigation
|
|
167
118
|
*/
|
|
168
119
|
readonly loop?: boolean;
|
|
169
120
|
/**
|
|
170
121
|
* Whether horizontal Arrow-key meaning is reversed for right-to-left layout.
|
|
171
122
|
* @since 1.0.0
|
|
172
|
-
* @category
|
|
123
|
+
* @category Keyboard navigation
|
|
173
124
|
*/
|
|
174
125
|
readonly rtl?: boolean;
|
|
175
126
|
}
|
|
@@ -177,15 +128,6 @@ export interface InitialState {
|
|
|
177
128
|
* Effect Schema used by makeState to encode, decode, and hydrate Tabs state.
|
|
178
129
|
*
|
|
179
130
|
* @remarks
|
|
180
|
-
* ## Why
|
|
181
|
-
*
|
|
182
|
-
* A public schema makes hydration and serialized state use the same runtime validation as direct
|
|
183
|
-
* construction.
|
|
184
|
-
*
|
|
185
|
-
* ## Ownership and lifetime
|
|
186
|
-
*
|
|
187
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
188
|
-
*
|
|
189
131
|
* @example
|
|
190
132
|
* ```ts
|
|
191
133
|
* import * as Schema from "effect/Schema";
|
|
@@ -194,7 +136,7 @@ export interface InitialState {
|
|
|
194
136
|
* const decodeState = Schema.decodeUnknownEffect(Tabs.StateSchema);
|
|
195
137
|
* ```
|
|
196
138
|
* @since 1.0.0
|
|
197
|
-
* @category
|
|
139
|
+
* @category Selection and focus
|
|
198
140
|
*/
|
|
199
141
|
export declare const StateSchema: Schema.Struct<{
|
|
200
142
|
readonly selectedId: Schema.String;
|
|
@@ -210,12 +152,6 @@ export declare const StateSchema: Schema.Struct<{
|
|
|
210
152
|
* is automatic, orientation horizontal, and loop true.
|
|
211
153
|
*
|
|
212
154
|
* @remarks
|
|
213
|
-
* ## Why
|
|
214
|
-
*
|
|
215
|
-
* State and collection ownership can be composed and tested independently from any renderer.
|
|
216
|
-
*
|
|
217
|
-
* ## Ownership and lifetime
|
|
218
|
-
*
|
|
219
155
|
* The returned Effect creates the RefSubject when run. That state is renderer-independent;
|
|
220
156
|
* collection registrations belong to the separate Scope that runs register or ref, not to state
|
|
221
157
|
* creation.
|
|
@@ -234,7 +170,7 @@ export declare const StateSchema: Schema.Struct<{
|
|
|
234
170
|
* );
|
|
235
171
|
* ```
|
|
236
172
|
* @since 1.0.0
|
|
237
|
-
* @category
|
|
173
|
+
* @category Selection and focus
|
|
238
174
|
*/
|
|
239
175
|
export declare function makeState(initial: InitialState): Effect.Effect<RefSubject.HydratedRefSubject<{
|
|
240
176
|
readonly selectedId: string;
|
|
@@ -249,12 +185,6 @@ export declare function makeState(initial: InitialState): Effect.Effect<RefSubje
|
|
|
249
185
|
* Creates a scoped Collection for Tabs items.
|
|
250
186
|
*
|
|
251
187
|
* @remarks
|
|
252
|
-
* ## Why
|
|
253
|
-
*
|
|
254
|
-
* State and collection ownership can be composed and tested independently from any renderer.
|
|
255
|
-
*
|
|
256
|
-
* ## Ownership and lifetime
|
|
257
|
-
*
|
|
258
188
|
* The returned Effect allocates the RefSubject in the caller's Scope. Each later registration is
|
|
259
189
|
* owned by the Scope that runs register, independently of this construction Effect.
|
|
260
190
|
*
|
|
@@ -271,107 +201,66 @@ export declare function makeState(initial: InitialState): Effect.Effect<RefSubje
|
|
|
271
201
|
* );
|
|
272
202
|
* ```
|
|
273
203
|
* @since 1.0.0
|
|
274
|
-
* @category
|
|
204
|
+
* @category Tab registration
|
|
275
205
|
*/
|
|
276
206
|
export declare const makeCollection: (initial?: Collection.State<string, Element>) => Effect.Effect<RefSubject.RefSubject<Collection.State<string, Element>, never, never>, never, Scope.Scope>;
|
|
277
207
|
/**
|
|
278
208
|
* Selects a tab and makes it the active roving-focus item.
|
|
279
209
|
*
|
|
280
210
|
* @remarks
|
|
281
|
-
* ## Why
|
|
282
|
-
*
|
|
283
211
|
* The operation exposes Tabs's transition directly so callers can compose it in Effect programs
|
|
284
212
|
* and native event handlers.
|
|
285
213
|
*
|
|
286
|
-
* ## Ownership and lifetime
|
|
287
|
-
*
|
|
288
|
-
* The returned Effect performs the update or DOM side effect only when run, preserves the declared
|
|
289
|
-
* error and service channels, and retains no resources after completion.
|
|
290
|
-
*
|
|
291
|
-
* ## Example
|
|
292
|
-
*
|
|
293
|
-
* Import with `import { select } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
294
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Inside the linked Effect program invoke
|
|
295
|
-
* `yield* select(state, "settings")`, then read state to observe both `selectedId` and `activeId`
|
|
296
|
-
* become `"settings"`.
|
|
297
214
|
* @since 1.0.0
|
|
298
|
-
* @category
|
|
215
|
+
* @category Panel activation
|
|
299
216
|
*/
|
|
300
217
|
export declare function select<E, R>(state: RefSubject.RefSubject<State, E, R>, selectedId: string): Effect.Effect<State, E, R>;
|
|
301
218
|
/**
|
|
302
219
|
* Moves activeId through registered tabs without selecting under manual activation.
|
|
303
220
|
*
|
|
304
221
|
* @remarks
|
|
305
|
-
* ## Why
|
|
306
|
-
*
|
|
307
222
|
* The operation exposes Tabs's transition directly so callers can compose it in Effect programs
|
|
308
223
|
* and native event handlers.
|
|
309
224
|
*
|
|
310
|
-
* ## Ownership and lifetime
|
|
311
|
-
*
|
|
312
|
-
* The returned Effect performs the update or DOM side effect only when run, preserves the declared
|
|
313
|
-
* error and service channels, and retains no resources after completion.
|
|
314
|
-
*
|
|
315
|
-
* ## Example
|
|
316
|
-
*
|
|
317
|
-
* Import with `import { move } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
318
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Inside the linked Effect program invoke
|
|
319
|
-
* `yield* move(state, yield* collection, "next")`, then read state to observe focus move—and, in
|
|
320
|
-
* automatic mode, selection move—to the next enabled tab.
|
|
321
225
|
* @since 1.0.0
|
|
322
|
-
* @category
|
|
226
|
+
* @category Tab navigation
|
|
323
227
|
*/
|
|
324
228
|
export declare function move<E, R>(state: RefSubject.RefSubject<State, E, R>, items: readonly Collection.Item[], direction: Composite.Move): Effect.Effect<State, E, R>;
|
|
325
229
|
/**
|
|
326
230
|
* Inputs accepted by Tabs.List in addition to the shared DOM host options.
|
|
327
231
|
*
|
|
328
|
-
* @remarks
|
|
329
|
-
* ## Why
|
|
330
|
-
*
|
|
331
|
-
* The options type makes required state, content, accessible relationships, and custom-host inputs
|
|
332
|
-
* visible before rendering.
|
|
333
|
-
*
|
|
334
|
-
* ## Ownership and lifetime
|
|
335
|
-
*
|
|
336
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
337
|
-
*
|
|
338
|
-
* ## Example
|
|
339
|
-
*
|
|
340
|
-
* Import with `import type { ListOptions } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
341
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Enable collection-driven keys with
|
|
342
|
-
* `const options: ListOptions = { state, collection, label: "Account", content: "Tabs" }`.
|
|
343
232
|
* @since 1.0.0
|
|
344
|
-
* @category
|
|
233
|
+
* @category Tab list
|
|
345
234
|
*/
|
|
346
235
|
export interface ListOptions extends Dom.HostOptions<HTMLDivElement> {
|
|
347
236
|
/**
|
|
348
237
|
* Renderer-independent RefSubject state consumed by this component or operation.
|
|
349
238
|
* @since 1.0.0
|
|
350
|
-
* @category
|
|
239
|
+
* @category State connection
|
|
351
240
|
*/
|
|
352
241
|
readonly state: RefSubject.HydratedRefSubject<State, Schema.SchemaError>;
|
|
353
242
|
/**
|
|
354
243
|
* Renderable child content for the component host.
|
|
355
244
|
* @since 1.0.0
|
|
356
|
-
* @category
|
|
245
|
+
* @category Rendered content
|
|
357
246
|
*/
|
|
358
247
|
readonly content: Renderable.Any;
|
|
359
248
|
/**
|
|
360
249
|
* Accessible label rendered through aria-label.
|
|
361
250
|
* @since 1.0.0
|
|
362
|
-
* @category
|
|
251
|
+
* @category Accessible naming
|
|
363
252
|
*/
|
|
364
253
|
readonly label?: Renderable.Any<string | null | undefined>;
|
|
365
254
|
/**
|
|
366
255
|
* Renderable tab content placed inside the tablist host.
|
|
367
256
|
* @since 1.0.0
|
|
368
|
-
* @category
|
|
257
|
+
* @category Item registration
|
|
369
258
|
*/
|
|
370
259
|
readonly items?: readonly Collection.Item[];
|
|
371
260
|
/**
|
|
372
261
|
* Item registry used for collection-driven keyboard behavior and mounted ordering.
|
|
373
262
|
* @since 1.0.0
|
|
374
|
-
* @category
|
|
263
|
+
* @category Item registration
|
|
375
264
|
*/
|
|
376
265
|
readonly collection?: RefSubject.RefSubject<Collection.State<string>>;
|
|
377
266
|
}
|
|
@@ -388,83 +277,55 @@ type ListInternalProps<Options extends ListOptions> = ReturnType<ReturnType<type
|
|
|
388
277
|
* mode.
|
|
389
278
|
*
|
|
390
279
|
* @remarks
|
|
391
|
-
* ## Why
|
|
392
|
-
*
|
|
393
|
-
* The component applies the family behavior while leaving callers free to supply a custom host
|
|
394
|
-
* through the shared DOM boundary.
|
|
395
|
-
*
|
|
396
|
-
* ## Ownership and lifetime
|
|
397
|
-
*
|
|
398
280
|
* The returned Fx installs DOM refs, native listeners, state subscriptions, and optional
|
|
399
281
|
* collection registrations only when rendered. The rendering Scope removes those resources;
|
|
400
282
|
* unrelated nodes and attributes remain caller-owned.
|
|
401
283
|
*
|
|
402
|
-
* ## Example
|
|
403
|
-
*
|
|
404
|
-
* Import with `import { List } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
405
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Replace the linked program's final snapshot
|
|
406
|
-
* read with `List({ state, label: "Account", content: "Tabs" })`; render that Fx before the same
|
|
407
|
-
* Scope closes.
|
|
408
284
|
* @since 1.0.0
|
|
409
|
-
* @category
|
|
285
|
+
* @category Tab list
|
|
410
286
|
*/
|
|
411
287
|
export declare function List<const Options extends ListOptions, const Host extends HostResult = never>(options: Options, host?: Dom.HostOverride<Dom.RenderHostProps<Options, ListInternalProps<Options>>, Options["content"], Host>): Fx<RenderEvent, Renderable.Error<Options | Host>, Renderable.Services<Options | Host> | Scope.Scope | RenderTemplate>;
|
|
412
288
|
/**
|
|
413
289
|
* Inputs accepted by Tabs.Tab in addition to the shared DOM host options.
|
|
414
290
|
*
|
|
415
|
-
* @remarks
|
|
416
|
-
* ## Why
|
|
417
|
-
*
|
|
418
|
-
* The options type makes required state, content, accessible relationships, and custom-host inputs
|
|
419
|
-
* visible before rendering.
|
|
420
|
-
*
|
|
421
|
-
* ## Ownership and lifetime
|
|
422
|
-
*
|
|
423
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
424
|
-
*
|
|
425
|
-
* ## Example
|
|
426
|
-
*
|
|
427
|
-
* Import with `import type { TabOptions } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
428
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Relate a tab to its panel with
|
|
429
|
-
* `const options: TabOptions = { state, collection, id: "overview", panelId: "overview-panel", content: "Overview" }`.
|
|
430
291
|
* @since 1.0.0
|
|
431
|
-
* @category
|
|
292
|
+
* @category Tab controls
|
|
432
293
|
*/
|
|
433
294
|
export interface TabOptions extends Dom.HostOptions<HTMLButtonElement> {
|
|
434
295
|
/**
|
|
435
296
|
* Renderer-independent RefSubject state consumed by this component or operation.
|
|
436
297
|
* @since 1.0.0
|
|
437
|
-
* @category
|
|
298
|
+
* @category State connection
|
|
438
299
|
*/
|
|
439
300
|
readonly state: RefSubject.HydratedRefSubject<State, Schema.SchemaError>;
|
|
440
301
|
/**
|
|
441
302
|
* Stable id used for collection identity and ARIA relationships.
|
|
442
303
|
* @since 1.0.0
|
|
443
|
-
* @category
|
|
304
|
+
* @category Identity and relationships
|
|
444
305
|
*/
|
|
445
306
|
readonly id: string;
|
|
446
307
|
/**
|
|
447
308
|
* Panel id emitted through the tab's aria-controls relationship.
|
|
448
309
|
* @since 1.0.0
|
|
449
|
-
* @category
|
|
310
|
+
* @category Identity and relationships
|
|
450
311
|
*/
|
|
451
312
|
readonly panelId: string;
|
|
452
313
|
/**
|
|
453
314
|
* Renderable child content for the component host.
|
|
454
315
|
* @since 1.0.0
|
|
455
|
-
* @category
|
|
316
|
+
* @category Rendered content
|
|
456
317
|
*/
|
|
457
318
|
readonly content: Renderable.Any;
|
|
458
319
|
/**
|
|
459
320
|
* Item registry used for collection-driven keyboard behavior and mounted ordering.
|
|
460
321
|
* @since 1.0.0
|
|
461
|
-
* @category
|
|
322
|
+
* @category Item registration
|
|
462
323
|
*/
|
|
463
324
|
readonly collection?: RefSubject.RefSubject<Collection.State<string>>;
|
|
464
325
|
/**
|
|
465
326
|
* Flag used by collection movement and widget handlers to skip activation by default.
|
|
466
327
|
* @since 1.0.0
|
|
467
|
-
* @category
|
|
328
|
+
* @category Availability
|
|
468
329
|
*/
|
|
469
330
|
readonly disabled?: boolean;
|
|
470
331
|
}
|
|
@@ -486,71 +347,43 @@ type TabInternalProps<Options extends TabOptions> = ReturnType<ReturnType<typeof
|
|
|
486
347
|
* tabindex.
|
|
487
348
|
*
|
|
488
349
|
* @remarks
|
|
489
|
-
* ## Why
|
|
490
|
-
*
|
|
491
|
-
* The component applies the family behavior while leaving callers free to supply a custom host
|
|
492
|
-
* through the shared DOM boundary.
|
|
493
|
-
*
|
|
494
|
-
* ## Ownership and lifetime
|
|
495
|
-
*
|
|
496
350
|
* The returned Fx installs DOM refs, native listeners, state subscriptions, and optional
|
|
497
351
|
* collection registrations only when rendered. The rendering Scope removes those resources;
|
|
498
352
|
* unrelated nodes and attributes remain caller-owned.
|
|
499
353
|
*
|
|
500
|
-
* ## Example
|
|
501
|
-
*
|
|
502
|
-
* Import with `import { Tab } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
503
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Replace the linked program's final snapshot
|
|
504
|
-
* read with `Tab({ state, id: "overview", panelId: "overview-panel", content: "Overview" })`;
|
|
505
|
-
* render that Fx before the same Scope closes.
|
|
506
354
|
* @since 1.0.0
|
|
507
|
-
* @category
|
|
355
|
+
* @category Tab controls
|
|
508
356
|
*/
|
|
509
357
|
export declare function Tab<const Options extends TabOptions, const Host extends HostResult = never>(options: Options, host?: Dom.HostOverride<Dom.RenderHostProps<Options, TabInternalProps<Options>>, Options["content"], Host>): Fx<RenderEvent, Renderable.Error<Options | Host>, Renderable.Services<Options | Host> | Scope.Scope | RenderTemplate>;
|
|
510
358
|
/**
|
|
511
359
|
* Inputs accepted by Tabs.Panel in addition to the shared DOM host options.
|
|
512
360
|
*
|
|
513
|
-
* @remarks
|
|
514
|
-
* ## Why
|
|
515
|
-
*
|
|
516
|
-
* The options type makes required state, content, accessible relationships, and custom-host inputs
|
|
517
|
-
* visible before rendering.
|
|
518
|
-
*
|
|
519
|
-
* ## Ownership and lifetime
|
|
520
|
-
*
|
|
521
|
-
* This declaration is data or schema metadata and acquires no resources.
|
|
522
|
-
*
|
|
523
|
-
* ## Example
|
|
524
|
-
*
|
|
525
|
-
* Import with `import type { PanelOptions } from "@typed/ui/Tabs";` Extend the [Tabs.makeState
|
|
526
|
-
* runnable setup](/reference/%40typed%2Fui%2FTabs%23makeState). Relate a panel back to its tab with
|
|
527
|
-
* `const options: PanelOptions = { state, id: "overview-panel", tabId: "overview", content: "Account overview" }`.
|
|
528
361
|
* @since 1.0.0
|
|
529
|
-
* @category
|
|
362
|
+
* @category Panel visibility
|
|
530
363
|
*/
|
|
531
364
|
export interface PanelOptions extends Dom.HostOptions<HTMLDivElement> {
|
|
532
365
|
/**
|
|
533
366
|
* Renderer-independent RefSubject state consumed by this component or operation.
|
|
534
367
|
* @since 1.0.0
|
|
535
|
-
* @category
|
|
368
|
+
* @category State connection
|
|
536
369
|
*/
|
|
537
370
|
readonly state: RefSubject.HydratedRefSubject<State, Schema.SchemaError>;
|
|
538
371
|
/**
|
|
539
372
|
* Stable id used for collection identity and ARIA relationships.
|
|
540
373
|
* @since 1.0.0
|
|
541
|
-
* @category
|
|
374
|
+
* @category Identity and relationships
|
|
542
375
|
*/
|
|
543
376
|
readonly id: string;
|
|
544
377
|
/**
|
|
545
378
|
* Tab id emitted through the panel's aria-labelledby relationship.
|
|
546
379
|
* @since 1.0.0
|
|
547
|
-
* @category
|
|
380
|
+
* @category Identity and relationships
|
|
548
381
|
*/
|
|
549
382
|
readonly tabId: string;
|
|
550
383
|
/**
|
|
551
384
|
* Renderable child content for the component host.
|
|
552
385
|
* @since 1.0.0
|
|
553
|
-
* @category
|
|
386
|
+
* @category Rendered content
|
|
554
387
|
*/
|
|
555
388
|
readonly content: Renderable.Any;
|
|
556
389
|
}
|
|
@@ -566,25 +399,12 @@ type PanelInternalProps<Options extends PanelOptions> = ReturnType<ReturnType<ty
|
|
|
566
399
|
* Renders a labelled tabpanel and hides it reactively when its tab is not selected.
|
|
567
400
|
*
|
|
568
401
|
* @remarks
|
|
569
|
-
* ## Why
|
|
570
|
-
*
|
|
571
|
-
* The component applies the family behavior while leaving callers free to supply a custom host
|
|
572
|
-
* through the shared DOM boundary.
|
|
573
|
-
*
|
|
574
|
-
* ## Ownership and lifetime
|
|
575
|
-
*
|
|
576
402
|
* The returned Fx installs DOM refs, native listeners, state subscriptions, and optional
|
|
577
403
|
* collection registrations only when rendered. The rendering Scope removes those resources;
|
|
578
404
|
* unrelated nodes and attributes remain caller-owned.
|
|
579
405
|
*
|
|
580
|
-
* ## Example
|
|
581
|
-
*
|
|
582
|
-
* Import with `import { Panel } from "@typed/ui/Tabs";` Extend the [Tabs.makeState runnable
|
|
583
|
-
* setup](/reference/%40typed%2Fui%2FTabs%23makeState). Replace the linked program's final snapshot
|
|
584
|
-
* read with `Panel({ state, id: "overview-panel", tabId: "overview", content: "Account overview"
|
|
585
|
-
* })`; render that Fx before the same Scope closes.
|
|
586
406
|
* @since 1.0.0
|
|
587
|
-
* @category
|
|
407
|
+
* @category Panel visibility
|
|
588
408
|
*/
|
|
589
409
|
export declare function Panel<const Options extends PanelOptions, const Host extends HostResult = never>(options: Options, host?: Dom.HostOverride<Dom.RenderHostProps<Options, PanelInternalProps<Options>>, Options["content"], Host>): Fx<RenderEvent, Renderable.Error<Options | Host>, Renderable.Services<Options | Host> | Scope.Scope | RenderTemplate>;
|
|
590
410
|
export {};
|
package/dist/Tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.ts"],"names":[],"mappings":"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"}
|