@foldkit/ui 0.162.0 → 0.163.0-canary.5be04ac25e5a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/anchor/anchor.d.ts.map +1 -1
  2. package/dist/anchor/anchor.js +10 -1
  3. package/dist/animation/update.d.ts.map +1 -1
  4. package/dist/animation/update.js +11 -7
  5. package/dist/calendar/index.d.ts.map +1 -1
  6. package/dist/calendar/index.js +27 -19
  7. package/dist/checkbox/index.d.ts +1 -1
  8. package/dist/checkbox/index.js +1 -1
  9. package/dist/combobox/multi.js +2 -2
  10. package/dist/combobox/shared.js +15 -15
  11. package/dist/combobox/single.js +4 -4
  12. package/dist/datePicker/index.d.ts.map +1 -1
  13. package/dist/datePicker/index.js +10 -10
  14. package/dist/dialog/index.js +9 -9
  15. package/dist/disclosure/index.d.ts +2 -2
  16. package/dist/disclosure/index.js +1 -1
  17. package/dist/dragAndDrop/index.js +14 -14
  18. package/dist/fileDrop/index.d.ts.map +1 -1
  19. package/dist/fileDrop/index.js +7 -5
  20. package/dist/hoverIntent/hoverIntent.d.ts.map +1 -1
  21. package/dist/hoverIntent/hoverIntent.js +16 -16
  22. package/dist/listbox/shared.d.ts.map +1 -1
  23. package/dist/listbox/shared.js +20 -18
  24. package/dist/menu/index.d.ts.map +1 -1
  25. package/dist/menu/index.js +23 -17
  26. package/dist/popover/index.d.ts.map +1 -1
  27. package/dist/popover/index.js +12 -10
  28. package/dist/radioGroup/index.d.ts.map +1 -1
  29. package/dist/radioGroup/index.js +5 -3
  30. package/dist/slider/index.js +6 -6
  31. package/dist/switch/index.d.ts +1 -1
  32. package/dist/switch/index.js +1 -1
  33. package/dist/tabs/index.d.ts.map +1 -1
  34. package/dist/tabs/index.js +5 -3
  35. package/dist/test/apps/disabledButton.d.ts +4 -4
  36. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  37. package/dist/test/apps/disabledButton.js +3 -3
  38. package/dist/toast/index.d.ts +822 -43
  39. package/dist/toast/index.d.ts.map +1 -1
  40. package/dist/toast/index.js +77 -17
  41. package/dist/toast/public.d.ts +2 -2
  42. package/dist/toast/public.d.ts.map +1 -1
  43. package/dist/toast/public.js +1 -1
  44. package/dist/toast/schema.d.ts +145 -2
  45. package/dist/toast/schema.d.ts.map +1 -1
  46. package/dist/toast/schema.js +69 -2
  47. package/dist/toast/swipeTarget.d.ts +5 -0
  48. package/dist/toast/swipeTarget.d.ts.map +1 -0
  49. package/dist/toast/swipeTarget.js +18 -0
  50. package/dist/toast/test.d.ts +1 -1
  51. package/dist/toast/test.js +1 -1
  52. package/dist/toast/update.d.ts +726 -5
  53. package/dist/toast/update.d.ts.map +1 -1
  54. package/dist/toast/update.js +283 -68
  55. package/dist/tooltip/tooltip.d.ts +2 -2
  56. package/dist/tooltip/tooltip.d.ts.map +1 -1
  57. package/dist/tooltip/tooltip.js +14 -12
  58. package/dist/virtualList/index.d.ts.map +1 -1
  59. package/dist/virtualList/index.js +8 -6
  60. package/package.json +7 -7
@@ -1,7 +1,8 @@
1
1
  import { Duration, Effect, Option, Schema } from 'effect';
2
2
  import * as Command from 'foldkit/command';
3
+ import * as Subscription from 'foldkit/subscription';
3
4
  import * as Update from 'foldkit/update';
4
- import { type InitConfig, type Variant } from './schema.js';
5
+ import { type InitConfig, SwipeState, type Variant } from './schema.js';
5
6
  /** Input for `show()`. `payload` is the consumer-defined content shape for an
6
7
  * entry. Omit `duration` to use the container's `defaultDuration`; pass
7
8
  * `sticky: true` to skip auto-dismiss entirely. */
@@ -11,10 +12,8 @@ export type ShowInput<A> = Readonly<{
11
12
  duration?: Duration.Input;
12
13
  sticky?: boolean;
13
14
  }>;
14
- /** Schedules an auto-dismiss timer for an entry. The result Message carries a
15
- * version so stale timers (from hover or manual dismiss) are discarded in
16
- * the update function. Static. The Command definition doesn't depend on
17
- * payload. */
15
+ /** Waits for an entry's auto-dismiss duration, then emits a versioned
16
+ * `CompletedWaitBeforeDismissal` Message so update can ignore stale timers. */
18
17
  export declare const WaitBeforeDismissal: Command.CommandDefinitionWithArgs<"WaitBeforeDismissal", {
19
18
  entryId: Schema.String;
20
19
  version: Schema.Number;
@@ -24,6 +23,20 @@ export declare const WaitBeforeDismissal: Command.CommandDefinitionWithArgs<"Wai
24
23
  readonly entryId: string;
25
24
  readonly version: number;
26
25
  }, never, never>>;
26
+ /** Waits for a short or cancelled swipe to animate back, then emits
27
+ * `CompletedWaitForSwipeSettled` so update can clear `Settling`. */
28
+ export declare const WaitForSwipeSettled: Command.CommandDefinitionWithArgs<"WaitForSwipeSettled", {
29
+ entryId: Schema.String;
30
+ version: Schema.Number;
31
+ }, Effect.Effect<{
32
+ readonly _tag: "CompletedWaitForSwipeSettled";
33
+ readonly entryId: string;
34
+ readonly version: number;
35
+ }, never, never>>;
36
+ /** Horizontal offset in pixels for an entry's swipe state. `Dragging`
37
+ * reports the distance travelled from the press point; `Dismissing` reports
38
+ * the offset the release left behind; `Idle` and `Settling` report zero. */
39
+ export declare const swipeOffset: (swipeState: typeof SwipeState.Type) => number;
27
40
  /** Factory that binds Toast's runtime (update fn, helpers, commands) to a
28
41
  * specific payload schema. Called by `make` in index.ts; inner helpers close
29
42
  * over the payload-specific Entry / Model / Added types so generics don't
@@ -43,6 +56,22 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
43
56
  readonly maybeDuration: Schema.Option<Schema.DurationFromMillis>;
44
57
  readonly pendingDismissVersion: Schema.Number;
45
58
  readonly isHovered: Schema.Boolean;
59
+ readonly swipeState: import("foldkit/schema").TaggedUnion<{
60
+ readonly Idle: {};
61
+ readonly Dragging: {
62
+ pointerId: Schema.Number;
63
+ startX: Schema.Number;
64
+ currentX: Schema.Number;
65
+ };
66
+ readonly Settling: {
67
+ offsetX: Schema.Number;
68
+ };
69
+ readonly Dismissing: {
70
+ offsetX: Schema.Number;
71
+ direction: Schema.Literals<readonly ["Left", "Right"]>;
72
+ };
73
+ }>;
74
+ readonly swipeVersion: Schema.Number;
46
75
  readonly payload: Schema.Codec<A, I, never, never>;
47
76
  }>;
48
77
  readonly Model: Schema.Struct<{
@@ -59,9 +88,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
59
88
  readonly maybeDuration: Schema.Option<Schema.DurationFromMillis>;
60
89
  readonly pendingDismissVersion: Schema.Number;
61
90
  readonly isHovered: Schema.Boolean;
91
+ readonly swipeState: import("foldkit/schema").TaggedUnion<{
92
+ readonly Idle: {};
93
+ readonly Dragging: {
94
+ pointerId: Schema.Number;
95
+ startX: Schema.Number;
96
+ currentX: Schema.Number;
97
+ };
98
+ readonly Settling: {
99
+ offsetX: Schema.Number;
100
+ };
101
+ readonly Dismissing: {
102
+ offsetX: Schema.Number;
103
+ direction: Schema.Literals<readonly ["Left", "Right"]>;
104
+ };
105
+ }>;
106
+ readonly swipeVersion: Schema.Number;
62
107
  readonly payload: Schema.Codec<A, I, never, never>;
63
108
  }>>;
64
109
  readonly nextEntryKey: Schema.Number;
110
+ readonly maybeSwipeConfig: Schema.Option<Schema.Struct<{
111
+ readonly direction: Schema.Literals<readonly ["Left", "Right"]>;
112
+ readonly threshold: Schema.Number;
113
+ }>>;
65
114
  }>;
66
115
  readonly Message: import("foldkit/message").MessageUnion<{
67
116
  readonly Added: {
@@ -76,6 +125,22 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
76
125
  readonly maybeDuration: Schema.Option<Schema.DurationFromMillis>;
77
126
  readonly pendingDismissVersion: Schema.Number;
78
127
  readonly isHovered: Schema.Boolean;
128
+ readonly swipeState: import("foldkit/schema").TaggedUnion<{
129
+ readonly Idle: {};
130
+ readonly Dragging: {
131
+ pointerId: Schema.Number;
132
+ startX: Schema.Number;
133
+ currentX: Schema.Number;
134
+ };
135
+ readonly Settling: {
136
+ offsetX: Schema.Number;
137
+ };
138
+ readonly Dismissing: {
139
+ offsetX: Schema.Number;
140
+ direction: Schema.Literals<readonly ["Left", "Right"]>;
141
+ };
142
+ }>;
143
+ readonly swipeVersion: Schema.Number;
79
144
  readonly payload: Schema.Codec<A, I, never, never>;
80
145
  }>;
81
146
  };
@@ -102,6 +167,27 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
102
167
  readonly EndedAnimation: {};
103
168
  }>;
104
169
  };
170
+ readonly PressedEntryPointer: {
171
+ entryId: Schema.String;
172
+ pointerId: Schema.Number;
173
+ clientX: Schema.Number;
174
+ };
175
+ readonly MovedSwipePointer: {
176
+ pointerId: Schema.Number;
177
+ clientX: Schema.Number;
178
+ };
179
+ readonly ReleasedSwipePointer: {
180
+ pointerId: Schema.Number;
181
+ clientX: Schema.Number;
182
+ };
183
+ readonly CancelledSwipe: {
184
+ pointerId: Schema.Number;
185
+ };
186
+ readonly PressedEscape: {};
187
+ readonly CompletedWaitForSwipeSettled: {
188
+ entryId: Schema.String;
189
+ version: Schema.Number;
190
+ };
105
191
  }>;
106
192
  readonly OutMessage: import("foldkit/message").MessageUnion<{
107
193
  readonly DismissedToast: {
@@ -120,6 +206,22 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
120
206
  readonly maybeDuration: Schema.Option<Schema.DurationFromMillis>;
121
207
  readonly pendingDismissVersion: Schema.Number;
122
208
  readonly isHovered: Schema.Boolean;
209
+ readonly swipeState: import("foldkit/schema").TaggedUnion<{
210
+ readonly Idle: {};
211
+ readonly Dragging: {
212
+ pointerId: Schema.Number;
213
+ startX: Schema.Number;
214
+ currentX: Schema.Number;
215
+ };
216
+ readonly Settling: {
217
+ offsetX: Schema.Number;
218
+ };
219
+ readonly Dismissing: {
220
+ offsetX: Schema.Number;
221
+ direction: Schema.Literals<readonly ["Left", "Right"]>;
222
+ };
223
+ }>;
224
+ readonly swipeVersion: Schema.Number;
123
225
  readonly payload: Schema.Codec<A, I, never, never>;
124
226
  }>;
125
227
  }>;
@@ -140,9 +242,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
140
242
  readonly maybeDuration: Option.Option<Duration.Duration>;
141
243
  readonly pendingDismissVersion: number;
142
244
  readonly isHovered: boolean;
245
+ readonly swipeState: {
246
+ readonly _tag: "Dismissing";
247
+ readonly offsetX: number;
248
+ readonly direction: "Left" | "Right";
249
+ } | {
250
+ readonly _tag: "Dragging";
251
+ readonly pointerId: number;
252
+ readonly startX: number;
253
+ readonly currentX: number;
254
+ } | {
255
+ readonly _tag: "Idle";
256
+ } | {
257
+ readonly _tag: "Settling";
258
+ readonly offsetX: number;
259
+ };
260
+ readonly swipeVersion: number;
143
261
  readonly payload: A;
144
262
  }[];
145
263
  readonly nextEntryKey: number;
264
+ readonly maybeSwipeConfig: Option.Option<{
265
+ readonly direction: "Left" | "Right";
266
+ readonly threshold: number;
267
+ }>;
146
268
  };
147
269
  readonly update: (model: {
148
270
  readonly id: string;
@@ -158,9 +280,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
158
280
  readonly maybeDuration: Option.Option<Duration.Duration>;
159
281
  readonly pendingDismissVersion: number;
160
282
  readonly isHovered: boolean;
283
+ readonly swipeState: {
284
+ readonly _tag: "Dismissing";
285
+ readonly offsetX: number;
286
+ readonly direction: "Left" | "Right";
287
+ } | {
288
+ readonly _tag: "Dragging";
289
+ readonly pointerId: number;
290
+ readonly startX: number;
291
+ readonly currentX: number;
292
+ } | {
293
+ readonly _tag: "Idle";
294
+ } | {
295
+ readonly _tag: "Settling";
296
+ readonly offsetX: number;
297
+ };
298
+ readonly swipeVersion: number;
161
299
  readonly payload: A;
162
300
  }[];
163
301
  readonly nextEntryKey: number;
302
+ readonly maybeSwipeConfig: Option.Option<{
303
+ readonly direction: "Left" | "Right";
304
+ readonly threshold: number;
305
+ }>;
164
306
  }, message: {
165
307
  readonly _tag: "Added";
166
308
  readonly entry: {
@@ -174,12 +316,35 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
174
316
  readonly maybeDuration: Option.Option<Duration.Duration>;
175
317
  readonly pendingDismissVersion: number;
176
318
  readonly isHovered: boolean;
319
+ readonly swipeState: {
320
+ readonly _tag: "Dismissing";
321
+ readonly offsetX: number;
322
+ readonly direction: "Left" | "Right";
323
+ } | {
324
+ readonly _tag: "Dragging";
325
+ readonly pointerId: number;
326
+ readonly startX: number;
327
+ readonly currentX: number;
328
+ } | {
329
+ readonly _tag: "Idle";
330
+ } | {
331
+ readonly _tag: "Settling";
332
+ readonly offsetX: number;
333
+ };
334
+ readonly swipeVersion: number;
177
335
  readonly payload: A;
178
336
  };
337
+ } | {
338
+ readonly _tag: "CancelledSwipe";
339
+ readonly pointerId: number;
179
340
  } | {
180
341
  readonly _tag: "CompletedWaitBeforeDismissal";
181
342
  readonly entryId: string;
182
343
  readonly version: number;
344
+ } | {
345
+ readonly _tag: "CompletedWaitForSwipeSettled";
346
+ readonly entryId: string;
347
+ readonly version: number;
183
348
  } | {
184
349
  readonly _tag: "Dismissed";
185
350
  readonly entryId: string;
@@ -203,6 +368,21 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
203
368
  } | {
204
369
  readonly _tag: "LeftEntry";
205
370
  readonly entryId: string;
371
+ } | {
372
+ readonly _tag: "MovedSwipePointer";
373
+ readonly pointerId: number;
374
+ readonly clientX: number;
375
+ } | {
376
+ readonly _tag: "PressedEntryPointer";
377
+ readonly entryId: string;
378
+ readonly pointerId: number;
379
+ readonly clientX: number;
380
+ } | {
381
+ readonly _tag: "PressedEscape";
382
+ } | {
383
+ readonly _tag: "ReleasedSwipePointer";
384
+ readonly pointerId: number;
385
+ readonly clientX: number;
206
386
  }) => Readonly<{
207
387
  model: {
208
388
  readonly id: string;
@@ -218,9 +398,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
218
398
  readonly maybeDuration: Option.Option<Duration.Duration>;
219
399
  readonly pendingDismissVersion: number;
220
400
  readonly isHovered: boolean;
401
+ readonly swipeState: {
402
+ readonly _tag: "Dismissing";
403
+ readonly offsetX: number;
404
+ readonly direction: "Left" | "Right";
405
+ } | {
406
+ readonly _tag: "Dragging";
407
+ readonly pointerId: number;
408
+ readonly startX: number;
409
+ readonly currentX: number;
410
+ } | {
411
+ readonly _tag: "Idle";
412
+ } | {
413
+ readonly _tag: "Settling";
414
+ readonly offsetX: number;
415
+ };
416
+ readonly swipeVersion: number;
221
417
  readonly payload: A;
222
418
  }[];
223
419
  readonly nextEntryKey: number;
420
+ readonly maybeSwipeConfig: Option.Option<{
421
+ readonly direction: "Left" | "Right";
422
+ readonly threshold: number;
423
+ }>;
224
424
  };
225
425
  commands?: Update.Commands<{
226
426
  readonly _tag: "Added";
@@ -235,12 +435,35 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
235
435
  readonly maybeDuration: Option.Option<Duration.Duration>;
236
436
  readonly pendingDismissVersion: number;
237
437
  readonly isHovered: boolean;
438
+ readonly swipeState: {
439
+ readonly _tag: "Dismissing";
440
+ readonly offsetX: number;
441
+ readonly direction: "Left" | "Right";
442
+ } | {
443
+ readonly _tag: "Dragging";
444
+ readonly pointerId: number;
445
+ readonly startX: number;
446
+ readonly currentX: number;
447
+ } | {
448
+ readonly _tag: "Idle";
449
+ } | {
450
+ readonly _tag: "Settling";
451
+ readonly offsetX: number;
452
+ };
453
+ readonly swipeVersion: number;
238
454
  readonly payload: A;
239
455
  };
456
+ } | {
457
+ readonly _tag: "CancelledSwipe";
458
+ readonly pointerId: number;
240
459
  } | {
241
460
  readonly _tag: "CompletedWaitBeforeDismissal";
242
461
  readonly entryId: string;
243
462
  readonly version: number;
463
+ } | {
464
+ readonly _tag: "CompletedWaitForSwipeSettled";
465
+ readonly entryId: string;
466
+ readonly version: number;
244
467
  } | {
245
468
  readonly _tag: "Dismissed";
246
469
  readonly entryId: string;
@@ -264,6 +487,21 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
264
487
  } | {
265
488
  readonly _tag: "LeftEntry";
266
489
  readonly entryId: string;
490
+ } | {
491
+ readonly _tag: "MovedSwipePointer";
492
+ readonly pointerId: number;
493
+ readonly clientX: number;
494
+ } | {
495
+ readonly _tag: "PressedEntryPointer";
496
+ readonly entryId: string;
497
+ readonly pointerId: number;
498
+ readonly clientX: number;
499
+ } | {
500
+ readonly _tag: "PressedEscape";
501
+ } | {
502
+ readonly _tag: "ReleasedSwipePointer";
503
+ readonly pointerId: number;
504
+ readonly clientX: number;
267
505
  }, never>;
268
506
  outMessage?: {
269
507
  readonly _tag: "DismissedToast";
@@ -284,9 +522,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
284
522
  readonly maybeDuration: Option.Option<Duration.Duration>;
285
523
  readonly pendingDismissVersion: number;
286
524
  readonly isHovered: boolean;
525
+ readonly swipeState: {
526
+ readonly _tag: "Dismissing";
527
+ readonly offsetX: number;
528
+ readonly direction: "Left" | "Right";
529
+ } | {
530
+ readonly _tag: "Dragging";
531
+ readonly pointerId: number;
532
+ readonly startX: number;
533
+ readonly currentX: number;
534
+ } | {
535
+ readonly _tag: "Idle";
536
+ } | {
537
+ readonly _tag: "Settling";
538
+ readonly offsetX: number;
539
+ };
540
+ readonly swipeVersion: number;
287
541
  readonly payload: A;
288
542
  }[];
289
543
  readonly nextEntryKey: number;
544
+ readonly maybeSwipeConfig: Option.Option<{
545
+ readonly direction: "Left" | "Right";
546
+ readonly threshold: number;
547
+ }>;
290
548
  }, input: ShowInput<A>) => Readonly<{
291
549
  model: {
292
550
  readonly id: string;
@@ -302,9 +560,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
302
560
  readonly maybeDuration: Option.Option<Duration.Duration>;
303
561
  readonly pendingDismissVersion: number;
304
562
  readonly isHovered: boolean;
563
+ readonly swipeState: {
564
+ readonly _tag: "Dismissing";
565
+ readonly offsetX: number;
566
+ readonly direction: "Left" | "Right";
567
+ } | {
568
+ readonly _tag: "Dragging";
569
+ readonly pointerId: number;
570
+ readonly startX: number;
571
+ readonly currentX: number;
572
+ } | {
573
+ readonly _tag: "Idle";
574
+ } | {
575
+ readonly _tag: "Settling";
576
+ readonly offsetX: number;
577
+ };
578
+ readonly swipeVersion: number;
305
579
  readonly payload: A;
306
580
  }[];
307
581
  readonly nextEntryKey: number;
582
+ readonly maybeSwipeConfig: Option.Option<{
583
+ readonly direction: "Left" | "Right";
584
+ readonly threshold: number;
585
+ }>;
308
586
  };
309
587
  commands?: Update.Commands<{
310
588
  readonly _tag: "Added";
@@ -319,12 +597,35 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
319
597
  readonly maybeDuration: Option.Option<Duration.Duration>;
320
598
  readonly pendingDismissVersion: number;
321
599
  readonly isHovered: boolean;
600
+ readonly swipeState: {
601
+ readonly _tag: "Dismissing";
602
+ readonly offsetX: number;
603
+ readonly direction: "Left" | "Right";
604
+ } | {
605
+ readonly _tag: "Dragging";
606
+ readonly pointerId: number;
607
+ readonly startX: number;
608
+ readonly currentX: number;
609
+ } | {
610
+ readonly _tag: "Idle";
611
+ } | {
612
+ readonly _tag: "Settling";
613
+ readonly offsetX: number;
614
+ };
615
+ readonly swipeVersion: number;
322
616
  readonly payload: A;
323
617
  };
618
+ } | {
619
+ readonly _tag: "CancelledSwipe";
620
+ readonly pointerId: number;
324
621
  } | {
325
622
  readonly _tag: "CompletedWaitBeforeDismissal";
326
623
  readonly entryId: string;
327
624
  readonly version: number;
625
+ } | {
626
+ readonly _tag: "CompletedWaitForSwipeSettled";
627
+ readonly entryId: string;
628
+ readonly version: number;
328
629
  } | {
329
630
  readonly _tag: "Dismissed";
330
631
  readonly entryId: string;
@@ -348,6 +649,21 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
348
649
  } | {
349
650
  readonly _tag: "LeftEntry";
350
651
  readonly entryId: string;
652
+ } | {
653
+ readonly _tag: "MovedSwipePointer";
654
+ readonly pointerId: number;
655
+ readonly clientX: number;
656
+ } | {
657
+ readonly _tag: "PressedEntryPointer";
658
+ readonly entryId: string;
659
+ readonly pointerId: number;
660
+ readonly clientX: number;
661
+ } | {
662
+ readonly _tag: "PressedEscape";
663
+ } | {
664
+ readonly _tag: "ReleasedSwipePointer";
665
+ readonly pointerId: number;
666
+ readonly clientX: number;
351
667
  }, never>;
352
668
  outMessage?: {
353
669
  readonly _tag: "DismissedToast";
@@ -368,9 +684,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
368
684
  readonly maybeDuration: Option.Option<Duration.Duration>;
369
685
  readonly pendingDismissVersion: number;
370
686
  readonly isHovered: boolean;
687
+ readonly swipeState: {
688
+ readonly _tag: "Dismissing";
689
+ readonly offsetX: number;
690
+ readonly direction: "Left" | "Right";
691
+ } | {
692
+ readonly _tag: "Dragging";
693
+ readonly pointerId: number;
694
+ readonly startX: number;
695
+ readonly currentX: number;
696
+ } | {
697
+ readonly _tag: "Idle";
698
+ } | {
699
+ readonly _tag: "Settling";
700
+ readonly offsetX: number;
701
+ };
702
+ readonly swipeVersion: number;
371
703
  readonly payload: A;
372
704
  }[];
373
705
  readonly nextEntryKey: number;
706
+ readonly maybeSwipeConfig: Option.Option<{
707
+ readonly direction: "Left" | "Right";
708
+ readonly threshold: number;
709
+ }>;
374
710
  }, entryId: string) => Readonly<{
375
711
  model: {
376
712
  readonly id: string;
@@ -386,9 +722,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
386
722
  readonly maybeDuration: Option.Option<Duration.Duration>;
387
723
  readonly pendingDismissVersion: number;
388
724
  readonly isHovered: boolean;
725
+ readonly swipeState: {
726
+ readonly _tag: "Dismissing";
727
+ readonly offsetX: number;
728
+ readonly direction: "Left" | "Right";
729
+ } | {
730
+ readonly _tag: "Dragging";
731
+ readonly pointerId: number;
732
+ readonly startX: number;
733
+ readonly currentX: number;
734
+ } | {
735
+ readonly _tag: "Idle";
736
+ } | {
737
+ readonly _tag: "Settling";
738
+ readonly offsetX: number;
739
+ };
740
+ readonly swipeVersion: number;
389
741
  readonly payload: A;
390
742
  }[];
391
743
  readonly nextEntryKey: number;
744
+ readonly maybeSwipeConfig: Option.Option<{
745
+ readonly direction: "Left" | "Right";
746
+ readonly threshold: number;
747
+ }>;
392
748
  };
393
749
  commands?: Update.Commands<{
394
750
  readonly _tag: "Added";
@@ -403,12 +759,35 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
403
759
  readonly maybeDuration: Option.Option<Duration.Duration>;
404
760
  readonly pendingDismissVersion: number;
405
761
  readonly isHovered: boolean;
762
+ readonly swipeState: {
763
+ readonly _tag: "Dismissing";
764
+ readonly offsetX: number;
765
+ readonly direction: "Left" | "Right";
766
+ } | {
767
+ readonly _tag: "Dragging";
768
+ readonly pointerId: number;
769
+ readonly startX: number;
770
+ readonly currentX: number;
771
+ } | {
772
+ readonly _tag: "Idle";
773
+ } | {
774
+ readonly _tag: "Settling";
775
+ readonly offsetX: number;
776
+ };
777
+ readonly swipeVersion: number;
406
778
  readonly payload: A;
407
779
  };
780
+ } | {
781
+ readonly _tag: "CancelledSwipe";
782
+ readonly pointerId: number;
408
783
  } | {
409
784
  readonly _tag: "CompletedWaitBeforeDismissal";
410
785
  readonly entryId: string;
411
786
  readonly version: number;
787
+ } | {
788
+ readonly _tag: "CompletedWaitForSwipeSettled";
789
+ readonly entryId: string;
790
+ readonly version: number;
412
791
  } | {
413
792
  readonly _tag: "Dismissed";
414
793
  readonly entryId: string;
@@ -432,6 +811,21 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
432
811
  } | {
433
812
  readonly _tag: "LeftEntry";
434
813
  readonly entryId: string;
814
+ } | {
815
+ readonly _tag: "MovedSwipePointer";
816
+ readonly pointerId: number;
817
+ readonly clientX: number;
818
+ } | {
819
+ readonly _tag: "PressedEntryPointer";
820
+ readonly entryId: string;
821
+ readonly pointerId: number;
822
+ readonly clientX: number;
823
+ } | {
824
+ readonly _tag: "PressedEscape";
825
+ } | {
826
+ readonly _tag: "ReleasedSwipePointer";
827
+ readonly pointerId: number;
828
+ readonly clientX: number;
435
829
  }, never>;
436
830
  outMessage?: {
437
831
  readonly _tag: "DismissedToast";
@@ -452,9 +846,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
452
846
  readonly maybeDuration: Option.Option<Duration.Duration>;
453
847
  readonly pendingDismissVersion: number;
454
848
  readonly isHovered: boolean;
849
+ readonly swipeState: {
850
+ readonly _tag: "Dismissing";
851
+ readonly offsetX: number;
852
+ readonly direction: "Left" | "Right";
853
+ } | {
854
+ readonly _tag: "Dragging";
855
+ readonly pointerId: number;
856
+ readonly startX: number;
857
+ readonly currentX: number;
858
+ } | {
859
+ readonly _tag: "Idle";
860
+ } | {
861
+ readonly _tag: "Settling";
862
+ readonly offsetX: number;
863
+ };
864
+ readonly swipeVersion: number;
455
865
  readonly payload: A;
456
866
  }[];
457
867
  readonly nextEntryKey: number;
868
+ readonly maybeSwipeConfig: Option.Option<{
869
+ readonly direction: "Left" | "Right";
870
+ readonly threshold: number;
871
+ }>;
458
872
  }) => Readonly<{
459
873
  model: {
460
874
  readonly id: string;
@@ -470,9 +884,29 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
470
884
  readonly maybeDuration: Option.Option<Duration.Duration>;
471
885
  readonly pendingDismissVersion: number;
472
886
  readonly isHovered: boolean;
887
+ readonly swipeState: {
888
+ readonly _tag: "Dismissing";
889
+ readonly offsetX: number;
890
+ readonly direction: "Left" | "Right";
891
+ } | {
892
+ readonly _tag: "Dragging";
893
+ readonly pointerId: number;
894
+ readonly startX: number;
895
+ readonly currentX: number;
896
+ } | {
897
+ readonly _tag: "Idle";
898
+ } | {
899
+ readonly _tag: "Settling";
900
+ readonly offsetX: number;
901
+ };
902
+ readonly swipeVersion: number;
473
903
  readonly payload: A;
474
904
  }[];
475
905
  readonly nextEntryKey: number;
906
+ readonly maybeSwipeConfig: Option.Option<{
907
+ readonly direction: "Left" | "Right";
908
+ readonly threshold: number;
909
+ }>;
476
910
  };
477
911
  commands?: Update.Commands<{
478
912
  readonly _tag: "Added";
@@ -487,12 +921,35 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
487
921
  readonly maybeDuration: Option.Option<Duration.Duration>;
488
922
  readonly pendingDismissVersion: number;
489
923
  readonly isHovered: boolean;
924
+ readonly swipeState: {
925
+ readonly _tag: "Dismissing";
926
+ readonly offsetX: number;
927
+ readonly direction: "Left" | "Right";
928
+ } | {
929
+ readonly _tag: "Dragging";
930
+ readonly pointerId: number;
931
+ readonly startX: number;
932
+ readonly currentX: number;
933
+ } | {
934
+ readonly _tag: "Idle";
935
+ } | {
936
+ readonly _tag: "Settling";
937
+ readonly offsetX: number;
938
+ };
939
+ readonly swipeVersion: number;
490
940
  readonly payload: A;
491
941
  };
942
+ } | {
943
+ readonly _tag: "CancelledSwipe";
944
+ readonly pointerId: number;
492
945
  } | {
493
946
  readonly _tag: "CompletedWaitBeforeDismissal";
494
947
  readonly entryId: string;
495
948
  readonly version: number;
949
+ } | {
950
+ readonly _tag: "CompletedWaitForSwipeSettled";
951
+ readonly entryId: string;
952
+ readonly version: number;
496
953
  } | {
497
954
  readonly _tag: "Dismissed";
498
955
  readonly entryId: string;
@@ -516,11 +973,275 @@ export declare const makeRuntime: <A, I>(payloadSchema: Schema.Codec<A, I>) => {
516
973
  } | {
517
974
  readonly _tag: "LeftEntry";
518
975
  readonly entryId: string;
976
+ } | {
977
+ readonly _tag: "MovedSwipePointer";
978
+ readonly pointerId: number;
979
+ readonly clientX: number;
980
+ } | {
981
+ readonly _tag: "PressedEntryPointer";
982
+ readonly entryId: string;
983
+ readonly pointerId: number;
984
+ readonly clientX: number;
985
+ } | {
986
+ readonly _tag: "PressedEscape";
987
+ } | {
988
+ readonly _tag: "ReleasedSwipePointer";
989
+ readonly pointerId: number;
990
+ readonly clientX: number;
519
991
  }, never>;
520
992
  outMessage?: {
521
993
  readonly _tag: "DismissedToast";
522
994
  readonly payload: A;
523
995
  };
524
996
  }>;
997
+ readonly subscriptions: {
998
+ readonly swipePointer: Subscription.EntryWithoutKeepAlive<{
999
+ readonly id: string;
1000
+ readonly defaultDuration: Duration.Duration;
1001
+ readonly entries: readonly {
1002
+ readonly id: string;
1003
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
1004
+ readonly animation: {
1005
+ readonly id: string;
1006
+ readonly isShowing: boolean;
1007
+ readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
1008
+ };
1009
+ readonly maybeDuration: Option.Option<Duration.Duration>;
1010
+ readonly pendingDismissVersion: number;
1011
+ readonly isHovered: boolean;
1012
+ readonly swipeState: {
1013
+ readonly _tag: "Dismissing";
1014
+ readonly offsetX: number;
1015
+ readonly direction: "Left" | "Right";
1016
+ } | {
1017
+ readonly _tag: "Dragging";
1018
+ readonly pointerId: number;
1019
+ readonly startX: number;
1020
+ readonly currentX: number;
1021
+ } | {
1022
+ readonly _tag: "Idle";
1023
+ } | {
1024
+ readonly _tag: "Settling";
1025
+ readonly offsetX: number;
1026
+ };
1027
+ readonly swipeVersion: number;
1028
+ readonly payload: A;
1029
+ }[];
1030
+ readonly nextEntryKey: number;
1031
+ readonly maybeSwipeConfig: Option.Option<{
1032
+ readonly direction: "Left" | "Right";
1033
+ readonly threshold: number;
1034
+ }>;
1035
+ }, {
1036
+ readonly _tag: "Added";
1037
+ readonly entry: {
1038
+ readonly id: string;
1039
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
1040
+ readonly animation: {
1041
+ readonly id: string;
1042
+ readonly isShowing: boolean;
1043
+ readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
1044
+ };
1045
+ readonly maybeDuration: Option.Option<Duration.Duration>;
1046
+ readonly pendingDismissVersion: number;
1047
+ readonly isHovered: boolean;
1048
+ readonly swipeState: {
1049
+ readonly _tag: "Dismissing";
1050
+ readonly offsetX: number;
1051
+ readonly direction: "Left" | "Right";
1052
+ } | {
1053
+ readonly _tag: "Dragging";
1054
+ readonly pointerId: number;
1055
+ readonly startX: number;
1056
+ readonly currentX: number;
1057
+ } | {
1058
+ readonly _tag: "Idle";
1059
+ } | {
1060
+ readonly _tag: "Settling";
1061
+ readonly offsetX: number;
1062
+ };
1063
+ readonly swipeVersion: number;
1064
+ readonly payload: A;
1065
+ };
1066
+ } | {
1067
+ readonly _tag: "CancelledSwipe";
1068
+ readonly pointerId: number;
1069
+ } | {
1070
+ readonly _tag: "CompletedWaitBeforeDismissal";
1071
+ readonly entryId: string;
1072
+ readonly version: number;
1073
+ } | {
1074
+ readonly _tag: "CompletedWaitForSwipeSettled";
1075
+ readonly entryId: string;
1076
+ readonly version: number;
1077
+ } | {
1078
+ readonly _tag: "Dismissed";
1079
+ readonly entryId: string;
1080
+ } | {
1081
+ readonly _tag: "DismissedAll";
1082
+ } | {
1083
+ readonly _tag: "GotAnimationMessage";
1084
+ readonly entryId: string;
1085
+ readonly message: {
1086
+ readonly _tag: "CompletedWaitForPaint";
1087
+ } | {
1088
+ readonly _tag: "EndedAnimation";
1089
+ } | {
1090
+ readonly _tag: "Hid";
1091
+ } | {
1092
+ readonly _tag: "Showed";
1093
+ };
1094
+ } | {
1095
+ readonly _tag: "HoveredEntry";
1096
+ readonly entryId: string;
1097
+ } | {
1098
+ readonly _tag: "LeftEntry";
1099
+ readonly entryId: string;
1100
+ } | {
1101
+ readonly _tag: "MovedSwipePointer";
1102
+ readonly pointerId: number;
1103
+ readonly clientX: number;
1104
+ } | {
1105
+ readonly _tag: "PressedEntryPointer";
1106
+ readonly entryId: string;
1107
+ readonly pointerId: number;
1108
+ readonly clientX: number;
1109
+ } | {
1110
+ readonly _tag: "PressedEscape";
1111
+ } | {
1112
+ readonly _tag: "ReleasedSwipePointer";
1113
+ readonly pointerId: number;
1114
+ readonly clientX: number;
1115
+ }, {
1116
+ readonly isSwipeEnabled: boolean;
1117
+ readonly isAnyDragging: boolean;
1118
+ }, never> & {
1119
+ readonly __subscription: never;
1120
+ };
1121
+ readonly swipeEscape: Subscription.EntryWithoutKeepAlive<{
1122
+ readonly id: string;
1123
+ readonly defaultDuration: Duration.Duration;
1124
+ readonly entries: readonly {
1125
+ readonly id: string;
1126
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
1127
+ readonly animation: {
1128
+ readonly id: string;
1129
+ readonly isShowing: boolean;
1130
+ readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
1131
+ };
1132
+ readonly maybeDuration: Option.Option<Duration.Duration>;
1133
+ readonly pendingDismissVersion: number;
1134
+ readonly isHovered: boolean;
1135
+ readonly swipeState: {
1136
+ readonly _tag: "Dismissing";
1137
+ readonly offsetX: number;
1138
+ readonly direction: "Left" | "Right";
1139
+ } | {
1140
+ readonly _tag: "Dragging";
1141
+ readonly pointerId: number;
1142
+ readonly startX: number;
1143
+ readonly currentX: number;
1144
+ } | {
1145
+ readonly _tag: "Idle";
1146
+ } | {
1147
+ readonly _tag: "Settling";
1148
+ readonly offsetX: number;
1149
+ };
1150
+ readonly swipeVersion: number;
1151
+ readonly payload: A;
1152
+ }[];
1153
+ readonly nextEntryKey: number;
1154
+ readonly maybeSwipeConfig: Option.Option<{
1155
+ readonly direction: "Left" | "Right";
1156
+ readonly threshold: number;
1157
+ }>;
1158
+ }, {
1159
+ readonly _tag: "Added";
1160
+ readonly entry: {
1161
+ readonly id: string;
1162
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
1163
+ readonly animation: {
1164
+ readonly id: string;
1165
+ readonly isShowing: boolean;
1166
+ readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
1167
+ };
1168
+ readonly maybeDuration: Option.Option<Duration.Duration>;
1169
+ readonly pendingDismissVersion: number;
1170
+ readonly isHovered: boolean;
1171
+ readonly swipeState: {
1172
+ readonly _tag: "Dismissing";
1173
+ readonly offsetX: number;
1174
+ readonly direction: "Left" | "Right";
1175
+ } | {
1176
+ readonly _tag: "Dragging";
1177
+ readonly pointerId: number;
1178
+ readonly startX: number;
1179
+ readonly currentX: number;
1180
+ } | {
1181
+ readonly _tag: "Idle";
1182
+ } | {
1183
+ readonly _tag: "Settling";
1184
+ readonly offsetX: number;
1185
+ };
1186
+ readonly swipeVersion: number;
1187
+ readonly payload: A;
1188
+ };
1189
+ } | {
1190
+ readonly _tag: "CancelledSwipe";
1191
+ readonly pointerId: number;
1192
+ } | {
1193
+ readonly _tag: "CompletedWaitBeforeDismissal";
1194
+ readonly entryId: string;
1195
+ readonly version: number;
1196
+ } | {
1197
+ readonly _tag: "CompletedWaitForSwipeSettled";
1198
+ readonly entryId: string;
1199
+ readonly version: number;
1200
+ } | {
1201
+ readonly _tag: "Dismissed";
1202
+ readonly entryId: string;
1203
+ } | {
1204
+ readonly _tag: "DismissedAll";
1205
+ } | {
1206
+ readonly _tag: "GotAnimationMessage";
1207
+ readonly entryId: string;
1208
+ readonly message: {
1209
+ readonly _tag: "CompletedWaitForPaint";
1210
+ } | {
1211
+ readonly _tag: "EndedAnimation";
1212
+ } | {
1213
+ readonly _tag: "Hid";
1214
+ } | {
1215
+ readonly _tag: "Showed";
1216
+ };
1217
+ } | {
1218
+ readonly _tag: "HoveredEntry";
1219
+ readonly entryId: string;
1220
+ } | {
1221
+ readonly _tag: "LeftEntry";
1222
+ readonly entryId: string;
1223
+ } | {
1224
+ readonly _tag: "MovedSwipePointer";
1225
+ readonly pointerId: number;
1226
+ readonly clientX: number;
1227
+ } | {
1228
+ readonly _tag: "PressedEntryPointer";
1229
+ readonly entryId: string;
1230
+ readonly pointerId: number;
1231
+ readonly clientX: number;
1232
+ } | {
1233
+ readonly _tag: "PressedEscape";
1234
+ } | {
1235
+ readonly _tag: "ReleasedSwipePointer";
1236
+ readonly pointerId: number;
1237
+ readonly clientX: number;
1238
+ }, {
1239
+ readonly isSwipeEnabled: boolean;
1240
+ readonly isAnyDragging: boolean;
1241
+ }, never> & {
1242
+ readonly __subscription: never;
1243
+ };
1244
+ };
1245
+ readonly swipeOffset: typeof swipeOffset;
525
1246
  };
526
1247
  //# sourceMappingURL=update.d.ts.map