foldkit 0.81.1 → 0.82.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.
- package/README.md +3 -3
- package/dist/calendar/calendarDate.d.ts +11 -11
- package/dist/calendar/calendarDate.d.ts.map +1 -1
- package/dist/calendar/calendarDate.js +14 -13
- package/dist/calendar/comparison.d.ts +3 -3
- package/dist/calendar/comparison.d.ts.map +1 -1
- package/dist/calendar/comparison.js +5 -5
- package/dist/calendar/info.d.ts +1 -1
- package/dist/calendar/info.d.ts.map +1 -1
- package/dist/calendar/info.js +9 -1
- package/dist/calendar/locale.d.ts +5 -5
- package/dist/calendar/locale.js +23 -2
- package/dist/command/index.d.ts +2 -2
- package/dist/command/index.d.ts.map +1 -1
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +49 -27
- package/dist/devTools/protocol.d.ts +192 -192
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +36 -12
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/serialize.js +4 -4
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +1 -2
- package/dist/devTools/submodelPath.d.ts +1 -1
- package/dist/devTools/summarize.d.ts +6 -6
- package/dist/devTools/summarize.d.ts.map +1 -1
- package/dist/devTools/summarize.js +6 -6
- package/dist/devTools/webSocketBridge.d.ts +1 -1
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +19 -18
- package/dist/fieldValidation/index.d.ts +11 -11
- package/dist/fieldValidation/index.d.ts.map +1 -1
- package/dist/fieldValidation/index.js +8 -7
- package/dist/file/error.d.ts +1 -1
- package/dist/file/file.d.ts +1 -1
- package/dist/file/file.js +1 -1
- package/dist/file/reader.d.ts +4 -4
- package/dist/file/reader.js +5 -5
- package/dist/file/select.js +1 -1
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +4 -3
- package/dist/html/lazy.d.ts.map +1 -1
- package/dist/html/lazy.js +6 -7
- package/dist/managedResource/index.d.ts +2 -2
- package/dist/managedResource/index.d.ts.map +1 -1
- package/dist/managedResource/index.js +2 -2
- package/dist/mount/index.d.ts +1 -1
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/route/parser.d.ts +2 -2
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/parser.js +5 -5
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/browserListeners.js +6 -7
- package/dist/runtime/deepFreeze.d.ts +1 -1
- package/dist/runtime/deepFreeze.js +2 -2
- package/dist/runtime/hmrProtocol.d.ts +22 -0
- package/dist/runtime/hmrProtocol.d.ts.map +1 -0
- package/dist/runtime/hmrProtocol.js +15 -0
- package/dist/runtime/hmrProtocolPublic.d.ts +2 -0
- package/dist/runtime/hmrProtocolPublic.d.ts.map +1 -0
- package/dist/runtime/hmrProtocolPublic.js +1 -0
- package/dist/runtime/runtime.d.ts +10 -7
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +116 -114
- package/dist/runtime/subscription.d.ts +5 -5
- package/dist/runtime/subscription.d.ts.map +1 -1
- package/dist/runtime/urlRequest.d.ts +15 -15
- package/dist/runtime/urlRequest.d.ts.map +1 -1
- package/dist/runtime/urlRequest.js +1 -1
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +10 -4
- package/dist/task/dom.js +1 -1
- package/dist/task/elementMovement.js +1 -1
- package/dist/task/error.d.ts +2 -2
- package/dist/task/inert.d.ts.map +1 -1
- package/dist/task/inert.js +4 -7
- package/dist/task/time.d.ts +1 -1
- package/dist/task/time.js +1 -1
- package/dist/task/timing.d.ts +1 -1
- package/dist/task/timing.d.ts.map +1 -1
- package/dist/task/timing.js +2 -2
- package/dist/test/apps/bubbling.d.ts +3 -3
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/bubbling.js +1 -1
- package/dist/test/apps/counter.d.ts +6 -6
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +7 -1
- package/dist/test/apps/disabledButton.d.ts +11 -11
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +1 -1
- package/dist/test/apps/fileUpload.d.ts +4 -4
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/fileUpload.js +1 -1
- package/dist/test/apps/formChild.d.ts +16 -16
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +9 -4
- package/dist/test/apps/interactions.d.ts +8 -8
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/interactions.js +8 -1
- package/dist/test/apps/keypress.d.ts +7 -7
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/keypress.js +1 -1
- package/dist/test/apps/login.d.ts +14 -14
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +9 -2
- package/dist/test/apps/logoutButton.d.ts +3 -3
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.js +2 -2
- package/dist/test/apps/multiRole.d.ts +2 -2
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/multiRole.js +1 -1
- package/dist/test/apps/pointer.d.ts +6 -6
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/pointer.js +1 -1
- package/dist/test/apps/resumeUpload.d.ts +8 -8
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +12 -5
- package/dist/test/internal.js +10 -10
- package/dist/test/matchers.js +1 -1
- package/dist/test/query.d.ts.map +1 -1
- package/dist/test/query.js +13 -13
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +3 -3
- package/dist/test/story.js +1 -1
- package/dist/ui/animation/schema.d.ts +5 -5
- package/dist/ui/animation/schema.d.ts.map +1 -1
- package/dist/ui/animation/schema.js +9 -3
- package/dist/ui/calendar/index.d.ts +77 -77
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +26 -11
- package/dist/ui/checkbox/index.d.ts +2 -2
- package/dist/ui/combobox/multi.d.ts +38 -42
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/multi.js +4 -1
- package/dist/ui/combobox/shared.d.ts +31 -31
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +34 -12
- package/dist/ui/combobox/single.d.ts +39 -43
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/combobox/single.js +7 -6
- package/dist/ui/datePicker/index.d.ts +86 -86
- package/dist/ui/datePicker/index.d.ts.map +1 -1
- package/dist/ui/datePicker/index.js +10 -3
- package/dist/ui/dialog/index.d.ts +8 -8
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +9 -3
- package/dist/ui/disclosure/index.d.ts +2 -2
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +1 -1
- package/dist/ui/dragAndDrop/index.d.ts +76 -76
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +47 -29
- package/dist/ui/fileDrop/index.d.ts +8 -8
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +7 -2
- package/dist/ui/listbox/multi.d.ts +36 -40
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/multi.js +4 -1
- package/dist/ui/listbox/shared.d.ts +32 -32
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +36 -11
- package/dist/ui/listbox/single.d.ts +36 -40
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/listbox/single.js +5 -2
- package/dist/ui/menu/index.d.ts +40 -40
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +38 -11
- package/dist/ui/popover/index.d.ts +12 -12
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +17 -2
- package/dist/ui/radioGroup/index.d.ts +6 -6
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +5 -5
- package/dist/ui/slider/index.d.ts +26 -26
- package/dist/ui/slider/index.d.ts.map +1 -1
- package/dist/ui/slider/index.js +30 -16
- package/dist/ui/switch/index.d.ts +2 -2
- package/dist/ui/tabs/index.d.ts +8 -8
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +3 -3
- package/dist/ui/toast/index.d.ts +75 -75
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/index.js +1 -1
- package/dist/ui/toast/schema.d.ts +63 -63
- package/dist/ui/toast/schema.d.ts.map +1 -1
- package/dist/ui/toast/schema.js +19 -4
- package/dist/ui/toast/update.d.ts +67 -67
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +2 -2
- package/dist/ui/tooltip/index.d.ts +15 -15
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +14 -4
- package/dist/ui/virtualList/index.d.ts +16 -16
- package/dist/ui/virtualList/index.d.ts.map +1 -1
- package/dist/ui/virtualList/index.js +46 -42
- package/dist/url/index.d.ts +8 -8
- package/dist/url/index.d.ts.map +1 -1
- package/dist/url/index.js +14 -14
- package/package.json +12 -8
|
@@ -2,19 +2,19 @@ import { 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
|
/** Controls the radio group layout direction and which arrow keys navigate between options. */
|
|
5
|
-
export declare const Orientation: S.
|
|
5
|
+
export declare const Orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
|
|
6
6
|
export type Orientation = typeof Orientation.Type;
|
|
7
7
|
/** Schema for the radio group component's state, tracking the selected value and orientation. */
|
|
8
8
|
export declare const Model: S.Struct<{
|
|
9
|
-
id:
|
|
10
|
-
selectedValue: S.
|
|
11
|
-
orientation: S.
|
|
9
|
+
readonly id: S.String;
|
|
10
|
+
readonly selectedValue: S.Option<S.String>;
|
|
11
|
+
readonly orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
|
|
12
12
|
}>;
|
|
13
13
|
export type Model = typeof Model.Type;
|
|
14
14
|
/** Sent when a radio option is selected via click or keyboard navigation. */
|
|
15
15
|
export declare const SelectedOption: import("../../schema/index.js").CallableTaggedStruct<"SelectedOption", {
|
|
16
|
-
value:
|
|
17
|
-
index:
|
|
16
|
+
value: S.String;
|
|
17
|
+
index: S.Number;
|
|
18
18
|
}>;
|
|
19
19
|
/** Sent when the focus-option command completes. */
|
|
20
20
|
export declare const CompletedFocusOption: import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusOption", {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,MAAM,IAAI,CAAC,EAGZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAGV,MAAM,qBAAqB,CAAA;AAQ5B,+FAA+F;AAC/F,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ import * as Task from '../../task/index.js';
|
|
|
7
7
|
import { keyToIndex } from '../keyboard.js';
|
|
8
8
|
// MODEL
|
|
9
9
|
/** Controls the radio group layout direction and which arrow keys navigate between options. */
|
|
10
|
-
export const Orientation = S.
|
|
10
|
+
export const Orientation = S.Literals(['Horizontal', 'Vertical']);
|
|
11
11
|
/** Schema for the radio group component's state, tracking the selected value and orientation. */
|
|
12
12
|
export const Model = S.Struct({
|
|
13
13
|
id: S.String,
|
|
14
|
-
selectedValue: S.
|
|
14
|
+
selectedValue: S.Option(S.String),
|
|
15
15
|
orientation: Orientation,
|
|
16
16
|
});
|
|
17
17
|
// MESSAGE
|
|
@@ -23,11 +23,11 @@ export const SelectedOption = m('SelectedOption', {
|
|
|
23
23
|
/** Sent when the focus-option command completes. */
|
|
24
24
|
export const CompletedFocusOption = m('CompletedFocusOption');
|
|
25
25
|
/** Union of all messages the radio group component can produce. */
|
|
26
|
-
export const Message = S.Union(SelectedOption, CompletedFocusOption);
|
|
26
|
+
export const Message = S.Union([SelectedOption, CompletedFocusOption]);
|
|
27
27
|
/** Creates an initial radio group model from a config. Defaults to no selection and vertical orientation. */
|
|
28
28
|
export const init = (config) => ({
|
|
29
29
|
id: config.id,
|
|
30
|
-
selectedValue: Option.
|
|
30
|
+
selectedValue: Option.fromNullishOr(config.selectedValue),
|
|
31
31
|
orientation: config.orientation ?? 'Vertical',
|
|
32
32
|
});
|
|
33
33
|
// UPDATE
|
|
@@ -137,7 +137,7 @@ export const view = (config) => {
|
|
|
137
137
|
description: descriptionAttributes,
|
|
138
138
|
});
|
|
139
139
|
});
|
|
140
|
-
const hiddenInputs = pipe(name, Option.
|
|
140
|
+
const hiddenInputs = pipe(name, Option.fromNullishOr, Option.flatMap(inputName => pipe(selectedValue, Option.map(value => input([Type('hidden'), Name(inputName), Value(value)])))), Option.match({
|
|
141
141
|
onNone: () => [],
|
|
142
142
|
onSome: hiddenInput => [hiddenInput],
|
|
143
143
|
}));
|
|
@@ -4,13 +4,13 @@ import { type Attribute, type Html } from '../../html/index.js';
|
|
|
4
4
|
/** Schema for the slider component's state. Tracks the current value, the
|
|
5
5
|
* range (min/max/step), and the active drag phase. */
|
|
6
6
|
export declare const Model: S.Struct<{
|
|
7
|
-
id:
|
|
8
|
-
value:
|
|
9
|
-
min:
|
|
10
|
-
max:
|
|
11
|
-
step:
|
|
12
|
-
dragState: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"Idle", {}>, import("../../schema/index.js").CallableTaggedStruct<"Dragging", {
|
|
13
|
-
originValue:
|
|
7
|
+
readonly id: S.String;
|
|
8
|
+
readonly value: S.Number;
|
|
9
|
+
readonly min: S.Number;
|
|
10
|
+
readonly max: S.Number;
|
|
11
|
+
readonly step: S.Number;
|
|
12
|
+
readonly dragState: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"Idle", {}>, import("../../schema/index.js").CallableTaggedStruct<"Dragging", {
|
|
13
|
+
originValue: S.Number;
|
|
14
14
|
}>]>;
|
|
15
15
|
}>;
|
|
16
16
|
export type Model = typeof Model.Type;
|
|
@@ -20,12 +20,12 @@ export declare const PressedThumb: import("../../schema/index.js").CallableTagge
|
|
|
20
20
|
* cursor position. Ignored while already dragging, which absorbs the bubble
|
|
21
21
|
* from a thumb press so the value is not shifted. */
|
|
22
22
|
export declare const PressedPointer: import("../../schema/index.js").CallableTaggedStruct<"PressedPointer", {
|
|
23
|
-
value:
|
|
23
|
+
value: S.Number;
|
|
24
24
|
}>;
|
|
25
25
|
/** The pointer moved during a drag, producing a new snapped value from the
|
|
26
26
|
* cursor position within the track. */
|
|
27
27
|
export declare const MovedDragPointer: import("../../schema/index.js").CallableTaggedStruct<"MovedDragPointer", {
|
|
28
|
-
value:
|
|
28
|
+
value: S.Number;
|
|
29
29
|
}>;
|
|
30
30
|
/** The pointer was released during a drag. Commits the current value. */
|
|
31
31
|
export declare const ReleasedDragPointer: import("../../schema/index.js").CallableTaggedStruct<"ReleasedDragPointer", {}>;
|
|
@@ -33,7 +33,7 @@ export declare const ReleasedDragPointer: import("../../schema/index.js").Callab
|
|
|
33
33
|
export declare const CancelledDrag: import("../../schema/index.js").CallableTaggedStruct<"CancelledDrag", {}>;
|
|
34
34
|
/** The user pressed a keyboard navigation key on the focused thumb. */
|
|
35
35
|
export declare const PressedKeyboardNavigation: import("../../schema/index.js").CallableTaggedStruct<"PressedKeyboardNavigation", {
|
|
36
|
-
direction: S.
|
|
36
|
+
direction: S.Literals<readonly ["StepDecrement", "StepIncrement", "PageDecrement", "PageIncrement", "Min", "Max"]>;
|
|
37
37
|
}>;
|
|
38
38
|
/** Union of all messages the slider component can produce. */
|
|
39
39
|
export declare const Message: S.Union<[
|
|
@@ -54,11 +54,11 @@ export type PressedKeyboardNavigation = typeof PressedKeyboardNavigation.Type;
|
|
|
54
54
|
/** Emitted when the slider value changes. The parent uses this to react to
|
|
55
55
|
* value updates — e.g. to run validation or trigger a side effect. */
|
|
56
56
|
export declare const ChangedValue: import("../../schema/index.js").CallableTaggedStruct<"ChangedValue", {
|
|
57
|
-
value:
|
|
57
|
+
value: S.Number;
|
|
58
58
|
}>;
|
|
59
59
|
/** Union of all out-messages the slider component can emit to its parent. */
|
|
60
60
|
export declare const OutMessage: import("../../schema/index.js").CallableTaggedStruct<"ChangedValue", {
|
|
61
|
-
value:
|
|
61
|
+
value: S.Number;
|
|
62
62
|
}>;
|
|
63
63
|
export type OutMessage = typeof OutMessage.Type;
|
|
64
64
|
/** Configuration for creating a slider model with `init`. */
|
|
@@ -86,14 +86,14 @@ export declare const update: (model: Model, message: Message) => UpdateReturn;
|
|
|
86
86
|
/** Schema describing the subscription dependencies for document-level drag
|
|
87
87
|
* tracking. */
|
|
88
88
|
export declare const SubscriptionDeps: S.Struct<{
|
|
89
|
-
documentPointer: S.Struct<{
|
|
90
|
-
dragActivity: S.
|
|
91
|
-
id:
|
|
92
|
-
min:
|
|
93
|
-
max:
|
|
89
|
+
readonly documentPointer: S.Struct<{
|
|
90
|
+
readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
|
|
91
|
+
readonly id: S.String;
|
|
92
|
+
readonly min: S.Number;
|
|
93
|
+
readonly max: S.Number;
|
|
94
94
|
}>;
|
|
95
|
-
documentEscape: S.Struct<{
|
|
96
|
-
dragActivity: S.
|
|
95
|
+
readonly documentEscape: S.Struct<{
|
|
96
|
+
readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
|
|
97
97
|
}>;
|
|
98
98
|
}>;
|
|
99
99
|
/** Document-level subscriptions for pointer and keyboard events during slider
|
|
@@ -126,14 +126,14 @@ export declare const subscriptions: import("../../runtime/subscription.js").Subs
|
|
|
126
126
|
readonly _tag: "PressedKeyboardNavigation";
|
|
127
127
|
readonly direction: "Max" | "Min" | "StepDecrement" | "StepIncrement" | "PageDecrement" | "PageIncrement";
|
|
128
128
|
}, S.Struct<{
|
|
129
|
-
documentPointer: S.Struct<{
|
|
130
|
-
dragActivity: S.
|
|
131
|
-
id:
|
|
132
|
-
min:
|
|
133
|
-
max:
|
|
129
|
+
readonly documentPointer: S.Struct<{
|
|
130
|
+
readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
|
|
131
|
+
readonly id: S.String;
|
|
132
|
+
readonly min: S.Number;
|
|
133
|
+
readonly max: S.Number;
|
|
134
134
|
}>;
|
|
135
|
-
documentEscape: S.Struct<{
|
|
136
|
-
dragActivity: S.
|
|
135
|
+
readonly documentEscape: S.Struct<{
|
|
136
|
+
readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
|
|
137
137
|
}>;
|
|
138
138
|
}>, never>;
|
|
139
139
|
/** Attribute groups the slider component provides to the consumer's `toView`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/slider/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/slider/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Equal,
|
|
1
|
+
import { Effect, Equal, Match as M, Option, Schema as S, Stream, String as String_, pipe, } from 'effect';
|
|
2
2
|
import { createLazy, html, } from '../../html/index.js';
|
|
3
3
|
import { m } from '../../message/index.js';
|
|
4
4
|
import { makeSubscriptions } from '../../runtime/subscription.js';
|
|
@@ -7,7 +7,7 @@ import { evo } from '../../struct/index.js';
|
|
|
7
7
|
// MODEL
|
|
8
8
|
const Idle = ts('Idle');
|
|
9
9
|
const Dragging = ts('Dragging', { originValue: S.Number });
|
|
10
|
-
const DragState = S.Union(Idle, Dragging);
|
|
10
|
+
const DragState = S.Union([Idle, Dragging]);
|
|
11
11
|
/** Schema for the slider component's state. Tracks the current value, the
|
|
12
12
|
* range (min/max/step), and the active drag phase. */
|
|
13
13
|
export const Model = S.Struct({
|
|
@@ -34,10 +34,24 @@ export const ReleasedDragPointer = m('ReleasedDragPointer');
|
|
|
34
34
|
export const CancelledDrag = m('CancelledDrag');
|
|
35
35
|
/** The user pressed a keyboard navigation key on the focused thumb. */
|
|
36
36
|
export const PressedKeyboardNavigation = m('PressedKeyboardNavigation', {
|
|
37
|
-
direction: S.
|
|
37
|
+
direction: S.Literals([
|
|
38
|
+
'StepDecrement',
|
|
39
|
+
'StepIncrement',
|
|
40
|
+
'PageDecrement',
|
|
41
|
+
'PageIncrement',
|
|
42
|
+
'Min',
|
|
43
|
+
'Max',
|
|
44
|
+
]),
|
|
38
45
|
});
|
|
39
46
|
/** Union of all messages the slider component can produce. */
|
|
40
|
-
export const Message = S.Union(
|
|
47
|
+
export const Message = S.Union([
|
|
48
|
+
PressedThumb,
|
|
49
|
+
PressedPointer,
|
|
50
|
+
MovedDragPointer,
|
|
51
|
+
ReleasedDragPointer,
|
|
52
|
+
CancelledDrag,
|
|
53
|
+
PressedKeyboardNavigation,
|
|
54
|
+
]);
|
|
41
55
|
// OUT MESSAGE
|
|
42
56
|
/** Emitted when the slider value changes. The parent uses this to react to
|
|
43
57
|
* value updates — e.g. to run validation or trigger a side effect. */
|
|
@@ -139,9 +153,9 @@ export const update = (model, message) => M.value(message).pipe(withUpdateReturn
|
|
|
139
153
|
PressedKeyboardNavigation: ({ direction }) => withValue(model, nextValueForDirection(model, direction), []),
|
|
140
154
|
}));
|
|
141
155
|
// SUBSCRIPTION
|
|
142
|
-
const DragActivity = S.
|
|
156
|
+
const DragActivity = S.Literals(['Idle', 'Active']);
|
|
143
157
|
const dragActivityFromModel = (model) => M.value(model.dragState).pipe(M.withReturnType(), M.tag('Dragging', () => 'Active'), M.orElse(() => 'Idle'));
|
|
144
|
-
const trackElement = (id) => Option.
|
|
158
|
+
const trackElement = (id) => Option.fromNullishOr(document.querySelector(`[data-slider-track-id="${id}"]`));
|
|
145
159
|
const valueFromClientX = (clientX, trackElement_, min, max) => {
|
|
146
160
|
const rect = trackElement_.getBoundingClientRect();
|
|
147
161
|
if (rect.width === 0) {
|
|
@@ -178,29 +192,29 @@ export const subscriptions = makeSubscriptions(SubscriptionDeps)({
|
|
|
178
192
|
dependenciesToStream: ({ dragActivity, id, min, max }) => {
|
|
179
193
|
const pointerEvents = Stream.merge(Stream.fromEventListener(document, 'pointermove').pipe(Stream.mapEffect(event => Effect.sync(() => Option.map(trackElement(id), element => MovedDragPointer({
|
|
180
194
|
value: valueFromClientX(event.clientX, element, min, max),
|
|
181
|
-
})))), Stream.
|
|
195
|
+
})))), Stream.filter(Option.isSome), Stream.map(option => option.value)), Stream.fromEventListener(document, 'pointerup').pipe(Stream.map(() => ReleasedDragPointer())));
|
|
182
196
|
// NOTE: prevents text selection and locks cursor to grabbing while the
|
|
183
197
|
// user drags the thumb. Matches the approach used in drag-and-drop.
|
|
184
|
-
const documentDragStyles = Stream.
|
|
198
|
+
const documentDragStyles = Stream.callback(() => Effect.acquireRelease(Effect.sync(() => {
|
|
185
199
|
document.documentElement.style.setProperty('user-select', 'none');
|
|
186
200
|
document.documentElement.style.setProperty('-webkit-user-select', 'none');
|
|
187
201
|
const cursorStyle = document.createElement('style');
|
|
188
202
|
cursorStyle.textContent = '* { cursor: grabbing !important; }';
|
|
189
203
|
document.head.appendChild(cursorStyle);
|
|
190
|
-
return
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
});
|
|
196
|
-
return Stream.when(Stream.merge(pointerEvents, documentDragStyles), () => dragActivity === 'Active');
|
|
204
|
+
return cursorStyle;
|
|
205
|
+
}), cursorStyle => Effect.sync(() => {
|
|
206
|
+
document.documentElement.style.removeProperty('user-select');
|
|
207
|
+
document.documentElement.style.removeProperty('-webkit-user-select');
|
|
208
|
+
cursorStyle.remove();
|
|
209
|
+
})).pipe(Effect.flatMap(() => Effect.never)));
|
|
210
|
+
return Stream.when(Stream.merge(pointerEvents, documentDragStyles), Effect.sync(() => dragActivity === 'Active'));
|
|
197
211
|
},
|
|
198
212
|
},
|
|
199
213
|
documentEscape: {
|
|
200
214
|
modelToDependencies: model => ({
|
|
201
215
|
dragActivity: dragActivityFromModel(model),
|
|
202
216
|
}),
|
|
203
|
-
dependenciesToStream: ({ dragActivity }) => Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => key === 'Escape'), Stream.map(() => CancelledDrag())), () => dragActivity === 'Active'),
|
|
217
|
+
dependenciesToStream: ({ dragActivity }) => Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => key === 'Escape'), Stream.map(() => CancelledDrag())), Effect.sync(() => dragActivity === 'Active')),
|
|
204
218
|
},
|
|
205
219
|
});
|
|
206
220
|
// VIEW
|
|
@@ -3,8 +3,8 @@ import type { Command } from '../../command/index.js';
|
|
|
3
3
|
import { type Attribute, type Html } from '../../html/index.js';
|
|
4
4
|
/** Schema for the switch component's state, tracking the toggle's checked status. */
|
|
5
5
|
export declare const Model: S.Struct<{
|
|
6
|
-
id:
|
|
7
|
-
isChecked:
|
|
6
|
+
readonly id: S.String;
|
|
7
|
+
readonly isChecked: S.Boolean;
|
|
8
8
|
}>;
|
|
9
9
|
export type Model = typeof Model.Type;
|
|
10
10
|
/** Sent when the user toggles the switch via click or Space key. */
|
package/dist/ui/tabs/index.d.ts
CHANGED
|
@@ -3,26 +3,26 @@ import * as Command from '../../command/index.js';
|
|
|
3
3
|
import { type Attribute, type Html, type TagName } from '../../html/index.js';
|
|
4
4
|
export { wrapIndex, findFirstEnabledIndex, keyToIndex } from '../keyboard.js';
|
|
5
5
|
/** Controls the tab list layout direction and which arrow keys navigate between tabs. */
|
|
6
|
-
export declare const Orientation: S.
|
|
6
|
+
export declare const Orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
|
|
7
7
|
export type Orientation = typeof Orientation.Type;
|
|
8
8
|
/** Controls whether tabs activate on focus (`Automatic`) or require an explicit selection (`Manual`). */
|
|
9
|
-
export declare const ActivationMode: S.
|
|
9
|
+
export declare const ActivationMode: S.Literals<readonly ["Automatic", "Manual"]>;
|
|
10
10
|
export type ActivationMode = typeof ActivationMode.Type;
|
|
11
11
|
/** Schema for the tabs component's state, tracking active/focused indices and activation mode. */
|
|
12
12
|
export declare const Model: S.Struct<{
|
|
13
|
-
id:
|
|
14
|
-
activeIndex:
|
|
15
|
-
focusedIndex:
|
|
16
|
-
activationMode: S.
|
|
13
|
+
readonly id: S.String;
|
|
14
|
+
readonly activeIndex: S.Number;
|
|
15
|
+
readonly focusedIndex: S.Number;
|
|
16
|
+
readonly activationMode: S.Literals<readonly ["Automatic", "Manual"]>;
|
|
17
17
|
}>;
|
|
18
18
|
export type Model = typeof Model.Type;
|
|
19
19
|
/** Sent when a tab is selected via click or keyboard. Updates both the active and focused indices. */
|
|
20
20
|
export declare const TabSelected: import("../../schema/index.js").CallableTaggedStruct<"TabSelected", {
|
|
21
|
-
index:
|
|
21
|
+
index: S.Number;
|
|
22
22
|
}>;
|
|
23
23
|
/** Sent when a tab receives keyboard focus in `Manual` mode without being activated. */
|
|
24
24
|
export declare const TabFocused: import("../../schema/index.js").CallableTaggedStruct<"TabFocused", {
|
|
25
|
-
index:
|
|
25
|
+
index: S.Number;
|
|
26
26
|
}>;
|
|
27
27
|
/** Sent when the focus-tab command completes. */
|
|
28
28
|
export declare const CompletedFocusTab: import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusTab", {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,IAAI,CAAC,EAGZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,OAAO,EAGb,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI7E,yFAAyF;AACzF,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/tabs/index.js
CHANGED
|
@@ -8,9 +8,9 @@ import { keyToIndex } from '../keyboard.js';
|
|
|
8
8
|
export { wrapIndex, findFirstEnabledIndex, keyToIndex } from '../keyboard.js';
|
|
9
9
|
// MODEL
|
|
10
10
|
/** Controls the tab list layout direction and which arrow keys navigate between tabs. */
|
|
11
|
-
export const Orientation = S.
|
|
11
|
+
export const Orientation = S.Literals(['Horizontal', 'Vertical']);
|
|
12
12
|
/** Controls whether tabs activate on focus (`Automatic`) or require an explicit selection (`Manual`). */
|
|
13
|
-
export const ActivationMode = S.
|
|
13
|
+
export const ActivationMode = S.Literals(['Automatic', 'Manual']);
|
|
14
14
|
/** Schema for the tabs component's state, tracking active/focused indices and activation mode. */
|
|
15
15
|
export const Model = S.Struct({
|
|
16
16
|
id: S.String,
|
|
@@ -26,7 +26,7 @@ export const TabFocused = m('TabFocused', { index: S.Number });
|
|
|
26
26
|
/** Sent when the focus-tab command completes. */
|
|
27
27
|
export const CompletedFocusTab = m('CompletedFocusTab');
|
|
28
28
|
/** Union of all messages the tabs component can produce. */
|
|
29
|
-
export const Message = S.Union(TabSelected, TabFocused, CompletedFocusTab);
|
|
29
|
+
export const Message = S.Union([TabSelected, TabFocused, CompletedFocusTab]);
|
|
30
30
|
/** Creates an initial tabs model from a config. Defaults to first tab and automatic activation. */
|
|
31
31
|
export const init = (config) => {
|
|
32
32
|
const activeIndex = config.activeIndex ?? 0;
|