foldkit 0.74.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calendar/arithmetic.d.ts +1 -1
- package/dist/calendar/arithmetic.d.ts.map +1 -1
- package/dist/calendar/arithmetic.js +1 -1
- package/dist/calendar/comparison.d.ts +1 -1
- package/dist/calendar/comparison.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +6 -6
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +6 -6
- package/dist/calendar/info.d.ts +1 -1
- package/dist/calendar/info.d.ts.map +1 -1
- package/dist/calendar/info.js +2 -2
- package/dist/calendar/locale.d.ts +1 -1
- package/dist/calendar/locale.d.ts.map +1 -1
- package/dist/calendar/locale.js +1 -1
- package/dist/calendar/public.d.ts +1 -1
- package/dist/calendar/public.d.ts.map +1 -1
- package/dist/calendar/public.js +1 -1
- package/dist/calendar/today.js +1 -1
- package/dist/command/public.d.ts +2 -2
- package/dist/command/public.d.ts.map +1 -1
- package/dist/command/public.js +1 -1
- package/dist/devtools/overlay.d.ts +3 -3
- package/dist/devtools/overlay.d.ts.map +1 -1
- package/dist/devtools/overlay.js +12 -12
- package/dist/effectExtensions/index.d.ts +2 -2
- package/dist/effectExtensions/index.d.ts.map +1 -1
- package/dist/effectExtensions/index.js +2 -2
- package/dist/effectExtensions/stringExtensions.js +1 -1
- package/dist/fieldValidation/index.d.ts +8 -8
- package/dist/fieldValidation/index.js +2 -2
- package/dist/fieldValidation/public.d.ts +2 -2
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/public.js +1 -1
- package/dist/file/index.d.ts +4 -4
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +4 -4
- package/dist/file/public.d.ts +1 -1
- package/dist/file/public.d.ts.map +1 -1
- package/dist/file/public.js +1 -1
- package/dist/file/reader.d.ts +2 -2
- package/dist/file/reader.d.ts.map +1 -1
- package/dist/file/reader.js +1 -1
- package/dist/file/select.d.ts +1 -1
- package/dist/file/select.d.ts.map +1 -1
- package/dist/html/index.d.ts +4 -4
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +3 -3
- package/dist/html/lazy.d.ts +1 -1
- package/dist/html/lazy.d.ts.map +1 -1
- package/dist/html/lazy.js +1 -1
- package/dist/html/public.d.ts +2 -2
- package/dist/html/public.d.ts.map +1 -1
- package/dist/html/public.js +1 -1
- package/dist/index.d.ts +18 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -18
- package/dist/managedResource/public.d.ts +4 -4
- package/dist/managedResource/public.d.ts.map +1 -1
- package/dist/managedResource/public.js +2 -2
- package/dist/message/index.d.ts +1 -1
- package/dist/message/index.d.ts.map +1 -1
- package/dist/message/index.js +1 -1
- package/dist/message/public.d.ts +1 -1
- package/dist/message/public.d.ts.map +1 -1
- package/dist/message/public.js +1 -1
- package/dist/navigation/public.d.ts +1 -1
- package/dist/navigation/public.d.ts.map +1 -1
- package/dist/navigation/public.js +1 -1
- package/dist/route/index.d.ts +2 -2
- package/dist/route/index.d.ts.map +1 -1
- package/dist/route/index.js +2 -2
- package/dist/route/parser.d.ts +1 -1
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/public.d.ts +2 -2
- package/dist/route/public.d.ts.map +1 -1
- package/dist/route/public.js +1 -1
- package/dist/runtime/browserListeners.d.ts +1 -1
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/browserListeners.js +2 -2
- package/dist/runtime/crashUI.d.ts +1 -1
- package/dist/runtime/crashUI.d.ts.map +1 -1
- package/dist/runtime/crashUI.js +1 -1
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -2
- package/dist/runtime/managedResource.d.ts +1 -1
- package/dist/runtime/managedResource.d.ts.map +1 -1
- package/dist/runtime/public.d.ts +4 -4
- package/dist/runtime/public.d.ts.map +1 -1
- package/dist/runtime/public.js +2 -2
- package/dist/runtime/runtime.d.ts +7 -7
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +8 -8
- package/dist/runtime/urlRequest.d.ts +4 -4
- package/dist/runtime/urlRequest.js +2 -2
- package/dist/schema/public.d.ts +2 -2
- package/dist/schema/public.d.ts.map +1 -1
- package/dist/schema/public.js +1 -1
- package/dist/struct/public.d.ts +1 -1
- package/dist/struct/public.d.ts.map +1 -1
- package/dist/struct/public.js +1 -1
- package/dist/subscription/public.d.ts +2 -2
- package/dist/subscription/public.d.ts.map +1 -1
- package/dist/subscription/public.js +1 -1
- package/dist/task/dom.d.ts +1 -1
- package/dist/task/dom.d.ts.map +1 -1
- package/dist/task/dom.js +1 -1
- package/dist/task/index.d.ts +9 -9
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +8 -8
- package/dist/task/public.d.ts +1 -1
- package/dist/task/public.d.ts.map +1 -1
- package/dist/task/public.js +1 -1
- package/dist/task/time.d.ts +1 -1
- package/dist/task/time.d.ts.map +1 -1
- package/dist/task/time.js +1 -1
- package/dist/test/apps/bubbling.d.ts +2 -2
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/bubbling.js +2 -2
- package/dist/test/apps/counter.d.ts +8 -8
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +2 -2
- package/dist/test/apps/disabledButton.d.ts +10 -10
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +4 -4
- 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 +3 -3
- package/dist/test/apps/formChild.d.ts +19 -19
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +2 -2
- 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 +2 -2
- package/dist/test/apps/keypress.d.ts +5 -5
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/keypress.js +2 -2
- package/dist/test/apps/login.d.ts +13 -13
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +3 -3
- package/dist/test/apps/logoutButton.d.ts +6 -6
- 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 +3 -3
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/multiRole.js +2 -2
- package/dist/test/apps/pointer.d.ts +3 -3
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/pointer.js +2 -2
- package/dist/test/apps/resumeUpload.d.ts +11 -11
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +5 -5
- package/dist/test/internal.d.ts +1 -1
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/matchers.d.ts +1 -1
- package/dist/test/matchers.d.ts.map +1 -1
- package/dist/test/matchers.js +1 -1
- package/dist/test/public.d.ts +2 -2
- package/dist/test/public.d.ts.map +1 -1
- package/dist/test/public.js +2 -2
- package/dist/test/query.d.ts +1 -1
- package/dist/test/query.d.ts.map +1 -1
- package/dist/test/query.js +1 -1
- package/dist/test/scene.d.ts +9 -9
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +7 -7
- package/dist/test/story.d.ts +2 -2
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +1 -1
- package/dist/test/vitest-setup.js +1 -1
- package/dist/test/vitest.js +1 -1
- package/dist/ui/animation/index.d.ts +4 -4
- package/dist/ui/animation/index.d.ts.map +1 -1
- package/dist/ui/animation/index.js +3 -3
- package/dist/ui/animation/public.d.ts +2 -2
- package/dist/ui/animation/public.d.ts.map +1 -1
- package/dist/ui/animation/public.js +1 -1
- package/dist/ui/animation/schema.d.ts +7 -7
- package/dist/ui/animation/schema.d.ts.map +1 -1
- package/dist/ui/animation/schema.js +1 -1
- package/dist/ui/animation/update.d.ts +2 -2
- package/dist/ui/animation/update.d.ts.map +1 -1
- package/dist/ui/animation/update.js +4 -4
- package/dist/ui/button/index.d.ts +2 -2
- package/dist/ui/button/index.d.ts.map +1 -1
- package/dist/ui/button/index.js +1 -1
- package/dist/ui/button/public.d.ts +2 -2
- package/dist/ui/button/public.d.ts.map +1 -1
- package/dist/ui/button/public.js +1 -1
- package/dist/ui/calendar/index.d.ts +22 -22
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +7 -7
- package/dist/ui/calendar/public.d.ts +2 -2
- package/dist/ui/calendar/public.d.ts.map +1 -1
- package/dist/ui/calendar/public.js +1 -1
- package/dist/ui/checkbox/index.d.ts +4 -4
- package/dist/ui/checkbox/index.d.ts.map +1 -1
- package/dist/ui/checkbox/index.js +3 -3
- package/dist/ui/checkbox/public.d.ts +2 -2
- package/dist/ui/checkbox/public.d.ts.map +1 -1
- package/dist/ui/checkbox/public.js +1 -1
- package/dist/ui/combobox/multi.d.ts +13 -13
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/multi.js +3 -3
- package/dist/ui/combobox/multiPublic.d.ts +2 -2
- package/dist/ui/combobox/multiPublic.d.ts.map +1 -1
- package/dist/ui/combobox/multiPublic.js +1 -1
- package/dist/ui/combobox/public.d.ts +6 -6
- package/dist/ui/combobox/public.d.ts.map +1 -1
- package/dist/ui/combobox/public.js +3 -3
- package/dist/ui/combobox/shared.d.ts +23 -23
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +11 -11
- package/dist/ui/combobox/single.d.ts +13 -13
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/combobox/single.js +3 -3
- package/dist/ui/datePicker/index.d.ts +23 -23
- package/dist/ui/datePicker/index.d.ts.map +1 -1
- package/dist/ui/datePicker/index.js +7 -7
- package/dist/ui/datePicker/public.d.ts +2 -2
- package/dist/ui/datePicker/public.d.ts.map +1 -1
- package/dist/ui/datePicker/public.js +1 -1
- 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 +7 -7
- package/dist/ui/dialog/public.d.ts +2 -2
- package/dist/ui/dialog/public.d.ts.map +1 -1
- package/dist/ui/dialog/public.js +1 -1
- package/dist/ui/disclosure/index.d.ts +5 -5
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +5 -5
- package/dist/ui/disclosure/public.d.ts +2 -2
- package/dist/ui/disclosure/public.d.ts.map +1 -1
- package/dist/ui/disclosure/public.js +1 -1
- package/dist/ui/dragAndDrop/index.d.ts +20 -20
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +7 -7
- package/dist/ui/dragAndDrop/public.d.ts +2 -2
- package/dist/ui/dragAndDrop/public.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/public.js +1 -1
- package/dist/ui/fieldset/index.d.ts +2 -2
- package/dist/ui/fieldset/index.d.ts.map +1 -1
- package/dist/ui/fieldset/index.js +1 -1
- package/dist/ui/fieldset/public.d.ts +2 -2
- package/dist/ui/fieldset/public.d.ts.map +1 -1
- package/dist/ui/fieldset/public.js +1 -1
- package/dist/ui/fileDrop/index.d.ts +11 -11
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +4 -4
- package/dist/ui/fileDrop/public.d.ts +2 -2
- package/dist/ui/fileDrop/public.d.ts.map +1 -1
- package/dist/ui/fileDrop/public.js +1 -1
- package/dist/ui/index.d.ts +24 -23
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +24 -23
- package/dist/ui/input/index.d.ts +2 -2
- package/dist/ui/input/index.d.ts.map +1 -1
- package/dist/ui/input/index.js +1 -1
- package/dist/ui/input/public.d.ts +2 -2
- package/dist/ui/input/public.d.ts.map +1 -1
- package/dist/ui/input/public.js +1 -1
- package/dist/ui/listbox/multi.d.ts +11 -11
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/multi.js +3 -3
- package/dist/ui/listbox/multiPublic.d.ts +2 -2
- package/dist/ui/listbox/multiPublic.d.ts.map +1 -1
- package/dist/ui/listbox/multiPublic.js +1 -1
- package/dist/ui/listbox/public.d.ts +6 -6
- package/dist/ui/listbox/public.d.ts.map +1 -1
- package/dist/ui/listbox/public.js +3 -3
- package/dist/ui/listbox/shared.d.ts +27 -27
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +12 -12
- package/dist/ui/listbox/single.d.ts +11 -11
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/listbox/single.js +3 -3
- package/dist/ui/menu/index.d.ts +30 -30
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +12 -12
- package/dist/ui/menu/public.d.ts +3 -3
- package/dist/ui/menu/public.d.ts.map +1 -1
- package/dist/ui/menu/public.js +1 -1
- package/dist/ui/popover/index.d.ts +17 -17
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +9 -9
- package/dist/ui/popover/public.d.ts +3 -3
- package/dist/ui/popover/public.d.ts.map +1 -1
- package/dist/ui/popover/public.js +1 -1
- package/dist/ui/radioGroup/index.d.ts +4 -4
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +6 -6
- package/dist/ui/radioGroup/public.d.ts +2 -2
- package/dist/ui/radioGroup/public.d.ts.map +1 -1
- package/dist/ui/radioGroup/public.js +1 -1
- package/dist/ui/select/index.d.ts +2 -2
- package/dist/ui/select/index.d.ts.map +1 -1
- package/dist/ui/select/index.js +1 -1
- package/dist/ui/select/public.d.ts +2 -2
- package/dist/ui/select/public.d.ts.map +1 -1
- package/dist/ui/select/public.js +1 -1
- package/dist/ui/slider/index.d.ts +12 -12
- package/dist/ui/slider/index.d.ts.map +1 -1
- package/dist/ui/slider/index.js +5 -5
- package/dist/ui/slider/public.d.ts +2 -2
- package/dist/ui/slider/public.d.ts.map +1 -1
- package/dist/ui/slider/public.js +1 -1
- package/dist/ui/switch/index.d.ts +4 -4
- package/dist/ui/switch/index.d.ts.map +1 -1
- package/dist/ui/switch/index.js +3 -3
- package/dist/ui/switch/public.d.ts +2 -2
- package/dist/ui/switch/public.d.ts.map +1 -1
- package/dist/ui/switch/public.js +1 -1
- package/dist/ui/tabs/index.d.ts +6 -6
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +7 -7
- package/dist/ui/tabs/public.d.ts +2 -2
- package/dist/ui/tabs/public.d.ts.map +1 -1
- package/dist/ui/tabs/public.js +1 -1
- package/dist/ui/textarea/index.d.ts +2 -2
- package/dist/ui/textarea/index.d.ts.map +1 -1
- package/dist/ui/textarea/index.js +1 -1
- package/dist/ui/textarea/public.d.ts +2 -2
- package/dist/ui/textarea/public.d.ts.map +1 -1
- package/dist/ui/textarea/public.js +1 -1
- package/dist/ui/toast/index.d.ts +13 -13
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/index.js +3 -3
- package/dist/ui/toast/public.d.ts +3 -3
- package/dist/ui/toast/public.d.ts.map +1 -1
- package/dist/ui/toast/public.js +1 -1
- package/dist/ui/toast/schema.d.ts +15 -15
- package/dist/ui/toast/schema.d.ts.map +1 -1
- package/dist/ui/toast/schema.js +2 -2
- package/dist/ui/toast/update.d.ts +10 -10
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +7 -7
- package/dist/ui/tooltip/index.d.ts +11 -11
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +7 -7
- package/dist/ui/tooltip/public.d.ts +3 -3
- package/dist/ui/tooltip/public.d.ts.map +1 -1
- package/dist/ui/tooltip/public.js +1 -1
- package/dist/ui/typeahead.js +1 -1
- package/dist/ui/virtualList/index.d.ts +179 -0
- package/dist/ui/virtualList/index.d.ts.map +1 -0
- package/dist/ui/virtualList/index.js +318 -0
- package/dist/ui/virtualList/public.d.ts +3 -0
- package/dist/ui/virtualList/public.d.ts.map +1 -0
- package/dist/ui/virtualList/public.js +1 -0
- package/dist/url/index.js +1 -1
- package/dist/url/public.d.ts +1 -1
- package/dist/url/public.d.ts.map +1 -1
- package/dist/url/public.js +1 -1
- package/dist/vdom.js +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/virtualList/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import { Array, Effect, Match as M, Number, Option, Schema as S, Stream, } from 'effect';
|
|
2
|
+
import * as Command from '../../command/index.js';
|
|
3
|
+
import { createLazy, html, } from '../../html/index.js';
|
|
4
|
+
import { m } from '../../message/index.js';
|
|
5
|
+
import { makeSubscriptions } from '../../runtime/subscription.js';
|
|
6
|
+
import { ts } from '../../schema/index.js';
|
|
7
|
+
import { evo } from '../../struct/index.js';
|
|
8
|
+
// MODEL
|
|
9
|
+
const Unmeasured = ts('Unmeasured');
|
|
10
|
+
const Measured = ts('Measured', { containerHeight: S.Number });
|
|
11
|
+
/** Measurement state of the virtual list's scrollable container.
|
|
12
|
+
*
|
|
13
|
+
* Before the container's `ResizeObserver` fires for the first time we don't
|
|
14
|
+
* know its height and cannot compute a visible slice. The view must handle
|
|
15
|
+
* `Unmeasured` explicitly, typically by rendering a placeholder until the
|
|
16
|
+
* first measurement arrives.
|
|
17
|
+
*/
|
|
18
|
+
const Measurement = S.Union(Unmeasured, Measured);
|
|
19
|
+
const Idle = ts('Idle');
|
|
20
|
+
const ScrollingToIndex = ts('ScrollingToIndex', {
|
|
21
|
+
index: S.Number,
|
|
22
|
+
version: S.Number,
|
|
23
|
+
});
|
|
24
|
+
/** State of a programmatic scroll initiated by `scrollToIndex`. */
|
|
25
|
+
const PendingScroll = S.Union(Idle, ScrollingToIndex);
|
|
26
|
+
/** Schema for the virtual list's state. Tracks scroll position, container
|
|
27
|
+
* measurement, and any in-flight programmatic scroll. */
|
|
28
|
+
export const Model = S.Struct({
|
|
29
|
+
id: S.String,
|
|
30
|
+
rowHeightPx: S.Number,
|
|
31
|
+
scrollTop: S.Number,
|
|
32
|
+
measurement: Measurement,
|
|
33
|
+
pendingScroll: PendingScroll,
|
|
34
|
+
pendingScrollVersion: S.Number,
|
|
35
|
+
});
|
|
36
|
+
// MESSAGE
|
|
37
|
+
/** Sent when the user scrolls the container. Carries the new scroll position
|
|
38
|
+
* read from the scroll event. */
|
|
39
|
+
export const ScrolledContainer = m('ScrolledContainer', {
|
|
40
|
+
scrollTop: S.Number,
|
|
41
|
+
});
|
|
42
|
+
/** Sent when the container resizes. Carries the new container height read
|
|
43
|
+
* from the `ResizeObserver` entry. */
|
|
44
|
+
export const MeasuredContainer = m('MeasuredContainer', {
|
|
45
|
+
containerHeight: S.Number,
|
|
46
|
+
});
|
|
47
|
+
/** Sent when a `scrollToIndex` Command completes. Carries the version it was
|
|
48
|
+
* issued with so the update can ignore stale completions. */
|
|
49
|
+
export const CompletedApplyScroll = m('CompletedApplyScroll', {
|
|
50
|
+
version: S.Number,
|
|
51
|
+
});
|
|
52
|
+
/** Union of all messages the virtual list component can produce. */
|
|
53
|
+
export const Message = S.Union(ScrolledContainer, MeasuredContainer, CompletedApplyScroll);
|
|
54
|
+
/** Creates an initial virtual list model from a config. The container starts
|
|
55
|
+
* in `Unmeasured` state. The first `ResizeObserver` entry transitions it to
|
|
56
|
+
* `Measured`. */
|
|
57
|
+
export const init = (config) => ({
|
|
58
|
+
id: config.id,
|
|
59
|
+
rowHeightPx: config.rowHeightPx,
|
|
60
|
+
scrollTop: config.initialScrollTop ?? 0,
|
|
61
|
+
measurement: Unmeasured(),
|
|
62
|
+
pendingScroll: Idle(),
|
|
63
|
+
pendingScrollVersion: 0,
|
|
64
|
+
});
|
|
65
|
+
// UPDATE
|
|
66
|
+
export const ApplyScroll = Command.define('ApplyScroll', CompletedApplyScroll);
|
|
67
|
+
const applyScroll = (id, scrollTop, version) => ApplyScroll(Effect.sync(() => {
|
|
68
|
+
const element = document.getElementById(id);
|
|
69
|
+
if (element !== null) {
|
|
70
|
+
element.scrollTop = scrollTop;
|
|
71
|
+
}
|
|
72
|
+
return CompletedApplyScroll({ version });
|
|
73
|
+
}));
|
|
74
|
+
/** Processes a virtual list message and returns the next model and commands. */
|
|
75
|
+
export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
|
|
76
|
+
ScrolledContainer: ({ scrollTop }) => [
|
|
77
|
+
evo(model, { scrollTop: () => scrollTop }),
|
|
78
|
+
[],
|
|
79
|
+
],
|
|
80
|
+
MeasuredContainer: ({ containerHeight }) => {
|
|
81
|
+
const wasUnmeasured = model.measurement._tag === 'Unmeasured';
|
|
82
|
+
const needsInitialApply = wasUnmeasured && model.scrollTop !== 0;
|
|
83
|
+
if (needsInitialApply) {
|
|
84
|
+
const nextVersion = Number.increment(model.pendingScrollVersion);
|
|
85
|
+
return [
|
|
86
|
+
evo(model, {
|
|
87
|
+
measurement: () => Measured({ containerHeight }),
|
|
88
|
+
pendingScrollVersion: () => nextVersion,
|
|
89
|
+
pendingScroll: () => ScrollingToIndex({
|
|
90
|
+
index: Math.floor(model.scrollTop / model.rowHeightPx),
|
|
91
|
+
version: nextVersion,
|
|
92
|
+
}),
|
|
93
|
+
}),
|
|
94
|
+
[applyScroll(model.id, model.scrollTop, nextVersion)],
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return [
|
|
99
|
+
evo(model, { measurement: () => Measured({ containerHeight }) }),
|
|
100
|
+
[],
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
CompletedApplyScroll: ({ version }) => {
|
|
105
|
+
if (version !== model.pendingScrollVersion) {
|
|
106
|
+
return [model, []];
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return [evo(model, { pendingScroll: () => Idle() }), []];
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
/** Programmatically scrolls the container so the row at `index` is visible.
|
|
114
|
+
* Returns the next model and a Command that mutates `element.scrollTop`. The
|
|
115
|
+
* natural scroll event then flows back through `ScrolledContainer` and the
|
|
116
|
+
* component re-renders the new visible slice.
|
|
117
|
+
*
|
|
118
|
+
* Uses version-based cancellation: each call increments
|
|
119
|
+
* `pendingScrollVersion` so a stale `CompletedApplyScroll` (e.g. from a
|
|
120
|
+
* previous in-flight scroll) is ignored when its version no longer matches.
|
|
121
|
+
*
|
|
122
|
+
* Should be called after the container has rendered. If the container is not
|
|
123
|
+
* yet in the DOM the Command silently no-ops (the model still transitions
|
|
124
|
+
* through `ScrollingToIndex` → `Idle` via the version-matched completion). */
|
|
125
|
+
export const scrollToIndex = (model, index) => {
|
|
126
|
+
const nextVersion = Number.increment(model.pendingScrollVersion);
|
|
127
|
+
const targetScrollTop = index * model.rowHeightPx;
|
|
128
|
+
return [
|
|
129
|
+
evo(model, {
|
|
130
|
+
pendingScrollVersion: () => nextVersion,
|
|
131
|
+
pendingScroll: () => ScrollingToIndex({ index, version: nextVersion }),
|
|
132
|
+
}),
|
|
133
|
+
[applyScroll(model.id, targetScrollTop, nextVersion)],
|
|
134
|
+
];
|
|
135
|
+
};
|
|
136
|
+
const clampIndex = (index, itemCount) => Math.max(0, Math.min(index, itemCount));
|
|
137
|
+
/** Computes the visible slice of a data array given the current scroll
|
|
138
|
+
* position, container height, row height, and an overscan buffer.
|
|
139
|
+
*
|
|
140
|
+
* Returns `Option.none()` when the container has not yet been measured;
|
|
141
|
+
* callers should render a placeholder (or `Html.empty`) and wait for the
|
|
142
|
+
* first `MeasuredContainer` message. */
|
|
143
|
+
export const visibleWindow = (model, itemCount, overscan) => M.value(model.measurement).pipe(M.withReturnType(), M.tagsExhaustive({
|
|
144
|
+
Unmeasured: () => Option.none(),
|
|
145
|
+
Measured: ({ containerHeight }) => {
|
|
146
|
+
const firstVisibleIndex = Math.floor(model.scrollTop / model.rowHeightPx);
|
|
147
|
+
const lastVisibleIndex = Math.ceil((model.scrollTop + containerHeight) / model.rowHeightPx);
|
|
148
|
+
const startIndex = clampIndex(firstVisibleIndex - overscan, itemCount);
|
|
149
|
+
const endIndex = clampIndex(lastVisibleIndex + overscan, itemCount);
|
|
150
|
+
const topSpacerHeight = startIndex * model.rowHeightPx;
|
|
151
|
+
const bottomSpacerHeight = (itemCount - endIndex) * model.rowHeightPx;
|
|
152
|
+
return Option.some({
|
|
153
|
+
startIndex,
|
|
154
|
+
endIndex,
|
|
155
|
+
topSpacerHeight,
|
|
156
|
+
bottomSpacerHeight,
|
|
157
|
+
});
|
|
158
|
+
},
|
|
159
|
+
}));
|
|
160
|
+
// SUBSCRIPTION
|
|
161
|
+
const containerElement = (id) => Option.fromNullable(document.getElementById(id));
|
|
162
|
+
/** Schema describing the subscription dependencies for container scroll and
|
|
163
|
+
* resize tracking. */
|
|
164
|
+
export const SubscriptionDeps = S.Struct({
|
|
165
|
+
containerEvents: S.Struct({
|
|
166
|
+
id: S.String,
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
169
|
+
/** Subscriptions that track the container's scroll position and size.
|
|
170
|
+
*
|
|
171
|
+
* - **scroll**: listens for `scroll` events on the container element and
|
|
172
|
+
* emits `ScrolledContainer` with the new `scrollTop`.
|
|
173
|
+
* - **resize**: observes the container with `ResizeObserver` and emits
|
|
174
|
+
* `MeasuredContainer` with the new height.
|
|
175
|
+
*
|
|
176
|
+
* A `MutationObserver` watches the document for the container element
|
|
177
|
+
* appearing and disappearing, so the listeners attach the moment the
|
|
178
|
+
* element is inserted into the DOM and clean up when it is removed. This
|
|
179
|
+
* makes the subscription robust across SPA route changes: navigating to a
|
|
180
|
+
* page that mounts the list, away, and back all reattach correctly without
|
|
181
|
+
* the consumer having to teach the framework about navigation. */
|
|
182
|
+
export const subscriptions = makeSubscriptions(SubscriptionDeps)({
|
|
183
|
+
containerEvents: {
|
|
184
|
+
modelToDependencies: model => ({ id: model.id }),
|
|
185
|
+
dependenciesToStream: ({ id }) => Stream.async(emit => {
|
|
186
|
+
let scrollListener = null;
|
|
187
|
+
let resizeObserver = null;
|
|
188
|
+
let observedElement = null;
|
|
189
|
+
let pendingFrame = null;
|
|
190
|
+
const detach = () => {
|
|
191
|
+
if (resizeObserver !== null) {
|
|
192
|
+
resizeObserver.disconnect();
|
|
193
|
+
resizeObserver = null;
|
|
194
|
+
}
|
|
195
|
+
if (observedElement !== null && scrollListener !== null) {
|
|
196
|
+
observedElement.removeEventListener('scroll', scrollListener);
|
|
197
|
+
}
|
|
198
|
+
observedElement = null;
|
|
199
|
+
scrollListener = null;
|
|
200
|
+
};
|
|
201
|
+
const attach = (element) => {
|
|
202
|
+
const listener = () => emit.single(ScrolledContainer({ scrollTop: element.scrollTop }));
|
|
203
|
+
element.addEventListener('scroll', listener, { passive: true });
|
|
204
|
+
scrollListener = listener;
|
|
205
|
+
observedElement = element;
|
|
206
|
+
resizeObserver = new ResizeObserver(entries => {
|
|
207
|
+
const lastEntry = Array.last(entries);
|
|
208
|
+
if (Option.isSome(lastEntry)) {
|
|
209
|
+
emit.single(MeasuredContainer({
|
|
210
|
+
containerHeight: lastEntry.value.contentRect.height,
|
|
211
|
+
}));
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
resizeObserver.observe(element);
|
|
215
|
+
};
|
|
216
|
+
const reconcile = () => {
|
|
217
|
+
const maybeElement = containerElement(id);
|
|
218
|
+
if (Option.isNone(maybeElement)) {
|
|
219
|
+
if (observedElement !== null) {
|
|
220
|
+
detach();
|
|
221
|
+
}
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (observedElement === maybeElement.value) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
detach();
|
|
228
|
+
attach(maybeElement.value);
|
|
229
|
+
};
|
|
230
|
+
reconcile();
|
|
231
|
+
// NOTE: observes the entire document subtree because the container
|
|
232
|
+
// can be inserted/removed by any parent the consumer chooses (route
|
|
233
|
+
// changes, conditional renders, modal mounts), and the framework has
|
|
234
|
+
// no way to know that hierarchy in advance. Reconcile is gated by rAF
|
|
235
|
+
// and short-circuits when the cached observedElement is still in the
|
|
236
|
+
// DOM, so per-mutation cost stays low even with subtree: true.
|
|
237
|
+
const mutationObserver = new MutationObserver(() => {
|
|
238
|
+
if (pendingFrame !== null) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
pendingFrame = requestAnimationFrame(() => {
|
|
242
|
+
pendingFrame = null;
|
|
243
|
+
reconcile();
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
mutationObserver.observe(document.body, {
|
|
247
|
+
childList: true,
|
|
248
|
+
subtree: true,
|
|
249
|
+
});
|
|
250
|
+
return Effect.sync(() => {
|
|
251
|
+
mutationObserver.disconnect();
|
|
252
|
+
if (pendingFrame !== null) {
|
|
253
|
+
cancelAnimationFrame(pendingFrame);
|
|
254
|
+
}
|
|
255
|
+
detach();
|
|
256
|
+
});
|
|
257
|
+
}),
|
|
258
|
+
},
|
|
259
|
+
});
|
|
260
|
+
// VIEW
|
|
261
|
+
const DEFAULT_OVERSCAN = 5;
|
|
262
|
+
/** Renders a virtualized list. Only items inside the viewport (plus an
|
|
263
|
+
* overscan buffer) are mounted; spacer divs above and below the slice keep
|
|
264
|
+
* the scrollbar's apparent total height correct.
|
|
265
|
+
*
|
|
266
|
+
* Items must be keyed via `itemToKey` so the VDOM matches `row 150` to
|
|
267
|
+
* `row 150` after the slice shifts during scroll, rather than matching by
|
|
268
|
+
* position and producing stale DOM.
|
|
269
|
+
*
|
|
270
|
+
* Each row wrapper is rendered with `display: grid` so the consumer's
|
|
271
|
+
* `itemToView` content fills the configured `rowHeightPx` and the full row
|
|
272
|
+
* width. Use flex/grid with `align-items: center` inside `itemToView` to
|
|
273
|
+
* vertically center content within the row. */
|
|
274
|
+
export const view = (config) => {
|
|
275
|
+
const { Class, DataAttribute, Id, Role, Style, keyed } = html();
|
|
276
|
+
const { model, items, itemToKey, itemToView, overscan = DEFAULT_OVERSCAN, rowElement = 'li', className, attributes = [], } = config;
|
|
277
|
+
const containerAttributes = [
|
|
278
|
+
Id(model.id),
|
|
279
|
+
Role('list'),
|
|
280
|
+
DataAttribute('virtual-list-id', model.id),
|
|
281
|
+
Style({
|
|
282
|
+
overflow: 'auto',
|
|
283
|
+
'list-style': 'none',
|
|
284
|
+
margin: '0',
|
|
285
|
+
padding: '0',
|
|
286
|
+
}),
|
|
287
|
+
...(className !== undefined ? [Class(className)] : []),
|
|
288
|
+
...attributes,
|
|
289
|
+
];
|
|
290
|
+
const renderContainer = (children) => keyed('ul')(model.id, containerAttributes, children);
|
|
291
|
+
return Option.match(visibleWindow(model, items.length, overscan), {
|
|
292
|
+
onNone: () => renderContainer([]),
|
|
293
|
+
onSome: ({ startIndex, endIndex, topSpacerHeight, bottomSpacerHeight }) => {
|
|
294
|
+
const visibleItems = items.slice(startIndex, endIndex);
|
|
295
|
+
const topSpacer = keyed('li')(`${model.id}-top-spacer`, [Role('presentation'), Style({ height: `${topSpacerHeight}px` })], []);
|
|
296
|
+
const bottomSpacer = keyed('li')(`${model.id}-bottom-spacer`, [Role('presentation'), Style({ height: `${bottomSpacerHeight}px` })], []);
|
|
297
|
+
const renderedRows = Array.map(visibleItems, (item, sliceIndex) => {
|
|
298
|
+
const dataIndex = startIndex + sliceIndex;
|
|
299
|
+
return keyed(rowElement)(itemToKey(item, dataIndex), [
|
|
300
|
+
DataAttribute('virtual-list-item-index', String(dataIndex)),
|
|
301
|
+
Style({ height: `${model.rowHeightPx}px`, display: 'grid' }),
|
|
302
|
+
], [itemToView(item, dataIndex)]);
|
|
303
|
+
});
|
|
304
|
+
return renderContainer([topSpacer, ...renderedRows, bottomSpacer]);
|
|
305
|
+
},
|
|
306
|
+
});
|
|
307
|
+
};
|
|
308
|
+
/** Creates a memoized virtual list view. Static config is captured in a
|
|
309
|
+
* closure; only `model` and `items` are compared per render via
|
|
310
|
+
* `createLazy`. */
|
|
311
|
+
export const lazy = (staticConfig) => {
|
|
312
|
+
const lazyView = createLazy();
|
|
313
|
+
return (model, items) => lazyView((currentModel, currentItems) => view({
|
|
314
|
+
...staticConfig,
|
|
315
|
+
model: currentModel,
|
|
316
|
+
items: currentItems,
|
|
317
|
+
}), [model, items]);
|
|
318
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { init, update, scrollToIndex, view, lazy, subscriptions, visibleWindow, Model, Message, ScrolledContainer, MeasuredContainer, CompletedApplyScroll, SubscriptionDeps, } from './index.js';
|
|
2
|
+
export type { InitConfig, ViewConfig, VisibleWindow } from './index.js';
|
|
3
|
+
//# sourceMappingURL=public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/virtualList/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { init, update, scrollToIndex, view, lazy, subscriptions, visibleWindow, Model, Message, ScrolledContainer, MeasuredContainer, CompletedApplyScroll, SubscriptionDeps, } from './index.js';
|
package/dist/url/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect, Option, ParseResult, Schema as S, String } from 'effect';
|
|
2
|
-
import { OptionExt } from '../effectExtensions';
|
|
2
|
+
import { OptionExt } from '../effectExtensions/index.js';
|
|
3
3
|
/** Schema representing a parsed URL with protocol, host, port, pathname, search, and hash fields. */
|
|
4
4
|
export const Url = S.Struct({
|
|
5
5
|
protocol: S.String,
|
package/dist/url/public.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Url, fromString, toString } from './index';
|
|
1
|
+
export { Url, fromString, toString } from './index.js';
|
|
2
2
|
//# sourceMappingURL=public.d.ts.map
|
package/dist/url/public.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/url/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/url/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/url/public.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Url, fromString, toString } from './index';
|
|
1
|
+
export { Url, fromString, toString } from './index.js';
|
package/dist/vdom.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { attributesModule, classModule, datasetModule, eventListenersModule, init, styleModule, toVNode, } from 'snabbdom';
|
|
2
|
-
import { propsModule } from './propsModule';
|
|
2
|
+
import { propsModule } from './propsModule.js';
|
|
3
3
|
export { toVNode };
|
|
4
4
|
export const patch = init([
|
|
5
5
|
attributesModule,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "foldkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0",
|
|
4
4
|
"description": "A frontend framework for TypeScript, built on Effect, using The Elm Architecture",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -159,6 +159,10 @@
|
|
|
159
159
|
"types": "./dist/ui/tooltip/public.d.ts",
|
|
160
160
|
"import": "./dist/ui/tooltip/public.js"
|
|
161
161
|
},
|
|
162
|
+
"./ui/virtualList": {
|
|
163
|
+
"types": "./dist/ui/virtualList/public.d.ts",
|
|
164
|
+
"import": "./dist/ui/virtualList/public.js"
|
|
165
|
+
},
|
|
162
166
|
"./url": {
|
|
163
167
|
"types": "./dist/url/public.d.ts",
|
|
164
168
|
"import": "./dist/url/public.js"
|
|
@@ -176,7 +180,7 @@
|
|
|
176
180
|
"@effect/vitest": "^0.27.0",
|
|
177
181
|
"effect": "^3.19.19",
|
|
178
182
|
"happy-dom": "^18.0.1",
|
|
179
|
-
"typescript": "^
|
|
183
|
+
"typescript": "^6.0.2",
|
|
180
184
|
"vitest": "^3.2.4"
|
|
181
185
|
},
|
|
182
186
|
"keywords": [
|