@sectile/vue 0.15.1 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/chart.js +1 -1
- package/dist/chart.js.map +1 -1
- package/dist/internal/popup.js +1 -1
- package/dist/internal/popup.js.map +1 -1
- package/dist/internal/presence.d.ts +1 -1
- package/dist/internal/presence.js +1 -1
- package/dist/internal/presence.js.map +1 -1
- package/dist/internal/virtual-collection.d.ts +45 -24
- package/dist/internal/virtual-collection.js +1 -1
- package/dist/internal/virtual-collection.js.map +1 -1
- package/dist/internal/virtual-core.d.ts +109 -34
- package/dist/internal/virtual-core.js +1 -1
- package/dist/internal/virtual-core.js.map +1 -1
- package/dist/internal/virtual-list.d.ts +58 -85
- package/dist/internal/virtual-list.js +1 -1
- package/dist/internal/virtual-list.js.map +1 -1
- package/dist/virtual-core.d.ts +1 -1
- package/dist/virtual-core.js +1 -1
- package/dist/virtual-core.js.map +1 -1
- package/dist/virtual-grid.d.ts +50 -75
- package/dist/virtual-grid.js +1 -1
- package/dist/virtual-grid.js.map +1 -1
- package/dist/virtual-list.d.ts +2 -1
- package/dist/virtual-list.js.map +1 -1
- package/dist/virtual-masonry.d.ts +51 -76
- package/dist/virtual-masonry.js +1 -1
- package/dist/virtual-masonry.js.map +1 -1
- package/dist/virtual-spatial.d.ts +44 -32
- package/dist/virtual-spatial.js +1 -1
- package/dist/virtual-spatial.js.map +1 -1
- package/package.json +8 -8
- package/dist/internal/virtual-collection-model.d.ts +0 -46
- package/dist/internal/virtual-collection-model.js +0 -2
- package/dist/internal/virtual-collection-model.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/virtual-collection.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"virtual-collection.js","names":["defineComponent","h","onBeforeUnmount","shallowReactive","shallowRef","constrainVirtualCollectionDomain","createVirtualCollection","replaceVirtualCollection","virtualItemStyle","useVirtualizerSurfaceRegistration","virtualizerNotConnected","prepareVirtualCollection","items","getID","maxItems","maxIDCodeUnits","updatePreparedVirtualCollection","previous","constrainPreparedVirtualCollection","prepared","VirtualCollectionProjectionRuntime","name","inheritAttrs","props","scope","type","String","required","placements","Array","Object","itemAs","itemAttributes","Function","default","undefined","size","slots","setup","surface","registrations","Map","elements","refs","itemRef","id","existing","get","callback","value","element","HTMLElement","delete","set","registerItem","unregister","values","clear","sizing","itemSizing","children","placement","index","length","domain","at","attributes","rendered","push","key","ref","style","visible","normalizeChildren","VirtualCollectionBootstrapProjectionRuntime","count","Number","width","bootstrapRef","Math","min","freeze","rect","x","y","height","renderHighLevelItems","render","empty","child","renderCollectionBootstrapItems","createVirtualCollectionExpose","root","initialState","phase","emptyScrollport","emptySurface","scrollport","state","plan","scrollToID","alignment","scrollTo","refresh","flush","nearlyEqual","left","right","abs","isArray"],"sources":["../../src/internal/virtual-collection.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { type MaybeRefOrGetter, type PropType, type Ref, type ShallowRef, type SlotsType, type VNodeChild } from 'vue';
|
|
2
|
-
import type { StableID } from '@sectile/core';
|
|
3
|
-
import
|
|
2
|
+
import type { Result, StableID } from '@sectile/core';
|
|
3
|
+
import type { VirtualErrorCode } from '@sectile/virtual';
|
|
4
|
+
import { createAxisMeasurementResolver, virtualItemStyle, virtualSurfaceStyle, type VirtualInsets, type VirtualLayoutMutation, type VirtualLayoutPlan, type VirtualLayoutStrategy, type VirtualMeasurementResolver, type VirtualPlacement, type VirtualPoint, type VirtualRect, type VirtualScrollAlignment, type VirtualScrollWriter, type VirtualViewportReader, type VirtualizerConnection, type VirtualizerEnvironment, type VirtualizerErrorHandler } from '@sectile/dom/virtual';
|
|
4
5
|
import { type PrimitiveAs } from '../primitive.js';
|
|
6
|
+
export type VirtualizerHostErrorCode = 'virtualizer-not-connected';
|
|
7
|
+
export type VirtualizerOperationResult<T> = Result<T, VirtualErrorCode | VirtualizerHostErrorCode>;
|
|
5
8
|
export interface UseVirtualizerOptions<State, ID extends StableID, Measurement, Mutation> {
|
|
6
9
|
readonly state: Ref<State>;
|
|
7
10
|
readonly strategy: VirtualLayoutStrategy<State, ID, Measurement, Mutation>;
|
|
8
|
-
readonly
|
|
11
|
+
readonly scrollport?: ShallowRef<HTMLElement | null | undefined>;
|
|
12
|
+
readonly surface?: ShallowRef<HTMLElement | null | undefined>;
|
|
9
13
|
readonly overscan?: MaybeRefOrGetter<number | Partial<VirtualInsets> | undefined>;
|
|
14
|
+
readonly viewportInsets?: MaybeRefOrGetter<number | Partial<VirtualInsets> | undefined>;
|
|
10
15
|
readonly initialViewport?: VirtualRect;
|
|
11
16
|
readonly measure?: VirtualMeasurementResolver<State, ID, Measurement>;
|
|
12
17
|
readonly readViewport?: VirtualViewportReader;
|
|
@@ -17,48 +22,59 @@ export interface UseVirtualizerOptions<State, ID extends StableID, Measurement,
|
|
|
17
22
|
readonly onError?: VirtualizerErrorHandler;
|
|
18
23
|
}
|
|
19
24
|
export interface UseVirtualizerReturn<State, ID extends StableID, Measurement, Mutation> {
|
|
20
|
-
readonly
|
|
25
|
+
readonly scrollport: ShallowRef<HTMLElement | null | undefined>;
|
|
26
|
+
readonly surface: ShallowRef<HTMLElement | null | undefined>;
|
|
21
27
|
readonly plan: ShallowRef<VirtualLayoutPlan<ID> | null>;
|
|
22
28
|
readonly connection: ShallowRef<VirtualizerConnection<State, ID, Measurement, Mutation> | undefined>;
|
|
29
|
+
registerFrame(element: HTMLElement): () => void;
|
|
23
30
|
registerItem(element: HTMLElement, id: ID): () => void;
|
|
24
|
-
measure(measurements: readonly Measurement[]):
|
|
25
|
-
mutate(mutation: Mutation):
|
|
26
|
-
scrollTo(id: ID, alignment?: VirtualScrollAlignment):
|
|
31
|
+
measure(measurements: readonly Measurement[]): VirtualizerOperationResult<VirtualLayoutMutation<State>>;
|
|
32
|
+
mutate(mutation: Mutation): VirtualizerOperationResult<VirtualLayoutMutation<State>>;
|
|
33
|
+
scrollTo(id: ID, alignment?: VirtualScrollAlignment): VirtualizerOperationResult<VirtualPoint>;
|
|
27
34
|
refresh(): void;
|
|
28
|
-
flush():
|
|
35
|
+
flush(): VirtualizerOperationResult<VirtualLayoutPlan<ID>>;
|
|
29
36
|
}
|
|
30
37
|
export type VirtualizerItemSize = 'none' | 'width' | 'height' | 'both';
|
|
31
38
|
export interface VirtualizerRootProps {
|
|
32
39
|
readonly defaultState: object;
|
|
33
|
-
readonly strategy: VirtualLayoutStrategy<object,
|
|
40
|
+
readonly strategy: VirtualLayoutStrategy<object, StableID, unknown, unknown>;
|
|
34
41
|
readonly overscan?: number | Partial<VirtualInsets>;
|
|
42
|
+
readonly viewportInsets?: number | Partial<VirtualInsets>;
|
|
35
43
|
readonly initialViewport?: VirtualRect;
|
|
36
|
-
readonly measure?: VirtualMeasurementResolver<object,
|
|
44
|
+
readonly measure?: VirtualMeasurementResolver<object, StableID, unknown>;
|
|
37
45
|
readonly as?: PrimitiveAs;
|
|
38
46
|
readonly asChild?: boolean;
|
|
39
47
|
}
|
|
40
48
|
export interface VirtualizerRootSlotProps {
|
|
41
49
|
readonly state: object;
|
|
42
|
-
readonly plan: VirtualLayoutPlan<
|
|
43
|
-
readonly placements: readonly VirtualPlacement<
|
|
44
|
-
scrollTo(id:
|
|
45
|
-
measure(measurements: readonly unknown[]):
|
|
46
|
-
mutate(mutation: unknown):
|
|
50
|
+
readonly plan: VirtualLayoutPlan<StableID> | null;
|
|
51
|
+
readonly placements: readonly VirtualPlacement<StableID>[];
|
|
52
|
+
scrollTo(id: StableID, alignment?: VirtualScrollAlignment): VirtualizerOperationResult<VirtualPoint>;
|
|
53
|
+
measure(measurements: readonly unknown[]): VirtualizerOperationResult<VirtualLayoutMutation<object>>;
|
|
54
|
+
mutate(mutation: unknown): VirtualizerOperationResult<VirtualLayoutMutation<object>>;
|
|
47
55
|
refresh(): void;
|
|
48
|
-
flush():
|
|
56
|
+
flush(): VirtualizerOperationResult<VirtualLayoutPlan<StableID>>;
|
|
49
57
|
}
|
|
50
|
-
export interface
|
|
58
|
+
export interface VirtualizerFrameProps {
|
|
59
|
+
readonly as?: PrimitiveAs;
|
|
60
|
+
readonly asChild?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface VirtualizerSurfaceProps {
|
|
51
63
|
readonly as?: PrimitiveAs;
|
|
52
64
|
readonly asChild?: boolean;
|
|
53
65
|
}
|
|
54
66
|
export interface VirtualizerItemProps {
|
|
55
|
-
readonly placement: VirtualPlacement<
|
|
67
|
+
readonly placement: VirtualPlacement<StableID>;
|
|
56
68
|
readonly size?: VirtualizerItemSize;
|
|
57
69
|
readonly as?: PrimitiveAs;
|
|
58
70
|
readonly asChild?: boolean;
|
|
59
71
|
}
|
|
60
72
|
export interface VirtualizerRootExpose extends VirtualizerRootSlotProps {
|
|
61
|
-
readonly
|
|
73
|
+
readonly scrollport: ShallowRef<HTMLElement | null | undefined>;
|
|
74
|
+
readonly surface: ShallowRef<HTMLElement | null | undefined>;
|
|
75
|
+
}
|
|
76
|
+
export interface VirtualizerSurfaceRegistration {
|
|
77
|
+
registerItem(element: HTMLElement, id: StableID): () => void;
|
|
62
78
|
}
|
|
63
79
|
export declare function useVirtualizer<State, ID extends StableID, Measurement, Mutation>(options: UseVirtualizerOptions<State, ID, Measurement, Mutation>): UseVirtualizerReturn<State, ID, Measurement, Mutation>;
|
|
64
80
|
export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -67,19 +83,23 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
67
83
|
required: true;
|
|
68
84
|
};
|
|
69
85
|
strategy: {
|
|
70
|
-
type: PropType<VirtualLayoutStrategy<object,
|
|
86
|
+
type: PropType<VirtualLayoutStrategy<object, StableID, unknown, unknown>>;
|
|
71
87
|
required: true;
|
|
72
88
|
};
|
|
73
89
|
overscan: {
|
|
74
90
|
type: PropType<number | Partial<VirtualInsets>>;
|
|
75
91
|
default: undefined;
|
|
76
92
|
};
|
|
93
|
+
viewportInsets: {
|
|
94
|
+
type: PropType<number | Partial<VirtualInsets>>;
|
|
95
|
+
default: undefined;
|
|
96
|
+
};
|
|
77
97
|
initialViewport: {
|
|
78
98
|
type: PropType<VirtualRect>;
|
|
79
99
|
default: undefined;
|
|
80
100
|
};
|
|
81
101
|
measure: {
|
|
82
|
-
type: PropType<VirtualMeasurementResolver<object,
|
|
102
|
+
type: PropType<VirtualMeasurementResolver<object, StableID, unknown>>;
|
|
83
103
|
default: undefined;
|
|
84
104
|
};
|
|
85
105
|
as: {
|
|
@@ -92,7 +112,7 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
92
112
|
};
|
|
93
113
|
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
94
114
|
stateChange: (_state: object) => boolean;
|
|
95
|
-
planChange: (_plan: VirtualLayoutPlan<
|
|
115
|
+
planChange: (_plan: VirtualLayoutPlan<StableID>) => boolean;
|
|
96
116
|
error: (_error: Parameters<VirtualizerErrorHandler>[0]) => boolean;
|
|
97
117
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
98
118
|
defaultState: {
|
|
@@ -100,19 +120,23 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
100
120
|
required: true;
|
|
101
121
|
};
|
|
102
122
|
strategy: {
|
|
103
|
-
type: PropType<VirtualLayoutStrategy<object,
|
|
123
|
+
type: PropType<VirtualLayoutStrategy<object, StableID, unknown, unknown>>;
|
|
104
124
|
required: true;
|
|
105
125
|
};
|
|
106
126
|
overscan: {
|
|
107
127
|
type: PropType<number | Partial<VirtualInsets>>;
|
|
108
128
|
default: undefined;
|
|
109
129
|
};
|
|
130
|
+
viewportInsets: {
|
|
131
|
+
type: PropType<number | Partial<VirtualInsets>>;
|
|
132
|
+
default: undefined;
|
|
133
|
+
};
|
|
110
134
|
initialViewport: {
|
|
111
135
|
type: PropType<VirtualRect>;
|
|
112
136
|
default: undefined;
|
|
113
137
|
};
|
|
114
138
|
measure: {
|
|
115
|
-
type: PropType<VirtualMeasurementResolver<object,
|
|
139
|
+
type: PropType<VirtualMeasurementResolver<object, StableID, unknown>>;
|
|
116
140
|
default: undefined;
|
|
117
141
|
};
|
|
118
142
|
as: {
|
|
@@ -124,19 +148,44 @@ export declare const VirtualizerRoot: import("vue").DefineComponent<import("vue"
|
|
|
124
148
|
default: boolean;
|
|
125
149
|
};
|
|
126
150
|
}>> & Readonly<{
|
|
127
|
-
onError?: (_error: import("@sectile/core").SectileError<
|
|
128
|
-
onPlanChange?: (_plan: VirtualLayoutPlan<
|
|
151
|
+
onError?: (_error: import("@sectile/core").SectileError<VirtualErrorCode>) => any;
|
|
152
|
+
onPlanChange?: (_plan: VirtualLayoutPlan<StableID>) => any;
|
|
129
153
|
onStateChange?: (_state: object) => any;
|
|
130
154
|
}>, {
|
|
131
155
|
overscan: number | Partial<import("@sectile/core/geometry").Insets>;
|
|
156
|
+
viewportInsets: number | Partial<import("@sectile/core/geometry").Insets>;
|
|
132
157
|
initialViewport: import("@sectile/core/geometry").Rect;
|
|
133
|
-
measure: VirtualMeasurementResolver<object,
|
|
158
|
+
measure: VirtualMeasurementResolver<object, StableID, unknown>;
|
|
134
159
|
as: PrimitiveAs;
|
|
135
160
|
asChild: boolean;
|
|
136
161
|
}, SlotsType<{
|
|
137
162
|
default: (props: VirtualizerRootSlotProps) => VNodeChild;
|
|
138
163
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
139
|
-
export declare const
|
|
164
|
+
export declare const VirtualizerHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
165
|
+
as: {
|
|
166
|
+
type: PropType<PrimitiveAs>;
|
|
167
|
+
default: string;
|
|
168
|
+
};
|
|
169
|
+
asChild: {
|
|
170
|
+
type: BooleanConstructor;
|
|
171
|
+
default: boolean;
|
|
172
|
+
};
|
|
173
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
174
|
+
as: {
|
|
175
|
+
type: PropType<PrimitiveAs>;
|
|
176
|
+
default: string;
|
|
177
|
+
};
|
|
178
|
+
asChild: {
|
|
179
|
+
type: BooleanConstructor;
|
|
180
|
+
default: boolean;
|
|
181
|
+
};
|
|
182
|
+
}>> & Readonly<{}>, {
|
|
183
|
+
as: PrimitiveAs;
|
|
184
|
+
asChild: boolean;
|
|
185
|
+
}, SlotsType<{
|
|
186
|
+
default: () => VNodeChild;
|
|
187
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
188
|
+
export declare const VirtualizerSurface: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
140
189
|
as: {
|
|
141
190
|
type: PropType<PrimitiveAs>;
|
|
142
191
|
default: string;
|
|
@@ -158,11 +207,11 @@ export declare const VirtualizerContent: import("vue").DefineComponent<import("v
|
|
|
158
207
|
as: PrimitiveAs;
|
|
159
208
|
asChild: boolean;
|
|
160
209
|
}, SlotsType<{
|
|
161
|
-
default: (plan: VirtualLayoutPlan<
|
|
210
|
+
default: (plan: VirtualLayoutPlan<StableID> | null) => VNodeChild;
|
|
162
211
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
163
212
|
export declare const VirtualizerItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
164
213
|
placement: {
|
|
165
|
-
type: PropType<VirtualPlacement<
|
|
214
|
+
type: PropType<VirtualPlacement<StableID>>;
|
|
166
215
|
required: true;
|
|
167
216
|
};
|
|
168
217
|
size: {
|
|
@@ -179,7 +228,7 @@ export declare const VirtualizerItem: import("vue").DefineComponent<import("vue"
|
|
|
179
228
|
};
|
|
180
229
|
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
181
230
|
placement: {
|
|
182
|
-
type: PropType<VirtualPlacement<
|
|
231
|
+
type: PropType<VirtualPlacement<StableID>>;
|
|
183
232
|
required: true;
|
|
184
233
|
};
|
|
185
234
|
size: {
|
|
@@ -199,7 +248,33 @@ export declare const VirtualizerItem: import("vue").DefineComponent<import("vue"
|
|
|
199
248
|
as: PrimitiveAs;
|
|
200
249
|
asChild: boolean;
|
|
201
250
|
}, SlotsType<{
|
|
202
|
-
default: (placement: VirtualPlacement<
|
|
251
|
+
default: (placement: VirtualPlacement<StableID>) => VNodeChild;
|
|
252
|
+
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
253
|
+
export declare const VirtualizerFooter: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
254
|
+
as: {
|
|
255
|
+
type: PropType<PrimitiveAs>;
|
|
256
|
+
default: string;
|
|
257
|
+
};
|
|
258
|
+
asChild: {
|
|
259
|
+
type: BooleanConstructor;
|
|
260
|
+
default: boolean;
|
|
261
|
+
};
|
|
262
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
263
|
+
as: {
|
|
264
|
+
type: PropType<PrimitiveAs>;
|
|
265
|
+
default: string;
|
|
266
|
+
};
|
|
267
|
+
asChild: {
|
|
268
|
+
type: BooleanConstructor;
|
|
269
|
+
default: boolean;
|
|
270
|
+
};
|
|
271
|
+
}>> & Readonly<{}>, {
|
|
272
|
+
as: PrimitiveAs;
|
|
273
|
+
asChild: boolean;
|
|
274
|
+
}, SlotsType<{
|
|
275
|
+
default: () => VNodeChild;
|
|
203
276
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
204
|
-
export
|
|
205
|
-
export
|
|
277
|
+
export declare function useVirtualizerSurfaceRegistration(part: string): VirtualizerSurfaceRegistration;
|
|
278
|
+
export declare function virtualizerNotConnected<T>(): VirtualizerOperationResult<T>;
|
|
279
|
+
export type { VirtualInsets, VirtualLayoutPlan, VirtualLayoutStrategy, VirtualMeasurementResolver, VirtualPlacement, VirtualPoint, VirtualRect, VirtualScrollAlignment, VirtualizerConnection, VirtualizerEnvironment, };
|
|
280
|
+
export { createAxisMeasurementResolver, virtualItemStyle, virtualSurfaceStyle, };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onScopeDispose,provide,shallowRef,toValue,watch}from'vue';import{createAxisMeasurementResolver,createVirtualizer,virtualContentStyle,virtualItemStyle}from'@sectile/dom/virtual';import{Primitive}from'../primitive.js';const virtualizerContextKey=Symbol('SectileVirtualizerRoot');export function useVirtualizer(options){const root=options.root??shallowRef(null);const plan=shallowRef(null);const connection=shallowRef();const items=new Map;const registrations=new Map;const report=error=>{options.onError?.(error)};const updateInitialPlan=()=>{if(options.initialViewport===undefined){plan.value=null;return}const overscan=toValue(options.overscan);const result=options.strategy.tryQuery(options.state.value,{viewport:options.initialViewport,...overscan===undefined?{}:{overscan}});if(!result.ok){report(result.error);return}plan.value=result.value;options.onPlanChange?.(result.value)};updateInitialPlan();const disconnect=()=>{registrations.clear();connection.value?.disconnect();connection.value=undefined};const connect=element=>{disconnect();if(element===null||element===undefined){updateInitialPlan();return}const overscan=toValue(options.overscan);const next=createVirtualizer({root:element,state:options.state.value,strategy:options.strategy,...overscan===undefined?{}:{overscan},...options.measure===undefined?{}:{measure:options.measure},...options.readViewport===undefined?{}:{readViewport:options.readViewport},...options.writeScroll===undefined?{}:{writeScroll:options.writeScroll},...options.environment===undefined?{}:{environment:options.environment},onPlanChange:value=>{plan.value=value;options.onPlanChange?.(value)},onStateChange:value=>{options.state.value=value;options.onStateChange?.(value)},onError:report});connection.value=next;for(const[item,id]of items)registrations.set(item,next.registerItem(item,id))};watch(root,connect,{flush:'post',immediate:true});watch(options.state,value=>{if(connection.value===undefined)updateInitialPlan();else connection.value.setState(value)},{flush:'sync'});watch(()=>toValue(options.overscan),value=>{if(connection.value===undefined)updateInitialPlan();else connection.value.setOverscan(value)},{deep:true,flush:'sync'});onScopeDispose(disconnect);const requireConnection=()=>{if(connection.value===undefined)throw new TypeError('Virtualizer must be mounted before this operation.');return connection.value};return Object.freeze({root,plan,connection,registerItem:(element,id)=>{registrations.get(element)?.();items.set(element,id);if(connection.value!==undefined){registrations.set(element,connection.value.registerItem(element,id))}return()=>{if(items.get(element)!==id)return;registrations.get(element)?.();registrations.delete(element);items.delete(element)}},measure:measurements=>requireConnection().measure(measurements),mutate:mutation=>requireConnection().mutate(mutation),scrollTo:(id,alignment)=>requireConnection().scrollTo(id,alignment),refresh:()=>{connection.value?.refresh()},flush:()=>requireConnection().flush()})}export const VirtualizerRoot=/* @__PURE__ */defineComponent({name:'SectileVirtualizerRoot',inheritAttrs:false,props:{defaultState:{type:Object,required:true},strategy:{type:Object,required:true},overscan:{type:[Number,Object],default:undefined},initialViewport:{type:Object,default:undefined},measure:{type:Function,default:undefined},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{stateChange:_state=>true,planChange:_plan=>true,error:_error=>true},slots:Object,setup(props,{attrs,emit,expose,slots}){const state=shallowRef(props.defaultState);const virtualizer=useVirtualizer({state,strategy:props.strategy,overscan:()=>props.overscan,...props.initialViewport===undefined?{}:{initialViewport:props.initialViewport},...props.measure===undefined?{}:{measure:props.measure},onStateChange:value=>{emit('stateChange',value)},onPlanChange:value=>{emit('planChange',value)},onError:error=>{emit('error',error)}});let constructionWarningShown=false;watch(()=>[props.strategy,props.measure,props.initialViewport],(value,previous)=>{if(constructionWarningShown||value.every((item,index)=>Object.is(item,previous[index])))return;constructionWarningShown=true;console.warn('[Sectile] VirtualizerRoot strategy, measure, and initialViewport are construction-time options. Remount the root to change them.')},{flush:'sync'});const slotProps=computed(()=>Object.freeze({state:state.value,plan:virtualizer.plan.value,placements:virtualizer.plan.value?.placements??Object.freeze([]),scrollTo:virtualizer.scrollTo,measure:virtualizer.measure,mutate:virtualizer.mutate,refresh:virtualizer.refresh,flush:virtualizer.flush}));provide(virtualizerContextKey,{plan:computed(()=>virtualizer.plan.value),registerItem:virtualizer.registerItem});expose(Object.freeze({root:virtualizer.root,get state(){return slotProps.value.state},get plan(){return slotProps.value.plan},get placements(){return slotProps.value.placements},scrollTo:virtualizer.scrollTo,measure:virtualizer.measure,mutate:virtualizer.mutate,refresh:virtualizer.refresh,flush:virtualizer.flush}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{virtualizer.root.value=element instanceof HTMLElement?element:null},'data-scope':'virtualizer','data-part':'root'}),{default:()=>slots['default']?.(slotProps.value)})}});export const VirtualizerContent=/* @__PURE__ */defineComponent({name:'SectileVirtualizerContent',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useVirtualizerRoot('VirtualizerContent');const style=computed(()=>root.plan.value===null?Object.freeze({position:'relative'}):virtualContentStyle(root.plan.value));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,style:style.value,'data-scope':'virtualizer','data-part':'content'}),{default:()=>slots['default']?.(root.plan.value)})}});export const VirtualizerItem=/* @__PURE__ */defineComponent({name:'SectileVirtualizerItem',inheritAttrs:false,props:{placement:{type:Object,required:true},size:{type:String,default:'none'},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useVirtualizerRoot('VirtualizerItem');let unregister;onBeforeUnmount(()=>{unregister?.()});const sizing=computed(()=>Object.freeze({width:props.size==='width'||props.size==='both',height:props.size==='height'||props.size==='both'}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{unregister?.();unregister=element instanceof HTMLElement?root.registerItem(element,props.placement.id):undefined},style:virtualItemStyle(props.placement,sizing.value),'data-scope':'virtualizer','data-part':'item','data-index':props.placement.index,'data-visible':props.placement.visible?'':undefined}),{default:()=>slots['default']?.(props.placement)})}});function useVirtualizerRoot(part){const root=inject(virtualizerContextKey);if(root===undefined)throw new TypeError(`${part} must be used inside VirtualizerRoot.`);return root}export{createAxisMeasurementResolver,virtualContentStyle,virtualItemStyle};
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onScopeDispose,provide,shallowReactive,shallowRef,toValue,watch}from'vue';import{createAxisMeasurementResolver,createVirtualizer,virtualItemStyle,virtualSurfaceStyle}from'@sectile/dom/virtual';import{Primitive}from'../primitive.js';const virtualizerContextKey=Symbol('SectileVirtualizerRoot');const virtualizerSurfaceContextKey=Symbol('SectileVirtualizerSurface');export function useVirtualizer(options){const scrollport=options.scrollport??shallowRef(null);const surface=options.surface??shallowRef(null);const plan=shallowRef(null);const connection=shallowRef();const frames=new Map;const frameRegistrations=new Map;const items=new Map;const itemRegistrations=new Map;let disposed=false;const report=error=>{options.onError?.(error)};const updateInitialPlan=()=>{if(options.initialViewport===undefined){plan.value=null;return}const overscan=toValue(options.overscan);const result=options.strategy.tryQuery(options.state.value,{viewport:options.initialViewport,...overscan===undefined?{}:{overscan}});if(!result.ok){report(result.error);return}plan.value=result.value;options.onPlanChange?.(result.value)};updateInitialPlan();const disconnectConnection=()=>{frameRegistrations.clear();itemRegistrations.clear();connection.value?.disconnect();connection.value=undefined};const connect=()=>{if(disposed)return;disconnectConnection();const currentScrollport=scrollport.value;const currentSurface=surface.value;if(currentScrollport===null||currentScrollport===undefined||currentSurface===null||currentSurface===undefined){updateInitialPlan();return}const overscan=toValue(options.overscan);const viewportInsets=toValue(options.viewportInsets);const next=createVirtualizer({scrollport:currentScrollport,surface:currentSurface,state:options.state.value,strategy:options.strategy,...overscan===undefined?{}:{overscan},...viewportInsets===undefined?{}:{viewportInsets},...options.measure===undefined?{}:{measure:options.measure},...options.readViewport===undefined?{}:{readViewport:options.readViewport},...options.writeScroll===undefined?{}:{writeScroll:options.writeScroll},...options.environment===undefined?{}:{environment:options.environment},onPlanChange:value=>{plan.value=value;options.onPlanChange?.(value)},onStateChange:value=>{options.state.value=value;options.onStateChange?.(value)},onError:report});connection.value=next;for(const frame of frames.keys()){frameRegistrations.set(frame,next.registerFrame(frame))}for(const[item,desired]of items){itemRegistrations.set(item,next.registerItem(item,desired.id))}};watch([scrollport,surface],connect,{flush:'post',immediate:true});watch(options.state,value=>{if(connection.value===undefined)updateInitialPlan();else connection.value.setState(value)},{flush:'sync'});watch(()=>toValue(options.overscan),value=>{if(connection.value===undefined)updateInitialPlan();else connection.value.setOverscan(value)},{deep:true,flush:'sync'});watch(()=>toValue(options.viewportInsets),value=>{connection.value?.setViewportInsets(value)},{deep:true,flush:'sync'});onScopeDispose(()=>{disposed=true;disconnectConnection();frames.clear();items.clear()});const currentConnection=()=>connection.value;return Object.freeze({scrollport,surface,plan,connection,registerFrame:element=>{const token=Object.freeze({});frameRegistrations.get(element)?.();frameRegistrations.delete(element);frames.set(element,token);if(connection.value!==undefined){frameRegistrations.set(element,connection.value.registerFrame(element))}return()=>{if(frames.get(element)!==token)return;frameRegistrations.get(element)?.();frameRegistrations.delete(element);frames.delete(element)}},registerItem:(element,id)=>{const token=Object.freeze({});itemRegistrations.get(element)?.();itemRegistrations.delete(element);items.set(element,Object.freeze({id,token}));if(connection.value!==undefined){itemRegistrations.set(element,connection.value.registerItem(element,id))}return()=>{if(items.get(element)?.token!==token)return;itemRegistrations.get(element)?.();itemRegistrations.delete(element);items.delete(element)}},measure:measurements=>{const active=currentConnection();return active===undefined?virtualizerNotConnected():active.measure(measurements)},mutate:mutation=>{const active=currentConnection();return active===undefined?virtualizerNotConnected():active.mutate(mutation)},scrollTo:(id,alignment)=>{const active=currentConnection();return active===undefined?virtualizerNotConnected():active.scrollTo(id,alignment)},refresh:()=>{connection.value?.refresh()},flush:()=>{const active=currentConnection();return active===undefined?virtualizerNotConnected():active.flush()}})}export const VirtualizerRoot=/* @__PURE__ */defineComponent({name:'SectileVirtualizerRoot',inheritAttrs:false,props:{defaultState:{type:Object,required:true},strategy:{type:Object,required:true},overscan:{type:[Number,Object],default:undefined},viewportInsets:{type:[Number,Object],default:undefined},initialViewport:{type:Object,default:undefined},measure:{type:Function,default:undefined},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{stateChange:_state=>true,planChange:_plan=>true,error:_error=>true},slots:Object,setup(props,{attrs,emit,expose,slots}){const state=shallowRef(props.defaultState);const virtualizer=useVirtualizer({state,strategy:props.strategy,overscan:()=>props.overscan,viewportInsets:()=>props.viewportInsets,...props.initialViewport===undefined?{}:{initialViewport:props.initialViewport},...props.measure===undefined?{}:{measure:props.measure},onStateChange:value=>{emit('stateChange',value)},onPlanChange:value=>{emit('planChange',value)},onError:error=>{emit('error',error)}});watch(()=>props.defaultState,value=>{if(!Object.is(state.value,value))state.value=value},{flush:'sync'});let constructionWarningShown=false;watch(()=>[props.strategy,props.measure,props.initialViewport],(value,previous)=>{if(constructionWarningShown||value.every((item,index)=>Object.is(item,previous[index])))return;constructionWarningShown=true;console.warn('[Sectile] VirtualizerRoot strategy, measure, and initialViewport are construction-time options. Remount the root to change them.')},{flush:'sync'});const slotProps=computed(()=>Object.freeze({state:state.value,plan:virtualizer.plan.value,placements:virtualizer.plan.value?.placements??Object.freeze([]),scrollTo:virtualizer.scrollTo,measure:virtualizer.measure,mutate:virtualizer.mutate,refresh:virtualizer.refresh,flush:virtualizer.flush}));provide(virtualizerContextKey,{plan:computed(()=>virtualizer.plan.value),surface:virtualizer.surface,registerFrame:virtualizer.registerFrame,registerItem:virtualizer.registerItem});expose(shallowReactive({get scrollport(){return virtualizer.scrollport},get surface(){return virtualizer.surface},get state(){return slotProps.value.state},get plan(){return slotProps.value.plan},get placements(){return slotProps.value.placements},scrollTo:virtualizer.scrollTo,measure:virtualizer.measure,mutate:virtualizer.mutate,refresh:virtualizer.refresh,flush:virtualizer.flush}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{virtualizer.scrollport.value=element instanceof HTMLElement?element:null},'data-scope':'virtualizer','data-part':'root'}),{default:()=>slots['default']?.(slotProps.value)})}});export const VirtualizerHeader=/* @__PURE__ */defineComponent({name:'SectileVirtualizerHeader',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useVirtualizerRoot('VirtualizerHeader');let element=null;let unregister;const setElement=value=>{const next=value instanceof HTMLElement?value:null;if(element===next)return;unregister?.();unregister=undefined;element=next;if(next!==null)unregister=root.registerFrame(next)};onBeforeUnmount(()=>{unregister?.();unregister=undefined;element=null});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:setElement,'data-scope':'virtualizer','data-part':'header'}),{default:()=>slots['default']?.()})}});export const VirtualizerSurface=/* @__PURE__ */defineComponent({name:'SectileVirtualizerSurface',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useVirtualizerRoot('VirtualizerSurface');provide(virtualizerSurfaceContextKey,{registerItem:root.registerItem});let element=null;const style=computed(()=>root.plan.value===null?Object.freeze({position:'relative'}):virtualSurfaceStyle(root.plan.value));const setElement=value=>{const next=value instanceof HTMLElement?value:null;if(element===next)return;if(element!==null&&root.surface.value===element){root.surface.value=null}element=next;if(next!==null)root.surface.value=next};onBeforeUnmount(()=>{if(element!==null&&root.surface.value===element){root.surface.value=null}element=null});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:setElement,style:style.value,'data-scope':'virtualizer','data-part':'surface'}),{default:()=>slots['default']?.(root.plan.value)})}});export const VirtualizerItem=/* @__PURE__ */defineComponent({name:'SectileVirtualizerItem',inheritAttrs:false,props:{placement:{type:Object,required:true},size:{type:String,default:'none'},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const surface=useVirtualizerSurface('VirtualizerItem');let element=null;let unregister;const sizing=computed(()=>Object.freeze({width:props.size==='width'||props.size==='both',height:props.size==='height'||props.size==='both'}));const setElement=value=>{const next=value instanceof HTMLElement?value:null;if(element===next)return;unregister?.();unregister=undefined;element=next;if(next!==null){unregister=surface.registerItem(next,props.placement.id)}};onBeforeUnmount(()=>{unregister?.();unregister=undefined;element=null});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:setElement,style:virtualItemStyle(props.placement,sizing.value),'data-scope':'virtualizer','data-part':'item','data-index':props.placement.index,'data-visible':props.placement.visible?'':undefined}),{default:()=>slots['default']?.(props.placement)})}});export const VirtualizerFooter=/* @__PURE__ */defineComponent({name:'SectileVirtualizerFooter',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useVirtualizerRoot('VirtualizerFooter');let element=null;let unregister;const setElement=value=>{const next=value instanceof HTMLElement?value:null;if(element===next)return;unregister?.();unregister=undefined;element=next;if(next!==null)unregister=root.registerFrame(next)};onBeforeUnmount(()=>{unregister?.();unregister=undefined;element=null});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:setElement,'data-scope':'virtualizer','data-part':'footer'}),{default:()=>slots['default']?.()})}});function useVirtualizerRoot(part){const root=inject(virtualizerContextKey);if(root===undefined){throw new TypeError(`${part} must be used inside VirtualizerRoot.`)}return root}function useVirtualizerSurface(part){const surface=inject(virtualizerSurfaceContextKey);if(surface===undefined){throw new TypeError(`${part} must be used inside VirtualizerSurface.`)}return surface}export function useVirtualizerSurfaceRegistration(part){return useVirtualizerSurface(part)}export function virtualizerNotConnected(){return{ok:false,error:{class:'transition-rejection',code:'virtualizer-not-connected',message:'Virtualizer requires mounted scrollport and surface elements.'}}}export{createAxisMeasurementResolver,virtualItemStyle,virtualSurfaceStyle};
|
|
2
2
|
//# sourceMappingURL=virtual-core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-core.js","names":["computed","defineComponent","h","inject","mergeProps","onBeforeUnmount","onScopeDispose","provide","shallowRef","toValue","watch","createAxisMeasurementResolver","createVirtualizer","virtualContentStyle","virtualItemStyle","Primitive","virtualizerContextKey","Symbol","useVirtualizer","options","root","plan","connection","items","Map","registrations","report","error","onError","updateInitialPlan","initialViewport","undefined","value","overscan","result","strategy","tryQuery","state","viewport","ok","onPlanChange","disconnect","clear","connect","element","next","measure","readViewport","writeScroll","environment","onStateChange","item","id","set","registerItem","flush","immediate","setState","setOverscan","deep","requireConnection","TypeError","Object","freeze","get","delete","measurements","mutate","mutation","scrollTo","alignment","refresh","VirtualizerRoot","name","inheritAttrs","props","defaultState","type","required","Number","default","Function","as","String","asChild","Boolean","emits","stateChange","_state","planChange","_plan","_error","slots","setup","attrs","emit","expose","virtualizer","constructionWarningShown","previous","every","index","is","console","warn","slotProps","placements","elementRef","HTMLElement","VirtualizerContent","useVirtualizerRoot","style","position","VirtualizerItem","placement","size","unregister","sizing","width","height","visible","part"],"sources":["../../src/internal/virtual-core.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"virtual-core.js","names":["computed","defineComponent","h","inject","mergeProps","onBeforeUnmount","onScopeDispose","provide","shallowReactive","shallowRef","toValue","watch","createAxisMeasurementResolver","createVirtualizer","virtualItemStyle","virtualSurfaceStyle","Primitive","virtualizerContextKey","Symbol","virtualizerSurfaceContextKey","useVirtualizer","options","scrollport","surface","plan","connection","frames","Map","frameRegistrations","items","itemRegistrations","disposed","report","error","onError","updateInitialPlan","initialViewport","undefined","value","overscan","result","strategy","tryQuery","state","viewport","ok","onPlanChange","disconnectConnection","clear","disconnect","connect","currentScrollport","currentSurface","viewportInsets","next","measure","readViewport","writeScroll","environment","onStateChange","frame","keys","set","registerFrame","item","desired","registerItem","id","flush","immediate","setState","setOverscan","deep","setViewportInsets","currentConnection","Object","freeze","element","token","get","delete","measurements","active","virtualizerNotConnected","mutate","mutation","scrollTo","alignment","refresh","VirtualizerRoot","name","inheritAttrs","props","defaultState","type","required","Number","default","Function","as","String","asChild","Boolean","emits","stateChange","_state","planChange","_plan","_error","slots","setup","attrs","emit","expose","virtualizer","is","constructionWarningShown","previous","every","index","console","warn","slotProps","placements","elementRef","HTMLElement","VirtualizerHeader","root","useVirtualizerRoot","unregister","setElement","VirtualizerSurface","style","position","VirtualizerItem","placement","size","useVirtualizerSurface","sizing","width","height","visible","VirtualizerFooter","part","TypeError","useVirtualizerSurfaceRegistration","class","code","message"],"sources":["../../src/internal/virtual-core.ts"],"mappings":"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","ignoreList":[]}
|