foldkit 0.87.0 → 0.88.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/dist/command/index.d.ts +60 -13
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +41 -16
- package/dist/command/public.d.ts +1 -1
- package/dist/command/public.d.ts.map +1 -1
- package/dist/devTools/overlay.d.ts +44 -20
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +119 -78
- package/dist/devTools/protocol.d.ts +48 -11
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +8 -3
- package/dist/devTools/serialize.d.ts +8 -2
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/serialize.js +11 -2
- package/dist/devTools/store.d.ts +8 -4
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +6 -6
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +2 -2
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +12 -5
- package/dist/test/apps/counter.d.ts +14 -13
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +6 -3
- package/dist/test/apps/formChild.d.ts +4 -17
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +4 -6
- package/dist/test/apps/login.d.ts +3 -6
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +2 -3
- package/dist/test/apps/resumeUpload.d.ts +9 -7
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +4 -6
- package/dist/test/internal.d.ts +58 -13
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/internal.js +121 -39
- package/dist/test/scene.d.ts +14 -3
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +21 -15
- package/dist/test/story.d.ts +15 -5
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +22 -15
- package/dist/ui/animation/update.d.ts +7 -5
- package/dist/ui/animation/update.d.ts.map +1 -1
- package/dist/ui/animation/update.js +6 -8
- package/dist/ui/calendar/index.d.ts +7 -8
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +7 -10
- package/dist/ui/calendar/public.d.ts +1 -1
- package/dist/ui/calendar/public.d.ts.map +1 -1
- package/dist/ui/calendar/public.js +1 -1
- package/dist/ui/combobox/multi.d.ts +1 -0
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/shared.d.ts +32 -17
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +17 -28
- package/dist/ui/combobox/single.d.ts +1 -0
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/dialog/index.d.ts +10 -5
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +11 -10
- package/dist/ui/disclosure/index.d.ts +5 -3
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +3 -3
- package/dist/ui/dragAndDrop/index.d.ts +14 -7
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +19 -8
- package/dist/ui/listbox/multi.d.ts +1 -0
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/shared.d.ts +40 -21
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +21 -34
- package/dist/ui/listbox/single.d.ts +1 -0
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/menu/index.d.ts +40 -22
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +25 -37
- package/dist/ui/popover/index.d.ts +26 -16
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +14 -21
- package/dist/ui/radioGroup/index.d.ts +6 -3
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +5 -10
- package/dist/ui/tabs/index.d.ts +6 -3
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +13 -23
- package/dist/ui/toast/index.d.ts +4 -0
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/update.d.ts +11 -3
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +8 -4
- package/dist/ui/tooltip/index.d.ts +6 -3
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +2 -4
- package/dist/ui/virtualList/index.d.ts +7 -3
- package/dist/ui/virtualList/index.d.ts.map +1 -1
- package/dist/ui/virtualList/index.js +15 -4
- package/package.json +7 -5
package/dist/ui/tabs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Schema as S } from 'effect';
|
|
1
|
+
import { Effect, Schema as S } from 'effect';
|
|
2
2
|
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';
|
|
@@ -44,9 +44,12 @@ export type InitConfig = Readonly<{
|
|
|
44
44
|
/** Creates an initial tabs model from a config. Defaults to first tab and automatic activation. */
|
|
45
45
|
export declare const init: (config: InitConfig) => Model;
|
|
46
46
|
/** Moves focus to the tab at the given index. */
|
|
47
|
-
export declare const FocusTab: Command.
|
|
47
|
+
export declare const FocusTab: Command.CommandDefinitionWithArgs<"FocusTab", {
|
|
48
|
+
id: S.String;
|
|
49
|
+
index: S.Number;
|
|
50
|
+
}, Effect.Effect<{
|
|
48
51
|
readonly _tag: "CompletedFocusTab";
|
|
49
|
-
}
|
|
52
|
+
}, never, never>>;
|
|
50
53
|
/** Processes a tabs message and returns the next model and commands. */
|
|
51
54
|
export declare const update: (model: Model, message: Message) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
|
|
52
55
|
/** Configuration for an individual tab's button and panel content. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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
|
@@ -38,35 +38,25 @@ export const init = (config) => {
|
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
40
|
// UPDATE
|
|
41
|
+
const tabId = (id, index) => `${id}-tab-${index}`;
|
|
41
42
|
/** Moves focus to the tab at the given index. */
|
|
42
|
-
export const FocusTab = Command.define('FocusTab', CompletedFocusTab);
|
|
43
|
+
export const FocusTab = Command.define('FocusTab', { id: S.String, index: S.Number }, CompletedFocusTab)(({ id, index }) => Dom.focus(`#${tabId(id, index)}`).pipe(Effect.ignore, Effect.as(CompletedFocusTab())));
|
|
43
44
|
/** Processes a tabs message and returns the next model and commands. */
|
|
44
45
|
export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
|
|
45
|
-
TabSelected: ({ index }) =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
TabFocused: ({ index }) => {
|
|
58
|
-
const tabSelector = `#${tabId(model.id, index)}`;
|
|
59
|
-
return [
|
|
60
|
-
evo(model, { focusedIndex: () => index }),
|
|
61
|
-
[
|
|
62
|
-
FocusTab(Dom.focus(tabSelector).pipe(Effect.ignore, Effect.as(CompletedFocusTab()))),
|
|
63
|
-
],
|
|
64
|
-
];
|
|
65
|
-
},
|
|
46
|
+
TabSelected: ({ index }) => [
|
|
47
|
+
evo(model, {
|
|
48
|
+
activeIndex: () => index,
|
|
49
|
+
focusedIndex: () => index,
|
|
50
|
+
}),
|
|
51
|
+
[FocusTab({ id: model.id, index })],
|
|
52
|
+
],
|
|
53
|
+
TabFocused: ({ index }) => [
|
|
54
|
+
evo(model, { focusedIndex: () => index }),
|
|
55
|
+
[FocusTab({ id: model.id, index })],
|
|
56
|
+
],
|
|
66
57
|
CompletedFocusTab: () => [model, []],
|
|
67
58
|
}));
|
|
68
59
|
const tabPanelId = (id, index) => `${id}-panel-${index}`;
|
|
69
|
-
const tabId = (id, index) => `${id}-tab-${index}`;
|
|
70
60
|
/** Programmatically selects a tab at the given index, updating the model and returning
|
|
71
61
|
* focus commands. Use this in domain-event handlers when the tab group uses `onTabSelected`. */
|
|
72
62
|
export const selectTab = (model, index) => update(model, TabSelected({ index }));
|
package/dist/ui/toast/index.d.ts
CHANGED
|
@@ -327,6 +327,7 @@ export declare const make: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
327
327
|
readonly nextEntryKey: number;
|
|
328
328
|
}, readonly Readonly<{
|
|
329
329
|
name: string;
|
|
330
|
+
args?: Record<string, unknown>;
|
|
330
331
|
effect: import("effect/Effect").Effect<{
|
|
331
332
|
readonly _tag: "Dismissed";
|
|
332
333
|
readonly entryId: string;
|
|
@@ -412,6 +413,7 @@ export declare const make: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
412
413
|
readonly nextEntryKey: number;
|
|
413
414
|
}, readonly Readonly<{
|
|
414
415
|
name: string;
|
|
416
|
+
args?: Record<string, unknown>;
|
|
415
417
|
effect: import("effect/Effect").Effect<{
|
|
416
418
|
readonly _tag: "Dismissed";
|
|
417
419
|
readonly entryId: string;
|
|
@@ -492,6 +494,7 @@ export declare const make: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
492
494
|
readonly nextEntryKey: number;
|
|
493
495
|
}, readonly Readonly<{
|
|
494
496
|
name: string;
|
|
497
|
+
args?: Record<string, unknown>;
|
|
495
498
|
effect: import("effect/Effect").Effect<{
|
|
496
499
|
readonly _tag: "Dismissed";
|
|
497
500
|
readonly entryId: string;
|
|
@@ -572,6 +575,7 @@ export declare const make: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
572
575
|
readonly nextEntryKey: number;
|
|
573
576
|
}, readonly Readonly<{
|
|
574
577
|
name: string;
|
|
578
|
+
args?: Record<string, unknown>;
|
|
575
579
|
effect: import("effect/Effect").Effect<{
|
|
576
580
|
readonly _tag: "Dismissed";
|
|
577
581
|
readonly entryId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,YAAY,GACb,CAAA;AA0ED;yDACyD;AACzD,MAAM,MAAM,aAAa,CAAC,aAAa,IAAI,QAAQ,CAAC;IAClD,OAAO,EAAE,aAAa,CAAA;CACvB,CAAC,CAAA;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAyBvC,aAAa;;;;;;;;;;;;;;;;;;;kBAlBf,QAAQ;mCAEP,SAAS,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;eAEwB,IAAI;oBAC/D,MAAM;oBACN,MAAM;;yBAED,MAAM;;WAUwC,IAAI;oBA6FvD,aAAa,gBACX,IAAI;;;;;;;;;;;;;;;;;;;kBAhHR,QAAQ;mCAEP,SAAS,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;eAEwB,IAAI;oBAC/D,MAAM;oBACN,MAAM;;yBAED,MAAM;;QA0GrB,OAAO,GAAG,iBAAiB,GAAG,aAAa,CAC5C,KACA,CAAC,CACF,KAAK;;;;;;;;;;;;;;;;;KAA2B,EAChC,eAAe,YApHJ,SAAS,GAAG,YAAY,GAAG,SAAS,kBAoHc,EAC7D,WAAW;;;;;;;;;;;;;;WAnH4D,IAmHlB,KAClD,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,YAAY,GACb,CAAA;AA0ED;yDACyD;AACzD,MAAM,MAAM,aAAa,CAAC,aAAa,IAAI,QAAQ,CAAC;IAClD,OAAO,EAAE,aAAa,CAAA;CACvB,CAAC,CAAA;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAyBvC,aAAa;;;;;;;;;;;;;;;;;;;kBAlBf,QAAQ;mCAEP,SAAS,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;eAEwB,IAAI;oBAC/D,MAAM;oBACN,MAAM;;yBAED,MAAM;;WAUwC,IAAI;oBA6FvD,aAAa,gBACX,IAAI;;;;;;;;;;;;;;;;;;;kBAhHR,QAAQ;mCAEP,SAAS,GAAG,YAAY,GAAG,SAAS;;;;;;;;;;;;;;;eAEwB,IAAI;oBAC/D,MAAM;oBACN,MAAM;;yBAED,MAAM;;QA0GrB,OAAO,GAAG,iBAAiB,GAAG,aAAa,CAC5C,KACA,CAAC,CACF,KAAK;;;;;;;;;;;;;;;;;KAA2B,EAChC,eAAe,YApHJ,SAAS,GAAG,YAAY,GAAG,SAAS,kBAoHc,EAC7D,WAAW;;;;;;;;;;;;;;WAnH4D,IAmHlB,KAClD,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBX,CAAA"}
|
|
@@ -12,13 +12,17 @@ export type ShowInput<A> = Readonly<{
|
|
|
12
12
|
}>;
|
|
13
13
|
/** Schedules an auto-dismiss timer for an entry. The result Message carries a
|
|
14
14
|
* version so stale timers (from hover or manual dismiss) are discarded in
|
|
15
|
-
* the update function. Static
|
|
15
|
+
* the update function. Static. The Command definition doesn't depend on
|
|
16
16
|
* payload. */
|
|
17
|
-
export declare const DismissAfter: Command.
|
|
17
|
+
export declare const DismissAfter: Command.CommandDefinitionWithArgs<"DismissAfter", {
|
|
18
|
+
entryId: S.String;
|
|
19
|
+
version: S.Number;
|
|
20
|
+
duration: S.DurationFromMillis;
|
|
21
|
+
}, Effect.Effect<{
|
|
18
22
|
readonly _tag: "ElapsedDuration";
|
|
19
23
|
readonly version: number;
|
|
20
24
|
readonly entryId: string;
|
|
21
|
-
}
|
|
25
|
+
}, never, never>>;
|
|
22
26
|
/** Factory that binds Toast's runtime (update fn, helpers, commands) to a
|
|
23
27
|
* specific payload schema. Called by `make` in index.ts; inner helpers close
|
|
24
28
|
* over the payload-specific Entry / Model / Added types so generics don't
|
|
@@ -196,6 +200,7 @@ export declare const makeRuntime: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
196
200
|
readonly nextEntryKey: number;
|
|
197
201
|
}, readonly Readonly<{
|
|
198
202
|
name: string;
|
|
203
|
+
args?: Record<string, unknown>;
|
|
199
204
|
effect: Effect.Effect<{
|
|
200
205
|
readonly _tag: "Dismissed";
|
|
201
206
|
readonly entryId: string;
|
|
@@ -276,6 +281,7 @@ export declare const makeRuntime: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
276
281
|
readonly nextEntryKey: number;
|
|
277
282
|
}, readonly Readonly<{
|
|
278
283
|
name: string;
|
|
284
|
+
args?: Record<string, unknown>;
|
|
279
285
|
effect: Effect.Effect<{
|
|
280
286
|
readonly _tag: "Dismissed";
|
|
281
287
|
readonly entryId: string;
|
|
@@ -356,6 +362,7 @@ export declare const makeRuntime: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
356
362
|
readonly nextEntryKey: number;
|
|
357
363
|
}, readonly Readonly<{
|
|
358
364
|
name: string;
|
|
365
|
+
args?: Record<string, unknown>;
|
|
359
366
|
effect: Effect.Effect<{
|
|
360
367
|
readonly _tag: "Dismissed";
|
|
361
368
|
readonly entryId: string;
|
|
@@ -436,6 +443,7 @@ export declare const makeRuntime: <A, I>(payloadSchema: S.Codec<A, I>) => {
|
|
|
436
443
|
readonly nextEntryKey: number;
|
|
437
444
|
}, readonly Readonly<{
|
|
438
445
|
name: string;
|
|
446
|
+
args?: Record<string, unknown>;
|
|
439
447
|
effect: Effect.Effect<{
|
|
440
448
|
readonly _tag: "Dismissed";
|
|
441
449
|
readonly entryId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAGN,MAAM,EACN,MAAM,IAAI,CAAC,EACZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAcjD,OAAO,EAML,KAAK,UAAU,EACf,KAAK,OAAO,EAKb,MAAM,aAAa,CAAA;AAIpB;;oDAEoD;AACpD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClC,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;;eAGe;AACf,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAGN,MAAM,EACN,MAAM,IAAI,CAAC,EACZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAcjD,OAAO,EAML,KAAK,UAAU,EACf,KAAK,OAAO,EAKb,MAAM,aAAa,CAAA;AAIpB;;oDAEoD;AACpD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClC,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;;eAGe;AACf,eAAO,MAAM,YAAY;;;;;;;;iBAUxB,CAAA;AAID;;;;;;4EAM4E;AAC5E,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqItC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmIG,SAAS,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAIP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB/C,CAAA"}
|
package/dist/ui/toast/update.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Array, Duration, Effect, Match as M, Number, Option, } from 'effect';
|
|
1
|
+
import { Array, Duration, Effect, Match as M, Number, Option, Schema as S, } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
3
|
import { OptionExt } from '../../effectExtensions/index.js';
|
|
4
4
|
import { evo } from '../../struct/index.js';
|
|
@@ -7,9 +7,13 @@ import { defaultLeaveCommand as animationDefaultLeaveCommand, update as animatio
|
|
|
7
7
|
import { DEFAULT_DURATION, Dismissed, DismissedAll, ElapsedDuration, GotAnimationMessage, makeAdded, makeEntry, makeMessage, makeModel, } from './schema.js';
|
|
8
8
|
/** Schedules an auto-dismiss timer for an entry. The result Message carries a
|
|
9
9
|
* version so stale timers (from hover or manual dismiss) are discarded in
|
|
10
|
-
* the update function. Static
|
|
10
|
+
* the update function. Static. The Command definition doesn't depend on
|
|
11
11
|
* payload. */
|
|
12
|
-
export const DismissAfter = Command.define('DismissAfter',
|
|
12
|
+
export const DismissAfter = Command.define('DismissAfter', {
|
|
13
|
+
entryId: S.String,
|
|
14
|
+
version: S.Number,
|
|
15
|
+
duration: S.DurationFromMillis,
|
|
16
|
+
}, ElapsedDuration)(({ entryId, version, duration }) => Effect.sleep(duration).pipe(Effect.as(ElapsedDuration({ entryId, version }))));
|
|
13
17
|
const DEFAULT_VARIANT = 'Info';
|
|
14
18
|
/** Factory that binds Toast's runtime (update fn, helpers, commands) to a
|
|
15
19
|
* specific payload schema. Called by `make` in index.ts; inner helpers close
|
|
@@ -34,7 +38,7 @@ export const makeRuntime = (payloadSchema) => {
|
|
|
34
38
|
const { transitionState } = entry.animation;
|
|
35
39
|
return (transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating');
|
|
36
40
|
};
|
|
37
|
-
const scheduleDismiss = (entryId, version, duration) => DismissAfter(
|
|
41
|
+
const scheduleDismiss = (entryId, version, duration) => DismissAfter({ entryId, version, duration });
|
|
38
42
|
const rescheduleDismissCommands = (entry) => {
|
|
39
43
|
if (isEntryLeaving(entry) || entry.isHovered) {
|
|
40
44
|
return [];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Duration, Schema as S } from 'effect';
|
|
1
|
+
import { Duration, Effect, Schema as S } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
3
|
import { type Attribute, type Html } from '../../html/index.js';
|
|
4
4
|
import * as Mount from '../../mount/index.js';
|
|
@@ -68,10 +68,13 @@ export type InitConfig = Readonly<{
|
|
|
68
68
|
export declare const init: (config: InitConfig) => Model;
|
|
69
69
|
type UpdateReturn = readonly [Model, ReadonlyArray<Command.Command<Message>>];
|
|
70
70
|
/** Waits for the tooltip's show delay before emitting `ElapsedShowDelay`. The version is echoed back so a stale timer is ignored when the user leaves before the delay fires. */
|
|
71
|
-
export declare const ShowAfterDelay: Command.
|
|
71
|
+
export declare const ShowAfterDelay: Command.CommandDefinitionWithArgs<"ShowAfterDelay", {
|
|
72
|
+
delay: S.DurationFromMillis;
|
|
73
|
+
version: S.Number;
|
|
74
|
+
}, Effect.Effect<{
|
|
72
75
|
readonly _tag: "ElapsedShowDelay";
|
|
73
76
|
readonly version: number;
|
|
74
|
-
}
|
|
77
|
+
}, never, never>>;
|
|
75
78
|
/** The anchor-positioning Mount this Tooltip renders on its panel. Exposed so
|
|
76
79
|
* Scene tests can call `Scene.Mount.resolve(AnchorTooltip, CompletedAnchorTooltip())`
|
|
77
80
|
* to acknowledge the mount produced by the rendered panel. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tooltip/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/tooltip/index.js
CHANGED
|
@@ -74,7 +74,7 @@ export const init = (config) => ({
|
|
|
74
74
|
});
|
|
75
75
|
const withUpdateReturn = M.withReturnType();
|
|
76
76
|
/** Waits for the tooltip's show delay before emitting `ElapsedShowDelay`. The version is echoed back so a stale timer is ignored when the user leaves before the delay fires. */
|
|
77
|
-
export const ShowAfterDelay = Command.define('ShowAfterDelay', ElapsedShowDelay);
|
|
77
|
+
export const ShowAfterDelay = Command.define('ShowAfterDelay', { delay: S.DurationFromMillis, version: S.Number }, ElapsedShowDelay)(({ delay, version }) => Effect.sleep(delay).pipe(Effect.as(ElapsedShowDelay({ version }))));
|
|
78
78
|
/** The anchor-positioning Mount this Tooltip renders on its panel. Exposed so
|
|
79
79
|
* Scene tests can call `Scene.Mount.resolve(AnchorTooltip, CompletedAnchorTooltip())`
|
|
80
80
|
* to acknowledge the mount produced by the rendered panel. */
|
|
@@ -91,9 +91,7 @@ export const update = (model, message) => M.value(message).pipe(withUpdateReturn
|
|
|
91
91
|
isHovered: () => true,
|
|
92
92
|
pendingShowVersion: () => nextVersion,
|
|
93
93
|
}),
|
|
94
|
-
[
|
|
95
|
-
ShowAfterDelay(Effect.sleep(model.showDelay).pipe(Effect.as(ElapsedShowDelay({ version: nextVersion })))),
|
|
96
|
-
],
|
|
94
|
+
[ShowAfterDelay({ delay: model.showDelay, version: nextVersion })],
|
|
97
95
|
];
|
|
98
96
|
},
|
|
99
97
|
LeftTrigger: () => [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Option, Schema as S } from 'effect';
|
|
1
|
+
import { Effect, Option, Schema as S } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
3
|
import { type Attribute, type Html, type TagName } from '../../html/index.js';
|
|
4
4
|
/** Schema for the virtual list's state. Tracks scroll position, container
|
|
@@ -51,10 +51,14 @@ export type InitConfig = Readonly<{
|
|
|
51
51
|
* in `Unmeasured` state. The first `ResizeObserver` entry transitions it to
|
|
52
52
|
* `Measured`. */
|
|
53
53
|
export declare const init: (config: InitConfig) => Model;
|
|
54
|
-
export declare const ApplyScroll: Command.
|
|
54
|
+
export declare const ApplyScroll: Command.CommandDefinitionWithArgs<"ApplyScroll", {
|
|
55
|
+
id: S.String;
|
|
56
|
+
scrollTop: S.Number;
|
|
57
|
+
version: S.Number;
|
|
58
|
+
}, Effect.Effect<{
|
|
55
59
|
readonly _tag: "CompletedApplyScroll";
|
|
56
60
|
readonly version: number;
|
|
57
|
-
}
|
|
61
|
+
}, never, never>>;
|
|
58
62
|
/** Processes a virtual list message and returns the next model and commands. */
|
|
59
63
|
export declare const update: (model: Model, message: Message) => readonly [Model, ReadonlyArray<Command.Command<Message>>];
|
|
60
64
|
/** Programmatically scrolls the container so the row at `index` is visible.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/virtualList/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/virtualList/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,8 +63,7 @@ export const init = (config) => ({
|
|
|
63
63
|
pendingScrollVersion: 0,
|
|
64
64
|
});
|
|
65
65
|
// UPDATE
|
|
66
|
-
export const ApplyScroll = Command.define('ApplyScroll', CompletedApplyScroll)
|
|
67
|
-
const applyScroll = (id, scrollTop, version) => ApplyScroll(Effect.sync(() => {
|
|
66
|
+
export const ApplyScroll = Command.define('ApplyScroll', { id: S.String, scrollTop: S.Number, version: S.Number }, CompletedApplyScroll)(({ id, scrollTop, version }) => Effect.sync(() => {
|
|
68
67
|
const element = document.getElementById(id);
|
|
69
68
|
if (element !== null) {
|
|
70
69
|
element.scrollTop = scrollTop;
|
|
@@ -91,7 +90,13 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
91
90
|
version: nextVersion,
|
|
92
91
|
}),
|
|
93
92
|
}),
|
|
94
|
-
[
|
|
93
|
+
[
|
|
94
|
+
ApplyScroll({
|
|
95
|
+
id: model.id,
|
|
96
|
+
scrollTop: model.scrollTop,
|
|
97
|
+
version: nextVersion,
|
|
98
|
+
}),
|
|
99
|
+
],
|
|
95
100
|
];
|
|
96
101
|
}
|
|
97
102
|
else {
|
|
@@ -117,7 +122,13 @@ const buildScrollToIndex = (model, index, targetScrollTop) => {
|
|
|
117
122
|
pendingScrollVersion: () => nextVersion,
|
|
118
123
|
pendingScroll: () => ScrollingToIndex({ index, version: nextVersion }),
|
|
119
124
|
}),
|
|
120
|
-
[
|
|
125
|
+
[
|
|
126
|
+
ApplyScroll({
|
|
127
|
+
id: model.id,
|
|
128
|
+
scrollTop: targetScrollTop,
|
|
129
|
+
version: nextVersion,
|
|
130
|
+
}),
|
|
131
|
+
],
|
|
121
132
|
];
|
|
122
133
|
};
|
|
123
134
|
/** Programmatically scrolls the container so the row at `index` is visible.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "foldkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.88.1",
|
|
4
4
|
"description": "A TypeScript frontend framework, built on Effect and architected like Elm",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -203,9 +203,11 @@
|
|
|
203
203
|
"@effect/platform-browser": "4.0.0-beta.59",
|
|
204
204
|
"@effect/vitest": "4.0.0-beta.59",
|
|
205
205
|
"effect": "4.0.0-beta.59",
|
|
206
|
-
"happy-dom": "^20.
|
|
207
|
-
"
|
|
208
|
-
"
|
|
206
|
+
"happy-dom": "^20.9.0",
|
|
207
|
+
"rimraf": "^6.1.3",
|
|
208
|
+
"typedoc": "^0.28.19",
|
|
209
|
+
"typescript": "^6.0.3",
|
|
210
|
+
"vitest": "^4.1.5"
|
|
209
211
|
},
|
|
210
212
|
"keywords": [
|
|
211
213
|
"effect",
|
|
@@ -222,7 +224,7 @@
|
|
|
222
224
|
"directory": "packages/foldkit"
|
|
223
225
|
},
|
|
224
226
|
"dependencies": {
|
|
225
|
-
"@floating-ui/dom": "^1.7.
|
|
227
|
+
"@floating-ui/dom": "^1.7.6",
|
|
226
228
|
"clsx": "^2.1.1",
|
|
227
229
|
"snabbdom": "^3.6.3"
|
|
228
230
|
},
|